2415 lines
2.5 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
exports.id = "vendor-chunks/@waku";
exports.ids = ["vendor-chunks/@waku"];
exports.modules = {
/***/ "(ssr)/./node_modules/@waku/core/dist/lib/message/version_0.js":
/*!***************************************************************!*\
!*** ./node_modules/@waku/core/dist/lib/message/version_0.js ***!
\***************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DecodedMessage: () => (/* binding */ DecodedMessage),\n/* harmony export */ Decoder: () => (/* binding */ Decoder),\n/* harmony export */ Encoder: () => (/* binding */ Encoder),\n/* harmony export */ Version: () => (/* binding */ Version),\n/* harmony export */ createDecoder: () => (/* binding */ createDecoder),\n/* harmony export */ createEncoder: () => (/* binding */ createEncoder),\n/* harmony export */ proto: () => (/* reexport safe */ _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_message)\n/* harmony export */ });\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/proto/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/index.js\");\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_1__.Logger(\"message:version-0\");\nconst OneMillion = BigInt(1000000);\nconst Version = 0;\n\nclass DecodedMessage {\n constructor(pubsubTopic, proto){\n this.pubsubTopic = pubsubTopic;\n this.proto = proto;\n }\n get ephemeral() {\n return Boolean(this.proto.ephemeral);\n }\n get payload() {\n return this.proto.payload;\n }\n get contentTopic() {\n return this.proto.contentTopic;\n }\n get _rawTimestamp() {\n return this.proto.timestamp;\n }\n get timestamp() {\n // In the case we receive a value that is bigger than JS's max number,\n // we catch the error and return undefined.\n try {\n if (this.proto.timestamp) {\n // nanoseconds 10^-9 to milliseconds 10^-3\n const timestamp = this.proto.timestamp / OneMillion;\n return new Date(Number(timestamp));\n }\n return;\n } catch (e) {\n return;\n }\n }\n get meta() {\n return this.proto.meta;\n }\n get version() {\n // https://rfc.vac.dev/spec/14/\n // > If omitted, the value SHOULD be interpreted as version 0.\n return this.proto.version ?? 0;\n }\n get rateLimitProof() {\n return this.proto.rateLimitProof;\n }\n}\nclass Encoder {\n constructor(contentTopic, ephemeral = false, pubsubTopic, metaSetter){\n this.contentTopic = contentTopic;\n this.ephemeral = ephemeral;\n this.pubsubTopic = pubsubTopic;\n this.metaSetter = metaSetter;\n if (!contentTopic || contentTopic === \"\") {\n throw new Error(\"Content topic must be specified\");\n }\n }\n async toWire(message) {\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_message.WakuMessage.encode(await this.toProtoObj(message));\n }\n async toProtoObj(message) {\n const timestamp = message.timestamp ?? new Date();\n const protoMessage = {\n payload: message.payload,\n version: Version,\n contentTopic: this.contentTopic,\n timestamp: BigInt(timestamp.valueOf()) * OneMillion,\n meta: undefined,\n rateLimitProof: message.rateLimitProof,\n ephemeral: this.ephemeral\n };\n if (this.metaSetter) {\n const meta = this.metaSetter(protoMessage);\n return {\n ...protoMessage,\n meta\n };\n }\n return protoMessage;\n }\n}\n/**\n * Creates an encoder that encode messages without Waku level encryption or signature.\n *\n * An encoder is used to encode messages in the [14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)\n * format to be sent over the Waku network. The resulting encoder can then be\n * pass to { @link @waku/interfaces!ISender.send } to automatically encode outgoing\n * messages.\n */ function createEncoder({ pubsubTopic, pubsubTopicShardInfo, contentTopic, ephemeral, metaSetter }) {\n return new Encoder(contentTopic, ephemeral, (0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.determinePubsubTopic)(contentTopic, pubsubTopic ?? pubsubTopicShardInfo), metaSetter);\n}\nclass Decoder {\n constructor(pubsubTopic, contentTopic){\n this.pubsubTopic = pubsubTopic;\n this.contentTopic = contentTopic;\n if (!contentTopic || contentTopic === \"\") {\n throw new Error(\"Content topic must be specified\");\n }\n }\n fromWireToProtoObj(bytes) {\n const protoMessage = _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_message.WakuMessage.decode(bytes);\n return Promise.resolve({\n payload: protoMessage.payload,\n contentTopic: protoMessage.contentTopic,\n version: protoMessage.version ?? undefined,\n timestamp: protoMessage.timestamp ?? undefined,\n meta: protoMessage.meta ?? undefined,\n rateLimitProof: protoMessage.rateLimitProof ?? undefined,\n ephemeral: protoMessage.ephemeral ?? false\n });\n }\n async fromProtoObj(pubsubTopic, proto) {\n // https://rfc.vac.dev/spec/14/\n // > If omitted, the value SHOULD be interpreted as version 0.\n if (proto.version ?? 0 !== Version) {\n log.error(\"Failed to decode due to incorrect version, expected:\", Version, \", actual:\", proto.version);\n return Promise.resolve(undefined);\n }\n return new DecodedMessage(pubsubTopic, proto);\n }\n}\n/**\n * Creates a decoder that decode messages without Waku level encryption.\n *\n * A decoder is used to decode messages from the [14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)\n * format when received from the Waku network. The resulting decoder can then be\n * pass to { @link @waku/interfaces!IReceiver.subscribe } to automatically decode incoming\n * messages.\n *\n * @param contentTopic The resulting decoder will only decode messages with this content topic.\n */ function createDecoder(contentTopic, pubsubTopicShardInfo) {\n return new Decoder((0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.determinePubsubTopic)(contentTopic, pubsubTopicShardInfo), contentTopic);\n} //# sourceMappingURL=version_0.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9kaXN0L2xpYi9tZXNzYWdlL3ZlcnNpb25fMC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBcUQ7QUFDTTtBQUMzRCxNQUFNSSxNQUFNLElBQUlELCtDQUFNQSxDQUFDO0FBQ3ZCLE1BQU1FLGFBQWFDLE9BQU87QUFDbkIsTUFBTUMsVUFBVSxFQUFFO0FBQ1I7QUFDVixNQUFNQztJQUdUQyxZQUFZQyxXQUFXLEVBQUVULEtBQUssQ0FBRTtRQUM1QixJQUFJLENBQUNTLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDVCxLQUFLLEdBQUdBO0lBQ2pCO0lBQ0EsSUFBSVUsWUFBWTtRQUNaLE9BQU9DLFFBQVEsSUFBSSxDQUFDWCxLQUFLLENBQUNVLFNBQVM7SUFDdkM7SUFDQSxJQUFJRSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUNaLEtBQUssQ0FBQ1ksT0FBTztJQUM3QjtJQUNBLElBQUlDLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQ2IsS0FBSyxDQUFDYSxZQUFZO0lBQ2xDO0lBQ0EsSUFBSUMsZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDZCxLQUFLLENBQUNlLFNBQVM7SUFDL0I7SUFDQSxJQUFJQSxZQUFZO1FBQ1osc0VBQXNFO1FBQ3RFLDJDQUEyQztRQUMzQyxJQUFJO1lBQ0EsSUFBSSxJQUFJLENBQUNmLEtBQUssQ0FBQ2UsU0FBUyxFQUFFO2dCQUN0QiwwQ0FBMEM7Z0JBQzFDLE1BQU1BLFlBQVksSUFBSSxDQUFDZixLQUFLLENBQUNlLFNBQVMsR0FBR1g7Z0JBQ3pDLE9BQU8sSUFBSVksS0FBS0MsT0FBT0Y7WUFDM0I7WUFDQTtRQUNKLEVBQ0EsT0FBT0csR0FBRztZQUNOO1FBQ0o7SUFDSjtJQUNBLElBQUlDLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQ25CLEtBQUssQ0FBQ21CLElBQUk7SUFDMUI7SUFDQSxJQUFJQyxVQUFVO1FBQ1YsK0JBQStCO1FBQy9CLDhEQUE4RDtRQUM5RCxP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QUFFcUIsb0JBQW9CO0lBQzVELE9BQU8sSUFBSUMsUUFBUWxDLGlFQUFvQkEsQ0FBQ1ksY0FBY3FCLHVCQUF1QnJCO0FBQ2pGLEVBQ0EscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9kaXN0L2xpYi9tZXNzYWdlL3ZlcnNpb25fMC5qcz8wZGVlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb3RvX21lc3NhZ2UgYXMgcHJvdG8gfSBmcm9tIFwiQHdha3UvcHJvdG9cIjtcbmltcG9ydCB7IGRldGVybWluZVB1YnN1YlRvcGljLCBMb2dnZXIgfSBmcm9tIFwiQHdha3UvdXRpbHNcIjtcbmNvbnN0IGxvZyA9IG5ldyBMb2dnZXIoXCJtZXNzYWdlOnZlcnNpb24tMFwiKTtcbmNvbnN0IE9uZU1pbGxpb24gPSBCaWdJbnQoMV8wMDBfMDAwKTtcbmV4cG9ydCBjb25zdCBWZXJzaW9uID0gMDtcbmV4cG9ydCB7IHByb3RvIH07XG5leHBvcnQgY2xhc3MgRGVjb2RlZE1lc3NhZ2Uge1xuICAgIHB1YnN1YlRvcGljO1xuICAgIHByb3RvO1xuICAgIGNvbnN0cnVjdG9yKHB1YnN1YlRvcGljLCBwcm90bykge1xuICAgICAgICB0aGlzLnB1YnN1YlRvcGljID0gcHVic3ViVG9waWM7XG4gICAgICAgIHRoaXMucHJvdG8gPSBwcm90bztcbiAgICB9XG4gICAgZ2V0IGVwaGVtZXJhbCgpIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5wcm90by5lcGhlbWVyYWwpO1xuICAgIH1cbiAgICBnZXQgcGF5bG9hZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG8ucGF5bG9hZDtcbiAgICB9XG4gICAgZ2V0IGNvbnRlbnRUb3BpYygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG8uY29udGVudFRvcGljO1xuICAgIH1cbiAgICBnZXQgX3Jhd1RpbWVzdGFtcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG8udGltZXN0YW1wO1xuICAgIH1cbiAgICBnZXQgdGltZXN0YW1wKCkge1xuICAgICAgICAvLyBJbiB0aGUgY2FzZSB3ZSByZWNlaXZlIGEgdmFsdWUgdGhhdCBpcyBiaWdnZXIgdGhhbiBKUydzIG1heCBudW1iZXIsXG4gICAgICAgIC8vIHdlIGNhdGNoIHRoZSBlcnJvciBhbmQgcmV0dXJuIHVuZGVmaW5lZC5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3RvLnRpbWVzdGFtcCkge1xuICAgICAgICAgICAgICAgIC8vIG5hbm9zZWNvbmRzIDEwXi05IHRvIG1pbGxpc2Vjb25kcyAxMF4tM1xuICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IHRoaXMucHJvdG8udGltZXN0YW1wIC8gT25lTWlsbGlvbjtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoTnVtYmVyKHRpbWVzdGFtcCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IG1ldGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvLm1ldGE7XG4gICAgfVxuICAgIGdldCB2ZXJzaW9uKCkge1xuICAgICAgICAvLyBodHRwczovL3JmYy52YWMuZGV2L3NwZWMvMTQvXG4gICAgICAgIC8vID4gSWYgb21pdHRlZCwgdGhlIHZhbHVlIFNIT1VMRCBiZSBpbnRlcnByZXRlZCBhcyB2ZXJzaW9uIDAuXG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvLnZlcnNpb24gPz8gMDtcbiAgICB9XG4gICAgZ2V0IHJhdGVMaW1pdFByb29mKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm90by5yYXRlTGltaXRQcm9vZjtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgRW5jb2RlciB7XG4gICAgY29udGVudFRvcGljO1xuICAgIGVwaGVtZXJhbDtcbiAgICBwdWJzdWJUb3BpYztcbiAgICBtZXRhU2V0dGVyO1xuICAgIGNvbnN0cnVjdG9yKGNvbnRlbnRUb3BpYywgZXBoZW1lcmFsID0gZmFsc2UsIHB1YnN1YlRvcGljLCBtZXRhU2V0dGVyKSB7XG4gICAgICAgIHRoaXMuY29udGVudFRvcGljID0gY29udGVudFRvcGljO1xuICAgICAgICB0aGlzLmVwaGVtZXJhbCA9IGVwaGVtZXJhbDtcbiAgICAgICAgdGhpcy5wdWJzdWJUb3BpYyA9IHB1YnN1YlRvcGljO1xuICAgICAgICB0aGlzLm1ldGFTZXR0ZXIgPSBtZXRhU2V0dGVyO1xuICAgICAgICBpZiAoIWNvbnRlbnRUb3BpYyB8fCBjb250ZW50VG9waWMgPT09IFwiXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvbnRlbnQgdG9waWMgbXVzdCBiZSBzcGVjaWZpZWRcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgdG9XaXJlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHByb3RvLldha3VNZXNzYWdlLmVuY29kZShhd2FpdCB0aGlzLnRvUHJvdG9PYmoobWVzc2FnZSkpO1xuICAgIH1cbiAgICBhc3luYyB0b1Byb3RvT2JqKG1lc3NhZ2UpIHtcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gbWVzc2FnZS50aW1lc3RhbXAgPz8gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgcHJvdG9NZXNzYWdlID0ge1xuICAgICAgICAgICAgcGF5bG9hZDogbWVzc2FnZS5wYXlsb2FkLFxuICAgICAgICAgICAgdmVyc2lvbjogVmVyc2lvbixcbiAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogdGhpcy5jb250ZW50VG9waWMsXG4gICAgICAgICAgICB0aW1lc3RhbXA6IEJpZ0ludCh0aW1lc3RhbXAudmFsdWVPZigpKSAqIE9uZU1pbGxpb24sXG4gICAgICAgICAgICBtZXRhOiB1bmRlZmluZWQsXG4gICAgICAgICAgICByYXRlTGltaXRQcm9vZjogbWVzc2FnZS5yYXRlTGltaXRQcm9vZixcbiAgICAgICAgICAgIGVwaGVtZXJhbDogdGhpcy5lcGhlbWVyYWxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMubWV0YVNldHRlcikge1xuICAgICAgICAgICAgY29uc3QgbWV0YSA9IHRoaXMubWV0YVNldHRlcihwcm90b01lc3NhZ2UpO1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4ucHJvdG9NZXNzYWdlLCBtZXRhIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb3RvTWVzc2FnZTtcbiAgICB9XG59XG4vKipcbiAqIENyZWF0ZXMgYW4gZW5jb2RlciB0aGF0IGVuY29kZSBtZXNzYWdlcyB3aXRob3V0IFdha3UgbGV2ZWwgZW5jcnlwdGlvbiBvciBzaWduYXR1cmUuXG4gKlxuICogQW4gZW5jb2RlciBpcyB1c2VkIHRvIGVuY29kZSBtZXNzYWdlcyBpbiB0aGUgWzE0L1dBS1UyLU1FU1NBR0VdKGh0dHBzOi8vcmZjLnZhYy5kZXYvc3BlYy8xNC8pXG4gKiBmb3JtYXQgdG8gYmUgc2VudCBvdmVyIHRoZSBXYWt1IG5ldHdvcmsuIFRoZSByZXN1bHRpbmcgZW5jb2RlciBjYW4gdGhlbiBiZVxuICogcGFzcyB0byB7IEBsaW5rIEB3YWt1L2ludGVyZmFjZXMhSVNlbmRlci5zZW5kIH0gdG8gYXV0b21hdGljYWxseSBlbmNvZGUgb3V0Z29pbmdcbiAqIG1lc3NhZ2VzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRW5jb2Rlcih7IHB1YnN1YlRvcGljLCBwdWJzdWJUb3BpY1NoYXJkSW5mbywgY29udGVudFRvcGljLCBlcGhlbWVyYWwsIG1ldGFTZXR0ZXIgfSkge1xuICAgIHJldHVybiBuZXcgRW5jb2Rlcihjb250ZW50VG9waWMsIGVwaGVtZXJhbCwgZGV0ZXJtaW5lUHVic3ViVG9waWMoY29udGVudFRvcGljLCBwdWJzdWJUb3BpYyA/PyBwdWJzdWJUb3BpY1NoYXJkSW5mbyksIG1ldGFTZXR0ZXIpO1xufVxuZXhwb3J0IGNsYXNzIERlY29kZXIge1xuICAgIHB1YnN1YlRvcGljO1xuICAgIGNvbnRlbnRUb3BpYztcbiAgICBjb25zdHJ1Y3RvcihwdWJzdWJUb3BpYywgY29udGVudFRvcGljKSB7XG4gICAgICAgIHRoaXMucHVic3ViVG9waWMgPSBwdWJzdWJUb3BpYztcbiAgICAgICAgdGhpcy5jb250ZW50VG9waWMgPSBjb250ZW50VG9waWM7XG4gICAgICAgIGlmICghY29udGVudFRvcGljIHx8IGNvbnRlbnRUb3BpYyA9PT0gXCJcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ29udGVudCB0b3BpYyBtdXN0IGJlIHNwZWNpZmllZFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmcm9tV2lyZVRvUHJvdG9PYmooYnl0ZXMpIHtcbiAgICAgICAgY29uc3QgcHJvdG9NZXNzYWdlID0gcHJvdG8uV2FrdU1lc3NhZ2UuZGVjb2RlKGJ5dGVzKTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgICBwYXlsb2FkOiBwcm90b01lc3NhZ2UucGF5bG9hZCxcbiAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogcHJvdG9NZXNzYWdlLmNvbnRlbnRUb3BpYyxcbiAgICAgICAgICAgIHZlcnNpb246IHByb3RvTWVzc2FnZS52ZXJzaW9uID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHRpbWVzdGFtcDogcHJvdG9NZXNzYWdlLnRpbWVzdGFtcCA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICBtZXRhOiBwcm90b01lc3NhZ2UubWV0YSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICByYXRlTGltaXRQcm9vZjogcHJvdG9NZXNzYWdlLnJhdGVMaW1pdFByb29mID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGVwaGVtZXJhbDogcHJvdG9NZXNzYWdlLmVwaGVtZXJhbCA/PyBmYWxzZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgYXN5bmMgZnJvbVByb3RvT2JqKHB1YnN1YlRvcGljLCBwcm90bykge1xuICAgICAgICAvLyBodHRwczovL3JmYy52YWMuZGV2L3NwZWMvMTQvXG4gICAgICAgIC8vID4gSWYgb21pdHRlZCwgdGhlIHZhbHVlIFNIT1VMRCBiZSBpbnRlcnByZXRlZCBhcyB2ZXJzaW9uIDAuXG4gICAgICAgIGlmIChwcm90by52ZXJzaW9uID8/IDAgIT09IFZlcnNpb24pIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byBkZWNvZGUgZHVlIHRvIGluY29ycmVjdCB2ZXJzaW9uLCBleHBlY3RlZDpcIiwgVmVyc2lvbiwgXCIsIGFjdHVhbDpcIiwgcHJvdG8udmVyc2lvbik7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBEZWNvZGVkTWVzc2FnZShwdWJzdWJUb3BpYywgcHJvdG8pO1xuICAgIH1cbn1cbi8qKlxuICogQ3JlYXRlcyBhIGRlY29kZXIgdGhhdCBkZWNvZGUgbWVzc2FnZXMgd2l0aG91dCBXYWt1IGxldmVsIGVuY3J5cHRpb24uXG4gKlxuICogQSBkZWNvZGVyIGlzIHVzZWQgdG8gZGVjb2RlIG1lc3NhZ2VzIGZyb20gdGhlIFsxNC9XQUtVMi1NRVNTQUdFXShodHRwczovL3JmYy52YWMuZGV2L3NwZWMvMTQvKVxuICogZm9ybWF0IHdoZW4gcmVjZWl2ZWQgZnJvbSB0aGUgV2FrdSBuZXR3b3JrLiBUaGUgcmVzdWx0aW5nIGRlY29kZXIgY2FuIHRoZW4gYmVcbiAqIHBhc3MgdG8geyBAbGluayBAd2FrdS9pbnRlcmZhY2VzIUlSZWNlaXZlci5zdWJzY3JpYmUgfSB0byBhdXRvbWF0aWNhbGx5IGRlY29kZSBpbmNvbWluZ1xuICogbWVzc2FnZXMuXG4gKlxuICogQHBhcmFtIGNvbnRlbnRUb3BpYyBUaGUgcmVzdWx0aW5nIGRlY29kZXIgd2lsbCBvbmx5IGRlY29kZSBtZXNzYWdlcyB3aXRoIHRoaXMgY29udGVudCB0b3BpYy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlY29kZXIoY29udGVudFRvcGljLCBwdWJzdWJUb3BpY1NoYXJkSW5mbykge1xuICAgIHJldHVybiBuZXcgRGVjb2RlcihkZXRlcm1pbmVQdWJzdWJUb3BpYyhjb250ZW50VG9waWMsIHB1YnN1YlRvcGljU2hhcmRJbmZvKSwgY29udGVudFRvcGljKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXZlcnNpb25fMC5qcy5tYXAiXSwibmFtZXMiOlsicHJvdG9fbWVzc2FnZSIsInByb3RvIiwiZGV0ZXJtaW5lUHVic3ViVG9waWMiLCJMb2dnZXIiLCJsb2ciLCJPbmVNaWxsaW9uIiwiQmlnSW50IiwiVmVyc2lvbiIsIkRlY29kZWRNZXNzYWdlIiwiY29uc3RydWN0b3IiLCJwdWJzdWJUb3BpYyIsImVwaGVtZXJhbCIsIkJvb2xlYW4iLCJwYXlsb2FkIiwiY29udGVudFRvcGljIiwiX3Jhd1RpbWVzdGFtcCIsInRpbWVzdGFtcCIsIkRhdGUiLCJOdW1iZXIiLCJlIiwibWV0YSIsInZlcnNpb24iLCJyYXRlTGltaXRQcm9vZiIsIkVuY29kZXIiLCJtZXRhU2V0dGVyIiwiRXJyb3IiLCJ0b1dpcmUiLCJtZXNzYWdlIiwiV2FrdU1lc3NhZ2UiLCJlbmNvZGUiLCJ0b1Byb3RvT2JqIiwicHJvdG9NZXNzYWdlIiwidmFsdWVPZiIsInVuZGVmaW5lZCIsImNyZWF0ZUVuY29kZXIiLCJwdWJzdWJUb3BpY1NoYXJkSW5mbyIsIkRlY29kZXIiLCJmcm9tV2lyZVRvUHJvdG9PYmoiLCJieXRlcyIsImRlY29kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiZnJvbVByb3RvT2JqIiwiZXJyb3IiLCJjcmVhdGVEZWNvZGVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/dist/lib/message/version_0.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/bytes/index.js":
/*!******************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/bytes/index.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bytesToHex: () => (/* binding */ bytesToHex),\n/* harmony export */ bytesToUtf8: () => (/* binding */ bytesToUtf8),\n/* harmony export */ concat: () => (/* binding */ concat),\n/* harmony export */ hexToBytes: () => (/* binding */ hexToBytes),\n/* harmony export */ utf8ToBytes: () => (/* binding */ utf8ToBytes)\n/* harmony export */ });\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n\n\n/**\n * Convert input to a byte array.\n *\n * Handles both `0x` prefixed and non-prefixed strings.\n */ function hexToBytes(hex) {\n if (typeof hex === \"string\") {\n const _hex = hex.replace(/^0x/i, \"\");\n return (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_0__.fromString)(_hex.toLowerCase(), \"base16\");\n }\n return hex;\n}\n/**\n * Convert byte array to hex string (no `0x` prefix).\n */ const bytesToHex = (bytes)=>(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(bytes, \"base16\");\n/**\n * Decode byte array to utf-8 string.\n */ const bytesToUtf8 = (b)=>(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(b, \"utf8\");\n/**\n * Encode utf-8 string to byte array.\n */ const utf8ToBytes = (s)=>(0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_0__.fromString)(s, \"utf8\");\n/**\n * Concatenate using Uint8Arrays as `Buffer` has a different behavior with `DataView`\n */ function concat(byteArrays, totalLength) {\n const len = totalLength ?? byteArrays.reduce((acc, curr)=>acc + curr.length, 0);\n const res = new Uint8Array(len);\n let offset = 0;\n for (const bytes of byteArrays){\n res.set(bytes, offset);\n offset += bytes.length;\n }\n return res;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9ieXRlcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQXFEO0FBQ0o7QUFDakQ7Ozs7Q0FJQyxHQUNNLFNBQVNFLFdBQVdDLEdBQUc7SUFDMUIsSUFBSSxPQUFPQSxRQUFRLFVBQVU7UUFDekIsTUFBTUMsT0FBT0QsSUFBSUUsT0FBTyxDQUFDLFFBQVE7UUFDakMsT0FBT0wsbUVBQVVBLENBQUNJLEtBQUtFLFdBQVcsSUFBSTtJQUMxQztJQUNBLE9BQU9IO0FBQ1g7QUFDQTs7Q0FFQyxHQUNNLE1BQU1JLGFBQWEsQ0FBQ0MsUUFBVVAsK0RBQVFBLENBQUNPLE9BQU8sVUFBVTtBQUMvRDs7Q0FFQyxHQUNNLE1BQU1DLGNBQWMsQ0FBQ0MsSUFBTVQsK0RBQVFBLENBQUNTLEdBQUcsUUFBUTtBQUN0RDs7Q0FFQyxHQUNNLE1BQU1DLGNBQWMsQ0FBQ0MsSUFBTVosbUVBQVVBLENBQUNZLEdBQUcsUUFBUTtBQUN4RDs7Q0FFQyxHQUNNLFNBQVNDLE9BQU9DLFVBQVUsRUFBRUMsV0FBVztJQUMxQyxNQUFNQyxNQUFNRCxlQUFlRCxXQUFXRyxNQUFNLENBQUMsQ0FBQ0MsS0FBS0MsT0FBU0QsTUFBTUMsS0FBS0MsTUFBTSxFQUFFO0lBQy9FLE1BQU1DLE1BQU0sSUFBSUMsV0FBV047SUFDM0IsSUFBSU8sU0FBUztJQUNiLEtBQUssTUFBTWYsU0FBU00sV0FBWTtRQUM1Qk8sSUFBSUcsR0FBRyxDQUFDaEIsT0FBT2U7UUFDZkEsVUFBVWYsTUFBTVksTUFBTTtJQUMxQjtJQUNBLE9BQU9DO0FBQ1gsRUFDQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2J5dGVzL2luZGV4LmpzP2U0YzEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbVN0cmluZyB9IGZyb20gXCJ1aW50OGFycmF5cy9mcm9tLXN0cmluZ1wiO1xuaW1wb3J0IHsgdG9TdHJpbmcgfSBmcm9tIFwidWludDhhcnJheXMvdG8tc3RyaW5nXCI7XG4vKipcbiAqIENvbnZlcnQgaW5wdXQgdG8gYSBieXRlIGFycmF5LlxuICpcbiAqIEhhbmRsZXMgYm90aCBgMHhgIHByZWZpeGVkIGFuZCBub24tcHJlZml4ZWQgc3RyaW5ncy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhleFRvQnl0ZXMoaGV4KSB7XG4gICAgaWYgKHR5cGVvZiBoZXggPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgY29uc3QgX2hleCA9IGhleC5yZXBsYWNlKC9eMHgvaSwgXCJcIik7XG4gICAgICAgIHJldHVybiBmcm9tU3RyaW5nKF9oZXgudG9Mb3dlckNhc2UoKSwgXCJiYXNlMTZcIik7XG4gICAgfVxuICAgIHJldHVybiBoZXg7XG59XG4vKipcbiAqIENvbnZlcnQgYnl0ZSBhcnJheSB0byBoZXggc3RyaW5nIChubyBgMHhgIHByZWZpeCkuXG4gKi9cbmV4cG9ydCBjb25zdCBieXRlc1RvSGV4ID0gKGJ5dGVzKSA9PiB0b1N0cmluZyhieXRlcywgXCJiYXNlMTZcIik7XG4vKipcbiAqIERlY29kZSBieXRlIGFycmF5IHRvIHV0Zi04IHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ5dGVzVG9VdGY4ID0gKGIpID0+IHRvU3RyaW5nKGIsIFwidXRmOFwiKTtcbi8qKlxuICogRW5jb2RlIHV0Zi04IHN0cmluZyB0byBieXRlIGFycmF5LlxuICovXG5leHBvcnQgY29uc3QgdXRmOFRvQnl0ZXMgPSAocykgPT4gZnJvbVN0cmluZyhzLCBcInV0ZjhcIik7XG4vKipcbiAqIENvbmNhdGVuYXRlIHVzaW5nIFVpbnQ4QXJyYXlzIGFzIGBCdWZmZXJgIGhhcyBhIGRpZmZlcmVudCBiZWhhdmlvciB3aXRoIGBEYXRhVmlld2BcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmNhdChieXRlQXJyYXlzLCB0b3RhbExlbmd0aCkge1xuICAgIGNvbnN0IGxlbiA9IHRvdGFsTGVuZ3RoID8/IGJ5dGVBcnJheXMucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYyArIGN1cnIubGVuZ3RoLCAwKTtcbiAgICBjb25zdCByZXMgPSBuZXcgVWludDhBcnJheShsZW4pO1xuICAgIGxldCBvZmZzZXQgPSAwO1xuICAgIGZvciAoY29uc3QgYnl0ZXMgb2YgYnl0ZUFycmF5cykge1xuICAgICAgICByZXMuc2V0KGJ5dGVzLCBvZmZzZXQpO1xuICAgICAgICBvZmZzZXQgKz0gYnl0ZXMubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbImZyb21TdHJpbmciLCJ0b1N0cmluZyIsImhleFRvQnl0ZXMiLCJoZXgiLCJfaGV4IiwicmVwbGFjZSIsInRvTG93ZXJDYXNlIiwiYnl0ZXNUb0hleCIsImJ5dGVzIiwiYnl0ZXNUb1V0ZjgiLCJiIiwidXRmOFRvQnl0ZXMiLCJzIiwiY29uY2F0IiwiYnl0ZUFycmF5cyIsInRvdGFsTGVuZ3RoIiwibGVuIiwicmVkdWNlIiwiYWNjIiwiY3VyciIsImxlbmd0aCIsInJlcyIsIlVpbnQ4QXJyYXkiLCJvZmZzZXQiLCJzZXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/bytes/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/group_by.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/common/group_by.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ groupByContentTopic: () => (/* binding */ groupByContentTopic)\n/* harmony export */ });\nfunction groupByContentTopic(values) {\n const groupedDecoders = new Map();\n values.forEach((value)=>{\n let decs = groupedDecoders.get(value.contentTopic);\n if (!decs) {\n groupedDecoders.set(value.contentTopic, []);\n decs = groupedDecoders.get(value.contentTopic);\n }\n decs.push(value);\n });\n return groupedDecoders;\n} //# sourceMappingURL=group_by.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vZ3JvdXBfYnkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPLFNBQVNBLG9CQUFvQkMsTUFBTTtJQUN0QyxNQUFNQyxrQkFBa0IsSUFBSUM7SUFDNUJGLE9BQU9HLE9BQU8sQ0FBQyxDQUFDQztRQUNaLElBQUlDLE9BQU9KLGdCQUFnQkssR0FBRyxDQUFDRixNQUFNRyxZQUFZO1FBQ2pELElBQUksQ0FBQ0YsTUFBTTtZQUNQSixnQkFBZ0JPLEdBQUcsQ0FBQ0osTUFBTUcsWUFBWSxFQUFFLEVBQUU7WUFDMUNGLE9BQU9KLGdCQUFnQkssR0FBRyxDQUFDRixNQUFNRyxZQUFZO1FBQ2pEO1FBQ0FGLEtBQUtJLElBQUksQ0FBQ0w7SUFDZDtJQUNBLE9BQU9IO0FBQ1gsRUFDQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9ncm91cF9ieS5qcz85MmMyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBncm91cEJ5Q29udGVudFRvcGljKHZhbHVlcykge1xuICAgIGNvbnN0IGdyb3VwZWREZWNvZGVycyA9IG5ldyBNYXAoKTtcbiAgICB2YWx1ZXMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgbGV0IGRlY3MgPSBncm91cGVkRGVjb2RlcnMuZ2V0KHZhbHVlLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgIGlmICghZGVjcykge1xuICAgICAgICAgICAgZ3JvdXBlZERlY29kZXJzLnNldCh2YWx1ZS5jb250ZW50VG9waWMsIFtdKTtcbiAgICAgICAgICAgIGRlY3MgPSBncm91cGVkRGVjb2RlcnMuZ2V0KHZhbHVlLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgIH1cbiAgICAgICAgZGVjcy5wdXNoKHZhbHVlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZ3JvdXBlZERlY29kZXJzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z3JvdXBfYnkuanMubWFwIl0sIm5hbWVzIjpbImdyb3VwQnlDb250ZW50VG9waWMiLCJ2YWx1ZXMiLCJncm91cGVkRGVjb2RlcnMiLCJNYXAiLCJmb3JFYWNoIiwidmFsdWUiLCJkZWNzIiwiZ2V0IiwiY29udGVudFRvcGljIiwic2V0IiwicHVzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/group_by.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/index.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/common/index.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ contentTopicToPubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.contentTopicToPubsubTopic),\n/* harmony export */ contentTopicToShardIndex: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.contentTopicToShardIndex),\n/* harmony export */ contentTopicsByPubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.contentTopicsByPubsubTopic),\n/* harmony export */ decodeRelayShard: () => (/* reexport safe */ _relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_7__.decodeRelayShard),\n/* harmony export */ determinePubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.determinePubsubTopic),\n/* harmony export */ encodeRelayShard: () => (/* reexport safe */ _relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_7__.encodeRelayShard),\n/* harmony export */ ensurePubsubTopicIsConfigured: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.ensurePubsubTopicIsConfigured),\n/* harmony export */ ensureShardingConfigured: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.ensureShardingConfigured),\n/* harmony export */ ensureValidContentTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.ensureValidContentTopic),\n/* harmony export */ getPseudoRandomSubset: () => (/* reexport safe */ _random_subset_js__WEBPACK_IMPORTED_MODULE_1__.getPseudoRandomSubset),\n/* harmony export */ getWsMultiaddrFromMultiaddrs: () => (/* binding */ getWsMultiaddrFromMultiaddrs),\n/* harmony export */ groupByContentTopic: () => (/* reexport safe */ _group_by_js__WEBPACK_IMPORTED_MODULE_2__.groupByContentTopic),\n/* harmony export */ isDefined: () => (/* reexport safe */ _is_defined_js__WEBPACK_IMPORTED_MODULE_0__.isDefined),\n/* harmony export */ isMessageSizeUnderCap: () => (/* reexport safe */ _is_size_valid_js__WEBPACK_IMPORTED_MODULE_4__.isMessageSizeUnderCap),\n/* harmony export */ isWireSizeUnderCap: () => (/* reexport safe */ _is_size_valid_js__WEBPACK_IMPORTED_MODULE_4__.isWireSizeUnderCap),\n/* harmony export */ pubsubTopicToSingleShardInfo: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.pubsubTopicToSingleShardInfo),\n/* harmony export */ pushOrInitMapSet: () => (/* reexport safe */ _push_or_init_map_js__WEBPACK_IMPORTED_MODULE_6__.pushOrInitMapSet),\n/* harmony export */ removeItemFromArray: () => (/* binding */ removeItemFromArray),\n/* harmony export */ shardInfoToPubsubTopics: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.shardInfoToPubsubTopics),\n/* harmony export */ singleShardInfoToPubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.singleShardInfoToPubsubTopic),\n/* harmony export */ singleShardInfosToShardInfo: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.singleShardInfosToShardInfo),\n/* harmony export */ toAsyncIterator: () => (/* reexport safe */ _to_async_iterator_js__WEBPACK_IMPORTED_MODULE_3__.toAsyncIterator)\n/* harmony export */ });\n/* harmony import */ var _is_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./is_defined.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/is_defined.js\");\n/* harmony import */ var _random_subset_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./random_subset.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/random_subset.js\");\n/* harmony import */ var _group_by_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./group_by.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/group_by.js\");\n/* harmony import */ var _to_async_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./to_async_iterator.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/to_async_iterator.js\");\n/* harmony import */ var _is_size_valid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./is_size_valid.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/is_size_valid.js\");\n/* harmony import */ var _sharding_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sharding.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/sharding.js\");\n/* harmony import */ var _push_or_init_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./push_or_init_map.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/push_or_init_map.js\");\n/* harmony import */ var _relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./relay_shard_codec.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/relay_shard_codec.js\");\n\n\n\n\n\n\n\n\nfunction removeItemFromArray(arr, value) {\n const index = arr.indexOf(value);\n if (index > -1) {\n arr.splice(index, 1);\n }\n return arr;\n}\nfunction getWsMultiaddrFromMultiaddrs(addresses) {\n const wsMultiaddr = addresses.find((addr)=>addr.toString().includes(\"ws\") || addr.toString().includes(\"wss\"));\n if (!wsMultiaddr) {\n throw new Error(\"No ws multiaddr found in the given addresses\");\n }\n return wsMultiaddr;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWdDO0FBQ0c7QUFDTDtBQUNTO0FBQ0o7QUFDTDtBQUNRO0FBQ0M7QUFDaEMsU0FBU0Esb0JBQW9CQyxHQUFHLEVBQUVDLEtBQUs7SUFDMUMsTUFBTUMsUUFBUUYsSUFBSUcsT0FBTyxDQUFDRjtJQUMxQixJQUFJQyxRQUFRLENBQUMsR0FBRztRQUNaRixJQUFJSSxNQUFNLENBQUNGLE9BQU87SUFDdEI7SUFDQSxPQUFPRjtBQUNYO0FBQ08sU0FBU0ssNkJBQTZCQyxTQUFTO0lBQ2xELE1BQU1DLGNBQWNELFVBQVVFLElBQUksQ0FBQyxDQUFDQyxPQUFTQSxLQUFLQyxRQUFRLEdBQUdDLFFBQVEsQ0FBQyxTQUFTRixLQUFLQyxRQUFRLEdBQUdDLFFBQVEsQ0FBQztJQUN4RyxJQUFJLENBQUNKLGFBQWE7UUFDZCxNQUFNLElBQUlLLE1BQU07SUFDcEI7SUFDQSxPQUFPTDtBQUNYLEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vaW5kZXguanM/M2MxZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9pc19kZWZpbmVkLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yYW5kb21fc3Vic2V0LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ncm91cF9ieS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9fYXN5bmNfaXRlcmF0b3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lzX3NpemVfdmFsaWQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NoYXJkaW5nLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wdXNoX29yX2luaXRfbWFwLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWxheV9zaGFyZF9jb2RlYy5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUl0ZW1Gcm9tQXJyYXkoYXJyLCB2YWx1ZSkge1xuICAgIGNvbnN0IGluZGV4ID0gYXJyLmluZGV4T2YodmFsdWUpO1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGFyci5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFdzTXVsdGlhZGRyRnJvbU11bHRpYWRkcnMoYWRkcmVzc2VzKSB7XG4gICAgY29uc3Qgd3NNdWx0aWFkZHIgPSBhZGRyZXNzZXMuZmluZCgoYWRkcikgPT4gYWRkci50b1N0cmluZygpLmluY2x1ZGVzKFwid3NcIikgfHwgYWRkci50b1N0cmluZygpLmluY2x1ZGVzKFwid3NzXCIpKTtcbiAgICBpZiAoIXdzTXVsdGlhZGRyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHdzIG11bHRpYWRkciBmb3VuZCBpbiB0aGUgZ2l2ZW4gYWRkcmVzc2VzXCIpO1xuICAgIH1cbiAgICByZXR1cm4gd3NNdWx0aWFkZHI7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsicmVtb3ZlSXRlbUZyb21BcnJheSIsImFyciIsInZhbHVlIiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwiZ2V0V3NNdWx0aWFkZHJGcm9tTXVsdGlhZGRycyIsImFkZHJlc3NlcyIsIndzTXVsdGlhZGRyIiwiZmluZCIsImFkZHIiLCJ0b1N0cmluZyIsImluY2x1ZGVzIiwiRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/is_defined.js":
/*!************************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/common/is_defined.js ***!
\************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isDefined: () => (/* binding */ isDefined)\n/* harmony export */ });\nfunction isDefined(value) {\n return Boolean(value);\n} //# sourceMappingURL=is_defined.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vaXNfZGVmaW5lZC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sU0FBU0EsVUFBVUMsS0FBSztJQUMzQixPQUFPQyxRQUFRRDtBQUNuQixFQUNBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2NvcmUvbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvY29tbW9uL2lzX2RlZmluZWQuanM/NmQyNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNEZWZpbmVkKHZhbHVlKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odmFsdWUpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNfZGVmaW5lZC5qcy5tYXAiXSwibmFtZXMiOlsiaXNEZWZpbmVkIiwidmFsdWUiLCJCb29sZWFuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/is_defined.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/is_size_valid.js":
/*!***************************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/common/is_size_valid.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isMessageSizeUnderCap: () => (/* binding */ isMessageSizeUnderCap),\n/* harmony export */ isWireSizeUnderCap: () => (/* binding */ isWireSizeUnderCap)\n/* harmony export */ });\nconst MB = 1024 ** 2;\nconst SIZE_CAP_IN_MB = 1;\n/**\n * Return whether the size of the message is under the upper limit for the network.\n * This performs a protobuf encoding! If you have access to the fully encoded message,\n * use {@link isSizeUnderCapBuf} instead.\n * @param message\n * @param encoder\n */ async function isMessageSizeUnderCap(encoder, message) {\n const buf = await encoder.toWire(message);\n if (!buf) return false;\n return isWireSizeUnderCap(buf);\n}\nconst isWireSizeUnderCap = (buf)=>buf.length / MB <= SIZE_CAP_IN_MB; //# sourceMappingURL=is_size_valid.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vaXNfc2l6ZV92YWxpZC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBLE1BQU1BLEtBQUssUUFBUTtBQUNuQixNQUFNQyxpQkFBaUI7QUFDdkI7Ozs7OztDQU1DLEdBQ00sZUFBZUMsc0JBQXNCQyxPQUFPLEVBQUVDLE9BQU87SUFDeEQsTUFBTUMsTUFBTSxNQUFNRixRQUFRRyxNQUFNLENBQUNGO0lBQ2pDLElBQUksQ0FBQ0MsS0FDRCxPQUFPO0lBQ1gsT0FBT0UsbUJBQW1CRjtBQUM5QjtBQUNPLE1BQU1FLHFCQUFxQixDQUFDRixNQUFRQSxJQUFJRyxNQUFNLEdBQUdSLE1BQU1DLGVBQWUsQ0FDN0UseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vaXNfc2l6ZV92YWxpZC5qcz9mYWI5Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE1CID0gMTAyNCAqKiAyO1xuY29uc3QgU0laRV9DQVBfSU5fTUIgPSAxO1xuLyoqXG4gKiBSZXR1cm4gd2hldGhlciB0aGUgc2l6ZSBvZiB0aGUgbWVzc2FnZSBpcyB1bmRlciB0aGUgdXBwZXIgbGltaXQgZm9yIHRoZSBuZXR3b3JrLlxuICogVGhpcyBwZXJmb3JtcyBhIHByb3RvYnVmIGVuY29kaW5nISBJZiB5b3UgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZ1bGx5IGVuY29kZWQgbWVzc2FnZSxcbiAqIHVzZSB7QGxpbmsgaXNTaXplVW5kZXJDYXBCdWZ9IGluc3RlYWQuXG4gKiBAcGFyYW0gbWVzc2FnZVxuICogQHBhcmFtIGVuY29kZXJcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlzTWVzc2FnZVNpemVVbmRlckNhcChlbmNvZGVyLCBtZXNzYWdlKSB7XG4gICAgY29uc3QgYnVmID0gYXdhaXQgZW5jb2Rlci50b1dpcmUobWVzc2FnZSk7XG4gICAgaWYgKCFidWYpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gaXNXaXJlU2l6ZVVuZGVyQ2FwKGJ1Zik7XG59XG5leHBvcnQgY29uc3QgaXNXaXJlU2l6ZVVuZGVyQ2FwID0gKGJ1ZikgPT4gYnVmLmxlbmd0aCAvIE1CIDw9IFNJWkVfQ0FQX0lOX01CO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNfc2l6ZV92YWxpZC5qcy5tYXAiXSwibmFtZXMiOlsiTUIiLCJTSVpFX0NBUF9JTl9NQiIsImlzTWVzc2FnZVNpemVVbmRlckNhcCIsImVuY29kZXIiLCJtZXNzYWdlIiwiYnVmIiwidG9XaXJlIiwiaXNXaXJlU2l6ZVVuZGVyQ2FwIiwibGVuZ3RoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/is_size_valid.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/push_or_init_map.js":
/*!******************************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/common/push_or_init_map.js ***!
\******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pushOrInitMapSet: () => (/* binding */ pushOrInitMapSet)\n/* harmony export */ });\nfunction pushOrInitMapSet(map, key, newValue) {\n let arr = map.get(key);\n if (typeof arr === \"undefined\") {\n map.set(key, new Set());\n arr = map.get(key);\n }\n arr.add(newValue);\n} //# sourceMappingURL=push_or_init_map.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcHVzaF9vcl9pbml0X21hcC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sU0FBU0EsaUJBQWlCQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsUUFBUTtJQUMvQyxJQUFJQyxNQUFNSCxJQUFJSSxHQUFHLENBQUNIO0lBQ2xCLElBQUksT0FBT0UsUUFBUSxhQUFhO1FBQzVCSCxJQUFJSyxHQUFHLENBQUNKLEtBQUssSUFBSUs7UUFDakJILE1BQU1ILElBQUlJLEdBQUcsQ0FBQ0g7SUFDbEI7SUFDQUUsSUFBSUksR0FBRyxDQUFDTDtBQUNaLEVBQ0EsNENBQTRDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcHVzaF9vcl9pbml0X21hcC5qcz9kZTEzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBwdXNoT3JJbml0TWFwU2V0KG1hcCwga2V5LCBuZXdWYWx1ZSkge1xuICAgIGxldCBhcnIgPSBtYXAuZ2V0KGtleSk7XG4gICAgaWYgKHR5cGVvZiBhcnIgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgbWFwLnNldChrZXksIG5ldyBTZXQoKSk7XG4gICAgICAgIGFyciA9IG1hcC5nZXQoa2V5KTtcbiAgICB9XG4gICAgYXJyLmFkZChuZXdWYWx1ZSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wdXNoX29yX2luaXRfbWFwLmpzLm1hcCJdLCJuYW1lcyI6WyJwdXNoT3JJbml0TWFwU2V0IiwibWFwIiwia2V5IiwibmV3VmFsdWUiLCJhcnIiLCJnZXQiLCJzZXQiLCJTZXQiLCJhZGQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/push_or_init_map.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/random_subset.js":
/*!***************************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/common/random_subset.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getPseudoRandomSubset: () => (/* binding */ getPseudoRandomSubset)\n/* harmony export */ });\n/**\n * Return pseudo random subset of the input.\n */ function getPseudoRandomSubset(values, wantedNumber) {\n if (values.length <= wantedNumber || values.length <= 1) {\n return values;\n }\n return shuffle(values).slice(0, wantedNumber);\n}\nfunction shuffle(arr) {\n if (arr.length <= 1) {\n return arr;\n }\n const randInt = ()=>{\n return Math.floor(Math.random() * Math.floor(arr.length));\n };\n for(let i = 0; i < arr.length; i++){\n const j = randInt();\n const tmp = arr[i];\n arr[i] = arr[j];\n arr[j] = tmp;\n }\n return arr;\n} //# sourceMappingURL=random_subset.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcmFuZG9tX3N1YnNldC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0NBRUMsR0FDTSxTQUFTQSxzQkFBc0JDLE1BQU0sRUFBRUMsWUFBWTtJQUN0RCxJQUFJRCxPQUFPRSxNQUFNLElBQUlELGdCQUFnQkQsT0FBT0UsTUFBTSxJQUFJLEdBQUc7UUFDckQsT0FBT0Y7SUFDWDtJQUNBLE9BQU9HLFFBQVFILFFBQVFJLEtBQUssQ0FBQyxHQUFHSDtBQUNwQztBQUNBLFNBQVNFLFFBQVFFLEdBQUc7SUFDaEIsSUFBSUEsSUFBSUgsTUFBTSxJQUFJLEdBQUc7UUFDakIsT0FBT0c7SUFDWDtJQUNBLE1BQU1DLFVBQVU7UUFDWixPQUFPQyxLQUFLQyxLQUFLLENBQUNELEtBQUtFLE1BQU0sS0FBS0YsS0FBS0MsS0FBSyxDQUFDSCxJQUFJSCxNQUFNO0lBQzNEO0lBQ0EsSUFBSyxJQUFJUSxJQUFJLEdBQUdBLElBQUlMLElBQUlILE1BQU0sRUFBRVEsSUFBSztRQUNqQyxNQUFNQyxJQUFJTDtRQUNWLE1BQU1NLE1BQU1QLEdBQUcsQ0FBQ0ssRUFBRTtRQUNsQkwsR0FBRyxDQUFDSyxFQUFFLEdBQUdMLEdBQUcsQ0FBQ00sRUFBRTtRQUNmTixHQUFHLENBQUNNLEVBQUUsR0FBR0M7SUFDYjtJQUNBLE9BQU9QO0FBQ1gsRUFDQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9yYW5kb21fc3Vic2V0LmpzP2Q0ZGUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm4gcHNldWRvIHJhbmRvbSBzdWJzZXQgb2YgdGhlIGlucHV0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHNldWRvUmFuZG9tU3Vic2V0KHZhbHVlcywgd2FudGVkTnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggPD0gd2FudGVkTnVtYmVyIHx8IHZhbHVlcy5sZW5ndGggPD0gMSkge1xuICAgICAgICByZXR1cm4gdmFsdWVzO1xuICAgIH1cbiAgICByZXR1cm4gc2h1ZmZsZSh2YWx1ZXMpLnNsaWNlKDAsIHdhbnRlZE51bWJlcik7XG59XG5mdW5jdGlvbiBzaHVmZmxlKGFycikge1xuICAgIGlmIChhcnIubGVuZ3RoIDw9IDEpIHtcbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gICAgY29uc3QgcmFuZEludCA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1hdGguZmxvb3IoYXJyLmxlbmd0aCkpO1xuICAgIH07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaiA9IHJhbmRJbnQoKTtcbiAgICAgICAgY29uc3QgdG1wID0gYXJyW2ldO1xuICAgICAgICBhcnJbaV0gPSBhcnJbal07XG4gICAgICAgIGFycltqXSA9IHRtcDtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJhbmRvbV9zdWJzZXQuanMubWFwIl0sIm5hbWVzIjpbImdldFBzZXVkb1JhbmRvbVN1YnNldCIsInZhbHVlcyIsIndhbnRlZE51bWJlciIsImxlbmd0aCIsInNodWZmbGUiLCJzbGljZSIsImFyciIsInJhbmRJbnQiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJpIiwiaiIsInRtcCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/random_subset.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/relay_shard_codec.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/common/relay_shard_codec.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeRelayShard: () => (/* binding */ decodeRelayShard),\n/* harmony export */ encodeRelayShard: () => (/* binding */ encodeRelayShard)\n/* harmony export */ });\nconst decodeRelayShard = (bytes)=>{\n // explicitly converting to Uint8Array to avoid Buffer\n // https://github.com/libp2p/js-libp2p/issues/2146\n bytes = new Uint8Array(bytes);\n if (bytes.length < 3) throw new Error(\"Insufficient data\");\n const view = new DataView(bytes.buffer);\n const clusterId = view.getUint16(0);\n const shards = [];\n if (bytes.length === 130) {\n // rsv format (Bit Vector)\n for(let i = 0; i < 1024; i++){\n const byteIndex = Math.floor(i / 8) + 2; // Adjusted for the 2-byte cluster field\n const bitIndex = 7 - i % 8;\n if (view.getUint8(byteIndex) & 1 << bitIndex) {\n shards.push(i);\n }\n }\n } else {\n // rs format (Index List)\n const numIndices = view.getUint8(2);\n for(let i = 0, offset = 3; i < numIndices; i++, offset += 2){\n if (offset + 1 >= bytes.length) throw new Error(\"Unexpected end of data\");\n shards.push(view.getUint16(offset));\n }\n }\n return {\n clusterId,\n shards\n };\n};\nconst encodeRelayShard = (shardInfo)=>{\n const { clusterId, shards } = shardInfo;\n const totalLength = shards.length >= 64 ? 130 : 3 + 2 * shards.length;\n const buffer = new ArrayBuffer(totalLength);\n const view = new DataView(buffer);\n view.setUint16(0, clusterId);\n if (shards.length >= 64) {\n // rsv format (Bit Vector)\n for (const index of shards){\n const byteIndex = Math.floor(index / 8) + 2; // Adjusted for the 2-byte cluster field\n const bitIndex = 7 - index % 8;\n view.setUint8(byteIndex, view.getUint8(byteIndex) | 1 << bitIndex);\n }\n } else {\n // rs format (Index List)\n view.setUint8(2, shards.length);\n for(let i = 0, offset = 3; i < shards.length; i++, offset += 2){\n view.setUint16(offset, shards[i]);\n }\n }\n return new Uint8Array(buffer);\n}; //# sourceMappingURL=relay_shard_codec.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcmVsYXlfc2hhcmRfY29kZWMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxNQUFNQSxtQkFBbUIsQ0FBQ0M7SUFDN0Isc0RBQXNEO0lBQ3RELGtEQUFrRDtJQUNsREEsUUFBUSxJQUFJQyxXQUFXRDtJQUN2QixJQUFJQSxNQUFNRSxNQUFNLEdBQUcsR0FDZixNQUFNLElBQUlDLE1BQU07SUFDcEIsTUFBTUMsT0FBTyxJQUFJQyxTQUFTTCxNQUFNTSxNQUFNO0lBQ3RDLE1BQU1DLFlBQVlILEtBQUtJLFNBQVMsQ0FBQztJQUNqQyxNQUFNQyxTQUFTLEVBQUU7SUFDakIsSUFBSVQsTUFBTUUsTUFBTSxLQUFLLEtBQUs7UUFDdEIsMEJBQTBCO1FBQzFCLElBQUssSUFBSVEsSUFBSSxHQUFHQSxJQUFJLE1BQU1BLElBQUs7WUFDM0IsTUFBTUMsWUFBWUMsS0FBS0MsS0FBSyxDQUFDSCxJQUFJLEtBQUssR0FBRyx3Q0FBd0M7WUFDakYsTUFBTUksV0FBVyxJQUFLSixJQUFJO1lBQzFCLElBQUlOLEtBQUtXLFFBQVEsQ0FBQ0osYUFBYyxLQUFLRyxVQUFXO2dCQUM1Q0wsT0FBT08sSUFBSSxDQUFDTjtZQUNoQjtRQUNKO0lBQ0osT0FDSztRQUNELHlCQUF5QjtRQUN6QixNQUFNTyxhQUFhYixLQUFLVyxRQUFRLENBQUM7UUFDakMsSUFBSyxJQUFJTCxJQUFJLEdBQUdRLFNBQVMsR0FBR1IsSUFBSU8sWUFBWVAsS0FBS1EsVUFBVSxFQUFHO1lBQzFELElBQUlBLFNBQVMsS0FBS2xCLE1BQU1FLE1BQU0sRUFDMUIsTUFBTSxJQUFJQyxNQUFNO1lBQ3BCTSxPQUFPTyxJQUFJLENBQUNaLEtBQUtJLFNBQVMsQ0FBQ1U7UUFDL0I7SUFDSjtJQUNBLE9BQU87UUFBRVg7UUFBV0U7SUFBTztBQUMvQixFQUFFO0FBQ0ssTUFBTVUsbUJBQW1CLENBQUNDO0lBQzdCLE1BQU0sRUFBRWIsU0FBUyxFQUFFRSxNQUFNLEVBQUUsR0FBR1c7SUFDOUIsTUFBTUMsY0FBY1osT0FBT1AsTUFBTSxJQUFJLEtBQUssTUFBTSxJQUFJLElBQUlPLE9BQU9QLE1BQU07SUFDckUsTUFBTUksU0FBUyxJQUFJZ0IsWUFBWUQ7SUFDL0IsTUFBTWpCLE9BQU8sSUFBSUMsU0FBU0M7SUFDMUJGLEtBQUttQixTQUFTLENBQUMsR0FBR2hCO0lBQ2xCLElBQUlFLE9BQU9QLE1BQU0sSUFBSSxJQUFJO1FBQ3JCLDBCQUEwQjtRQUMxQixLQUFLLE1BQU1zQixTQUFTZixPQUFRO1lBQ3hCLE1BQU1FLFlBQVlDLEtBQUtDLEtBQUssQ0FBQ1csUUFBUSxLQUFLLEdBQUcsd0NBQXdDO1lBQ3JGLE1BQU1WLFdBQVcsSUFBS1UsUUFBUTtZQUM5QnBCLEtBQUtxQixRQUFRLENBQUNkLFdBQVdQLEtBQUtXLFFBQVEsQ0FBQ0osYUFBYyxLQUFLRztRQUM5RDtJQUNKLE9BQ0s7UUFDRCx5QkFBeUI7UUFDekJWLEtBQUtxQixRQUFRLENBQUMsR0FBR2hCLE9BQU9QLE1BQU07UUFDOUIsSUFBSyxJQUFJUSxJQUFJLEdBQUdRLFNBQVMsR0FBR1IsSUFBSUQsT0FBT1AsTUFBTSxFQUFFUSxLQUFLUSxVQUFVLEVBQUc7WUFDN0RkLEtBQUttQixTQUFTLENBQUNMLFFBQVFULE1BQU0sQ0FBQ0MsRUFBRTtRQUNwQztJQUNKO0lBQ0EsT0FBTyxJQUFJVCxXQUFXSztBQUMxQixFQUFFLENBQ0YsNkNBQTZDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcmVsYXlfc2hhcmRfY29kZWMuanM/ZWE0NSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZGVjb2RlUmVsYXlTaGFyZCA9IChieXRlcykgPT4ge1xuICAgIC8vIGV4cGxpY2l0bHkgY29udmVydGluZyB0byBVaW50OEFycmF5IHRvIGF2b2lkIEJ1ZmZlclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9saWJwMnAvanMtbGlicDJwL2lzc3Vlcy8yMTQ2XG4gICAgYnl0ZXMgPSBuZXcgVWludDhBcnJheShieXRlcyk7XG4gICAgaWYgKGJ5dGVzLmxlbmd0aCA8IDMpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkluc3VmZmljaWVudCBkYXRhXCIpO1xuICAgIGNvbnN0IHZpZXcgPSBuZXcgRGF0YVZpZXcoYnl0ZXMuYnVmZmVyKTtcbiAgICBjb25zdCBjbHVzdGVySWQgPSB2aWV3LmdldFVpbnQxNigwKTtcbiAgICBjb25zdCBzaGFyZHMgPSBbXTtcbiAgICBpZiAoYnl0ZXMubGVuZ3RoID09PSAxMzApIHtcbiAgICAgICAgLy8gcnN2IGZvcm1hdCAoQml0IFZlY3RvcilcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDI0OyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGJ5dGVJbmRleCA9IE1hdGguZmxvb3IoaSAvIDgpICsgMjsgLy8gQWRqdXN0ZWQgZm9yIHRoZSAyLWJ5dGUgY2x1c3RlciBmaWVsZFxuICAgICAgICAgICAgY29uc3QgYml0SW5kZXggPSA3IC0gKGkgJSA4KTtcbiAgICAgICAgICAgIGlmICh2aWV3LmdldFVpbnQ4KGJ5dGVJbmRleCkgJiAoMSA8PCBiaXRJbmRleCkpIHtcbiAgICAgICAgICAgICAgICBzaGFyZHMucHVzaChpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gcnMgZm9ybWF0IChJbmRleCBMaXN0KVxuICAgICAgICBjb25zdCBudW1JbmRpY2VzID0gdmlldy5nZXRVaW50OCgyKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIG9mZnNldCA9IDM7IGkgPCBudW1JbmRpY2VzOyBpKyssIG9mZnNldCArPSAyKSB7XG4gICAgICAgICAgICBpZiAob2Zmc2V0ICsgMSA+PSBieXRlcy5sZW5ndGgpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5leHBlY3RlZCBlbmQgb2YgZGF0YVwiKTtcbiAgICAgICAgICAgIHNoYXJkcy5wdXNoKHZpZXcuZ2V0VWludDE2KG9mZnNldCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGNsdXN0ZXJJZCwgc2hhcmRzIH07XG59O1xuZXhwb3J0IGNvbnN0IGVuY29kZVJlbGF5U2hhcmQgPSAoc2hhcmRJbmZvKSA9PiB7XG4gICAgY29uc3QgeyBjbHVzdGVySWQsIHNoYXJkcyB9ID0gc2hhcmRJbmZvO1xuICAgIGNvbnN0IHRvdGFsTGVuZ3RoID0gc2hhcmRzLmxlbmd0aCA+PSA2NCA/IDEzMCA6IDMgKyAyICogc2hhcmRzLmxlbmd0aDtcbiAgICBjb25zdCBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIodG90YWxMZW5ndGgpO1xuICAgIGNvbnN0IHZpZXcgPSBuZXcgRGF0YVZpZXcoYnVmZmVyKTtcbiAgICB2aWV3LnNldFVpbnQxNigwLCBjbHVzdGVySWQpO1xuICAgIGlmIChzaGFyZHMubGVuZ3RoID49IDY0KSB7XG4gICAgICAgIC8vIHJzdiBmb3JtYXQgKEJpdCBWZWN0b3IpXG4gICAgICAgIGZvciAoY29uc3QgaW5kZXggb2Ygc2hhcmRzKSB7XG4gICAgICAgICAgICBjb25zdCBieXRlSW5kZXggPSBNYXRoLmZsb29yKGluZGV4IC8gOCkgKyAyOyAvLyBBZGp1c3RlZCBmb3IgdGhlIDItYnl0ZSBjbHVzdGVyIGZpZWxkXG4gICAgICAgICAgICBjb25zdCBiaXRJbmRleCA9IDcgLSAoaW5kZXggJSA4KTtcbiAgICAgICAgICAgIHZpZXcuc2V0VWludDgoYnl0ZUluZGV4LCB2aWV3LmdldFVpbnQ4KGJ5dGVJbmRleCkgfCAoMSA8PCBiaXRJbmRleCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvLyBycyBmb3JtYXQgKEluZGV4IExpc3QpXG4gICAgICAgIHZpZXcuc2V0VWludDgoMiwgc2hhcmRzLmxlbmd0aCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBvZmZzZXQgPSAzOyBpIDwgc2hhcmRzLmxlbmd0aDsgaSsrLCBvZmZzZXQgKz0gMikge1xuICAgICAgICAgICAgdmlldy5zZXRVaW50MTYob2Zmc2V0LCBzaGFyZHNbaV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgVWludDhBcnJheShidWZmZXIpO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbGF5X3NoYXJkX2NvZGVjLmpzLm1hcCJdLCJuYW1lcyI6WyJkZWNvZGVSZWxheVNoYXJkIiwiYnl0ZXMiLCJVaW50OEFycmF5IiwibGVuZ3RoIiwiRXJyb3IiLCJ2aWV3IiwiRGF0YVZpZXciLCJidWZmZXIiLCJjbHVzdGVySWQiLCJnZXRVaW50MTYiLCJzaGFyZHMiLCJpIiwiYnl0ZUluZGV4IiwiTWF0aCIsImZsb29yIiwiYml0SW5kZXgiLCJnZXRVaW50OCIsInB1c2giLCJudW1JbmRpY2VzIiwib2Zmc2V0IiwiZW5jb2RlUmVsYXlTaGFyZCIsInNoYXJkSW5mbyIsInRvdGFsTGVuZ3RoIiwiQXJyYXlCdWZmZXIiLCJzZXRVaW50MTYiLCJpbmRleCIsInNldFVpbnQ4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/relay_shard_codec.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/sharding.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/common/sharding.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ contentTopicToPubsubTopic: () => (/* binding */ contentTopicToPubsubTopic),\n/* harmony export */ contentTopicToShardIndex: () => (/* binding */ contentTopicToShardIndex),\n/* harmony export */ contentTopicsByPubsubTopic: () => (/* binding */ contentTopicsByPubsubTopic),\n/* harmony export */ determinePubsubTopic: () => (/* binding */ determinePubsubTopic),\n/* harmony export */ ensurePubsubTopicIsConfigured: () => (/* binding */ ensurePubsubTopicIsConfigured),\n/* harmony export */ ensureShardingConfigured: () => (/* binding */ ensureShardingConfigured),\n/* harmony export */ ensureValidContentTopic: () => (/* binding */ ensureValidContentTopic),\n/* harmony export */ pubsubTopicToSingleShardInfo: () => (/* binding */ pubsubTopicToSingleShardInfo),\n/* harmony export */ shardInfoToPubsubTopics: () => (/* binding */ shardInfoToPubsubTopics),\n/* harmony export */ singleShardInfoToPubsubTopic: () => (/* binding */ singleShardInfoToPubsubTopic),\n/* harmony export */ singleShardInfosToShardInfo: () => (/* binding */ singleShardInfosToShardInfo)\n/* harmony export */ });\n/* harmony import */ var _noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @noble/hashes/sha256 */ \"(ssr)/./node_modules/@noble/hashes/esm/sha256.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _bytes_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../bytes/index.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/bytes/index.js\");\n\n\n\nconst singleShardInfoToPubsubTopic = (shardInfo)=>{\n if (shardInfo.clusterId === undefined || shardInfo.shard === undefined) throw new Error(\"Invalid shard\");\n return `/waku/2/rs/${shardInfo.clusterId}/${shardInfo.shard}`;\n};\nconst singleShardInfosToShardInfo = (singleShardInfos)=>{\n if (singleShardInfos.length === 0) throw new Error(\"Invalid shard\");\n const clusterIds = singleShardInfos.map((shardInfo)=>shardInfo.clusterId);\n if (new Set(clusterIds).size !== 1) {\n throw new Error(\"Passed shard infos have different clusterIds\");\n }\n const shards = singleShardInfos.map((shardInfo)=>shardInfo.shard).filter((shard)=>shard !== undefined);\n return {\n clusterId: singleShardInfos[0].clusterId,\n shards\n };\n};\nconst shardInfoToPubsubTopics = (shardInfo)=>{\n if (\"contentTopics\" in shardInfo && shardInfo.contentTopics) {\n // Autosharding: explicitly defined content topics\n return Array.from(new Set(shardInfo.contentTopics.map((contentTopic)=>contentTopicToPubsubTopic(contentTopic, shardInfo.clusterId))));\n } else if (\"shards\" in shardInfo) {\n // Static sharding\n if (shardInfo.shards === undefined) throw new Error(\"Invalid shard\");\n return Array.from(new Set(shardInfo.shards.map((index)=>`/waku/2/rs/${shardInfo.clusterId ?? _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID}/${index}`)));\n } else if (\"application\" in shardInfo && \"version\" in shardInfo) {\n // Autosharding: single shard from application and version\n return [\n contentTopicToPubsubTopic(`/${shardInfo.application}/${shardInfo.version}/default/default`, shardInfo.clusterId)\n ];\n } else {\n throw new Error(\"Missing required configuration in shard parameters\");\n }\n};\nconst pubsubTopicToSingleShardInfo = (pubsubTopics)=>{\n const parts = pubsubTopics.split(\"/\");\n if (parts.length != 6 || parts[1] !== \"waku\" || parts[2] !== \"2\" || parts[3] !== \"rs\") throw new Error(\"Invalid pubsub topic\");\n const clusterId = parseInt(parts[4]);\n const shard = parseInt(parts[5]);\n if (isNaN(clusterId) || isNaN(shard)) throw new Error(\"Invalid clusterId or shard\");\n return {\n clusterId,\n shard\n };\n};\n//TODO: move part of BaseProtocol instead of utils\n// return `ProtocolError.TOPIC_NOT_CONFIGURED` instead of throwing\nfunction ensurePubsubTopicIsConfigured(pubsubTopic, configuredTopics) {\n if (!configuredTopics.includes(pubsubTopic)) {\n throw new Error(`Pubsub topic ${pubsubTopic} has not been configured on this instance. Configured topics are: ${configuredTopics}. Please update your configuration by passing in the topic during Waku node instantiation.`);\n }\n}\n/**\n * Given a string, will throw an error if it is not formatted as a valid content topic for autosharding based on https://rfc.vac.dev/spec/51/\n * @param contentTopic String to validate\n * @returns Object with each content topic field as an attribute\n */ function ensureValidContentTopic(contentTopic) {\n const parts = contentTopic.split(\"/\");\n if (parts.length < 5 || parts.length > 6) {\n throw Error(\"Content topic format is invalid\");\n }\n // Validate generation field if present\n let generation = 0;\n if (parts.length == 6) {\n generation = parseInt(parts[1]);\n if (isNaN(generation)) {\n throw new Error(\"Invalid generation field in content topic\");\n }\n if (generation > 0) {\n throw new Error(\"Generation greater than 0 is not supported\");\n }\n }\n // Validate remaining fields\n const fields = parts.splice(-4);\n // Validate application field\n if (fields[0].length == 0) {\n throw new Error(\"Application field cannot be empty\");\n }\n // Validate version field\n if (fields[1].length == 0) {\n throw new Error(\"Version field cannot be empty\");\n }\n // Validate topic name field\n if (fields[2].length == 0) {\n throw new Error(\"Topic name field cannot be empty\");\n }\n // Validate encoding field\n if (fields[3].length == 0) {\n throw new Error(\"Encoding field cannot be empty\");\n }\n return {\n generation,\n application: fields[0],\n version: fields[1],\n topicName: fields[2],\n encoding: fields[3]\n };\n}\n/**\n * Given a string, determines which autoshard index to use for its pubsub topic.\n * Based on the algorithm described in the RFC: https://rfc.vac.dev/spec/51//#algorithm\n */ function contentTopicToShardIndex(contentTopic, networkShards = 8) {\n const { application, version } = ensureValidContentTopic(contentTopic);\n const digest = (0,_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_2__.sha256)((0,_bytes_index_js__WEBPACK_IMPORTED_MODULE_1__.concat)([\n (0,_bytes_index_js__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)(application),\n (0,_bytes_index_js__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)(version)\n ]));\n const dataview = new DataView(digest.buffer.slice(-8));\n return Number(dataview.getBigUint64(0, false) % BigInt(networkShards));\n}\nfunction contentTopicToPubsubTopic(contentTopic, clusterId = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID, networkShards = 8) {\n const shardIndex = contentTopicToShardIndex(contentTopic, networkShards);\n return `/waku/2/rs/${clusterId}/${shardIndex}`;\n}\n/**\n * Given an array of content topics, groups them together by their Pubsub topic as derived using the algorithm for autosharding.\n * If any of the content topics are not properly formatted, the function will throw an error.\n */ function contentTopicsByPubsubTopic(contentTopics, clusterId = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID, networkShards = 8) {\n const groupedContentTopics = new Map();\n for (const contentTopic of contentTopics){\n const pubsubTopic = contentTopicToPubsubTopic(contentTopic, clusterId, networkShards);\n let topics = groupedContentTopics.get(pubsubTopic);\n if (!topics) {\n groupedContentTopics.set(pubsubTopic, []);\n topics = groupedContentTopics.get(pubsubTopic);\n }\n topics.push(contentTopic);\n }\n return groupedContentTopics;\n}\n/**\n * Used when creating encoders/decoders to determine which pubsub topic to use\n */ function determinePubsubTopic(contentTopic, pubsubTopicShardInfo = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DefaultPubsubTopic) {\n if (typeof pubsubTopicShardInfo == \"string\") {\n return pubsubTopicShardInfo;\n } else {\n return pubsubTopicShardInfo ? pubsubTopicShardInfo.shard ? singleShardInfoToPubsubTopic(pubsubTopicShardInfo) : contentTopicToPubsubTopic(contentTopic, pubsubTopicShardInfo.clusterId) : _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DefaultPubsubTopic;\n }\n}\n/**\n * Validates sharding configuration and sets defaults where possible.\n * @returns Validated sharding parameters, with any missing values set to defaults\n */ const ensureShardingConfigured = (shardInfo)=>{\n const clusterId = shardInfo.clusterId ?? _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID;\n const shards = \"shards\" in shardInfo ? shardInfo.shards : [];\n const contentTopics = \"contentTopics\" in shardInfo ? shardInfo.contentTopics : [];\n const [application, version] = \"application\" in shardInfo && \"version\" in shardInfo ? [\n shardInfo.application,\n shardInfo.version\n ] : [\n undefined,\n undefined\n ];\n const isShardsConfigured = shards && shards.length > 0;\n const isContentTopicsConfigured = contentTopics && contentTopics.length > 0;\n const isApplicationVersionConfigured = application && version;\n if (isShardsConfigured) {\n return {\n shardingParams: {\n clusterId,\n shards\n },\n shardInfo: {\n clusterId,\n shards\n },\n pubsubTopics: shardInfoToPubsubTopics({\n clusterId,\n shards\n })\n };\n }\n if (isContentTopicsConfigured) {\n const pubsubTopics = Array.from(new Set(contentTopics.map((topic)=>contentTopicToPubsubTopic(topic, clusterId))));\n const shards = Array.from(new Set(contentTopics.map((topic)=>contentTopicToShardIndex(topic))));\n return {\n shardingParams: {\n clusterId,\n contentTopics\n },\n shardInfo: {\n clusterId,\n shards\n },\n pubsubTopics\n };\n }\n if (isApplicationVersionConfigured) {\n const pubsubTopic = contentTopicToPubsubTopic(`/${application}/${version}/default/default`, clusterId);\n return {\n shardingParams: {\n clusterId,\n application,\n version\n },\n shardInfo: {\n clusterId,\n shards: [\n pubsubTopicToSingleShardInfo(pubsubTopic).shard\n ]\n },\n pubsubTopics: [\n pubsubTopic\n ]\n };\n }\n throw new Error(\"Missing minimum required configuration options for static sharding or autosharding.\");\n}; //# sourceMappingURL=sharding.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vc2hhcmRpbmcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBOEM7QUFDNEI7QUFDbEI7QUFDakQsTUFBTUssK0JBQStCLENBQUNDO0lBQ3pDLElBQUlBLFVBQVVDLFNBQVMsS0FBS0MsYUFBYUYsVUFBVUcsS0FBSyxLQUFLRCxXQUN6RCxNQUFNLElBQUlFLE1BQU07SUFDcEIsT0FBTyxDQUFDLFdBQVcsRUFBRUosVUFBVUMsU0FBUyxDQUFDLENBQUMsRUFBRUQsVUFBVUcsS0FBSyxDQUFDLENBQUM7QUFDakUsRUFBRTtBQUNLLE1BQU1FLDhCQUE4QixDQUFDQztJQUN4QyxJQUFJQSxpQkFBaUJDLE1BQU0sS0FBSyxHQUM1QixNQUFNLElBQUlILE1BQU07SUFDcEIsTUFBTUksYUFBYUYsaUJBQWlCRyxHQUFHLENBQUMsQ0FBQ1QsWUFBY0EsVUFBVUMsU0FBUztJQUMxRSxJQUFJLElBQUlTLElBQUlGLFlBQVlHLElBQUksS0FBSyxHQUFHO1FBQ2hDLE1BQU0sSUFBSVAsTUFBTTtJQUNwQjtJQUNBLE1BQU1RLFNBQVNOLGlCQUNWRyxHQUFHLENBQUMsQ0FBQ1QsWUFBY0EsVUFBVUcsS0FBSyxFQUNsQ1UsTUFBTSxDQUFDLENBQUNWLFFBQVVBLFVBQVVEO0lBQ2pDLE9BQU87UUFDSEQsV0FBV0ssZ0JBQWdCLENBQUMsRUFBRSxDQUFDTCxTQUFTO1FBQ3hDVztJQUNKO0FBQ0osRUFBRTtBQUNLLE1BQU1FLDBCQUEwQixDQUFDZDtJQUNwQyxJQUFJLG1CQUFtQkEsYUFBYUEsVUFBVWUsYUFBYSxFQUFFO1FBQ3pELGtEQUFrRDtRQUNsRCxPQUFPQyxNQUFNQyxJQUFJLENBQUMsSUFBSVAsSUFBSVYsVUFBVWUsYUFBYSxDQUFDTixHQUFHLENBQUMsQ0FBQ1MsZUFBaUJDLDBCQUEwQkQsY0FBY2xCLFVBQVVDLFNBQVM7SUFDdkksT0FD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LENBQUMsSUFBSVAsSUFBSUssY0FBY04sR0FBRyxDQUFDLENBQUN1RCxRQUFVN0MsMEJBQTBCNkMsT0FBTy9EO1FBQ3RHLE1BQU1XLFNBQVNJLE1BQU1DLElBQUksQ0FBQyxJQUFJUCxJQUFJSyxjQUFjTixHQUFHLENBQUMsQ0FBQ3VELFFBQVV6Qix5QkFBeUJ5QjtRQUN4RixPQUFPO1lBQ0hELGdCQUFnQjtnQkFBRTlEO2dCQUFXYztZQUFjO1lBQzNDZixXQUFXO2dCQUFFQztnQkFBV1c7WUFBTztZQUMvQlk7UUFDSjtJQUNKO0lBQ0EsSUFBSXNDLGdDQUFnQztRQUNoQyxNQUFNaEMsY0FBY1gsMEJBQTBCLENBQUMsQ0FBQyxFQUFFRSxZQUFZLENBQUMsRUFBRUMsUUFBUSxnQkFBZ0IsQ0FBQyxFQUFFckI7UUFDNUYsT0FBTztZQUNIOEQsZ0JBQWdCO2dCQUFFOUQ7Z0JBQVdvQjtnQkFBYUM7WUFBUTtZQUNsRHRCLFdBQVc7Z0JBQ1BDO2dCQUNBVyxRQUFRO29CQUFDVyw2QkFBNkJPLGFBQWEzQixLQUFLO2lCQUFDO1lBQzdEO1lBQ0FxQixjQUFjO2dCQUFDTTthQUFZO1FBQy9CO0lBQ0o7SUFDQSxNQUFNLElBQUkxQixNQUFNO0FBQ3BCLEVBQUUsQ0FDRixvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9zaGFyZGluZy5qcz84NTIxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYTI1NiB9IGZyb20gXCJAbm9ibGUvaGFzaGVzL3NoYTI1NlwiO1xuaW1wb3J0IHsgREVGQVVMVF9DTFVTVEVSX0lELCBEZWZhdWx0UHVic3ViVG9waWMgfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgY29uY2F0LCB1dGY4VG9CeXRlcyB9IGZyb20gXCIuLi9ieXRlcy9pbmRleC5qc1wiO1xuZXhwb3J0IGNvbnN0IHNpbmdsZVNoYXJkSW5mb1RvUHVic3ViVG9waWMgPSAoc2hhcmRJbmZvKSA9PiB7XG4gICAgaWYgKHNoYXJkSW5mby5jbHVzdGVySWQgPT09IHVuZGVmaW5lZCB8fCBzaGFyZEluZm8uc2hhcmQgPT09IHVuZGVmaW5lZClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzaGFyZFwiKTtcbiAgICByZXR1cm4gYC93YWt1LzIvcnMvJHtzaGFyZEluZm8uY2x1c3RlcklkfS8ke3NoYXJkSW5mby5zaGFyZH1gO1xufTtcbmV4cG9ydCBjb25zdCBzaW5nbGVTaGFyZEluZm9zVG9TaGFyZEluZm8gPSAoc2luZ2xlU2hhcmRJbmZvcykgPT4ge1xuICAgIGlmIChzaW5nbGVTaGFyZEluZm9zLmxlbmd0aCA9PT0gMClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzaGFyZFwiKTtcbiAgICBjb25zdCBjbHVzdGVySWRzID0gc2luZ2xlU2hhcmRJbmZvcy5tYXAoKHNoYXJkSW5mbykgPT4gc2hhcmRJbmZvLmNsdXN0ZXJJZCk7XG4gICAgaWYgKG5ldyBTZXQoY2x1c3Rlcklkcykuc2l6ZSAhPT0gMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXNzZWQgc2hhcmQgaW5mb3MgaGF2ZSBkaWZmZXJlbnQgY2x1c3Rlcklkc1wiKTtcbiAgICB9XG4gICAgY29uc3Qgc2hhcmRzID0gc2luZ2xlU2hhcmRJbmZvc1xuICAgICAgICAubWFwKChzaGFyZEluZm8pID0+IHNoYXJkSW5mby5zaGFyZClcbiAgICAgICAgLmZpbHRlcigoc2hhcmQpID0+IHNoYXJkICE9PSB1bmRlZmluZWQpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGNsdXN0ZXJJZDogc2luZ2xlU2hhcmRJbmZvc1swXS5jbHVzdGVySWQsXG4gICAgICAgIHNoYXJkc1xuICAgIH07XG59O1xuZXhwb3J0IGNvbnN0IHNoYXJkSW5mb1RvUHVic3ViVG9waWNzID0gKHNoYXJkSW5mbykgPT4ge1xuICAgIGlmIChcImNvbnRlbnRUb3BpY3NcIiBpbiBzaGFyZEluZm8gJiYgc2hhcmRJbmZvLmNvbnRlbnRUb3BpY3MpIHtcbiAgICAgICAgLy8gQXV0b3NoYXJkaW5nOiBleHBsaWNpdGx5IGRlZmluZWQgY29udGVudCB0b3BpY3NcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldChzaGFyZEluZm8uY29udGVudFRvcGljcy5tYXAoKGNvbnRlbnRUb3BpYykgPT4gY29udGVudFRvcGljVG9QdWJzdWJUb3BpYyhjb250ZW50VG9waWMsIHNoYXJkSW5mby5jbHVzdGVySWQpKSkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChcInNoYXJkc1wiIGluIHNoYXJkSW5mbykge1xuICAgICAgICAvLyBTdGF0aWMgc2hhcmRpbmdcbiAgICAgICAgaWYgKHNoYXJkSW5mby5zaGFyZHMgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgc2hhcmRcIik7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoc2hhcmRJbmZvLnNoYXJkcy5tYXAoKGluZGV4KSA9PiBgL3dha3UvMi9ycy8ke3NoYXJkSW5mby5jbHVzdGVySWQgPz8gREVGQVVMVF9DTFVTVEVSX0lEfS8ke2luZGV4fWApKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKFwiYXBwbGljYXRpb25cIiBpbiBzaGFyZEluZm8gJiYgXCJ2ZXJzaW9uXCIgaW4gc2hhcmRJbmZvKSB7XG4gICAgICAgIC8vIEF1dG9zaGFyZGluZzogc2luZ2xlIHNoYXJkIGZyb20gYXBwbGljYXRpb24gYW5kIHZlcnNpb25cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGNvbnRlbnRUb3BpY1RvUHVic3ViVG9waWMoYC8ke3NoYXJkSW5mby5hcHBsaWNhdGlvbn0vJHtzaGFyZEluZm8udmVyc2lvbn0vZGVmYXVsdC9kZWZhdWx0YCwgc2hhcmRJbmZvLmNsdXN0ZXJJZClcbiAgICAgICAgXTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgcmVxdWlyZWQgY29uZmlndXJhdGlvbiBpbiBzaGFyZCBwYXJhbWV0ZXJzXCIpO1xuICAgIH1cbn07XG5leHBvcnQgY29uc3QgcHVic3ViVG9waWNUb1NpbmdsZVNoYXJkSW5mbyA9IChwdWJzdWJUb3BpY3MpID0+IHtcbiAgICBjb25zdCBwYXJ0cyA9IHB1YnN1YlRvcGljcy5zcGxpdChcIi9cIik7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCAhPSA2IHx8XG4gICAgICAgIHBhcnRzWzFdICE9PSBcIndha3VcIiB8fFxuICAgICAgICBwYXJ0c1syXSAhPT0gXCIyXCIgfHxcbiAgICAgICAgcGFydHNbM10gIT09IFwicnNcIilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBwdWJzdWIgdG9waWNcIik7XG4gICAgY29uc3QgY2x1c3RlcklkID0gcGFyc2VJbnQocGFydHNbNF0pO1xuICAgIGNvbnN0IHNoYXJkID0gcGFyc2VJbnQocGFydHNbNV0pO1xuICAgIGlmIChpc05hTihjbHVzdGVySWQpIHx8IGlzTmFOKHNoYXJkKSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjbHVzdGVySWQgb3Igc2hhcmRcIik7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY2x1c3RlcklkLFxuICAgICAgICBzaGFyZFxuICAgIH07XG59O1xuLy9UT0RPOiBtb3ZlIHBhcnQgb2YgQmFzZVByb3RvY29sIGluc3RlYWQgb2YgdXRpbHNcbi8vIHJldHVybiBgUHJvdG9jb2xFcnJvci5UT1BJQ19OT1RfQ09ORklHVVJFRGAgaW5zdGVhZCBvZiB0aHJvd2luZ1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVB1YnN1YlRvcGljSXNDb25maWd1cmVkKHB1YnN1YlRvcGljLCBjb25maWd1cmVkVG9waWNzKSB7XG4gICAgaWYgKCFjb25maWd1cmVkVG9waWNzLmluY2x1ZGVzKHB1YnN1YlRvcGljKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFB1YnN1YiB0b3BpYyAke3B1YnN1YlRvcGljfSBoYXMgbm90IGJlZW4gY29uZmlndXJlZCBvbiB0aGlzIGluc3RhbmNlLiBDb25maWd1cmVkIHRvcGljcyBhcmU6ICR7Y29uZmlndXJlZFRvcGljc30uIFBsZWFzZSB1cGRhdGUgeW91ciBjb25maWd1cmF0aW9uIGJ5IHBhc3NpbmcgaW4gdGhlIHRvcGljIGR1cmluZyBXYWt1IG5vZGUgaW5zdGFudGlhdGlvbi5gKTtcbiAgICB9XG59XG4vKipcbiAqIEdpdmVuIGEgc3RyaW5nLCB3aWxsIHRocm93IGFuIGVycm9yIGlmIGl0IGlzIG5vdCBmb3JtYXR0ZWQgYXMgYSB2YWxpZCBjb250ZW50IHRvcGljIGZvciBhdXRvc2hhcmRpbmcgYmFzZWQgb24gaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzUxL1xuICogQHBhcmFtIGNvbnRlbnRUb3BpYyBTdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIE9iamVjdCB3aXRoIGVhY2ggY29udGVudCB0b3BpYyBmaWVsZCBhcyBhbiBhdHRyaWJ1dGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVZhbGlkQ29udGVudFRvcGljKGNvbnRlbnRUb3BpYykge1xuICAgIGNvbnN0IHBhcnRzID0gY29udGVudFRvcGljLnNwbGl0KFwiL1wiKTtcbiAgICBpZiAocGFydHMubGVuZ3RoIDwgNSB8fCBwYXJ0cy5sZW5ndGggPiA2KSB7XG4gICAgICAgIHRocm93IEVycm9yKFwiQ29udGVudCB0b3BpYyBmb3JtYXQgaXMgaW52YWxpZFwiKTtcbiAgICB9XG4gICAgLy8gVmFsaWRhdGUgZ2VuZXJhdGlvbiBmaWVsZCBpZiBwcmVzZW50XG4gICAgbGV0IGdlbmVyYXRpb24gPSAwO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggPT0gNikge1xuICAgICAgICBnZW5lcmF0aW9uID0gcGFyc2VJbnQocGFydHNbMV0pO1xuICAgICAgICBpZiAoaXNOYU4oZ2VuZXJhdGlvbikpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZ2VuZXJhdGlvbiBmaWVsZCBpbiBjb250ZW50IHRvcGljXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChnZW5lcmF0aW9uID4gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2VuZXJhdGlvbiBncmVhdGVyIHRoYW4gMCBpcyBub3Qgc3VwcG9ydGVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIHJlbWFpbmluZyBmaWVsZHNcbiAgICBjb25zdCBmaWVsZHMgPSBwYXJ0cy5zcGxpY2UoLTQpO1xuICAgIC8vIFZhbGlkYXRlIGFwcGxpY2F0aW9uIGZpZWxkXG4gICAgaWYgKGZpZWxkc1swXS5sZW5ndGggPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcHBsaWNhdGlvbiBmaWVsZCBjYW5ub3QgYmUgZW1wdHlcIik7XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIHZlcnNpb24gZmllbGRcbiAgICBpZiAoZmllbGRzWzFdLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlZlcnNpb24gZmllbGQgY2Fubm90IGJlIGVtcHR5XCIpO1xuICAgIH1cbiAgICAvLyBWYWxpZGF0ZSB0b3BpYyBuYW1lIGZpZWxkXG4gICAgaWYgKGZpZWxkc1syXS5sZW5ndGggPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUb3BpYyBuYW1lIGZpZWxkIGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgICB9XG4gICAgLy8gVmFsaWRhdGUgZW5jb2RpbmcgZmllbGRcbiAgICBpZiAoZmllbGRzWzNdLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVuY29kaW5nIGZpZWxkIGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ2VuZXJhdGlvbixcbiAgICAgICAgYXBwbGljYXRpb246IGZpZWxkc1swXSxcbiAgICAgICAgdmVyc2lvbjogZmllbGRzWzFdLFxuICAgICAgICB0b3BpY05hbWU6IGZpZWxkc1syXSxcbiAgICAgICAgZW5jb2Rpbmc6IGZpZWxkc1szXVxuICAgIH07XG59XG4vKipcbiAqIEdpdmVuIGEgc3RyaW5nLCBkZXRlcm1pbmVzIHdoaWNoIGF1dG9zaGFyZCBpbmRleCB0byB1c2UgZm9yIGl0cyBwdWJzdWIgdG9waWMuXG4gKiBCYXNlZCBvbiB0aGUgYWxnb3JpdGhtIGRlc2NyaWJlZCBpbiB0aGUgUkZDOiBodHRwczovL3JmYy52YWMuZGV2L3NwZWMvNTEvLyNhbGdvcml0aG1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRUb3BpY1RvU2hhcmRJbmRleChjb250ZW50VG9waWMsIG5ldHdvcmtTaGFyZHMgPSA4KSB7XG4gICAgY29uc3QgeyBhcHBsaWNhdGlvbiwgdmVyc2lvbiB9ID0gZW5zdXJlVmFsaWRDb250ZW50VG9waWMoY29udGVudFRvcGljKTtcbiAgICBjb25zdCBkaWdlc3QgPSBzaGEyNTYoY29uY2F0KFt1dGY4VG9CeXRlcyhhcHBsaWNhdGlvbiksIHV0ZjhUb0J5dGVzKHZlcnNpb24pXSkpO1xuICAgIGNvbnN0IGRhdGF2aWV3ID0gbmV3IERhdGFWaWV3KGRpZ2VzdC5idWZmZXIuc2xpY2UoLTgpKTtcbiAgICByZXR1cm4gTnVtYmVyKGRhdGF2aWV3LmdldEJpZ1VpbnQ2NCgwLCBmYWxzZSkgJSBCaWdJbnQobmV0d29ya1NoYXJkcykpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRUb3BpY1RvUHVic3ViVG9waWMoY29udGVudFRvcGljLCBjbHVzdGVySWQgPSBERUZBVUxUX0NMVVNURVJfSUQsIG5ldHdvcmtTaGFyZHMgPSA4KSB7XG4gICAgY29uc3Qgc2hhcmRJbmRleCA9IGNvbnRlbnRUb3BpY1RvU2hhcmRJbmRleChjb250ZW50VG9waWMsIG5ldHdvcmtTaGFyZHMpO1xuICAgIHJldHVybiBgL3dha3UvMi9ycy8ke2NsdXN0ZXJJZH0vJHtzaGFyZEluZGV4fWA7XG59XG4vKipcbiAqIEdpdmVuIGFuIGFycmF5IG9mIGNvbnRlbnQgdG9waWNzLCBncm91cHMgdGhlbSB0b2dldGhlciBieSB0aGVpciBQdWJzdWIgdG9waWMgYXMgZGVyaXZlZCB1c2luZyB0aGUgYWxnb3JpdGhtIGZvciBhdXRvc2hhcmRpbmcuXG4gKiBJZiBhbnkgb2YgdGhlIGNvbnRlbnQgdG9waWNzIGFyZSBub3QgcHJvcGVybHkgZm9ybWF0dGVkLCB0aGUgZnVuY3Rpb24gd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRUb3BpY3NCeVB1YnN1YlRvcGljKGNvbnRlbnRUb3BpY3MsIGNsdXN0ZXJJZCA9IERFRkFVTFRfQ0xVU1RFUl9JRCwgbmV0d29ya1NoYXJkcyA9IDgpIHtcbiAgICBjb25zdCBncm91cGVkQ29udGVudFRvcGljcyA9IG5ldyBNYXAoKTtcbiAgICBmb3IgKGNvbnN0IGNvbnRlbnRUb3BpYyBvZiBjb250ZW50VG9waWNzKSB7XG4gICAgICAgIGNvbnN0IHB1YnN1YlRvcGljID0gY29udGVudFRvcGljVG9QdWJzdWJUb3BpYyhjb250ZW50VG9waWMsIGNsdXN0ZXJJZCwgbmV0d29ya1NoYXJkcyk7XG4gICAgICAgIGxldCB0b3BpY3MgPSBncm91cGVkQ29udGVudFRvcGljcy5nZXQocHVic3ViVG9waWMpO1xuICAgICAgICBpZiAoIXRvcGljcykge1xuICAgICAgICAgICAgZ3JvdXBlZENvbnRlbnRUb3BpY3Muc2V0KHB1YnN1YlRvcGljLCBbXSk7XG4gICAgICAgICAgICB0b3BpY3MgPSBncm91cGVkQ29udGVudFRvcGljcy5nZXQocHVic3ViVG9waWMpO1xuICAgICAgICB9XG4gICAgICAgIHRvcGljcy5wdXNoKGNvbnRlbnRUb3BpYyk7XG4gICAgfVxuICAgIHJldHVybiBncm91cGVkQ29udGVudFRvcGljcztcbn1cbi8qKlxuICogVXNlZCB3aGVuIGNyZWF0aW5nIGVuY29kZXJzL2RlY29kZXJzIHRvIGRldGVybWluZSB3aGljaCBwdWJzdWIgdG9waWMgdG8gdXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRlcm1pbmVQdWJzdWJUb3BpYyhjb250ZW50VG9waWMsIHB1YnN1YlRvcGljU2hhcmRJbmZvID0gRGVmYXVsdFB1YnN1YlRvcGljKSB7XG4gICAgaWYgKHR5cGVvZiBwdWJzdWJUb3BpY1NoYXJkSW5mbyA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBwdWJzdWJUb3BpY1NoYXJkSW5mbztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBwdWJzdWJUb3BpY1NoYXJkSW5mb1xuICAgICAgICAgICAgPyBwdWJzdWJUb3BpY1NoYXJkSW5mby5zaGFyZFxuICAgICAgICAgICAgICAgID8gc2luZ2xlU2hhcmRJbmZvVG9QdWJzdWJUb3BpYyhwdWJzdWJUb3BpY1NoYXJkSW5mbylcbiAgICAgICAgICAgICAgICA6IGNvbnRlbnRUb3BpY1RvUHVic3ViVG9waWMoY29udGVudFRvcGljLCBwdWJzdWJUb3BpY1NoYXJkSW5mby5jbHVzdGVySWQpXG4gICAgICAgICAgICA6IERlZmF1bHRQdWJzdWJUb3BpYztcbiAgICB9XG59XG4vKipcbiAqIFZhbGlkYXRlcyBzaGFyZGluZyBjb25maWd1cmF0aW9uIGFuZCBzZXRzIGRlZmF1bHRzIHdoZXJlIHBvc3NpYmxlLlxuICogQHJldHVybnMgVmFsaWRhdGVkIHNoYXJkaW5nIHBhcmFtZXRlcnMsIHdpdGggYW55IG1pc3NpbmcgdmFsdWVzIHNldCB0byBkZWZhdWx0c1xuICovXG5leHBvcnQgY29uc3QgZW5zdXJlU2hhcmRpbmdDb25maWd1cmVkID0gKHNoYXJkSW5mbykgPT4ge1xuICAgIGNvbnN0IGNsdXN0ZXJJZCA9IHNoYXJkSW5mby5jbHVzdGVySWQgPz8gREVGQVVMVF9DTFVTVEVSX0lEO1xuICAgIGNvbnN0IHNoYXJkcyA9IFwic2hhcmRzXCIgaW4gc2hhcmRJbmZvID8gc2hhcmRJbmZvLnNoYXJkcyA6IFtdO1xuICAgIGNvbnN0IGNvbnRlbnRUb3BpY3MgPSBcImNvbnRlbnRUb3BpY3NcIiBpbiBzaGFyZEluZm8gPyBzaGFyZEluZm8uY29udGVudFRvcGljcyA6IFtdO1xuICAgIGNvbnN0IFthcHBsaWNhdGlvbiwgdmVyc2lvbl0gPSBcImFwcGxpY2F0aW9uXCIgaW4gc2hhcmRJbmZvICYmIFwidmVyc2lvblwiIGluIHNoYXJkSW5mb1xuICAgICAgICA/IFtzaGFyZEluZm8uYXBwbGljYXRpb24sIHNoYXJkSW5mby52ZXJzaW9uXVxuICAgICAgICA6IFt1bmRlZmluZWQsIHVuZGVmaW5lZF07XG4gICAgY29uc3QgaXNTaGFyZHNDb25maWd1cmVkID0gc2hhcmRzICYmIHNoYXJkcy5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGlzQ29udGVudFRvcGljc0NvbmZpZ3VyZWQgPSBjb250ZW50VG9waWNzICYmIGNvbnRlbnRUb3BpY3MubGVuZ3RoID4gMDtcbiAgICBjb25zdCBpc0FwcGxpY2F0aW9uVmVyc2lvbkNvbmZpZ3VyZWQgPSBhcHBsaWNhdGlvbiAmJiB2ZXJzaW9uO1xuICAgIGlmIChpc1NoYXJkc0NvbmZpZ3VyZWQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNoYXJkaW5nUGFyYW1zOiB7IGNsdXN0ZXJJZCwgc2hhcmRzIH0sXG4gICAgICAgICAgICBzaGFyZEluZm86IHsgY2x1c3RlcklkLCBzaGFyZHMgfSxcbiAgICAgICAgICAgIHB1YnN1YlRvcGljczogc2hhcmRJbmZvVG9QdWJzdWJUb3BpY3MoeyBjbHVzdGVySWQsIHNoYXJkcyB9KVxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoaXNDb250ZW50VG9waWNzQ29uZmlndXJlZCkge1xuICAgICAgICBjb25zdCBwdWJzdWJUb3BpY3MgPSBBcnJheS5mcm9tKG5ldyBTZXQoY29udGVudFRvcGljcy5tYXAoKHRvcGljKSA9PiBjb250ZW50VG9waWNUb1B1YnN1YlRvcGljKHRvcGljLCBjbHVzdGVySWQpKSkpO1xuICAgICAgICBjb25zdCBzaGFyZHMgPSBBcnJheS5mcm9tKG5ldyBTZXQoY29udGVudFRvcGljcy5tYXAoKHRvcGljKSA9PiBjb250ZW50VG9waWNUb1NoYXJkSW5kZXgodG9waWMpKSkpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2hhcmRpbmdQYXJhbXM6IHsgY2x1c3RlcklkLCBjb250ZW50VG9waWNzIH0sXG4gICAgICAgICAgICBzaGFyZEluZm86IHsgY2x1c3RlcklkLCBzaGFyZHMgfSxcbiAgICAgICAgICAgIHB1YnN1YlRvcGljc1xuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoaXNBcHBsaWNhdGlvblZlcnNpb25Db25maWd1cmVkKSB7XG4gICAgICAgIGNvbnN0IHB1YnN1YlRvcGljID0gY29udGVudFRvcGljVG9QdWJzdWJUb3BpYyhgLyR7YXBwbGljYXRpb259LyR7dmVyc2lvbn0vZGVmYXVsdC9kZWZhdWx0YCwgY2x1c3RlcklkKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNoYXJkaW5nUGFyYW1zOiB7IGNsdXN0ZXJJZCwgYXBwbGljYXRpb24sIHZlcnNpb24gfSxcbiAgICAgICAgICAgIHNoYXJkSW5mbzoge1xuICAgICAgICAgICAgICAgIGNsdXN0ZXJJZCxcbiAgICAgICAgICAgICAgICBzaGFyZHM6IFtwdWJzdWJUb3BpY1RvU2luZ2xlU2hhcmRJbmZvKHB1YnN1YlRvcGljKS5zaGFyZF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwdWJzdWJUb3BpY3M6IFtwdWJzdWJUb3BpY11cbiAgICAgICAgfTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBtaW5pbXVtIHJlcXVpcmVkIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3Igc3RhdGljIHNoYXJkaW5nIG9yIGF1dG9zaGFyZGluZy5cIik7XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2hhcmRpbmcuanMubWFwIl0sIm5hbWVzIjpbInNoYTI1NiIsIkRFRkFVTFRfQ0xVU1RFUl9JRCIsIkRlZmF1bHRQdWJzdWJUb3BpYyIsImNvbmNhdCIsInV0ZjhUb0J5dGVzIiwic2luZ2xlU2hhcmRJbmZvVG9QdWJzdWJUb3BpYyIsInNoYXJkSW5mbyIsImNsdXN0ZXJJZCIsInVuZGVmaW5lZCIsInNoYXJkIiwiRXJyb3IiLCJzaW5nbGVTaGFyZEluZm9zVG9TaGFyZEluZm8iLCJzaW5nbGVTaGFyZEluZm9zIiwibGVuZ3RoIiwiY2x1c3RlcklkcyIsIm1hcCIsIlNldCIsInNpemUiLCJzaGFyZHMiLCJmaWx0ZXIiLCJzaGFyZEluZm9Ub1B1YnN1YlRvcGljcyIsImNvbnRlbnRUb3BpY3MiLCJBcnJheSIsImZyb20iLCJjb250ZW50VG9waWMiLCJjb250ZW50VG9waWNUb1B1YnN1YlRvcGljIiwiaW5kZXgiLCJhcHBsaWNhdGlvbiIsInZlcnNpb24iLCJwdWJzdWJUb3BpY1RvU2luZ2xlU2hhcmRJbmZvIiwicHVic3ViVG9waWNzIiwicGFydHMiLCJzcGxpdCIsInBhcnNlSW50IiwiaXNOYU4iLCJlbnN1cmVQdWJzdWJUb3BpY0lzQ29uZmlndXJlZCIsInB1YnN1YlRvcGljIiwiY29uZmlndXJlZFRvcGljcyIsImluY2x1ZGVzIiwiZW5zdXJlVmFsaWRDb250ZW50VG9waWMiLCJnZW5lcmF0aW9uIiwiZmllbGRzIiwic3BsaWNlIiwidG9waWNOYW1lIiwiZW5jb2RpbmciLCJjb250ZW50VG9waWNUb1NoYXJkSW5kZXgiLCJuZXR3b3JrU2hhcmRzIiwiZGlnZXN0IiwiZGF0YXZpZXciLCJEYXRhVmlldyIsImJ1ZmZlciIsInNsaWNlIiwiTnVtYmVyIiwiZ2V0QmlnVWludDY0IiwiQmlnSW50Iiwic2hhcmRJbmRleCIsImNvbnRlbnRUb3BpY3NCeVB1YnN1YlRvcGljIiwiZ3JvdXBlZENvbnRlbnRUb3BpY3MiLCJNYXAiLCJ0b3BpY3MiLCJnZXQiLCJzZXQiLCJwdXNoIiwiZGV0ZXJtaW5lUHVic3ViVG9waWMiLCJwdWJzdWJUb3BpY1NoYXJkSW5mbyIsImVuc3VyZVNoYXJkaW5nQ29uZmlndXJlZCIsImlzU2hhcmRzQ29uZmlndXJlZCIsImlzQ29udGVudFRvcGljc0NvbmZpZ3VyZWQiLCJpc0FwcGxpY2F0aW9uVmVyc2lvbkNvbmZpZ3VyZWQiLCJzaGFyZGluZ1BhcmFtcyIsInRvcGljIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/sharding.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/to_async_iterator.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/common/to_async_iterator.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toAsyncIterator: () => (/* binding */ toAsyncIterator)\n/* harmony export */ });\nconst FRAME_RATE = 60;\n/**\n * Function that transforms IReceiver subscription to iterable stream of data.\n * @param receiver - object that allows to be subscribed to;\n * @param decoder - parameter to be passed to receiver for subscription;\n * @param options - options for receiver for subscription;\n * @param iteratorOptions - optional configuration for iterator;\n * @returns iterator and stop function to terminate it.\n */ async function toAsyncIterator(receiver, decoder, iteratorOptions) {\n const iteratorDelay = iteratorOptions?.iteratorDelay ?? FRAME_RATE;\n const messages = [];\n let unsubscribe;\n unsubscribe = await receiver.subscribe(decoder, (message)=>{\n messages.push(message);\n });\n const isWithTimeout = Number.isInteger(iteratorOptions?.timeoutMs);\n const timeoutMs = iteratorOptions?.timeoutMs ?? 0;\n const startTime = Date.now();\n async function* iterator() {\n while(true){\n if (isWithTimeout && Date.now() - startTime >= timeoutMs) {\n return;\n }\n await wait(iteratorDelay);\n const message = messages.shift();\n if (!unsubscribe && messages.length === 0) {\n return message;\n }\n if (!message && unsubscribe) {\n continue;\n }\n yield message;\n }\n }\n return {\n iterator: iterator(),\n async stop () {\n if (unsubscribe) {\n await unsubscribe();\n unsubscribe = undefined;\n }\n }\n };\n}\nfunction wait(ms) {\n return new Promise((resolve)=>{\n setTimeout(resolve, ms);\n });\n} //# sourceMappingURL=to_async_iterator.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vdG9fYXN5bmNfaXRlcmF0b3IuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU1BLGFBQWE7QUFDbkI7Ozs7Ozs7Q0FPQyxHQUNNLGVBQWVDLGdCQUFnQkMsUUFBUSxFQUFFQyxPQUFPLEVBQUVDLGVBQWU7SUFDcEUsTUFBTUMsZ0JBQWdCRCxpQkFBaUJDLGlCQUFpQkw7SUFDeEQsTUFBTU0sV0FBVyxFQUFFO0lBQ25CLElBQUlDO0lBQ0pBLGNBQWMsTUFBTUwsU0FBU00sU0FBUyxDQUFDTCxTQUFTLENBQUNNO1FBQzdDSCxTQUFTSSxJQUFJLENBQUNEO0lBQ2xCO0lBQ0EsTUFBTUUsZ0JBQWdCQyxPQUFPQyxTQUFTLENBQUNULGlCQUFpQlU7SUFDeEQsTUFBTUEsWUFBWVYsaUJBQWlCVSxhQUFhO0lBQ2hELE1BQU1DLFlBQVlDLEtBQUtDLEdBQUc7SUFDMUIsZ0JBQWdCQztRQUNaLE1BQU8sS0FBTTtZQUNULElBQUlQLGlCQUFpQkssS0FBS0MsR0FBRyxLQUFLRixhQUFhRCxXQUFXO2dCQUN0RDtZQUNKO1lBQ0EsTUFBTUssS0FBS2Q7WUFDWCxNQUFNSSxVQUFVSCxTQUFTYyxLQUFLO1lBQzlCLElBQUksQ0FBQ2IsZUFBZUQsU0FBU2UsTUFBTSxLQUFLLEdBQUc7Z0JBQ3ZDLE9BQU9aO1lBQ1g7WUFDQSxJQUFJLENBQUNBLFdBQVdGLGFBQWE7Z0JBQ3pCO1lBQ0o7WUFDQSxNQUFNRTtRQUNWO0lBQ0o7SUFDQSxPQUFPO1FBQ0hTLFVBQVVBO1FBQ1YsTUFBTUk7WUFDRixJQUFJZixhQUFhO2dCQUNiLE1BQU1BO2dCQUNOQSxjQUFjZ0I7WUFDbEI7UUFDSjtJQUNKO0FBQ0o7QUFDQSxTQUFTSixLQUFLSyxFQUFFO0lBQ1osT0FBTyxJQUFJQyxRQUFRLENBQUNDO1FBQ2hCQyxXQUFXRCxTQUFTRjtJQUN4QjtBQUNKLEVBQ0EsNkNBQTZDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vdG9fYXN5bmNfaXRlcmF0b3IuanM/ODk4MCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBGUkFNRV9SQVRFID0gNjA7XG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgdHJhbnNmb3JtcyBJUmVjZWl2ZXIgc3Vic2NyaXB0aW9uIHRvIGl0ZXJhYmxlIHN0cmVhbSBvZiBkYXRhLlxuICogQHBhcmFtIHJlY2VpdmVyIC0gb2JqZWN0IHRoYXQgYWxsb3dzIHRvIGJlIHN1YnNjcmliZWQgdG87XG4gKiBAcGFyYW0gZGVjb2RlciAtIHBhcmFtZXRlciB0byBiZSBwYXNzZWQgdG8gcmVjZWl2ZXIgZm9yIHN1YnNjcmlwdGlvbjtcbiAqIEBwYXJhbSBvcHRpb25zIC0gb3B0aW9ucyBmb3IgcmVjZWl2ZXIgZm9yIHN1YnNjcmlwdGlvbjtcbiAqIEBwYXJhbSBpdGVyYXRvck9wdGlvbnMgLSBvcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciBpdGVyYXRvcjtcbiAqIEByZXR1cm5zIGl0ZXJhdG9yIGFuZCBzdG9wIGZ1bmN0aW9uIHRvIHRlcm1pbmF0ZSBpdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRvQXN5bmNJdGVyYXRvcihyZWNlaXZlciwgZGVjb2RlciwgaXRlcmF0b3JPcHRpb25zKSB7XG4gICAgY29uc3QgaXRlcmF0b3JEZWxheSA9IGl0ZXJhdG9yT3B0aW9ucz8uaXRlcmF0b3JEZWxheSA/PyBGUkFNRV9SQVRFO1xuICAgIGNvbnN0IG1lc3NhZ2VzID0gW107XG4gICAgbGV0IHVuc3Vic2NyaWJlO1xuICAgIHVuc3Vic2NyaWJlID0gYXdhaXQgcmVjZWl2ZXIuc3Vic2NyaWJlKGRlY29kZXIsIChtZXNzYWdlKSA9PiB7XG4gICAgICAgIG1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XG4gICAgfSk7XG4gICAgY29uc3QgaXNXaXRoVGltZW91dCA9IE51bWJlci5pc0ludGVnZXIoaXRlcmF0b3JPcHRpb25zPy50aW1lb3V0TXMpO1xuICAgIGNvbnN0IHRpbWVvdXRNcyA9IGl0ZXJhdG9yT3B0aW9ucz8udGltZW91dE1zID8/IDA7XG4gICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICBhc3luYyBmdW5jdGlvbiogaXRlcmF0b3IoKSB7XG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBpZiAoaXNXaXRoVGltZW91dCAmJiBEYXRlLm5vdygpIC0gc3RhcnRUaW1lID49IHRpbWVvdXRNcykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHdhaXQoaXRlcmF0b3JEZWxheSk7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gbWVzc2FnZXMuc2hpZnQoKTtcbiAgICAgICAgICAgIGlmICghdW5zdWJzY3JpYmUgJiYgbWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIW1lc3NhZ2UgJiYgdW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHlpZWxkIG1lc3NhZ2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaXRlcmF0b3I6IGl0ZXJhdG9yKCksXG4gICAgICAgIGFzeW5jIHN0b3AoKSB7XG4gICAgICAgICAgICBpZiAodW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB1bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHVuc3Vic2NyaWJlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn1cbmZ1bmN0aW9uIHdhaXQobXMpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgc2V0VGltZW91dChyZXNvbHZlLCBtcyk7XG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD10b19hc3luY19pdGVyYXRvci5qcy5tYXAiXSwibmFtZXMiOlsiRlJBTUVfUkFURSIsInRvQXN5bmNJdGVyYXRvciIsInJlY2VpdmVyIiwiZGVjb2RlciIsIml0ZXJhdG9yT3B0aW9ucyIsIml0ZXJhdG9yRGVsYXkiLCJtZXNzYWdlcyIsInVuc3Vic2NyaWJlIiwic3Vic2NyaWJlIiwibWVzc2FnZSIsInB1c2giLCJpc1dpdGhUaW1lb3V0IiwiTnVtYmVyIiwiaXNJbnRlZ2VyIiwidGltZW91dE1zIiwic3RhcnRUaW1lIiwiRGF0ZSIsIm5vdyIsIml0ZXJhdG9yIiwid2FpdCIsInNoaWZ0IiwibGVuZ3RoIiwic3RvcCIsInVuZGVmaW5lZCIsIm1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/to_async_iterator.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/index.js":
/*!************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/index.js ***!
\************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logger: () => (/* reexport safe */ _logger_index_js__WEBPACK_IMPORTED_MODULE_1__.Logger),\n/* harmony export */ contentTopicToPubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.contentTopicToPubsubTopic),\n/* harmony export */ contentTopicToShardIndex: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.contentTopicToShardIndex),\n/* harmony export */ contentTopicsByPubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.contentTopicsByPubsubTopic),\n/* harmony export */ decodeRelayShard: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.decodeRelayShard),\n/* harmony export */ determinePubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.determinePubsubTopic),\n/* harmony export */ encodeRelayShard: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.encodeRelayShard),\n/* harmony export */ ensurePubsubTopicIsConfigured: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.ensurePubsubTopicIsConfigured),\n/* harmony export */ ensureShardingConfigured: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.ensureShardingConfigured),\n/* harmony export */ ensureValidContentTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.ensureValidContentTopic),\n/* harmony export */ getPseudoRandomSubset: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.getPseudoRandomSubset),\n/* harmony export */ getWsMultiaddrFromMultiaddrs: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.getWsMultiaddrFromMultiaddrs),\n/* harmony export */ groupByContentTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.groupByContentTopic),\n/* harmony export */ isDefined: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.isDefined),\n/* harmony export */ isMessageSizeUnderCap: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.isMessageSizeUnderCap),\n/* harmony export */ isWireSizeUnderCap: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.isWireSizeUnderCap),\n/* harmony export */ pubsubTopicToSingleShardInfo: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.pubsubTopicToSingleShardInfo),\n/* harmony export */ pushOrInitMapSet: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.pushOrInitMapSet),\n/* harmony export */ removeItemFromArray: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.removeItemFromArray),\n/* harmony export */ shardInfoToPubsubTopics: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.shardInfoToPubsubTopics),\n/* harmony export */ singleShardInfoToPubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.singleShardInfoToPubsubTopic),\n/* harmony export */ singleShardInfosToShardInfo: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.singleShardInfosToShardInfo),\n/* harmony export */ toAsyncIterator: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.toAsyncIterator)\n/* harmony export */ });\n/* harmony import */ var _common_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common/index.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/common/index.js\");\n/* harmony import */ var _logger_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger/index.js */ \"(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/logger/index.js\");\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWtDO0FBQ1MsQ0FDM0MsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9pbmRleC5qcz84M2VhIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbW1vbi9pbmRleC5qc1wiO1xuZXhwb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyL2luZGV4LmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiTG9nZ2VyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/logger/index.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/core/node_modules/@waku/utils/dist/logger/index.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logger: () => (/* binding */ Logger)\n/* harmony export */ });\n/* harmony import */ var debug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! debug */ \"(ssr)/./node_modules/debug/src/index.js\");\n\nconst APP_NAME = \"waku\";\nclass Logger {\n static createDebugNamespace(level, prefix) {\n return prefix ? `${APP_NAME}:${level}:${prefix}` : `${APP_NAME}:${level}`;\n }\n constructor(prefix){\n this._info = debug__WEBPACK_IMPORTED_MODULE_0__(Logger.createDebugNamespace(\"info\", prefix));\n this._warn = debug__WEBPACK_IMPORTED_MODULE_0__(Logger.createDebugNamespace(\"warn\", prefix));\n this._error = debug__WEBPACK_IMPORTED_MODULE_0__(Logger.createDebugNamespace(\"error\", prefix));\n }\n get info() {\n return this._info;\n }\n get warn() {\n return this._warn;\n }\n get error() {\n return this._error;\n }\n log(level, ...args) {\n const logger = this[level];\n logger(...args);\n }\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9sb2dnZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBMEI7QUFDMUIsTUFBTUMsV0FBVztBQUNWLE1BQU1DO0lBSVQsT0FBT0MscUJBQXFCQyxLQUFLLEVBQUVDLE1BQU0sRUFBRTtRQUN2QyxPQUFPQSxTQUFTLENBQUMsRUFBRUosU0FBUyxDQUFDLEVBQUVHLE1BQU0sQ0FBQyxFQUFFQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUVKLFNBQVMsQ0FBQyxFQUFFRyxNQUFNLENBQUM7SUFDN0U7SUFDQUUsWUFBWUQsTUFBTSxDQUFFO1FBQ2hCLElBQUksQ0FBQ0UsS0FBSyxHQUFHUCxrQ0FBS0EsQ0FBQ0UsT0FBT0Msb0JBQW9CLENBQUMsUUFBUUU7UUFDdkQsSUFBSSxDQUFDRyxLQUFLLEdBQUdSLGtDQUFLQSxDQUFDRSxPQUFPQyxvQkFBb0IsQ0FBQyxRQUFRRTtRQUN2RCxJQUFJLENBQUNJLE1BQU0sR0FBR1Qsa0NBQUtBLENBQUNFLE9BQU9DLG9CQUFvQixDQUFDLFNBQVNFO0lBQzdEO0lBQ0EsSUFBSUssT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDSCxLQUFLO0lBQ3JCO0lBQ0EsSUFBSUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDSCxLQUFLO0lBQ3JCO0lBQ0EsSUFBSUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDSCxNQUFNO0lBQ3RCO0lBQ0FJLElBQUlULEtBQUssRUFBRSxHQUFHVSxJQUFJLEVBQUU7UUFDaEIsTUFBTUMsU0FBUyxJQUFJLENBQUNYLE1BQU07UUFDMUJXLFVBQVVEO0lBQ2Q7QUFDSixFQUNBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2NvcmUvbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvbG9nZ2VyL2luZGV4LmpzPzMwYzIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlYnVnIGZyb20gXCJkZWJ1Z1wiO1xuY29uc3QgQVBQX05BTUUgPSBcIndha3VcIjtcbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xuICAgIF9pbmZvO1xuICAgIF93YXJuO1xuICAgIF9lcnJvcjtcbiAgICBzdGF0aWMgY3JlYXRlRGVidWdOYW1lc3BhY2UobGV2ZWwsIHByZWZpeCkge1xuICAgICAgICByZXR1cm4gcHJlZml4ID8gYCR7QVBQX05BTUV9OiR7bGV2ZWx9OiR7cHJlZml4fWAgOiBgJHtBUFBfTkFNRX06JHtsZXZlbH1gO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwcmVmaXgpIHtcbiAgICAgICAgdGhpcy5faW5mbyA9IGRlYnVnKExvZ2dlci5jcmVhdGVEZWJ1Z05hbWVzcGFjZShcImluZm9cIiwgcHJlZml4KSk7XG4gICAgICAgIHRoaXMuX3dhcm4gPSBkZWJ1ZyhMb2dnZXIuY3JlYXRlRGVidWdOYW1lc3BhY2UoXCJ3YXJuXCIsIHByZWZpeCkpO1xuICAgICAgICB0aGlzLl9lcnJvciA9IGRlYnVnKExvZ2dlci5jcmVhdGVEZWJ1Z05hbWVzcGFjZShcImVycm9yXCIsIHByZWZpeCkpO1xuICAgIH1cbiAgICBnZXQgaW5mbygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luZm87XG4gICAgfVxuICAgIGdldCB3YXJuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2FybjtcbiAgICB9XG4gICAgZ2V0IGVycm9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXJyb3I7XG4gICAgfVxuICAgIGxvZyhsZXZlbCwgLi4uYXJncykge1xuICAgICAgICBjb25zdCBsb2dnZXIgPSB0aGlzW2xldmVsXTtcbiAgICAgICAgbG9nZ2VyKC4uLmFyZ3MpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJkZWJ1ZyIsIkFQUF9OQU1FIiwiTG9nZ2VyIiwiY3JlYXRlRGVidWdOYW1lc3BhY2UiLCJsZXZlbCIsInByZWZpeCIsImNvbnN0cnVjdG9yIiwiX2luZm8iLCJfd2FybiIsIl9lcnJvciIsImluZm8iLCJ3YXJuIiwiZXJyb3IiLCJsb2ciLCJhcmdzIiwibG9nZ2VyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/core/node_modules/@waku/utils/dist/logger/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/dns/constants.js":
/*!************************************************************!*\
!*** ./node_modules/@waku/discovery/dist/dns/constants.js ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_BOOTSTRAP_TAG_NAME: () => (/* binding */ DEFAULT_BOOTSTRAP_TAG_NAME),\n/* harmony export */ DEFAULT_BOOTSTRAP_TAG_TTL: () => (/* binding */ DEFAULT_BOOTSTRAP_TAG_TTL),\n/* harmony export */ DEFAULT_BOOTSTRAP_TAG_VALUE: () => (/* binding */ DEFAULT_BOOTSTRAP_TAG_VALUE),\n/* harmony export */ DEFAULT_NODE_REQUIREMENTS: () => (/* binding */ DEFAULT_NODE_REQUIREMENTS),\n/* harmony export */ enrTree: () => (/* binding */ enrTree)\n/* harmony export */ });\nconst enrTree = {\n TEST: \"enrtree://AOGYWMBYOUIMOENHXCHILPKY3ZRFEULMFI4DOM442QSZ73TT2A7VI@test.waku.nodes.status.im\",\n SANDBOX: \"enrtree://AIRVQ5DDA4FFWLRBCHJWUWOO6X6S4ZTZ5B667LQ6AJU6PEYDLRD5O@sandbox.waku.nodes.status.im\"\n};\nconst DEFAULT_BOOTSTRAP_TAG_NAME = \"bootstrap\";\nconst DEFAULT_BOOTSTRAP_TAG_VALUE = 50;\nconst DEFAULT_BOOTSTRAP_TAG_TTL = 100000000;\nconst DEFAULT_NODE_REQUIREMENTS = {\n store: 2,\n filter: 1,\n lightPush: 1\n}; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvZG5zL2NvbnN0YW50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFPLE1BQU1BLFVBQVU7SUFDbkJDLE1BQU07SUFDTkMsU0FBUztBQUNiLEVBQUU7QUFDSyxNQUFNQyw2QkFBNkIsWUFBWTtBQUMvQyxNQUFNQyw4QkFBOEIsR0FBRztBQUN2QyxNQUFNQyw0QkFBNEIsVUFBWTtBQUM5QyxNQUFNQyw0QkFBNEI7SUFDckNDLE9BQU87SUFDUEMsUUFBUTtJQUNSQyxXQUFXO0FBQ2YsRUFBRSxDQUNGLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9kaXN0L2Rucy9jb25zdGFudHMuanM/NjkwOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5yVHJlZSA9IHtcbiAgICBURVNUOiBcImVucnRyZWU6Ly9BT0dZV01CWU9VSU1PRU5IWENISUxQS1kzWlJGRVVMTUZJNERPTTQ0MlFTWjczVFQyQTdWSUB0ZXN0Lndha3Uubm9kZXMuc3RhdHVzLmltXCIsXG4gICAgU0FOREJPWDogXCJlbnJ0cmVlOi8vQUlSVlE1RERBNEZGV0xSQkNISldVV09PNlg2UzRaVFo1QjY2N0xRNkFKVTZQRVlETFJENU9Ac2FuZGJveC53YWt1Lm5vZGVzLnN0YXR1cy5pbVwiXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQk9PVFNUUkFQX1RBR19OQU1FID0gXCJib290c3RyYXBcIjtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0JPT1RTVFJBUF9UQUdfVkFMVUUgPSA1MDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0JPT1RTVFJBUF9UQUdfVFRMID0gMTAwXzAwMF8wMDA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9OT0RFX1JFUVVJUkVNRU5UUyA9IHtcbiAgICBzdG9yZTogMixcbiAgICBmaWx0ZXI6IDEsXG4gICAgbGlnaHRQdXNoOiAxXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmpzLm1hcCJdLCJuYW1lcyI6WyJlbnJUcmVlIiwiVEVTVCIsIlNBTkRCT1giLCJERUZBVUxUX0JPT1RTVFJBUF9UQUdfTkFNRSIsIkRFRkFVTFRfQk9PVFNUUkFQX1RBR19WQUxVRSIsIkRFRkFVTFRfQk9PVFNUUkFQX1RBR19UVEwiLCJERUZBVUxUX05PREVfUkVRVUlSRU1FTlRTIiwic3RvcmUiLCJmaWx0ZXIiLCJsaWdodFB1c2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/dns/constants.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/dns/dns.js":
/*!******************************************************!*\
!*** ./node_modules/@waku/discovery/dist/dns/dns.js ***!
\******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DnsNodeDiscovery: () => (/* binding */ DnsNodeDiscovery)\n/* harmony export */ });\n/* harmony import */ var _waku_enr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/enr */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _dns_over_https_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dns_over_https.js */ \"(ssr)/./node_modules/@waku/discovery/dist/dns/dns_over_https.js\");\n/* harmony import */ var _enrtree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./enrtree.js */ \"(ssr)/./node_modules/@waku/discovery/dist/dns/enrtree.js\");\n/* harmony import */ var _fetch_nodes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fetch_nodes.js */ \"(ssr)/./node_modules/@waku/discovery/dist/dns/fetch_nodes.js\");\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_1__.Logger(\"discovery:dns\");\nclass DnsNodeDiscovery {\n static async dnsOverHttp(dnsClient) {\n if (!dnsClient) {\n dnsClient = await _dns_over_https_js__WEBPACK_IMPORTED_MODULE_2__.DnsOverHttps.create();\n }\n return new DnsNodeDiscovery(dnsClient);\n }\n /**\n * Returns a list of verified peers listed in an EIP-1459 DNS tree. Method may\n * return fewer peers than requested if @link wantedNodeCapabilityCount requires\n * larger quantity of peers than available or the number of errors/duplicate\n * peers encountered by randomized search exceeds the sum of the fields of\n * @link wantedNodeCapabilityCount plus the @link _errorTolerance factor.\n */ async getPeers(enrTreeUrls, wantedNodeCapabilityCount) {\n const networkIndex = Math.floor(Math.random() * enrTreeUrls.length);\n const { publicKey, domain } = _enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.parseTree(enrTreeUrls[networkIndex]);\n const context = {\n domain,\n publicKey,\n visits: {}\n };\n const peers = await (0,_fetch_nodes_js__WEBPACK_IMPORTED_MODULE_4__.fetchNodesUntilCapabilitiesFulfilled)(wantedNodeCapabilityCount, this._errorTolerance, ()=>this._search(domain, context));\n log.info(\"retrieved peers: \", peers.map((peer)=>{\n return {\n id: peer.peerId?.toString(),\n multiaddrs: peer.multiaddrs?.map((ma)=>ma.toString())\n };\n }));\n return peers;\n }\n constructor(dns){\n this._errorTolerance = 10;\n this._DNSTreeCache = {};\n this.dns = dns;\n }\n /**\n * {@inheritDoc getPeers}\n */ async *getNextPeer(enrTreeUrls, wantedNodeCapabilityCount) {\n const networkIndex = Math.floor(Math.random() * enrTreeUrls.length);\n const { publicKey, domain } = _enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.parseTree(enrTreeUrls[networkIndex]);\n const context = {\n domain,\n publicKey,\n visits: {}\n };\n for await (const peer of (0,_fetch_nodes_js__WEBPACK_IMPORTED_MODULE_4__.yieldNodesUntilCapabilitiesFulfilled)(wantedNodeCapabilityCount, this._errorTolerance, ()=>this._search(domain, context))){\n yield peer;\n }\n }\n /**\n * Runs a recursive, randomized descent of the DNS tree to retrieve a single\n * ENR record as an ENR. Returns null if parsing or DNS resolution fails.\n */ async _search(subdomain, context) {\n try {\n const entry = await this._getTXTRecord(subdomain, context);\n context.visits[subdomain] = true;\n let next;\n let branches;\n const entryType = getEntryType(entry);\n try {\n switch(entryType){\n case _enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.ROOT_PREFIX:\n next = _enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.parseAndVerifyRoot(entry, context.publicKey);\n return await this._search(next, context);\n case _enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.BRANCH_PREFIX:\n branches = _enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.parseBranch(entry);\n next = selectRandomPath(branches, context);\n return await this._search(next, context);\n case _enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.RECORD_PREFIX:\n return _waku_enr__WEBPACK_IMPORTED_MODULE_0__.EnrDecoder.fromString(entry);\n default:\n return null;\n }\n } catch (error) {\n log.error(`Failed to search DNS tree ${entryType} at subdomain ${subdomain}: ${error}`);\n return null;\n }\n } catch (error) {\n log.error(`Failed to retrieve TXT record at subdomain ${subdomain}: ${error}`);\n return null;\n }\n }\n /**\n * Retrieves the TXT record stored at a location from either\n * this DNS tree cache or via DNS query.\n *\n * @throws if the TXT Record contains non-UTF-8 values.\n */ async _getTXTRecord(subdomain, context) {\n if (this._DNSTreeCache[subdomain]) {\n return this._DNSTreeCache[subdomain];\n }\n // Location is either the top level tree entry host or a subdomain of it.\n const location = subdomain !== context.domain ? `${subdomain}.${context.domain}` : context.domain;\n const response = await this.dns.resolveTXT(location);\n if (!response.length) throw new Error(\"Received empty result array while fetching TXT record\");\n if (!response[0].length) throw new Error(\"Received empty TXT record\");\n // Branch entries can be an array of strings of comma delimited subdomains, with\n // some subdomain strings split across the array elements\n const result = response.join(\"\");\n this._DNSTreeCache[subdomain] = result;\n return result;\n }\n}\nfunction getEntryType(entry) {\n if (entry.startsWith(_enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.ROOT_PREFIX)) return _enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.ROOT_PREFIX;\n if (entry.startsWith(_enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.BRANCH_PREFIX)) return _enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.BRANCH_PREFIX;\n if (entry.startsWith(_enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.RECORD_PREFIX)) return _enrtree_js__WEBPACK_IMPORTED_MODULE_3__.ENRTree.RECORD_PREFIX;\n return \"\";\n}\n/**\n * Returns a randomly selected subdomain string from the list provided by a branch\n * entry record.\n *\n * The client must track subdomains which are already resolved to avoid\n * going into an infinite loop b/c branch entries can contain\n * circular references. Its in the clients best interest to traverse the\n * tree in random order.\n */ function selectRandomPath(branches, context) {\n // Identify domains already visited in this traversal of the DNS tree.\n // Then filter against them to prevent cycles.\n const circularRefs = {};\n for (const [idx, subdomain] of branches.entries()){\n if (context.visits[subdomain]) {\n circularRefs[idx] = true;\n }\n }\n // If all possible paths are circular...\n if (Object.keys(circularRefs).length === branches.length) {\n throw new Error(\"Unresolvable circular path detected\");\n }\n // Randomly select a viable path\n let index;\n do {\n index = Math.floor(Math.random() * branches.length);\n }while (circularRefs[index]);\n return branches[index];\n} //# sourceMappingURL=dns.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvZG5zL2Rucy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBdUM7QUFDRjtBQUNjO0FBQ1o7QUFDdUU7QUFDOUcsTUFBTU0sTUFBTSxJQUFJTCwrQ0FBTUEsQ0FBQztBQUNoQixNQUFNTTtJQUlULGFBQWFDLFlBQVlDLFNBQVMsRUFBRTtRQUNoQyxJQUFJLENBQUNBLFdBQVc7WUFDWkEsWUFBWSxNQUFNUCw0REFBWUEsQ0FBQ1EsTUFBTTtRQUN6QztRQUNBLE9BQU8sSUFBSUgsaUJBQWlCRTtJQUNoQztJQUNBOzs7Ozs7S0FNQyxHQUNELE1BQU1FLFNBQVNDLFdBQVcsRUFBRUMseUJBQXlCLEVBQUU7UUFDbkQsTUFBTUMsZUFBZUMsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxNQUFNLEtBQUtMLFlBQVlNLE1BQU07UUFDbEUsTUFBTSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRSxHQUFHakIsZ0RBQU9BLENBQUNrQixTQUFTLENBQUNULFdBQVcsQ0FBQ0UsYUFBYTtRQUN6RSxNQUFNUSxVQUFVO1lBQ1pGO1lBQ0FEO1lBQ0FJLFFBQVEsQ0FBQztRQUNiO1FBQ0EsTUFBTUMsUUFBUSxNQUFNcEIscUZBQW9DQSxDQUFDUywyQkFBMkIsSUFBSSxDQUFDWSxlQUFlLEVBQUUsSUFBTSxJQUFJLENBQUNDLE9BQU8sQ0FBQ04sUUFBUUU7UUFDckloQixJQUFJcUIsSUFBSSxDQUFDLHFCQUFxQkgsTUFBTUksR0FBRyxDQUFDLENBQUNDO1lBQ3JDLE9BQU87Z0JBQ0hDLElBQUlELEtBQUtFLE1BQU0sRUFBRUM7Z0JBQ2pCQyxZQUFZSixLQUFLSSxVQUFVLEVBQUVMLElBQUksQ0FBQ00sS0FBT0EsR0FBR0YsUUFBUTtZQUN4RDtRQUNKO1FBQ0EsT0FBT1I7SUFDWDtJQUNBVyxZQUFZQyxHQUFHLENBQUU7YUEvQmpCWCxrQkFBa0I7UUFnQ2QsSUFBSSxDQUFDWSxhQUFhLEdBQUcsQ0FBQztRQUN0QixJ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Q0EsU0FBU2IsYUFBYUwsS0FBSztJQUN2QixJQUFJQSxNQUFNb0IsVUFBVSxDQUFDekQsZ0RBQU9BLENBQUMyQyxXQUFXLEdBQ3BDLE9BQU8zQyxnREFBT0EsQ0FBQzJDLFdBQVc7SUFDOUIsSUFBSU4sTUFBTW9CLFVBQVUsQ0FBQ3pELGdEQUFPQSxDQUFDNkMsYUFBYSxHQUN0QyxPQUFPN0MsZ0RBQU9BLENBQUM2QyxhQUFhO0lBQ2hDLElBQUlSLE1BQU1vQixVQUFVLENBQUN6RCxnREFBT0EsQ0FBQ2dELGFBQWEsR0FDdEMsT0FBT2hELGdEQUFPQSxDQUFDZ0QsYUFBYTtJQUNoQyxPQUFPO0FBQ1g7QUFDQTs7Ozs7Ozs7Q0FRQyxHQUNELFNBQVNELGlCQUFpQlAsUUFBUSxFQUFFckIsT0FBTztJQUN2QyxzRUFBc0U7SUFDdEUsOENBQThDO0lBQzlDLE1BQU11QyxlQUFlLENBQUM7SUFDdEIsS0FBSyxNQUFNLENBQUNDLEtBQUt2QixVQUFVLElBQUlJLFNBQVNvQixPQUFPLEdBQUk7UUFDL0MsSUFBSXpDLFFBQVFDLE1BQU0sQ0FBQ2dCLFVBQVUsRUFBRTtZQUMzQnNCLFlBQVksQ0FBQ0MsSUFBSSxHQUFHO1FBQ3hCO0lBQ0o7SUFDQSx3Q0FBd0M7SUFDeEMsSUFBSUUsT0FBT0MsSUFBSSxDQUFDSixjQUFjM0MsTUFBTSxLQUFLeUIsU0FBU3pCLE1BQU0sRUFBRTtRQUN0RCxNQUFNLElBQUl1QyxNQUFNO0lBQ3BCO0lBQ0EsZ0NBQWdDO0lBQ2hDLElBQUlTO0lBQ0osR0FBRztRQUNDQSxRQUFRbkQsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxNQUFNLEtBQUswQixTQUFTekIsTUFBTTtJQUN0RCxRQUFTMkMsWUFBWSxDQUFDSyxNQUFNLEVBQUU7SUFDOUIsT0FBT3ZCLFFBQVEsQ0FBQ3VCLE1BQU07QUFDMUIsRUFDQSwrQkFBK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3ZlcnkvZGlzdC9kbnMvZG5zLmpzPzUwYjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5yRGVjb2RlciB9IGZyb20gXCJAd2FrdS9lbnJcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCJAd2FrdS91dGlsc1wiO1xuaW1wb3J0IHsgRG5zT3Zlckh0dHBzIH0gZnJvbSBcIi4vZG5zX292ZXJfaHR0cHMuanNcIjtcbmltcG9ydCB7IEVOUlRyZWUgfSBmcm9tIFwiLi9lbnJ0cmVlLmpzXCI7XG5pbXBvcnQgeyBmZXRjaE5vZGVzVW50aWxDYXBhYmlsaXRpZXNGdWxmaWxsZWQsIHlpZWxkTm9kZXNVbnRpbENhcGFiaWxpdGllc0Z1bGZpbGxlZCB9IGZyb20gXCIuL2ZldGNoX25vZGVzLmpzXCI7XG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKFwiZGlzY292ZXJ5OmRuc1wiKTtcbmV4cG9ydCBjbGFzcyBEbnNOb2RlRGlzY292ZXJ5IHtcbiAgICBkbnM7XG4gICAgX0ROU1RyZWVDYWNoZTtcbiAgICBfZXJyb3JUb2xlcmFuY2UgPSAxMDtcbiAgICBzdGF0aWMgYXN5bmMgZG5zT3Zlckh0dHAoZG5zQ2xpZW50KSB7XG4gICAgICAgIGlmICghZG5zQ2xpZW50KSB7XG4gICAgICAgICAgICBkbnNDbGllbnQgPSBhd2FpdCBEbnNPdmVySHR0cHMuY3JlYXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBEbnNOb2RlRGlzY292ZXJ5KGRuc0NsaWVudCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBsaXN0IG9mIHZlcmlmaWVkIHBlZXJzIGxpc3RlZCBpbiBhbiBFSVAtMTQ1OSBETlMgdHJlZS4gTWV0aG9kIG1heVxuICAgICAqIHJldHVybiBmZXdlciBwZWVycyB0aGFuIHJlcXVlc3RlZCBpZiBAbGluayB3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50IHJlcXVpcmVzXG4gICAgICogbGFyZ2VyIHF1YW50aXR5IG9mIHBlZXJzIHRoYW4gYXZhaWxhYmxlIG9yIHRoZSBudW1iZXIgb2YgZXJyb3JzL2R1cGxpY2F0ZVxuICAgICAqIHBlZXJzIGVuY291bnRlcmVkIGJ5IHJhbmRvbWl6ZWQgc2VhcmNoIGV4Y2VlZHMgdGhlIHN1bSBvZiB0aGUgZmllbGRzIG9mXG4gICAgICogQGxpbmsgd2FudGVkTm9kZUNhcGFiaWxpdHlDb3VudCBwbHVzIHRoZSBAbGluayBfZXJyb3JUb2xlcmFuY2UgZmFjdG9yLlxuICAgICAqL1xuICAgIGFzeW5jIGdldFBlZXJzKGVuclRyZWVVcmxzLCB3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50KSB7XG4gICAgICAgIGNvbnN0IG5ldHdvcmtJbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGVuclRyZWVVcmxzLmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IHsgcHVibGljS2V5LCBkb21haW4gfSA9IEVOUlRyZWUucGFyc2VUcmVlKGVuclRyZWVVcmxzW25ldHdvcmtJbmRleF0pO1xuICAgICAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgICAgICAgZG9tYWluLFxuICAgICAgICAgICAgcHVibGljS2V5LFxuICAgICAgICAgICAgdmlzaXRzOiB7fVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBwZWVycyA9IGF3YWl0IGZldGNoTm9kZXNVbnRpbENhcGFiaWxpdGllc0Z1bGZpbGxlZCh3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50LCB0aGlzLl9lcnJvclRvbGVyYW5jZSwgKCkgPT4gdGhpcy5fc2VhcmNoKGRvbWFpbiwgY29udGV4dCkpO1xuICAgICAgICBsb2cuaW5mbyhcInJldHJpZXZlZCBwZWVyczogXCIsIHBlZXJzLm1hcCgocGVlcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogcGVlci5wZWVySWQ/LnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgbXVsdGlhZGRyczogcGVlci5tdWx0aWFkZHJzPy5tYXAoKG1hKSA9PiBtYS50b1N0cmluZygpKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gcGVlcnM7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKGRucykge1xuICAgICAgICB0aGlzLl9ETlNUcmVlQ2FjaGUgPSB7fTtcbiAgICAgICAgdGhpcy5kbnMgPSBkbnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIHtAaW5oZXJpdERvYyBnZXRQZWVyc31cbiAgICAgKi9cbiAgICBhc3luYyAqZ2V0TmV4dFBlZXIoZW5yVHJlZVVybHMsIHdhbnRlZE5vZGVDYXBhYmlsaXR5Q291bnQpIHtcbiAgICAgICAgY29uc3QgbmV0d29ya0luZGV4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogZW5yVHJlZVVybHMubGVuZ3RoKTtcbiAgICAgICAgY29uc3QgeyBwdWJsaWNLZXksIGRvbWFpbiB9ID0gRU5SVHJlZS5wYXJzZVRyZWUoZW5yVHJlZVVybHNbbmV0d29ya0luZGV4XSk7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAgICAgICBkb21haW4sXG4gICAgICAgICAgICBwdWJsaWNLZXksXG4gICAgICAgICAgICB2aXNpdHM6IHt9XG4gICAgICAgIH07XG4gICAgICAgIGZvciBhd2FpdCAoY29uc3QgcGVlciBvZiB5aWVsZE5vZGVzVW50aWxDYXBhYmlsaXRpZXNGdWxmaWxsZWQod2FudGVkTm9kZUNhcGFiaWxpdHlDb3VudCwgdGhpcy5fZXJyb3JUb2xlcmFuY2UsICgpID0+IHRoaXMuX3NlYXJjaChkb21haW4sIGNvbnRleHQpKSkge1xuICAgICAgICAgICAgeWllbGQgcGVlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBSdW5zIGEgcmVjdXJzaXZlLCByYW5kb21pemVkIGRlc2NlbnQgb2YgdGhlIEROUyB0cmVlIHRvIHJldHJpZXZlIGEgc2luZ2xlXG4gICAgICogRU5SIHJlY29yZCBhcyBhbiBFTlIuIFJldHVybnMgbnVsbCBpZiBwYXJzaW5nIG9yIEROUyByZXNvbHV0aW9uIGZhaWxzLlxuICAgICAqL1xuICAgIGFzeW5jIF9zZWFyY2goc3ViZG9tYWluLCBjb250ZXh0KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBlbnRyeSA9IGF3YWl0IHRoaXMuX2dldFRYVFJlY29yZChzdWJkb21haW4sIGNvbnRleHQpO1xuICAgICAgICAgICAgY29udGV4dC52aXNpdHNbc3ViZG9tYWluXSA9IHRydWU7XG4gICAgICAgICAgICBsZXQgbmV4dDtcbiAgICAgICAgICAgIGxldCBicmFuY2hlcztcbiAgICAgICAgICAgIGNvbnN0IGVudHJ5VHlwZSA9IGdldEVudHJ5VHlwZShlbnRyeSk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZW50cnlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgRU5SVHJlZS5ST09UX1BSRUZJWDpcbiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQgPSBFTlJUcmVlLnBhcnNlQW5kVmVyaWZ5Um9vdChlbnRyeSwgY29udGV4dC5wdWJsaWNLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NlYXJjaChuZXh0LCBjb250ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBFTlJUcmVlLkJSQU5DSF9QUkVGSVg6XG4gICAgICAgICAgICAgICAgICAgICAgICBicmFuY2hlcyA9IEVOUlRyZWUucGFyc2VCcmFuY2goZW50cnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dCA9IHNlbGVjdFJhbmRvbVBhdGgoYnJhbmNoZXMsIGNvbnRleHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NlYXJjaChuZXh0LCBjb250ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBFTlJUcmVlLlJFQ09SRF9QUkVGSVg6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRW5yRGVjb2Rlci5mcm9tU3RyaW5nKGVudHJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihgRmFpbGVkIHRvIHNlYXJjaCBETlMgdHJlZSAke2VudHJ5VHlwZX0gYXQgc3ViZG9tYWluICR7c3ViZG9tYWlufTogJHtlcnJvcn1gKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihgRmFpbGVkIHRvIHJldHJpZXZlIFRYVCByZWNvcmQgYXQgc3ViZG9tYWluICR7c3ViZG9tYWlufTogJHtlcnJvcn1gKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgVFhUIHJlY29yZCBzdG9yZWQgYXQgYSBsb2NhdGlvbiBmcm9tIGVpdGhlclxuICAgICAqIHRoaXMgRE5TIHRyZWUgY2FjaGUgb3IgdmlhIEROUyBxdWVyeS5cbiAgICAgKlxuICAgICAqIEB0aHJvd3MgaWYgdGhlIFRYVCBSZWNvcmQgY29udGFpbnMgbm9uLVVURi04IHZhbHVlcy5cbiAgICAgKi9cbiAgICBhc3luYyBfZ2V0VFhUUmVjb3JkKHN1YmRvbWFpbiwgY29udGV4dCkge1xuICAgICAgICBpZiAodGhpcy5fRE5TVHJlZUNhY2hlW3N1YmRvbWFpbl0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ETlNUcmVlQ2FjaGVbc3ViZG9tYWluXTtcbiAgICAgICAgfVxuICAgICAgICAvLyBMb2NhdGlvbiBpcyBlaXRoZXIgdGhlIHRvcCBsZXZlbCB0cmVlIGVudHJ5IGhvc3Qgb3IgYSBzdWJkb21haW4gb2YgaXQuXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gc3ViZG9tYWluICE9PSBjb250ZXh0LmRvbWFpblxuICAgICAgICAgICAgPyBgJHtzdWJkb21haW59LiR7Y29udGV4dC5kb21haW59YFxuICAgICAgICAgICAgOiBjb250ZXh0LmRvbWFpbjtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmRucy5yZXNvbHZlVFhUKGxvY2F0aW9uKTtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZWNlaXZlZCBlbXB0eSByZXN1bHQgYXJyYXkgd2hpbGUgZmV0Y2hpbmcgVFhUIHJlY29yZFwiKTtcbiAgICAgICAgaWYgKCFyZXNwb25zZVswXS5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZWNlaXZlZCBlbXB0eSBUWFQgcmVjb3JkXCIpO1xuICAgICAgICAvLyBCcmFuY2ggZW50cmllcyBjYW4gYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncyBvZiBjb21tYSBkZWxpbWl0ZWQgc3ViZG9tYWlucywgd2l0aFxuICAgICAgICAvLyBzb21lIHN1YmRvbWFpbiBzdHJpbmdzIHNwbGl0IGFjcm9zcyB0aGUgYXJyYXkgZWxlbWVudHNcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVzcG9uc2Uuam9pbihcIlwiKTtcbiAgICAgICAgdGhpcy5fRE5TVHJlZUNhY2hlW3N1YmRvbWFpbl0gPSByZXN1bHQ7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0RW50cnlUeXBlKGVudHJ5KSB7XG4gICAgaWYgKGVudHJ5LnN0YXJ0c1dpdGgoRU5SVHJlZS5ST09UX1BSRUZJWCkpXG4gICAgICAgIHJldHVybiBFTlJUcmVlLlJPT1RfUFJFRklYO1xuICAgIGlmIChlbnRyeS5zdGFydHNXaXRoKEVOUlRyZWUuQlJBTkNIX1BSRUZJWCkpXG4gICAgICAgIHJldHVybiBFTlJUcmVlLkJSQU5DSF9QUkVGSVg7XG4gICAgaWYgKGVudHJ5LnN0YXJ0c1dpdGgoRU5SVHJlZS5SRUNPUkRfUFJFRklYKSlcbiAgICAgICAgcmV0dXJuIEVOUlRyZWUuUkVDT1JEX1BSRUZJWDtcbiAgICByZXR1cm4gXCJcIjtcbn1cbi8qKlxuICogUmV0dXJucyBhIHJhbmRvbWx5IHNlbGVjdGVkIHN1YmRvbWFpbiBzdHJpbmcgZnJvbSB0aGUgbGlzdCBwcm92aWRlZCBieSBhIGJyYW5jaFxuICogZW50cnkgcmVjb3JkLlxuICpcbiAqIFRoZSBjbGllbnQgbXVzdCB0cmFjayBzdWJkb21haW5zIHdoaWNoIGFyZSBhbHJlYWR5IHJlc29sdmVkIHRvIGF2b2lkXG4gKiBnb2luZyBpbnRvIGFuIGluZmluaXRlIGxvb3AgYi9jIGJyYW5jaCBlbnRyaWVzIGNhbiBjb250YWluXG4gKiBjaXJjdWxhciByZWZlcmVuY2VzLiBJdOKAmXMgaW4gdGhlIGNsaWVudOKAmXMgYmVzdCBpbnRlcmVzdCB0byB0cmF2ZXJzZSB0aGVcbiAqIHRyZWUgaW4gcmFuZG9tIG9yZGVyLlxuICovXG5mdW5jdGlvbiBzZWxlY3RSYW5kb21QYXRoKGJyYW5jaGVzLCBjb250ZXh0KSB7XG4gICAgLy8gSWRlbnRpZnkgZG9tYWlucyBhbHJlYWR5IHZpc2l0ZWQgaW4gdGhpcyB0cmF2ZXJzYWwgb2YgdGhlIEROUyB0cmVlLlxuICAgIC8vIFRoZW4gZmlsdGVyIGFnYWluc3QgdGhlbSB0byBwcmV2ZW50IGN5Y2xlcy5cbiAgICBjb25zdCBjaXJjdWxhclJlZnMgPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtpZHgsIHN1YmRvbWFpbl0gb2YgYnJhbmNoZXMuZW50cmllcygpKSB7XG4gICAgICAgIGlmIChjb250ZXh0LnZpc2l0c1tzdWJkb21haW5dKSB7XG4gICAgICAgICAgICBjaXJjdWxhclJlZnNbaWR4XSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gSWYgYWxsIHBvc3NpYmxlIHBhdGhzIGFyZSBjaXJjdWxhci4uLlxuICAgIGlmIChPYmplY3Qua2V5cyhjaXJjdWxhclJlZnMpLmxlbmd0aCA9PT0gYnJhbmNoZXMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVucmVzb2x2YWJsZSBjaXJjdWxhciBwYXRoIGRldGVjdGVkXCIpO1xuICAgIH1cbiAgICAvLyBSYW5kb21seSBzZWxlY3QgYSB2aWFibGUgcGF0aFxuICAgIGxldCBpbmRleDtcbiAgICBkbyB7XG4gICAgICAgIGluZGV4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogYnJhbmNoZXMubGVuZ3RoKTtcbiAgICB9IHdoaWxlIChjaXJjdWxhclJlZnNbaW5kZXhdKTtcbiAgICByZXR1cm4gYnJhbmNoZXNbaW5kZXhdO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZG5zLmpzLm1hcCJdLCJuYW1lcyI6WyJFbnJEZWNvZGVyIiwiTG9nZ2VyIiwiRG5zT3Zlckh0dHBzIiwiRU5SVHJlZSIsImZldGNoTm9kZXNVbnRpbENhcGFiaWxpdGllc0Z1bGZpbGxlZCIsInlpZWxkTm9kZXNVbnRpbENhcGFiaWxpdGllc0Z1bGZpbGxlZCIsImxvZyIsIkRuc05vZGVEaXNjb3ZlcnkiLCJkbnNPdmVySHR0cCIsImRuc0NsaWVudCIsImNyZWF0ZSIsImdldFBlZXJzIiwiZW5yVHJlZVVybHMiLCJ3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50IiwibmV0d29ya0luZGV4IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwibGVuZ3RoIiwicHVibGljS2V5IiwiZG9tYWluIiwicGFyc2VUcmVlIiwiY29udGV4dCIsInZpc2l0cyIsInBlZXJzIiwiX2Vycm9yVG9sZXJhbmNlIiwiX3NlYXJjaCIsImluZm8iLCJtYXAiLCJwZWVyIiwiaWQiLCJwZWVySWQiLCJ0b1N0cmluZyIsIm11bHRpYWRkcnMiLCJtYSIsImNvbnN0cnVjdG9yIiwiZG5zIiwiX0ROU1RyZWVDYWNoZSIsImdldE5leHRQZWVyIiwic3ViZG9tYWluIiwiZW50cnkiLCJfZ2V0VFhUUmVjb3JkIiwibmV4dCIsImJyYW5jaGVzIiwiZW50cnlUeXBlIiwiZ2V0RW50cnlUeXBlIiwiUk9PVF9QUkVGSVgiLCJwYXJzZUFuZFZlcmlmeVJvb3QiLCJCUkFOQ0hfUFJFRklYIiwicGFyc2VCcmFuY2giLCJzZWxlY3RSYW5kb21QYXRoIiwiUkVDT1JEX1BSRUZJWCIsImZyb21TdHJpbmciLCJlcnJvciIsImxvY2F0aW9uIiwicmVzcG9uc2UiLCJyZXNvbHZlVFhUIiwiRXJyb3IiLCJyZXN1bHQiLCJqb2luIiwic3RhcnRzV2l0aCIsImNpcmN1bGFyUmVmcyIsImlkeCIsImVudHJpZXMiLCJPYmplY3QiLCJrZXlzIiwiaW5kZXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/dns/dns.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/dns/dns_discovery.js":
/*!****************************************************************!*\
!*** ./node_modules/@waku/discovery/dist/dns/dns_discovery.js ***!
\****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PeerDiscoveryDns: () => (/* binding */ PeerDiscoveryDns),\n/* harmony export */ wakuDnsDiscovery: () => (/* binding */ wakuDnsDiscovery)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/event-target.js\");\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/peer-discovery/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/discovery/dist/dns/constants.js\");\n/* harmony import */ var _dns_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dns.js */ \"(ssr)/./node_modules/@waku/discovery/dist/dns/dns.js\");\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_0__.Logger(\"peer-discovery-dns\");\n/**\n * Parse options and expose function to return bootstrap peer addresses.\n */ class PeerDiscoveryDns extends _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.TypedEventEmitter {\n constructor(components, options){\n super();\n this._started = false;\n this._components = components;\n this._options = options;\n const { enrUrls } = options;\n log.info(\"Use following EIP-1459 ENR Tree URLs: \", enrUrls);\n }\n /**\n * Start discovery process\n */ async start() {\n log.info(\"Starting peer discovery via dns\");\n this._started = true;\n if (this.nextPeer === undefined) {\n let { enrUrls } = this._options;\n if (!Array.isArray(enrUrls)) enrUrls = [\n enrUrls\n ];\n const { wantedNodeCapabilityCount } = this._options;\n const dns = await _dns_js__WEBPACK_IMPORTED_MODULE_2__.DnsNodeDiscovery.dnsOverHttp();\n this.nextPeer = dns.getNextPeer.bind(dns, enrUrls, wantedNodeCapabilityCount);\n }\n for await (const peerEnr of this.nextPeer()){\n if (!this._started) {\n return;\n }\n const { peerInfo, shardInfo } = peerEnr;\n if (!peerInfo) {\n continue;\n }\n const tagsToUpdate = {\n [_constants_js__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_BOOTSTRAP_TAG_NAME]: {\n value: this._options.tagValue ?? _constants_js__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_BOOTSTRAP_TAG_VALUE,\n ttl: this._options.tagTTL ?? _constants_js__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_BOOTSTRAP_TAG_TTL\n }\n };\n let isPeerChanged = false;\n const isPeerExists = await this._components.peerStore.has(peerInfo.id);\n if (isPeerExists) {\n const peer = await this._components.peerStore.get(peerInfo.id);\n const hasBootstrapTag = peer.tags.has(_constants_js__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_BOOTSTRAP_TAG_NAME);\n if (!hasBootstrapTag) {\n isPeerChanged = true;\n await this._components.peerStore.merge(peerInfo.id, {\n tags: tagsToUpdate\n });\n }\n } else {\n isPeerChanged = true;\n await this._components.peerStore.save(peerInfo.id, {\n tags: tagsToUpdate,\n ...shardInfo && {\n metadata: {\n shardInfo: (0,_waku_utils__WEBPACK_IMPORTED_MODULE_0__.encodeRelayShard)(shardInfo)\n }\n }\n });\n }\n if (isPeerChanged) {\n this.dispatchEvent(new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CustomEvent(\"peer\", {\n detail: peerInfo\n }));\n }\n }\n }\n /**\n * Stop emitting events\n */ stop() {\n this._started = false;\n }\n get [_libp2p_interface__WEBPACK_IMPORTED_MODULE_4__.peerDiscoverySymbol]() {\n return true;\n }\n get [Symbol.toStringTag]() {\n return \"@waku/bootstrap\";\n }\n}\nfunction wakuDnsDiscovery(enrUrls, wantedNodeCapabilityCount = _constants_js__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_NODE_REQUIREMENTS) {\n return (components)=>new PeerDiscoveryDns(components, {\n enrUrls,\n wantedNodeCapabilityCount\n });\n} //# sourceMappingURL=dns_discovery.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvZG5zL2Ruc19kaXNjb3ZlcnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFtRTtBQUNEO0FBQ1g7QUFDd0Y7QUFDbkc7QUFDNUMsTUFBTVcsTUFBTSxJQUFJTiwrQ0FBTUEsQ0FBQztBQUN2Qjs7Q0FFQyxHQUNNLE1BQU1PLHlCQUF5QlgsZ0VBQWlCQTtJQUtuRFksWUFBWUMsVUFBVSxFQUFFQyxPQUFPLENBQUU7UUFDN0IsS0FBSztRQUNMLElBQUksQ0FBQ0MsUUFBUSxHQUFHO1FBQ2hCLElBQUksQ0FBQ0MsV0FBVyxHQUFHSDtRQUNuQixJQUFJLENBQUNJLFFBQVEsR0FBR0g7UUFDaEIsTUFBTSxFQUFFSSxPQUFPLEVBQUUsR0FBR0o7UUFDcEJKLElBQUlTLElBQUksQ0FBQywwQ0FBMENEO0lBQ3ZEO0lBQ0E7O0tBRUMsR0FDRCxNQUFNRSxRQUFRO1FBQ1ZWLElBQUlTLElBQUksQ0FBQztRQUNULElBQUksQ0FBQ0osUUFBUSxHQUFHO1FBQ2hCLElBQUksSUFBSSxDQUFDTSxRQUFRLEtBQUtDLFdBQVc7WUFDN0IsSUFBSSxFQUFFSixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUNELFFBQVE7WUFDL0IsSUFBSSxDQUFDTSxNQUFNQyxPQUFPLENBQUNOLFVBQ2ZBLFVBQVU7Z0JBQUNBO2FBQVE7WUFDdkIsTUFBTSxFQUFFTyx5QkFBeUIsRUFBRSxHQUFHLElBQUksQ0FBQ1IsUUFBUTtZQUNuRCxNQUFNUyxNQUFNLE1BQU1qQixxREFBZ0JBLENBQUNrQixXQUFXO1lBQzlDLElBQUksQ0FBQ04sUUFBUSxHQUFHSyxJQUFJRSxXQUFXLENBQUNDLElBQUksQ0FBQ0gsS0FBS1IsU0FBU087UUFDdkQ7UUFDQSxXQUFXLE1BQU1LLFdBQVcsSUFBSSxDQUFDVCxRQUFRLEdBQUk7WUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQ04sUUFBUSxFQUFFO2dCQUNoQjtZQUNKO1lBQ0EsTUFBTSxFQUFFZ0IsUUFBUSxFQUFFQyxTQUFTLEVBQUUsR0FBR0Y7WUFDaEMsSUFBSSxDQUFDQyxVQUFVO2dCQUNYO1lBQ0o7WUFDQSxNQUFNRSxlQUFlO2dCQUNqQixDQUFDNUIscUVBQTBCQSxDQUFDLEVBQUU7b0JBQzFCNkIsT0FBTyxJQUFJLENBQUNqQixRQUFRLENBQUNrQixRQUFRLElBQUk1QixzRUFBMkJBO29CQUM1RDZCLEtBQUssSUFBSSxDQUFDbkIsUUFBUSxDQUFDb0IsTUFBTSxJQUFJL0Isb0VBQXlCQTtnQkFDMUQ7WUFDSjtZQUNBLElBQUlnQyxnQkFBZ0I7WUFDcEIsTUFBTUMsZUFBZSxNQUFNLElBQUksQ0FBQ3ZCLFdBQVcsQ0FBQ3dCLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDVixTQUFTVyxFQUFFO1lBQ3JFLElBQUlILGNBQWM7Z0JBQ2QsTUFBTUksT0FBTyxNQUFNLElBQUksQ0FBQzNCLFdBQVcsQ0FBQ3dCLFNBQVMsQ0FBQ0ksR0FBRyxDQUFDYixTQUFTVyxFQUFFO2dCQUM3RCxNQUFNRyxrQkFBa0JGLEtBQUtHLElBQUksQ0FBQ0wsR0FBRyxDQUFDcEMscUVBQTBCQTtnQkFDaEUsSUFBSSxDQUFDd0MsaUJBQWlCO29CQUNsQlAsZ0JBQWdCO29CQUNoQixNQUFNLElBQUksQ0FBQ3RCLFdBQVcsQ0FBQ3dCLFNBQVMsQ0FBQ08sS0FBSyxDQUFDaEIsU0FBU1csRUFBRSxFQUFFO3dCQUNoREksTUFBTWI7b0JBQ1Y7Z0JBQ0o7WUFDSixPQUNLO2dCQUNESyxnQkFBZ0I7Z0JBQ2hCLE1BQU0sSUFBSSxDQUFDdEIsV0FBVyxDQUFDd0IsU0FBUyxDQUFDUSxJQUFJLENBQUNqQixTQUFTVyxFQUFFLEVBQUU7b0JBQy9DSSxNQUFNYjtvQkFDTixHQUFJRCxhQUFhO3dCQUNiaUIsVUFBVTs0QkFDTmpCLFdBQVc3Qiw2REFBZ0JBLENBQUM2Qjt3QkFDaEM7b0JBQ0osQ0FBQztnQkFDTDtZQUNKO1lBQ0EsSUFBSU0sZUFBZTtnQkFDZixJQUFJLENBQUNZLGFBQWEsQ0FBQyxJQUFJbkQsMERBQVdBLENBQUMsUUFBUTtvQkFBRW9ELFFBQVFwQjtnQkFBUztZQUNsRTtRQUNKO0lBQ0o7SUFDQTs7S0FFQyxHQUNEcUIsT0FBTztRQUNILElBQUksQ0FBQ3JDLFFBQVEsR0FBRztJQUNwQjtJQUNBLElBQUksQ0FBQ2Isa0VBQU1BLENBQUMsR0FBRztRQUNYLE9BQU87SUFDWDtJQUNBLElBQUksQ0FBQ21ELE9BQU9DLFdBQVcsQ0FBQyxHQUFHO1FBQ3ZCLE9BQU87SUFDWDtBQUNKO0FBQ08sU0FBU0MsaUJBQWlCckMsT0FBTyxFQUFFTyw0QkFBNEJqQixvRUFBeUI7SUFDM0YsT0FBTyxDQUFDSyxhQUFlLElBQUlGLGlCQUFpQkUsWUFBWTtZQUFFSztZQUFTTztRQUEwQjtBQUNqRyxFQUNBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9kaXN0L2Rucy9kbnNfZGlzY292ZXJ5LmpzPzY4NmIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tRXZlbnQsIFR5cGVkRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBsaWJwMnAvaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBwZWVyRGlzY292ZXJ5U3ltYm9sIGFzIHN5bWJvbCB9IGZyb20gXCJAbGlicDJwL2ludGVyZmFjZVwiO1xuaW1wb3J0IHsgZW5jb2RlUmVsYXlTaGFyZCwgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0JPT1RTVFJBUF9UQUdfTkFNRSwgREVGQVVMVF9CT09UU1RSQVBfVEFHX1RUTCwgREVGQVVMVF9CT09UU1RSQVBfVEFHX1ZBTFVFLCBERUZBVUxUX05PREVfUkVRVUlSRU1FTlRTIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBEbnNOb2RlRGlzY292ZXJ5IH0gZnJvbSBcIi4vZG5zLmpzXCI7XG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKFwicGVlci1kaXNjb3ZlcnktZG5zXCIpO1xuLyoqXG4gKiBQYXJzZSBvcHRpb25zIGFuZCBleHBvc2UgZnVuY3Rpb24gdG8gcmV0dXJuIGJvb3RzdHJhcCBwZWVyIGFkZHJlc3Nlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBlZXJEaXNjb3ZlcnlEbnMgZXh0ZW5kcyBUeXBlZEV2ZW50RW1pdHRlciB7XG4gICAgbmV4dFBlZXI7XG4gICAgX3N0YXJ0ZWQ7XG4gICAgX2NvbXBvbmVudHM7XG4gICAgX29wdGlvbnM7XG4gICAgY29uc3RydWN0b3IoY29tcG9uZW50cywgb3B0aW9ucykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9zdGFydGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2NvbXBvbmVudHMgPSBjb21wb25lbnRzO1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgY29uc3QgeyBlbnJVcmxzIH0gPSBvcHRpb25zO1xuICAgICAgICBsb2cuaW5mbyhcIlVzZSBmb2xsb3dpbmcgRUlQLTE0NTkgRU5SIFRyZWUgVVJMczogXCIsIGVuclVybHMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTdGFydCBkaXNjb3ZlcnkgcHJvY2Vzc1xuICAgICAqL1xuICAgIGFzeW5jIHN0YXJ0KCkge1xuICAgICAgICBsb2cuaW5mbyhcIlN0YXJ0aW5nIHBlZXIgZGlzY292ZXJ5IHZpYSBkbnNcIik7XG4gICAgICAgIHRoaXMuX3N0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5uZXh0UGVlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsZXQgeyBlbnJVcmxzIH0gPSB0aGlzLl9vcHRpb25zO1xuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGVuclVybHMpKVxuICAgICAgICAgICAgICAgIGVuclVybHMgPSBbZW5yVXJsc107XG4gICAgICAgICAgICBjb25zdCB7IHdhbnRlZE5vZGVDYXBhYmlsaXR5Q291bnQgfSA9IHRoaXMuX29wdGlvbnM7XG4gICAgICAgICAgICBjb25zdCBkbnMgPSBhd2FpdCBEbnNOb2RlRGlzY292ZXJ5LmRuc092ZXJIdHRwKCk7XG4gICAgICAgICAgICB0aGlzLm5leHRQZWVyID0gZG5zLmdldE5leHRQZWVyLmJpbmQoZG5zLCBlbnJVcmxzLCB3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50KTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgYXdhaXQgKGNvbnN0IHBlZXJFbnIgb2YgdGhpcy5uZXh0UGVlcigpKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3N0YXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB7IHBlZXJJbmZvLCBzaGFyZEluZm8gfSA9IHBlZXJFbnI7XG4gICAgICAgICAgICBpZiAoIXBlZXJJbmZvKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB0YWdzVG9VcGRhdGUgPSB7XG4gICAgICAgICAgICAgICAgW0RFRkFVTFRfQk9PVFNUUkFQX1RBR19OQU1FXToge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5fb3B0aW9ucy50YWdWYWx1ZSA/PyBERUZBVUxUX0JPT1RTVFJBUF9UQUdfVkFMVUUsXG4gICAgICAgICAgICAgICAgICAgIHR0bDogdGhpcy5fb3B0aW9ucy50YWdUVEwgPz8gREVGQVVMVF9CT09UU1RSQVBfVEFHX1RUTFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBsZXQgaXNQZWVyQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgaXNQZWVyRXhpc3RzID0gYXdhaXQgdGhpcy5fY29tcG9uZW50cy5wZWVyU3RvcmUuaGFzKHBlZXJJbmZvLmlkKTtcbiAgICAgICAgICAgIGlmIChpc1BlZXJFeGlzdHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwZWVyID0gYXdhaXQgdGhpcy5fY29tcG9uZW50cy5wZWVyU3RvcmUuZ2V0KHBlZXJJbmZvLmlkKTtcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNCb290c3RyYXBUYWcgPSBwZWVyLnRhZ3MuaGFzKERFRkFVTFRfQk9PVFNUUkFQX1RBR19OQU1FKTtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc0Jvb3RzdHJhcFRhZykge1xuICAgICAgICAgICAgICAgICAgICBpc1BlZXJDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fY29tcG9uZW50cy5wZWVyU3RvcmUubWVyZ2UocGVlckluZm8uaWQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhZ3M6IHRhZ3NUb1VwZGF0ZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpc1BlZXJDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9jb21wb25lbnRzLnBlZXJTdG9yZS5zYXZlKHBlZXJJbmZvLmlkLCB7XG4gICAgICAgICAgICAgICAgICAgIHRhZ3M6IHRhZ3NUb1VwZGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgLi4uKHNoYXJkSW5mbyAmJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJkSW5mbzogZW5jb2RlUmVsYXlTaGFyZChzaGFyZEluZm8pXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNQZWVyQ2hhbmdlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoXCJwZWVyXCIsIHsgZGV0YWlsOiBwZWVySW5mbyB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogU3RvcCBlbWl0dGluZyBldmVudHNcbiAgICAgKi9cbiAgICBzdG9wKCkge1xuICAgICAgICB0aGlzLl9zdGFydGVkID0gZmFsc2U7XG4gICAgfVxuICAgIGdldCBbc3ltYm9sXSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICAgICAgcmV0dXJuIFwiQHdha3UvYm9vdHN0cmFwXCI7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIHdha3VEbnNEaXNjb3ZlcnkoZW5yVXJscywgd2FudGVkTm9kZUNhcGFiaWxpdHlDb3VudCA9IERFRkFVTFRfTk9ERV9SRVFVSVJFTUVOVFMpIHtcbiAgICByZXR1cm4gKGNvbXBvbmVudHMpID0+IG5ldyBQZWVyRGlzY292ZXJ5RG5zKGNvbXBvbmVudHMsIHsgZW5yVXJscywgd2FudGVkTm9kZUNhcGFiaWxpdHlDb3VudCB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRuc19kaXNjb3ZlcnkuanMubWFwIl0sIm5hbWVzIjpbIkN1c3RvbUV2ZW50IiwiVHlwZWRFdmVudEVtaXR0ZXIiLCJwZWVyRGlzY292ZXJ5U3ltYm9sIiwic3ltYm9sIiwiZW5jb2RlUmVsYXlTaGFyZCIsIkxvZ2dlciIsIkRFRkFVTFRfQk9PVFNUUkFQX1RBR19OQU1FIiwiREVGQVVMVF9CT09UU1RSQVBfVEFHX1RUTCIsIkRFRkFVTFRfQk9PVFNUUkFQX1RBR19WQUxVRSIsIkRFRkFVTFRfTk9ERV9SRVFVSVJFTUVOVFMiLCJEbnNOb2RlRGlzY292ZXJ5IiwibG9nIiwiUGVlckRpc2NvdmVyeURucyIsImNvbnN0cnVjdG9yIiwiY29tcG9uZW50cyIsIm9wdGlvbnMiLCJfc3RhcnRlZCIsIl9jb21wb25lbnRzIiwiX29wdGlvbnMiLCJlbnJVcmxzIiwiaW5mbyIsInN0YXJ0IiwibmV4dFBlZXIiLCJ1bmRlZmluZWQiLCJBcnJheSIsImlzQXJyYXkiLCJ3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50IiwiZG5zIiwiZG5zT3Zlckh0dHAiLCJnZXROZXh0UGVlciIsImJpbmQiLCJwZWVyRW5yIiwicGVlckluZm8iLCJzaGFyZEluZm8iLCJ0YWdzVG9VcGRhdGUiLCJ2YWx1ZSIsInRhZ1ZhbHVlIiwidHRsIiwidGFnVFRMIiwiaXNQZWVyQ2hhbmdlZCIsImlzUGVlckV4aXN0cyIsInBlZXJTdG9yZSIsImhhcyIsImlkIiwicGVlciIsImdldCIsImhhc0Jvb3RzdHJhcFRhZyIsInRhZ3MiLCJtZXJnZSIsInNhdmUiLCJtZXRhZGF0YSIsImRpc3BhdGNoRXZlbnQiLCJkZXRhaWwiLCJzdG9wIiwiU3ltYm9sIiwidG9TdHJpbmdUYWciLCJ3YWt1RG5zRGlzY292ZXJ5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/dns/dns_discovery.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/dns/dns_over_https.js":
/*!*****************************************************************!*\
!*** ./node_modules/@waku/discovery/dist/dns/dns_over_https.js ***!
\*****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DnsOverHttps: () => (/* binding */ DnsOverHttps)\n/* harmony export */ });\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var dns_query__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dns-query */ \"(ssr)/./node_modules/dns-query/index.mjs\");\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_0__.Logger(\"dns-over-https\");\nclass DnsOverHttps {\n /**\n * Create new Dns-Over-Http DNS client.\n *\n * @param endpoints The endpoints for Dns-Over-Https queries;\n * Defaults to using dns-query's API..\n * @param retries Retries if a given endpoint fails.\n *\n * @throws {code: string} If DNS query fails.\n */ static async create(endpoints, retries) {\n const _endpoints = endpoints ?? await dns_query__WEBPACK_IMPORTED_MODULE_2__.wellknown.endpoints(\"doh\");\n return new DnsOverHttps(_endpoints, retries);\n }\n constructor(endpoints, retries = 3){\n this.endpoints = endpoints;\n this.retries = retries;\n }\n /**\n * Resolves a TXT record\n *\n * @param domain The domain name\n *\n * @throws if the query fails\n */ async resolveTXT(domain) {\n let answers;\n try {\n const res = await (0,dns_query__WEBPACK_IMPORTED_MODULE_2__.query)({\n question: {\n type: \"TXT\",\n name: domain\n }\n }, {\n endpoints: this.endpoints,\n retries: this.retries\n });\n answers = res.answers;\n } catch (error) {\n log.error(\"query failed: \", error);\n throw new Error(\"DNS query failed\");\n }\n if (!answers) throw new Error(`Could not resolve ${domain}`);\n const data = answers.map((a)=>a.data);\n const result = [];\n data.forEach((d)=>{\n if (typeof d === \"string\") {\n result.push(d);\n } else if (Array.isArray(d)) {\n d.forEach((sd)=>{\n if (typeof sd === \"string\") {\n result.push(sd);\n } else {\n result.push((0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.bytesToUtf8)(sd));\n }\n });\n } else {\n result.push((0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.bytesToUtf8)(d));\n }\n });\n return result;\n }\n} //# sourceMappingURL=dns_over_https.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvZG5zL2Ruc19vdmVyX2h0dHBzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBcUM7QUFDVztBQUNIO0FBQzdDLE1BQU1JLE1BQU0sSUFBSUosK0NBQU1BLENBQUM7QUFDaEIsTUFBTUs7SUFHVDs7Ozs7Ozs7S0FRQyxHQUNELGFBQWFDLE9BQU9DLFNBQVMsRUFBRUMsT0FBTyxFQUFFO1FBQ3BDLE1BQU1DLGFBQWFGLGFBQWMsTUFBTUosZ0RBQVNBLENBQUNJLFNBQVMsQ0FBQztRQUMzRCxPQUFPLElBQUlGLGFBQWFJLFlBQVlEO0lBQ3hDO0lBQ0FFLFlBQVlILFNBQVMsRUFBRUMsVUFBVSxDQUFDLENBQUU7UUFDaEMsSUFBSSxDQUFDRCxTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtJQUNuQjtJQUNBOzs7Ozs7S0FNQyxHQUNELE1BQU1HLFdBQVdDLE1BQU0sRUFBRTtRQUNyQixJQUFJQztRQUNKLElBQUk7WUFDQSxNQUFNQyxNQUFNLE1BQU1aLGdEQUFLQSxDQUFDO2dCQUNwQmEsVUFBVTtvQkFBRUMsTUFBTTtvQkFBT0MsTUFBTUw7Z0JBQU87WUFDMUMsR0FBRztnQkFDQ0wsV0FBVyxJQUFJLENBQUNBLFNBQVM7Z0JBQ3pCQyxTQUFTLElBQUksQ0FBQ0EsT0FBTztZQUN6QjtZQUNBSyxVQUFVQyxJQUFJRCxPQUFPO1FBQ3pCLEVBQ0EsT0FBT0ssT0FBTztZQUNWZCxJQUFJYyxLQUFLLENBQUMsa0JBQWtCQTtZQUM1QixNQUFNLElBQUlDLE1BQU07UUFDcEI7UUFDQSxJQUFJLENBQUNOLFNBQ0QsTUFBTSxJQUFJTSxNQUFNLENBQUMsa0JBQWtCLEVBQUVQLE9BQU8sQ0FBQztRQUNqRCxNQUFNUSxPQUFPUCxRQUFRUSxHQUFHLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUYsSUFBSTtRQUN0QyxNQUFNRyxTQUFTLEVBQUU7UUFDakJILEtBQUtJLE9BQU8sQ0FBQyxDQUFDQztZQUNWLElBQUksT0FBT0EsTUFBTSxVQUFVO2dCQUN2QkYsT0FBT0csSUFBSSxDQUFDRDtZQUNoQixPQUNLLElBQUlFLE1BQU1DLE9BQU8sQ0FBQ0gsSUFBSTtnQkFDdkJBLEVBQUVELE9BQU8sQ0FBQyxDQUFDSztvQkFDUCxJQUFJLE9BQU9BLE9BQU8sVUFBVTt3QkFDeEJOLE9BQU9HLElBQUksQ0FBQ0c7b0JBQ2hCLE9BQ0s7d0JBQ0ROLE9BQU9HLElBQUksQ0FBQ3pCLDhEQUFXQSxDQUFDNEI7b0JBQzVCO2dCQUNKO1lBQ0osT0FDSztnQkFDRE4sT0FBT0csSUFBSSxDQUFDekIsOERBQVdBLENBQUN3QjtZQUM1QjtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtBQUNKLEVBQ0EsMENBQTBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvZG5zL2Ruc19vdmVyX2h0dHBzLmpzP2MzZmEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBieXRlc1RvVXRmOCB9IGZyb20gXCJAd2FrdS91dGlscy9ieXRlc1wiO1xuaW1wb3J0IHsgcXVlcnksIHdlbGxrbm93biB9IGZyb20gXCJkbnMtcXVlcnlcIjtcbmNvbnN0IGxvZyA9IG5ldyBMb2dnZXIoXCJkbnMtb3Zlci1odHRwc1wiKTtcbmV4cG9ydCBjbGFzcyBEbnNPdmVySHR0cHMge1xuICAgIGVuZHBvaW50cztcbiAgICByZXRyaWVzO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBuZXcgRG5zLU92ZXItSHR0cCBETlMgY2xpZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIGVuZHBvaW50cyBUaGUgZW5kcG9pbnRzIGZvciBEbnMtT3Zlci1IdHRwcyBxdWVyaWVzO1xuICAgICAqIERlZmF1bHRzIHRvIHVzaW5nIGRucy1xdWVyeSdzIEFQSS4uXG4gICAgICogQHBhcmFtIHJldHJpZXMgUmV0cmllcyBpZiBhIGdpdmVuIGVuZHBvaW50IGZhaWxzLlxuICAgICAqXG4gICAgICogQHRocm93cyB7Y29kZTogc3RyaW5nfSBJZiBETlMgcXVlcnkgZmFpbHMuXG4gICAgICovXG4gICAgc3RhdGljIGFzeW5jIGNyZWF0ZShlbmRwb2ludHMsIHJldHJpZXMpIHtcbiAgICAgICAgY29uc3QgX2VuZHBvaW50cyA9IGVuZHBvaW50cyA/PyAoYXdhaXQgd2VsbGtub3duLmVuZHBvaW50cyhcImRvaFwiKSk7XG4gICAgICAgIHJldHVybiBuZXcgRG5zT3Zlckh0dHBzKF9lbmRwb2ludHMsIHJldHJpZXMpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihlbmRwb2ludHMsIHJldHJpZXMgPSAzKSB7XG4gICAgICAgIHRoaXMuZW5kcG9pbnRzID0gZW5kcG9pbnRzO1xuICAgICAgICB0aGlzLnJldHJpZXMgPSByZXRyaWVzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNvbHZlcyBhIFRYVCByZWNvcmRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkb21haW4gVGhlIGRvbWFpbiBuYW1lXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIGlmIHRoZSBxdWVyeSBmYWlsc1xuICAgICAqL1xuICAgIGFzeW5jIHJlc29sdmVUWFQoZG9tYWluKSB7XG4gICAgICAgIGxldCBhbnN3ZXJzO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcXVlcnkoe1xuICAgICAgICAgICAgICAgIHF1ZXN0aW9uOiB7IHR5cGU6IFwiVFhUXCIsIG5hbWU6IGRvbWFpbiB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnRzOiB0aGlzLmVuZHBvaW50cyxcbiAgICAgICAgICAgICAgICByZXRyaWVzOiB0aGlzLnJldHJpZXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYW5zd2VycyA9IHJlcy5hbnN3ZXJzO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgbG9nLmVycm9yKFwicXVlcnkgZmFpbGVkOiBcIiwgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRE5TIHF1ZXJ5IGZhaWxlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWFuc3dlcnMpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCByZXNvbHZlICR7ZG9tYWlufWApO1xuICAgICAgICBjb25zdCBkYXRhID0gYW5zd2Vycy5tYXAoKGEpID0+IGEuZGF0YSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBkYXRhLmZvckVhY2goKGQpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkKSkge1xuICAgICAgICAgICAgICAgIGQuZm9yRWFjaCgoc2QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBzZCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goc2QpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goYnl0ZXNUb1V0Zjgoc2QpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goYnl0ZXNUb1V0ZjgoZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kbnNfb3Zlcl9odHRwcy5qcy5tYXAiXSwibmFtZXMiOlsiTG9nZ2VyIiwiYnl0ZXNUb1V0ZjgiLCJxdWVyeSIsIndlbGxrbm93biIsImxvZyIsIkRuc092ZXJIdHRwcyIsImNyZWF0ZSIsImVuZHBvaW50cyIsInJldHJpZXMiLCJfZW5kcG9pbnRzIiwiY29uc3RydWN0b3IiLCJyZXNvbHZlVFhUIiwiZG9tYWluIiwiYW5zd2VycyIsInJlcyIsInF1ZXN0aW9uIiwidHlwZSIsIm5hbWUiLCJlcnJvciIsIkVycm9yIiwiZGF0YSIsIm1hcCIsImEiLCJyZXN1bHQiLCJmb3JFYWNoIiwiZCIsInB1c2giLCJBcnJheSIsImlzQXJyYXkiLCJzZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/dns/dns_over_https.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/dns/enrtree.js":
/*!**********************************************************!*\
!*** ./node_modules/@waku/discovery/dist/dns/enrtree.js ***!
\**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ENRTree: () => (/* binding */ ENRTree)\n/* harmony export */ });\n/* harmony import */ var _waku_enr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/enr */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var hi_base32__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! hi-base32 */ \"(ssr)/./node_modules/hi-base32/src/base32.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n\n\n\n\n\nclass ENRTree {\n static{\n this.RECORD_PREFIX = _waku_enr__WEBPACK_IMPORTED_MODULE_0__.ENR.RECORD_PREFIX;\n }\n static{\n this.TREE_PREFIX = \"enrtree:\";\n }\n static{\n this.BRANCH_PREFIX = \"enrtree-branch:\";\n }\n static{\n this.ROOT_PREFIX = \"enrtree-root:\";\n }\n /**\n * Extracts the branch subdomain referenced by a DNS tree root string after verifying\n * the root record signature with its base32 compressed public key.\n */ static parseAndVerifyRoot(root, publicKey) {\n if (!root.startsWith(this.ROOT_PREFIX)) throw new Error(`ENRTree root entry must start with '${this.ROOT_PREFIX}'`);\n const rootValues = ENRTree.parseRootValues(root);\n const decodedPublicKey = hi_base32__WEBPACK_IMPORTED_MODULE_2__.decode.asBytes(publicKey);\n // The signature is a 65-byte secp256k1 over the keccak256 hash\n // of the record content, excluding the `sig=` part, encoded as URL-safe base64 string\n // (Trailing recovery bit must be trimmed to pass `ecdsaVerify` method)\n const signedComponent = root.split(\" sig\")[0];\n const signedComponentBuffer = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)(signedComponent);\n const signatureBuffer = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_3__.fromString)(rootValues.signature, \"base64url\").slice(0, 64);\n const isVerified = (0,_waku_enr__WEBPACK_IMPORTED_MODULE_0__.verifySignature)(signatureBuffer, (0,_waku_enr__WEBPACK_IMPORTED_MODULE_0__.keccak256)(signedComponentBuffer), new Uint8Array(decodedPublicKey));\n if (!isVerified) throw new Error(\"Unable to verify ENRTree root signature\");\n return rootValues.eRoot;\n }\n static parseRootValues(txt) {\n const matches = txt.match(/^enrtree-root:v1 e=([^ ]+) l=([^ ]+) seq=(\\d+) sig=([^ ]+)$/);\n if (!Array.isArray(matches)) throw new Error(\"Could not parse ENRTree root entry\");\n matches.shift(); // The first entry is the full match\n const [eRoot, lRoot, seq, signature] = matches;\n if (!eRoot) throw new Error(\"Could not parse 'e' value from ENRTree root entry\");\n if (!lRoot) throw new Error(\"Could not parse 'l' value from ENRTree root entry\");\n if (!seq) throw new Error(\"Could not parse 'seq' value from ENRTree root entry\");\n if (!signature) throw new Error(\"Could not parse 'sig' value from ENRTree root entry\");\n return {\n eRoot,\n lRoot,\n seq: Number(seq),\n signature\n };\n }\n /**\n * Returns the public key and top level domain of an ENR tree entry.\n * The domain is the starting point for traversing a set of linked DNS TXT records\n * and the public key is used to verify the root entry record\n */ static parseTree(tree) {\n if (!tree.startsWith(this.TREE_PREFIX)) throw new Error(`ENRTree tree entry must start with '${this.TREE_PREFIX}'`);\n const matches = tree.match(/^enrtree:\\/\\/([^@]+)@(.+)$/);\n if (!Array.isArray(matches)) throw new Error(\"Could not parse ENRTree tree entry\");\n matches.shift(); // The first entry is the full match\n const [publicKey, domain] = matches;\n if (!publicKey) throw new Error(\"Could not parse public key from ENRTree tree entry\");\n if (!domain) throw new Error(\"Could not parse domain from ENRTree tree entry\");\n return {\n publicKey,\n domain\n };\n }\n /**\n * Returns subdomains listed in an ENR branch entry. These in turn lead to\n * either further branch entries or ENR records.\n */ static parseBranch(branch) {\n if (!branch.startsWith(this.BRANCH_PREFIX)) throw new Error(`ENRTree branch entry must start with '${this.BRANCH_PREFIX}'`);\n return branch.split(this.BRANCH_PREFIX)[1].split(\",\");\n }\n} //# sourceMappingURL=enrtree.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvZG5zL2VucnRyZWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBZ0M7QUFDdUI7QUFDUDtBQUNqQjtBQUNzQjtBQUM5QyxNQUFNTTs7YUFDRkMsZ0JBQWdCUCwwQ0FBR0EsQ0FBQ08sYUFBYTs7O2FBQ2pDQyxjQUFjOzs7YUFDZEMsZ0JBQWdCOzs7YUFDaEJDLGNBQWM7O0lBQ3JCOzs7S0FHQyxHQUNELE9BQU9DLG1CQUFtQkMsSUFBSSxFQUFFQyxTQUFTLEVBQUU7UUFDdkMsSUFBSSxDQUFDRCxLQUFLRSxVQUFVLENBQUMsSUFBSSxDQUFDSixXQUFXLEdBQ2pDLE1BQU0sSUFBSUssTUFBTSxDQUFDLG9DQUFvQyxFQUFFLElBQUksQ0FBQ0wsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUM5RSxNQUFNTSxhQUFhVixRQUFRVyxlQUFlLENBQUNMO1FBQzNDLE1BQU1NLG1CQUFtQmQsNkNBQWEsQ0FBQ2dCLE9BQU8sQ0FBQ1A7UUFDL0MsK0RBQStEO1FBQy9ELHNGQUFzRjtRQUN0Rix1RUFBdUU7UUFDdkUsTUFBTVEsa0JBQWtCVCxLQUFLVSxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDN0MsTUFBTUMsd0JBQXdCcEIsOERBQVdBLENBQUNrQjtRQUMxQyxNQUFNRyxrQkFBa0JuQixtRUFBVUEsQ0FBQ1csV0FBV1MsU0FBUyxFQUFFLGFBQWFDLEtBQUssQ0FBQyxHQUFHO1FBQy9FLE1BQU1DLGFBQWF6QiwwREFBZUEsQ0FBQ3NCLGlCQUFpQnZCLG9EQUFTQSxDQUFDc0Isd0JBQXdCLElBQUlLLFdBQVdWO1FBQ3JHLElBQUksQ0FBQ1MsWUFDRCxNQUFNLElBQUlaLE1BQU07UUFDcEIsT0FBT0MsV0FBV2EsS0FBSztJQUMzQjtJQUNBLE9BQU9aLGdCQUFnQmEsR0FBRyxFQUFFO1FBQ3hCLE1BQU1DLFVBQVVELElBQUlFLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUNDLE1BQU1DLE9BQU8sQ0FBQ0gsVUFDZixNQUFNLElBQUloQixNQUFNO1FBQ3BCZ0IsUUFBUUksS0FBSyxJQUFJLG9DQUFvQztRQUNyRCxNQUFNLENBQUNOLE9BQU9PLE9BQU9DLEtBQUtaLFVBQVUsR0FBR007UUFDdkMsSUFBSSxDQUFDRixPQUNELE1BQU0sSUFBSWQsTUFBTTtRQUNwQixJQUFJLENBQUNxQixPQUNELE1BQU0sSUFBSXJCLE1BQU07UUFDcEIsSUFBSSxDQUFDc0IsS0FDRCxNQUFNLElBQUl0QixNQUFNO1FBQ3BCLElBQUksQ0FBQ1UsV0FDRCxNQUFNLElBQUlWLE1BQU07UUFDcEIsT0FBTztZQUFFYztZQUFPTztZQUFPQyxLQUFLQyxPQUFPRDtZQUFNWjtRQUFVO0lBQ3ZEO0lBQ0E7Ozs7S0FJQyxHQUNELE9BQU9jLFVBQVVDLElBQUksRUFBRTtRQUNuQixJQUFJLENBQUNBLEtBQUsxQixVQUFVLENBQUMsSUFBSSxDQUFDTixXQUFXLEdBQ2pDLE1BQU0sSUFBSU8sTUFBTSxDQUFDLG9DQUFvQyxFQUFFLElBQUksQ0FBQ1AsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUM5RSxNQUFNdUIsVUFBVVMsS0FBS1IsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQ0MsTUFBTUMsT0FBTyxDQUFDSCxVQUNmLE1BQU0sSUFBSWhCLE1BQU07UUFDcEJnQixRQUFRSSxLQUFLLElBQUksb0NBQW9DO1FBQ3JELE1BQU0sQ0FBQ3RCLFdBQVc0QixPQUFPLEdBQUdWO1FBQzVCLElBQUksQ0FBQ2xCLFdBQ0QsTUFBTSxJQUFJRSxNQUFNO1FBQ3BCLElBQUksQ0FBQzBCLFFBQ0QsTUFBTSxJQUFJMUIsTUFBTTtRQUNwQixPQUFPO1lBQUVGO1lBQVc0QjtRQUFPO0lBQy9CO0lBQ0E7OztLQUdDLEdBQ0QsT0FBT0MsWUFBWUMsTUFBTSxFQUFFO1FBQ3ZCLElBQUksQ0FBQ0EsT0FBTzdCLFVBQVUsQ0FBQyxJQUFJLENBQUNMLGFBQWEsR0FDckMsTUFBTSxJQUFJTSxNQUFNLENBQUMsc0NBQXNDLEVBQUUsSUFBSSxDQUFDTixhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLE9BQU9rQyxPQUFPckIsS0FBSyxDQUFDLElBQUksQ0FBQ2IsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDYSxLQUFLLENBQUM7SUFDckQ7QUFDSixFQUNBLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9kaXN0L2Rucy9lbnJ0cmVlLmpzPzdhYWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU5SIH0gZnJvbSBcIkB3YWt1L2VuclwiO1xuaW1wb3J0IHsga2VjY2FrMjU2LCB2ZXJpZnlTaWduYXR1cmUgfSBmcm9tIFwiQHdha3UvZW5yXCI7XG5pbXBvcnQgeyB1dGY4VG9CeXRlcyB9IGZyb20gXCJAd2FrdS91dGlscy9ieXRlc1wiO1xuaW1wb3J0IGJhc2UzMiBmcm9tIFwiaGktYmFzZTMyXCI7XG5pbXBvcnQgeyBmcm9tU3RyaW5nIH0gZnJvbSBcInVpbnQ4YXJyYXlzL2Zyb20tc3RyaW5nXCI7XG5leHBvcnQgY2xhc3MgRU5SVHJlZSB7XG4gICAgc3RhdGljIFJFQ09SRF9QUkVGSVggPSBFTlIuUkVDT1JEX1BSRUZJWDtcbiAgICBzdGF0aWMgVFJFRV9QUkVGSVggPSBcImVucnRyZWU6XCI7XG4gICAgc3RhdGljIEJSQU5DSF9QUkVGSVggPSBcImVucnRyZWUtYnJhbmNoOlwiO1xuICAgIHN0YXRpYyBST09UX1BSRUZJWCA9IFwiZW5ydHJlZS1yb290OlwiO1xuICAgIC8qKlxuICAgICAqIEV4dHJhY3RzIHRoZSBicmFuY2ggc3ViZG9tYWluIHJlZmVyZW5jZWQgYnkgYSBETlMgdHJlZSByb290IHN0cmluZyBhZnRlciB2ZXJpZnlpbmdcbiAgICAgKiB0aGUgcm9vdCByZWNvcmQgc2lnbmF0dXJlIHdpdGggaXRzIGJhc2UzMiBjb21wcmVzc2VkIHB1YmxpYyBrZXkuXG4gICAgICovXG4gICAgc3RhdGljIHBhcnNlQW5kVmVyaWZ5Um9vdChyb290LCBwdWJsaWNLZXkpIHtcbiAgICAgICAgaWYgKCFyb290LnN0YXJ0c1dpdGgodGhpcy5ST09UX1BSRUZJWCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVOUlRyZWUgcm9vdCBlbnRyeSBtdXN0IHN0YXJ0IHdpdGggJyR7dGhpcy5ST09UX1BSRUZJWH0nYCk7XG4gICAgICAgIGNvbnN0IHJvb3RWYWx1ZXMgPSBFTlJUcmVlLnBhcnNlUm9vdFZhbHVlcyhyb290KTtcbiAgICAgICAgY29uc3QgZGVjb2RlZFB1YmxpY0tleSA9IGJhc2UzMi5kZWNvZGUuYXNCeXRlcyhwdWJsaWNLZXkpO1xuICAgICAgICAvLyBUaGUgc2lnbmF0dXJlIGlzIGEgNjUtYnl0ZSBzZWNwMjU2azEgb3ZlciB0aGUga2VjY2FrMjU2IGhhc2hcbiAgICAgICAgLy8gb2YgdGhlIHJlY29yZCBjb250ZW50LCBleGNsdWRpbmcgdGhlIGBzaWc9YCBwYXJ0LCBlbmNvZGVkIGFzIFVSTC1zYWZlIGJhc2U2NCBzdHJpbmdcbiAgICAgICAgLy8gKFRyYWlsaW5nIHJlY292ZXJ5IGJpdCBtdXN0IGJlIHRyaW1tZWQgdG8gcGFzcyBgZWNkc2FWZXJpZnlgIG1ldGhvZClcbiAgICAgICAgY29uc3Qgc2lnbmVkQ29tcG9uZW50ID0gcm9vdC5zcGxpdChcIiBzaWdcIilbMF07XG4gICAgICAgIGNvbnN0IHNpZ25lZENvbXBvbmVudEJ1ZmZlciA9IHV0ZjhUb0J5dGVzKHNpZ25lZENvbXBvbmVudCk7XG4gICAgICAgIGNvbnN0IHNpZ25hdHVyZUJ1ZmZlciA9IGZyb21TdHJpbmcocm9vdFZhbHVlcy5zaWduYXR1cmUsIFwiYmFzZTY0dXJsXCIpLnNsaWNlKDAsIDY0KTtcbiAgICAgICAgY29uc3QgaXNWZXJpZmllZCA9IHZlcmlmeVNpZ25hdHVyZShzaWduYXR1cmVCdWZmZXIsIGtlY2NhazI1NihzaWduZWRDb21wb25lbnRCdWZmZXIpLCBuZXcgVWludDhBcnJheShkZWNvZGVkUHVibGljS2V5KSk7XG4gICAgICAgIGlmICghaXNWZXJpZmllZClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuYWJsZSB0byB2ZXJpZnkgRU5SVHJlZSByb290IHNpZ25hdHVyZVwiKTtcbiAgICAgICAgcmV0dXJuIHJvb3RWYWx1ZXMuZVJvb3Q7XG4gICAgfVxuICAgIHN0YXRpYyBwYXJzZVJvb3RWYWx1ZXModHh0KSB7XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSB0eHQubWF0Y2goL15lbnJ0cmVlLXJvb3Q6djEgZT0oW14gXSspIGw9KFteIF0rKSBzZXE9KFxcZCspIHNpZz0oW14gXSspJC8pO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkobWF0Y2hlcykpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgcGFyc2UgRU5SVHJlZSByb290IGVudHJ5XCIpO1xuICAgICAgICBtYXRjaGVzLnNoaWZ0KCk7IC8vIFRoZSBmaXJzdCBlbnRyeSBpcyB0aGUgZnVsbCBtYXRjaFxuICAgICAgICBjb25zdCBbZVJvb3QsIGxSb290LCBzZXEsIHNpZ25hdHVyZV0gPSBtYXRjaGVzO1xuICAgICAgICBpZiAoIWVSb290KVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IHBhcnNlICdlJyB2YWx1ZSBmcm9tIEVOUlRyZWUgcm9vdCBlbnRyeVwiKTtcbiAgICAgICAgaWYgKCFsUm9vdClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBwYXJzZSAnbCcgdmFsdWUgZnJvbSBFTlJUcmVlIHJvb3QgZW50cnlcIik7XG4gICAgICAgIGlmICghc2VxKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IHBhcnNlICdzZXEnIHZhbHVlIGZyb20gRU5SVHJlZSByb290IGVudHJ5XCIpO1xuICAgICAgICBpZiAoIXNpZ25hdHVyZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBwYXJzZSAnc2lnJyB2YWx1ZSBmcm9tIEVOUlRyZWUgcm9vdCBlbnRyeVwiKTtcbiAgICAgICAgcmV0dXJuIHsgZVJvb3QsIGxSb290LCBzZXE6IE51bWJlcihzZXEpLCBzaWduYXR1cmUgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgcHVibGljIGtleSBhbmQgdG9wIGxldmVsIGRvbWFpbiBvZiBhbiBFTlIgdHJlZSBlbnRyeS5cbiAgICAgKiBUaGUgZG9tYWluIGlzIHRoZSBzdGFydGluZyBwb2ludCBmb3IgdHJhdmVyc2luZyBhIHNldCBvZiBsaW5rZWQgRE5TIFRYVCByZWNvcmRzXG4gICAgICogYW5kIHRoZSBwdWJsaWMga2V5IGlzIHVzZWQgdG8gdmVyaWZ5IHRoZSByb290IGVudHJ5IHJlY29yZFxuICAgICAqL1xuICAgIHN0YXRpYyBwYXJzZVRyZWUodHJlZSkge1xuICAgICAgICBpZiAoIXRyZWUuc3RhcnRzV2l0aCh0aGlzLlRSRUVfUFJFRklYKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRU5SVHJlZSB0cmVlIGVudHJ5IG11c3Qgc3RhcnQgd2l0aCAnJHt0aGlzLlRSRUVfUFJFRklYfSdgKTtcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHRyZWUubWF0Y2goL15lbnJ0cmVlOlxcL1xcLyhbXkBdKylAKC4rKSQvKTtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1hdGNoZXMpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IHBhcnNlIEVOUlRyZWUgdHJlZSBlbnRyeVwiKTtcbiAgICAgICAgbWF0Y2hlcy5zaGlmdCgpOyAvLyBUaGUgZmlyc3QgZW50cnkgaXMgdGhlIGZ1bGwgbWF0Y2hcbiAgICAgICAgY29uc3QgW3B1YmxpY0tleSwgZG9tYWluXSA9IG1hdGNoZXM7XG4gICAgICAgIGlmICghcHVibGljS2V5KVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IHBhcnNlIHB1YmxpYyBrZXkgZnJvbSBFTlJUcmVlIHRyZWUgZW50cnlcIik7XG4gICAgICAgIGlmICghZG9tYWluKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IHBhcnNlIGRvbWFpbiBmcm9tIEVOUlRyZWUgdHJlZSBlbnRyeVwiKTtcbiAgICAgICAgcmV0dXJuIHsgcHVibGljS2V5LCBkb21haW4gfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBzdWJkb21haW5zIGxpc3RlZCBpbiBhbiBFTlIgYnJhbmNoIGVudHJ5LiBUaGVzZSBpbiB0dXJuIGxlYWQgdG9cbiAgICAgKiBlaXRoZXIgZnVydGhlciBicmFuY2ggZW50cmllcyBvciBFTlIgcmVjb3Jkcy5cbiAgICAgKi9cbiAgICBzdGF0aWMgcGFyc2VCcmFuY2goYnJhbmNoKSB7XG4gICAgICAgIGlmICghYnJhbmNoLnN0YXJ0c1dpdGgodGhpcy5CUkFOQ0hfUFJFRklYKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRU5SVHJlZSBicmFuY2ggZW50cnkgbXVzdCBzdGFydCB3aXRoICcke3RoaXMuQlJBTkNIX1BSRUZJWH0nYCk7XG4gICAgICAgIHJldHVybiBicmFuY2guc3BsaXQodGhpcy5CUkFOQ0hfUFJFRklYKVsxXS5zcGxpdChcIixcIik7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5ydHJlZS5qcy5tYXAiXSwibmFtZXMiOlsiRU5SIiwia2VjY2FrMjU2IiwidmVyaWZ5U2lnbmF0dXJlIiwidXRmOFRvQnl0ZXMiLCJiYXNlMzIiLCJmcm9tU3RyaW5nIiwiRU5SVHJlZSIsIlJFQ09SRF9QUkVGSVgiLCJUUkVFX1BSRUZJWCIsIkJSQU5DSF9QUkVGSVgiLCJST09UX1BSRUZJWCIsInBhcnNlQW5kVmVyaWZ5Um9vdCIsInJvb3QiLCJwdWJsaWNLZXkiLCJzdGFydHNXaXRoIiwiRXJyb3IiLCJyb290VmFsdWVzIiwicGFyc2VSb290VmFsdWVzIiwiZGVjb2RlZFB1YmxpY0tleSIsImRlY29kZSIsImFzQnl0ZXMiLCJzaWduZWRDb21wb25lbnQiLCJzcGxpdCIsInNpZ25lZENvbXBvbmVudEJ1ZmZlciIsInNpZ25hdHVyZUJ1ZmZlciIsInNpZ25hdHVyZSIsInNsaWNlIiwiaXNWZXJpZmllZCIsIlVpbnQ4QXJyYXkiLCJlUm9vdCIsInR4dCIsIm1hdGNoZXMiLCJtYXRjaCIsIkFycmF5IiwiaXNBcnJheSIsInNoaWZ0IiwibFJvb3QiLCJzZXEiLCJOdW1iZXIiLCJwYXJzZVRyZWUiLCJ0cmVlIiwiZG9tYWluIiwicGFyc2VCcmFuY2giLCJicmFuY2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/dns/enrtree.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/dns/fetch_nodes.js":
/*!**************************************************************!*\
!*** ./node_modules/@waku/discovery/dist/dns/fetch_nodes.js ***!
\**************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fetchNodesUntilCapabilitiesFulfilled: () => (/* binding */ fetchNodesUntilCapabilitiesFulfilled),\n/* harmony export */ yieldNodesUntilCapabilitiesFulfilled: () => (/* binding */ yieldNodesUntilCapabilitiesFulfilled)\n/* harmony export */ });\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_0__.Logger(\"discovery:fetch_nodes\");\n/**\n * Fetch nodes using passed [[getNode]] until all wanted capabilities are\n * fulfilled or the number of [[getNode]] call exceeds the sum of\n * [[wantedNodeCapabilityCount]] plus [[errorTolerance]].\n */ async function fetchNodesUntilCapabilitiesFulfilled(wantedNodeCapabilityCount, errorTolerance, getNode) {\n const wanted = {\n relay: wantedNodeCapabilityCount.relay ?? 0,\n store: wantedNodeCapabilityCount.store ?? 0,\n filter: wantedNodeCapabilityCount.filter ?? 0,\n lightPush: wantedNodeCapabilityCount.lightPush ?? 0\n };\n const maxSearches = wanted.relay + wanted.store + wanted.filter + wanted.lightPush;\n const actual = {\n relay: 0,\n store: 0,\n filter: 0,\n lightPush: 0\n };\n let totalSearches = 0;\n const peers = [];\n while(!isSatisfied(wanted, actual) && totalSearches < maxSearches + errorTolerance){\n const peer = await getNode();\n if (peer && isNewPeer(peer, peers)) {\n // ENRs without a waku2 key are ignored.\n if (peer.waku2) {\n if (helpsSatisfyCapabilities(peer.waku2, wanted, actual)) {\n addCapabilities(peer.waku2, actual);\n peers.push(peer);\n }\n }\n log.info(`got new peer candidate from DNS address=${peer.nodeId}@${peer.ip}`);\n }\n totalSearches++;\n }\n return peers;\n}\n/**\n * Fetch nodes using passed [[getNode]] until all wanted capabilities are\n * fulfilled or the number of [[getNode]] call exceeds the sum of\n * [[wantedNodeCapabilityCount]] plus [[errorTolerance]].\n */ async function* yieldNodesUntilCapabilitiesFulfilled(wantedNodeCapabilityCount, errorTolerance, getNode) {\n const wanted = {\n relay: wantedNodeCapabilityCount.relay ?? 0,\n store: wantedNodeCapabilityCount.store ?? 0,\n filter: wantedNodeCapabilityCount.filter ?? 0,\n lightPush: wantedNodeCapabilityCount.lightPush ?? 0\n };\n const maxSearches = wanted.relay + wanted.store + wanted.filter + wanted.lightPush;\n const actual = {\n relay: 0,\n store: 0,\n filter: 0,\n lightPush: 0\n };\n let totalSearches = 0;\n const peerNodeIds = new Set();\n while(!isSatisfied(wanted, actual) && totalSearches < maxSearches + errorTolerance){\n const peer = await getNode();\n if (peer && peer.nodeId && !peerNodeIds.has(peer.nodeId)) {\n peerNodeIds.add(peer.nodeId);\n // ENRs without a waku2 key are ignored.\n if (peer.waku2) {\n if (helpsSatisfyCapabilities(peer.waku2, wanted, actual)) {\n addCapabilities(peer.waku2, actual);\n yield peer;\n }\n }\n log.info(`got new peer candidate from DNS address=${peer.nodeId}@${peer.ip}`);\n }\n totalSearches++;\n }\n}\nfunction isSatisfied(wanted, actual) {\n return actual.relay >= wanted.relay && actual.store >= wanted.store && actual.filter >= wanted.filter && actual.lightPush >= wanted.lightPush;\n}\nfunction isNewPeer(peer, peers) {\n if (!peer.nodeId) return false;\n for (const existingPeer of peers){\n if (peer.nodeId === existingPeer.nodeId) {\n return false;\n }\n }\n return true;\n}\nfunction addCapabilities(node, total) {\n if (node.relay) total.relay += 1;\n if (node.store) total.store += 1;\n if (node.filter) total.filter += 1;\n if (node.lightPush) total.lightPush += 1;\n}\n/**\n * Checks if the proposed ENR [[node]] helps satisfy the [[wanted]] capabilities,\n * considering the [[actual]] capabilities of nodes retrieved so far..\n *\n * @throws If the function is called when the wanted capabilities are already fulfilled.\n */ function helpsSatisfyCapabilities(node, wanted, actual) {\n if (isSatisfied(wanted, actual)) {\n throw \"Internal Error: Waku2 wanted capabilities are already fulfilled\";\n }\n const missing = missingCapabilities(wanted, actual);\n return missing.relay && node.relay || missing.store && node.store || missing.filter && node.filter || missing.lightPush && node.lightPush;\n}\n/**\n * Return a [[Waku2]] Object for which capabilities are set to true if they are\n * [[wanted]] yet missing from [[actual]].\n */ function missingCapabilities(wanted, actual) {\n return {\n relay: actual.relay < wanted.relay,\n store: actual.store < wanted.store,\n filter: actual.filter < wanted.filter,\n lightPush: actual.lightPush < wanted.lightPush\n };\n} //# sourceMappingURL=fetch_nodes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvZG5zL2ZldGNoX25vZGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFxQztBQUNyQyxNQUFNQyxNQUFNLElBQUlELCtDQUFNQSxDQUFDO0FBQ3ZCOzs7O0NBSUMsR0FDTSxlQUFlRSxxQ0FBcUNDLHlCQUF5QixFQUFFQyxjQUFjLEVBQUVDLE9BQU87SUFDekcsTUFBTUMsU0FBUztRQUNYQyxPQUFPSiwwQkFBMEJJLEtBQUssSUFBSTtRQUMxQ0MsT0FBT0wsMEJBQTBCSyxLQUFLLElBQUk7UUFDMUNDLFFBQVFOLDBCQUEwQk0sTUFBTSxJQUFJO1FBQzVDQyxXQUFXUCwwQkFBMEJPLFNBQVMsSUFBSTtJQUN0RDtJQUNBLE1BQU1DLGNBQWNMLE9BQU9DLEtBQUssR0FBR0QsT0FBT0UsS0FBSyxHQUFHRixPQUFPRyxNQUFNLEdBQUdILE9BQU9JLFNBQVM7SUFDbEYsTUFBTUUsU0FBUztRQUNYTCxPQUFPO1FBQ1BDLE9BQU87UUFDUEMsUUFBUTtRQUNSQyxXQUFXO0lBQ2Y7SUFDQSxJQUFJRyxnQkFBZ0I7SUFDcEIsTUFBTUMsUUFBUSxFQUFFO0lBQ2hCLE1BQU8sQ0FBQ0MsWUFBWVQsUUFBUU0sV0FDeEJDLGdCQUFnQkYsY0FBY1AsZUFBZ0I7UUFDOUMsTUFBTVksT0FBTyxNQUFNWDtRQUNuQixJQUFJVyxRQUFRQyxVQUFVRCxNQUFNRixRQUFRO1lBQ2hDLHdDQUF3QztZQUN4QyxJQUFJRSxLQUFLRSxLQUFLLEVBQUU7Z0JBQ1osSUFBSUMseUJBQXlCSCxLQUFLRSxLQUFLLEVBQUVaLFFBQVFNLFNBQVM7b0JBQ3REUSxnQkFBZ0JKLEtBQUtFLEtBQUssRUFBRU47b0JBQzVCRSxNQUFNTyxJQUFJLENBQUNMO2dCQUNmO1lBQ0o7WUFDQWYsSUFBSXFCLElBQUksQ0FBQyxDQUFDLHdDQUF3QyxFQUFFTixLQUFLTyxNQUFNLENBQUMsQ0FBQyxFQUFFUCxLQUFLUSxFQUFFLENBQUMsQ0FBQztRQUNo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QUFvQjVCLE1BQU0sRUFBRU0sTUFBTTtJQUN2QyxPQUFPO1FBQ0hMLE9BQU9LLE9BQU9MLEtBQUssR0FBR0QsT0FBT0MsS0FBSztRQUNsQ0MsT0FBT0ksT0FBT0osS0FBSyxHQUFHRixPQUFPRSxLQUFLO1FBQ2xDQyxRQUFRRyxPQUFPSCxNQUFNLEdBQUdILE9BQU9HLE1BQU07UUFDckNDLFdBQVdFLE9BQU9GLFNBQVMsR0FBR0osT0FBT0ksU0FBUztJQUNsRDtBQUNKLEVBQ0EsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvZG5zL2ZldGNoX25vZGVzLmpzPzdlOTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKFwiZGlzY292ZXJ5OmZldGNoX25vZGVzXCIpO1xuLyoqXG4gKiBGZXRjaCBub2RlcyB1c2luZyBwYXNzZWQgW1tnZXROb2RlXV0gdW50aWwgYWxsIHdhbnRlZCBjYXBhYmlsaXRpZXMgYXJlXG4gKiBmdWxmaWxsZWQgb3IgdGhlIG51bWJlciBvZiBbW2dldE5vZGVdXSBjYWxsIGV4Y2VlZHMgdGhlIHN1bSBvZlxuICogW1t3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50XV0gcGx1cyBbW2Vycm9yVG9sZXJhbmNlXV0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaE5vZGVzVW50aWxDYXBhYmlsaXRpZXNGdWxmaWxsZWQod2FudGVkTm9kZUNhcGFiaWxpdHlDb3VudCwgZXJyb3JUb2xlcmFuY2UsIGdldE5vZGUpIHtcbiAgICBjb25zdCB3YW50ZWQgPSB7XG4gICAgICAgIHJlbGF5OiB3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50LnJlbGF5ID8/IDAsXG4gICAgICAgIHN0b3JlOiB3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50LnN0b3JlID8/IDAsXG4gICAgICAgIGZpbHRlcjogd2FudGVkTm9kZUNhcGFiaWxpdHlDb3VudC5maWx0ZXIgPz8gMCxcbiAgICAgICAgbGlnaHRQdXNoOiB3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50LmxpZ2h0UHVzaCA/PyAwXG4gICAgfTtcbiAgICBjb25zdCBtYXhTZWFyY2hlcyA9IHdhbnRlZC5yZWxheSArIHdhbnRlZC5zdG9yZSArIHdhbnRlZC5maWx0ZXIgKyB3YW50ZWQubGlnaHRQdXNoO1xuICAgIGNvbnN0IGFjdHVhbCA9IHtcbiAgICAgICAgcmVsYXk6IDAsXG4gICAgICAgIHN0b3JlOiAwLFxuICAgICAgICBmaWx0ZXI6IDAsXG4gICAgICAgIGxpZ2h0UHVzaDogMFxuICAgIH07XG4gICAgbGV0IHRvdGFsU2VhcmNoZXMgPSAwO1xuICAgIGNvbnN0IHBlZXJzID0gW107XG4gICAgd2hpbGUgKCFpc1NhdGlzZmllZCh3YW50ZWQsIGFjdHVhbCkgJiZcbiAgICAgICAgdG90YWxTZWFyY2hlcyA8IG1heFNlYXJjaGVzICsgZXJyb3JUb2xlcmFuY2UpIHtcbiAgICAgICAgY29uc3QgcGVlciA9IGF3YWl0IGdldE5vZGUoKTtcbiAgICAgICAgaWYgKHBlZXIgJiYgaXNOZXdQZWVyKHBlZXIsIHBlZXJzKSkge1xuICAgICAgICAgICAgLy8gRU5ScyB3aXRob3V0IGEgd2FrdTIga2V5IGFyZSBpZ25vcmVkLlxuICAgICAgICAgICAgaWYgKHBlZXIud2FrdTIpIHtcbiAgICAgICAgICAgICAgICBpZiAoaGVscHNTYXRpc2Z5Q2FwYWJpbGl0aWVzKHBlZXIud2FrdTIsIHdhbnRlZCwgYWN0dWFsKSkge1xuICAgICAgICAgICAgICAgICAgICBhZGRDYXBhYmlsaXRpZXMocGVlci53YWt1MiwgYWN0dWFsKTtcbiAgICAgICAgICAgICAgICAgICAgcGVlcnMucHVzaChwZWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb2cuaW5mbyhgZ290IG5ldyBwZWVyIGNhbmRpZGF0ZSBmcm9tIEROUyBhZGRyZXNzPSR7cGVlci5ub2RlSWR9QCR7cGVlci5pcH1gKTtcbiAgICAgICAgfVxuICAgICAgICB0b3RhbFNlYXJjaGVzKys7XG4gICAgfVxuICAgIHJldHVybiBwZWVycztcbn1cbi8qKlxuICogRmV0Y2ggbm9kZXMgdXNpbmcgcGFzc2VkIFtbZ2V0Tm9kZV1dIHVudGlsIGFsbCB3YW50ZWQgY2FwYWJpbGl0aWVzIGFyZVxuICogZnVsZmlsbGVkIG9yIHRoZSBudW1iZXIgb2YgW1tnZXROb2RlXV0gY2FsbCBleGNlZWRzIHRoZSBzdW0gb2ZcbiAqIFtbd2FudGVkTm9kZUNhcGFiaWxpdHlDb3VudF1dIHBsdXMgW1tlcnJvclRvbGVyYW5jZV1dLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIHlpZWxkTm9kZXNVbnRpbENhcGFiaWxpdGllc0Z1bGZpbGxlZCh3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50LCBlcnJvclRvbGVyYW5jZSwgZ2V0Tm9kZSkge1xuICAgIGNvbnN0IHdhbnRlZCA9IHtcbiAgICAgICAgcmVsYXk6IHdhbnRlZE5vZGVDYXBhYmlsaXR5Q291bnQucmVsYXkgPz8gMCxcbiAgICAgICAgc3RvcmU6IHdhbnRlZE5vZGVDYXBhYmlsaXR5Q291bnQuc3RvcmUgPz8gMCxcbiAgICAgICAgZmlsdGVyOiB3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50LmZpbHRlciA/PyAwLFxuICAgICAgICBsaWdodFB1c2g6IHdhbnRlZE5vZGVDYXBhYmlsaXR5Q291bnQubGlnaHRQdXNoID8/IDBcbiAgICB9O1xuICAgIGNvbnN0IG1heFNlYXJjaGVzID0gd2FudGVkLnJlbGF5ICsgd2FudGVkLnN0b3JlICsgd2FudGVkLmZpbHRlciArIHdhbnRlZC5saWdodFB1c2g7XG4gICAgY29uc3QgYWN0dWFsID0ge1xuICAgICAgICByZWxheTogMCxcbiAgICAgICAgc3RvcmU6IDAsXG4gICAgICAgIGZpbHRlcjogMCxcbiAgICAgICAgbGlnaHRQdXNoOiAwXG4gICAgfTtcbiAgICBsZXQgdG90YWxTZWFyY2hlcyA9IDA7XG4gICAgY29uc3QgcGVlck5vZGVJZHMgPSBuZXcgU2V0KCk7XG4gICAgd2hpbGUgKCFpc1NhdGlzZmllZCh3YW50ZWQsIGFjdHVhbCkgJiZcbiAgICAgICAgdG90YWxTZWFyY2hlcyA8IG1heFNlYXJjaGVzICsgZXJyb3JUb2xlcmFuY2UpIHtcbiAgICAgICAgY29uc3QgcGVlciA9IGF3YWl0IGdldE5vZGUoKTtcbiAgICAgICAgaWYgKHBlZXIgJiYgcGVlci5ub2RlSWQgJiYgIXBlZXJOb2RlSWRzLmhhcyhwZWVyLm5vZGVJZCkpIHtcbiAgICAgICAgICAgIHBlZXJOb2RlSWRzLmFkZChwZWVyLm5vZGVJZCk7XG4gICAgICAgICAgICAvLyBFTlJzIHdpdGhvdXQgYSB3YWt1MiBrZXkgYXJlIGlnbm9yZWQuXG4gICAgICAgICAgICBpZiAocGVlci53YWt1Mikge1xuICAgICAgICAgICAgICAgIGlmIChoZWxwc1NhdGlzZnlDYXBhYmlsaXRpZXMocGVlci53YWt1Miwgd2FudGVkLCBhY3R1YWwpKSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZENhcGFiaWxpdGllcyhwZWVyLndha3UyLCBhY3R1YWwpO1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCBwZWVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxvZy5pbmZvKGBnb3QgbmV3IHBlZXIgY2FuZGlkYXRlIGZyb20gRE5TIGFkZHJlc3M9JHtwZWVyLm5vZGVJZH1AJHtwZWVyLmlwfWApO1xuICAgICAgICB9XG4gICAgICAgIHRvdGFsU2VhcmNoZXMrKztcbiAgICB9XG59XG5mdW5jdGlvbiBpc1NhdGlzZmllZCh3YW50ZWQsIGFjdHVhbCkge1xuICAgIHJldHVybiAoYWN0dWFsLnJlbGF5ID49IHdhbnRlZC5yZWxheSAmJlxuICAgICAgICBhY3R1YWwuc3RvcmUgPj0gd2FudGVkLnN0b3JlICYmXG4gICAgICAgIGFjdHVhbC5maWx0ZXIgPj0gd2FudGVkLmZpbHRlciAmJlxuICAgICAgICBhY3R1YWwubGlnaHRQdXNoID49IHdhbnRlZC5saWdodFB1c2gpO1xufVxuZnVuY3Rpb24gaXNOZXdQZWVyKHBlZXIsIHBlZXJzKSB7XG4gICAgaWYgKCFwZWVyLm5vZGVJZClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAoY29uc3QgZXhpc3RpbmdQZWVyIG9mIHBlZXJzKSB7XG4gICAgICAgIGlmIChwZWVyLm5vZGVJZCA9PT0gZXhpc3RpbmdQZWVyLm5vZGVJZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gYWRkQ2FwYWJpbGl0aWVzKG5vZGUsIHRvdGFsKSB7XG4gICAgaWYgKG5vZGUucmVsYXkpXG4gICAgICAgIHRvdGFsLnJlbGF5ICs9IDE7XG4gICAgaWYgKG5vZGUuc3RvcmUpXG4gICAgICAgIHRvdGFsLnN0b3JlICs9IDE7XG4gICAgaWYgKG5vZGUuZmlsdGVyKVxuICAgICAgICB0b3RhbC5maWx0ZXIgKz0gMTtcbiAgICBpZiAobm9kZS5saWdodFB1c2gpXG4gICAgICAgIHRvdGFsLmxpZ2h0UHVzaCArPSAxO1xufVxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIHByb3Bvc2VkIEVOUiBbW25vZGVdXSBoZWxwcyBzYXRpc2Z5IHRoZSBbW3dhbnRlZF1dIGNhcGFiaWxpdGllcyxcbiAqIGNvbnNpZGVyaW5nIHRoZSBbW2FjdHVhbF1dIGNhcGFiaWxpdGllcyBvZiBub2RlcyByZXRyaWV2ZWQgc28gZmFyLi5cbiAqXG4gKiBAdGhyb3dzIElmIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgd2FudGVkIGNhcGFiaWxpdGllcyBhcmUgYWxyZWFkeSBmdWxmaWxsZWQuXG4gKi9cbmZ1bmN0aW9uIGhlbHBzU2F0aXNmeUNhcGFiaWxpdGllcyhub2RlLCB3YW50ZWQsIGFjdHVhbCkge1xuICAgIGlmIChpc1NhdGlzZmllZCh3YW50ZWQsIGFjdHVhbCkpIHtcbiAgICAgICAgdGhyb3cgXCJJbnRlcm5hbCBFcnJvcjogV2FrdTIgd2FudGVkIGNhcGFiaWxpdGllcyBhcmUgYWxyZWFkeSBmdWxmaWxsZWRcIjtcbiAgICB9XG4gICAgY29uc3QgbWlzc2luZyA9IG1pc3NpbmdDYXBhYmlsaXRpZXMod2FudGVkLCBhY3R1YWwpO1xuICAgIHJldHVybiAoKG1pc3NpbmcucmVsYXkgJiYgbm9kZS5yZWxheSkgfHxcbiAgICAgICAgKG1pc3Npbmcuc3RvcmUgJiYgbm9kZS5zdG9yZSkgfHxcbiAgICAgICAgKG1pc3NpbmcuZmlsdGVyICYmIG5vZGUuZmlsdGVyKSB8fFxuICAgICAgICAobWlzc2luZy5saWdodFB1c2ggJiYgbm9kZS5saWdodFB1c2gpKTtcbn1cbi8qKlxuICogUmV0dXJuIGEgW1tXYWt1Ml1dIE9iamVjdCBmb3Igd2hpY2ggY2FwYWJpbGl0aWVzIGFyZSBzZXQgdG8gdHJ1ZSBpZiB0aGV5IGFyZVxuICogW1t3YW50ZWRdXSB5ZXQgbWlzc2luZyBmcm9tIFtbYWN0dWFsXV0uXG4gKi9cbmZ1bmN0aW9uIG1pc3NpbmdDYXBhYmlsaXRpZXMod2FudGVkLCBhY3R1YWwpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICByZWxheTogYWN0dWFsLnJlbGF5IDwgd2FudGVkLnJlbGF5LFxuICAgICAgICBzdG9yZTogYWN0dWFsLnN0b3JlIDwgd2FudGVkLnN0b3JlLFxuICAgICAgICBmaWx0ZXI6IGFjdHVhbC5maWx0ZXIgPCB3YW50ZWQuZmlsdGVyLFxuICAgICAgICBsaWdodFB1c2g6IGFjdHVhbC5saWdodFB1c2ggPCB3YW50ZWQubGlnaHRQdXNoXG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZldGNoX25vZGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJMb2dnZXIiLCJsb2ciLCJmZXRjaE5vZGVzVW50aWxDYXBhYmlsaXRpZXNGdWxmaWxsZWQiLCJ3YW50ZWROb2RlQ2FwYWJpbGl0eUNvdW50IiwiZXJyb3JUb2xlcmFuY2UiLCJnZXROb2RlIiwid2FudGVkIiwicmVsYXkiLCJzdG9yZSIsImZpbHRlciIsImxpZ2h0UHVzaCIsIm1heFNlYXJjaGVzIiwiYWN0dWFsIiwidG90YWxTZWFyY2hlcyIsInBlZXJzIiwiaXNTYXRpc2ZpZWQiLCJwZWVyIiwiaXNOZXdQZWVyIiwid2FrdTIiLCJoZWxwc1NhdGlzZnlDYXBhYmlsaXRpZXMiLCJhZGRDYXBhYmlsaXRpZXMiLCJwdXNoIiwiaW5mbyIsIm5vZGVJZCIsImlwIiwieWllbGROb2Rlc1VudGlsQ2FwYWJpbGl0aWVzRnVsZmlsbGVkIiwicGVlck5vZGVJZHMiLCJTZXQiLCJoYXMiLCJhZGQiLCJleGlzdGluZ1BlZXIiLCJub2RlIiwidG90YWwiLCJtaXNzaW5nIiwibWlzc2luZ0NhcGFiaWxpdGllcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/dns/fetch_nodes.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/index.js":
/*!****************************************************!*\
!*** ./node_modules/@waku/discovery/dist/index.js ***!
\****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DnsNodeDiscovery: () => (/* reexport safe */ _dns_dns_js__WEBPACK_IMPORTED_MODULE_2__.DnsNodeDiscovery),\n/* harmony export */ LocalPeerCacheDiscovery: () => (/* reexport safe */ _local_peer_cache_index_js__WEBPACK_IMPORTED_MODULE_5__.LocalPeerCacheDiscovery),\n/* harmony export */ PeerDiscoveryDns: () => (/* reexport safe */ _dns_dns_discovery_js__WEBPACK_IMPORTED_MODULE_0__.PeerDiscoveryDns),\n/* harmony export */ PeerExchangeCodec: () => (/* reexport safe */ _peer_exchange_waku_peer_exchange_js__WEBPACK_IMPORTED_MODULE_3__.PeerExchangeCodec),\n/* harmony export */ PeerExchangeDiscovery: () => (/* reexport safe */ _peer_exchange_waku_peer_exchange_discovery_js__WEBPACK_IMPORTED_MODULE_4__.PeerExchangeDiscovery),\n/* harmony export */ WakuPeerExchange: () => (/* reexport safe */ _peer_exchange_waku_peer_exchange_js__WEBPACK_IMPORTED_MODULE_3__.WakuPeerExchange),\n/* harmony export */ enrTree: () => (/* reexport safe */ _dns_constants_js__WEBPACK_IMPORTED_MODULE_1__.enrTree),\n/* harmony export */ wakuDnsDiscovery: () => (/* reexport safe */ _dns_dns_discovery_js__WEBPACK_IMPORTED_MODULE_0__.wakuDnsDiscovery),\n/* harmony export */ wakuLocalPeerCacheDiscovery: () => (/* reexport safe */ _local_peer_cache_index_js__WEBPACK_IMPORTED_MODULE_5__.wakuLocalPeerCacheDiscovery),\n/* harmony export */ wakuPeerExchange: () => (/* reexport safe */ _peer_exchange_waku_peer_exchange_js__WEBPACK_IMPORTED_MODULE_3__.wakuPeerExchange),\n/* harmony export */ wakuPeerExchangeDiscovery: () => (/* reexport safe */ _peer_exchange_waku_peer_exchange_discovery_js__WEBPACK_IMPORTED_MODULE_4__.wakuPeerExchangeDiscovery)\n/* harmony export */ });\n/* harmony import */ var _dns_dns_discovery_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dns/dns_discovery.js */ \"(ssr)/./node_modules/@waku/discovery/dist/dns/dns_discovery.js\");\n/* harmony import */ var _dns_constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dns/constants.js */ \"(ssr)/./node_modules/@waku/discovery/dist/dns/constants.js\");\n/* harmony import */ var _dns_dns_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dns/dns.js */ \"(ssr)/./node_modules/@waku/discovery/dist/dns/dns.js\");\n/* harmony import */ var _peer_exchange_waku_peer_exchange_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./peer-exchange/waku_peer_exchange.js */ \"(ssr)/./node_modules/@waku/discovery/dist/peer-exchange/waku_peer_exchange.js\");\n/* harmony import */ var _peer_exchange_waku_peer_exchange_discovery_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./peer-exchange/waku_peer_exchange_discovery.js */ \"(ssr)/./node_modules/@waku/discovery/dist/peer-exchange/waku_peer_exchange_discovery.js\");\n/* harmony import */ var _local_peer_cache_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./local-peer-cache/index.js */ \"(ssr)/./node_modules/@waku/discovery/dist/local-peer-cache/index.js\");\n// DNS Discovery\n\n\n\n// Peer Exchange Discovery\n\n\n// Local Peer Cache Discovery\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnQkFBZ0I7QUFDNEQ7QUFDL0I7QUFDRztBQUNoRCwwQkFBMEI7QUFDb0Y7QUFDSztBQUNuSCw2QkFBNkI7QUFDc0UsQ0FDbkcsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvaW5kZXguanM/MmJlZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETlMgRGlzY292ZXJ5XG5leHBvcnQgeyBQZWVyRGlzY292ZXJ5RG5zLCB3YWt1RG5zRGlzY292ZXJ5IH0gZnJvbSBcIi4vZG5zL2Ruc19kaXNjb3ZlcnkuanNcIjtcbmV4cG9ydCB7IGVuclRyZWUgfSBmcm9tIFwiLi9kbnMvY29uc3RhbnRzLmpzXCI7XG5leHBvcnQgeyBEbnNOb2RlRGlzY292ZXJ5IH0gZnJvbSBcIi4vZG5zL2Rucy5qc1wiO1xuLy8gUGVlciBFeGNoYW5nZSBEaXNjb3ZlcnlcbmV4cG9ydCB7IHdha3VQZWVyRXhjaGFuZ2UsIFBlZXJFeGNoYW5nZUNvZGVjLCBXYWt1UGVlckV4Y2hhbmdlIH0gZnJvbSBcIi4vcGVlci1leGNoYW5nZS93YWt1X3BlZXJfZXhjaGFuZ2UuanNcIjtcbmV4cG9ydCB7IHdha3VQZWVyRXhjaGFuZ2VEaXNjb3ZlcnksIFBlZXJFeGNoYW5nZURpc2NvdmVyeSB9IGZyb20gXCIuL3BlZXItZXhjaGFuZ2Uvd2FrdV9wZWVyX2V4Y2hhbmdlX2Rpc2NvdmVyeS5qc1wiO1xuLy8gTG9jYWwgUGVlciBDYWNoZSBEaXNjb3ZlcnlcbmV4cG9ydCB7IExvY2FsUGVlckNhY2hlRGlzY292ZXJ5LCB3YWt1TG9jYWxQZWVyQ2FjaGVEaXNjb3ZlcnkgfSBmcm9tIFwiLi9sb2NhbC1wZWVyLWNhY2hlL2luZGV4LmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiUGVlckRpc2NvdmVyeURucyIsIndha3VEbnNEaXNjb3ZlcnkiLCJlbnJUcmVlIiwiRG5zTm9kZURpc2NvdmVyeSIsIndha3VQZWVyRXhjaGFuZ2UiLCJQZWVyRXhjaGFuZ2VDb2RlYyIsIldha3VQZWVyRXhjaGFuZ2UiLCJ3YWt1UGVlckV4Y2hhbmdlRGlzY292ZXJ5IiwiUGVlckV4Y2hhbmdlRGlzY292ZXJ5IiwiTG9jYWxQZWVyQ2FjaGVEaXNjb3ZlcnkiLCJ3YWt1TG9jYWxQZWVyQ2FjaGVEaXNjb3ZlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/local-peer-cache/index.js":
/*!*********************************************************************!*\
!*** ./node_modules/@waku/discovery/dist/local-peer-cache/index.js ***!
\*********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_LOCAL_TAG_NAME: () => (/* binding */ DEFAULT_LOCAL_TAG_NAME),\n/* harmony export */ LocalPeerCacheDiscovery: () => (/* binding */ LocalPeerCacheDiscovery),\n/* harmony export */ wakuLocalPeerCacheDiscovery: () => (/* binding */ wakuLocalPeerCacheDiscovery)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/event-target.js\");\n/* harmony import */ var _libp2p_peer_id_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @libp2p/peer-id-factory */ \"(ssr)/./node_modules/@libp2p/peer-id-factory/dist/src/index.js\");\n/* harmony import */ var _multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiformats/multiaddr */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_2__.Logger(\"peer-exchange-discovery\");\nconst DEFAULT_LOCAL_TAG_NAME = _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__.Tags.LOCAL;\nconst DEFAULT_LOCAL_TAG_VALUE = 50;\nconst DEFAULT_LOCAL_TAG_TTL = 100000000;\nclass LocalPeerCacheDiscovery extends _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.TypedEventEmitter {\n constructor(components, options){\n super();\n this.peers = [];\n this.handleNewPeers = (event)=>{\n const { peerId, listenAddrs } = event.detail;\n const websocketMultiaddr = (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.getWsMultiaddrFromMultiaddrs)(listenAddrs);\n const localStoragePeers = this.getPeersFromLocalStorage();\n const existingPeerIndex = localStoragePeers.findIndex((_peer)=>_peer.id === peerId.toString());\n if (existingPeerIndex >= 0) {\n localStoragePeers[existingPeerIndex].address = websocketMultiaddr.toString();\n } else {\n localStoragePeers.push({\n id: peerId.toString(),\n address: websocketMultiaddr.toString()\n });\n }\n this.peers = localStoragePeers;\n this.savePeersToLocalStorage();\n };\n this.components = components;\n this.options = options;\n this.isStarted = false;\n this.peers = this.getPeersFromLocalStorage();\n }\n get [Symbol.toStringTag]() {\n return \"@waku/local-peer-cache-discovery\";\n }\n async start() {\n if (this.isStarted) return;\n log.info(\"Starting Local Storage Discovery\");\n this.components.events.addEventListener(\"peer:identify\", this.handleNewPeers);\n for (const { id: idStr, address } of this.peers){\n const peerId = await (0,_libp2p_peer_id_factory__WEBPACK_IMPORTED_MODULE_4__.createFromJSON)({\n id: idStr\n });\n if (await this.components.peerStore.has(peerId)) continue;\n await this.components.peerStore.save(peerId, {\n multiaddrs: [\n (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.multiaddr)(address)\n ],\n tags: {\n [this.options?.tagName ?? DEFAULT_LOCAL_TAG_NAME]: {\n value: this.options?.tagValue ?? DEFAULT_LOCAL_TAG_VALUE,\n ttl: this.options?.tagTTL ?? DEFAULT_LOCAL_TAG_TTL\n }\n }\n });\n this.dispatchEvent(new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CustomEvent(\"peer\", {\n detail: {\n id: peerId,\n multiaddrs: [\n (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.multiaddr)(address)\n ]\n }\n }));\n }\n log.info(`Discovered ${this.peers.length} peers`);\n this.isStarted = true;\n }\n stop() {\n if (!this.isStarted) return;\n log.info(\"Stopping Local Storage Discovery\");\n this.components.events.removeEventListener(\"peer:identify\", this.handleNewPeers);\n this.isStarted = false;\n this.savePeersToLocalStorage();\n }\n getPeersFromLocalStorage() {\n try {\n const storedPeersData = localStorage.getItem(\"waku:peers\");\n if (!storedPeersData) return [];\n const peers = JSON.parse(storedPeersData);\n return peers.filter(isValidStoredPeer);\n } catch (error) {\n log.error(\"Error parsing peers from local storage:\", error);\n return [];\n }\n }\n savePeersToLocalStorage() {\n try {\n localStorage.setItem(\"waku:peers\", JSON.stringify(this.peers));\n } catch (error) {\n log.error(\"Error saving peers to local storage:\", error);\n }\n }\n}\nfunction isValidStoredPeer(peer) {\n return peer && typeof peer === \"object\" && typeof peer.id === \"string\" && typeof peer.address === \"string\";\n}\nfunction wakuLocalPeerCacheDiscovery() {\n return (components, options)=>new LocalPeerCacheDiscovery(components, options);\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvbG9jYWwtcGVlci1jYWNoZS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFzRDtBQUNOO0FBQ1M7QUFDTDtBQUNaO0FBQzJCO0FBQ25FLE1BQU1PLE1BQU0sSUFBSUQsK0NBQU1BLENBQUM7QUFDaEIsTUFBTUUseUJBQXlCSixrREFBSUEsQ0FBQ0ssS0FBSyxDQUFDO0FBQ2pELE1BQU1DLDBCQUEwQjtBQUNoQyxNQUFNQyx3QkFBd0I7QUFDdkIsTUFBTUMsZ0NBQWdDWixnRUFBaUJBO0lBSzFEYSxZQUFZQyxVQUFVLEVBQUVDLE9BQU8sQ0FBRTtRQUM3QixLQUFLO2FBRlRDLFFBQVEsRUFBRTthQStDVkMsaUJBQWlCLENBQUNDO1lBQ2QsTUFBTSxFQUFFQyxNQUFNLEVBQUVDLFdBQVcsRUFBRSxHQUFHRixNQUFNRyxNQUFNO1lBQzVDLE1BQU1DLHFCQUFxQmpCLHlFQUE0QkEsQ0FBQ2U7WUFDeEQsTUFBTUcsb0JBQW9CLElBQUksQ0FBQ0Msd0JBQXdCO1lBQ3ZELE1BQU1DLG9CQUFvQkYsa0JBQWtCRyxTQUFTLENBQUMsQ0FBQ0MsUUFBVUEsTUFBTUMsRUFBRSxLQUFLVCxPQUFPVSxRQUFRO1lBQzdGLElBQUlKLHFCQUFxQixHQUFHO2dCQUN4QkYsaUJBQWlCLENBQUNFLGtCQUFrQixDQUFDSyxPQUFPLEdBQ3hDUixtQkFBbUJPLFFBQVE7WUFDbkMsT0FDSztnQkFDRE4sa0JBQWtCUSxJQUFJLENBQUM7b0JBQ25CSCxJQUFJVCxPQUFPVSxRQUFRO29CQUNuQkMsU0FBU1IsbUJBQW1CTyxRQUFRO2dCQUN4QztZQUNKO1lBQ0EsSUFBSSxDQUFDYixLQUFLLEdBQUdPO1lBQ2IsSUFBSSxDQUFDUyx1QkFBdUI7UUFDaEM7UUE3REksSUFBSSxDQUFDbEIsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNrQixTQUFTLEdBQUc7UUFD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azovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9kaXN0L2xvY2FsLXBlZXItY2FjaGUvaW5kZXguanM/MDZjMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlZEV2ZW50RW1pdHRlciB9IGZyb20gXCJAbGlicDJwL2ludGVyZmFjZVwiO1xuaW1wb3J0IHsgQ3VzdG9tRXZlbnQgfSBmcm9tIFwiQGxpYnAycC9pbnRlcmZhY2VcIjtcbmltcG9ydCB7IGNyZWF0ZUZyb21KU09OIH0gZnJvbSBcIkBsaWJwMnAvcGVlci1pZC1mYWN0b3J5XCI7XG5pbXBvcnQgeyBtdWx0aWFkZHIgfSBmcm9tIFwiQG11bHRpZm9ybWF0cy9tdWx0aWFkZHJcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgZ2V0V3NNdWx0aWFkZHJGcm9tTXVsdGlhZGRycywgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKFwicGVlci1leGNoYW5nZS1kaXNjb3ZlcnlcIik7XG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0NBTF9UQUdfTkFNRSA9IFRhZ3MuTE9DQUw7XG5jb25zdCBERUZBVUxUX0xPQ0FMX1RBR19WQUxVRSA9IDUwO1xuY29uc3QgREVGQVVMVF9MT0NBTF9UQUdfVFRMID0gMTAwXzAwMF8wMDA7XG5leHBvcnQgY2xhc3MgTG9jYWxQZWVyQ2FjaGVEaXNjb3ZlcnkgZXh0ZW5kcyBUeXBlZEV2ZW50RW1pdHRlciB7XG4gICAgY29tcG9uZW50cztcbiAgICBvcHRpb25zO1xuICAgIGlzU3RhcnRlZDtcbiAgICBwZWVycyA9IFtdO1xuICAgIGNvbnN0cnVjdG9yKGNvbXBvbmVudHMsIG9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gY29tcG9uZW50cztcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5pc1N0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wZWVycyA9IHRoaXMuZ2V0UGVlcnNGcm9tTG9jYWxTdG9yYWdlKCk7XG4gICAgfVxuICAgIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICAgICAgcmV0dXJuIFwiQHdha3UvbG9jYWwtcGVlci1jYWNoZS1kaXNjb3ZlcnlcIjtcbiAgICB9XG4gICAgYXN5bmMgc3RhcnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzU3RhcnRlZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgbG9nLmluZm8oXCJTdGFydGluZyBMb2NhbCBTdG9yYWdlIERpc2NvdmVyeVwiKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzLmV2ZW50cy5hZGRFdmVudExpc3RlbmVyKFwicGVlcjppZGVudGlmeVwiLCB0aGlzLmhhbmRsZU5ld1BlZXJzKTtcbiAgICAgICAgZm9yIChjb25zdCB7IGlkOiBpZFN0ciwgYWRkcmVzcyB9IG9mIHRoaXMucGVlcnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHBlZXJJZCA9IGF3YWl0IGNyZWF0ZUZyb21KU09OKHsgaWQ6IGlkU3RyIH0pO1xuICAgICAgICAgICAgaWYgKGF3YWl0IHRoaXMuY29tcG9uZW50cy5wZWVyU3RvcmUuaGFzKHBlZXJJZCkpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbXBvbmVudHMucGVlclN0b3JlLnNhdmUocGVlcklkLCB7XG4gICAgICAgICAgICAgICAgbXVsdGlhZGRyczogW211bHRpYWRkcihhZGRyZXNzKV0sXG4gICAgICAgICAgICAgICAgdGFnczoge1xuICAgICAgICAgICAgICAgICAgICBbdGhpcy5vcHRpb25zPy50YWdOYW1lID8/IERFRkFVTFRfTE9DQUxfVEFHX05BTUVdOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5vcHRpb25zPy50YWdWYWx1ZSA/PyBERUZBVUxUX0xPQ0FMX1RBR19WQUxVRSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR0bDogdGhpcy5vcHRpb25zPy50YWdUVEwgPz8gREVGQVVMVF9MT0NBTF9UQUdfVFRMXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoXCJwZWVyXCIsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHBlZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlhZGRyczogW211bHRpYWRkcihhZGRyZXNzKV1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgbG9nLmluZm8oYERpc2NvdmVyZWQgJHt0aGlzLnBlZXJzLmxlbmd0aH0gcGVlcnNgKTtcbiAgICAgICAgdGhpcy5pc1N0YXJ0ZWQgPSB0cnVlO1xuICAgIH1cbiAgICBzdG9wKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdGFydGVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBsb2cuaW5mbyhcIlN0b3BwaW5nIExvY2FsIFN0b3JhZ2UgRGlzY292ZXJ5XCIpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudHMuZXZlbnRzLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwZWVyOmlkZW50aWZ5XCIsIHRoaXMuaGFuZGxlTmV3UGVlcnMpO1xuICAgICAgICB0aGlzLmlzU3RhcnRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVQZWVyc1RvTG9jYWxTdG9yYWdlKCk7XG4gICAgfVxuICAgIGhhbmRsZU5ld1BlZXJzID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGVlcklkLCBsaXN0ZW5BZGRycyB9ID0gZXZlbnQuZGV0YWlsO1xuICAgICAgICBjb25zdCB3ZWJzb2NrZXRNdWx0aWFkZHIgPSBnZXRXc011bHRpYWRkckZyb21NdWx0aWFkZHJzKGxpc3RlbkFkZHJzKTtcbiAgICAgICAgY29uc3QgbG9jYWxTdG9yYWdlUGVlcnMgPSB0aGlzLmdldFBlZXJzRnJvbUxvY2FsU3RvcmFnZSgpO1xuICAgICAgICBjb25zdCBleGlzdGluZ1BlZXJJbmRleCA9IGxvY2FsU3RvcmFnZVBlZXJzLmZpbmRJbmRleCgoX3BlZXIpID0+IF9wZWVyLmlkID09PSBwZWVySWQudG9TdHJpbmcoKSk7XG4gICAgICAgIGlmIChleGlzdGluZ1BlZXJJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2VQZWVyc1tleGlzdGluZ1BlZXJJbmRleF0uYWRkcmVzcyA9XG4gICAgICAgICAgICAgICAgd2Vic29ja2V0TXVsdGlhZGRyLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2VQZWVycy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogcGVlcklkLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgYWRkcmVzczogd2Vic29ja2V0TXVsdGlhZGRyLnRvU3RyaW5nKClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGVlcnMgPSBsb2NhbFN0b3JhZ2VQZWVycztcbiAgICAgICAgdGhpcy5zYXZlUGVlcnNUb0xvY2FsU3RvcmFnZSgpO1xuICAgIH07XG4gICAgZ2V0UGVlcnNGcm9tTG9jYWxTdG9yYWdlKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc3RvcmVkUGVlcnNEYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ3YWt1OnBlZXJzXCIpO1xuICAgICAgICAgICAgaWYgKCFzdG9yZWRQZWVyc0RhdGEpXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgY29uc3QgcGVlcnMgPSBKU09OLnBhcnNlKHN0b3JlZFBlZXJzRGF0YSk7XG4gICAgICAgICAgICByZXR1cm4gcGVlcnMuZmlsdGVyKGlzVmFsaWRTdG9yZWRQZWVyKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcIkVycm9yIHBhcnNpbmcgcGVlcnMgZnJvbSBsb2NhbCBzdG9yYWdlOlwiLCBlcnJvcik7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2F2ZVBlZXJzVG9Mb2NhbFN0b3JhZ2UoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIndha3U6cGVlcnNcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy5wZWVycykpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgbG9nLmVycm9yKFwiRXJyb3Igc2F2aW5nIHBlZXJzIHRvIGxvY2FsIHN0b3JhZ2U6XCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGlzVmFsaWRTdG9yZWRQZWVyKHBlZXIpIHtcbiAgICByZXR1cm4gKHBlZXIgJiZcbiAgICAgICAgdHlwZW9mIHBlZXIgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgdHlwZW9mIHBlZXIuaWQgPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgdHlwZW9mIHBlZXIuYWRkcmVzcyA9PT0gXCJzdHJpbmdcIik7XG59XG5leHBvcnQgZnVuY3Rpb24gd2FrdUxvY2FsUGVlckNhY2hlRGlzY292ZXJ5KCkge1xuICAgIHJldHVybiAoY29tcG9uZW50cywgb3B0aW9ucykgPT4gbmV3IExvY2FsUGVlckNhY2hlRGlzY292ZXJ5KGNvbXBvbmVudHMsIG9wdGlvbnMpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIlR5cGVkRXZlbnRFbWl0dGVyIiwiQ3VzdG9tRXZlbnQiLCJjcmVhdGVGcm9tSlNPTiIsIm11bHRpYWRkciIsIlRhZ3MiLCJnZXRXc011bHRpYWRkckZyb21NdWx0aWFkZHJzIiwiTG9nZ2VyIiwibG9nIiwiREVGQVVMVF9MT0NBTF9UQUdfTkFNRSIsIkxPQ0FMIiwiREVGQVVMVF9MT0NBTF9UQUdfVkFMVUUiLCJERUZBVUxUX0xPQ0FMX1RBR19UVEwiLCJMb2NhbFBlZXJDYWNoZURpc2NvdmVyeSIsImNvbnN0cnVjdG9yIiwiY29tcG9uZW50cyIsIm9wdGlvbnMiLCJwZWVycyIsImhhbmRsZU5ld1BlZXJzIiwiZXZlbnQiLCJwZWVySWQiLCJsaXN0ZW5BZGRycyIsImRldGFpbCIsIndlYnNvY2tldE11bHRpYWRkciIsImxvY2FsU3RvcmFnZVBlZXJzIiwiZ2V0UGVlcnNGcm9tTG9jYWxTdG9yYWdlIiwiZXhpc3RpbmdQZWVySW5kZXgiLCJmaW5kSW5kZXgiLCJfcGVlciIsImlkIiwidG9TdHJpbmciLCJhZGRyZXNzIiwicHVzaCIsInNhdmVQZWVyc1RvTG9jYWxTdG9yYWdlIiwiaXNTdGFydGVkIiwiU3ltYm9sIiwidG9TdHJpbmdUYWciLCJzdGFydCIsImluZm8iLCJldmVudHMiLCJhZGRFdmVudExpc3RlbmVyIiwiaWRTdHIiLCJwZWVyU3RvcmUiLCJoYXMiLCJzYXZlIiwibXVsdGlhZGRycyIsInRhZ3MiLCJ0YWdOYW1lIiwidmFsdWUiLCJ0YWdWYWx1ZSIsInR0bCIsInRhZ1RUTCIsImRpc3BhdGNoRXZlbnQiLCJsZW5ndGgiLCJzdG9wIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInN0b3JlZFBlZXJzRGF0YSIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJKU09OIiwicGFyc2UiLCJmaWx0ZXIiLCJpc1ZhbGlkU3RvcmVkUGVlciIsImVycm9yIiwic2V0SXRlbSIsInN0cmluZ2lmeSIsInBlZXIiLCJ3YWt1TG9jYWxQZWVyQ2FjaGVEaXNjb3ZlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/local-peer-cache/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/peer-exchange/rpc.js":
/*!****************************************************************!*\
!*** ./node_modules/@waku/discovery/dist/peer-exchange/rpc.js ***!
\****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PeerExchangeRPC: () => (/* binding */ PeerExchangeRPC)\n/* harmony export */ });\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/index.js\");\n\n/**\n * PeerExchangeRPC represents a message conforming to the Waku Peer Exchange protocol\n */ class PeerExchangeRPC {\n constructor(proto){\n this.proto = proto;\n }\n static createRequest(params) {\n const { numPeers } = params;\n return new PeerExchangeRPC({\n query: {\n numPeers: numPeers\n },\n response: undefined\n });\n }\n /**\n * Encode the current PeerExchangeRPC request to bytes\n * @returns Uint8Array\n */ encode() {\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_peer_exchange.PeerExchangeRPC.encode(this.proto);\n }\n /**\n * Decode the current PeerExchangeRPC request to bytes\n * @returns Uint8Array\n */ static decode(bytes) {\n const res = _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_peer_exchange.PeerExchangeRPC.decode(bytes);\n return new PeerExchangeRPC(res);\n }\n get query() {\n return this.proto.query;\n }\n get response() {\n return this.proto.response;\n }\n} //# sourceMappingURL=rpc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvcGVlci1leGNoYW5nZS9ycGMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBMkQ7QUFDM0Q7O0NBRUMsR0FDTSxNQUFNRTtJQUVUQyxZQUFZRixLQUFLLENBQUU7UUFDZixJQUFJLENBQUNBLEtBQUssR0FBR0E7SUFDakI7SUFDQSxPQUFPRyxjQUFjQyxNQUFNLEVBQUU7UUFDekIsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR0Q7UUFDckIsT0FBTyxJQUFJSCxnQkFBZ0I7WUFDdkJLLE9BQU87Z0JBQ0hELFVBQVVBO1lBQ2Q7WUFDQUUsVUFBVUM7UUFDZDtJQUNKO0lBQ0E7OztLQUdDLEdBQ0RDLFNBQVM7UUFDTCxPQUFPVCw0RUFBcUIsQ0FBQ1MsTUFBTSxDQUFDLElBQUksQ0FBQ1QsS0FBSztJQUNsRDtJQUNBOzs7S0FHQyxHQUNELE9BQU9VLE9BQU9DLEtBQUssRUFBRTtRQUNqQixNQUFNQyxNQUFNWiw0RUFBcUIsQ0FBQ1UsTUFBTSxDQUFDQztRQUN6QyxPQUFPLElBQUlWLGdCQUFnQlc7SUFDL0I7SUFDQSxJQUFJTixRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUNOLEtBQUssQ0FBQ00sS0FBSztJQUMzQjtJQUNBLElBQUlDLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQ1AsS0FBSyxDQUFDTyxRQUFRO0lBQzlCO0FBQ0osRUFDQSwrQkFBK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3ZlcnkvZGlzdC9wZWVyLWV4Y2hhbmdlL3JwYy5qcz80ZDBjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb3RvX3BlZXJfZXhjaGFuZ2UgYXMgcHJvdG8gfSBmcm9tIFwiQHdha3UvcHJvdG9cIjtcbi8qKlxuICogUGVlckV4Y2hhbmdlUlBDIHJlcHJlc2VudHMgYSBtZXNzYWdlIGNvbmZvcm1pbmcgdG8gdGhlIFdha3UgUGVlciBFeGNoYW5nZSBwcm90b2NvbFxuICovXG5leHBvcnQgY2xhc3MgUGVlckV4Y2hhbmdlUlBDIHtcbiAgICBwcm90bztcbiAgICBjb25zdHJ1Y3Rvcihwcm90bykge1xuICAgICAgICB0aGlzLnByb3RvID0gcHJvdG87XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGVSZXF1ZXN0KHBhcmFtcykge1xuICAgICAgICBjb25zdCB7IG51bVBlZXJzIH0gPSBwYXJhbXM7XG4gICAgICAgIHJldHVybiBuZXcgUGVlckV4Y2hhbmdlUlBDKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgICAgbnVtUGVlcnM6IG51bVBlZXJzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzcG9uc2U6IHVuZGVmaW5lZFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW5jb2RlIHRoZSBjdXJyZW50IFBlZXJFeGNoYW5nZVJQQyByZXF1ZXN0IHRvIGJ5dGVzXG4gICAgICogQHJldHVybnMgVWludDhBcnJheVxuICAgICAqL1xuICAgIGVuY29kZSgpIHtcbiAgICAgICAgcmV0dXJuIHByb3RvLlBlZXJFeGNoYW5nZVJQQy5lbmNvZGUodGhpcy5wcm90byk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIERlY29kZSB0aGUgY3VycmVudCBQZWVyRXhjaGFuZ2VSUEMgcmVxdWVzdCB0byBieXRlc1xuICAgICAqIEByZXR1cm5zIFVpbnQ4QXJyYXlcbiAgICAgKi9cbiAgICBzdGF0aWMgZGVjb2RlKGJ5dGVzKSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IHByb3RvLlBlZXJFeGNoYW5nZVJQQy5kZWNvZGUoYnl0ZXMpO1xuICAgICAgICByZXR1cm4gbmV3IFBlZXJFeGNoYW5nZVJQQyhyZXMpO1xuICAgIH1cbiAgICBnZXQgcXVlcnkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvLnF1ZXJ5O1xuICAgIH1cbiAgICBnZXQgcmVzcG9uc2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvLnJlc3BvbnNlO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJwYy5qcy5tYXAiXSwibmFtZXMiOlsicHJvdG9fcGVlcl9leGNoYW5nZSIsInByb3RvIiwiUGVlckV4Y2hhbmdlUlBDIiwiY29uc3RydWN0b3IiLCJjcmVhdGVSZXF1ZXN0IiwicGFyYW1zIiwibnVtUGVlcnMiLCJxdWVyeSIsInJlc3BvbnNlIiwidW5kZWZpbmVkIiwiZW5jb2RlIiwiZGVjb2RlIiwiYnl0ZXMiLCJyZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/peer-exchange/rpc.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/peer-exchange/waku_peer_exchange.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/discovery/dist/peer-exchange/waku_peer_exchange.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PeerExchangeCodec: () => (/* binding */ PeerExchangeCodec),\n/* harmony export */ WakuPeerExchange: () => (/* binding */ WakuPeerExchange),\n/* harmony export */ wakuPeerExchange: () => (/* binding */ wakuPeerExchange)\n/* harmony export */ });\n/* harmony import */ var _waku_core_lib_base_protocol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/core/lib/base_protocol */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/base_protocol.js\");\n/* harmony import */ var _waku_enr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/enr */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/index.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var it_all__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! it-all */ \"(ssr)/./node_modules/it-all/dist/src/index.js\");\n/* harmony import */ var it_length_prefixed__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! it-length-prefixed */ \"(ssr)/./node_modules/it-length-prefixed/dist/src/index.js\");\n/* harmony import */ var it_pipe__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! it-pipe */ \"(ssr)/./node_modules/it-pipe/dist/src/index.js\");\n/* harmony import */ var uint8arraylist__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! uint8arraylist */ \"(ssr)/./node_modules/uint8arraylist/dist/src/index.js\");\n/* harmony import */ var _rpc_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./rpc.js */ \"(ssr)/./node_modules/@waku/discovery/dist/peer-exchange/rpc.js\");\n\n\n\n\n\n\n\n\n\n\nconst PeerExchangeCodec = \"/vac/waku/peer-exchange/2.0.0-alpha1\";\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_3__.Logger(\"peer-exchange\");\n/**\n * Implementation of the Peer Exchange protocol (https://rfc.vac.dev/spec/34/)\n */ class WakuPeerExchange extends _waku_core_lib_base_protocol__WEBPACK_IMPORTED_MODULE_0__.BaseProtocol {\n /**\n * @param components - libp2p components\n */ constructor(components, pubsubTopics){\n super(PeerExchangeCodec, components, log, pubsubTopics);\n }\n /**\n * Make a peer exchange query to a peer\n */ async query(params) {\n const { numPeers } = params;\n const rpcQuery = _rpc_js__WEBPACK_IMPORTED_MODULE_8__.PeerExchangeRPC.createRequest({\n numPeers: BigInt(numPeers)\n });\n const peer = await this.peerStore.get(params.peerId);\n if (!peer) {\n return {\n peerInfos: null,\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.ProtocolError.NO_PEER_AVAILABLE\n };\n }\n const stream = await this.getStream(peer);\n const res = await (0,it_pipe__WEBPACK_IMPORTED_MODULE_6__.pipe)([\n rpcQuery.encode()\n ], it_length_prefixed__WEBPACK_IMPORTED_MODULE_5__.encode, stream, it_length_prefixed__WEBPACK_IMPORTED_MODULE_5__.decode, async (source)=>await (0,it_all__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(source));\n try {\n const bytes = new uint8arraylist__WEBPACK_IMPORTED_MODULE_7__.Uint8ArrayList();\n res.forEach((chunk)=>{\n bytes.append(chunk);\n });\n const { response } = _rpc_js__WEBPACK_IMPORTED_MODULE_8__.PeerExchangeRPC.decode(bytes);\n if (!response) {\n log.error(\"PeerExchangeRPC message did not contains a `response` field\");\n return {\n peerInfos: null,\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.ProtocolError.EMPTY_PAYLOAD\n };\n }\n const peerInfos = await Promise.all(response.peerInfos.map((peerInfo)=>peerInfo.enr).filter(_waku_utils__WEBPACK_IMPORTED_MODULE_3__.isDefined).map(async (enr)=>{\n return {\n ENR: await _waku_enr__WEBPACK_IMPORTED_MODULE_1__.EnrDecoder.fromRLP(enr)\n };\n }));\n return {\n peerInfos,\n error: null\n };\n } catch (err) {\n log.error(\"Failed to decode push reply\", err);\n return {\n peerInfos: null,\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.ProtocolError.DECODE_FAILED\n };\n }\n }\n}\n/**\n *\n * @returns A function that creates a new peer exchange protocol\n */ function wakuPeerExchange(pubsubTopics) {\n return (components)=>new WakuPeerExchange(components, pubsubTopics);\n} //# sourceMappingURL=waku_peer_exchange.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvcGVlci1leGNoYW5nZS93YWt1X3BlZXJfZXhjaGFuZ2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQTREO0FBQ3JCO0FBQ1U7QUFDVDtBQUNIO0FBQ1o7QUFDZ0I7QUFDVjtBQUNpQjtBQUNMO0FBQ3BDLE1BQU1VLG9CQUFvQix1Q0FBdUM7QUFDeEUsTUFBTUMsTUFBTSxJQUFJUCwrQ0FBTUEsQ0FBQztBQUN2Qjs7Q0FFQyxHQUNNLE1BQU1RLHlCQUF5Qlosc0VBQVlBO0lBQzlDOztLQUVDLEdBQ0RhLFlBQVlDLFVBQVUsRUFBRUMsWUFBWSxDQUFFO1FBQ2xDLEtBQUssQ0FBQ0wsbUJBQW1CSSxZQUFZSCxLQUFLSTtJQUM5QztJQUNBOztLQUVDLEdBQ0QsTUFBTUMsTUFBTUMsTUFBTSxFQUFFO1FBQ2hCLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdEO1FBQ3JCLE1BQU1FLFdBQVdWLG9EQUFlQSxDQUFDVyxhQUFhLENBQUM7WUFDM0NGLFVBQVVHLE9BQU9IO1FBQ3JCO1FBQ0EsTUFBTUksT0FBTyxNQUFNLElBQUksQ0FBQ0MsU0FBUyxDQUFDQyxHQUFHLENBQUNQLE9BQU9RLE1BQU07UUFDbkQsSUFBSSxDQUFDSCxNQUFNO1lBQ1AsT0FBTztnQkFDSEksV0FBVztnQkFDWEMsT0FBT3pCLDJEQUFhQSxDQUFDMEIsaUJBQWlCO1lBQzFDO1FBQ0o7UUFDQSxNQUFNQyxTQUFTLE1BQU0sSUFBSSxDQUFDQyxTQUFTLENBQUNSO1FBQ3BDLE1BQU1TLE1BQU0sTUFBTXhCLDZDQUFJQSxDQUFDO1lBQUNZLFNBQVNhLE1BQU07U0FBRyxFQUFFMUIsc0RBQVMsRUFBRXVCLFFBQVF2QixzREFBUyxFQUFFLE9BQU80QixTQUFXLE1BQU03QixrREFBR0EsQ0FBQzZCO1FBQ3RHLElBQUk7WUFDQSxNQUFNQyxRQUFRLElBQUkzQiwwREFBY0E7WUFDaEN1QixJQUFJSyxPQUFPLENBQUMsQ0FBQ0M7Z0JBQ1RGLE1BQU1HLE1BQU0sQ0FBQ0Q7WUFDakI7WUFDQSxNQUFNLEVBQUVFLFFBQVEsRUFBRSxHQUFHOUIsb0RBQWVBLENBQUN3QixNQUFNLENBQUNFO1lBQzVDLElBQUksQ0FBQ0ksVUFBVTtnQkFDWDVCLElBQUlnQixLQUFLLENBQUM7Z0JBQ1YsT0FBTztvQkFDSEQsV0FBVztvQkFDWEMsT0FBT3pCLDJEQUFhQSxDQUFDc0MsYUFBYTtnQkFDdEM7WUFDSjtZQUNBLE1BQU1kLFlBQVksTUFBTWUsUUFBUXBDLEdBQUcsQ0FBQ2tDLFNBQVNiLFNBQVMsQ0FDakRnQixHQUFHLENBQUMsQ0FBQ0MsV0FBYUEsU0FBU0MsR0FBRyxFQUM5QkMsTUFBTSxDQUFDMUMsa0RBQVNBLEVBQ2hCdUMsR0FBRyxDQUFDLE9BQU9FO2dCQUNaLE9BQU87b0JBQUVFLEtBQUssTUFBTTdDLGlEQUFVQSxDQUFDOEMsT0FBTyxDQUFDSDtnQkFBSztZQUNoRDtZQUNBLE9BQU87Z0JBQ0hsQjtnQkFDQUMsT0FBTztZQUNYO1FBQ0osRUFDQSxPQUFPcUIsS0FBSztZQUNSckMsSUFBSWdCLEtBQUssQ0FBQywrQkFBK0JxQjtZQUN6QyxPQUFPO2dCQUNIdEIsV0FBVztnQkFDWEMsT0FBT3pCLDJEQUFhQSxDQUFDK0MsYUFBYTtZQUN0QztRQUNKO0lBQ0o7QUFDSjtBQUNBOzs7Q0FHQyxHQUNNLFNBQVNDLGlCQUFpQm5DLFlBQVk7SUFDekMsT0FBTyxDQUFDRCxhQUFlLElBQUlGLGlCQUFpQkUsWUFBWUM7QUFDNUQsRUFDQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3ZlcnkvZGlzdC9wZWVyLWV4Y2hhbmdlL3dha3VfcGVlcl9leGNoYW5nZS5qcz80OWE0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VQcm90b2NvbCB9IGZyb20gXCJAd2FrdS9jb3JlL2xpYi9iYXNlX3Byb3RvY29sXCI7XG5pbXBvcnQgeyBFbnJEZWNvZGVyIH0gZnJvbSBcIkB3YWt1L2VuclwiO1xuaW1wb3J0IHsgUHJvdG9jb2xFcnJvciB9IGZyb20gXCJAd2FrdS9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tIFwiQHdha3UvdXRpbHNcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCJAd2FrdS91dGlsc1wiO1xuaW1wb3J0IGFsbCBmcm9tIFwiaXQtYWxsXCI7XG5pbXBvcnQgKiBhcyBscCBmcm9tIFwiaXQtbGVuZ3RoLXByZWZpeGVkXCI7XG5pbXBvcnQgeyBwaXBlIH0gZnJvbSBcIml0LXBpcGVcIjtcbmltcG9ydCB7IFVpbnQ4QXJyYXlMaXN0IH0gZnJvbSBcInVpbnQ4YXJyYXlsaXN0XCI7XG5pbXBvcnQgeyBQZWVyRXhjaGFuZ2VSUEMgfSBmcm9tIFwiLi9ycGMuanNcIjtcbmV4cG9ydCBjb25zdCBQZWVyRXhjaGFuZ2VDb2RlYyA9IFwiL3ZhYy93YWt1L3BlZXItZXhjaGFuZ2UvMi4wLjAtYWxwaGExXCI7XG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKFwicGVlci1leGNoYW5nZVwiKTtcbi8qKlxuICogSW1wbGVtZW50YXRpb24gb2YgdGhlIFBlZXIgRXhjaGFuZ2UgcHJvdG9jb2wgKGh0dHBzOi8vcmZjLnZhYy5kZXYvc3BlYy8zNC8pXG4gKi9cbmV4cG9ydCBjbGFzcyBXYWt1UGVlckV4Y2hhbmdlIGV4dGVuZHMgQmFzZVByb3RvY29sIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gY29tcG9uZW50cyAtIGxpYnAycCBjb21wb25lbnRzXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY29tcG9uZW50cywgcHVic3ViVG9waWNzKSB7XG4gICAgICAgIHN1cGVyKFBlZXJFeGNoYW5nZUNvZGVjLCBjb21wb25lbnRzLCBsb2csIHB1YnN1YlRvcGljcyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1ha2UgYSBwZWVyIGV4Y2hhbmdlIHF1ZXJ5IHRvIGEgcGVlclxuICAgICAqL1xuICAgIGFzeW5jIHF1ZXJ5KHBhcmFtcykge1xuICAgICAgICBjb25zdCB7IG51bVBlZXJzIH0gPSBwYXJhbXM7XG4gICAgICAgIGNvbnN0IHJwY1F1ZXJ5ID0gUGVlckV4Y2hhbmdlUlBDLmNyZWF0ZVJlcXVlc3Qoe1xuICAgICAgICAgICAgbnVtUGVlcnM6IEJpZ0ludChudW1QZWVycylcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHBlZXIgPSBhd2FpdCB0aGlzLnBlZXJTdG9yZS5nZXQocGFyYW1zLnBlZXJJZCk7XG4gICAgICAgIGlmICghcGVlcikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwZWVySW5mb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgZXJyb3I6IFByb3RvY29sRXJyb3IuTk9fUEVFUl9BVkFJTEFCTEVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgdGhpcy5nZXRTdHJlYW0ocGVlcik7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHBpcGUoW3JwY1F1ZXJ5LmVuY29kZSgpXSwgbHAuZW5jb2RlLCBzdHJlYW0sIGxwLmRlY29kZSwgYXN5bmMgKHNvdXJjZSkgPT4gYXdhaXQgYWxsKHNvdXJjZSkpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheUxpc3QoKTtcbiAgICAgICAgICAgIHJlcy5mb3JFYWNoKChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgIGJ5dGVzLmFwcGVuZChjaHVuayk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IFBlZXJFeGNoYW5nZVJQQy5kZWNvZGUoYnl0ZXMpO1xuICAgICAgICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcIlBlZXJFeGNoYW5nZVJQQyBtZXNzYWdlIGRpZCBub3QgY29udGFpbnMgYSBgcmVzcG9uc2VgIGZpZWxkXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHBlZXJJbmZvczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IFByb3RvY29sRXJyb3IuRU1QVFlfUEFZTE9BRFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwZWVySW5mb3MgPSBhd2FpdCBQcm9taXNlLmFsbChyZXNwb25zZS5wZWVySW5mb3NcbiAgICAgICAgICAgICAgICAubWFwKChwZWVySW5mbykgPT4gcGVlckluZm8uZW5yKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoaXNEZWZpbmVkKVxuICAgICAgICAgICAgICAgIC5tYXAoYXN5bmMgKGVucikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IEVOUjogYXdhaXQgRW5yRGVjb2Rlci5mcm9tUkxQKGVucikgfTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcGVlckluZm9zLFxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byBkZWNvZGUgcHVzaCByZXBseVwiLCBlcnIpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwZWVySW5mb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgZXJyb3I6IFByb3RvY29sRXJyb3IuREVDT0RFX0ZBSUxFRFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8qKlxuICpcbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIGEgbmV3IHBlZXIgZXhjaGFuZ2UgcHJvdG9jb2xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdha3VQZWVyRXhjaGFuZ2UocHVic3ViVG9waWNzKSB7XG4gICAgcmV0dXJuIChjb21wb25lbnRzKSA9PiBuZXcgV2FrdVBlZXJFeGNoYW5nZShjb21wb25lbnRzLCBwdWJzdWJUb3BpY3MpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2FrdV9wZWVyX2V4Y2hhbmdlLmpzLm1hcCJdLCJuYW1lcyI6WyJCYXNlUHJvdG9jb2wiLCJFbnJEZWNvZGVyIiwiUHJvdG9jb2xFcnJvciIsImlzRGVmaW5lZCIsIkxvZ2dlciIsImFsbCIsImxwIiwicGlwZSIsIlVpbnQ4QXJyYXlMaXN0IiwiUGVlckV4Y2hhbmdlUlBDIiwiUGVlckV4Y2hhbmdlQ29kZWMiLCJsb2ciLCJXYWt1UGVlckV4Y2hhbmdlIiwiY29uc3RydWN0b3IiLCJjb21wb25lbnRzIiwicHVic3ViVG9waWNzIiwicXVlcnkiLCJwYXJhbXMiLCJudW1QZWVycyIsInJwY1F1ZXJ5IiwiY3JlYXRlUmVxdWVzdCIsIkJpZ0ludCIsInBlZXIiLCJwZWVyU3RvcmUiLCJnZXQiLCJwZWVySWQiLCJwZWVySW5mb3MiLCJlcnJvciIsIk5PX1BFRVJfQVZBSUxBQkxFIiwic3RyZWFtIiwiZ2V0U3RyZWFtIiwicmVzIiwiZW5jb2RlIiwiZGVjb2RlIiwic291cmNlIiwiYnl0ZXMiLCJmb3JFYWNoIiwiY2h1bmsiLCJhcHBlbmQiLCJyZXNwb25zZSIsIkVNUFRZX1BBWUxPQUQiLCJQcm9taXNlIiwibWFwIiwicGVlckluZm8iLCJlbnIiLCJmaWx0ZXIiLCJFTlIiLCJmcm9tUkxQIiwiZXJyIiwiREVDT0RFX0ZBSUxFRCIsIndha3VQZWVyRXhjaGFuZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/peer-exchange/waku_peer_exchange.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/dist/peer-exchange/waku_peer_exchange_discovery.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/@waku/discovery/dist/peer-exchange/waku_peer_exchange_discovery.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_PEER_EXCHANGE_TAG_NAME: () => (/* binding */ DEFAULT_PEER_EXCHANGE_TAG_NAME),\n/* harmony export */ PeerExchangeDiscovery: () => (/* binding */ PeerExchangeDiscovery),\n/* harmony export */ wakuPeerExchangeDiscovery: () => (/* binding */ wakuPeerExchangeDiscovery)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/event-target.js\");\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/peer-discovery/index.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_peer_exchange_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./waku_peer_exchange.js */ \"(ssr)/./node_modules/@waku/discovery/dist/peer-exchange/waku_peer_exchange.js\");\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_1__.Logger(\"peer-exchange-discovery\");\nconst DEFAULT_PEER_EXCHANGE_REQUEST_NODES = 10;\nconst DEFAULT_PEER_EXCHANGE_QUERY_INTERVAL_MS = 10 * 1000;\nconst DEFAULT_MAX_RETRIES = 3;\nconst DEFAULT_PEER_EXCHANGE_TAG_NAME = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.PEER_EXCHANGE;\nconst DEFAULT_PEER_EXCHANGE_TAG_VALUE = 50;\nconst DEFAULT_PEER_EXCHANGE_TAG_TTL = 100000000;\nclass PeerExchangeDiscovery extends _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.TypedEventEmitter {\n constructor(components, pubsubTopics, options = {}){\n super();\n this.queryingPeers = new Set();\n this.queryAttempts = new Map();\n this.handleDiscoveredPeer = (event)=>{\n const { protocols, peerId } = event.detail;\n if (!protocols.includes(_waku_peer_exchange_js__WEBPACK_IMPORTED_MODULE_2__.PeerExchangeCodec) || this.queryingPeers.has(peerId.toString())) return;\n this.queryingPeers.add(peerId.toString());\n this.startRecurringQueries(peerId).catch((error)=>log.error(`Error querying peer ${error}`));\n };\n this.startRecurringQueries = async (peerId)=>{\n const peerIdStr = peerId.toString();\n const { queryInterval = DEFAULT_PEER_EXCHANGE_QUERY_INTERVAL_MS, maxRetries = DEFAULT_MAX_RETRIES } = this.options;\n log.info(`Querying peer: ${peerIdStr} (attempt ${this.queryAttempts.get(peerIdStr) ?? 1})`);\n await this.query(peerId);\n const currentAttempt = this.queryAttempts.get(peerIdStr) ?? 1;\n if (currentAttempt > maxRetries) {\n this.abortQueriesForPeer(peerIdStr);\n return;\n }\n setTimeout(()=>{\n this.queryAttempts.set(peerIdStr, currentAttempt + 1);\n this.startRecurringQueries(peerId).catch((error)=>{\n log.error(`Error in startRecurringQueries: ${error}`);\n });\n }, queryInterval * currentAttempt);\n };\n this.components = components;\n this.peerExchange = new _waku_peer_exchange_js__WEBPACK_IMPORTED_MODULE_2__.WakuPeerExchange(components, pubsubTopics);\n this.options = options;\n this.isStarted = false;\n }\n /**\n * Start emitting events\n */ start() {\n if (this.isStarted) {\n return;\n }\n log.info(\"Starting peer exchange node discovery, discovering peers\");\n // might be better to use \"peer:identify\" or \"peer:update\"\n this.components.events.addEventListener(\"peer:identify\", this.handleDiscoveredPeer);\n }\n /**\n * Remove event listener\n */ stop() {\n if (!this.isStarted) return;\n log.info(\"Stopping peer exchange node discovery\");\n this.isStarted = false;\n this.queryingPeers.clear();\n this.components.events.removeEventListener(\"peer:identify\", this.handleDiscoveredPeer);\n }\n get [_libp2p_interface__WEBPACK_IMPORTED_MODULE_4__.peerDiscoverySymbol]() {\n return true;\n }\n get [Symbol.toStringTag]() {\n return \"@waku/peer-exchange\";\n }\n async query(peerId) {\n const { error, peerInfos } = await this.peerExchange.query({\n numPeers: DEFAULT_PEER_EXCHANGE_REQUEST_NODES,\n peerId\n });\n if (error) {\n log.error(\"Peer exchange query failed\", error);\n return {\n error,\n peerInfos: null\n };\n }\n for (const _peerInfo of peerInfos){\n const { ENR } = _peerInfo;\n if (!ENR) {\n log.warn(\"No ENR in peerInfo object, skipping\");\n continue;\n }\n const { peerId, peerInfo, shardInfo } = ENR;\n if (!peerId || !peerInfo) {\n continue;\n }\n const hasPeer = await this.components.peerStore.has(peerId);\n if (hasPeer) {\n continue;\n }\n // update the tags for the peer\n await this.components.peerStore.save(peerId, {\n tags: {\n [DEFAULT_PEER_EXCHANGE_TAG_NAME]: {\n value: this.options.tagValue ?? DEFAULT_PEER_EXCHANGE_TAG_VALUE,\n ttl: this.options.tagTTL ?? DEFAULT_PEER_EXCHANGE_TAG_TTL\n }\n },\n ...shardInfo && {\n metadata: {\n shardInfo: (0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.encodeRelayShard)(shardInfo)\n }\n }\n });\n log.info(`Discovered peer: ${peerId.toString()}`);\n this.dispatchEvent(new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CustomEvent(\"peer\", {\n detail: {\n id: peerId,\n multiaddrs: peerInfo.multiaddrs\n }\n }));\n }\n return {\n error: null,\n peerInfos\n };\n }\n abortQueriesForPeer(peerIdStr) {\n log.info(`Aborting queries for peer: ${peerIdStr}`);\n this.queryingPeers.delete(peerIdStr);\n this.queryAttempts.delete(peerIdStr);\n }\n}\nfunction wakuPeerExchangeDiscovery(pubsubTopics) {\n return (components)=>new PeerExchangeDiscovery(components, pubsubTopics);\n} //# sourceMappingURL=waku_peer_exchange_discovery.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L2Rpc3QvcGVlci1leGNoYW5nZS93YWt1X3BlZXJfZXhjaGFuZ2VfZGlzY292ZXJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQW1FO0FBQ0Q7QUFDMUI7QUFDZTtBQUN1QjtBQUM5RSxNQUFNUyxNQUFNLElBQUlILCtDQUFNQSxDQUFDO0FBQ3ZCLE1BQU1JLHNDQUFzQztBQUM1QyxNQUFNQywwQ0FBMEMsS0FBSztBQUNyRCxNQUFNQyxzQkFBc0I7QUFDckIsTUFBTUMsaUNBQWlDVCxrREFBSUEsQ0FBQ1UsYUFBYSxDQUFDO0FBQ2pFLE1BQU1DLGtDQUFrQztBQUN4QyxNQUFNQyxnQ0FBZ0M7QUFDL0IsTUFBTUMsOEJBQThCaEIsZ0VBQWlCQTtJQWV4RGlCLFlBQVlDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxVQUFVLENBQUMsQ0FBQyxDQUFFO1FBQ2hELEtBQUs7YUFYVEMsZ0JBQWdCLElBQUlDO2FBQ3BCQyxnQkFBZ0IsSUFBSUM7YUFDcEJDLHVCQUF1QixDQUFDQztZQUNwQixNQUFNLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxFQUFFLEdBQUdGLE1BQU1HLE1BQU07WUFDMUMsSUFBSSxDQUFDRixVQUFVRyxRQUFRLENBQUN4QixxRUFBaUJBLEtBQ3JDLElBQUksQ0FBQ2UsYUFBYSxDQUFDVSxHQUFHLENBQUNILE9BQU9JLFFBQVEsS0FDdEM7WUFDSixJQUFJLENBQUNYLGFBQWEsQ0FBQ1ksR0FBRyxDQUFDTCxPQUFPSSxRQUFRO1lBQ3RDLElBQUksQ0FBQ0UscUJBQXFCLENBQUNOLFFBQVFPLEtBQUssQ0FBQyxDQUFDQyxRQUFVNUIsSUFBSTRCLEtBQUssQ0FBQyxDQUFDLG9CQUFvQixFQUFFQSxNQUFNLENBQUM7UUFDaEc7YUFvQ0FGLHdCQUF3QixPQUFPTjtZQUMzQixNQUFNUyxZQUFZVCxPQUFPSSxRQUFRO1lBQ2pDLE1BQU0sRUFBRU0sZ0JBQWdCNUIsdUNBQXVDLEVBQUU2QixhQUFh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QUFNO29CQUNGLENBQUN2RCwrQkFBK0IsRUFBRTt3QkFDOUJ3RCxPQUFPLElBQUksQ0FBQ2hELE9BQU8sQ0FBQ2lELFFBQVEsSUFBSXZEO3dCQUNoQ3dELEtBQUssSUFBSSxDQUFDbEQsT0FBTyxDQUFDbUQsTUFBTSxJQUFJeEQ7b0JBQ2hDO2dCQUNKO2dCQUNBLEdBQUlnRCxhQUFhO29CQUNiUyxVQUFVO3dCQUNOVCxXQUFXM0QsNkRBQWdCQSxDQUFDMkQ7b0JBQ2hDO2dCQUNKLENBQUM7WUFDTDtZQUNBdkQsSUFBSWdDLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFWixPQUFPSSxRQUFRLEdBQUcsQ0FBQztZQUNoRCxJQUFJLENBQUN5QyxhQUFhLENBQUMsSUFBSTFFLDBEQUFXQSxDQUFDLFFBQVE7Z0JBQ3ZDOEIsUUFBUTtvQkFDSjZDLElBQUk5QztvQkFDSitDLFlBQVliLFNBQVNhLFVBQVU7Z0JBQ25DO1lBQ0o7UUFDSjtRQUNBLE9BQU87WUFBRXZDLE9BQU87WUFBTXFCO1FBQVU7SUFDcEM7SUFDQWIsb0JBQW9CUCxTQUFTLEVBQUU7UUFDM0I3QixJQUFJZ0MsSUFBSSxDQUFDLENBQUMsMkJBQTJCLEVBQUVILFVBQVUsQ0FBQztRQUNsRCxJQUFJLENBQUNoQixhQUFhLENBQUN1RCxNQUFNLENBQUN2QztRQUMxQixJQUFJLENBQUNkLGFBQWEsQ0FBQ3FELE1BQU0sQ0FBQ3ZDO0lBQzlCO0FBQ0o7QUFDTyxTQUFTd0MsMEJBQTBCMUQsWUFBWTtJQUNsRCxPQUFPLENBQUNELGFBQWUsSUFBSUYsc0JBQXNCRSxZQUFZQztBQUNqRSxFQUNBLHdEQUF3RCIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9kaXN0L3BlZXItZXhjaGFuZ2Uvd2FrdV9wZWVyX2V4Y2hhbmdlX2Rpc2NvdmVyeS5qcz82Mjk1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbUV2ZW50LCBUeXBlZEV2ZW50RW1pdHRlciB9IGZyb20gXCJAbGlicDJwL2ludGVyZmFjZVwiO1xuaW1wb3J0IHsgcGVlckRpc2NvdmVyeVN5bWJvbCBhcyBzeW1ib2wgfSBmcm9tIFwiQGxpYnAycC9pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgZW5jb2RlUmVsYXlTaGFyZCwgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBQZWVyRXhjaGFuZ2VDb2RlYywgV2FrdVBlZXJFeGNoYW5nZSB9IGZyb20gXCIuL3dha3VfcGVlcl9leGNoYW5nZS5qc1wiO1xuY29uc3QgbG9nID0gbmV3IExvZ2dlcihcInBlZXItZXhjaGFuZ2UtZGlzY292ZXJ5XCIpO1xuY29uc3QgREVGQVVMVF9QRUVSX0VYQ0hBTkdFX1JFUVVFU1RfTk9ERVMgPSAxMDtcbmNvbnN0IERFRkFVTFRfUEVFUl9FWENIQU5HRV9RVUVSWV9JTlRFUlZBTF9NUyA9IDEwICogMTAwMDtcbmNvbnN0IERFRkFVTFRfTUFYX1JFVFJJRVMgPSAzO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUEVFUl9FWENIQU5HRV9UQUdfTkFNRSA9IFRhZ3MuUEVFUl9FWENIQU5HRTtcbmNvbnN0IERFRkFVTFRfUEVFUl9FWENIQU5HRV9UQUdfVkFMVUUgPSA1MDtcbmNvbnN0IERFRkFVTFRfUEVFUl9FWENIQU5HRV9UQUdfVFRMID0gMTAwXzAwMF8wMDA7XG5leHBvcnQgY2xhc3MgUGVlckV4Y2hhbmdlRGlzY292ZXJ5IGV4dGVuZHMgVHlwZWRFdmVudEVtaXR0ZXIge1xuICAgIGNvbXBvbmVudHM7XG4gICAgcGVlckV4Y2hhbmdlO1xuICAgIG9wdGlvbnM7XG4gICAgaXNTdGFydGVkO1xuICAgIHF1ZXJ5aW5nUGVlcnMgPSBuZXcgU2V0KCk7XG4gICAgcXVlcnlBdHRlbXB0cyA9IG5ldyBNYXAoKTtcbiAgICBoYW5kbGVEaXNjb3ZlcmVkUGVlciA9IChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCB7IHByb3RvY29scywgcGVlcklkIH0gPSBldmVudC5kZXRhaWw7XG4gICAgICAgIGlmICghcHJvdG9jb2xzLmluY2x1ZGVzKFBlZXJFeGNoYW5nZUNvZGVjKSB8fFxuICAgICAgICAgICAgdGhpcy5xdWVyeWluZ1BlZXJzLmhhcyhwZWVySWQudG9TdHJpbmcoKSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHRoaXMucXVlcnlpbmdQZWVycy5hZGQocGVlcklkLnRvU3RyaW5nKCkpO1xuICAgICAgICB0aGlzLnN0YXJ0UmVjdXJyaW5nUXVlcmllcyhwZWVySWQpLmNhdGNoKChlcnJvcikgPT4gbG9nLmVycm9yKGBFcnJvciBxdWVyeWluZyBwZWVyICR7ZXJyb3J9YCkpO1xuICAgIH07XG4gICAgY29uc3RydWN0b3IoY29tcG9uZW50cywgcHVic3ViVG9waWNzLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gY29tcG9uZW50cztcbiAgICAgICAgdGhpcy5wZWVyRXhjaGFuZ2UgPSBuZXcgV2FrdVBlZXJFeGNoYW5nZShjb21wb25lbnRzLCBwdWJzdWJUb3BpY3MpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLmlzU3RhcnRlZCA9IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTdGFydCBlbWl0dGluZyBldmVudHNcbiAgICAgKi9cbiAgICBzdGFydCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdGFydGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbG9nLmluZm8oXCJTdGFydGluZyBwZWVyIGV4Y2hhbmdlIG5vZGUgZGlzY292ZXJ5LCBkaXNjb3ZlcmluZyBwZWVyc1wiKTtcbiAgICAgICAgLy8gbWlnaHQgYmUgYmV0dGVyIHRvIHVzZSBcInBlZXI6aWRlbnRpZnlcIiBvciBcInBlZXI6dXBkYXRlXCJcbiAgICAgICAgdGhpcy5jb21wb25lbnRzLmV2ZW50cy5hZGRFdmVudExpc3RlbmVyKFwicGVlcjppZGVudGlmeVwiLCB0aGlzLmhhbmRsZURpc2NvdmVyZWRQZWVyKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVtb3ZlIGV2ZW50IGxpc3RlbmVyXG4gICAgICovXG4gICAgc3RvcCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzU3RhcnRlZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgbG9nLmluZm8oXCJTdG9wcGluZyBwZWVyIGV4Y2hhbmdlIG5vZGUgZGlzY292ZXJ5XCIpO1xuICAgICAgICB0aGlzLmlzU3RhcnRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnF1ZXJ5aW5nUGVlcnMuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzLmV2ZW50cy5yZW1vdmVFdmVudExpc3RlbmVyKFwicGVlcjppZGVudGlmeVwiLCB0aGlzLmhhbmRsZURpc2NvdmVyZWRQZWVyKTtcbiAgICB9XG4gICAgZ2V0IFtzeW1ib2xdKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZ2V0IFtTeW1ib2wudG9TdHJpbmdUYWddKCkge1xuICAgICAgICByZXR1cm4gXCJAd2FrdS9wZWVyLWV4Y2hhbmdlXCI7XG4gICAgfVxuICAgIHN0YXJ0UmVjdXJyaW5nUXVlcmllcyA9IGFzeW5jIChwZWVySWQpID0+IHtcbiAgICAgICAgY29uc3QgcGVlcklkU3RyID0gcGVlcklkLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHsgcXVlcnlJbnRlcnZhbCA9IERFRkFVTFRfUEVFUl9FWENIQU5HRV9RVUVSWV9JTlRFUlZBTF9NUywgbWF4UmV0cmllcyA9IERFRkFVTFRfTUFYX1JFVFJJRVMgfSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgbG9nLmluZm8oYFF1ZXJ5aW5nIHBlZXI6ICR7cGVlcklkU3RyfSAoYXR0ZW1wdCAke3RoaXMucXVlcnlBdHRlbXB0cy5nZXQocGVlcklkU3RyKSA/PyAxfSlgKTtcbiAgICAgICAgYXdhaXQgdGhpcy5xdWVyeShwZWVySWQpO1xuICAgICAgICBjb25zdCBjdXJyZW50QXR0ZW1wdCA9IHRoaXMucXVlcnlBdHRlbXB0cy5nZXQocGVlcklkU3RyKSA/PyAxO1xuICAgICAgICBpZiAoY3VycmVudEF0dGVtcHQgPiBtYXhSZXRyaWVzKSB7XG4gICAgICAgICAgICB0aGlzLmFib3J0UXVlcmllc0ZvclBlZXIocGVlcklkU3RyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlBdHRlbXB0cy5zZXQocGVlcklkU3RyLCBjdXJyZW50QXR0ZW1wdCArIDEpO1xuICAgICAgICAgICAgdGhpcy5zdGFydFJlY3VycmluZ1F1ZXJpZXMocGVlcklkKS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoYEVycm9yIGluIHN0YXJ0UmVjdXJyaW5nUXVlcmllczogJHtlcnJvcn1gKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBxdWVyeUludGVydmFsICogY3VycmVudEF0dGVtcHQpO1xuICAgIH07XG4gICAgYXN5bmMgcXVlcnkocGVlcklkKSB7XG4gICAgICAgIGNvbnN0IHsgZXJyb3IsIHBlZXJJbmZvcyB9ID0gYXdhaXQgdGhpcy5wZWVyRXhjaGFuZ2UucXVlcnkoe1xuICAgICAgICAgICAgbnVtUGVlcnM6IERFRkFVTFRfUEVFUl9FWENIQU5HRV9SRVFVRVNUX05PREVTLFxuICAgICAgICAgICAgcGVlcklkXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcIlBlZXIgZXhjaGFuZ2UgcXVlcnkgZmFpbGVkXCIsIGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiB7IGVycm9yLCBwZWVySW5mb3M6IG51bGwgfTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IF9wZWVySW5mbyBvZiBwZWVySW5mb3MpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgRU5SIH0gPSBfcGVlckluZm87XG4gICAgICAgICAgICBpZiAoIUVOUikge1xuICAgICAgICAgICAgICAgIGxvZy53YXJuKFwiTm8gRU5SIGluIHBlZXJJbmZvIG9iamVjdCwgc2tpcHBpbmdcIik7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB7IHBlZXJJZCwgcGVlckluZm8sIHNoYXJkSW5mbyB9ID0gRU5SO1xuICAgICAgICAgICAgaWYgKCFwZWVySWQgfHwgIXBlZXJJbmZvKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBoYXNQZWVyID0gYXdhaXQgdGhpcy5jb21wb25lbnRzLnBlZXJTdG9yZS5oYXMocGVlcklkKTtcbiAgICAgICAgICAgIGlmIChoYXNQZWVyKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB1cGRhdGUgdGhlIHRhZ3MgZm9yIHRoZSBwZWVyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbXBvbmVudHMucGVlclN0b3JlLnNhdmUocGVlcklkLCB7XG4gICAgICAgICAgICAgICAgdGFnczoge1xuICAgICAgICAgICAgICAgICAgICBbREVGQVVMVF9QRUVSX0VYQ0hBTkdFX1RBR19OQU1FXToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMub3B0aW9ucy50YWdWYWx1ZSA/PyBERUZBVUxUX1BFRVJfRVhDSEFOR0VfVEFHX1ZBTFVFLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHRsOiB0aGlzLm9wdGlvbnMudGFnVFRMID8/IERFRkFVTFRfUEVFUl9FWENIQU5HRV9UQUdfVFRMXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC4uLihzaGFyZEluZm8gJiYge1xuICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmRJbmZvOiBlbmNvZGVSZWxheVNoYXJkKHNoYXJkSW5mbylcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGxvZy5pbmZvKGBEaXNjb3ZlcmVkIHBlZXI6ICR7cGVlcklkLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KFwicGVlclwiLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBwZWVySWQsXG4gICAgICAgICAgICAgICAgICAgIG11bHRpYWRkcnM6IHBlZXJJbmZvLm11bHRpYWRkcnNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZXJyb3I6IG51bGwsIHBlZXJJbmZvcyB9O1xuICAgIH1cbiAgICBhYm9ydFF1ZXJpZXNGb3JQZWVyKHBlZXJJZFN0cikge1xuICAgICAgICBsb2cuaW5mbyhgQWJvcnRpbmcgcXVlcmllcyBmb3IgcGVlcjogJHtwZWVySWRTdHJ9YCk7XG4gICAgICAgIHRoaXMucXVlcnlpbmdQZWVycy5kZWxldGUocGVlcklkU3RyKTtcbiAgICAgICAgdGhpcy5xdWVyeUF0dGVtcHRzLmRlbGV0ZShwZWVySWRTdHIpO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiB3YWt1UGVlckV4Y2hhbmdlRGlzY292ZXJ5KHB1YnN1YlRvcGljcykge1xuICAgIHJldHVybiAoY29tcG9uZW50cykgPT4gbmV3IFBlZXJFeGNoYW5nZURpc2NvdmVyeShjb21wb25lbnRzLCBwdWJzdWJUb3BpY3MpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2FrdV9wZWVyX2V4Y2hhbmdlX2Rpc2NvdmVyeS5qcy5tYXAiXSwibmFtZXMiOlsiQ3VzdG9tRXZlbnQiLCJUeXBlZEV2ZW50RW1pdHRlciIsInBlZXJEaXNjb3ZlcnlTeW1ib2wiLCJzeW1ib2wiLCJUYWdzIiwiZW5jb2RlUmVsYXlTaGFyZCIsIkxvZ2dlciIsIlBlZXJFeGNoYW5nZUNvZGVjIiwiV2FrdVBlZXJFeGNoYW5nZSIsImxvZyIsIkRFRkFVTFRfUEVFUl9FWENIQU5HRV9SRVFVRVNUX05PREVTIiwiREVGQVVMVF9QRUVSX0VYQ0hBTkdFX1FVRVJZX0lOVEVSVkFMX01TIiwiREVGQVVMVF9NQVhfUkVUUklFUyIsIkRFRkFVTFRfUEVFUl9FWENIQU5HRV9UQUdfTkFNRSIsIlBFRVJfRVhDSEFOR0UiLCJERUZBVUxUX1BFRVJfRVhDSEFOR0VfVEFHX1ZBTFVFIiwiREVGQVVMVF9QRUVSX0VYQ0hBTkdFX1RBR19UVEwiLCJQZWVyRXhjaGFuZ2VEaXNjb3ZlcnkiLCJjb25zdHJ1Y3RvciIsImNvbXBvbmVudHMiLCJwdWJzdWJUb3BpY3MiLCJvcHRpb25zIiwicXVlcnlpbmdQZWVycyIsIlNldCIsInF1ZXJ5QXR0ZW1wdHMiLCJNYXAiLCJoYW5kbGVEaXNjb3ZlcmVkUGVlciIsImV2ZW50IiwicHJvdG9jb2xzIiwicGVlcklkIiwiZGV0YWlsIiwiaW5jbHVkZXMiLCJoYXMiLCJ0b1N0cmluZyIsImFkZCIsInN0YXJ0UmVjdXJyaW5nUXVlcmllcyIsImNhdGNoIiwiZXJyb3IiLCJwZWVySWRTdHIiLCJxdWVyeUludGVydmFsIiwibWF4UmV0cmllcyIsImluZm8iLCJnZXQiLCJxdWVyeSIsImN1cnJlbnRBdHRlbXB0IiwiYWJvcnRRdWVyaWVzRm9yUGVlciIsInNldFRpbWVvdXQiLCJzZXQiLCJwZWVyRXhjaGFuZ2UiLCJpc1N0YXJ0ZWQiLCJzdGFydCIsImV2ZW50cyIsImFkZEV2ZW50TGlzdGVuZXIiLCJzdG9wIiwiY2xlYXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiU3ltYm9sIiwidG9TdHJpbmdUYWciLCJwZWVySW5mb3MiLCJudW1QZWVycyIsIl9wZWVySW5mbyIsIkVOUiIsIndhcm4iLCJwZWVySW5mbyIsInNoYXJkSW5mbyIsImhhc1BlZXIiLCJwZWVyU3RvcmUiLCJzYXZlIiwidGFncyIsInZhbHVlIiwidGFnVmFsdWUiLCJ0dGwiLCJ0YWdUVEwiLCJtZXRhZGF0YSIsImRpc3BhdGNoRXZlbnQiLCJpZCIsIm11bHRpYWRkcnMiLCJkZWxldGUiLCJ3YWt1UGVlckV4Y2hhbmdlRGlzY292ZXJ5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/dist/peer-exchange/waku_peer_exchange_discovery.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/base_protocol.js":
/*!****************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/base_protocol.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseProtocol: () => (/* binding */ BaseProtocol)\n/* harmony export */ });\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/libp2p */ \"(ssr)/./node_modules/@waku/utils/dist/libp2p/index.js\");\n/* harmony import */ var _filterPeers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./filterPeers.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/filterPeers.js\");\n/* harmony import */ var _stream_manager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stream_manager.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/stream_manager.js\");\n\n\n\n\n/**\n * A class with predefined helpers, to be used as a base to implement Waku\n * Protocols.\n */ class BaseProtocol {\n constructor(multicodec, components, log, pubsubTopics, options){\n this.multicodec = multicodec;\n this.components = components;\n this.log = log;\n this.pubsubTopics = pubsubTopics;\n this.options = options;\n this.addLibp2pEventListener = components.events.addEventListener.bind(components.events);\n this.removeLibp2pEventListener = components.events.removeEventListener.bind(components.events);\n this.streamManager = new _stream_manager_js__WEBPACK_IMPORTED_MODULE_3__.StreamManager(multicodec, components.connectionManager.getConnections.bind(components.connectionManager), this.addLibp2pEventListener);\n }\n async getStream(peer) {\n return this.streamManager.getStream(peer);\n }\n get peerStore() {\n return this.components.peerStore;\n }\n /**\n * Returns known peers from the address book (`libp2p.peerStore`) that support\n * the class protocol. Waku may or may not be currently connected to these\n * peers.\n */ async allPeers() {\n return (0,_waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__.getPeersForProtocol)(this.peerStore, [\n this.multicodec\n ]);\n }\n async connectedPeers() {\n const peers = await this.allPeers();\n return peers.filter((peer)=>{\n return this.components.connectionManager.getConnections(peer.id).length > 0;\n });\n }\n /**\n * Retrieves a list of connected peers that support the protocol. The list is sorted by latency.\n *\n * @param numPeers - The total number of peers to retrieve. If 0, all peers are returned.\n * @param maxBootstrapPeers - The maximum number of bootstrap peers to retrieve.\n \n * @returns A list of peers that support the protocol sorted by latency.\n */ async getPeers({ numPeers, maxBootstrapPeers } = {\n maxBootstrapPeers: 1,\n numPeers: 0\n }) {\n // Retrieve all connected peers that support the protocol & shard (if configured)\n const connectedPeersForProtocolAndShard = await (0,_waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__.getConnectedPeersForProtocolAndShard)(this.components.connectionManager.getConnections(), this.peerStore, [\n this.multicodec\n ], this.options?.shardInfo ? (0,_waku_utils__WEBPACK_IMPORTED_MODULE_0__.ensureShardingConfigured)(this.options.shardInfo).shardInfo : undefined);\n // Filter the peers based on discovery & number of peers requested\n const filteredPeers = (0,_filterPeers_js__WEBPACK_IMPORTED_MODULE_2__.filterPeersByDiscovery)(connectedPeersForProtocolAndShard, numPeers, maxBootstrapPeers);\n // Sort the peers by latency\n const sortedFilteredPeers = await (0,_waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__.sortPeersByLatency)(this.peerStore, filteredPeers);\n if (sortedFilteredPeers.length === 0) {\n this.log.warn(\"No peers found. Ensure you have a connection to the network.\");\n }\n if (sortedFilteredPeers.length < numPeers) {\n this.log.warn(`Only ${sortedFilteredPeers.length} peers found. Requested ${numPeers}.`);\n }\n return sortedFilteredPeers;\n }\n} //# sourceMappingURL=base_protocol.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2Jhc2VfcHJvdG9jb2wuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBdUQ7QUFDNEQ7QUFDekQ7QUFDTjtBQUNwRDs7O0NBR0MsR0FDTSxNQUFNTTtJQVNUQyxZQUFZQyxVQUFVLEVBQUVDLFVBQVUsRUFBRUMsR0FBRyxFQUFFQyxZQUFZLEVBQUVDLE9BQU8sQ0FBRTtRQUM1RCxJQUFJLENBQUNKLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsR0FBRyxHQUFHQTtRQUNYLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtRQUNwQixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLHNCQUFzQixHQUFHSixXQUFXSyxNQUFNLENBQUNDLGdCQUFnQixDQUFDQyxJQUFJLENBQUNQLFdBQVdLLE1BQU07UUFDdkYsSUFBSSxDQUFDRyx5QkFBeUIsR0FBR1IsV0FBV0ssTUFBTSxDQUFDSSxtQkFBbUIsQ0FBQ0YsSUFBSSxDQUFDUCxXQUFXSyxNQUFNO1FBQzdGLElBQUksQ0FBQ0ssYUFBYSxHQUFHLElBQUlkLDZEQUFhQSxDQUFDRyxZQUFZQyxXQUFXVyxpQkFBaUIsQ0FBQ0MsY0FBYyxDQUFDTCxJQUFJLENBQUNQLFdBQVdXLGlCQUFpQixHQUFHLElBQUksQ0FBQ1Asc0JBQXNCO0lBQ2xLO0lBQ0EsTUFBTVMsVUFBVUMsSUFBSSxFQUFFO1FBQ2xCLE9BQU8sSUFBSSxDQUFDSixhQUFhLENBQUNHLFNBQVMsQ0FBQ0M7SUFDeEM7SUFDQSxJQUFJQyxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUNmLFVBQVUsQ0FBQ2UsU0FBUztJQUNwQztJQUNBOzs7O0tBSUMsR0FDRCxNQUFNQyxXQUFXO1FBQ2IsT0FBT3ZCLHVFQUFtQkEsQ0FBQyxJQUFJLENBQUNzQixTQUFTLEVBQUU7WUFBQyxJQUFJLENBQUNoQixVQUFVO1NBQUM7SUFDaEU7SUFDQSxNQUFNa0IsaUJBQWlCO1FBQ25CLE1BQU1DLFFBQVEsTUFBTSxJQUFJLENBQUNGLFFBQVE7UUFDakMsT0FBT0UsTUFBTUMsTUFBTSxDQUFDLENBQUNMO1lBQ2pCLE9BQVEsSUFBSSxDQUFDZCxVQUFVLENBQUNXLGlCQUFpQixDQUFDQyxjQUFjLENBQUNFLEtBQUtNLEVBQUUsRUFBRUMsTUFBTSxHQUFHO1FBQy9FO0lBQ0o7SUFDQTs7Ozs7OztJQU9BLEdBQ0EsTUFBTUMsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLGlCQUFpQixFQUFFLEdBQUc7UUFDN0NBLG1CQUFtQjtRQUNuQkQsVUFBVTtJQUNkLENBQUMsRUFBRTtRQUNDLGlGQUFpRjtRQUNqRixNQUFNRSxvQ0FBb0MsTUFBTWpDLHdGQUFvQ0EsQ0FBQyxJQUFJLENBQUNRLFVBQVUsQ0FBQ1csaUJBQWlCLENBQUNDLGNBQWMsSUFBSSxJQUFJLENBQUNHLFNBQVMsRUFBRTtZQUFDLElBQUksQ0FBQ2hCLFVBQVU7U0FBQyxFQUFFLElBQUksQ0FBQ0ksT0FBTyxFQUFFdUIsWUFDcExuQyxxRUFBd0JBLENBQUMsSUFBSSxDQUFDWSxPQUFPLENBQUN1QixTQUFTLEVBQUVBLFNBQVMsR0FDMURDO1FBQ04sa0VBQWtFO1FBQ2xFLE1BQU1DLGdCQUFnQmpDLHVFQUFzQkEsQ0FBQzhCLG1DQUFtQ0YsVUFBVUM7UUFDMUYsNEJBQTRCO1FBQzVCLE1BQU1LLHNCQUFzQixNQUFNbkMsc0VBQWtCQSxDQUFDLElBQUksQ0FBQ3FCLFNBQVMsRUFBRWE7UUFDckUsSUFBSUMsb0JBQW9CUixNQUFNLEtBQUssR0FBRztZQUNsQyxJQUFJLENBQUNwQixHQUFHLENBQUM2QixJQUFJLENBQUM7UUFDbEI7UUFDQSxJQUFJRCxvQkFBb0JSLE1BQU0sR0FBR0UsVUFBVTtZQUN2QyxJQUFJLENBQUN0QixHQUFHLENBQUM2QixJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUVELG9CQUFvQlIsTUFBTSxDQUFDLHdCQUF3QixFQUFFRSxTQUFTLENBQUMsQ0FBQztRQUMxRjtRQUNBLE9BQU9NO0lBQ1g7QUFDSixFQUNBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9kaXN0L2xpYi9iYXNlX3Byb3RvY29sLmpzPzFiYWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5zdXJlU2hhcmRpbmdDb25maWd1cmVkIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBnZXRDb25uZWN0ZWRQZWVyc0ZvclByb3RvY29sQW5kU2hhcmQsIGdldFBlZXJzRm9yUHJvdG9jb2wsIHNvcnRQZWVyc0J5TGF0ZW5jeSB9IGZyb20gXCJAd2FrdS91dGlscy9saWJwMnBcIjtcbmltcG9ydCB7IGZpbHRlclBlZXJzQnlEaXNjb3ZlcnkgfSBmcm9tIFwiLi9maWx0ZXJQZWVycy5qc1wiO1xuaW1wb3J0IHsgU3RyZWFtTWFuYWdlciB9IGZyb20gXCIuL3N0cmVhbV9tYW5hZ2VyLmpzXCI7XG4vKipcbiAqIEEgY2xhc3Mgd2l0aCBwcmVkZWZpbmVkIGhlbHBlcnMsIHRvIGJlIHVzZWQgYXMgYSBiYXNlIHRvIGltcGxlbWVudCBXYWt1XG4gKiBQcm90b2NvbHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXNlUHJvdG9jb2wge1xuICAgIG11bHRpY29kZWM7XG4gICAgY29tcG9uZW50cztcbiAgICBsb2c7XG4gICAgcHVic3ViVG9waWNzO1xuICAgIG9wdGlvbnM7XG4gICAgYWRkTGlicDJwRXZlbnRMaXN0ZW5lcjtcbiAgICByZW1vdmVMaWJwMnBFdmVudExpc3RlbmVyO1xuICAgIHN0cmVhbU1hbmFnZXI7XG4gICAgY29uc3RydWN0b3IobXVsdGljb2RlYywgY29tcG9uZW50cywgbG9nLCBwdWJzdWJUb3BpY3MsIG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5tdWx0aWNvZGVjID0gbXVsdGljb2RlYztcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gY29tcG9uZW50cztcbiAgICAgICAgdGhpcy5sb2cgPSBsb2c7XG4gICAgICAgIHRoaXMucHVic3ViVG9waWNzID0gcHVic3ViVG9waWNzO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLmFkZExpYnAycEV2ZW50TGlzdGVuZXIgPSBjb21wb25lbnRzLmV2ZW50cy5hZGRFdmVudExpc3RlbmVyLmJpbmQoY29tcG9uZW50cy5ldmVudHMpO1xuICAgICAgICB0aGlzLnJlbW92ZUxpYnAycEV2ZW50TGlzdGVuZXIgPSBjb21wb25lbnRzLmV2ZW50cy5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQoY29tcG9uZW50cy5ldmVudHMpO1xuICAgICAgICB0aGlzLnN0cmVhbU1hbmFnZXIgPSBuZXcgU3RyZWFtTWFuYWdlcihtdWx0aWNvZGVjLCBjb21wb25lbnRzLmNvbm5lY3Rpb25NYW5hZ2VyLmdldENvbm5lY3Rpb25zLmJpbmQoY29tcG9uZW50cy5jb25uZWN0aW9uTWFuYWdlciksIHRoaXMuYWRkTGlicDJwRXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuICAgIGFzeW5jIGdldFN0cmVhbShwZWVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0cmVhbU1hbmFnZXIuZ2V0U3RyZWFtKHBlZXIpO1xuICAgIH1cbiAgICBnZXQgcGVlclN0b3JlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRzLnBlZXJTdG9yZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBrbm93biBwZWVycyBmcm9tIHRoZSBhZGRyZXNzIGJvb2sgKGBsaWJwMnAucGVlclN0b3JlYCkgdGhhdCBzdXBwb3J0XG4gICAgICogdGhlIGNsYXNzIHByb3RvY29sLiBXYWt1IG1heSBvciBtYXkgbm90IGJlIGN1cnJlbnRseSBjb25uZWN0ZWQgdG8gdGhlc2VcbiAgICAgKiBwZWVycy5cbiAgICAgKi9cbiAgICBhc3luYyBhbGxQZWVycygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBlZXJzRm9yUHJvdG9jb2wodGhpcy5wZWVyU3RvcmUsIFt0aGlzLm11bHRpY29kZWNdKTtcbiAgICB9XG4gICAgYXN5bmMgY29ubmVjdGVkUGVlcnMoKSB7XG4gICAgICAgIGNvbnN0IHBlZXJzID0gYXdhaXQgdGhpcy5hbGxQZWVycygpO1xuICAgICAgICByZXR1cm4gcGVlcnMuZmlsdGVyKChwZWVyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuY29tcG9uZW50cy5jb25uZWN0aW9uTWFuYWdlci5nZXRDb25uZWN0aW9ucyhwZWVyLmlkKS5sZW5ndGggPiAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgY29ubmVjdGVkIHBlZXJzIHRoYXQgc3VwcG9ydCB0aGUgcHJvdG9jb2wuIFRoZSBsaXN0IGlzIHNvcnRlZCBieSBsYXRlbmN5LlxuICAgICAqXG4gICAgICogQHBhcmFtIG51bVBlZXJzIC0gVGhlIHRvdGFsIG51bWJlciBvZiBwZWVycyB0byByZXRyaWV2ZS4gSWYgMCwgYWxsIHBlZXJzIGFyZSByZXR1cm5lZC5cbiAgICAgKiBAcGFyYW0gbWF4Qm9vdHN0cmFwUGVlcnMgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgYm9vdHN0cmFwIHBlZXJzIHRvIHJldHJpZXZlLlxuICBcbiAgICAqIEByZXR1cm5zIEEgbGlzdCBvZiBwZWVycyB0aGF0IHN1cHBvcnQgdGhlIHByb3RvY29sIHNvcnRlZCBieSBsYXRlbmN5LlxuICAgICovXG4gICAgYXN5bmMgZ2V0UGVlcnMoeyBudW1QZWVycywgbWF4Qm9vdHN0cmFwUGVlcnMgfSA9IHtcbiAgICAgICAgbWF4Qm9vdHN0cmFwUGVlcnM6IDEsXG4gICAgICAgIG51bVBlZXJzOiAwXG4gICAgfSkge1xuICAgICAgICAvLyBSZXRyaWV2ZSBhbGwgY29ubmVjdGVkIHBlZXJzIHRoYXQgc3VwcG9ydCB0aGUgcHJvdG9jb2wgJiBzaGFyZCAoaWYgY29uZmlndXJlZClcbiAgICAgICAgY29uc3QgY29ubmVjdGVkUGVlcnNGb3JQcm90b2NvbEFuZFNoYXJkID0gYXdhaXQgZ2V0Q29ubmVjdGVkUGVlcnNGb3JQcm90b2NvbEFuZFNoYXJkKHRoaXMuY29tcG9uZW50cy5jb25uZWN0aW9uTWFuYWdlci5nZXRDb25uZWN0aW9ucygpLCB0aGlzLnBlZXJTdG9yZSwgW3RoaXMubXVsdGljb2RlY10sIHRoaXMub3B0aW9ucz8uc2hhcmRJbmZvXG4gICAgICAgICAgICA/IGVuc3VyZVNoYXJkaW5nQ29uZmlndXJlZCh0aGlzLm9wdGlvbnMuc2hhcmRJbmZvKS5zaGFyZEluZm9cbiAgICAgICAgICAgIDogdW5kZWZpbmVkKTtcbiAgICAgICAgLy8gRmlsdGVyIHRoZSBwZWVycyBiYXNlZCBvbiBkaXNjb3ZlcnkgJiBudW1iZXIgb2YgcGVlcnMgcmVxdWVzdGVkXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkUGVlcnMgPSBmaWx0ZXJQZWVyc0J5RGlzY292ZXJ5KGNvbm5lY3RlZFBlZXJzRm9yUHJvdG9jb2xBbmRTaGFyZCwgbnVtUGVlcnMsIG1heEJvb3RzdHJhcFBlZXJzKTtcbiAgICAgICAgLy8gU29ydCB0aGUgcGVlcnMgYnkgbGF0ZW5jeVxuICAgICAgICBjb25zdCBzb3J0ZWRGaWx0ZXJlZFBlZXJzID0gYXdhaXQgc29ydFBlZXJzQnlMYXRlbmN5KHRoaXMucGVlclN0b3JlLCBmaWx0ZXJlZFBlZXJzKTtcbiAgICAgICAgaWYgKHNvcnRlZEZpbHRlcmVkUGVlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmxvZy53YXJuKFwiTm8gcGVlcnMgZm91bmQuIEVuc3VyZSB5b3UgaGF2ZSBhIGNvbm5lY3Rpb24gdG8gdGhlIG5ldHdvcmsuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0ZWRGaWx0ZXJlZFBlZXJzLmxlbmd0aCA8IG51bVBlZXJzKSB7XG4gICAgICAgICAgICB0aGlzLmxvZy53YXJuKGBPbmx5ICR7c29ydGVkRmlsdGVyZWRQZWVycy5sZW5ndGh9IHBlZXJzIGZvdW5kLiBSZXF1ZXN0ZWQgJHtudW1QZWVyc30uYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNvcnRlZEZpbHRlcmVkUGVlcnM7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YmFzZV9wcm90b2NvbC5qcy5tYXAiXSwibmFtZXMiOlsiZW5zdXJlU2hhcmRpbmdDb25maWd1cmVkIiwiZ2V0Q29ubmVjdGVkUGVlcnNGb3JQcm90b2NvbEFuZFNoYXJkIiwiZ2V0UGVlcnNGb3JQcm90b2NvbCIsInNvcnRQZWVyc0J5TGF0ZW5jeSIsImZpbHRlclBlZXJzQnlEaXNjb3ZlcnkiLCJTdHJlYW1NYW5hZ2VyIiwiQmFzZVByb3RvY29sIiwiY29uc3RydWN0b3IiLCJtdWx0aWNvZGVjIiwiY29tcG9uZW50cyIsImxvZyIsInB1YnN1YlRvcGljcyIsIm9wdGlvbnMiLCJhZGRMaWJwMnBFdmVudExpc3RlbmVyIiwiZXZlbnRzIiwiYWRkRXZlbnRMaXN0ZW5lciIsImJpbmQiLCJyZW1vdmVMaWJwMnBFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInN0cmVhbU1hbmFnZXIiLCJjb25uZWN0aW9uTWFuYWdlciIsImdldENvbm5lY3Rpb25zIiwiZ2V0U3RyZWFtIiwicGVlciIsInBlZXJTdG9yZSIsImFsbFBlZXJzIiwiY29ubmVjdGVkUGVlcnMiLCJwZWVycyIsImZpbHRlciIsImlkIiwibGVuZ3RoIiwiZ2V0UGVlcnMiLCJudW1QZWVycyIsIm1heEJvb3RzdHJhcFBlZXJzIiwiY29ubmVjdGVkUGVlcnNGb3JQcm90b2NvbEFuZFNoYXJkIiwic2hhcmRJbmZvIiwidW5kZWZpbmVkIiwiZmlsdGVyZWRQZWVycyIsInNvcnRlZEZpbHRlcmVkUGVlcnMiLCJ3YXJuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/base_protocol.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/filterPeers.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/filterPeers.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterPeersByDiscovery: () => (/* binding */ filterPeersByDiscovery)\n/* harmony export */ });\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/index.js\");\n\n/**\n * Retrieves a list of peers based on the specified criteria:\n * 1. If numPeers is 0, return all peers\n * 2. Bootstrap peers are prioritized\n * 3. Non-bootstrap peers are randomly selected to fill up to numPeers\n *\n * @param peers - The list of peers to filter from.\n * @param numPeers - The total number of peers to retrieve. If 0, all peers are returned, irrespective of `maxBootstrapPeers`.\n * @param maxBootstrapPeers - The maximum number of bootstrap peers to retrieve.\n * @returns An array of peers based on the specified criteria.\n */ function filterPeersByDiscovery(peers, numPeers, maxBootstrapPeers) {\n // Collect the bootstrap peers up to the specified maximum\n let bootstrapPeers = peers.filter((peer)=>peer.tags.has(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP)).slice(0, maxBootstrapPeers);\n // If numPeers is less than the number of bootstrap peers, adjust the bootstrapPeers array\n if (numPeers > 0 && numPeers < bootstrapPeers.length) {\n bootstrapPeers = bootstrapPeers.slice(0, numPeers);\n }\n // Collect non-bootstrap peers\n const nonBootstrapPeers = peers.filter((peer)=>!peer.tags.has(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP));\n // If numPeers is 0, return all peers\n if (numPeers === 0) {\n return [\n ...bootstrapPeers,\n ...nonBootstrapPeers\n ];\n }\n // Initialize the list of selected peers with the bootstrap peers\n const selectedPeers = [\n ...bootstrapPeers\n ];\n // Fill up to numPeers with remaining random peers if needed\n while(selectedPeers.length < numPeers && nonBootstrapPeers.length > 0){\n const randomIndex = Math.floor(Math.random() * nonBootstrapPeers.length);\n const randomPeer = nonBootstrapPeers.splice(randomIndex, 1)[0];\n selectedPeers.push(randomPeer);\n }\n return selectedPeers;\n} //# sourceMappingURL=filterPeers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2ZpbHRlclBlZXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXdDO0FBQ3hDOzs7Ozs7Ozs7O0NBVUMsR0FDTSxTQUFTQyx1QkFBdUJDLEtBQUssRUFBRUMsUUFBUSxFQUFFQyxpQkFBaUI7SUFDckUsMERBQTBEO0lBQzFELElBQUlDLGlCQUFpQkgsTUFDaEJJLE1BQU0sQ0FBQyxDQUFDQyxPQUFTQSxLQUFLQyxJQUFJLENBQUNDLEdBQUcsQ0FBQ1Qsa0RBQUlBLENBQUNVLFNBQVMsR0FDN0NDLEtBQUssQ0FBQyxHQUFHUDtJQUNkLDBGQUEwRjtJQUMxRixJQUFJRCxXQUFXLEtBQUtBLFdBQVdFLGVBQWVPLE1BQU0sRUFBRTtRQUNsRFAsaUJBQWlCQSxlQUFlTSxLQUFLLENBQUMsR0FBR1I7SUFDN0M7SUFDQSw4QkFBOEI7SUFDOUIsTUFBTVUsb0JBQW9CWCxNQUFNSSxNQUFNLENBQUMsQ0FBQ0MsT0FBUyxDQUFDQSxLQUFLQyxJQUFJLENBQUNDLEdBQUcsQ0FBQ1Qsa0RBQUlBLENBQUNVLFNBQVM7SUFDOUUscUNBQXFDO0lBQ3JDLElBQUlQLGFBQWEsR0FBRztRQUNoQixPQUFPO2VBQUlFO2VBQW1CUTtTQUFrQjtJQUNwRDtJQUNBLGlFQUFpRTtJQUNqRSxNQUFNQyxnQkFBZ0I7V0FBSVQ7S0FBZTtJQUN6Qyw0REFBNEQ7SUFDNUQsTUFBT1MsY0FBY0YsTUFBTSxHQUFHVCxZQUFZVSxrQkFBa0JELE1BQU0sR0FBRyxFQUFHO1FBQ3BFLE1BQU1HLGNBQWNDLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsTUFBTSxLQUFLTCxrQkFBa0JELE1BQU07UUFDdkUsTUFBTU8sYUFBYU4sa0JBQWtCTyxNQUFNLENBQUNMLGFBQWEsRUFBRSxDQUFDLEVBQUU7UUFDOURELGNBQWNPLElBQUksQ0FBQ0Y7SUFDdkI7SUFDQSxPQUFPTDtBQUNYLEVBQ0EsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2ZpbHRlclBlZXJzLmpzPzQ3YWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFncyB9IGZyb20gXCJAd2FrdS9pbnRlcmZhY2VzXCI7XG4vKipcbiAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgcGVlcnMgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBjcml0ZXJpYTpcbiAqIDEuIElmIG51bVBlZXJzIGlzIDAsIHJldHVybiBhbGwgcGVlcnNcbiAqIDIuIEJvb3RzdHJhcCBwZWVycyBhcmUgcHJpb3JpdGl6ZWRcbiAqIDMuIE5vbi1ib290c3RyYXAgcGVlcnMgYXJlIHJhbmRvbWx5IHNlbGVjdGVkIHRvIGZpbGwgdXAgdG8gbnVtUGVlcnNcbiAqXG4gKiBAcGFyYW0gcGVlcnMgLSBUaGUgbGlzdCBvZiBwZWVycyB0byBmaWx0ZXIgZnJvbS5cbiAqIEBwYXJhbSBudW1QZWVycyAtIFRoZSB0b3RhbCBudW1iZXIgb2YgcGVlcnMgdG8gcmV0cmlldmUuIElmIDAsIGFsbCBwZWVycyBhcmUgcmV0dXJuZWQsIGlycmVzcGVjdGl2ZSBvZiBgbWF4Qm9vdHN0cmFwUGVlcnNgLlxuICogQHBhcmFtIG1heEJvb3RzdHJhcFBlZXJzIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIGJvb3RzdHJhcCBwZWVycyB0byByZXRyaWV2ZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBlZXJzIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJQZWVyc0J5RGlzY292ZXJ5KHBlZXJzLCBudW1QZWVycywgbWF4Qm9vdHN0cmFwUGVlcnMpIHtcbiAgICAvLyBDb2xsZWN0IHRoZSBib290c3RyYXAgcGVlcnMgdXAgdG8gdGhlIHNwZWNpZmllZCBtYXhpbXVtXG4gICAgbGV0IGJvb3RzdHJhcFBlZXJzID0gcGVlcnNcbiAgICAgICAgLmZpbHRlcigocGVlcikgPT4gcGVlci50YWdzLmhhcyhUYWdzLkJPT1RTVFJBUCkpXG4gICAgICAgIC5zbGljZSgwLCBtYXhCb290c3RyYXBQZWVycyk7XG4gICAgLy8gSWYgbnVtUGVlcnMgaXMgbGVzcyB0aGFuIHRoZSBudW1iZXIgb2YgYm9vdHN0cmFwIHBlZXJzLCBhZGp1c3QgdGhlIGJvb3RzdHJhcFBlZXJzIGFycmF5XG4gICAgaWYgKG51bVBlZXJzID4gMCAmJiBudW1QZWVycyA8IGJvb3RzdHJhcFBlZXJzLmxlbmd0aCkge1xuICAgICAgICBib290c3RyYXBQZWVycyA9IGJvb3RzdHJhcFBlZXJzLnNsaWNlKDAsIG51bVBlZXJzKTtcbiAgICB9XG4gICAgLy8gQ29sbGVjdCBub24tYm9vdHN0cmFwIHBlZXJzXG4gICAgY29uc3Qgbm9uQm9vdHN0cmFwUGVlcnMgPSBwZWVycy5maWx0ZXIoKHBlZXIpID0+ICFwZWVyLnRhZ3MuaGFzKFRhZ3MuQk9PVFNUUkFQKSk7XG4gICAgLy8gSWYgbnVtUGVlcnMgaXMgMCwgcmV0dXJuIGFsbCBwZWVyc1xuICAgIGlmIChudW1QZWVycyA9PT0gMCkge1xuICAgICAgICByZXR1cm4gWy4uLmJvb3RzdHJhcFBlZXJzLCAuLi5ub25Cb290c3RyYXBQZWVyc107XG4gICAgfVxuICAgIC8vIEluaXRpYWxpemUgdGhlIGxpc3Qgb2Ygc2VsZWN0ZWQgcGVlcnMgd2l0aCB0aGUgYm9vdHN0cmFwIHBlZXJzXG4gICAgY29uc3Qgc2VsZWN0ZWRQZWVycyA9IFsuLi5ib290c3RyYXBQZWVyc107XG4gICAgLy8gRmlsbCB1cCB0byBudW1QZWVycyB3aXRoIHJlbWFpbmluZyByYW5kb20gcGVlcnMgaWYgbmVlZGVkXG4gICAgd2hpbGUgKHNlbGVjdGVkUGVlcnMubGVuZ3RoIDwgbnVtUGVlcnMgJiYgbm9uQm9vdHN0cmFwUGVlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIG5vbkJvb3RzdHJhcFBlZXJzLmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IHJhbmRvbVBlZXIgPSBub25Cb290c3RyYXBQZWVycy5zcGxpY2UocmFuZG9tSW5kZXgsIDEpWzBdO1xuICAgICAgICBzZWxlY3RlZFBlZXJzLnB1c2gocmFuZG9tUGVlcik7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RlZFBlZXJzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmlsdGVyUGVlcnMuanMubWFwIl0sIm5hbWVzIjpbIlRhZ3MiLCJmaWx0ZXJQZWVyc0J5RGlzY292ZXJ5IiwicGVlcnMiLCJudW1QZWVycyIsIm1heEJvb3RzdHJhcFBlZXJzIiwiYm9vdHN0cmFwUGVlcnMiLCJmaWx0ZXIiLCJwZWVyIiwidGFncyIsImhhcyIsIkJPT1RTVFJBUCIsInNsaWNlIiwibGVuZ3RoIiwibm9uQm9vdHN0cmFwUGVlcnMiLCJzZWxlY3RlZFBlZXJzIiwicmFuZG9tSW5kZXgiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJyYW5kb21QZWVyIiwic3BsaWNlIiwicHVzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/filterPeers.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/stream_manager.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/stream_manager.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StreamManager: () => (/* binding */ StreamManager)\n/* harmony export */ });\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/libp2p */ \"(ssr)/./node_modules/@waku/utils/dist/libp2p/index.js\");\n\n\nclass StreamManager {\n constructor(multicodec, getConnections, addEventListener){\n this.handlePeerUpdateStreamPool = (evt)=>{\n const peer = evt.detail.peer;\n if (peer.protocols.includes(this.multicodec)) {\n this.log.info(`Preemptively opening a stream to ${peer.id.toString()}`);\n this.prepareNewStream(peer);\n }\n };\n this.multicodec = multicodec;\n this.getConnections = getConnections;\n this.addEventListener = addEventListener;\n this.log = new _waku_utils__WEBPACK_IMPORTED_MODULE_0__.Logger(`stream-manager:${multicodec}`);\n this.addEventListener(\"peer:update\", this.handlePeerUpdateStreamPool.bind(this));\n this.getStream = this.getStream.bind(this);\n this.streamPool = new Map();\n }\n async getStream(peer) {\n const peerIdStr = peer.id.toString();\n const streamPromise = this.streamPool.get(peerIdStr);\n if (!streamPromise) {\n return this.newStream(peer); // fallback by creating a new stream on the spot\n }\n // We have the stream, let's remove it from the map\n this.streamPool.delete(peerIdStr);\n this.prepareNewStream(peer);\n const stream = await streamPromise;\n if (!stream || stream.status === \"closed\") {\n return this.newStream(peer); // fallback by creating a new stream on the spot\n }\n return stream;\n }\n async newStream(peer) {\n const connections = this.getConnections(peer.id);\n const connection = (0,_waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__.selectConnection)(connections);\n if (!connection) {\n throw new Error(\"Failed to get a connection to the peer\");\n }\n return connection.newStream(this.multicodec);\n }\n prepareNewStream(peer) {\n const streamPromise = this.newStream(peer).catch(()=>{\n // No error thrown as this call is not triggered by the user\n this.log.error(`Failed to prepare a new stream for ${peer.id.toString()}`);\n });\n this.streamPool.set(peer.id.toString(), streamPromise);\n }\n} //# sourceMappingURL=stream_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL3N0cmVhbV9tYW5hZ2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFxQztBQUNpQjtBQUMvQyxNQUFNRTtJQU1UQyxZQUFZQyxVQUFVLEVBQUVDLGNBQWMsRUFBRUMsZ0JBQWdCLENBQUU7YUF1QzFEQyw2QkFBNkIsQ0FBQ0M7WUFDMUIsTUFBTUMsT0FBT0QsSUFBSUUsTUFBTSxDQUFDRCxJQUFJO1lBQzVCLElBQUlBLEtBQUtFLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDLElBQUksQ0FBQ1IsVUFBVSxHQUFHO2dCQUMxQyxJQUFJLENBQUNTLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDLENBQUMsaUNBQWlDLEVBQUVMLEtBQUtNLEVBQUUsQ0FBQ0MsUUFBUSxHQUFHLENBQUM7Z0JBQ3RFLElBQUksQ0FBQ0MsZ0JBQWdCLENBQUNSO1lBQzFCO1FBQ0o7UUE1Q0ksSUFBSSxDQUFDTCxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQTtRQUN0QixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTtRQUN4QixJQUFJLENBQUNPLEdBQUcsR0FBRyxJQUFJYiwrQ0FBTUEsQ0FBQyxDQUFDLGVBQWUsRUFBRUksV0FBVyxDQUFDO1FBQ3BELElBQUksQ0FBQ0UsZ0JBQWdCLENBQUMsZUFBZSxJQUFJLENBQUNDLDBCQUEwQixDQUFDVyxJQUFJLENBQUMsSUFBSTtRQUM5RSxJQUFJLENBQUNDLFNBQVMsR0FBRyxJQUFJLENBQUNBLFNBQVMsQ0FBQ0QsSUFBSSxDQUFDLElBQUk7UUFDekMsSUFBSSxDQUFDRSxVQUFVLEdBQUcsSUFBSUM7SUFDMUI7SUFDQSxNQUFNRixVQUFVVixJQUFJLEVBQUU7UUFDbEIsTUFBTWEsWUFBWWIsS0FBS00sRUFBRSxDQUFDQyxRQUFRO1FBQ2xDLE1BQU1PLGdCQUFnQixJQUFJLENBQUNILFVBQVUsQ0FBQ0ksR0FBRyxDQUFDRjtRQUMxQyxJQUFJLENBQUNDLGVBQWU7WUFDaEIsT0FBTyxJQUFJLENBQUNFLFNBQVMsQ0FBQ2hCLE9BQU8sZ0RBQWdEO1FBQ2pGO1FBQ0EsbURBQW1EO1FBQ25ELElBQUksQ0FBQ1csVUFBVSxDQUFDTSxNQUFNLENBQUNKO1FBQ3ZCLElBQUksQ0FBQ0wsZ0JBQWdCLENBQUNSO1FBQ3RCLE1BQU1rQixTQUFTLE1BQU1KO1FBQ3JCLElBQUksQ0FBQ0ksVUFBVUEsT0FBT0MsTUFBTSxLQUFLLFVBQVU7WUFDdkMsT0FBTyxJQUFJLENBQUNILFNBQVMsQ0FBQ2hCLE9BQU8sZ0RBQWdEO1FBQ2pGO1FBQ0EsT0FBT2tCO0lBQ1g7SUFDQSxNQUFNRixVQUFVaEIsSUFBSSxFQUFFO1FBQ2xCLE1BQU1vQixjQUFjLElBQUksQ0FBQ3hCLGNBQWMsQ0FBQ0ksS0FBS00sRUFBRTtRQUMvQyxNQUFNZSxhQUFhN0Isb0VBQWdCQSxDQUFDNEI7UUFDcEMsSUFBSSxDQUFDQyxZQUFZO1lBQ2IsTUFBTSxJQUFJQyxNQUFNO1FBQ3BCO1FBQ0EsT0FBT0QsV0FBV0wsU0FBUyxDQUFDLElBQUksQ0FBQ3JCLFVBQVU7SUFDL0M7SUFDQWEsaUJBQWlCUixJQUFJLEVBQUU7UUFDbkIsTUFBTWMsZ0JBQWdCLElBQUksQ0FBQ0UsU0FBUyxDQUFDaEIsTUFBTXVCLEtBQUssQ0FBQztZQUM3Qyw0REFBNEQ7WUFDNUQsSUFBSSxDQUFDbkIsR0FBRyxDQUFDb0IsS0FBSyxDQUFDLENBQUMsbUNBQW1DLEVBQUV4QixLQUFLTSxFQUFFLENBQUNDLFFBQVEsR0FBRyxDQUFDO1FBQzdFO1FBQ0EsSUFBSSxDQUFDSSxVQUFVLENBQUNjLEdBQUcsQ0FBQ3pCLEtBQUtNLEVBQUUsQ0FBQ0MsUUFBUSxJQUFJTztJQUM1QztBQVFKLEVBQ0EsMENBQTBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL3N0cmVhbV9tYW5hZ2VyLmpzP2Y1YmEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBzZWxlY3RDb25uZWN0aW9uIH0gZnJvbSBcIkB3YWt1L3V0aWxzL2xpYnAycFwiO1xuZXhwb3J0IGNsYXNzIFN0cmVhbU1hbmFnZXIge1xuICAgIG11bHRpY29kZWM7XG4gICAgZ2V0Q29ubmVjdGlvbnM7XG4gICAgYWRkRXZlbnRMaXN0ZW5lcjtcbiAgICBzdHJlYW1Qb29sO1xuICAgIGxvZztcbiAgICBjb25zdHJ1Y3RvcihtdWx0aWNvZGVjLCBnZXRDb25uZWN0aW9ucywgYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICB0aGlzLm11bHRpY29kZWMgPSBtdWx0aWNvZGVjO1xuICAgICAgICB0aGlzLmdldENvbm5lY3Rpb25zID0gZ2V0Q29ubmVjdGlvbnM7XG4gICAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lciA9IGFkZEV2ZW50TGlzdGVuZXI7XG4gICAgICAgIHRoaXMubG9nID0gbmV3IExvZ2dlcihgc3RyZWFtLW1hbmFnZXI6JHttdWx0aWNvZGVjfWApO1xuICAgICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXCJwZWVyOnVwZGF0ZVwiLCB0aGlzLmhhbmRsZVBlZXJVcGRhdGVTdHJlYW1Qb29sLmJpbmQodGhpcykpO1xuICAgICAgICB0aGlzLmdldFN0cmVhbSA9IHRoaXMuZ2V0U3RyZWFtLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuc3RyZWFtUG9vbCA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0U3RyZWFtKHBlZXIpIHtcbiAgICAgICAgY29uc3QgcGVlcklkU3RyID0gcGVlci5pZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCBzdHJlYW1Qcm9taXNlID0gdGhpcy5zdHJlYW1Qb29sLmdldChwZWVySWRTdHIpO1xuICAgICAgICBpZiAoIXN0cmVhbVByb21pc2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5ld1N0cmVhbShwZWVyKTsgLy8gZmFsbGJhY2sgYnkgY3JlYXRpbmcgYSBuZXcgc3RyZWFtIG9uIHRoZSBzcG90XG4gICAgICAgIH1cbiAgICAgICAgLy8gV2UgaGF2ZSB0aGUgc3RyZWFtLCBsZXQncyByZW1vdmUgaXQgZnJvbSB0aGUgbWFwXG4gICAgICAgIHRoaXMuc3RyZWFtUG9vbC5kZWxldGUocGVlcklkU3RyKTtcbiAgICAgICAgdGhpcy5wcmVwYXJlTmV3U3RyZWFtKHBlZXIpO1xuICAgICAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBzdHJlYW1Qcm9taXNlO1xuICAgICAgICBpZiAoIXN0cmVhbSB8fCBzdHJlYW0uc3RhdHVzID09PSBcImNsb3NlZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uZXdTdHJlYW0ocGVlcik7IC8vIGZhbGxiYWNrIGJ5IGNyZWF0aW5nIGEgbmV3IHN0cmVhbSBvbiB0aGUgc3BvdFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHJlYW07XG4gICAgfVxuICAgIGFzeW5jIG5ld1N0cmVhbShwZWVyKSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25zID0gdGhpcy5nZXRDb25uZWN0aW9ucyhwZWVyLmlkKTtcbiAgICAgICAgY29uc3QgY29ubmVjdGlvbiA9IHNlbGVjdENvbm5lY3Rpb24oY29ubmVjdGlvbnMpO1xuICAgICAgICBpZiAoIWNvbm5lY3Rpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZhaWxlZCB0byBnZXQgYSBjb25uZWN0aW9uIHRvIHRoZSBwZWVyXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb25uZWN0aW9uLm5ld1N0cmVhbSh0aGlzLm11bHRpY29kZWMpO1xuICAgIH1cbiAgICBwcmVwYXJlTmV3U3RyZWFtKHBlZXIpIHtcbiAgICAgICAgY29uc3Qgc3RyZWFtUHJvbWlzZSA9IHRoaXMubmV3U3RyZWFtKHBlZXIpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIC8vIE5vIGVycm9yIHRocm93biBhcyB0aGlzIGNhbGwgaXMgbm90IHRyaWdnZXJlZCBieSB0aGUgdXNlclxuICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IoYEZhaWxlZCB0byBwcmVwYXJlIGEgbmV3IHN0cmVhbSBmb3IgJHtwZWVyLmlkLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN0cmVhbVBvb2wuc2V0KHBlZXIuaWQudG9TdHJpbmcoKSwgc3RyZWFtUHJvbWlzZSk7XG4gICAgfVxuICAgIGhhbmRsZVBlZXJVcGRhdGVTdHJlYW1Qb29sID0gKGV2dCkgPT4ge1xuICAgICAgICBjb25zdCBwZWVyID0gZXZ0LmRldGFpbC5wZWVyO1xuICAgICAgICBpZiAocGVlci5wcm90b2NvbHMuaW5jbHVkZXModGhpcy5tdWx0aWNvZGVjKSkge1xuICAgICAgICAgICAgdGhpcy5sb2cuaW5mbyhgUHJlZW1wdGl2ZWx5IG9wZW5pbmcgYSBzdHJlYW0gdG8gJHtwZWVyLmlkLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgICAgICB0aGlzLnByZXBhcmVOZXdTdHJlYW0ocGVlcik7XG4gICAgICAgIH1cbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RyZWFtX21hbmFnZXIuanMubWFwIl0sIm5hbWVzIjpbIkxvZ2dlciIsInNlbGVjdENvbm5lY3Rpb24iLCJTdHJlYW1NYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJtdWx0aWNvZGVjIiwiZ2V0Q29ubmVjdGlvbnMiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlUGVlclVwZGF0ZVN0cmVhbVBvb2wiLCJldnQiLCJwZWVyIiwiZGV0YWlsIiwicHJvdG9jb2xzIiwiaW5jbHVkZXMiLCJsb2ciLCJpbmZvIiwiaWQiLCJ0b1N0cmluZyIsInByZXBhcmVOZXdTdHJlYW0iLCJiaW5kIiwiZ2V0U3RyZWFtIiwic3RyZWFtUG9vbCIsIk1hcCIsInBlZXJJZFN0ciIsInN0cmVhbVByb21pc2UiLCJnZXQiLCJuZXdTdHJlYW0iLCJkZWxldGUiLCJzdHJlYW0iLCJzdGF0dXMiLCJjb25uZWN0aW9ucyIsImNvbm5lY3Rpb24iLCJFcnJvciIsImNhdGNoIiwiZXJyb3IiLCJzZXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/core/dist/lib/stream_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/constants.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/constants.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ERR_INVALID_ID: () => (/* binding */ ERR_INVALID_ID),\n/* harmony export */ ERR_NO_SIGNATURE: () => (/* binding */ ERR_NO_SIGNATURE),\n/* harmony export */ MAX_RECORD_SIZE: () => (/* binding */ MAX_RECORD_SIZE),\n/* harmony export */ MULTIADDR_LENGTH_SIZE: () => (/* binding */ MULTIADDR_LENGTH_SIZE)\n/* harmony export */ });\n// Maximum encoded size of an ENR\nconst MAX_RECORD_SIZE = 300;\nconst ERR_INVALID_ID = \"Invalid record id\";\nconst ERR_NO_SIGNATURE = \"No valid signature found\";\n// The maximum length of byte size of a multiaddr to encode in the `multiaddr` field\n// The size is a big endian 16-bit unsigned integer\nconst MULTIADDR_LENGTH_SIZE = 2; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLGlDQUFpQztBQUMxQixNQUFNQSxrQkFBa0IsSUFBSTtBQUM1QixNQUFNQyxpQkFBaUIsb0JBQW9CO0FBQzNDLE1BQU1DLG1CQUFtQiwyQkFBMkI7QUFDM0Qsb0ZBQW9GO0FBQ3BGLG1EQUFtRDtBQUM1QyxNQUFNQyx3QkFBd0IsRUFBRSxDQUN2QyxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2Vuci9kaXN0L2NvbnN0YW50cy5qcz81NDg1Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIE1heGltdW0gZW5jb2RlZCBzaXplIG9mIGFuIEVOUlxuZXhwb3J0IGNvbnN0IE1BWF9SRUNPUkRfU0laRSA9IDMwMDtcbmV4cG9ydCBjb25zdCBFUlJfSU5WQUxJRF9JRCA9IFwiSW52YWxpZCByZWNvcmQgaWRcIjtcbmV4cG9ydCBjb25zdCBFUlJfTk9fU0lHTkFUVVJFID0gXCJObyB2YWxpZCBzaWduYXR1cmUgZm91bmRcIjtcbi8vIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBieXRlIHNpemUgb2YgYSBtdWx0aWFkZHIgdG8gZW5jb2RlIGluIHRoZSBgbXVsdGlhZGRyYCBmaWVsZFxuLy8gVGhlIHNpemUgaXMgYSBiaWcgZW5kaWFuIDE2LWJpdCB1bnNpZ25lZCBpbnRlZ2VyXG5leHBvcnQgY29uc3QgTVVMVElBRERSX0xFTkdUSF9TSVpFID0gMjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOlsiTUFYX1JFQ09SRF9TSVpFIiwiRVJSX0lOVkFMSURfSUQiLCJFUlJfTk9fU0lHTkFUVVJFIiwiTVVMVElBRERSX0xFTkdUSF9TSVpFIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/constants.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/creator.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/creator.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EnrCreator: () => (/* binding */ EnrCreator)\n/* harmony export */ });\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var _crypto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./crypto.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/crypto.js\");\n/* harmony import */ var _enr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./enr.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/enr.js\");\n/* harmony import */ var _peer_id_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./peer_id.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/peer_id.js\");\n\n\n\n\nclass EnrCreator {\n static fromPublicKey(publicKey, kvs = {}) {\n // EIP-778 specifies that the key must be in compressed format, 33 bytes\n if (publicKey.length !== 33) {\n publicKey = (0,_crypto_js__WEBPACK_IMPORTED_MODULE_1__.compressPublicKey)(publicKey);\n }\n return _enr_js__WEBPACK_IMPORTED_MODULE_2__.ENR.create({\n ...kvs,\n id: (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_0__.utf8ToBytes)(\"v4\"),\n secp256k1: publicKey\n });\n }\n static async fromPeerId(peerId, kvs = {}) {\n switch(peerId.type){\n case \"secp256k1\":\n return EnrCreator.fromPublicKey((0,_peer_id_js__WEBPACK_IMPORTED_MODULE_3__.getPublicKeyFromPeerId)(peerId), kvs);\n default:\n throw new Error();\n }\n }\n} //# sourceMappingURL=creator.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9jcmVhdG9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQWdEO0FBQ0E7QUFDakI7QUFDdUI7QUFDL0MsTUFBTUk7SUFDVCxPQUFPQyxjQUFjQyxTQUFTLEVBQUVDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7UUFDdEMsd0VBQXdFO1FBQ3hFLElBQUlELFVBQVVFLE1BQU0sS0FBSyxJQUFJO1lBQ3pCRixZQUFZTCw2REFBaUJBLENBQUNLO1FBQ2xDO1FBQ0EsT0FBT0osd0NBQUdBLENBQUNPLE1BQU0sQ0FBQztZQUNkLEdBQUdGLEdBQUc7WUFDTkcsSUFBSVYsOERBQVdBLENBQUM7WUFDaEJXLFdBQVdMO1FBQ2Y7SUFDSjtJQUNBLGFBQWFNLFdBQVdDLE1BQU0sRUFBRU4sTUFBTSxDQUFDLENBQUMsRUFBRTtRQUN0QyxPQUFRTSxPQUFPQyxJQUFJO1lBQ2YsS0FBSztnQkFDRCxPQUFPVixXQUFXQyxhQUFhLENBQUNGLG1FQUFzQkEsQ0FBQ1UsU0FBU047WUFDcEU7Z0JBQ0ksTUFBTSxJQUFJUTtRQUNsQjtJQUNKO0FBQ0osRUFDQSxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2Vuci9kaXN0L2NyZWF0b3IuanM/MDAxYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGY4VG9CeXRlcyB9IGZyb20gXCJAd2FrdS91dGlscy9ieXRlc1wiO1xuaW1wb3J0IHsgY29tcHJlc3NQdWJsaWNLZXkgfSBmcm9tIFwiLi9jcnlwdG8uanNcIjtcbmltcG9ydCB7IEVOUiB9IGZyb20gXCIuL2Vuci5qc1wiO1xuaW1wb3J0IHsgZ2V0UHVibGljS2V5RnJvbVBlZXJJZCB9IGZyb20gXCIuL3BlZXJfaWQuanNcIjtcbmV4cG9ydCBjbGFzcyBFbnJDcmVhdG9yIHtcbiAgICBzdGF0aWMgZnJvbVB1YmxpY0tleShwdWJsaWNLZXksIGt2cyA9IHt9KSB7XG4gICAgICAgIC8vIEVJUC03Nzggc3BlY2lmaWVzIHRoYXQgdGhlIGtleSBtdXN0IGJlIGluIGNvbXByZXNzZWQgZm9ybWF0LCAzMyBieXRlc1xuICAgICAgICBpZiAocHVibGljS2V5Lmxlbmd0aCAhPT0gMzMpIHtcbiAgICAgICAgICAgIHB1YmxpY0tleSA9IGNvbXByZXNzUHVibGljS2V5KHB1YmxpY0tleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEVOUi5jcmVhdGUoe1xuICAgICAgICAgICAgLi4ua3ZzLFxuICAgICAgICAgICAgaWQ6IHV0ZjhUb0J5dGVzKFwidjRcIiksXG4gICAgICAgICAgICBzZWNwMjU2azE6IHB1YmxpY0tleVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3RhdGljIGFzeW5jIGZyb21QZWVySWQocGVlcklkLCBrdnMgPSB7fSkge1xuICAgICAgICBzd2l0Y2ggKHBlZXJJZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwic2VjcDI1NmsxXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVuckNyZWF0b3IuZnJvbVB1YmxpY0tleShnZXRQdWJsaWNLZXlGcm9tUGVlcklkKHBlZXJJZCksIGt2cyk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRvci5qcy5tYXAiXSwibmFtZXMiOlsidXRmOFRvQnl0ZXMiLCJjb21wcmVzc1B1YmxpY0tleSIsIkVOUiIsImdldFB1YmxpY0tleUZyb21QZWVySWQiLCJFbnJDcmVhdG9yIiwiZnJvbVB1YmxpY0tleSIsInB1YmxpY0tleSIsImt2cyIsImxlbmd0aCIsImNyZWF0ZSIsImlkIiwic2VjcDI1NmsxIiwiZnJvbVBlZXJJZCIsInBlZXJJZCIsInR5cGUiLCJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/creator.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/crypto.js":
/*!****************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/crypto.js ***!
\****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compressPublicKey: () => (/* binding */ compressPublicKey),\n/* harmony export */ keccak256: () => (/* binding */ keccak256),\n/* harmony export */ sign: () => (/* binding */ sign),\n/* harmony export */ verifySignature: () => (/* binding */ verifySignature)\n/* harmony export */ });\n/* harmony import */ var _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @noble/secp256k1 */ \"(ssr)/./node_modules/@noble/secp256k1/lib/esm/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var js_sha3__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! js-sha3 */ \"(ssr)/./node_modules/js-sha3/src/sha3.js\");\n\n\n\n/**\n * ECDSA Sign a message with the given private key.\n *\n * @param message The message to sign, usually a hash.\n * @param privateKey The ECDSA private key to use to sign the message.\n *\n * @returns The signature and the recovery id concatenated.\n */ async function sign(message, privateKey) {\n const [signature, recoveryId] = await _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__.sign(message, privateKey, {\n recovered: true,\n der: false\n });\n return (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n signature,\n new Uint8Array([\n recoveryId\n ])\n ], signature.length + 1);\n}\nfunction keccak256(input) {\n return new Uint8Array(js_sha3__WEBPACK_IMPORTED_MODULE_2__.keccak256.arrayBuffer(input));\n}\nfunction compressPublicKey(publicKey) {\n if (publicKey.length === 64) {\n publicKey = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n new Uint8Array([\n 4\n ]),\n publicKey\n ], 65);\n }\n const point = _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__.Point.fromHex(publicKey);\n return point.toRawBytes(true);\n}\n/**\n * Verify an ECDSA signature.\n */ function verifySignature(signature, message, publicKey) {\n try {\n const _signature = _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__.Signature.fromCompact(signature.slice(0, 64));\n return _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__.verify(_signature, message, publicKey);\n } catch {\n return false;\n }\n} //# sourceMappingURL=crypto.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9jcnlwdG8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUF5QztBQUNFO0FBQ2hCO0FBQzNCOzs7Ozs7O0NBT0MsR0FDTSxlQUFlRyxLQUFLQyxPQUFPLEVBQUVDLFVBQVU7SUFDMUMsTUFBTSxDQUFDQyxXQUFXQyxXQUFXLEdBQUcsTUFBTVAsa0RBQVMsQ0FBQ0ksU0FBU0MsWUFBWTtRQUNqRUcsV0FBVztRQUNYQyxLQUFLO0lBQ1Q7SUFDQSxPQUFPUix5REFBTUEsQ0FBQztRQUFDSztRQUFXLElBQUlJLFdBQVc7WUFBQ0g7U0FBVztLQUFFLEVBQUVELFVBQVVLLE1BQU0sR0FBRztBQUNoRjtBQUNPLFNBQVNDLFVBQVVDLEtBQUs7SUFDM0IsT0FBTyxJQUFJSCxXQUFXUiw4Q0FBYyxDQUFDWSxXQUFXLENBQUNEO0FBQ3JEO0FBQ08sU0FBU0Usa0JBQWtCQyxTQUFTO0lBQ3ZDLElBQUlBLFVBQVVMLE1BQU0sS0FBSyxJQUFJO1FBQ3pCSyxZQUFZZix5REFBTUEsQ0FBQztZQUFDLElBQUlTLFdBQVc7Z0JBQUM7YUFBRTtZQUFHTTtTQUFVLEVBQUU7SUFDekQ7SUFDQSxNQUFNQyxRQUFRakIsbURBQVUsQ0FBQ21CLE9BQU8sQ0FBQ0g7SUFDakMsT0FBT0MsTUFBTUcsVUFBVSxDQUFDO0FBQzVCO0FBQ0E7O0NBRUMsR0FDTSxTQUFTQyxnQkFBZ0JmLFNBQVMsRUFBRUYsT0FBTyxFQUFFWSxTQUFTO0lBQ3pELElBQUk7UUFDQSxNQUFNTSxhQUFhdEIsdURBQWMsQ0FBQ3dCLFdBQVcsQ0FBQ2xCLFVBQVVtQixLQUFLLENBQUMsR0FBRztRQUNqRSxPQUFPekIsb0RBQVcsQ0FBQ3NCLFlBQVlsQixTQUFTWTtJQUM1QyxFQUNBLE9BQU07UUFDRixPQUFPO0lBQ1g7QUFDSixFQUNBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvZW5yL2Rpc3QvY3J5cHRvLmpzP2IyMjMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VjcCBmcm9tIFwiQG5vYmxlL3NlY3AyNTZrMVwiO1xuaW1wb3J0IHsgY29uY2F0IH0gZnJvbSBcIkB3YWt1L3V0aWxzL2J5dGVzXCI7XG5pbXBvcnQgc2hhMyBmcm9tIFwianMtc2hhM1wiO1xuLyoqXG4gKiBFQ0RTQSBTaWduIGEgbWVzc2FnZSB3aXRoIHRoZSBnaXZlbiBwcml2YXRlIGtleS5cbiAqXG4gKiAgQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gc2lnbiwgdXN1YWxseSBhIGhhc2guXG4gKiAgQHBhcmFtIHByaXZhdGVLZXkgVGhlIEVDRFNBIHByaXZhdGUga2V5IHRvIHVzZSB0byBzaWduIHRoZSBtZXNzYWdlLlxuICpcbiAqICBAcmV0dXJucyBUaGUgc2lnbmF0dXJlIGFuZCB0aGUgcmVjb3ZlcnkgaWQgY29uY2F0ZW5hdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnbihtZXNzYWdlLCBwcml2YXRlS2V5KSB7XG4gICAgY29uc3QgW3NpZ25hdHVyZSwgcmVjb3ZlcnlJZF0gPSBhd2FpdCBzZWNwLnNpZ24obWVzc2FnZSwgcHJpdmF0ZUtleSwge1xuICAgICAgICByZWNvdmVyZWQ6IHRydWUsXG4gICAgICAgIGRlcjogZmFsc2VcbiAgICB9KTtcbiAgICByZXR1cm4gY29uY2F0KFtzaWduYXR1cmUsIG5ldyBVaW50OEFycmF5KFtyZWNvdmVyeUlkXSldLCBzaWduYXR1cmUubGVuZ3RoICsgMSk7XG59XG5leHBvcnQgZnVuY3Rpb24ga2VjY2FrMjU2KGlucHV0KSB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHNoYTMua2VjY2FrMjU2LmFycmF5QnVmZmVyKGlucHV0KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29tcHJlc3NQdWJsaWNLZXkocHVibGljS2V5KSB7XG4gICAgaWYgKHB1YmxpY0tleS5sZW5ndGggPT09IDY0KSB7XG4gICAgICAgIHB1YmxpY0tleSA9IGNvbmNhdChbbmV3IFVpbnQ4QXJyYXkoWzRdKSwgcHVibGljS2V5XSwgNjUpO1xuICAgIH1cbiAgICBjb25zdCBwb2ludCA9IHNlY3AuUG9pbnQuZnJvbUhleChwdWJsaWNLZXkpO1xuICAgIHJldHVybiBwb2ludC50b1Jhd0J5dGVzKHRydWUpO1xufVxuLyoqXG4gKiBWZXJpZnkgYW4gRUNEU0Egc2lnbmF0dXJlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5U2lnbmF0dXJlKHNpZ25hdHVyZSwgbWVzc2FnZSwgcHVibGljS2V5KSB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgX3NpZ25hdHVyZSA9IHNlY3AuU2lnbmF0dXJlLmZyb21Db21wYWN0KHNpZ25hdHVyZS5zbGljZSgwLCA2NCkpO1xuICAgICAgICByZXR1cm4gc2VjcC52ZXJpZnkoX3NpZ25hdHVyZSwgbWVzc2FnZSwgcHVibGljS2V5KTtcbiAgICB9XG4gICAgY2F0Y2gge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3J5cHRvLmpzLm1hcCJdLCJuYW1lcyI6WyJzZWNwIiwiY29uY2F0Iiwic2hhMyIsInNpZ24iLCJtZXNzYWdlIiwicHJpdmF0ZUtleSIsInNpZ25hdHVyZSIsInJlY292ZXJ5SWQiLCJyZWNvdmVyZWQiLCJkZXIiLCJVaW50OEFycmF5IiwibGVuZ3RoIiwia2VjY2FrMjU2IiwiaW5wdXQiLCJhcnJheUJ1ZmZlciIsImNvbXByZXNzUHVibGljS2V5IiwicHVibGljS2V5IiwicG9pbnQiLCJQb2ludCIsImZyb21IZXgiLCJ0b1Jhd0J5dGVzIiwidmVyaWZ5U2lnbmF0dXJlIiwiX3NpZ25hdHVyZSIsIlNpZ25hdHVyZSIsImZyb21Db21wYWN0Iiwic2xpY2UiLCJ2ZXJpZnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/crypto.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/decoder.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/decoder.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EnrDecoder: () => (/* binding */ EnrDecoder)\n/* harmony export */ });\n/* harmony import */ var _ethersproject_rlp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ethersproject/rlp */ \"(ssr)/./node_modules/@ethersproject/rlp/lib.esm/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var _enr_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./enr.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/enr.js\");\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_0__.Logger(\"enr:decoder\");\nclass EnrDecoder {\n static fromString(encoded) {\n if (!encoded.startsWith(_enr_js__WEBPACK_IMPORTED_MODULE_3__.ENR.RECORD_PREFIX)) {\n throw new Error(`\"string encoded ENR must start with '${_enr_js__WEBPACK_IMPORTED_MODULE_3__.ENR.RECORD_PREFIX}'`);\n }\n return EnrDecoder.fromRLP((0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(encoded.slice(4), \"base64url\"));\n }\n static fromRLP(encoded) {\n const decoded = _ethersproject_rlp__WEBPACK_IMPORTED_MODULE_4__.decode(encoded).map(_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.hexToBytes);\n return fromValues(decoded);\n }\n}\nasync function fromValues(values) {\n const { signature, seq, kvs } = checkValues(values);\n const obj = {};\n for(let i = 0; i < kvs.length; i += 2){\n try {\n obj[(0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.bytesToUtf8)(kvs[i])] = kvs[i + 1];\n } catch (e) {\n log.error(\"Failed to decode ENR key to UTF-8, skipping it\", kvs[i], e);\n }\n }\n const _seq = decodeSeq(seq);\n const enr = await _enr_js__WEBPACK_IMPORTED_MODULE_3__.ENR.create(obj, _seq, signature);\n checkSignature(seq, kvs, enr, signature);\n return enr;\n}\nfunction decodeSeq(seq) {\n // If seq is an empty array, translate as value 0\n if (!seq.length) return BigInt(0);\n return BigInt(\"0x\" + (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.bytesToHex)(seq));\n}\nfunction checkValues(values) {\n if (!Array.isArray(values)) {\n throw new Error(\"Decoded ENR must be an array\");\n }\n if (values.length % 2 !== 0) {\n throw new Error(\"Decoded ENR must have an even number of elements\");\n }\n const [signature, seq, ...kvs] = values;\n if (!signature || Array.isArray(signature)) {\n throw new Error(\"Decoded ENR invalid signature: must be a byte array\");\n }\n if (!seq || Array.isArray(seq)) {\n throw new Error(\"Decoded ENR invalid sequence number: must be a byte array\");\n }\n return {\n signature,\n seq,\n kvs\n };\n}\nfunction checkSignature(seq, kvs, enr, signature) {\n const rlpEncodedBytes = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.hexToBytes)(_ethersproject_rlp__WEBPACK_IMPORTED_MODULE_4__.encode([\n seq,\n ...kvs\n ]));\n if (!enr.verify(rlpEncodedBytes, signature)) {\n throw new Error(\"Unable to verify ENR signature\");\n }\n} //# sourceMappingURL=decoder.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9kZWNvZGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUEwQztBQUNMO0FBQ21DO0FBQ25CO0FBQ3RCO0FBQy9CLE1BQU1PLE1BQU0sSUFBSU4sK0NBQU1BLENBQUM7QUFDaEIsTUFBTU87SUFDVCxPQUFPSCxXQUFXSSxPQUFPLEVBQUU7UUFDdkIsSUFBSSxDQUFDQSxRQUFRQyxVQUFVLENBQUNKLHdDQUFHQSxDQUFDSyxhQUFhLEdBQUc7WUFDeEMsTUFBTSxJQUFJQyxNQUFNLENBQUMscUNBQXFDLEVBQUVOLHdDQUFHQSxDQUFDSyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ2hGO1FBQ0EsT0FBT0gsV0FBV0ssT0FBTyxDQUFDUixtRUFBVUEsQ0FBQ0ksUUFBUUssS0FBSyxDQUFDLElBQUk7SUFDM0Q7SUFDQSxPQUFPRCxRQUFRSixPQUFPLEVBQUU7UUFDcEIsTUFBTU0sVUFBVWYsc0RBQVUsQ0FBQ1MsU0FBU1EsR0FBRyxDQUFDYix5REFBVUE7UUFDbEQsT0FBT2MsV0FBV0g7SUFDdEI7QUFDSjtBQUNBLGVBQWVHLFdBQVdDLE1BQU07SUFDNUIsTUFBTSxFQUFFQyxTQUFTLEVBQUVDLEdBQUcsRUFBRUMsR0FBRyxFQUFFLEdBQUdDLFlBQVlKO0lBQzVDLE1BQU1LLE1BQU0sQ0FBQztJQUNiLElBQUssSUFBSUMsSUFBSSxHQUFHQSxJQUFJSCxJQUFJSSxNQUFNLEVBQUVELEtBQUssRUFBRztRQUNwQyxJQUFJO1lBQ0FELEdBQUcsQ0FBQ3JCLDhEQUFXQSxDQUFDbUIsR0FBRyxDQUFDRyxFQUFFLEVBQUUsR0FBR0gsR0FBRyxDQUFDRyxJQUFJLEVBQUU7UUFDekMsRUFDQSxPQUFPRSxHQUFHO1lBQ05wQixJQUFJcUIsS0FBSyxDQUFDLGtEQUFrRE4sR0FBRyxDQUFDRyxFQUFFLEVBQUVFO1FBQ3hFO0lBQ0o7SUFDQSxNQUFNRSxPQUFPQyxVQUFVVDtJQUN2QixNQUFNVSxNQUFNLE1BQU16Qix3Q0FBR0EsQ0FBQzBCLE1BQU0sQ0FBQ1IsS0FBS0ssTUFBTVQ7SUFDeENhLGVBQWVaLEtBQUtDLEtBQUtTLEtBQUtYO0lBQzlCLE9BQU9XO0FBQ1g7QUFDQSxTQUFTRCxVQUFVVCxHQUFHO0lBQ2xCLGlEQUFpRDtJQUNqRCxJQUFJLENBQUNBLElBQUlLLE1BQU0sRUFDWCxPQUFPUSxPQUFPO0lBQ2xCLE9BQU9BLE9BQU8sT0FBT2hDLDZEQUFVQSxDQUFDbUI7QUFDcEM7QUFDQSxTQUFTRSxZQUFZSixNQUFNO0lBQ3ZCLElBQUksQ0FBQ2dCLE1BQU1DLE9BQU8sQ0FBQ2pCLFNBQVM7UUFDeEIsTUFBTSxJQUFJUCxNQUFNO0lBQ3BCO0lBQ0EsSUFBSU8sT0FBT08sTUFBTSxHQUFHLE1BQU0sR0FBRztRQUN6QixNQUFNLElBQUlkLE1BQU07SUFDcEI7SUFDQSxNQUFNLENBQUNRLFdBQVdDLEtBQUssR0FBR0MsSUFBSSxHQUFHSDtJQUNqQyxJQUFJLENBQUNDLGFBQWFlLE1BQU1DLE9BQU8sQ0FBQ2hCLFlBQVk7UUFDeEMsTUFBTSxJQUFJUixNQUFNO0lBQ3BCO0lBQ0EsSUFBSSxDQUFDUyxPQUFPYyxNQUFNQyxPQUFPLENBQUNmLE1BQU07UUFDNUIsTUFBTSxJQUFJVCxNQUFNO0lBQ3BCO0lBQ0EsT0FBTztRQUFFUTtRQUFXQztRQUFLQztJQUFJO0FBQ2pDO0FBQ0EsU0FBU1csZUFBZVosR0FBRyxFQUFFQyxHQUFHLEVBQUVTLEdBQUcsRUFBRVgsU0FBUztJQUM1QyxNQUFNaUIsa0JBQWtCakMsNkRBQVVBLENBQUNKLHNEQUFVLENBQUM7UUFBQ3FCO1dBQVFDO0tBQUk7SUFDM0QsSUFBSSxDQUFDUyxJQUFJUSxNQUFNLENBQUNGLGlCQUFpQmpCLFlBQVk7UUFDekMsTUFBTSxJQUFJUixNQUFNO0lBQ3BCO0FBQ0osRUFDQSxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2Vuci9kaXN0L2RlY29kZXIuanM/YTg4ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSTFAgZnJvbSBcIkBldGhlcnNwcm9qZWN0L3JscFwiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBieXRlc1RvSGV4LCBieXRlc1RvVXRmOCwgaGV4VG9CeXRlcyB9IGZyb20gXCJAd2FrdS91dGlscy9ieXRlc1wiO1xuaW1wb3J0IHsgZnJvbVN0cmluZyB9IGZyb20gXCJ1aW50OGFycmF5cy9mcm9tLXN0cmluZ1wiO1xuaW1wb3J0IHsgRU5SIH0gZnJvbSBcIi4vZW5yLmpzXCI7XG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKFwiZW5yOmRlY29kZXJcIik7XG5leHBvcnQgY2xhc3MgRW5yRGVjb2RlciB7XG4gICAgc3RhdGljIGZyb21TdHJpbmcoZW5jb2RlZCkge1xuICAgICAgICBpZiAoIWVuY29kZWQuc3RhcnRzV2l0aChFTlIuUkVDT1JEX1BSRUZJWCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgXCJzdHJpbmcgZW5jb2RlZCBFTlIgbXVzdCBzdGFydCB3aXRoICcke0VOUi5SRUNPUkRfUFJFRklYfSdgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gRW5yRGVjb2Rlci5mcm9tUkxQKGZyb21TdHJpbmcoZW5jb2RlZC5zbGljZSg0KSwgXCJiYXNlNjR1cmxcIikpO1xuICAgIH1cbiAgICBzdGF0aWMgZnJvbVJMUChlbmNvZGVkKSB7XG4gICAgICAgIGNvbnN0IGRlY29kZWQgPSBSTFAuZGVjb2RlKGVuY29kZWQpLm1hcChoZXhUb0J5dGVzKTtcbiAgICAgICAgcmV0dXJuIGZyb21WYWx1ZXMoZGVjb2RlZCk7XG4gICAgfVxufVxuYXN5bmMgZnVuY3Rpb24gZnJvbVZhbHVlcyh2YWx1ZXMpIHtcbiAgICBjb25zdCB7IHNpZ25hdHVyZSwgc2VxLCBrdnMgfSA9IGNoZWNrVmFsdWVzKHZhbHVlcyk7XG4gICAgY29uc3Qgb2JqID0ge307XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrdnMubGVuZ3RoOyBpICs9IDIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG9ialtieXRlc1RvVXRmOChrdnNbaV0pXSA9IGt2c1tpICsgMV07XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byBkZWNvZGUgRU5SIGtleSB0byBVVEYtOCwgc2tpcHBpbmcgaXRcIiwga3ZzW2ldLCBlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBfc2VxID0gZGVjb2RlU2VxKHNlcSk7XG4gICAgY29uc3QgZW5yID0gYXdhaXQgRU5SLmNyZWF0ZShvYmosIF9zZXEsIHNpZ25hdHVyZSk7XG4gICAgY2hlY2tTaWduYXR1cmUoc2VxLCBrdnMsIGVuciwgc2lnbmF0dXJlKTtcbiAgICByZXR1cm4gZW5yO1xufVxuZnVuY3Rpb24gZGVjb2RlU2VxKHNlcSkge1xuICAgIC8vIElmIHNlcSBpcyBhbiBlbXB0eSBhcnJheSwgdHJhbnNsYXRlIGFzIHZhbHVlIDBcbiAgICBpZiAoIXNlcS5sZW5ndGgpXG4gICAgICAgIHJldHVybiBCaWdJbnQoMCk7XG4gICAgcmV0dXJuIEJpZ0ludChcIjB4XCIgKyBieXRlc1RvSGV4KHNlcSkpO1xufVxuZnVuY3Rpb24gY2hlY2tWYWx1ZXModmFsdWVzKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRGVjb2RlZCBFTlIgbXVzdCBiZSBhbiBhcnJheVwiKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggJSAyICE9PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkRlY29kZWQgRU5SIG11c3QgaGF2ZSBhbiBldmVuIG51bWJlciBvZiBlbGVtZW50c1wiKTtcbiAgICB9XG4gICAgY29uc3QgW3NpZ25hdHVyZSwgc2VxLCAuLi5rdnNdID0gdmFsdWVzO1xuICAgIGlmICghc2lnbmF0dXJlIHx8IEFycmF5LmlzQXJyYXkoc2lnbmF0dXJlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJEZWNvZGVkIEVOUiBpbnZhbGlkIHNpZ25hdHVyZTogbXVzdCBiZSBhIGJ5dGUgYXJyYXlcIik7XG4gICAgfVxuICAgIGlmICghc2VxIHx8IEFycmF5LmlzQXJyYXkoc2VxKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJEZWNvZGVkIEVOUiBpbnZhbGlkIHNlcXVlbmNlIG51bWJlcjogbXVzdCBiZSBhIGJ5dGUgYXJyYXlcIik7XG4gICAgfVxuICAgIHJldHVybiB7IHNpZ25hdHVyZSwgc2VxLCBrdnMgfTtcbn1cbmZ1bmN0aW9uIGNoZWNrU2lnbmF0dXJlKHNlcSwga3ZzLCBlbnIsIHNpZ25hdHVyZSkge1xuICAgIGNvbnN0IHJscEVuY29kZWRCeXRlcyA9IGhleFRvQnl0ZXMoUkxQLmVuY29kZShbc2VxLCAuLi5rdnNdKSk7XG4gICAgaWYgKCFlbnIudmVyaWZ5KHJscEVuY29kZWRCeXRlcywgc2lnbmF0dXJlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmFibGUgdG8gdmVyaWZ5IEVOUiBzaWduYXR1cmVcIik7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVjb2Rlci5qcy5tYXAiXSwibmFtZXMiOlsiUkxQIiwiTG9nZ2VyIiwiYnl0ZXNUb0hleCIsImJ5dGVzVG9VdGY4IiwiaGV4VG9CeXRlcyIsImZyb21TdHJpbmciLCJFTlIiLCJsb2ciLCJFbnJEZWNvZGVyIiwiZW5jb2RlZCIsInN0YXJ0c1dpdGgiLCJSRUNPUkRfUFJFRklYIiwiRXJyb3IiLCJmcm9tUkxQIiwic2xpY2UiLCJkZWNvZGVkIiwiZGVjb2RlIiwibWFwIiwiZnJvbVZhbHVlcyIsInZhbHVlcyIsInNpZ25hdHVyZSIsInNlcSIsImt2cyIsImNoZWNrVmFsdWVzIiwib2JqIiwiaSIsImxlbmd0aCIsImUiLCJlcnJvciIsIl9zZXEiLCJkZWNvZGVTZXEiLCJlbnIiLCJjcmVhdGUiLCJjaGVja1NpZ25hdHVyZSIsIkJpZ0ludCIsIkFycmF5IiwiaXNBcnJheSIsInJscEVuY29kZWRCeXRlcyIsImVuY29kZSIsInZlcmlmeSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/decoder.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/enr.js":
/*!*************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/enr.js ***!
\*************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ENR: () => (/* binding */ ENR),\n/* harmony export */ TransportProtocol: () => (/* binding */ TransportProtocol),\n/* harmony export */ TransportProtocolPerIpVersion: () => (/* binding */ TransportProtocolPerIpVersion)\n/* harmony export */ });\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/constants.js\");\n/* harmony import */ var _crypto_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./crypto.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/crypto.js\");\n/* harmony import */ var _get_multiaddr_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./get_multiaddr.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/get_multiaddr.js\");\n/* harmony import */ var _peer_id_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./peer_id.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/peer_id.js\");\n/* harmony import */ var _raw_enr_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./raw_enr.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/raw_enr.js\");\n/* harmony import */ var _v4_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./v4.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/v4.js\");\n\n\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_0__.Logger(\"enr\");\nvar TransportProtocol;\n(function(TransportProtocol) {\n TransportProtocol[\"TCP\"] = \"tcp\";\n TransportProtocol[\"UDP\"] = \"udp\";\n})(TransportProtocol || (TransportProtocol = {}));\nvar TransportProtocolPerIpVersion;\n(function(TransportProtocolPerIpVersion) {\n TransportProtocolPerIpVersion[\"TCP4\"] = \"tcp4\";\n TransportProtocolPerIpVersion[\"UDP4\"] = \"udp4\";\n TransportProtocolPerIpVersion[\"TCP6\"] = \"tcp6\";\n TransportProtocolPerIpVersion[\"UDP6\"] = \"udp6\";\n})(TransportProtocolPerIpVersion || (TransportProtocolPerIpVersion = {}));\nclass ENR extends _raw_enr_js__WEBPACK_IMPORTED_MODULE_5__.RawEnr {\n static{\n this.RECORD_PREFIX = \"enr:\";\n }\n static async create(kvs = {}, seq = BigInt(1), signature) {\n const enr = new ENR(kvs, seq, signature);\n try {\n const publicKey = enr.publicKey;\n if (publicKey) {\n enr.peerId = await (0,_peer_id_js__WEBPACK_IMPORTED_MODULE_4__.createPeerIdFromPublicKey)(publicKey);\n }\n } catch (e) {\n log.error(\"Could not calculate peer id for ENR\", e);\n }\n return enr;\n }\n get nodeId() {\n switch(this.id){\n case \"v4\":\n return this.publicKey ? _v4_js__WEBPACK_IMPORTED_MODULE_6__.nodeId(this.publicKey) : undefined;\n default:\n throw new Error(_constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_ID);\n }\n }\n get shardInfo() {\n if (this.rs && this.rsv) {\n log.warn(\"ENR contains both `rs` and `rsv` fields.\");\n }\n return this.rs || this.rsv;\n }\n setLocationMultiaddr(multiaddr) {\n const protoNames = multiaddr.protoNames();\n if (protoNames.length !== 2 && protoNames[1] !== \"udp\" && protoNames[1] !== \"tcp\") {\n throw new Error(\"Invalid multiaddr\");\n }\n const tuples = multiaddr.tuples();\n if (!tuples[0][1] || !tuples[1][1]) {\n throw new Error(\"Invalid multiaddr\");\n }\n // IPv4\n if (tuples[0][0] === 4) {\n this.set(\"ip\", tuples[0][1]);\n this.set(protoNames[1], tuples[1][1]);\n } else {\n this.set(\"ip6\", tuples[0][1]);\n this.set(protoNames[1] + \"6\", tuples[1][1]);\n }\n }\n getAllLocationMultiaddrs() {\n const multiaddrs = [];\n for (const protocol of Object.values(TransportProtocolPerIpVersion)){\n const ma = this.getLocationMultiaddr(protocol);\n if (ma) multiaddrs.push(ma);\n }\n const _multiaddrs = this.multiaddrs ?? [];\n return multiaddrs.concat(_multiaddrs).map((ma)=>{\n if (this.peerId) {\n return ma.encapsulate(`/p2p/${this.peerId.toString()}`);\n }\n return ma;\n });\n }\n get peerInfo() {\n const id = this.peerId;\n if (!id) return;\n return {\n id,\n multiaddrs: this.getAllLocationMultiaddrs()\n };\n }\n /**\n * Returns the full multiaddr from the ENR fields matching the provided\n * `protocol` parameter.\n * To return full multiaddrs from the `multiaddrs` ENR field,\n * use { @link ENR.getFullMultiaddrs }.\n *\n * @param protocol\n */ getFullMultiaddr(protocol) {\n if (this.peerId) {\n const locationMultiaddr = this.getLocationMultiaddr(protocol);\n if (locationMultiaddr) {\n return locationMultiaddr.encapsulate(`/p2p/${this.peerId.toString()}`);\n }\n }\n return;\n }\n /**\n * Returns the full multiaddrs from the `multiaddrs` ENR field.\n */ getFullMultiaddrs() {\n if (this.peerId && this.multiaddrs) {\n const peerId = this.peerId;\n return this.multiaddrs.map((ma)=>{\n return ma.encapsulate(`/p2p/${peerId.toString()}`);\n });\n }\n return [];\n }\n verify(data, signature) {\n if (!this.get(\"id\") || this.id !== \"v4\") {\n throw new Error(_constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_ID);\n }\n if (!this.publicKey) {\n throw new Error(\"Failed to verify ENR: No public key\");\n }\n return (0,_crypto_js__WEBPACK_IMPORTED_MODULE_2__.verifySignature)(signature, (0,_crypto_js__WEBPACK_IMPORTED_MODULE_2__.keccak256)(data), this.publicKey);\n }\n async sign(data, privateKey) {\n switch(this.id){\n case \"v4\":\n this.signature = await _v4_js__WEBPACK_IMPORTED_MODULE_6__.sign(privateKey, data);\n break;\n default:\n throw new Error(_constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_ID);\n }\n return this.signature;\n }\n constructor(...args){\n super(...args);\n this.getLocationMultiaddr = _get_multiaddr_js__WEBPACK_IMPORTED_MODULE_3__.locationMultiaddrFromEnrFields.bind({}, this);\n }\n} //# sourceMappingURL=enr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9lbnIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFxQztBQUNXO0FBQ1M7QUFDVztBQUNYO0FBQ25CO0FBQ1I7QUFDOUIsTUFBTVEsTUFBTSxJQUFJUiwrQ0FBTUEsQ0FBQztBQUNoQixJQUFJUyxrQkFBa0I7QUFDNUIsVUFBVUEsaUJBQWlCO0lBQ3hCQSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUc7SUFDM0JBLGlCQUFpQixDQUFDLE1BQU0sR0FBRztBQUMvQixHQUFHQSxxQkFBc0JBLENBQUFBLG9CQUFvQixDQUFDO0FBQ3ZDLElBQUlDLDhCQUE4QjtBQUN4QyxVQUFVQSw2QkFBNkI7SUFDcENBLDZCQUE2QixDQUFDLE9BQU8sR0FBRztJQUN4Q0EsNkJBQTZCLENBQUMsT0FBTyxHQUFHO0lBQ3hDQSw2QkFBNkIsQ0FBQyxPQUFPLEdBQUc7SUFDeENBLDZCQUE2QixDQUFDLE9BQU8sR0FBRztBQUM1QyxHQUFHQSxpQ0FBa0NBLENBQUFBLGdDQUFnQyxDQUFDO0FBQy9ELE1BQU1DLFlBQVlMLCtDQUFNQTs7YUFDcEJNLGdCQUFnQjs7SUFFdkIsYUFBYUMsT0FBT0MsTUFBTSxDQUFDLENBQUMsRUFBRUMsTUFBTUMsT0FBTyxFQUFFLEVBQUVDLFNBQVMsRUFBRTtRQUN0RCxNQUFNQyxNQUFNLElBQUlQLElBQUlHLEtBQUtDLEtBQUtFO1FBQzlCLElBQUk7WUFDQSxNQUFNRSxZQUFZRCxJQUFJQyxTQUFTO1lBQy9CLElBQUlBLFdBQVc7Z0JBQ1hELElBQUlFLE1BQU0sR0FBRyxNQUFNZixzRUFBeUJBLENBQUNjO1lBQ2pEO1FBQ0osRUFDQSxPQUFPRSxHQUFHO1lBQ05iLElBQUljLEtBQUssQ0FBQyx1Q0FBdUNEO1FBQ3JEO1FBQ0EsT0FBT0g7SUFDWDtJQUNBLElBQUlLLFNBQVM7UUFDVCxPQUFRLElBQUksQ0FBQ0MsRUFBRTtZQUNYLEtBQUs7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TTtZQUMxQixPQUFPLElBQUksQ0FBQ2tCLFVBQVUsQ0FBQ1MsR0FBRyxDQUFDLENBQUNMO2dCQUN4QixPQUFPQSxHQUFHTSxXQUFXLENBQUMsQ0FBQyxLQUFLLEVBQUU1QixPQUFPNkIsUUFBUSxHQUFHLENBQUM7WUFDckQ7UUFDSjtRQUNBLE9BQU8sRUFBRTtJQUNiO0lBQ0FLLE9BQU9DLElBQUksRUFBRXRDLFNBQVMsRUFBRTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDdUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDaEMsRUFBRSxLQUFLLE1BQU07WUFDckMsTUFBTSxJQUFJRSxNQUFNekIseURBQWNBO1FBQ2xDO1FBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQ2tCLFNBQVMsRUFBRTtZQUNqQixNQUFNLElBQUlPLE1BQU07UUFDcEI7UUFDQSxPQUFPdkIsMkRBQWVBLENBQUNjLFdBQVdmLHFEQUFTQSxDQUFDcUQsT0FBTyxJQUFJLENBQUNwQyxTQUFTO0lBQ3JFO0lBQ0EsTUFBTXNDLEtBQUtGLElBQUksRUFBRUcsVUFBVSxFQUFFO1FBQ3pCLE9BQVEsSUFBSSxDQUFDbEMsRUFBRTtZQUNYLEtBQUs7Z0JBQ0QsSUFBSSxDQUFDUCxTQUFTLEdBQUcsTUFBTVYsd0NBQU8sQ0FBQ21ELFlBQVlIO2dCQUMzQztZQUNKO2dCQUNJLE1BQU0sSUFBSTdCLE1BQU16Qix5REFBY0E7UUFDdEM7UUFDQSxPQUFPLElBQUksQ0FBQ2dCLFNBQVM7SUFDekI7OzthQW5HQTBCLHVCQUF1QnZDLDZFQUE4QkEsQ0FBQ3VELElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSTs7QUFvR3ZFLEVBQ0EsK0JBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9lbnIuanM/OTFkYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnZXIgfSBmcm9tIFwiQHdha3UvdXRpbHNcIjtcbmltcG9ydCB7IEVSUl9JTlZBTElEX0lEIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBrZWNjYWsyNTYsIHZlcmlmeVNpZ25hdHVyZSB9IGZyb20gXCIuL2NyeXB0by5qc1wiO1xuaW1wb3J0IHsgbG9jYXRpb25NdWx0aWFkZHJGcm9tRW5yRmllbGRzIH0gZnJvbSBcIi4vZ2V0X211bHRpYWRkci5qc1wiO1xuaW1wb3J0IHsgY3JlYXRlUGVlcklkRnJvbVB1YmxpY0tleSB9IGZyb20gXCIuL3BlZXJfaWQuanNcIjtcbmltcG9ydCB7IFJhd0VuciB9IGZyb20gXCIuL3Jhd19lbnIuanNcIjtcbmltcG9ydCAqIGFzIHY0IGZyb20gXCIuL3Y0LmpzXCI7XG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKFwiZW5yXCIpO1xuZXhwb3J0IHZhciBUcmFuc3BvcnRQcm90b2NvbDtcbihmdW5jdGlvbiAoVHJhbnNwb3J0UHJvdG9jb2wpIHtcbiAgICBUcmFuc3BvcnRQcm90b2NvbFtcIlRDUFwiXSA9IFwidGNwXCI7XG4gICAgVHJhbnNwb3J0UHJvdG9jb2xbXCJVRFBcIl0gPSBcInVkcFwiO1xufSkoVHJhbnNwb3J0UHJvdG9jb2wgfHwgKFRyYW5zcG9ydFByb3RvY29sID0ge30pKTtcbmV4cG9ydCB2YXIgVHJhbnNwb3J0UHJvdG9jb2xQZXJJcFZlcnNpb247XG4oZnVuY3Rpb24gKFRyYW5zcG9ydFByb3RvY29sUGVySXBWZXJzaW9uKSB7XG4gICAgVHJhbnNwb3J0UHJvdG9jb2xQZXJJcFZlcnNpb25bXCJUQ1A0XCJdID0gXCJ0Y3A0XCI7XG4gICAgVHJhbnNwb3J0UHJvdG9jb2xQZXJJcFZlcnNpb25bXCJVRFA0XCJdID0gXCJ1ZHA0XCI7XG4gICAgVHJhbnNwb3J0UHJvdG9jb2xQZXJJcFZlcnNpb25bXCJUQ1A2XCJdID0gXCJ0Y3A2XCI7XG4gICAgVHJhbnNwb3J0UHJvdG9jb2xQZXJJcFZlcnNpb25bXCJVRFA2XCJdID0gXCJ1ZHA2XCI7XG59KShUcmFuc3BvcnRQcm90b2NvbFBlcklwVmVyc2lvbiB8fCAoVHJhbnNwb3J0UHJvdG9jb2xQZXJJcFZlcnNpb24gPSB7fSkpO1xuZXhwb3J0IGNsYXNzIEVOUiBleHRlbmRzIFJhd0VuciB7XG4gICAgc3RhdGljIFJFQ09SRF9QUkVGSVggPSBcImVucjpcIjtcbiAgICBwZWVySWQ7XG4gICAgc3RhdGljIGFzeW5jIGNyZWF0ZShrdnMgPSB7fSwgc2VxID0gQmlnSW50KDEpLCBzaWduYXR1cmUpIHtcbiAgICAgICAgY29uc3QgZW5yID0gbmV3IEVOUihrdnMsIHNlcSwgc2lnbmF0dXJlKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHB1YmxpY0tleSA9IGVuci5wdWJsaWNLZXk7XG4gICAgICAgICAgICBpZiAocHVibGljS2V5KSB7XG4gICAgICAgICAgICAgICAgZW5yLnBlZXJJZCA9IGF3YWl0IGNyZWF0ZVBlZXJJZEZyb21QdWJsaWNLZXkocHVibGljS2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgbG9nLmVycm9yKFwiQ291bGQgbm90IGNhbGN1bGF0ZSBwZWVyIGlkIGZvciBFTlJcIiwgZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVucjtcbiAgICB9XG4gICAgZ2V0IG5vZGVJZCgpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmlkKSB7XG4gICAgICAgICAgICBjYXNlIFwidjRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wdWJsaWNLZXkgPyB2NC5ub2RlSWQodGhpcy5wdWJsaWNLZXkpIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRVJSX0lOVkFMSURfSUQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldExvY2F0aW9uTXVsdGlhZGRyID0gbG9jYXRpb25NdWx0aWFkZHJGcm9tRW5yRmllbGRzLmJpbmQoe30sIHRoaXMpO1xuICAgIGdldCBzaGFyZEluZm8oKSB7XG4gICAgICAgIGlmICh0aGlzLnJzICYmIHRoaXMucnN2KSB7XG4gICAgICAgICAgICBsb2cud2FybihcIkVOUiBjb250YWlucyBib3RoIGByc2AgYW5kIGByc3ZgIGZpZWxkcy5cIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucnMgfHwgdGhpcy5yc3Y7XG4gICAgfVxuICAgIHNldExvY2F0aW9uTXVsdGlhZGRyKG11bHRpYWRkcikge1xuICAgICAgICBjb25zdCBwcm90b05hbWVzID0gbXVsdGlhZGRyLnByb3RvTmFtZXMoKTtcbiAgICAgICAgaWYgKHByb3RvTmFtZXMubGVuZ3RoICE9PSAyICYmXG4gICAgICAgICAgICBwcm90b05hbWVzWzFdICE9PSBcInVkcFwiICYmXG4gICAgICAgICAgICBwcm90b05hbWVzWzFdICE9PSBcInRjcFwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIG11bHRpYWRkclwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0dXBsZXMgPSBtdWx0aWFkZHIudHVwbGVzKCk7XG4gICAgICAgIGlmICghdHVwbGVzWzBdWzFdIHx8ICF0dXBsZXNbMV1bMV0pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgbXVsdGlhZGRyXCIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIElQdjRcbiAgICAgICAgaWYgKHR1cGxlc1swXVswXSA9PT0gNCkge1xuICAgICAgICAgICAgdGhpcy5zZXQoXCJpcFwiLCB0dXBsZXNbMF1bMV0pO1xuICAgICAgICAgICAgdGhpcy5zZXQocHJvdG9OYW1lc1sxXSwgdHVwbGVzWzFdWzFdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0KFwiaXA2XCIsIHR1cGxlc1swXVsxXSk7XG4gICAgICAgICAgICB0aGlzLnNldChwcm90b05hbWVzWzFdICsgXCI2XCIsIHR1cGxlc1sxXVsxXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0QWxsTG9jYXRpb25NdWx0aWFkZHJzKCkge1xuICAgICAgICBjb25zdCBtdWx0aWFkZHJzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcHJvdG9jb2wgb2YgT2JqZWN0LnZhbHVlcyhUcmFuc3BvcnRQcm90b2NvbFBlcklwVmVyc2lvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hID0gdGhpcy5nZXRMb2NhdGlvbk11bHRpYWRkcihwcm90b2NvbCk7XG4gICAgICAgICAgICBpZiAobWEpXG4gICAgICAgICAgICAgICAgbXVsdGlhZGRycy5wdXNoKG1hKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBfbXVsdGlhZGRycyA9IHRoaXMubXVsdGlhZGRycyA/PyBbXTtcbiAgICAgICAgcmV0dXJuIG11bHRpYWRkcnMuY29uY2F0KF9tdWx0aWFkZHJzKS5tYXAoKG1hKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wZWVySWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWEuZW5jYXBzdWxhdGUoYC9wMnAvJHt0aGlzLnBlZXJJZC50b1N0cmluZygpfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1hO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IHBlZXJJbmZvKCkge1xuICAgICAgICBjb25zdCBpZCA9IHRoaXMucGVlcklkO1xuICAgICAgICBpZiAoIWlkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBtdWx0aWFkZHJzOiB0aGlzLmdldEFsbExvY2F0aW9uTXVsdGlhZGRycygpXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGZ1bGwgbXVsdGlhZGRyIGZyb20gdGhlIEVOUiBmaWVsZHMgbWF0Y2hpbmcgdGhlIHByb3ZpZGVkXG4gICAgICogYHByb3RvY29sYCBwYXJhbWV0ZXIuXG4gICAgICogVG8gcmV0dXJuIGZ1bGwgbXVsdGlhZGRycyBmcm9tIHRoZSBgbXVsdGlhZGRyc2AgRU5SIGZpZWxkLFxuICAgICAqIHVzZSB7IEBsaW5rIEVOUi5nZXRGdWxsTXVsdGlhZGRycyB9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3RvY29sXG4gICAgICovXG4gICAgZ2V0RnVsbE11bHRpYWRkcihwcm90b2NvbCkge1xuICAgICAgICBpZiAodGhpcy5wZWVySWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uTXVsdGlhZGRyID0gdGhpcy5nZXRMb2NhdGlvbk11bHRpYWRkcihwcm90b2NvbCk7XG4gICAgICAgICAgICBpZiAobG9jYXRpb25NdWx0aWFkZHIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbG9jYXRpb25NdWx0aWFkZHIuZW5jYXBzdWxhdGUoYC9wMnAvJHt0aGlzLnBlZXJJZC50b1N0cmluZygpfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZnVsbCBtdWx0aWFkZHJzIGZyb20gdGhlIGBtdWx0aWFkZHJzYCBFTlIgZmllbGQuXG4gICAgICovXG4gICAgZ2V0RnVsbE11bHRpYWRkcnMoKSB7XG4gICAgICAgIGlmICh0aGlzLnBlZXJJZCAmJiB0aGlzLm11bHRpYWRkcnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHBlZXJJZCA9IHRoaXMucGVlcklkO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlhZGRycy5tYXAoKG1hKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hLmVuY2Fwc3VsYXRlKGAvcDJwLyR7cGVlcklkLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHZlcmlmeShkYXRhLCBzaWduYXR1cmUpIHtcbiAgICAgICAgaWYgKCF0aGlzLmdldChcImlkXCIpIHx8IHRoaXMuaWQgIT09IFwidjRcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEVSUl9JTlZBTElEX0lEKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMucHVibGljS2V5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gdmVyaWZ5IEVOUjogTm8gcHVibGljIGtleVwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmVyaWZ5U2lnbmF0dXJlKHNpZ25hdHVyZSwga2VjY2FrMjU2KGRhdGEpLCB0aGlzLnB1YmxpY0tleSk7XG4gICAgfVxuICAgIGFzeW5jIHNpZ24oZGF0YSwgcHJpdmF0ZUtleSkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuaWQpIHtcbiAgICAgICAgICAgIGNhc2UgXCJ2NFwiOlxuICAgICAgICAgICAgICAgIHRoaXMuc2lnbmF0dXJlID0gYXdhaXQgdjQuc2lnbihwcml2YXRlS2V5LCBkYXRhKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEVSUl9JTlZBTElEX0lEKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zaWduYXR1cmU7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5yLmpzLm1hcCJdLCJuYW1lcyI6WyJMb2dnZXIiLCJFUlJfSU5WQUxJRF9JRCIsImtlY2NhazI1NiIsInZlcmlmeVNpZ25hdHVyZSIsImxvY2F0aW9uTXVsdGlhZGRyRnJvbUVuckZpZWxkcyIsImNyZWF0ZVBlZXJJZEZyb21QdWJsaWNLZXkiLCJSYXdFbnIiLCJ2NCIsImxvZyIsIlRyYW5zcG9ydFByb3RvY29sIiwiVHJhbnNwb3J0UHJvdG9jb2xQZXJJcFZlcnNpb24iLCJFTlIiLCJSRUNPUkRfUFJFRklYIiwiY3JlYXRlIiwia3ZzIiwic2VxIiwiQmlnSW50Iiwic2lnbmF0dXJlIiwiZW5yIiwicHVibGljS2V5IiwicGVlcklkIiwiZSIsImVycm9yIiwibm9kZUlkIiwiaWQiLCJ1bmRlZmluZWQiLCJFcnJvciIsInNoYXJkSW5mbyIsInJzIiwicnN2Iiwid2FybiIsInNldExvY2F0aW9uTXVsdGlhZGRyIiwibXVsdGlhZGRyIiwicHJvdG9OYW1lcyIsImxlbmd0aCIsInR1cGxlcyIsInNldCIsImdldEFsbExvY2F0aW9uTXVsdGlhZGRycyIsIm11bHRpYWRkcnMiLCJwcm90b2NvbCIsIk9iamVjdCIsInZhbHVlcyIsIm1hIiwiZ2V0TG9jYXRpb25NdWx0aWFkZHIiLCJwdXNoIiwiX211bHRpYWRkcnMiLCJjb25jYXQiLCJtYXAiLCJlbmNhcHN1bGF0ZSIsInRvU3RyaW5nIiwicGVlckluZm8iLCJnZXRGdWxsTXVsdGlhZGRyIiwibG9jYXRpb25NdWx0aWFkZHIiLCJnZXRGdWxsTXVsdGlhZGRycyIsInZlcmlmeSIsImRhdGEiLCJnZXQiLCJzaWduIiwicHJpdmF0ZUtleSIsImJpbmQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/enr.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/get_multiaddr.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/get_multiaddr.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ locationMultiaddrFromEnrFields: () => (/* binding */ locationMultiaddrFromEnrFields)\n/* harmony export */ });\n/* harmony import */ var _multiaddr_from_fields_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./multiaddr_from_fields.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/multiaddr_from_fields.js\");\n\nfunction locationMultiaddrFromEnrFields(enr, protocol) {\n switch(protocol){\n case \"udp\":\n return locationMultiaddrFromEnrFields(enr, \"udp4\") || locationMultiaddrFromEnrFields(enr, \"udp6\");\n case \"tcp\":\n return locationMultiaddrFromEnrFields(enr, \"tcp4\") || locationMultiaddrFromEnrFields(enr, \"tcp6\");\n }\n const isIpv6 = protocol.endsWith(\"6\");\n const ipVal = enr.get(isIpv6 ? \"ip6\" : \"ip\");\n if (!ipVal) return;\n const protoName = protocol.slice(0, 3);\n let protoVal;\n switch(protoName){\n case \"udp\":\n protoVal = isIpv6 ? enr.get(\"udp6\") : enr.get(\"udp\");\n break;\n case \"tcp\":\n protoVal = isIpv6 ? enr.get(\"tcp6\") : enr.get(\"tcp\");\n break;\n default:\n return;\n }\n if (!protoVal) return;\n return (0,_multiaddr_from_fields_js__WEBPACK_IMPORTED_MODULE_0__.multiaddrFromFields)(isIpv6 ? \"ip6\" : \"ip4\", protoName, ipVal, protoVal);\n} //# sourceMappingURL=get_multiaddr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9nZXRfbXVsdGlhZGRyLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWlFO0FBQzFELFNBQVNDLCtCQUErQkMsR0FBRyxFQUFFQyxRQUFRO0lBQ3hELE9BQVFBO1FBQ0osS0FBSztZQUNELE9BQVFGLCtCQUErQkMsS0FBSyxXQUN4Q0QsK0JBQStCQyxLQUFLO1FBQzVDLEtBQUs7WUFDRCxPQUFRRCwrQkFBK0JDLEtBQUssV0FDeENELCtCQUErQkMsS0FBSztJQUNoRDtJQUNBLE1BQU1FLFNBQVNELFNBQVNFLFFBQVEsQ0FBQztJQUNqQyxNQUFNQyxRQUFRSixJQUFJSyxHQUFHLENBQUNILFNBQVMsUUFBUTtJQUN2QyxJQUFJLENBQUNFLE9BQ0Q7SUFDSixNQUFNRSxZQUFZTCxTQUFTTSxLQUFLLENBQUMsR0FBRztJQUNwQyxJQUFJQztJQUNKLE9BQVFGO1FBQ0osS0FBSztZQUNERSxXQUFXTixTQUFTRixJQUFJSyxHQUFHLENBQUMsVUFBVUwsSUFBSUssR0FBRyxDQUFDO1lBQzlDO1FBQ0osS0FBSztZQUNERyxXQUFXTixTQUFTRixJQUFJSyxHQUFHLENBQUMsVUFBVUwsSUFBSUssR0FBRyxDQUFDO1lBQzlDO1FBQ0o7WUFDSTtJQUNSO0lBQ0EsSUFBSSxDQUFDRyxVQUNEO0lBQ0osT0FBT1YsOEVBQW1CQSxDQUFDSSxTQUFTLFFBQVEsT0FBT0ksV0FBV0YsT0FBT0k7QUFDekUsRUFDQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2Vuci9kaXN0L2dldF9tdWx0aWFkZHIuanM/MDUwNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtdWx0aWFkZHJGcm9tRmllbGRzIH0gZnJvbSBcIi4vbXVsdGlhZGRyX2Zyb21fZmllbGRzLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gbG9jYXRpb25NdWx0aWFkZHJGcm9tRW5yRmllbGRzKGVuciwgcHJvdG9jb2wpIHtcbiAgICBzd2l0Y2ggKHByb3RvY29sKSB7XG4gICAgICAgIGNhc2UgXCJ1ZHBcIjpcbiAgICAgICAgICAgIHJldHVybiAobG9jYXRpb25NdWx0aWFkZHJGcm9tRW5yRmllbGRzKGVuciwgXCJ1ZHA0XCIpIHx8XG4gICAgICAgICAgICAgICAgbG9jYXRpb25NdWx0aWFkZHJGcm9tRW5yRmllbGRzKGVuciwgXCJ1ZHA2XCIpKTtcbiAgICAgICAgY2FzZSBcInRjcFwiOlxuICAgICAgICAgICAgcmV0dXJuIChsb2NhdGlvbk11bHRpYWRkckZyb21FbnJGaWVsZHMoZW5yLCBcInRjcDRcIikgfHxcbiAgICAgICAgICAgICAgICBsb2NhdGlvbk11bHRpYWRkckZyb21FbnJGaWVsZHMoZW5yLCBcInRjcDZcIikpO1xuICAgIH1cbiAgICBjb25zdCBpc0lwdjYgPSBwcm90b2NvbC5lbmRzV2l0aChcIjZcIik7XG4gICAgY29uc3QgaXBWYWwgPSBlbnIuZ2V0KGlzSXB2NiA/IFwiaXA2XCIgOiBcImlwXCIpO1xuICAgIGlmICghaXBWYWwpXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBwcm90b05hbWUgPSBwcm90b2NvbC5zbGljZSgwLCAzKTtcbiAgICBsZXQgcHJvdG9WYWw7XG4gICAgc3dpdGNoIChwcm90b05hbWUpIHtcbiAgICAgICAgY2FzZSBcInVkcFwiOlxuICAgICAgICAgICAgcHJvdG9WYWwgPSBpc0lwdjYgPyBlbnIuZ2V0KFwidWRwNlwiKSA6IGVuci5nZXQoXCJ1ZHBcIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInRjcFwiOlxuICAgICAgICAgICAgcHJvdG9WYWwgPSBpc0lwdjYgPyBlbnIuZ2V0KFwidGNwNlwiKSA6IGVuci5nZXQoXCJ0Y3BcIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFwcm90b1ZhbClcbiAgICAgICAgcmV0dXJuO1xuICAgIHJldHVybiBtdWx0aWFkZHJGcm9tRmllbGRzKGlzSXB2NiA/IFwiaXA2XCIgOiBcImlwNFwiLCBwcm90b05hbWUsIGlwVmFsLCBwcm90b1ZhbCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRfbXVsdGlhZGRyLmpzLm1hcCJdLCJuYW1lcyI6WyJtdWx0aWFkZHJGcm9tRmllbGRzIiwibG9jYXRpb25NdWx0aWFkZHJGcm9tRW5yRmllbGRzIiwiZW5yIiwicHJvdG9jb2wiLCJpc0lwdjYiLCJlbmRzV2l0aCIsImlwVmFsIiwiZ2V0IiwicHJvdG9OYW1lIiwic2xpY2UiLCJwcm90b1ZhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/get_multiaddr.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/index.js":
/*!***************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/index.js ***!
\***************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ENR: () => (/* reexport safe */ _enr_js__WEBPACK_IMPORTED_MODULE_3__.ENR),\n/* harmony export */ ERR_INVALID_ID: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_0__.ERR_INVALID_ID),\n/* harmony export */ ERR_NO_SIGNATURE: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_0__.ERR_NO_SIGNATURE),\n/* harmony export */ EnrCreator: () => (/* reexport safe */ _creator_js__WEBPACK_IMPORTED_MODULE_1__.EnrCreator),\n/* harmony export */ EnrDecoder: () => (/* reexport safe */ _decoder_js__WEBPACK_IMPORTED_MODULE_2__.EnrDecoder),\n/* harmony export */ MAX_RECORD_SIZE: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_0__.MAX_RECORD_SIZE),\n/* harmony export */ MULTIADDR_LENGTH_SIZE: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_0__.MULTIADDR_LENGTH_SIZE),\n/* harmony export */ TransportProtocol: () => (/* reexport safe */ _enr_js__WEBPACK_IMPORTED_MODULE_3__.TransportProtocol),\n/* harmony export */ TransportProtocolPerIpVersion: () => (/* reexport safe */ _enr_js__WEBPACK_IMPORTED_MODULE_3__.TransportProtocolPerIpVersion),\n/* harmony export */ compressPublicKey: () => (/* reexport safe */ _crypto_js__WEBPACK_IMPORTED_MODULE_6__.compressPublicKey),\n/* harmony export */ createPeerIdFromPublicKey: () => (/* reexport safe */ _peer_id_js__WEBPACK_IMPORTED_MODULE_4__.createPeerIdFromPublicKey),\n/* harmony export */ decodeWaku2: () => (/* reexport safe */ _waku2_codec_js__WEBPACK_IMPORTED_MODULE_5__.decodeWaku2),\n/* harmony export */ encodeWaku2: () => (/* reexport safe */ _waku2_codec_js__WEBPACK_IMPORTED_MODULE_5__.encodeWaku2),\n/* harmony export */ getPrivateKeyFromPeerId: () => (/* reexport safe */ _peer_id_js__WEBPACK_IMPORTED_MODULE_4__.getPrivateKeyFromPeerId),\n/* harmony export */ getPublicKeyFromPeerId: () => (/* reexport safe */ _peer_id_js__WEBPACK_IMPORTED_MODULE_4__.getPublicKeyFromPeerId),\n/* harmony export */ keccak256: () => (/* reexport safe */ _crypto_js__WEBPACK_IMPORTED_MODULE_6__.keccak256),\n/* harmony export */ sign: () => (/* reexport safe */ _crypto_js__WEBPACK_IMPORTED_MODULE_6__.sign),\n/* harmony export */ verifySignature: () => (/* reexport safe */ _crypto_js__WEBPACK_IMPORTED_MODULE_6__.verifySignature)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/constants.js\");\n/* harmony import */ var _creator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./creator.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/creator.js\");\n/* harmony import */ var _decoder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decoder.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/decoder.js\");\n/* harmony import */ var _enr_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./enr.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/enr.js\");\n/* harmony import */ var _peer_id_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./peer_id.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/peer_id.js\");\n/* harmony import */ var _waku2_codec_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./waku2_codec.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/waku2_codec.js\");\n/* harmony import */ var _crypto_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./crypto.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/crypto.js\");\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQStCO0FBQ0Y7QUFDQTtBQUNKO0FBQ0k7QUFDSTtBQUNMLENBQzVCLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvZW5yL2Rpc3QvaW5kZXguanM/MTZjMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NyZWF0b3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29kZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vuci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGVlcl9pZC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2FrdTJfY29kZWMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NyeXB0by5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/multiaddr_from_fields.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/multiaddr_from_fields.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ multiaddrFromFields: () => (/* binding */ multiaddrFromFields)\n/* harmony export */ });\n/* harmony import */ var _multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiformats/multiaddr */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\");\n/* harmony import */ var _multiformats_multiaddr_convert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @multiformats/multiaddr/convert */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/convert.js\");\n\n\nfunction multiaddrFromFields(ipFamily, protocol, ipBytes, protocolBytes) {\n let ma = (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.multiaddr)(\"/\" + ipFamily + \"/\" + (0,_multiformats_multiaddr_convert__WEBPACK_IMPORTED_MODULE_1__.convertToString)(ipFamily, ipBytes));\n ma = ma.encapsulate((0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.multiaddr)(\"/\" + protocol + \"/\" + (0,_multiformats_multiaddr_convert__WEBPACK_IMPORTED_MODULE_1__.convertToString)(protocol, protocolBytes)));\n return ma;\n} //# sourceMappingURL=multiaddr_from_fields.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9tdWx0aWFkZHJfZnJvbV9maWVsZHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW9EO0FBQ2M7QUFDM0QsU0FBU0Usb0JBQW9CQyxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsT0FBTyxFQUFFQyxhQUFhO0lBQzFFLElBQUlDLEtBQUtQLGtFQUFTQSxDQUFDLE1BQU1HLFdBQVcsTUFBTUYsZ0ZBQWVBLENBQUNFLFVBQVVFO0lBQ3BFRSxLQUFLQSxHQUFHQyxXQUFXLENBQUNSLGtFQUFTQSxDQUFDLE1BQU1JLFdBQVcsTUFBTUgsZ0ZBQWVBLENBQUNHLFVBQVVFO0lBQy9FLE9BQU9DO0FBQ1gsRUFDQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2Vuci9kaXN0L211bHRpYWRkcl9mcm9tX2ZpZWxkcy5qcz83NWFlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG11bHRpYWRkciB9IGZyb20gXCJAbXVsdGlmb3JtYXRzL211bHRpYWRkclwiO1xuaW1wb3J0IHsgY29udmVydFRvU3RyaW5nIH0gZnJvbSBcIkBtdWx0aWZvcm1hdHMvbXVsdGlhZGRyL2NvbnZlcnRcIjtcbmV4cG9ydCBmdW5jdGlvbiBtdWx0aWFkZHJGcm9tRmllbGRzKGlwRmFtaWx5LCBwcm90b2NvbCwgaXBCeXRlcywgcHJvdG9jb2xCeXRlcykge1xuICAgIGxldCBtYSA9IG11bHRpYWRkcihcIi9cIiArIGlwRmFtaWx5ICsgXCIvXCIgKyBjb252ZXJ0VG9TdHJpbmcoaXBGYW1pbHksIGlwQnl0ZXMpKTtcbiAgICBtYSA9IG1hLmVuY2Fwc3VsYXRlKG11bHRpYWRkcihcIi9cIiArIHByb3RvY29sICsgXCIvXCIgKyBjb252ZXJ0VG9TdHJpbmcocHJvdG9jb2wsIHByb3RvY29sQnl0ZXMpKSk7XG4gICAgcmV0dXJuIG1hO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bXVsdGlhZGRyX2Zyb21fZmllbGRzLmpzLm1hcCJdLCJuYW1lcyI6WyJtdWx0aWFkZHIiLCJjb252ZXJ0VG9TdHJpbmciLCJtdWx0aWFkZHJGcm9tRmllbGRzIiwiaXBGYW1pbHkiLCJwcm90b2NvbCIsImlwQnl0ZXMiLCJwcm90b2NvbEJ5dGVzIiwibWEiLCJlbmNhcHN1bGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/multiaddr_from_fields.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/multiaddrs_codec.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/multiaddrs_codec.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeMultiaddrs: () => (/* binding */ decodeMultiaddrs),\n/* harmony export */ encodeMultiaddrs: () => (/* binding */ encodeMultiaddrs)\n/* harmony export */ });\n/* harmony import */ var _multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiformats/multiaddr */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/constants.js\");\n\n\nfunction decodeMultiaddrs(bytes) {\n const multiaddrs = [];\n let index = 0;\n while(index < bytes.length){\n const sizeDataView = new DataView(bytes.buffer, index, _constants_js__WEBPACK_IMPORTED_MODULE_1__.MULTIADDR_LENGTH_SIZE);\n const size = sizeDataView.getUint16(0);\n index += _constants_js__WEBPACK_IMPORTED_MODULE_1__.MULTIADDR_LENGTH_SIZE;\n const multiaddrBytes = bytes.slice(index, index + size);\n index += size;\n multiaddrs.push((0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.multiaddr)(multiaddrBytes));\n }\n return multiaddrs;\n}\nfunction encodeMultiaddrs(multiaddrs) {\n const totalLength = multiaddrs.reduce((acc, ma)=>acc + _constants_js__WEBPACK_IMPORTED_MODULE_1__.MULTIADDR_LENGTH_SIZE + ma.bytes.length, 0);\n const bytes = new Uint8Array(totalLength);\n const dataView = new DataView(bytes.buffer);\n let index = 0;\n multiaddrs.forEach((multiaddr)=>{\n if (multiaddr.getPeerId()) throw new Error(\"`multiaddr` field MUST not contain peer id\");\n // Prepend the size of the next entry\n dataView.setUint16(index, multiaddr.bytes.length);\n index += _constants_js__WEBPACK_IMPORTED_MODULE_1__.MULTIADDR_LENGTH_SIZE;\n bytes.set(multiaddr.bytes, index);\n index += multiaddr.bytes.length;\n });\n return bytes;\n} //# sourceMappingURL=multiaddrs_codec.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9tdWx0aWFkZHJzX2NvZGVjLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBb0Q7QUFDRztBQUNoRCxTQUFTRSxpQkFBaUJDLEtBQUs7SUFDbEMsTUFBTUMsYUFBYSxFQUFFO0lBQ3JCLElBQUlDLFFBQVE7SUFDWixNQUFPQSxRQUFRRixNQUFNRyxNQUFNLENBQUU7UUFDekIsTUFBTUMsZUFBZSxJQUFJQyxTQUFTTCxNQUFNTSxNQUFNLEVBQUVKLE9BQU9KLGdFQUFxQkE7UUFDNUUsTUFBTVMsT0FBT0gsYUFBYUksU0FBUyxDQUFDO1FBQ3BDTixTQUFTSixnRUFBcUJBO1FBQzlCLE1BQU1XLGlCQUFpQlQsTUFBTVUsS0FBSyxDQUFDUixPQUFPQSxRQUFRSztRQUNsREwsU0FBU0s7UUFDVE4sV0FBV1UsSUFBSSxDQUFDZCxrRUFBU0EsQ0FBQ1k7SUFDOUI7SUFDQSxPQUFPUjtBQUNYO0FBQ08sU0FBU1csaUJBQWlCWCxVQUFVO0lBQ3ZDLE1BQU1ZLGNBQWNaLFdBQVdhLE1BQU0sQ0FBQyxDQUFDQyxLQUFLQyxLQUFPRCxNQUFNakIsZ0VBQXFCQSxHQUFHa0IsR0FBR2hCLEtBQUssQ0FBQ0csTUFBTSxFQUFFO0lBQ2xHLE1BQU1ILFFBQVEsSUFBSWlCLFdBQVdKO0lBQzdCLE1BQU1LLFdBQVcsSUFBSWIsU0FBU0wsTUFBTU0sTUFBTTtJQUMxQyxJQUFJSixRQUFRO0lBQ1pELFdBQVdrQixPQUFPLENBQUMsQ0FBQ3RCO1FBQ2hCLElBQUlBLFVBQVV1QixTQUFTLElBQ25CLE1BQU0sSUFBSUMsTUFBTTtRQUNwQixxQ0FBcUM7UUFDckNILFNBQVNJLFNBQVMsQ0FBQ3BCLE9BQU9MLFVBQVVHLEtBQUssQ0FBQ0csTUFBTTtRQUNoREQsU0FBU0osZ0VBQXFCQTtRQUM5QkUsTUFBTXVCLEdBQUcsQ0FBQzFCLFVBQVVHLEtBQUssRUFBRUU7UUFDM0JBLFNBQVNMLFVBQVVHLEtBQUssQ0FBQ0csTUFBTTtJQUNuQztJQUNBLE9BQU9IO0FBQ1gsRUFDQSw0Q0FBNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2Vuci9kaXN0L211bHRpYWRkcnNfY29kZWMuanM/YmNlZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtdWx0aWFkZHIgfSBmcm9tIFwiQG11bHRpZm9ybWF0cy9tdWx0aWFkZHJcIjtcbmltcG9ydCB7IE1VTFRJQUREUl9MRU5HVEhfU0laRSB9IGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZU11bHRpYWRkcnMoYnl0ZXMpIHtcbiAgICBjb25zdCBtdWx0aWFkZHJzID0gW107XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICB3aGlsZSAoaW5kZXggPCBieXRlcy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgc2l6ZURhdGFWaWV3ID0gbmV3IERhdGFWaWV3KGJ5dGVzLmJ1ZmZlciwgaW5kZXgsIE1VTFRJQUREUl9MRU5HVEhfU0laRSk7XG4gICAgICAgIGNvbnN0IHNpemUgPSBzaXplRGF0YVZpZXcuZ2V0VWludDE2KDApO1xuICAgICAgICBpbmRleCArPSBNVUxUSUFERFJfTEVOR1RIX1NJWkU7XG4gICAgICAgIGNvbnN0IG11bHRpYWRkckJ5dGVzID0gYnl0ZXMuc2xpY2UoaW5kZXgsIGluZGV4ICsgc2l6ZSk7XG4gICAgICAgIGluZGV4ICs9IHNpemU7XG4gICAgICAgIG11bHRpYWRkcnMucHVzaChtdWx0aWFkZHIobXVsdGlhZGRyQnl0ZXMpKTtcbiAgICB9XG4gICAgcmV0dXJuIG11bHRpYWRkcnM7XG59XG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlTXVsdGlhZGRycyhtdWx0aWFkZHJzKSB7XG4gICAgY29uc3QgdG90YWxMZW5ndGggPSBtdWx0aWFkZHJzLnJlZHVjZSgoYWNjLCBtYSkgPT4gYWNjICsgTVVMVElBRERSX0xFTkdUSF9TSVpFICsgbWEuYnl0ZXMubGVuZ3RoLCAwKTtcbiAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KHRvdGFsTGVuZ3RoKTtcbiAgICBjb25zdCBkYXRhVmlldyA9IG5ldyBEYXRhVmlldyhieXRlcy5idWZmZXIpO1xuICAgIGxldCBpbmRleCA9IDA7XG4gICAgbXVsdGlhZGRycy5mb3JFYWNoKChtdWx0aWFkZHIpID0+IHtcbiAgICAgICAgaWYgKG11bHRpYWRkci5nZXRQZWVySWQoKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImBtdWx0aWFkZHJgIGZpZWxkIE1VU1Qgbm90IGNvbnRhaW4gcGVlciBpZFwiKTtcbiAgICAgICAgLy8gUHJlcGVuZCB0aGUgc2l6ZSBvZiB0aGUgbmV4dCBlbnRyeVxuICAgICAgICBkYXRhVmlldy5zZXRVaW50MTYoaW5kZXgsIG11bHRpYWRkci5ieXRlcy5sZW5ndGgpO1xuICAgICAgICBpbmRleCArPSBNVUxUSUFERFJfTEVOR1RIX1NJWkU7XG4gICAgICAgIGJ5dGVzLnNldChtdWx0aWFkZHIuYnl0ZXMsIGluZGV4KTtcbiAgICAgICAgaW5kZXggKz0gbXVsdGlhZGRyLmJ5dGVzLmxlbmd0aDtcbiAgICB9KTtcbiAgICByZXR1cm4gYnl0ZXM7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tdWx0aWFkZHJzX2NvZGVjLmpzLm1hcCJdLCJuYW1lcyI6WyJtdWx0aWFkZHIiLCJNVUxUSUFERFJfTEVOR1RIX1NJWkUiLCJkZWNvZGVNdWx0aWFkZHJzIiwiYnl0ZXMiLCJtdWx0aWFkZHJzIiwiaW5kZXgiLCJsZW5ndGgiLCJzaXplRGF0YVZpZXciLCJEYXRhVmlldyIsImJ1ZmZlciIsInNpemUiLCJnZXRVaW50MTYiLCJtdWx0aWFkZHJCeXRlcyIsInNsaWNlIiwicHVzaCIsImVuY29kZU11bHRpYWRkcnMiLCJ0b3RhbExlbmd0aCIsInJlZHVjZSIsImFjYyIsIm1hIiwiVWludDhBcnJheSIsImRhdGFWaWV3IiwiZm9yRWFjaCIsImdldFBlZXJJZCIsIkVycm9yIiwic2V0VWludDE2Iiwic2V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/multiaddrs_codec.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/peer_id.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/peer_id.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createPeerIdFromPublicKey: () => (/* binding */ createPeerIdFromPublicKey),\n/* harmony export */ getPrivateKeyFromPeerId: () => (/* binding */ getPrivateKeyFromPeerId),\n/* harmony export */ getPublicKeyFromPeerId: () => (/* binding */ getPublicKeyFromPeerId)\n/* harmony export */ });\n/* harmony import */ var _libp2p_crypto_keys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @libp2p/crypto/keys */ \"(ssr)/./node_modules/@libp2p/crypto/dist/src/keys/index.js\");\n/* harmony import */ var _libp2p_peer_id__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @libp2p/peer-id */ \"(ssr)/./node_modules/@libp2p/peer-id/dist/src/index.js\");\n\n\n\nfunction createPeerIdFromPublicKey(publicKey) {\n const _publicKey = new _libp2p_crypto_keys__WEBPACK_IMPORTED_MODULE_0__.supportedKeys.secp256k1.Secp256k1PublicKey(publicKey);\n return (0,_libp2p_peer_id__WEBPACK_IMPORTED_MODULE_1__.peerIdFromKeys)(_publicKey.bytes, undefined);\n}\nfunction getPublicKeyFromPeerId(peerId) {\n if (peerId.type !== \"secp256k1\") {\n throw new Error(\"Unsupported peer id type\");\n }\n return (0,_libp2p_crypto_keys__WEBPACK_IMPORTED_MODULE_0__.unmarshalPublicKey)(peerId.publicKey).marshal();\n}\n// Only used in tests\nasync function getPrivateKeyFromPeerId(peerId) {\n if (peerId.type !== \"secp256k1\") {\n throw new Error(\"Unsupported peer id type\");\n }\n if (!peerId.privateKey) {\n throw new Error(\"Private key not present on peer id\");\n }\n const privateKey = await (0,_libp2p_crypto_keys__WEBPACK_IMPORTED_MODULE_0__.unmarshalPrivateKey)(peerId.privateKey);\n return privateKey.marshal();\n} //# sourceMappingURL=peer_id.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9wZWVyX2lkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQThFO0FBQzFCO0FBQ0g7QUFDMUMsU0FBU0ksMEJBQTBCQyxTQUFTO0lBQy9DLE1BQU1DLGFBQWEsSUFBSUosOERBQWFBLENBQUNLLFNBQVMsQ0FBQ0Msa0JBQWtCLENBQUNIO0lBQ2xFLE9BQU9GLCtEQUFjQSxDQUFDRyxXQUFXRyxLQUFLLEVBQUVDO0FBQzVDO0FBQ08sU0FBU0MsdUJBQXVCQyxNQUFNO0lBQ3pDLElBQUlBLE9BQU9DLElBQUksS0FBSyxhQUFhO1FBQzdCLE1BQU0sSUFBSUMsTUFBTTtJQUNwQjtJQUNBLE9BQU9iLHVFQUFrQkEsQ0FBQ1csT0FBT1AsU0FBUyxFQUFFVSxPQUFPO0FBQ3ZEO0FBQ0EscUJBQXFCO0FBQ2QsZUFBZUMsd0JBQXdCSixNQUFNO0lBQ2hELElBQUlBLE9BQU9DLElBQUksS0FBSyxhQUFhO1FBQzdCLE1BQU0sSUFBSUMsTUFBTTtJQUNwQjtJQUNBLElBQUksQ0FBQ0YsT0FBT0ssVUFBVSxFQUFFO1FBQ3BCLE1BQU0sSUFBSUgsTUFBTTtJQUNwQjtJQUNBLE1BQU1HLGFBQWEsTUFBTWpCLHdFQUFtQkEsQ0FBQ1ksT0FBT0ssVUFBVTtJQUM5RCxPQUFPQSxXQUFXRixPQUFPO0FBQzdCLEVBQ0EsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9wZWVyX2lkLmpzP2VlMTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdW5tYXJzaGFsUHJpdmF0ZUtleSwgdW5tYXJzaGFsUHVibGljS2V5IH0gZnJvbSBcIkBsaWJwMnAvY3J5cHRvL2tleXNcIjtcbmltcG9ydCB7IHN1cHBvcnRlZEtleXMgfSBmcm9tIFwiQGxpYnAycC9jcnlwdG8va2V5c1wiO1xuaW1wb3J0IHsgcGVlcklkRnJvbUtleXMgfSBmcm9tIFwiQGxpYnAycC9wZWVyLWlkXCI7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGVlcklkRnJvbVB1YmxpY0tleShwdWJsaWNLZXkpIHtcbiAgICBjb25zdCBfcHVibGljS2V5ID0gbmV3IHN1cHBvcnRlZEtleXMuc2VjcDI1NmsxLlNlY3AyNTZrMVB1YmxpY0tleShwdWJsaWNLZXkpO1xuICAgIHJldHVybiBwZWVySWRGcm9tS2V5cyhfcHVibGljS2V5LmJ5dGVzLCB1bmRlZmluZWQpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFB1YmxpY0tleUZyb21QZWVySWQocGVlcklkKSB7XG4gICAgaWYgKHBlZXJJZC50eXBlICE9PSBcInNlY3AyNTZrMVwiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIHBlZXIgaWQgdHlwZVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHVubWFyc2hhbFB1YmxpY0tleShwZWVySWQucHVibGljS2V5KS5tYXJzaGFsKCk7XG59XG4vLyBPbmx5IHVzZWQgaW4gdGVzdHNcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQcml2YXRlS2V5RnJvbVBlZXJJZChwZWVySWQpIHtcbiAgICBpZiAocGVlcklkLnR5cGUgIT09IFwic2VjcDI1NmsxXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgcGVlciBpZCB0eXBlXCIpO1xuICAgIH1cbiAgICBpZiAoIXBlZXJJZC5wcml2YXRlS2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlByaXZhdGUga2V5IG5vdCBwcmVzZW50IG9uIHBlZXIgaWRcIik7XG4gICAgfVxuICAgIGNvbnN0IHByaXZhdGVLZXkgPSBhd2FpdCB1bm1hcnNoYWxQcml2YXRlS2V5KHBlZXJJZC5wcml2YXRlS2V5KTtcbiAgICByZXR1cm4gcHJpdmF0ZUtleS5tYXJzaGFsKCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wZWVyX2lkLmpzLm1hcCJdLCJuYW1lcyI6WyJ1bm1hcnNoYWxQcml2YXRlS2V5IiwidW5tYXJzaGFsUHVibGljS2V5Iiwic3VwcG9ydGVkS2V5cyIsInBlZXJJZEZyb21LZXlzIiwiY3JlYXRlUGVlcklkRnJvbVB1YmxpY0tleSIsInB1YmxpY0tleSIsIl9wdWJsaWNLZXkiLCJzZWNwMjU2azEiLCJTZWNwMjU2azFQdWJsaWNLZXkiLCJieXRlcyIsInVuZGVmaW5lZCIsImdldFB1YmxpY0tleUZyb21QZWVySWQiLCJwZWVySWQiLCJ0eXBlIiwiRXJyb3IiLCJtYXJzaGFsIiwiZ2V0UHJpdmF0ZUtleUZyb21QZWVySWQiLCJwcml2YXRlS2V5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/peer_id.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/raw_enr.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/raw_enr.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RawEnr: () => (/* binding */ RawEnr)\n/* harmony export */ });\n/* harmony import */ var _multiformats_multiaddr_convert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiformats/multiaddr/convert */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/convert.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/constants.js\");\n/* harmony import */ var _multiaddrs_codec_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./multiaddrs_codec.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/multiaddrs_codec.js\");\n/* harmony import */ var _waku2_codec_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./waku2_codec.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/waku2_codec.js\");\n\n\n\n\n\n\nclass RawEnr extends Map {\n constructor(kvs = {}, seq = BigInt(1), signature){\n super(Object.entries(kvs));\n this.seq = seq;\n this.signature = signature;\n }\n set(k, v) {\n this.signature = undefined;\n this.seq++;\n return super.set(k, v);\n }\n get id() {\n const id = this.get(\"id\");\n if (!id) throw new Error(\"id not found.\");\n return (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_2__.bytesToUtf8)(id);\n }\n get publicKey() {\n switch(this.id){\n case \"v4\":\n return this.get(\"secp256k1\");\n default:\n throw new Error(_constants_js__WEBPACK_IMPORTED_MODULE_3__.ERR_INVALID_ID);\n }\n }\n get rs() {\n const rs = this.get(\"rs\");\n if (!rs) return undefined;\n return (0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.decodeRelayShard)(rs);\n }\n get rsv() {\n const rsv = this.get(\"rsv\");\n if (!rsv) return undefined;\n return (0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.decodeRelayShard)(rsv);\n }\n get ip() {\n return getStringValue(this, \"ip\", \"ip4\");\n }\n set ip(ip) {\n setStringValue(this, \"ip\", \"ip4\", ip);\n }\n get tcp() {\n return getNumberAsStringValue(this, \"tcp\", \"tcp\");\n }\n set tcp(port) {\n setNumberAsStringValue(this, \"tcp\", \"tcp\", port);\n }\n get udp() {\n return getNumberAsStringValue(this, \"udp\", \"udp\");\n }\n set udp(port) {\n setNumberAsStringValue(this, \"udp\", \"udp\", port);\n }\n get ip6() {\n return getStringValue(this, \"ip6\", \"ip6\");\n }\n set ip6(ip) {\n setStringValue(this, \"ip6\", \"ip6\", ip);\n }\n get tcp6() {\n return getNumberAsStringValue(this, \"tcp6\", \"tcp\");\n }\n set tcp6(port) {\n setNumberAsStringValue(this, \"tcp6\", \"tcp\", port);\n }\n get udp6() {\n return getNumberAsStringValue(this, \"udp6\", \"udp\");\n }\n set udp6(port) {\n setNumberAsStringValue(this, \"udp6\", \"udp\", port);\n }\n /**\n * Get the `multiaddrs` field from ENR.\n *\n * This field is used to store multiaddresses that cannot be stored with the current ENR pre-defined keys.\n * These can be a multiaddresses that include encapsulation (e.g. wss) or do not use `ip4` nor `ip6` for the host\n * address (e.g. `dns4`, `dnsaddr`, etc)..\n *\n * If the peer information only contains information that can be represented with the ENR pre-defined keys\n * (ip, tcp, etc) then the usage of { @link ENR.getLocationMultiaddr } should be preferred.\n *\n * The multiaddresses stored in this field are expected to be location multiaddresses, ie, peer id less.\n */ get multiaddrs() {\n const raw = this.get(\"multiaddrs\");\n if (raw) return (0,_multiaddrs_codec_js__WEBPACK_IMPORTED_MODULE_4__.decodeMultiaddrs)(raw);\n return;\n }\n /**\n * Set the `multiaddrs` field on the ENR.\n *\n * This field is used to store multiaddresses that cannot be stored with the current ENR pre-defined keys.\n * These can be a multiaddresses that include encapsulation (e.g. wss) or do not use `ip4` nor `ip6` for the host\n * address (e.g. `dns4`, `dnsaddr`, etc)..\n *\n * If the peer information only contains information that can be represented with the ENR pre-defined keys\n * (ip, tcp, etc) then the usage of { @link ENR.setLocationMultiaddr } should be preferred.\n * The multiaddresses stored in this field must be location multiaddresses,\n * ie, without a peer id.\n */ set multiaddrs(multiaddrs) {\n deleteUndefined(this, \"multiaddrs\", multiaddrs, _multiaddrs_codec_js__WEBPACK_IMPORTED_MODULE_4__.encodeMultiaddrs);\n }\n /**\n * Get the `waku2` field from ENR.\n */ get waku2() {\n const raw = this.get(\"waku2\");\n if (raw) return (0,_waku2_codec_js__WEBPACK_IMPORTED_MODULE_5__.decodeWaku2)(raw[0]);\n return;\n }\n /**\n * Set the `waku2` field on the ENR.\n */ set waku2(waku2) {\n deleteUndefined(this, \"waku2\", waku2, (w)=>new Uint8Array([\n (0,_waku2_codec_js__WEBPACK_IMPORTED_MODULE_5__.encodeWaku2)(w)\n ]));\n }\n}\nfunction getStringValue(map, key, proto) {\n const raw = map.get(key);\n if (!raw) return;\n return (0,_multiformats_multiaddr_convert__WEBPACK_IMPORTED_MODULE_0__.convertToString)(proto, raw);\n}\nfunction getNumberAsStringValue(map, key, proto) {\n const raw = map.get(key);\n if (!raw) return;\n return Number((0,_multiformats_multiaddr_convert__WEBPACK_IMPORTED_MODULE_0__.convertToString)(proto, raw));\n}\nfunction setStringValue(map, key, proto, value) {\n deleteUndefined(map, key, value, _multiformats_multiaddr_convert__WEBPACK_IMPORTED_MODULE_0__.convertToBytes.bind({}, proto));\n}\nfunction setNumberAsStringValue(map, key, proto, value) {\n setStringValue(map, key, proto, value?.toString(10));\n}\nfunction deleteUndefined(map, key, value, transform) {\n if (value !== undefined) {\n map.set(key, transform(value));\n } else {\n map.delete(key);\n }\n} //# sourceMappingURL=raw_enr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9yYXdfZW5yLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBa0Y7QUFDbkM7QUFDQztBQUNBO0FBQzJCO0FBQ2Y7QUFDckQsTUFBTVMsZUFBZUM7SUFHeEJDLFlBQVlDLE1BQU0sQ0FBQyxDQUFDLEVBQUVDLE1BQU1DLE9BQU8sRUFBRSxFQUFFQyxTQUFTLENBQUU7UUFDOUMsS0FBSyxDQUFDQyxPQUFPQyxPQUFPLENBQUNMO1FBQ3JCLElBQUksQ0FBQ0MsR0FBRyxHQUFHQTtRQUNYLElBQUksQ0FBQ0UsU0FBUyxHQUFHQTtJQUNyQjtJQUNBRyxJQUFJQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtRQUNOLElBQUksQ0FBQ0wsU0FBUyxHQUFHTTtRQUNqQixJQUFJLENBQUNSLEdBQUc7UUFDUixPQUFPLEtBQUssQ0FBQ0ssSUFBSUMsR0FBR0M7SUFDeEI7SUFDQSxJQUFJRSxLQUFLO1FBQ0wsTUFBTUEsS0FBSyxJQUFJLENBQUNDLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUNELElBQ0QsTUFBTSxJQUFJRSxNQUFNO1FBQ3BCLE9BQU9yQiw4REFBV0EsQ0FBQ21CO0lBQ3ZCO0lBQ0EsSUFBSUcsWUFBWTtRQUNaLE9BQVEsSUFBSSxDQUFDSCxFQUFFO1lBQ1gsS0FBSztnQkFDRCxPQUFPLElBQUksQ0FBQ0MsR0FBRyxDQUFDO1lBQ3BCO2dCQUNJLE1BQU0sSUFBSUMsTUFBTXBCLHlEQUFjQTtRQUN0QztJQUNKO0lBQ0EsSUFBSXNCLEtBQUs7UUFDTCxNQUFNQSxLQUFLLElBQUksQ0FBQ0gsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQ0csSUFDRCxPQUFPTDtRQUNYLE9BQU9uQiw2REFBZ0JBLENBQUN3QjtJQUM1QjtJQUNBLElBQUlDLE1BQU07UUFDTixNQUFNQSxNQUFNLElBQUksQ0FBQ0osR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQ0ksS0FDRCxP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QUFFQyxHQUFHLEVBQUVHLEtBQUssRUFBRUcsU0FBUztJQUMvQyxJQUFJSCxVQUFVNUIsV0FBVztRQUNyQndCLElBQUkzQixHQUFHLENBQUM0QixLQUFLTSxVQUFVSDtJQUMzQixPQUNLO1FBQ0RKLElBQUlRLE1BQU0sQ0FBQ1A7SUFDZjtBQUNKLEVBQ0EsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC9yYXdfZW5yLmpzP2FjYjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29udmVydFRvQnl0ZXMsIGNvbnZlcnRUb1N0cmluZyB9IGZyb20gXCJAbXVsdGlmb3JtYXRzL211bHRpYWRkci9jb252ZXJ0XCI7XG5pbXBvcnQgeyBkZWNvZGVSZWxheVNoYXJkIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBieXRlc1RvVXRmOCB9IGZyb20gXCJAd2FrdS91dGlscy9ieXRlc1wiO1xuaW1wb3J0IHsgRVJSX0lOVkFMSURfSUQgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IGRlY29kZU11bHRpYWRkcnMsIGVuY29kZU11bHRpYWRkcnMgfSBmcm9tIFwiLi9tdWx0aWFkZHJzX2NvZGVjLmpzXCI7XG5pbXBvcnQgeyBkZWNvZGVXYWt1MiwgZW5jb2RlV2FrdTIgfSBmcm9tIFwiLi93YWt1Ml9jb2RlYy5qc1wiO1xuZXhwb3J0IGNsYXNzIFJhd0VuciBleHRlbmRzIE1hcCB7XG4gICAgc2VxO1xuICAgIHNpZ25hdHVyZTtcbiAgICBjb25zdHJ1Y3RvcihrdnMgPSB7fSwgc2VxID0gQmlnSW50KDEpLCBzaWduYXR1cmUpIHtcbiAgICAgICAgc3VwZXIoT2JqZWN0LmVudHJpZXMoa3ZzKSk7XG4gICAgICAgIHRoaXMuc2VxID0gc2VxO1xuICAgICAgICB0aGlzLnNpZ25hdHVyZSA9IHNpZ25hdHVyZTtcbiAgICB9XG4gICAgc2V0KGssIHYpIHtcbiAgICAgICAgdGhpcy5zaWduYXR1cmUgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuc2VxKys7XG4gICAgICAgIHJldHVybiBzdXBlci5zZXQoaywgdik7XG4gICAgfVxuICAgIGdldCBpZCgpIHtcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLmdldChcImlkXCIpO1xuICAgICAgICBpZiAoIWlkKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaWQgbm90IGZvdW5kLlwiKTtcbiAgICAgICAgcmV0dXJuIGJ5dGVzVG9VdGY4KGlkKTtcbiAgICB9XG4gICAgZ2V0IHB1YmxpY0tleSgpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmlkKSB7XG4gICAgICAgICAgICBjYXNlIFwidjRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQoXCJzZWNwMjU2azFcIik7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihFUlJfSU5WQUxJRF9JRCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHJzKCkge1xuICAgICAgICBjb25zdCBycyA9IHRoaXMuZ2V0KFwicnNcIik7XG4gICAgICAgIGlmICghcnMpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gZGVjb2RlUmVsYXlTaGFyZChycyk7XG4gICAgfVxuICAgIGdldCByc3YoKSB7XG4gICAgICAgIGNvbnN0IHJzdiA9IHRoaXMuZ2V0KFwicnN2XCIpO1xuICAgICAgICBpZiAoIXJzdilcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiBkZWNvZGVSZWxheVNoYXJkKHJzdik7XG4gICAgfVxuICAgIGdldCBpcCgpIHtcbiAgICAgICAgcmV0dXJuIGdldFN0cmluZ1ZhbHVlKHRoaXMsIFwiaXBcIiwgXCJpcDRcIik7XG4gICAgfVxuICAgIHNldCBpcChpcCkge1xuICAgICAgICBzZXRTdHJpbmdWYWx1ZSh0aGlzLCBcImlwXCIsIFwiaXA0XCIsIGlwKTtcbiAgICB9XG4gICAgZ2V0IHRjcCgpIHtcbiAgICAgICAgcmV0dXJuIGdldE51bWJlckFzU3RyaW5nVmFsdWUodGhpcywgXCJ0Y3BcIiwgXCJ0Y3BcIik7XG4gICAgfVxuICAgIHNldCB0Y3AocG9ydCkge1xuICAgICAgICBzZXROdW1iZXJBc1N0cmluZ1ZhbHVlKHRoaXMsIFwidGNwXCIsIFwidGNwXCIsIHBvcnQpO1xuICAgIH1cbiAgICBnZXQgdWRwKCkge1xuICAgICAgICByZXR1cm4gZ2V0TnVtYmVyQXNTdHJpbmdWYWx1ZSh0aGlzLCBcInVkcFwiLCBcInVkcFwiKTtcbiAgICB9XG4gICAgc2V0IHVkcChwb3J0KSB7XG4gICAgICAgIHNldE51bWJlckFzU3RyaW5nVmFsdWUodGhpcywgXCJ1ZHBcIiwgXCJ1ZHBcIiwgcG9ydCk7XG4gICAgfVxuICAgIGdldCBpcDYoKSB7XG4gICAgICAgIHJldHVybiBnZXRTdHJpbmdWYWx1ZSh0aGlzLCBcImlwNlwiLCBcImlwNlwiKTtcbiAgICB9XG4gICAgc2V0IGlwNihpcCkge1xuICAgICAgICBzZXRTdHJpbmdWYWx1ZSh0aGlzLCBcImlwNlwiLCBcImlwNlwiLCBpcCk7XG4gICAgfVxuICAgIGdldCB0Y3A2KCkge1xuICAgICAgICByZXR1cm4gZ2V0TnVtYmVyQXNTdHJpbmdWYWx1ZSh0aGlzLCBcInRjcDZcIiwgXCJ0Y3BcIik7XG4gICAgfVxuICAgIHNldCB0Y3A2KHBvcnQpIHtcbiAgICAgICAgc2V0TnVtYmVyQXNTdHJpbmdWYWx1ZSh0aGlzLCBcInRjcDZcIiwgXCJ0Y3BcIiwgcG9ydCk7XG4gICAgfVxuICAgIGdldCB1ZHA2KCkge1xuICAgICAgICByZXR1cm4gZ2V0TnVtYmVyQXNTdHJpbmdWYWx1ZSh0aGlzLCBcInVkcDZcIiwgXCJ1ZHBcIik7XG4gICAgfVxuICAgIHNldCB1ZHA2KHBvcnQpIHtcbiAgICAgICAgc2V0TnVtYmVyQXNTdHJpbmdWYWx1ZSh0aGlzLCBcInVkcDZcIiwgXCJ1ZHBcIiwgcG9ydCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgYG11bHRpYWRkcnNgIGZpZWxkIGZyb20gRU5SLlxuICAgICAqXG4gICAgICogVGhpcyBmaWVsZCBpcyB1c2VkIHRvIHN0b3JlIG11bHRpYWRkcmVzc2VzIHRoYXQgY2Fubm90IGJlIHN0b3JlZCB3aXRoIHRoZSBjdXJyZW50IEVOUiBwcmUtZGVmaW5lZCBrZXlzLlxuICAgICAqIFRoZXNlIGNhbiBiZSBhIG11bHRpYWRkcmVzc2VzIHRoYXQgaW5jbHVkZSBlbmNhcHN1bGF0aW9uIChlLmcuIHdzcykgb3IgZG8gbm90IHVzZSBgaXA0YCBub3IgYGlwNmAgZm9yIHRoZSBob3N0XG4gICAgICogYWRkcmVzcyAoZS5nLiBgZG5zNGAsIGBkbnNhZGRyYCwgZXRjKS4uXG4gICAgICpcbiAgICAgKiBJZiB0aGUgcGVlciBpbmZvcm1hdGlvbiBvbmx5IGNvbnRhaW5zIGluZm9ybWF0aW9uIHRoYXQgY2FuIGJlIHJlcHJlc2VudGVkIHdpdGggdGhlIEVOUiBwcmUtZGVmaW5lZCBrZXlzXG4gICAgICogKGlwLCB0Y3AsIGV0YykgdGhlbiB0aGUgdXNhZ2Ugb2YgeyBAbGluayBFTlIuZ2V0TG9jYXRpb25NdWx0aWFkZHIgfSBzaG91bGQgYmUgcHJlZmVycmVkLlxuICAgICAqXG4gICAgICogVGhlIG11bHRpYWRkcmVzc2VzIHN0b3JlZCBpbiB0aGlzIGZpZWxkIGFyZSBleHBlY3RlZCB0byBiZSBsb2NhdGlvbiBtdWx0aWFkZHJlc3NlcywgaWUsIHBlZXIgaWQgbGVzcy5cbiAgICAgKi9cbiAgICBnZXQgbXVsdGlhZGRycygpIHtcbiAgICAgICAgY29uc3QgcmF3ID0gdGhpcy5nZXQoXCJtdWx0aWFkZHJzXCIpO1xuICAgICAgICBpZiAocmF3KVxuICAgICAgICAgICAgcmV0dXJuIGRlY29kZU11bHRpYWRkcnMocmF3KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGBtdWx0aWFkZHJzYCBmaWVsZCBvbiB0aGUgRU5SLlxuICAgICAqXG4gICAgICogVGhpcyBmaWVsZCBpcyB1c2VkIHRvIHN0b3JlIG11bHRpYWRkcmVzc2VzIHRoYXQgY2Fubm90IGJlIHN0b3JlZCB3aXRoIHRoZSBjdXJyZW50IEVOUiBwcmUtZGVmaW5lZCBrZXlzLlxuICAgICAqIFRoZXNlIGNhbiBiZSBhIG11bHRpYWRkcmVzc2VzIHRoYXQgaW5jbHVkZSBlbmNhcHN1bGF0aW9uIChlLmcuIHdzcykgb3IgZG8gbm90IHVzZSBgaXA0YCBub3IgYGlwNmAgZm9yIHRoZSBob3N0XG4gICAgICogYWRkcmVzcyAoZS5nLiBgZG5zNGAsIGBkbnNhZGRyYCwgZXRjKS4uXG4gICAgICpcbiAgICAgKiBJZiB0aGUgcGVlciBpbmZvcm1hdGlvbiBvbmx5IGNvbnRhaW5zIGluZm9ybWF0aW9uIHRoYXQgY2FuIGJlIHJlcHJlc2VudGVkIHdpdGggdGhlIEVOUiBwcmUtZGVmaW5lZCBrZXlzXG4gICAgICogKGlwLCB0Y3AsIGV0YykgdGhlbiB0aGUgdXNhZ2Ugb2YgeyBAbGluayBFTlIuc2V0TG9jYXRpb25NdWx0aWFkZHIgfSBzaG91bGQgYmUgcHJlZmVycmVkLlxuICAgICAqIFRoZSBtdWx0aWFkZHJlc3NlcyBzdG9yZWQgaW4gdGhpcyBmaWVsZCBtdXN0IGJlIGxvY2F0aW9uIG11bHRpYWRkcmVzc2VzLFxuICAgICAqIGllLCB3aXRob3V0IGEgcGVlciBpZC5cbiAgICAgKi9cbiAgICBzZXQgbXVsdGlhZGRycyhtdWx0aWFkZHJzKSB7XG4gICAgICAgIGRlbGV0ZVVuZGVmaW5lZCh0aGlzLCBcIm11bHRpYWRkcnNcIiwgbXVsdGlhZGRycywgZW5jb2RlTXVsdGlhZGRycyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgYHdha3UyYCBmaWVsZCBmcm9tIEVOUi5cbiAgICAgKi9cbiAgICBnZXQgd2FrdTIoKSB7XG4gICAgICAgIGNvbnN0IHJhdyA9IHRoaXMuZ2V0KFwid2FrdTJcIik7XG4gICAgICAgIGlmIChyYXcpXG4gICAgICAgICAgICByZXR1cm4gZGVjb2RlV2FrdTIocmF3WzBdKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGB3YWt1MmAgZmllbGQgb24gdGhlIEVOUi5cbiAgICAgKi9cbiAgICBzZXQgd2FrdTIod2FrdTIpIHtcbiAgICAgICAgZGVsZXRlVW5kZWZpbmVkKHRoaXMsIFwid2FrdTJcIiwgd2FrdTIsICh3KSA9PiBuZXcgVWludDhBcnJheShbZW5jb2RlV2FrdTIodyldKSk7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0U3RyaW5nVmFsdWUobWFwLCBrZXksIHByb3RvKSB7XG4gICAgY29uc3QgcmF3ID0gbWFwLmdldChrZXkpO1xuICAgIGlmICghcmF3KVxuICAgICAgICByZXR1cm47XG4gICAgcmV0dXJuIGNvbnZlcnRUb1N0cmluZyhwcm90bywgcmF3KTtcbn1cbmZ1bmN0aW9uIGdldE51bWJlckFzU3RyaW5nVmFsdWUobWFwLCBrZXksIHByb3RvKSB7XG4gICAgY29uc3QgcmF3ID0gbWFwLmdldChrZXkpO1xuICAgIGlmICghcmF3KVxuICAgICAgICByZXR1cm47XG4gICAgcmV0dXJuIE51bWJlcihjb252ZXJ0VG9TdHJpbmcocHJvdG8sIHJhdykpO1xufVxuZnVuY3Rpb24gc2V0U3RyaW5nVmFsdWUobWFwLCBrZXksIHByb3RvLCB2YWx1ZSkge1xuICAgIGRlbGV0ZVVuZGVmaW5lZChtYXAsIGtleSwgdmFsdWUsIGNvbnZlcnRUb0J5dGVzLmJpbmQoe30sIHByb3RvKSk7XG59XG5mdW5jdGlvbiBzZXROdW1iZXJBc1N0cmluZ1ZhbHVlKG1hcCwga2V5LCBwcm90bywgdmFsdWUpIHtcbiAgICBzZXRTdHJpbmdWYWx1ZShtYXAsIGtleSwgcHJvdG8sIHZhbHVlPy50b1N0cmluZygxMCkpO1xufVxuZnVuY3Rpb24gZGVsZXRlVW5kZWZpbmVkKG1hcCwga2V5LCB2YWx1ZSwgdHJhbnNmb3JtKSB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbWFwLnNldChrZXksIHRyYW5zZm9ybSh2YWx1ZSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbWFwLmRlbGV0ZShrZXkpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJhd19lbnIuanMubWFwIl0sIm5hbWVzIjpbImNvbnZlcnRUb0J5dGVzIiwiY29udmVydFRvU3RyaW5nIiwiZGVjb2RlUmVsYXlTaGFyZCIsImJ5dGVzVG9VdGY4IiwiRVJSX0lOVkFMSURfSUQiLCJkZWNvZGVNdWx0aWFkZHJzIiwiZW5jb2RlTXVsdGlhZGRycyIsImRlY29kZVdha3UyIiwiZW5jb2RlV2FrdTIiLCJSYXdFbnIiLCJNYXAiLCJjb25zdHJ1Y3RvciIsImt2cyIsInNlcSIsIkJpZ0ludCIsInNpZ25hdHVyZSIsIk9iamVjdCIsImVudHJpZXMiLCJzZXQiLCJrIiwidiIsInVuZGVmaW5lZCIsImlkIiwiZ2V0IiwiRXJyb3IiLCJwdWJsaWNLZXkiLCJycyIsInJzdiIsImlwIiwiZ2V0U3RyaW5nVmFsdWUiLCJzZXRTdHJpbmdWYWx1ZSIsInRjcCIsImdldE51bWJlckFzU3RyaW5nVmFsdWUiLCJwb3J0Iiwic2V0TnVtYmVyQXNTdHJpbmdWYWx1ZSIsInVkcCIsImlwNiIsInRjcDYiLCJ1ZHA2IiwibXVsdGlhZGRycyIsInJhdyIsImRlbGV0ZVVuZGVmaW5lZCIsIndha3UyIiwidyIsIlVpbnQ4QXJyYXkiLCJtYXAiLCJrZXkiLCJwcm90byIsIk51bWJlciIsInZhbHVlIiwiYmluZCIsInRvU3RyaW5nIiwidHJhbnNmb3JtIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/raw_enr.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/v4.js":
/*!************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/v4.js ***!
\************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ nodeId: () => (/* binding */ nodeId),\n/* harmony export */ sign: () => (/* binding */ sign)\n/* harmony export */ });\n/* harmony import */ var _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @noble/secp256k1 */ \"(ssr)/./node_modules/@noble/secp256k1/lib/esm/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var _crypto_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./crypto.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/crypto.js\");\n\n\n\nasync function sign(privKey, msg) {\n return _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__.sign((0,_crypto_js__WEBPACK_IMPORTED_MODULE_2__.keccak256)(msg), privKey, {\n der: false\n });\n}\nfunction nodeId(pubKey) {\n const publicKey = _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__.Point.fromHex(pubKey);\n const uncompressedPubkey = publicKey.toRawBytes(false);\n return (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.bytesToHex)((0,_crypto_js__WEBPACK_IMPORTED_MODULE_2__.keccak256)(uncompressedPubkey.slice(1)));\n} //# sourceMappingURL=v4.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC92NC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUF5QztBQUNNO0FBQ1A7QUFDakMsZUFBZUcsS0FBS0MsT0FBTyxFQUFFQyxHQUFHO0lBQ25DLE9BQU9MLGtEQUFTLENBQUNFLHFEQUFTQSxDQUFDRyxNQUFNRCxTQUFTO1FBQ3RDRSxLQUFLO0lBQ1Q7QUFDSjtBQUNPLFNBQVNDLE9BQU9DLE1BQU07SUFDekIsTUFBTUMsWUFBWVQsbURBQVUsQ0FBQ1csT0FBTyxDQUFDSDtJQUNyQyxNQUFNSSxxQkFBcUJILFVBQVVJLFVBQVUsQ0FBQztJQUNoRCxPQUFPWiw2REFBVUEsQ0FBQ0MscURBQVNBLENBQUNVLG1CQUFtQkUsS0FBSyxDQUFDO0FBQ3pELEVBQ0EsOEJBQThCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC92NC5qcz9hMzVhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHNlY3AgZnJvbSBcIkBub2JsZS9zZWNwMjU2azFcIjtcbmltcG9ydCB7IGJ5dGVzVG9IZXggfSBmcm9tIFwiQHdha3UvdXRpbHMvYnl0ZXNcIjtcbmltcG9ydCB7IGtlY2NhazI1NiB9IGZyb20gXCIuL2NyeXB0by5qc1wiO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ24ocHJpdktleSwgbXNnKSB7XG4gICAgcmV0dXJuIHNlY3Auc2lnbihrZWNjYWsyNTYobXNnKSwgcHJpdktleSwge1xuICAgICAgICBkZXI6IGZhbHNlXG4gICAgfSk7XG59XG5leHBvcnQgZnVuY3Rpb24gbm9kZUlkKHB1YktleSkge1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IHNlY3AuUG9pbnQuZnJvbUhleChwdWJLZXkpO1xuICAgIGNvbnN0IHVuY29tcHJlc3NlZFB1YmtleSA9IHB1YmxpY0tleS50b1Jhd0J5dGVzKGZhbHNlKTtcbiAgICByZXR1cm4gYnl0ZXNUb0hleChrZWNjYWsyNTYodW5jb21wcmVzc2VkUHVia2V5LnNsaWNlKDEpKSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD12NC5qcy5tYXAiXSwibmFtZXMiOlsic2VjcCIsImJ5dGVzVG9IZXgiLCJrZWNjYWsyNTYiLCJzaWduIiwicHJpdktleSIsIm1zZyIsImRlciIsIm5vZGVJZCIsInB1YktleSIsInB1YmxpY0tleSIsIlBvaW50IiwiZnJvbUhleCIsInVuY29tcHJlc3NlZFB1YmtleSIsInRvUmF3Qnl0ZXMiLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/v4.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/waku2_codec.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/enr/dist/waku2_codec.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeWaku2: () => (/* binding */ decodeWaku2),\n/* harmony export */ encodeWaku2: () => (/* binding */ encodeWaku2)\n/* harmony export */ });\nfunction encodeWaku2(protocols) {\n let byte = 0;\n if (protocols.lightPush) byte += 1;\n byte = byte << 1;\n if (protocols.filter) byte += 1;\n byte = byte << 1;\n if (protocols.store) byte += 1;\n byte = byte << 1;\n if (protocols.relay) byte += 1;\n return byte;\n}\nfunction decodeWaku2(byte) {\n const waku2 = {\n relay: false,\n store: false,\n filter: false,\n lightPush: false\n };\n if (byte % 2) waku2.relay = true;\n byte = byte >> 1;\n if (byte % 2) waku2.store = true;\n byte = byte >> 1;\n if (byte % 2) waku2.filter = true;\n byte = byte >> 1;\n if (byte % 2) waku2.lightPush = true;\n return waku2;\n} //# sourceMappingURL=waku2_codec.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC93YWt1Ml9jb2RlYy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPLFNBQVNBLFlBQVlDLFNBQVM7SUFDakMsSUFBSUMsT0FBTztJQUNYLElBQUlELFVBQVVFLFNBQVMsRUFDbkJELFFBQVE7SUFDWkEsT0FBT0EsUUFBUTtJQUNmLElBQUlELFVBQVVHLE1BQU0sRUFDaEJGLFFBQVE7SUFDWkEsT0FBT0EsUUFBUTtJQUNmLElBQUlELFVBQVVJLEtBQUssRUFDZkgsUUFBUTtJQUNaQSxPQUFPQSxRQUFRO0lBQ2YsSUFBSUQsVUFBVUssS0FBSyxFQUNmSixRQUFRO0lBQ1osT0FBT0E7QUFDWDtBQUNPLFNBQVNLLFlBQVlMLElBQUk7SUFDNUIsTUFBTU0sUUFBUTtRQUNWRixPQUFPO1FBQ1BELE9BQU87UUFDUEQsUUFBUTtRQUNSRCxXQUFXO0lBQ2Y7SUFDQSxJQUFJRCxPQUFPLEdBQ1BNLE1BQU1GLEtBQUssR0FBRztJQUNsQkosT0FBT0EsUUFBUTtJQUNmLElBQUlBLE9BQU8sR0FDUE0sTUFBTUgsS0FBSyxHQUFHO0lBQ2xCSCxPQUFPQSxRQUFRO0lBQ2YsSUFBSUEsT0FBTyxHQUNQTSxNQUFNSixNQUFNLEdBQUc7SUFDbkJGLE9BQU9BLFFBQVE7SUFDZixJQUFJQSxPQUFPLEdBQ1BNLE1BQU1MLFNBQVMsR0FBRztJQUN0QixPQUFPSztBQUNYLEVBQ0EsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9lbnIvZGlzdC93YWt1Ml9jb2RlYy5qcz81MTQ5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBlbmNvZGVXYWt1Mihwcm90b2NvbHMpIHtcbiAgICBsZXQgYnl0ZSA9IDA7XG4gICAgaWYgKHByb3RvY29scy5saWdodFB1c2gpXG4gICAgICAgIGJ5dGUgKz0gMTtcbiAgICBieXRlID0gYnl0ZSA8PCAxO1xuICAgIGlmIChwcm90b2NvbHMuZmlsdGVyKVxuICAgICAgICBieXRlICs9IDE7XG4gICAgYnl0ZSA9IGJ5dGUgPDwgMTtcbiAgICBpZiAocHJvdG9jb2xzLnN0b3JlKVxuICAgICAgICBieXRlICs9IDE7XG4gICAgYnl0ZSA9IGJ5dGUgPDwgMTtcbiAgICBpZiAocHJvdG9jb2xzLnJlbGF5KVxuICAgICAgICBieXRlICs9IDE7XG4gICAgcmV0dXJuIGJ5dGU7XG59XG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlV2FrdTIoYnl0ZSkge1xuICAgIGNvbnN0IHdha3UyID0ge1xuICAgICAgICByZWxheTogZmFsc2UsXG4gICAgICAgIHN0b3JlOiBmYWxzZSxcbiAgICAgICAgZmlsdGVyOiBmYWxzZSxcbiAgICAgICAgbGlnaHRQdXNoOiBmYWxzZVxuICAgIH07XG4gICAgaWYgKGJ5dGUgJSAyKVxuICAgICAgICB3YWt1Mi5yZWxheSA9IHRydWU7XG4gICAgYnl0ZSA9IGJ5dGUgPj4gMTtcbiAgICBpZiAoYnl0ZSAlIDIpXG4gICAgICAgIHdha3UyLnN0b3JlID0gdHJ1ZTtcbiAgICBieXRlID0gYnl0ZSA+PiAxO1xuICAgIGlmIChieXRlICUgMilcbiAgICAgICAgd2FrdTIuZmlsdGVyID0gdHJ1ZTtcbiAgICBieXRlID0gYnl0ZSA+PiAxO1xuICAgIGlmIChieXRlICUgMilcbiAgICAgICAgd2FrdTIubGlnaHRQdXNoID0gdHJ1ZTtcbiAgICByZXR1cm4gd2FrdTI7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YWt1Ml9jb2RlYy5qcy5tYXAiXSwibmFtZXMiOlsiZW5jb2RlV2FrdTIiLCJwcm90b2NvbHMiLCJieXRlIiwibGlnaHRQdXNoIiwiZmlsdGVyIiwic3RvcmUiLCJyZWxheSIsImRlY29kZVdha3UyIiwid2FrdTIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/enr/dist/waku2_codec.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/connection_manager.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/connection_manager.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EConnectionStateEvents: () => (/* binding */ EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* binding */ EPeersByDiscoveryEvents),\n/* harmony export */ Tags: () => (/* binding */ Tags)\n/* harmony export */ });\nvar Tags;\n(function(Tags) {\n Tags[\"BOOTSTRAP\"] = \"bootstrap\";\n Tags[\"PEER_EXCHANGE\"] = \"peer-exchange\";\n Tags[\"LOCAL\"] = \"local-peer-cache\";\n})(Tags || (Tags = {}));\nvar EPeersByDiscoveryEvents;\n(function(EPeersByDiscoveryEvents) {\n EPeersByDiscoveryEvents[\"PEER_DISCOVERY_BOOTSTRAP\"] = \"peer:discovery:bootstrap\";\n EPeersByDiscoveryEvents[\"PEER_DISCOVERY_PEER_EXCHANGE\"] = \"peer:discovery:peer-exchange\";\n EPeersByDiscoveryEvents[\"PEER_CONNECT_BOOTSTRAP\"] = \"peer:connected:bootstrap\";\n EPeersByDiscoveryEvents[\"PEER_CONNECT_PEER_EXCHANGE\"] = \"peer:connected:peer-exchange\";\n})(EPeersByDiscoveryEvents || (EPeersByDiscoveryEvents = {}));\nvar EConnectionStateEvents;\n(function(EConnectionStateEvents) {\n EConnectionStateEvents[\"CONNECTION_STATUS\"] = \"waku:connection\";\n})(EConnectionStateEvents || (EConnectionStateEvents = {})); //# sourceMappingURL=connection_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvY29ubmVjdGlvbl9tYW5hZ2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLElBQUlBLEtBQUs7QUFDZixVQUFVQSxJQUFJO0lBQ1hBLElBQUksQ0FBQyxZQUFZLEdBQUc7SUFDcEJBLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztJQUN4QkEsSUFBSSxDQUFDLFFBQVEsR0FBRztBQUNwQixHQUFHQSxRQUFTQSxDQUFBQSxPQUFPLENBQUM7QUFDYixJQUFJQyx3QkFBd0I7QUFDbEMsVUFBVUEsdUJBQXVCO0lBQzlCQSx1QkFBdUIsQ0FBQywyQkFBMkIsR0FBRztJQUN0REEsdUJBQXVCLENBQUMsK0JBQStCLEdBQUc7SUFDMURBLHVCQUF1QixDQUFDLHlCQUF5QixHQUFHO0lBQ3BEQSx1QkFBdUIsQ0FBQyw2QkFBNkIsR0FBRztBQUM1RCxHQUFHQSwyQkFBNEJBLENBQUFBLDBCQUEwQixDQUFDO0FBQ25ELElBQUlDLHVCQUF1QjtBQUNqQyxVQUFVQSxzQkFBc0I7SUFDN0JBLHNCQUFzQixDQUFDLG9CQUFvQixHQUFHO0FBQ2xELEdBQUdBLDBCQUEyQkEsQ0FBQUEseUJBQXlCLENBQUMsS0FDeEQsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvY29ubmVjdGlvbl9tYW5hZ2VyLmpzPzFhODgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHZhciBUYWdzO1xuKGZ1bmN0aW9uIChUYWdzKSB7XG4gICAgVGFnc1tcIkJPT1RTVFJBUFwiXSA9IFwiYm9vdHN0cmFwXCI7XG4gICAgVGFnc1tcIlBFRVJfRVhDSEFOR0VcIl0gPSBcInBlZXItZXhjaGFuZ2VcIjtcbiAgICBUYWdzW1wiTE9DQUxcIl0gPSBcImxvY2FsLXBlZXItY2FjaGVcIjtcbn0pKFRhZ3MgfHwgKFRhZ3MgPSB7fSkpO1xuZXhwb3J0IHZhciBFUGVlcnNCeURpc2NvdmVyeUV2ZW50cztcbihmdW5jdGlvbiAoRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHMpIHtcbiAgICBFUGVlcnNCeURpc2NvdmVyeUV2ZW50c1tcIlBFRVJfRElTQ09WRVJZX0JPT1RTVFJBUFwiXSA9IFwicGVlcjpkaXNjb3Zlcnk6Ym9vdHN0cmFwXCI7XG4gICAgRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHNbXCJQRUVSX0RJU0NPVkVSWV9QRUVSX0VYQ0hBTkdFXCJdID0gXCJwZWVyOmRpc2NvdmVyeTpwZWVyLWV4Y2hhbmdlXCI7XG4gICAgRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHNbXCJQRUVSX0NPTk5FQ1RfQk9PVFNUUkFQXCJdID0gXCJwZWVyOmNvbm5lY3RlZDpib290c3RyYXBcIjtcbiAgICBFUGVlcnNCeURpc2NvdmVyeUV2ZW50c1tcIlBFRVJfQ09OTkVDVF9QRUVSX0VYQ0hBTkdFXCJdID0gXCJwZWVyOmNvbm5lY3RlZDpwZWVyLWV4Y2hhbmdlXCI7XG59KShFUGVlcnNCeURpc2NvdmVyeUV2ZW50cyB8fCAoRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHMgPSB7fSkpO1xuZXhwb3J0IHZhciBFQ29ubmVjdGlvblN0YXRlRXZlbnRzO1xuKGZ1bmN0aW9uIChFQ29ubmVjdGlvblN0YXRlRXZlbnRzKSB7XG4gICAgRUNvbm5lY3Rpb25TdGF0ZUV2ZW50c1tcIkNPTk5FQ1RJT05fU1RBVFVTXCJdID0gXCJ3YWt1OmNvbm5lY3Rpb25cIjtcbn0pKEVDb25uZWN0aW9uU3RhdGVFdmVudHMgfHwgKEVDb25uZWN0aW9uU3RhdGVFdmVudHMgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29ubmVjdGlvbl9tYW5hZ2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJUYWdzIiwiRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHMiLCJFQ29ubmVjdGlvblN0YXRlRXZlbnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/connection_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/constants.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/constants.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* binding */ DEFAULT_CLUSTER_ID),\n/* harmony export */ DefaultPubsubTopic: () => (/* binding */ DefaultPubsubTopic)\n/* harmony export */ });\n/**\n * DefaultPubsubTopic is the default gossipsub topic to use for Waku.\n */ const DefaultPubsubTopic = \"/waku/2/default-waku/proto\";\n/**\n * The default cluster ID for The Waku Network\n */ const DEFAULT_CLUSTER_ID = 1; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7O0NBRUMsR0FDTSxNQUFNQSxxQkFBcUIsNkJBQTZCO0FBQy9EOztDQUVDLEdBQ00sTUFBTUMscUJBQXFCLEVBQUUsQ0FDcEMscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvY29uc3RhbnRzLmpzPzNjYWEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEZWZhdWx0UHVic3ViVG9waWMgaXMgdGhlIGRlZmF1bHQgZ29zc2lwc3ViIHRvcGljIHRvIHVzZSBmb3IgV2FrdS5cbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRQdWJzdWJUb3BpYyA9IFwiL3dha3UvMi9kZWZhdWx0LXdha3UvcHJvdG9cIjtcbi8qKlxuICogVGhlIGRlZmF1bHQgY2x1c3RlciBJRCBmb3IgVGhlIFdha3UgTmV0d29ya1xuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DTFVTVEVSX0lEID0gMTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOlsiRGVmYXVsdFB1YnN1YlRvcGljIiwiREVGQVVMVF9DTFVTVEVSX0lEIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/constants.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/dns_discovery.js":
/*!******************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/dns_discovery.js ***!
\******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=dns_discovery.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvZG5zX2Rpc2NvdmVyeS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVix5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9kbnNfZGlzY292ZXJ5LmpzP2ZlMzgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZG5zX2Rpc2NvdmVyeS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/dns_discovery.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/enr.js":
/*!********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/enr.js ***!
\********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=enr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvZW5yLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLCtCQUErQiIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2Vuci5qcz80ZWY1Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/enr.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/filter.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/filter.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvZmlsdGVyLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2ZpbHRlci5qcz8wNTU0Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZpbHRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/filter.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/index.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/index.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_17__.DEFAULT_CLUSTER_ID),\n/* harmony export */ DefaultPubsubTopic: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_17__.DefaultPubsubTopic),\n/* harmony export */ EConnectionStateEvents: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.EPeersByDiscoveryEvents),\n/* harmony export */ PageDirection: () => (/* reexport safe */ _store_js__WEBPACK_IMPORTED_MODULE_7__.PageDirection),\n/* harmony export */ ProtocolError: () => (/* reexport safe */ _protocols_js__WEBPACK_IMPORTED_MODULE_5__.ProtocolError),\n/* harmony export */ Protocols: () => (/* reexport safe */ _protocols_js__WEBPACK_IMPORTED_MODULE_5__.Protocols),\n/* harmony export */ Tags: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.Tags)\n/* harmony export */ });\n/* harmony import */ var _enr_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enr.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/enr.js\");\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./filter.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/filter.js\");\n/* harmony import */ var _light_push_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./light_push.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/light_push.js\");\n/* harmony import */ var _message_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./message.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/message.js\");\n/* harmony import */ var _peer_exchange_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./peer_exchange.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/peer_exchange.js\");\n/* harmony import */ var _protocols_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protocols.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/protocols.js\");\n/* harmony import */ var _relay_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./relay.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/relay.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./store.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/store.js\");\n/* harmony import */ var _waku_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./waku.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/waku.js\");\n/* harmony import */ var _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./connection_manager.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/connection_manager.js\");\n/* harmony import */ var _sender_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./sender.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/sender.js\");\n/* harmony import */ var _receiver_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./receiver.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/receiver.js\");\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./misc.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/misc.js\");\n/* harmony import */ var _libp2p_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./libp2p.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/libp2p.js\");\n/* harmony import */ var _keep_alive_manager_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./keep_alive_manager.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/keep_alive_manager.js\");\n/* harmony import */ var _dns_discovery_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./dns_discovery.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/dns_discovery.js\");\n/* harmony import */ var _metadata_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./metadata.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/metadata.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/constants.js\");\n/* harmony import */ var _local_storage_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./local_storage.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/local_storage.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXlCO0FBQ0c7QUFDSTtBQUNIO0FBQ007QUFDSjtBQUNKO0FBQ0E7QUFDRDtBQUNjO0FBQ1o7QUFDRTtBQUNKO0FBQ0U7QUFDWTtBQUNMO0FBQ0w7QUFDQztBQUNJLENBQ25DLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2luZGV4LmpzPzJkNTUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZW5yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maWx0ZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpZ2h0X3B1c2guanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lc3NhZ2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BlZXJfZXhjaGFuZ2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3RvY29scy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVsYXkuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0b3JlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93YWt1LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25uZWN0aW9uX21hbmFnZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlbmRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVjZWl2ZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pc2MuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYnAycC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4va2VlcF9hbGl2ZV9tYW5hZ2VyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kbnNfZGlzY292ZXJ5LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZXRhZGF0YS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2NhbF9zdG9yYWdlLmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/keep_alive_manager.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/keep_alive_manager.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=keep_alive_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qva2VlcF9hbGl2ZV9tYW5hZ2VyLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2tlZXBfYWxpdmVfbWFuYWdlci5qcz9iMmY0Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWtlZXBfYWxpdmVfbWFuYWdlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/keep_alive_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/libp2p.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/libp2p.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=libp2p.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbGlicDJwLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2xpYnAycC5qcz9mYWMzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpYnAycC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/libp2p.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/light_push.js":
/*!***************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/light_push.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=light_push.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbGlnaHRfcHVzaC5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9saWdodF9wdXNoLmpzPzQyMTgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGlnaHRfcHVzaC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/light_push.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/local_storage.js":
/*!******************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/local_storage.js ***!
\******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=local_storage.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbG9jYWxfc3RvcmFnZS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVix5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9sb2NhbF9zdG9yYWdlLmpzP2I5ZmMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bG9jYWxfc3RvcmFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/local_storage.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/message.js":
/*!************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/message.js ***!
\************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWVzc2FnZS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9tZXNzYWdlLmpzPzY1NjIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVzc2FnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/metadata.js":
/*!*************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/metadata.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=metadata.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWV0YWRhdGEuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWV0YWRhdGEuanM/NTU2MCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tZXRhZGF0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/metadata.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/misc.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/misc.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=misc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWlzYy5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9taXNjLmpzPzhmMzIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWlzYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/misc.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/peer_exchange.js":
/*!******************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/peer_exchange.js ***!
\******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=peer_exchange.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcGVlcl9leGNoYW5nZS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVix5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9wZWVyX2V4Y2hhbmdlLmpzP2JkNTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGVlcl9leGNoYW5nZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/peer_exchange.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/protocols.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/protocols.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ProtocolError: () => (/* binding */ ProtocolError),\n/* harmony export */ Protocols: () => (/* binding */ Protocols)\n/* harmony export */ });\nvar Protocols;\n(function(Protocols) {\n Protocols[\"Relay\"] = \"relay\";\n Protocols[\"Store\"] = \"store\";\n Protocols[\"LightPush\"] = \"lightpush\";\n Protocols[\"Filter\"] = \"filter\";\n})(Protocols || (Protocols = {}));\nvar ProtocolError;\n(function(ProtocolError) {\n /** Could not determine the origin of the fault. Best to check connectivity and try again */ ProtocolError[\"GENERIC_FAIL\"] = \"Generic error\";\n /**\n * Failure to protobuf encode the message. This is not recoverable and needs\n * further investigation.\n */ ProtocolError[\"ENCODE_FAILED\"] = \"Failed to encode\";\n /**\n * Failure to protobuf decode the message. May be due to a remote peer issue,\n * ensuring that messages are sent via several peer enable mitigation of this error.\n */ ProtocolError[\"DECODE_FAILED\"] = \"Failed to decode\";\n /**\n * The message payload is empty, making the message invalid. Ensure that a non-empty\n * payload is set on the outgoing message.\n */ ProtocolError[\"EMPTY_PAYLOAD\"] = \"Payload is empty\";\n /**\n * The message size is above the maximum message size allowed on the Waku Network.\n * Compressing the message or using an alternative strategy for large messages is recommended.\n */ ProtocolError[\"SIZE_TOO_BIG\"] = \"Size is too big\";\n /**\n * The PubsubTopic passed to the send function is not configured on the Waku node.\n * Please ensure that the PubsubTopic is used when initializing the Waku node.\n */ ProtocolError[\"TOPIC_NOT_CONFIGURED\"] = \"Topic not configured\";\n /**\n * Failure to find a peer with suitable protocols. This may due to a connection issue.\n * Mitigation can be: retrying after a given time period, display connectivity issue\n * to user or listening for `peer:connected:bootstrap` or `peer:connected:peer-exchange`\n * on the connection manager before retrying.\n */ ProtocolError[\"NO_PEER_AVAILABLE\"] = \"No peer available\";\n /**\n * The remote peer did not behave as expected. Mitigation for `NO_PEER_AVAILABLE`\n * or `DECODE_FAILED` can be used.\n */ ProtocolError[\"REMOTE_PEER_FAULT\"] = \"Remote peer fault\";\n /**\n * The remote peer rejected the message. Information provided by the remote peer\n * is logged. Review message validity, or mitigation for `NO_PEER_AVAILABLE`\n * or `DECODE_FAILED` can be used.\n */ ProtocolError[\"REMOTE_PEER_REJECTED\"] = \"Remote peer rejected\";\n /**\n * The protocol request timed out without a response. This may be due to a connection issue.\n * Mitigation can be: retrying after a given time period\n */ ProtocolError[\"REQUEST_TIMEOUT\"] = \"Request timeout\";\n})(ProtocolError || (ProtocolError = {})); //# sourceMappingURL=protocols.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcHJvdG9jb2xzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU8sSUFBSUEsVUFBVTtBQUNwQixVQUFVQSxTQUFTO0lBQ2hCQSxTQUFTLENBQUMsUUFBUSxHQUFHO0lBQ3JCQSxTQUFTLENBQUMsUUFBUSxHQUFHO0lBQ3JCQSxTQUFTLENBQUMsWUFBWSxHQUFHO0lBQ3pCQSxTQUFTLENBQUMsU0FBUyxHQUFHO0FBQzFCLEdBQUdBLGFBQWNBLENBQUFBLFlBQVksQ0FBQztBQUN2QixJQUFJQyxjQUFjO0FBQ3hCLFVBQVVBLGFBQWE7SUFDcEIsMEZBQTBGLEdBQzFGQSxhQUFhLENBQUMsZUFBZSxHQUFHO0lBQ2hDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsZ0JBQWdCLEdBQUc7SUFDakM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRztJQUNqQzs7O0tBR0MsR0FDREEsYUFBYSxDQUFDLGdCQUFnQixHQUFHO0lBQ2pDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsZUFBZSxHQUFHO0lBQ2hDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsdUJBQXVCLEdBQUc7SUFDeEM7Ozs7O0tBS0MsR0FDREEsYUFBYSxDQUFDLG9CQUFvQixHQUFHO0lBQ3JDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsb0JBQW9CLEdBQUc7SUFDckM7Ozs7S0FJQyxHQUNEQSxhQUFhLENBQUMsdUJBQXVCLEdBQUc7SUFDeEM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxrQkFBa0IsR0FBRztBQUN2QyxHQUFHQSxpQkFBa0JBLENBQUFBLGdCQUFnQixDQUFDLEtBQ3RDLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3Byb3RvY29scy5qcz80ODUwIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgUHJvdG9jb2xzO1xuKGZ1bmN0aW9uIChQcm90b2NvbHMpIHtcbiAgICBQcm90b2NvbHNbXCJSZWxheVwiXSA9IFwicmVsYXlcIjtcbiAgICBQcm90b2NvbHNbXCJTdG9yZVwiXSA9IFwic3RvcmVcIjtcbiAgICBQcm90b2NvbHNbXCJMaWdodFB1c2hcIl0gPSBcImxpZ2h0cHVzaFwiO1xuICAgIFByb3RvY29sc1tcIkZpbHRlclwiXSA9IFwiZmlsdGVyXCI7XG59KShQcm90b2NvbHMgfHwgKFByb3RvY29scyA9IHt9KSk7XG5leHBvcnQgdmFyIFByb3RvY29sRXJyb3I7XG4oZnVuY3Rpb24gKFByb3RvY29sRXJyb3IpIHtcbiAgICAvKiogQ291bGQgbm90IGRldGVybWluZSB0aGUgb3JpZ2luIG9mIHRoZSBmYXVsdC4gQmVzdCB0byBjaGVjayBjb25uZWN0aXZpdHkgYW5kIHRyeSBhZ2FpbiAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJHRU5FUklDX0ZBSUxcIl0gPSBcIkdlbmVyaWMgZXJyb3JcIjtcbiAgICAvKipcbiAgICAgKiBGYWlsdXJlIHRvIHByb3RvYnVmIGVuY29kZSB0aGUgbWVzc2FnZS4gVGhpcyBpcyBub3QgcmVjb3ZlcmFibGUgYW5kIG5lZWRzXG4gICAgICogZnVydGhlciBpbnZlc3RpZ2F0aW9uLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJFTkNPREVfRkFJTEVEXCJdID0gXCJGYWlsZWQgdG8gZW5jb2RlXCI7XG4gICAgLyoqXG4gICAgICogRmFpbHVyZSB0byBwcm90b2J1ZiBkZWNvZGUgdGhlIG1lc3NhZ2UuIE1heSBiZSBkdWUgdG8gYSByZW1vdGUgcGVlciBpc3N1ZSxcbiAgICAgKiBlbnN1cmluZyB0aGF0IG1lc3NhZ2VzIGFyZSBzZW50IHZpYSBzZXZlcmFsIHBlZXIgZW5hYmxlIG1pdGlnYXRpb24gb2YgdGhpcyBlcnJvci5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiREVDT0RFX0ZBSUxFRFwiXSA9IFwiRmFpbGVkIHRvIGRlY29kZVwiO1xuICAgIC8qKlxuICAgICAqIFRoZSBtZXNzYWdlIHBheWxvYWQgaXMgZW1wdHksIG1ha2luZyB0aGUgbWVzc2FnZSBpbnZhbGlkLiBFbnN1cmUgdGhhdCBhIG5vbi1lbXB0eVxuICAgICAqIHBheWxvYWQgaXMgc2V0IG9uIHRoZSBvdXRnb2luZyBtZXNzYWdlLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJFTVBUWV9QQVlMT0FEXCJdID0gXCJQYXlsb2FkIGlzIGVtcHR5XCI7XG4gICAgLyoqXG4gICAgICogVGhlIG1lc3NhZ2Ugc2l6ZSBpcyBhYm92ZSB0aGUgbWF4aW11bSBtZXNzYWdlIHNpemUgYWxsb3dlZCBvbiB0aGUgV2FrdSBOZXR3b3JrLlxuICAgICAqIENvbXByZXNzaW5nIHRoZSBtZXNzYWdlIG9yIHVzaW5nIGFuIGFsdGVybmF0aXZlIHN0cmF0ZWd5IGZvciBsYXJnZSBtZXNzYWdlcyBpcyByZWNvbW1lbmRlZC5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiU0laRV9UT09fQklHXCJdID0gXCJTaXplIGlzIHRvbyBiaWdcIjtcbiAgICAvKipcbiAgICAgKiBUaGUgUHVic3ViVG9waWMgcGFzc2VkIHRvIHRoZSBzZW5kIGZ1bmN0aW9uIGlzIG5vdCBjb25maWd1cmVkIG9uIHRoZSBXYWt1IG5vZGUuXG4gICAgICogUGxlYXNlIGVuc3VyZSB0aGF0IHRoZSBQdWJzdWJUb3BpYyBpcyB1c2VkIHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBXYWt1IG5vZGUuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIlRPUElDX05PVF9DT05GSUdVUkVEXCJdID0gXCJUb3BpYyBub3QgY29uZmlndXJlZFwiO1xuICAgIC8qKlxuICAgICAqIEZhaWx1cmUgdG8gZmluZCBhIHBlZXIgd2l0aCBzdWl0YWJsZSBwcm90b2NvbHMuIFRoaXMgbWF5IGR1ZSB0byBhIGNvbm5lY3Rpb24gaXNzdWUuXG4gICAgICogTWl0aWdhdGlvbiBjYW4gYmU6IHJldHJ5aW5nIGFmdGVyIGEgZ2l2ZW4gdGltZSBwZXJpb2QsIGRpc3BsYXkgY29ubmVjdGl2aXR5IGlzc3VlXG4gICAgICogdG8gdXNlciBvciBsaXN0ZW5pbmcgZm9yIGBwZWVyOmNvbm5lY3RlZDpib290c3RyYXBgIG9yIGBwZWVyOmNvbm5lY3RlZDpwZWVyLWV4Y2hhbmdlYFxuICAgICAqIG9uIHRoZSBjb25uZWN0aW9uIG1hbmFnZXIgYmVmb3JlIHJldHJ5aW5nLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJOT19QRUVSX0FWQUlMQUJMRVwiXSA9IFwiTm8gcGVlciBhdmFpbGFibGVcIjtcbiAgICAvKipcbiAgICAgKiBUaGUgcmVtb3RlIHBlZXIgZGlkIG5vdCBiZWhhdmUgYXMgZXhwZWN0ZWQuIE1pdGlnYXRpb24gZm9yIGBOT19QRUVSX0FWQUlMQUJMRWBcbiAgICAgKiBvciBgREVDT0RFX0ZBSUxFRGAgY2FuIGJlIHVzZWQuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIlJFTU9URV9QRUVSX0ZBVUxUXCJdID0gXCJSZW1vdGUgcGVlciBmYXVsdFwiO1xuICAgIC8qKlxuICAgICAqIFRoZSByZW1vdGUgcGVlciByZWplY3RlZCB0aGUgbWVzc2FnZS4gSW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgdGhlIHJlbW90ZSBwZWVyXG4gICAgICogaXMgbG9nZ2VkLiBSZXZpZXcgbWVzc2FnZSB2YWxpZGl0eSwgb3IgbWl0aWdhdGlvbiBmb3IgYE5PX1BFRVJfQVZBSUxBQkxFYFxuICAgICAqIG9yIGBERUNPREVfRkFJTEVEYCBjYW4gYmUgdXNlZC5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiUkVNT1RFX1BFRVJfUkVKRUNURURcIl0gPSBcIlJlbW90ZSBwZWVyIHJlamVjdGVkXCI7XG4gICAgLyoqXG4gICAgICogVGhlIHByb3RvY29sIHJlcXVlc3QgdGltZWQgb3V0IHdpdGhvdXQgYSByZXNwb25zZS4gVGhpcyBtYXkgYmUgZHVlIHRvIGEgY29ubmVjdGlvbiBpc3N1ZS5cbiAgICAgKiBNaXRpZ2F0aW9uIGNhbiBiZTogcmV0cnlpbmcgYWZ0ZXIgYSBnaXZlbiB0aW1lIHBlcmlvZFxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJSRVFVRVNUX1RJTUVPVVRcIl0gPSBcIlJlcXVlc3QgdGltZW91dFwiO1xufSkoUHJvdG9jb2xFcnJvciB8fCAoUHJvdG9jb2xFcnJvciA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcm90b2NvbHMuanMubWFwIl0sIm5hbWVzIjpbIlByb3RvY29scyIsIlByb3RvY29sRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/protocols.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/receiver.js":
/*!*************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/receiver.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=receiver.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcmVjZWl2ZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcmVjZWl2ZXIuanM/OTQzZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWNlaXZlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/receiver.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/relay.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/relay.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=relay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcmVsYXkuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcmVsYXkuanM/ZTdiOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWxheS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/relay.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/sender.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/sender.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=sender.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qvc2VuZGVyLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3NlbmRlci5qcz81ODIzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlbmRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/sender.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/store.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/store.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PageDirection: () => (/* binding */ PageDirection)\n/* harmony export */ });\nvar PageDirection;\n(function(PageDirection) {\n PageDirection[\"BACKWARD\"] = \"backward\";\n PageDirection[\"FORWARD\"] = \"forward\";\n})(PageDirection || (PageDirection = {})); //# sourceMappingURL=store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qvc3RvcmUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPLElBQUlBLGNBQWM7QUFDeEIsVUFBVUEsYUFBYTtJQUNwQkEsYUFBYSxDQUFDLFdBQVcsR0FBRztJQUM1QkEsYUFBYSxDQUFDLFVBQVUsR0FBRztBQUMvQixHQUFHQSxpQkFBa0JBLENBQUFBLGdCQUFnQixDQUFDLEtBQ3RDLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3N0b3JlLmpzPzlmN2IiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHZhciBQYWdlRGlyZWN0aW9uO1xuKGZ1bmN0aW9uIChQYWdlRGlyZWN0aW9uKSB7XG4gICAgUGFnZURpcmVjdGlvbltcIkJBQ0tXQVJEXCJdID0gXCJiYWNrd2FyZFwiO1xuICAgIFBhZ2VEaXJlY3Rpb25bXCJGT1JXQVJEXCJdID0gXCJmb3J3YXJkXCI7XG59KShQYWdlRGlyZWN0aW9uIHx8IChQYWdlRGlyZWN0aW9uID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0b3JlLmpzLm1hcCJdLCJuYW1lcyI6WyJQYWdlRGlyZWN0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/waku.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/waku.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=waku.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qvd2FrdS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC93YWt1LmpzP2ZlZTciXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2FrdS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/interfaces/dist/waku.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/filter.js":
/*!****************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/filter.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterRequest: () => (/* binding */ FilterRequest),\n/* harmony export */ FilterRpc: () => (/* binding */ FilterRpc),\n/* harmony export */ MessagePush: () => (/* binding */ MessagePush),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar FilterRequest;\n(function(FilterRequest) {\n let ContentFilter;\n (function(ContentFilter) {\n let _codec;\n ContentFilter.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(10);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.contentTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n ContentFilter.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, ContentFilter.codec());\n };\n ContentFilter.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, ContentFilter.codec(), opts);\n };\n })(ContentFilter = FilterRequest.ContentFilter || (FilterRequest.ContentFilter = {}));\n let _codec;\n FilterRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.subscribe != null && obj.subscribe !== false) {\n w.uint32(8);\n w.bool(obj.subscribe);\n }\n if (obj.topic != null && obj.topic !== \"\") {\n w.uint32(18);\n w.string(obj.topic);\n }\n if (obj.contentFilters != null) {\n for (const value of obj.contentFilters){\n w.uint32(26);\n FilterRequest.ContentFilter.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n subscribe: false,\n topic: \"\",\n contentFilters: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.subscribe = reader.bool();\n break;\n }\n case 2:\n {\n obj.topic = reader.string();\n break;\n }\n case 3:\n {\n if (opts.limits?.contentFilters != null && obj.contentFilters.length === opts.limits.contentFilters) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"contentFilters\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.contentFilters.push(FilterRequest.ContentFilter.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.contentFilters$\n }));\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterRequest.codec());\n };\n FilterRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterRequest.codec(), opts);\n };\n})(FilterRequest || (FilterRequest = {}));\nvar MessagePush;\n(function(MessagePush) {\n let _codec;\n MessagePush.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.messages != null) {\n for (const value of obj.messages){\n w.uint32(10);\n WakuMessage.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n messages: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"messages\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.messages.push(WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.messages$\n }));\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n MessagePush.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, MessagePush.codec());\n };\n MessagePush.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, MessagePush.codec(), opts);\n };\n})(MessagePush || (MessagePush = {}));\nvar FilterRpc;\n(function(FilterRpc) {\n let _codec;\n FilterRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.request != null) {\n w.uint32(18);\n FilterRequest.codec().encode(obj.request, w);\n }\n if (obj.push != null) {\n w.uint32(26);\n MessagePush.codec().encode(obj.push, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.request = FilterRequest.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.request\n });\n break;\n }\n case 3:\n {\n obj.push = MessagePush.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.push\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterRpc.codec());\n };\n FilterRpc.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterRpc.codec(), opts);\n };\n})(FilterRpc || (FilterRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9maWx0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDMkI7QUFDdEI7QUFDdEQsSUFBSU0sY0FBYztBQUN4QixVQUFVQSxhQUFhO0lBQ3BCLElBQUlDO0lBQ0gsVUFBVUEsYUFBYTtRQUNwQixJQUFJQztRQUNKRCxjQUFjRSxLQUFLLEdBQUc7WUFDbEIsSUFBSUQsVUFBVSxNQUFNO2dCQUNoQkEsU0FBU0wsd0RBQU9BLENBQUMsQ0FBQ08sS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7b0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO3dCQUNoQ0YsRUFBRUcsSUFBSTtvQkFDVjtvQkFDQSxJQUFLSixJQUFJSyxZQUFZLElBQUksUUFBUUwsSUFBSUssWUFBWSxLQUFLLElBQUs7d0JBQ3ZESixFQUFFSyxNQUFNLENBQUM7d0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSUssWUFBWTtvQkFDN0I7b0JBQ0EsSUFBSUgsS0FBS0MsZUFBZSxLQUFLLE9BQU87d0JBQ2hDRixFQUFFTyxNQUFNO29CQUNaO2dCQUNKLEdBQUcsQ0FBQ0MsUUFBUUMsUUFBUVIsT0FBTyxDQUFDLENBQUM7b0JBQ3pCLE1BQU1GLE1BQU07d0JBQ1JLLGNBQWM7b0JBQ2xCO29CQUNBLE1BQU1NLE1BQU1ELFVBQVUsT0FBT0QsT0FBT0csR0FBRyxHQUFHSCxPQUFPSSxHQUFHLEdBQUdIO29CQUN2RCxNQUFPRCxPQUFPSSxHQUFHLEdBQUdGLElBQUs7d0JBQ3JCLE1BQU1HLE1BQU1MLE9BQU9ILE1BQU07d0JBQ3pCLE9BQVFRLFFBQVE7NEJBQ1osS0FBSztnQ0FBRztvQ0FDSmQsSUFBSUssWUFBWSxHQUFHSSxPQUFPRixNQUFN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QUFHZixlQUFlbkMsS0FBSyxHQUFHa0IsTUFBTSxDQUFDUixRQUFRQSxPQUFPSCxNQUFNLElBQUk7b0NBQ3hFa0IsUUFBUXRCLEtBQUtzQixNQUFNLEVBQUV5QjtnQ0FDekI7Z0NBQ0E7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTGpELElBQUlrRCxTQUFTLEdBQUd6QyxPQUFPVyxJQUFJO2dDQUMzQjs0QkFDSjt3QkFDQTs0QkFBUztnQ0FDTFgsT0FBT00sUUFBUSxDQUFDRCxNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPZDtZQUNYO1FBQ0o7UUFDQSxPQUFPRjtJQUNYO0lBQ0ErQixZQUFZYixNQUFNLEdBQUcsQ0FBQ2hCO1FBQ2xCLE9BQU9SLDhEQUFhQSxDQUFDUSxLQUFLNkIsWUFBWTlCLEtBQUs7SUFDL0M7SUFDQThCLFlBQVlaLE1BQU0sR0FBRyxDQUFDQyxLQUFLaEI7UUFDdkIsT0FBT1gsOERBQWFBLENBQUMyQixLQUFLVyxZQUFZOUIsS0FBSyxJQUFJRztJQUNuRDtBQUNKLEdBQUcyQixlQUFnQkEsQ0FBQUEsY0FBYyxDQUFDLEtBQ2xDLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9nZW5lcmF0ZWQvZmlsdGVyLmpzPzc0ZTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBDb2RlRXJyb3IsIGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuaW1wb3J0IHsgYWxsb2MgYXMgdWludDhBcnJheUFsbG9jIH0gZnJvbSAndWludDhhcnJheXMvYWxsb2MnO1xuZXhwb3J0IHZhciBGaWx0ZXJSZXF1ZXN0O1xuKGZ1bmN0aW9uIChGaWx0ZXJSZXF1ZXN0KSB7XG4gICAgbGV0IENvbnRlbnRGaWx0ZXI7XG4gICAgKGZ1bmN0aW9uIChDb250ZW50RmlsdGVyKSB7XG4gICAgICAgIGxldCBfY29kZWM7XG4gICAgICAgIENvbnRlbnRGaWx0ZXIuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoKG9iai5jb250ZW50VG9waWMgIT0gbnVsbCAmJiBvYmouY29udGVudFRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICAgICAgfTtcbiAgICAgICAgQ29udGVudEZpbHRlci5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIENvbnRlbnRGaWx0ZXIuY29kZWMoKSk7XG4gICAgICAgIH07XG4gICAgICAgIENvbnRlbnRGaWx0ZXIuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBDb250ZW50RmlsdGVyLmNvZGVjKCksIG9wdHMpO1xuICAgICAgICB9O1xuICAgIH0pKENvbnRlbnRGaWx0ZXIgPSBGaWx0ZXJSZXF1ZXN0LkNvbnRlbnRGaWx0ZXIgfHwgKEZpbHRlclJlcXVlc3QuQ29udGVudEZpbHRlciA9IHt9KSk7XG4gICAgbGV0IF9jb2RlYztcbiAgICBGaWx0ZXJSZXF1ZXN0LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc3Vic2NyaWJlICE9IG51bGwgJiYgb2JqLnN1YnNjcmliZSAhPT0gZmFsc2UpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLnN1YnNjcmliZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnRvcGljICE9IG51bGwgJiYgb2JqLnRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoudG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmNvbnRlbnRGaWx0ZXJzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmouY29udGVudEZpbHRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlclJlcXVlc3QuQ29udGVudEZpbHRlci5jb2RlYygpLmVuY29kZSh2YWx1ZSwgdyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB0b3BpYzogJycsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRGaWx0ZXJzOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc3Vic2NyaWJlID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai50b3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxpbWl0cz8uY29udGVudEZpbHRlcnMgIT0gbnVsbCAmJiBvYmouY29udGVudEZpbHRlcnMubGVuZ3RoID09PSBvcHRzLmxpbWl0cy5jb250ZW50RmlsdGVycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdkZWNvZGUgZXJyb3IgLSBtYXAgZmllbGQgXCJjb250ZW50RmlsdGVyc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudEZpbHRlcnMucHVzaChGaWx0ZXJSZXF1ZXN0LkNvbnRlbnRGaWx0ZXIuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8uY29udGVudEZpbHRlcnMkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEZpbHRlclJlcXVlc3QuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIEZpbHRlclJlcXVlc3QuY29kZWMoKSk7XG4gICAgfTtcbiAgICBGaWx0ZXJSZXF1ZXN0LmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBGaWx0ZXJSZXF1ZXN0LmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShGaWx0ZXJSZXF1ZXN0IHx8IChGaWx0ZXJSZXF1ZXN0ID0ge30pKTtcbmV4cG9ydCB2YXIgTWVzc2FnZVB1c2g7XG4oZnVuY3Rpb24gKE1lc3NhZ2VQdXNoKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBNZXNzYWdlUHVzaC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWVzc2FnZXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5tZXNzYWdlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgV2FrdU1lc3NhZ2UuY29kZWMoKS5lbmNvZGUodmFsdWUsIHcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXM6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxpbWl0cz8ubWVzc2FnZXMgIT0gbnVsbCAmJiBvYmoubWVzc2FnZXMubGVuZ3RoID09PSBvcHRzLmxpbWl0cy5tZXNzYWdlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdkZWNvZGUgZXJyb3IgLSBtYXAgZmllbGQgXCJtZXNzYWdlc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVzc2FnZXMucHVzaChXYWt1TWVzc2FnZS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5tZXNzYWdlcyRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgTWVzc2FnZVB1c2guZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIE1lc3NhZ2VQdXNoLmNvZGVjKCkpO1xuICAgIH07XG4gICAgTWVzc2FnZVB1c2guZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIE1lc3NhZ2VQdXNoLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShNZXNzYWdlUHVzaCB8fCAoTWVzc2FnZVB1c2ggPSB7fSkpO1xuZXhwb3J0IHZhciBGaWx0ZXJScGM7XG4oZnVuY3Rpb24gKEZpbHRlclJwYykge1xuICAgIGxldCBfY29kZWM7XG4gICAgRmlsdGVyUnBjLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmVxdWVzdElkICE9IG51bGwgJiYgb2JqLnJlcXVlc3RJZCAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmVxdWVzdCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgRmlsdGVyUmVxdWVzdC5jb2RlYygpLmVuY29kZShvYmoucmVxdWVzdCwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucHVzaCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVB1c2guY29kZWMoKS5lbmNvZGUob2JqLnB1c2gsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RJZDogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3RJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXF1ZXN0ID0gRmlsdGVyUmVxdWVzdC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5yZXF1ZXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHVzaCA9IE1lc3NhZ2VQdXNoLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnB1c2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBGaWx0ZXJScGMuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIEZpbHRlclJwYy5jb2RlYygpKTtcbiAgICB9O1xuICAgIEZpbHRlclJwYy5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgRmlsdGVyUnBjLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShGaWx0ZXJScGMgfHwgKEZpbHRlclJwYyA9IHt9KSk7XG5leHBvcnQgdmFyIFJhdGVMaW1pdFByb29mO1xuKGZ1bmN0aW9uIChSYXRlTGltaXRQcm9vZikge1xuICAgIGxldCBfY29kZWM7XG4gICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wcm9vZiAhPSBudWxsICYmIG9iai5wcm9vZi5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wcm9vZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm1lcmtsZVJvb3QgIT0gbnVsbCAmJiBvYmoubWVya2xlUm9vdC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5tZXJrbGVSb290KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouZXBvY2ggIT0gbnVsbCAmJiBvYmouZXBvY2guYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouZXBvY2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVggIT0gbnVsbCAmJiBvYmouc2hhcmVYLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWSAhPSBudWxsICYmIG9iai5zaGFyZVkuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDQyKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVZKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubnVsbGlmaWVyICE9IG51bGwgJiYgb2JqLm51bGxpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5udWxsaWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5ybG5JZGVudGlmaWVyICE9IG51bGwgJiYgb2JqLnJsbklkZW50aWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDU4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucmxuSWRlbnRpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvb2Y6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgbWVya2xlUm9vdDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVg6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVZOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBybG5JZGVudGlmaWVyOiB1aW50OEFycmF5QWxsb2MoMClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnByb29mID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwb2NoID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVYID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVsbGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmxuSWRlbnRpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBheWxvYWQgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudGltZXN0YW1wID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmF0ZUxpbWl0UHJvb2ZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1lc3NhZ2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1lc3NhZ2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFdha3VNZXNzYWdlIHx8IChXYWt1TWVzc2FnZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1maWx0ZXIuanMubWFwIl0sIm5hbWVzIjpbIkNvZGVFcnJvciIsImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwibWVzc2FnZSIsImFsbG9jIiwidWludDhBcnJheUFsbG9jIiwiRmlsdGVyUmVxdWVzdCIsIkNvbnRlbnRGaWx0ZXIiLCJfY29kZWMiLCJjb2RlYyIsIm9iaiIsInciLCJvcHRzIiwibGVuZ3RoRGVsaW1pdGVkIiwiZm9yayIsImNvbnRlbnRUb3BpYyIsInVpbnQzMiIsInN0cmluZyIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsImVuZCIsImxlbiIsInBvcyIsInRhZyIsInNraXBUeXBlIiwiZW5jb2RlIiwiZGVjb2RlIiwiYnVmIiwic3Vic2NyaWJlIiwiYm9vbCIsInRvcGljIiwiY29udGVudEZpbHRlcnMiLCJ2YWx1ZSIsImxpbWl0cyIsInB1c2giLCJjb250ZW50RmlsdGVycyQiLCJNZXNzYWdlUHVzaCIsIm1lc3NhZ2VzIiwiV2FrdU1lc3NhZ2UiLCJtZXNzYWdlcyQiLCJGaWx0ZXJScGMiLCJyZXF1ZXN0SWQiLCJyZXF1ZXN0IiwiUmF0ZUxpbWl0UHJvb2YiLCJwcm9vZiIsImJ5dGVMZW5ndGgiLCJieXRlcyIsIm1lcmtsZVJvb3QiLCJlcG9jaCIsInNoYXJlWCIsInNoYXJlWSIsIm51bGxpZmllciIsInJsbklkZW50aWZpZXIiLCJwYXlsb2FkIiwidmVyc2lvbiIsInRpbWVzdGFtcCIsInNpbnQ2NCIsIm1ldGEiLCJyYXRlTGltaXRQcm9vZiIsImVwaGVtZXJhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/filter.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/filter_v2.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/filter_v2.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterSubscribeRequest: () => (/* binding */ FilterSubscribeRequest),\n/* harmony export */ FilterSubscribeResponse: () => (/* binding */ FilterSubscribeResponse),\n/* harmony export */ MessagePush: () => (/* binding */ MessagePush),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar FilterSubscribeRequest;\n(function(FilterSubscribeRequest) {\n let FilterSubscribeType;\n (function(FilterSubscribeType) {\n FilterSubscribeType[\"SUBSCRIBER_PING\"] = \"SUBSCRIBER_PING\";\n FilterSubscribeType[\"SUBSCRIBE\"] = \"SUBSCRIBE\";\n FilterSubscribeType[\"UNSUBSCRIBE\"] = \"UNSUBSCRIBE\";\n FilterSubscribeType[\"UNSUBSCRIBE_ALL\"] = \"UNSUBSCRIBE_ALL\";\n })(FilterSubscribeType = FilterSubscribeRequest.FilterSubscribeType || (FilterSubscribeRequest.FilterSubscribeType = {}));\n let __FilterSubscribeTypeValues;\n (function(__FilterSubscribeTypeValues) {\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"SUBSCRIBER_PING\"] = 0] = \"SUBSCRIBER_PING\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"SUBSCRIBE\"] = 1] = \"SUBSCRIBE\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"UNSUBSCRIBE\"] = 2] = \"UNSUBSCRIBE\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"UNSUBSCRIBE_ALL\"] = 3] = \"UNSUBSCRIBE_ALL\";\n })(__FilterSubscribeTypeValues || (__FilterSubscribeTypeValues = {}));\n (function(FilterSubscribeType) {\n FilterSubscribeType.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__FilterSubscribeTypeValues);\n };\n })(FilterSubscribeType = FilterSubscribeRequest.FilterSubscribeType || (FilterSubscribeRequest.FilterSubscribeType = {}));\n let _codec;\n FilterSubscribeRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.filterSubscribeType != null && __FilterSubscribeTypeValues[obj.filterSubscribeType] !== 0) {\n w.uint32(16);\n FilterSubscribeRequest.FilterSubscribeType.codec().encode(obj.filterSubscribeType, w);\n }\n if (obj.pubsubTopic != null) {\n w.uint32(82);\n w.string(obj.pubsubTopic);\n }\n if (obj.contentTopics != null) {\n for (const value of obj.contentTopics){\n w.uint32(90);\n w.string(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\",\n filterSubscribeType: FilterSubscribeType.SUBSCRIBER_PING,\n contentTopics: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.filterSubscribeType = FilterSubscribeRequest.FilterSubscribeType.codec().decode(reader);\n break;\n }\n case 10:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n case 11:\n {\n if (opts.limits?.contentTopics != null && obj.contentTopics.length === opts.limits.contentTopics) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"contentTopics\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.contentTopics.push(reader.string());\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterSubscribeRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterSubscribeRequest.codec());\n };\n FilterSubscribeRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterSubscribeRequest.codec(), opts);\n };\n})(FilterSubscribeRequest || (FilterSubscribeRequest = {}));\nvar FilterSubscribeResponse;\n(function(FilterSubscribeResponse) {\n let _codec;\n FilterSubscribeResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.statusCode != null && obj.statusCode !== 0) {\n w.uint32(80);\n w.uint32(obj.statusCode);\n }\n if (obj.statusDesc != null) {\n w.uint32(90);\n w.string(obj.statusDesc);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\",\n statusCode: 0\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 10:\n {\n obj.statusCode = reader.uint32();\n break;\n }\n case 11:\n {\n obj.statusDesc = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterSubscribeResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterSubscribeResponse.codec());\n };\n FilterSubscribeResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterSubscribeResponse.codec(), opts);\n };\n})(FilterSubscribeResponse || (FilterSubscribeResponse = {}));\nvar MessagePush;\n(function(MessagePush) {\n let _codec;\n MessagePush.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.wakuMessage != null) {\n w.uint32(10);\n WakuMessage.codec().encode(obj.wakuMessage, w);\n }\n if (obj.pubsubTopic != null) {\n w.uint32(18);\n w.string(obj.pubsubTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.wakuMessage = WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.wakuMessage\n });\n break;\n }\n case 2:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n MessagePush.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, MessagePush.codec());\n };\n MessagePush.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, MessagePush.codec(), opts);\n };\n})(MessagePush || (MessagePush = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=filter_v2.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9maWx0ZXJfdjIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDd0M7QUFDbkM7QUFDdEQsSUFBSU8sdUJBQXVCO0FBQ2pDLFVBQVVBLHNCQUFzQjtJQUM3QixJQUFJQztJQUNILFVBQVVBLG1CQUFtQjtRQUMxQkEsbUJBQW1CLENBQUMsa0JBQWtCLEdBQUc7UUFDekNBLG1CQUFtQixDQUFDLFlBQVksR0FBRztRQUNuQ0EsbUJBQW1CLENBQUMsY0FBYyxHQUFHO1FBQ3JDQSxtQkFBbUIsQ0FBQyxrQkFBa0IsR0FBRztJQUM3QyxHQUFHQSxzQkFBc0JELHVCQUF1QkMsbUJBQW1CLElBQUtELENBQUFBLHVCQUF1QkMsbUJBQW1CLEdBQUcsQ0FBQztJQUN0SCxJQUFJQztJQUNILFVBQVVBLDJCQUEyQjtRQUNsQ0EsMkJBQTJCLENBQUNBLDJCQUEyQixDQUFDLGtCQUFrQixHQUFHLEVBQUUsR0FBRztRQUNsRkEsMkJBQTJCLENBQUNBLDJCQUEyQixDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUc7UUFDNUVBLDJCQUEyQixDQUFDQSwyQkFBMkIsQ0FBQyxjQUFjLEdBQUcsRUFBRSxHQUFHO1FBQzlFQSwyQkFBMkIsQ0FBQ0EsMkJBQTJCLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxHQUFHO0lBQ3RGLEdBQUdBLCtCQUFnQ0EsQ0FBQUEsOEJBQThCLENBQUM7SUFDakUsVUFBVUQsbUJBQW1CO1FBQzFCQSxvQkFBb0JFLEtBQUssR0FBRztZQUN4QixPQUFPUCw0REFBV0EsQ0FBQ007UUFDdkI7SUFDSixHQUFHRCxzQkFBc0JELHVCQUF1QkMsbUJBQW1CLElBQUtELENBQUFBLHVCQUF1QkMsbUJBQW1CLEdBQUcsQ0FBQztJQUN0SCxJQUFJRztJQUNKSix1QkFBdUJHLEtBQUssR0FBRztRQUMzQixJQUFJQyxVQUFVLE1BQU07WUFDaEJBLFNBQVNQLHdEQUFPQSxDQUFDLENBQUNRLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSUssU0FBUyxJQUFJLFFBQVFMLElBQUlLLFNBQVMsS0FBSyxJQUFLO29CQUNqREosRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFTSxNQUFNLENBQUNQLElBQUlLLFNBQVM7Z0JBQzFCO2dCQUNBLElBQUlMLElBQUlRLG1CQUFtQixJQUFJLFFBQVFYLDJCQUEyQixDQUFDRyxJQUFJUSxtQkFBbUIsQ0FBQyxLQUFLLEdBQUc7b0JBQy9GUCxFQUFFSyxNQUFNLENBQUM7b0JBQ1RYLHVCQUF1QkMsbUJBQW1CLENBQUNFLEtBQUssR0FBR1csTUFBTSxDQUFDVCxJQUFJUSxtQkFBbUIsRUFBRVA7Z0JBQ3ZGO2dCQUNBLElBQUlELElBQUlVLFdBQVcsSUFBSSxNQUFNO29CQUN6QlQsRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFTSxNQUFNLENBQUNQLElBQUlVLFdBQVc7Z0JBQzVCO2dCQUNBLElBQUlWLElBQUlXLGFBQWEsSUFBSSxNQUFNO29CQUMzQixLQUFLLE1BQU1DLFNBQVNaLElBQUlXLGFBQWEsQ0FBRTt3QkFDbkNWLEVBQUVLLE1BQU0sQ0FBQzt3QkFDVEwsRUFBRU0sTUFBTSxDQUFDSztvQkFDYjtnQkFDSjtnQkFDQSxJQUFJVixLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVZLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFiLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSSyxXQUFXO29CQUNYRyxxQkFBcUJaLG9CQUFvQm9CLGVBQWU7b0JBQ3hETCxlQUFlLEVBQUU7Z0JBQ3JCO2dCQUNBLE1BQU1NLE1BQU1GLFVBQVUsT0FBT0QsT0FBT0ksR0FBRyxHQUFHSixPQUFPSyxHQUFHLEdBQUdKO2dCQUN2RCxNQUFPRCxPQUFPSyxHQUFHLEdBQUdGLElBQUs7b0JBQ3JCLE1BQU1HLE1BQU1OLE9BQU9SLE1BQU07b0JBQ3pCLE9BQVFjLFFBQVE7d0JBQ1osS0FBSzs0QkFBRztnQ0FDSnBCLElBQUlLLFNBQVMsR0FBR1MsT0FBT1AsTUFBTTtnQ0FDN0I7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBRztnQ0FDSlAsSUFBSVEsbUJBQW1CLEdBQUdiLHVCQUF1QkMsbUJBQW1CLENBQUNFLEtBQUssR0FBR3VCLE1BQU0sQ0FBQ1A7Z0NBQ3BGOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUk7Z0NBQ0xkLElBQUlVLFdBQVcsR0FBR0ksT0FBT1AsTUFBTTtnQ0FDL0I7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTCxJQUFJTCxLQUFLb0IsTUFBTSxFQUFFWCxpQkFBaUIsUUFBUVgsSUFBSVcsYUFBYSxDQUFDSSxNQUFNLEtBQUtiLEtBQUtvQixNQUFNLENBQUNYLGFBQWEsRUFBRTtvQ0FDOUYsTUFBTSxJQUFJdkIsc0RBQVNBLENBQUMsa0VBQWtFO2dDQUMxRjtnQ0FDQVksSUFBSVcsYUFBYSxDQUFDWSxJQUFJLENBQUNULE9BQU9QLE1BQU07Z0NBQ3BDOzRCQUNKO3dCQUNBOzRCQUFTO2dDQUNMTyxPQUFPVSxRQUFRLENBQUNKLE1BQU07Z0NBQ3RCOzRCQUNKO29CQUNKO2dCQUNKO2dCQUNBLE9BQU9wQjtZQUNYO1FBQ0o7UUFDQSxPQUFPRDtJQUNYO0lBQ0FKLHVCQUF1QmMsTUFBTSxHQUFHLENBQUNUO1FBQzdCLE9BQU9WLDhEQUFhQSxDQUFDVSxLQUFLTCx1QkFBdUJHLEtBQUs7SUFDMUQ7SUFDQUgsdUJBQXVCMEIsTUFBTSxHQUFHLENBQUNJLEtBQUt2QjtRQUNsQyxPQUFPYiw4REFBYUEsQ0FBQ29DLEtBQUs5Qix1QkFBdUJHLEtBQUssSUFBSUk7SUFDOUQ7QUFDSixHQUFHUCwwQkFBMkJBLENBQUFBLHlCQUF5QixDQUFDO0FBQ2pELElBQUkrQix3QkFBd0I7QUFDbEMsVUFBVUEsdUJBQXVCO0lBQzlCLElBQUkzQjtJQUNKMkIsd0JBQXdCNUIsS0FBSyxHQUFHO1FBQzVCLElBQUlDLFVBQVUsTUFBTTtZQUNoQkEsU0FBU1Asd0RBQU9BLENBQUMsQ0FBQ1EsS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFLSixJQUFJSyxTQUFTLElBQUksUUFBUUwsSUFBSUssU0FBUyxLQUFLLElBQUs7b0JBQ2pESixFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSUssU0FBUztnQkFDMUI7Z0JBQ0EsSUFBS0wsSUFBSTJCLFVBQVUsSUFBSSxRQUFRM0IsSUFBSTJCLFVBQVUsS0FBSyxHQUFJO29CQUNsRDFCLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRUssTUFBTSxDQUFDTixJQUFJMkIsVUFBVTtnQkFDM0I7Z0JBQ0EsSUFBSTNCLElBQUk0QixVQUFVLElBQUksTUFBTTtvQkFDeEIzQixFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSTRCLFVBQVU7Z0JBQzNCO2dCQUNBLElBQUkxQixLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVZLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFiLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSSyxXQUFXO29CQUNYc0IsWUFBWTtnQkFDaEI7Z0JBQ0EsTUFBTVYsTUFBTUYsVUFBVSxPQUFPRCxPQUFPSSxHQUFHLEdBQUdKLE9BQU9LLEdBQUcsR0FBR0o7Z0JBQ3ZELE1BQU9ELE9BQU9LLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFBTUcsTUFBTU4sT0FBT1IsTUFBTTtvQkFDekIsT0FBUWMsUUFBUTt3QkFDWixLQUFLOzRCQUFHO2dDQUNKcEIsSUFBSUssU0FBUyxHQUFHUyxPQUFPUCxNQUFNO2dDQUM3Qjs0QkFDSjt3QkFDQSxLQUFLOzRCQUFJO2dDQUNMUCxJQUFJMkIsVUFBVSxHQUFHYixPQUFPUixNQUFNO2dDQUM5Qjs0QkFDSjt3QkFDQSxLQUFLOzRCQUFJO2dDQUNMTixJQUFJNEIsVUFBVSxHQUFHZCxPQUFPUCxNQUFNO2dDQUM5Qjs0QkFDSjt3QkFDQTs0QkFBUztnQ0FDTE8sT0FBT1UsUUFBUSxDQUFDSixNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPcEI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Q7SUFDWDtJQUNBMkIsd0JBQXdCakIsTUFBTSxHQUFHLENBQUNUO1FBQzlCLE9BQU9WLDhEQUFhQSxDQUFDVSxLQUFLMEIsd0JBQXdCNUIsS0FBSztJQUMzRDtJQUNBNEIsd0JBQXdCTCxNQUFNLEdBQUcsQ0FBQ0ksS0FBS3ZCO1FBQ25DLE9BQU9iLDhEQUFhQSxDQUFDb0MsS0FBS0Msd0JBQXdCNUIsS0FBSyxJQUFJSTtJQUMvRDtBQUNKLEdBQUd3QiwyQkFBNEJBLENBQUFBLDBCQUEwQixDQUFDO0FBQ25ELElBQUlHLFlBQVk7QUFDdEIsVUFBVUEsV0FBVztJQUNsQixJQUFJOUI7SUFDSjhCLFlBQVkvQixLQUFLLEdBQUc7UUFDaEIsSUFBSUMsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTUCx3REFBT0EsQ0FBQyxDQUFDUSxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUlKLElBQUk4QixXQUFXLElBQUksTUFBTTtvQkFDekI3QixFQUFFSyxNQUFNLENBQUM7b0JBQ1R5QixZQUFZakMsS0FBSyxHQUFHVyxNQUFNLENBQUNULElBQUk4QixXQUFXLEVBQUU3QjtnQkFDaEQ7Z0JBQ0EsSUFBSUQsSUFBSVUsV0FBVyxJQUFJLE1BQU07b0JBQ3pCVCxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSVUsV0FBVztnQkFDNUI7Z0JBQ0EsSUFBSVIsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFWSxNQUFNO2dCQUNaO1lBQ0osR0FBRyxDQUFDQyxRQUFRQyxRQUFRYixPQUFPLENBQUMsQ0FBQztnQkFDekIsTUFBTUYsTUFBTSxDQUFDO2dCQUNiLE1BQU1pQixNQUFNRixVQUFVLE9BQU9ELE9BQU9JLEdBQUcsR0FBR0osT0FBT0ssR0FBRyxHQUFHSjtnQkFDdkQsTUFBT0QsT0FBT0ssR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTixPQUFPUixNQUFNO29CQUN6QixPQUFRYyxRQUFRO3dCQUNaLEtBQUs7NEJBQUc7Z0NBQ0pwQixJQUFJOEIsV0FBVyxHQUFHQyxZQUFZakMsS0FBSyxHQUFHdUIsTUFBTSxDQUFDUCxRQUFRQSxPQUFPUixNQUFNLElBQUk7b0NBQ2xFZ0IsUUFBUXBCLEtBQUtvQixNQUFNLEVBQUVRO2dDQUN6QjtnQ0FDQTs0QkFDSjt3QkFDQSxLQUFLOzRCQUFHO2dDQUNKOUIsSUFBSVUsV0FBVyxHQUFHSSxPQUFPUCxNQUFNO2dDQUMvQjs0QkFDSjt3QkFDQTs0QkFBUztnQ0FDTE8sT0FBT1UsUUFBUSxDQUFDSixNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPcEI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Q7SUFDWDtJQUNBOEIsWUFBWXBCLE1BQU0sR0FBRyxDQUFDVDtRQUNsQixPQUFPViw4REFBYUEsQ0FBQ1UsS0FBSzZCLFlBQVkvQixLQUFLO0lBQy9DO0lBQ0ErQixZQUFZUixNQUFNLEdBQUcsQ0FBQ0ksS0FBS3ZCO1FBQ3ZCLE9BQU9iLDhEQUFhQSxDQUFDb0MsS0FBS0ksWUFBWS9CLEtBQUssSUFBSUk7SUFDbkQ7QUFDSixHQUFHMkIsZUFBZ0JBLENBQUFBLGNBQWMsQ0FBQztBQUMzQixJQUFJRyxlQUFlO0FBQ3pCLFVBQVVBLGNBQWM7SUFDckIsSUFBSWpDO0lBQ0ppQyxlQUFlbEMsS0FBSyxHQUFHO1FBQ25CLElBQUlDLFVBQVUsTUFBTTtZQUNoQkEsU0FBU1Asd0RBQU9BLENBQUMsQ0FBQ1EsS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFLSixJQUFJaUMsS0FBSyxJQUFJLFFBQVFqQyxJQUFJaUMsS0FBSyxDQUFDQyxVQUFVLEdBQUcsR0FBSTtvQkFDakRqQyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVrQyxLQUFLLENBQUNuQyxJQUFJaUMsS0FBSztnQkFDckI7Z0JBQ0EsSUFBS2pDLElBQUlvQyxVQUFVLElBQUksUUFBUXBDLElBQUlvQyxVQUFVLENBQUNGLFVBQVUsR0FBRyxHQUFJO29CQUMzRGpDLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRWtDLEtBQUssQ0FBQ25DLElBQUlvQyxVQUFVO2dCQUMxQjtnQkFDQSxJQUFLcEMsSUFBSXFDLEtBQUssSUFBSSxRQUFRckMsSUFBSXFDLEtBQUssQ0FBQ0gsVUFBVSxHQUFHLEdBQUk7b0JBQ2pEakMsRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFa0MsS0FBSyxDQUFDbkMsSUFBSXFDLEtBQUs7Z0JBQ3JCO2dCQUNBLElBQUtyQyxJQUFJc0MsTUFBTSxJQUFJLFFBQVF0QyxJQUFJc0MsTUFBTSxDQUFDSixVQUFVLEdBQUcsR0FBSTtvQkFDbkRqQyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVrQyxLQUFLLENBQUNuQyxJQUFJc0MsTUFBTTtnQkFDdEI7Z0JBQ0EsSUFBS3RDLElBQUl1QyxNQUFNLElBQUksUUFBUXZDLElBQUl1QyxNQUFNLENBQUNMLFVBQVUsR0FBRyxHQUFJO29CQUNuRGpDLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRWtDLEtBQUssQ0FBQ25DLElBQUl1QyxNQUFNO2dCQUN0QjtnQkFDQSxJQUFLdkMsSUFBSXdDLFNBQVMsSUFBSSxRQUFReEMsSUFBSXdDLFNBQVMsQ0FBQ04sVUFBVSxHQUFHLEdBQUk7b0JBQ3pEakMsRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFa0MsS0FBSyxDQUFDbkMsSUFBSXdDLFNBQVM7Z0JBQ3pCO2dCQUNBLElBQUt4QyxJQUFJeUMsYUFBYSxJQUFJLFFBQVF6QyxJQUFJeUMsYUFBYSxDQUFDUCxVQUFVLEdBQUcsR0FBSTtvQkFDakVqQyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVrQyxLQUFLLENBQUNuQyxJQUFJeUMsYUFBYTtnQkFDN0I7Z0JBQ0EsSUFBSXZDLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRVksTUFBTTtnQkFDWjtZQUNKLEdBQUcsQ0FBQ0MsUUFBUUMsUUFBUWIsT0FBTyxDQUFDLENBQUM7Z0JBQ3pCLE1BQU1GLE1BQU07b0JBQ1JpQyxPQUFPdkMsd0RBQWVBLENBQUM7b0JBQ3ZCMEMsWUFBWTFDLHdEQUFlQSxDQUFDO29CQUM1QjJDLE9BQU8zQyx3REFBZUEsQ0FBQztvQkFDdkI0QyxRQUFRNUMsd0RBQWVBLENBQUM7b0JBQ3hCNkMsUUFBUTdDLHdEQUFlQSxDQUFDO29CQUN4QjhDLFdBQVc5Qyx3REFBZUEsQ0FBQztvQkFDM0IrQyxlQUFlL0Msd0RBQWVBLENBQUM7Z0JBQ25DO2dCQUNBLE1BQU11QixNQUFNRixVQUFVLE9BQU9ELE9BQU9JLEdBQUcsR0FBR0osT0FBT0ssR0FBRyxHQUFHSjtnQkFDdkQsTUFBT0QsT0FBT0ssR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTixPQUFPUixNQUFNO29CQUN6QixPQUFRYyxRQUFRO3dCQUNaLEtBQUs7NEJBQUc7Z0NBQ0pwQixJQUFJaUMsS0FBSyxHQUFHbkIsT0FBT3FCLEtBQUs7Z0NBQ3hCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJb0MsVUFBVSxHQUFHdEIsT0FBT3FCLEtBQUs7Z0NBQzdCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJcUMsS0FBSyxHQUFHdkIsT0FBT3FCLEtBQUs7Z0NBQ3hCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJc0MsTUFBTSxHQUFHeEIsT0FBT3FCLEtBQUs7Z0NBQ3pCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJdUMsTUFBTSxHQUFHekIsT0FBT3FCLEtBQUs7Z0NBQ3pCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJd0MsU0FBUyxHQUFHMUIsT0FBT3FCLEtBQUs7Z0NBQzVCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJeUMsYUFBYSxHQUFHM0IsT0FBT3FCLEtBQUs7Z0NBQ2hDOzRCQUNKO3dCQUNBOzRCQUFTO2dDQUNMckIsT0FBT1UsUUFBUSxDQUFDSixNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPcEI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Q7SUFDWDtJQUNBaUMsZUFBZXZCLE1BQU0sR0FBRyxDQUFDVDtRQUNyQixPQUFPViw4REFBYUEsQ0FBQ1UsS0FBS2dDLGVBQWVsQyxLQUFLO0lBQ2xEO0lBQ0FrQyxlQUFlWCxNQUFNLEdBQUcsQ0FBQ0ksS0FBS3ZCO1FBQzFCLE9BQU9iLDhEQUFhQSxDQUFDb0MsS0FBS08sZUFBZWxDLEtBQUssSUFBSUk7SUFDdEQ7QUFDSixHQUFHOEIsa0JBQW1CQSxDQUFBQSxpQkFBaUIsQ0FBQztBQUNqQyxJQUFJRCxZQUFZO0FBQ3RCLFVBQVVBLFdBQVc7SUFDbEIsSUFBSWhDO0lBQ0pnQyxZQUFZakMsS0FBSyxHQUFHO1FBQ2hCLElBQUlDLFVBQVUsTUFBTTtZQUNoQkEsU0FBU1Asd0RBQU9BLENBQUMsQ0FBQ1EsS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFLSixJQUFJMEMsT0FBTyxJQUFJLFFBQVExQyxJQUFJMEMsT0FBTyxDQUFDUixVQUFVLEdBQUcsR0FBSTtvQkFDckRqQyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVrQyxLQUFLLENBQUNuQyxJQUFJMEMsT0FBTztnQkFDdkI7Z0JBQ0EsSUFBSzFDLElBQUkyQyxZQUFZLElBQUksUUFBUTNDLElBQUkyQyxZQUFZLEtBQUssSUFBSztvQkFDdkQxQyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSTJDLFlBQVk7Z0JBQzdCO2dCQUNBLElBQUkzQyxJQUFJNEMsT0FBTyxJQUFJLE1BQU07b0JBQ3JCM0MsRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFSyxNQUFNLENBQUNOLElBQUk0QyxPQUFPO2dCQUN4QjtnQkFDQSxJQUFJNUMsSUFBSTZDLFNBQVMsSUFBSSxNQUFNO29CQUN2QjVDLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRTZDLE1BQU0sQ0FBQzlDLElBQUk2QyxTQUFTO2dCQUMxQjtnQkFDQSxJQUFJN0MsSUFBSStDLElBQUksSUFBSSxNQUFNO29CQUNsQjlDLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRWtDLEtBQUssQ0FBQ25DLElBQUkrQyxJQUFJO2dCQUNwQjtnQkFDQSxJQUFJL0MsSUFBSWdELGNBQWMsSUFBSSxNQUFNO29CQUM1Qi9DLEVBQUVLLE1BQU0sQ0FBQztvQkFDVDBCLGVBQWVsQyxLQUFLLEdBQUdXLE1BQU0sQ0FBQ1QsSUFBSWdELGNBQWMsRUFBRS9DO2dCQUN0RDtnQkFDQSxJQUFJRCxJQUFJaUQsU0FBUyxJQUFJLE1BQU07b0JBQ3ZCaEQsRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFaUQsSUFBSSxDQUFDbEQsSUFBSWlELFNBQVM7Z0JBQ3hCO2dCQUNBLElBQUkvQyxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVZLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFiLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSMEMsU0FBU2hELHdEQUFlQSxDQUFDO29CQUN6QmlELGNBQWM7Z0JBQ2xCO2dCQUNBLE1BQU0xQixNQUFNRixVQUFVLE9BQU9ELE9BQU9JLEdBQUcsR0FBR0osT0FBT0ssR0FBRyxHQUFHSjtnQkFDdkQsTUFBT0QsT0FBT0ssR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTixPQUFPUixNQUFNO29CQUN6QixPQUFRYyxRQUFRO3dCQUNaLEtBQUs7NEJBQUc7Z0NBQ0pwQixJQUFJMEMsT0FBTyxHQUFHNUIsT0FBT3FCLEtBQUs7Z0NBQzFCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJMkMsWUFBWSxHQUFHN0IsT0FBT1AsTUFBTTtnQ0FDaEM7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBRztnQ0FDSlAsSUFBSTRDLE9BQU8sR0FBRzlCLE9BQU9SLE1BQU07Z0NBQzNCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUk7Z0NBQ0xOLElBQUk2QyxTQUFTLEdBQUcvQixPQUFPZ0MsTUFBTTtnQ0FDN0I7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTDlDLElBQUkrQyxJQUFJLEdBQUdqQyxPQUFPcUIsS0FBSztnQ0FDdkI7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTG5DLElBQUlnRCxjQUFjLEdBQUdoQixlQUFlbEMsS0FBSyxHQUFHdUIsTUFBTSxDQUFDUCxRQUFRQSxPQUFPUixNQUFNLElBQUk7b0NBQ3hFZ0IsUUFBUXBCLEtBQUtvQixNQUFNLEVBQUUwQjtnQ0FDekI7Z0NBQ0E7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTGhELElBQUlpRCxTQUFTLEdBQUduQyxPQUFPb0MsSUFBSTtnQ0FDM0I7NEJBQ0o7d0JBQ0E7NEJBQVM7Z0NBQ0xwQyxPQUFPVSxRQUFRLENBQUNKLE1BQU07Z0NBQ3RCOzRCQUNKO29CQUNKO2dCQUNKO2dCQUNBLE9BQU9wQjtZQUNYO1FBQ0o7UUFDQSxPQUFPRDtJQUNYO0lBQ0FnQyxZQUFZdEIsTUFBTSxHQUFHLENBQUNUO1FBQ2xCLE9BQU9WLDhEQUFhQSxDQUFDVSxLQUFLK0IsWUFBWWpDLEtBQUs7SUFDL0M7SUFDQWlDLFlBQVlWLE1BQU0sR0FBRyxDQUFDSSxLQUFLdkI7UUFDdkIsT0FBT2IsOERBQWFBLENBQUNvQyxLQUFLTSxZQUFZakMsS0FBSyxJQUFJSTtJQUNuRDtBQUNKLEdBQUc2QixlQUFnQkEsQ0FBQUEsY0FBYyxDQUFDLEtBQ2xDLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9nZW5lcmF0ZWQvZmlsdGVyX3YyLmpzPzkyYTUiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBDb2RlRXJyb3IsIGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIGVudW1lcmF0aW9uLCBtZXNzYWdlIH0gZnJvbSAncHJvdG9ucy1ydW50aW1lJztcbmltcG9ydCB7IGFsbG9jIGFzIHVpbnQ4QXJyYXlBbGxvYyB9IGZyb20gJ3VpbnQ4YXJyYXlzL2FsbG9jJztcbmV4cG9ydCB2YXIgRmlsdGVyU3Vic2NyaWJlUmVxdWVzdDtcbihmdW5jdGlvbiAoRmlsdGVyU3Vic2NyaWJlUmVxdWVzdCkge1xuICAgIGxldCBGaWx0ZXJTdWJzY3JpYmVUeXBlO1xuICAgIChmdW5jdGlvbiAoRmlsdGVyU3Vic2NyaWJlVHlwZSkge1xuICAgICAgICBGaWx0ZXJTdWJzY3JpYmVUeXBlW1wiU1VCU0NSSUJFUl9QSU5HXCJdID0gXCJTVUJTQ1JJQkVSX1BJTkdcIjtcbiAgICAgICAgRmlsdGVyU3Vic2NyaWJlVHlwZVtcIlNVQlNDUklCRVwiXSA9IFwiU1VCU0NSSUJFXCI7XG4gICAgICAgIEZpbHRlclN1YnNjcmliZVR5cGVbXCJVTlNVQlNDUklCRVwiXSA9IFwiVU5TVUJTQ1JJQkVcIjtcbiAgICAgICAgRmlsdGVyU3Vic2NyaWJlVHlwZVtcIlVOU1VCU0NSSUJFX0FMTFwiXSA9IFwiVU5TVUJTQ1JJQkVfQUxMXCI7XG4gICAgfSkoRmlsdGVyU3Vic2NyaWJlVHlwZSA9IEZpbHRlclN1YnNjcmliZVJlcXVlc3QuRmlsdGVyU3Vic2NyaWJlVHlwZSB8fCAoRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5GaWx0ZXJTdWJzY3JpYmVUeXBlID0ge30pKTtcbiAgICBsZXQgX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzO1xuICAgIChmdW5jdGlvbiAoX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzKSB7XG4gICAgICAgIF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbXCJTVUJTQ1JJQkVSX1BJTkdcIl0gPSAwXSA9IFwiU1VCU0NSSUJFUl9QSU5HXCI7XG4gICAgICAgIF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbXCJTVUJTQ1JJQkVcIl0gPSAxXSA9IFwiU1VCU0NSSUJFXCI7XG4gICAgICAgIF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbXCJVTlNVQlNDUklCRVwiXSA9IDJdID0gXCJVTlNVQlNDUklCRVwiO1xuICAgICAgICBfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzW1wiVU5TVUJTQ1JJQkVfQUxMXCJdID0gM10gPSBcIlVOU1VCU0NSSUJFX0FMTFwiO1xuICAgIH0pKF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlcyB8fCAoX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzID0ge30pKTtcbiAgICAoZnVuY3Rpb24gKEZpbHRlclN1YnNjcmliZVR5cGUpIHtcbiAgICAgICAgRmlsdGVyU3Vic2NyaWJlVHlwZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbnVtZXJhdGlvbihfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXMpO1xuICAgICAgICB9O1xuICAgIH0pKEZpbHRlclN1YnNjcmliZVR5cGUgPSBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUgfHwgKEZpbHRlclN1YnNjcmliZVJlcXVlc3QuRmlsdGVyU3Vic2NyaWJlVHlwZSA9IHt9KSk7XG4gICAgbGV0IF9jb2RlYztcbiAgICBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmVxdWVzdElkICE9IG51bGwgJiYgb2JqLnJlcXVlc3RJZCAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouZmlsdGVyU3Vic2NyaWJlVHlwZSAhPSBudWxsICYmIF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tvYmouZmlsdGVyU3Vic2NyaWJlVHlwZV0gIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTYpO1xuICAgICAgICAgICAgICAgICAgICBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUuY29kZWMoKS5lbmNvZGUob2JqLmZpbHRlclN1YnNjcmliZVR5cGUsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnB1YnN1YlRvcGljICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoODIpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmNvbnRlbnRUb3BpY3MgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5jb250ZW50VG9waWNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6ICcnLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJTdWJzY3JpYmVUeXBlOiBGaWx0ZXJTdWJzY3JpYmVUeXBlLlNVQlNDUklCRVJfUElORyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFRvcGljczogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3RJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5maWx0ZXJTdWJzY3JpYmVUeXBlID0gRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5GaWx0ZXJTdWJzY3JpYmVUeXBlLmNvZGVjKCkuZGVjb2RlKHJlYWRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnB1YnN1YlRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxpbWl0cz8uY29udGVudFRvcGljcyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWNzLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMuY29udGVudFRvcGljcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdkZWNvZGUgZXJyb3IgLSBtYXAgZmllbGQgXCJjb250ZW50VG9waWNzXCIgaGFkIHRvbyBtYW55IGVsZW1lbnRzJywgJ0VSUl9NQVhfTEVOR1RIJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWNzLnB1c2gocmVhZGVyLnN0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LmNvZGVjKCkpO1xuICAgIH07XG4gICAgRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoRmlsdGVyU3Vic2NyaWJlUmVxdWVzdCB8fCAoRmlsdGVyU3Vic2NyaWJlUmVxdWVzdCA9IHt9KSk7XG5leHBvcnQgdmFyIEZpbHRlclN1YnNjcmliZVJlc3BvbnNlO1xuKGZ1bmN0aW9uIChGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5yZXF1ZXN0SWQgIT0gbnVsbCAmJiBvYmoucmVxdWVzdElkICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucmVxdWVzdElkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc3RhdHVzQ29kZSAhPSBudWxsICYmIG9iai5zdGF0dXNDb2RlICE9PSAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4MCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai5zdGF0dXNDb2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5zdGF0dXNEZXNjICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmouc3RhdHVzRGVzYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElkOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzQ29kZTogMFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmVxdWVzdElkID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zdGF0dXNDb2RlID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zdGF0dXNEZXNjID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEZpbHRlclN1YnNjcmliZVJlc3BvbnNlLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIEZpbHRlclN1YnNjcmliZVJlc3BvbnNlLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UgfHwgKEZpbHRlclN1YnNjcmliZVJlc3BvbnNlID0ge30pKTtcbmV4cG9ydCB2YXIgTWVzc2FnZVB1c2g7XG4oZnVuY3Rpb24gKE1lc3NhZ2VQdXNoKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBNZXNzYWdlUHVzaC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoud2FrdU1lc3NhZ2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIFdha3VNZXNzYWdlLmNvZGVjKCkuZW5jb2RlKG9iai53YWt1TWVzc2FnZSwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucHVic3ViVG9waWMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5wdWJzdWJUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLndha3VNZXNzYWdlID0gV2FrdU1lc3NhZ2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ud2FrdU1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wdWJzdWJUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBNZXNzYWdlUHVzaC5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgTWVzc2FnZVB1c2guY29kZWMoKSk7XG4gICAgfTtcbiAgICBNZXNzYWdlUHVzaC5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgTWVzc2FnZVB1c2guY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKE1lc3NhZ2VQdXNoIHx8IChNZXNzYWdlUHVzaCA9IHt9KSk7XG5leHBvcnQgdmFyIFJhdGVMaW1pdFByb29mO1xuKGZ1bmN0aW9uIChSYXRlTGltaXRQcm9vZikge1xuICAgIGxldCBfY29kZWM7XG4gICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wcm9vZiAhPSBudWxsICYmIG9iai5wcm9vZi5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wcm9vZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm1lcmtsZVJvb3QgIT0gbnVsbCAmJiBvYmoubWVya2xlUm9vdC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5tZXJrbGVSb290KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouZXBvY2ggIT0gbnVsbCAmJiBvYmouZXBvY2guYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouZXBvY2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVggIT0gbnVsbCAmJiBvYmouc2hhcmVYLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWSAhPSBudWxsICYmIG9iai5zaGFyZVkuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDQyKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVZKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubnVsbGlmaWVyICE9IG51bGwgJiYgb2JqLm51bGxpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5udWxsaWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5ybG5JZGVudGlmaWVyICE9IG51bGwgJiYgb2JqLnJsbklkZW50aWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDU4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucmxuSWRlbnRpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvb2Y6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgbWVya2xlUm9vdDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVg6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVZOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBybG5JZGVudGlmaWVyOiB1aW50OEFycmF5QWxsb2MoMClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnByb29mID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwb2NoID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVYID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVsbGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmxuSWRlbnRpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBheWxvYWQgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudGltZXN0YW1wID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmF0ZUxpbWl0UHJvb2ZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1lc3NhZ2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1lc3NhZ2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFdha3VNZXNzYWdlIHx8IChXYWt1TWVzc2FnZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1maWx0ZXJfdjIuanMubWFwIl0sIm5hbWVzIjpbIkNvZGVFcnJvciIsImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwiZW51bWVyYXRpb24iLCJtZXNzYWdlIiwiYWxsb2MiLCJ1aW50OEFycmF5QWxsb2MiLCJGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0IiwiRmlsdGVyU3Vic2NyaWJlVHlwZSIsIl9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlcyIsImNvZGVjIiwiX2NvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwicmVxdWVzdElkIiwidWludDMyIiwic3RyaW5nIiwiZmlsdGVyU3Vic2NyaWJlVHlwZSIsImVuY29kZSIsInB1YnN1YlRvcGljIiwiY29udGVudFRvcGljcyIsInZhbHVlIiwibGRlbGltIiwicmVhZGVyIiwibGVuZ3RoIiwiU1VCU0NSSUJFUl9QSU5HIiwiZW5kIiwibGVuIiwicG9zIiwidGFnIiwiZGVjb2RlIiwibGltaXRzIiwicHVzaCIsInNraXBUeXBlIiwiYnVmIiwiRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UiLCJzdGF0dXNDb2RlIiwic3RhdHVzRGVzYyIsIk1lc3NhZ2VQdXNoIiwid2FrdU1lc3NhZ2UiLCJXYWt1TWVzc2FnZSIsIlJhdGVMaW1pdFByb29mIiwicHJvb2YiLCJieXRlTGVuZ3RoIiwiYnl0ZXMiLCJtZXJrbGVSb290IiwiZXBvY2giLCJzaGFyZVgiLCJzaGFyZVkiLCJudWxsaWZpZXIiLCJybG5JZGVudGlmaWVyIiwicGF5bG9hZCIsImNvbnRlbnRUb3BpYyIsInZlcnNpb24iLCJ0aW1lc3RhbXAiLCJzaW50NjQiLCJtZXRhIiwicmF0ZUxpbWl0UHJvb2YiLCJlcGhlbWVyYWwiLCJib29sIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/filter_v2.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/light_push.js":
/*!********************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/light_push.js ***!
\********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PushRequest: () => (/* binding */ PushRequest),\n/* harmony export */ PushResponse: () => (/* binding */ PushResponse),\n/* harmony export */ PushRpc: () => (/* binding */ PushRpc),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar PushRequest;\n(function(PushRequest) {\n let _codec;\n PushRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pubsubTopic != null && obj.pubsubTopic !== \"\") {\n w.uint32(10);\n w.string(obj.pubsubTopic);\n }\n if (obj.message != null) {\n w.uint32(18);\n WakuMessage.codec().encode(obj.message, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n pubsubTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n case 2:\n {\n obj.message = WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.message\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushRequest.codec());\n };\n PushRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushRequest.codec(), opts);\n };\n})(PushRequest || (PushRequest = {}));\nvar PushResponse;\n(function(PushResponse) {\n let _codec;\n PushResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.isSuccess != null && obj.isSuccess !== false) {\n w.uint32(8);\n w.bool(obj.isSuccess);\n }\n if (obj.info != null) {\n w.uint32(18);\n w.string(obj.info);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n isSuccess: false\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.isSuccess = reader.bool();\n break;\n }\n case 2:\n {\n obj.info = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushResponse.codec());\n };\n PushResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushResponse.codec(), opts);\n };\n})(PushResponse || (PushResponse = {}));\nvar PushRpc;\n(function(PushRpc) {\n let _codec;\n PushRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.request != null) {\n w.uint32(18);\n PushRequest.codec().encode(obj.request, w);\n }\n if (obj.response != null) {\n w.uint32(26);\n PushResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.request = PushRequest.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.request\n });\n break;\n }\n case 3:\n {\n obj.response = PushResponse.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.response\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushRpc.codec());\n };\n PushRpc.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushRpc.codec(), opts);\n };\n})(PushRpc || (PushRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=light_push.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9saWdodF9wdXNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQ2dCO0FBQ1g7QUFDdEQsSUFBSUssWUFBWTtBQUN0QixVQUFVQSxXQUFXO0lBQ2xCLElBQUlDO0lBQ0pELFlBQVlFLEtBQUssR0FBRztRQUNoQixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNKLHdEQUFPQSxDQUFDLENBQUNNLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSUssV0FBVyxJQUFJLFFBQVFMLElBQUlLLFdBQVcsS0FBSyxJQUFLO29CQUNyREosRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFTSxNQUFNLENBQUNQLElBQUlLLFdBQVc7Z0JBQzVCO2dCQUNBLElBQUlMLElBQUlOLE9BQU8sSUFBSSxNQUFNO29CQUNyQk8sRUFBRUssTUFBTSxDQUFDO29CQUNURSxZQUFZVCxLQUFLLEdBQUdVLE1BQU0sQ0FBQ1QsSUFBSU4sT0FBTyxFQUFFTztnQkFDNUM7Z0JBQ0EsSUFBSUMsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFUyxNQUFNO2dCQUNaO1lBQ0osR0FBRyxDQUFDQyxRQUFRQyxRQUFRVixPQUFPLENBQUMsQ0FBQztnQkFDekIsTUFBTUYsTUFBTTtvQkFDUkssYUFBYTtnQkFDakI7Z0JBQ0EsTUFBTVEsTUFBTUQsVUFBVSxPQUFPRCxPQUFPRyxHQUFHLEdBQUdILE9BQU9JLEdBQUcsR0FBR0g7Z0JBQ3ZELE1BQU9ELE9BQU9JLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFB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O2dDQUNKUCxJQUFJeUMsT0FBTyxHQUFHOUIsT0FBT0wsTUFBTTtnQ0FDM0I7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTE4sSUFBSTBDLFNBQVMsR0FBRy9CLE9BQU9nQyxNQUFNO2dDQUM3Qjs0QkFDSjt3QkFDQSxLQUFLOzRCQUFJO2dDQUNMM0MsSUFBSTRDLElBQUksR0FBR2pDLE9BQU9xQixLQUFLO2dDQUN2Qjs0QkFDSjt3QkFDQSxLQUFLOzRCQUFJO2dDQUNMaEMsSUFBSTZDLGNBQWMsR0FBR2hCLGVBQWU5QixLQUFLLEdBQUdrQixNQUFNLENBQUNOLFFBQVFBLE9BQU9MLE1BQU0sSUFBSTtvQ0FDeEVZLFFBQVFoQixLQUFLZ0IsTUFBTSxFQUFFMkI7Z0NBQ3pCO2dDQUNBOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUk7Z0NBQ0w3QyxJQUFJOEMsU0FBUyxHQUFHbkMsT0FBT1ksSUFBSTtnQ0FDM0I7NEJBQ0o7d0JBQ0E7NEJBQVM7Z0NBQ0xaLE9BQU9RLFFBQVEsQ0FBQ0gsTUFBTTtnQ0FDdEI7NEJBQ0o7b0JBQ0o7Z0JBQ0o7Z0JBQ0EsT0FBT2hCO1lBQ1g7UUFDSjtRQUNBLE9BQU9GO0lBQ1g7SUFDQVUsWUFBWUMsTUFBTSxHQUFHLENBQUNUO1FBQ2xCLE9BQU9QLDhEQUFhQSxDQUFDTyxLQUFLUSxZQUFZVCxLQUFLO0lBQy9DO0lBQ0FTLFlBQVlTLE1BQU0sR0FBRyxDQUFDRyxLQUFLbEI7UUFDdkIsT0FBT1YsOERBQWFBLENBQUM0QixLQUFLWixZQUFZVCxLQUFLLElBQUlHO0lBQ25EO0FBQ0osR0FBR00sZUFBZ0JBLENBQUFBLGNBQWMsQ0FBQyxLQUNsQyxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL2xpZ2h0X3B1c2guanM/N2M0MiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvZXhwb3J0ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktYm9vbGVhbi1saXRlcmFsLWNvbXBhcmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UgKi9cbmltcG9ydCB7IGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuaW1wb3J0IHsgYWxsb2MgYXMgdWludDhBcnJheUFsbG9jIH0gZnJvbSAndWludDhhcnJheXMvYWxsb2MnO1xuZXhwb3J0IHZhciBQdXNoUmVxdWVzdDtcbihmdW5jdGlvbiAoUHVzaFJlcXVlc3QpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFB1c2hSZXF1ZXN0LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHVic3ViVG9waWMgIT0gbnVsbCAmJiBvYmoucHVic3ViVG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5wdWJzdWJUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWVzc2FnZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgV2FrdU1lc3NhZ2UuY29kZWMoKS5lbmNvZGUob2JqLm1lc3NhZ2UsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHB1YnN1YlRvcGljOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHVic3ViVG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVzc2FnZSA9IFdha3VNZXNzYWdlLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/Lm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQdXNoUmVxdWVzdC5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUHVzaFJlcXVlc3QuY29kZWMoKSk7XG4gICAgfTtcbiAgICBQdXNoUmVxdWVzdC5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUHVzaFJlcXVlc3QuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFB1c2hSZXF1ZXN0IHx8IChQdXNoUmVxdWVzdCA9IHt9KSk7XG5leHBvcnQgdmFyIFB1c2hSZXNwb25zZTtcbihmdW5jdGlvbiAoUHVzaFJlc3BvbnNlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQdXNoUmVzcG9uc2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5pc1N1Y2Nlc3MgIT0gbnVsbCAmJiBvYmouaXNTdWNjZXNzICE9PSBmYWxzZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouaXNTdWNjZXNzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5pbmZvICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmouaW5mbyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgaXNTdWNjZXNzOiBmYWxzZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouaXNTdWNjZXNzID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5pbmZvID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFB1c2hSZXNwb25zZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUHVzaFJlc3BvbnNlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgUHVzaFJlc3BvbnNlLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQdXNoUmVzcG9uc2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFB1c2hSZXNwb25zZSB8fCAoUHVzaFJlc3BvbnNlID0ge30pKTtcbmV4cG9ydCB2YXIgUHVzaFJwYztcbihmdW5jdGlvbiAoUHVzaFJwYykge1xuICAgIGxldCBfY29kZWM7XG4gICAgUHVzaFJwYy5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJlcXVlc3RJZCAhPSBudWxsICYmIG9iai5yZXF1ZXN0SWQgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5yZXF1ZXN0SWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJlcXVlc3QgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIFB1c2hSZXF1ZXN0LmNvZGVjKCkuZW5jb2RlKG9iai5yZXF1ZXN0LCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5yZXNwb25zZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgUHVzaFJlc3BvbnNlLmNvZGVjKCkuZW5jb2RlKG9iai5yZXNwb25zZSwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElkOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmVxdWVzdElkID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3QgPSBQdXNoUmVxdWVzdC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5yZXF1ZXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmVzcG9uc2UgPSBQdXNoUmVzcG9uc2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQdXNoUnBjLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBQdXNoUnBjLmNvZGVjKCkpO1xuICAgIH07XG4gICAgUHVzaFJwYy5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUHVzaFJwYy5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUHVzaFJwYyB8fCAoUHVzaFJwYyA9IHt9KSk7XG5leHBvcnQgdmFyIFJhdGVMaW1pdFByb29mO1xuKGZ1bmN0aW9uIChSYXRlTGltaXRQcm9vZikge1xuICAgIGxldCBfY29kZWM7XG4gICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wcm9vZiAhPSBudWxsICYmIG9iai5wcm9vZi5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wcm9vZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm1lcmtsZVJvb3QgIT0gbnVsbCAmJiBvYmoubWVya2xlUm9vdC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5tZXJrbGVSb290KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouZXBvY2ggIT0gbnVsbCAmJiBvYmouZXBvY2guYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouZXBvY2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVggIT0gbnVsbCAmJiBvYmouc2hhcmVYLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWSAhPSBudWxsICYmIG9iai5zaGFyZVkuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDQyKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVZKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubnVsbGlmaWVyICE9IG51bGwgJiYgb2JqLm51bGxpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5udWxsaWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5ybG5JZGVudGlmaWVyICE9IG51bGwgJiYgb2JqLnJsbklkZW50aWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDU4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucmxuSWRlbnRpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvb2Y6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgbWVya2xlUm9vdDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVg6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVZOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBybG5JZGVudGlmaWVyOiB1aW50OEFycmF5QWxsb2MoMClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnByb29mID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwb2NoID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVYID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVsbGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmxuSWRlbnRpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBheWxvYWQgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudGltZXN0YW1wID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmF0ZUxpbWl0UHJvb2ZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1lc3NhZ2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1lc3NhZ2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFdha3VNZXNzYWdlIHx8IChXYWt1TWVzc2FnZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1saWdodF9wdXNoLmpzLm1hcCJdLCJuYW1lcyI6WyJkZWNvZGVNZXNzYWdlIiwiZW5jb2RlTWVzc2FnZSIsIm1lc3NhZ2UiLCJhbGxvYyIsInVpbnQ4QXJyYXlBbGxvYyIsIlB1c2hSZXF1ZXN0IiwiX2NvZGVjIiwiY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJwdWJzdWJUb3BpYyIsInVpbnQzMiIsInN0cmluZyIsIldha3VNZXNzYWdlIiwiZW5jb2RlIiwibGRlbGltIiwicmVhZGVyIiwibGVuZ3RoIiwiZW5kIiwibGVuIiwicG9zIiwidGFnIiwiZGVjb2RlIiwibGltaXRzIiwic2tpcFR5cGUiLCJidWYiLCJQdXNoUmVzcG9uc2UiLCJpc1N1Y2Nlc3MiLCJib29sIiwiaW5mbyIsIlB1c2hScGMiLCJyZXF1ZXN0SWQiLCJyZXF1ZXN0IiwicmVzcG9uc2UiLCJSYXRlTGltaXRQcm9vZiIsInByb29mIiwiYnl0ZUxlbmd0aCIsImJ5dGVzIiwibWVya2xlUm9vdCIsImVwb2NoIiwic2hhcmVYIiwic2hhcmVZIiwibnVsbGlmaWVyIiwicmxuSWRlbnRpZmllciIsInBheWxvYWQiLCJjb250ZW50VG9waWMiLCJ2ZXJzaW9uIiwidGltZXN0YW1wIiwic2ludDY0IiwibWV0YSIsInJhdGVMaW1pdFByb29mIiwiZXBoZW1lcmFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/light_push.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/message.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/message.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9tZXNzYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQ2dCO0FBQ1g7QUFDdEQsSUFBSUssZUFBZTtBQUN6QixVQUFVQSxjQUFjO0lBQ3JCLElBQUlDO0lBQ0pELGVBQWVFLEtBQUssR0FBRztRQUNuQixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNKLHdEQUFPQSxDQUFDLENBQUNNLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSUssS0FBSyxJQUFJLFFBQVFMLElBQUlLLEtBQUssQ0FBQ0MsVUFBVSxHQUFHLEdBQUk7b0JBQ2pETCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVPLEtBQUssQ0FBQ1IsSUFBSUssS0FBSztnQkFDckI7Z0JBQ0EsSUFBS0wsSUFBSVMsVUFBVSxJQUFJLFFBQVFULElBQUlTLFVBQVUsQ0FBQ0gsVUFBVSxHQUFHLEdBQUk7b0JBQzNETCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVPLEtBQUssQ0FBQ1IsSUFBSVMsVUFBVTtnQkFDMUI7Z0JBQ0EsSUFBS1QsSUFBSVUsS0FBSyxJQUFJLFFBQVFWLElBQUlVLEtBQUssQ0FBQ0osVUFBVSxHQUFHLEdBQUk7b0JBQ2pETCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVPLEtBQUssQ0FBQ1IsSUFBSVUsS0FBSztnQkFDckI7Z0JBQ0EsSUFBS1YsSUFBSVcsTUFBTSxJQUFJLFFBQVFYLElBQUlXLE1BQU0sQ0FBQ0wsVUFBVSxHQUFHLEdBQUk7b0JBQ25ETCxFQUFFTSxNQUFNLENBQUM7b0JB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QUNKO2dCQUNKO2dCQUNBLE9BQU9yQjtZQUNYO1FBQ0o7UUFDQSxPQUFPRjtJQUNYO0lBQ0E0QixZQUFZSCxNQUFNLEdBQUcsQ0FBQ3ZCO1FBQ2xCLE9BQU9QLDhEQUFhQSxDQUFDTyxLQUFLMEIsWUFBWTNCLEtBQUs7SUFDL0M7SUFDQTJCLFlBQVlGLE1BQU0sR0FBRyxDQUFDQyxLQUFLdkI7UUFDdkIsT0FBT1YsOERBQWFBLENBQUNpQyxLQUFLQyxZQUFZM0IsS0FBSyxJQUFJRztJQUNuRDtBQUNKLEdBQUd3QixlQUFnQkEsQ0FBQUEsY0FBYyxDQUFDLEtBQ2xDLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9nZW5lcmF0ZWQvbWVzc2FnZS5qcz82OGY0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgZGVjb2RlTWVzc2FnZSwgZW5jb2RlTWVzc2FnZSwgbWVzc2FnZSB9IGZyb20gJ3Byb3RvbnMtcnVudGltZSc7XG5pbXBvcnQgeyBhbGxvYyBhcyB1aW50OEFycmF5QWxsb2MgfSBmcm9tICd1aW50OGFycmF5cy9hbGxvYyc7XG5leHBvcnQgdmFyIFJhdGVMaW1pdFByb29mO1xuKGZ1bmN0aW9uIChSYXRlTGltaXRQcm9vZikge1xuICAgIGxldCBfY29kZWM7XG4gICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wcm9vZiAhPSBudWxsICYmIG9iai5wcm9vZi5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wcm9vZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm1lcmtsZVJvb3QgIT0gbnVsbCAmJiBvYmoubWVya2xlUm9vdC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5tZXJrbGVSb290KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouZXBvY2ggIT0gbnVsbCAmJiBvYmouZXBvY2guYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouZXBvY2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVggIT0gbnVsbCAmJiBvYmouc2hhcmVYLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWSAhPSBudWxsICYmIG9iai5zaGFyZVkuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDQyKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVZKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubnVsbGlmaWVyICE9IG51bGwgJiYgb2JqLm51bGxpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5udWxsaWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5ybG5JZGVudGlmaWVyICE9IG51bGwgJiYgb2JqLnJsbklkZW50aWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDU4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucmxuSWRlbnRpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvb2Y6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgbWVya2xlUm9vdDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVg6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVZOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBybG5JZGVudGlmaWVyOiB1aW50OEFycmF5QWxsb2MoMClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnByb29mID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwb2NoID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVYID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVsbGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmxuSWRlbnRpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBheWxvYWQgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudGltZXN0YW1wID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmF0ZUxpbWl0UHJvb2ZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1lc3NhZ2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1lc3NhZ2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFdha3VNZXNzYWdlIHx8IChXYWt1TWVzc2FnZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tZXNzYWdlLmpzLm1hcCJdLCJuYW1lcyI6WyJkZWNvZGVNZXNzYWdlIiwiZW5jb2RlTWVzc2FnZSIsIm1lc3NhZ2UiLCJhbGxvYyIsInVpbnQ4QXJyYXlBbGxvYyIsIlJhdGVMaW1pdFByb29mIiwiX2NvZGVjIiwiY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJwcm9vZiIsImJ5dGVMZW5ndGgiLCJ1aW50MzIiLCJieXRlcyIsIm1lcmtsZVJvb3QiLCJlcG9jaCIsInNoYXJlWCIsInNoYXJlWSIsIm51bGxpZmllciIsInJsbklkZW50aWZpZXIiLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJza2lwVHlwZSIsImVuY29kZSIsImRlY29kZSIsImJ1ZiIsIldha3VNZXNzYWdlIiwicGF5bG9hZCIsImNvbnRlbnRUb3BpYyIsInN0cmluZyIsInZlcnNpb24iLCJ0aW1lc3RhbXAiLCJzaW50NjQiLCJtZXRhIiwicmF0ZUxpbWl0UHJvb2YiLCJlcGhlbWVyYWwiLCJib29sIiwibGltaXRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/metadata.js":
/*!******************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/metadata.js ***!
\******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WakuMetadataRequest: () => (/* binding */ WakuMetadataRequest),\n/* harmony export */ WakuMetadataResponse: () => (/* binding */ WakuMetadataResponse)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar WakuMetadataRequest;\n(function(WakuMetadataRequest) {\n let _codec;\n WakuMetadataRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.clusterId != null) {\n w.uint32(8);\n w.uint32(obj.clusterId);\n }\n if (obj.shards != null) {\n for (const value of obj.shards){\n w.uint32(16);\n w.uint32(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n shards: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.clusterId = reader.uint32();\n break;\n }\n case 2:\n {\n if (opts.limits?.shards != null && obj.shards.length === opts.limits.shards) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"shards\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.shards.push(reader.uint32());\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMetadataRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMetadataRequest.codec());\n };\n WakuMetadataRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMetadataRequest.codec(), opts);\n };\n})(WakuMetadataRequest || (WakuMetadataRequest = {}));\nvar WakuMetadataResponse;\n(function(WakuMetadataResponse) {\n let _codec;\n WakuMetadataResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.clusterId != null) {\n w.uint32(8);\n w.uint32(obj.clusterId);\n }\n if (obj.shards != null) {\n for (const value of obj.shards){\n w.uint32(16);\n w.uint32(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n shards: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.clusterId = reader.uint32();\n break;\n }\n case 2:\n {\n if (opts.limits?.shards != null && obj.shards.length === opts.limits.shards) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"shards\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.shards.push(reader.uint32());\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMetadataResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMetadataResponse.codec());\n };\n WakuMetadataResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMetadataResponse.codec(), opts);\n };\n})(WakuMetadataResponse || (WakuMetadataResponse = {})); //# sourceMappingURL=metadata.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9tZXRhZGF0YS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQzJCO0FBQzVFLElBQUlJLG9CQUFvQjtBQUM5QixVQUFVQSxtQkFBbUI7SUFDMUIsSUFBSUM7SUFDSkQsb0JBQW9CRSxLQUFLLEdBQUc7UUFDeEIsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTRix3REFBT0EsQ0FBQyxDQUFDSSxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUlKLElBQUlLLFNBQVMsSUFBSSxNQUFNO29CQUN2QkosRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFSyxNQUFNLENBQUNOLElBQUlLLFNBQVM7Z0JBQzFCO2dCQUNBLElBQUlMLElBQUlPLE1BQU0sSUFBSSxNQUFNO29CQUNwQixLQUFLLE1BQU1DLFNBQVNSLElBQUlPLE1BQU0sQ0FBRTt3QkFDNUJOLEVBQUVLLE1BQU0sQ0FBQzt3QkFDVEwsRUFBRUssTUFBTSxDQUFDRTtvQkFDYjtnQkFDSjtnQkFDQSxJQUFJTixLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVRLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFULE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSTyxRQUFRLEVBQUU7Z0JBQ2Q7Z0JBQ0EsTUFBTUssTUFBTUQsVUFBVSxPQUFPRCxPQUFPRyxHQUFHLEdBQUdILE9BQU9JLEdBQUcsR0FBR0g7Z0JBQ3ZELE1BQU9ELE9BQU9JLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFBTUcsTUFB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YUEsQ0FBQ0ssS0FBS3NCLHFCQUFxQnZCLEtBQUs7SUFDeEQ7SUFDQXVCLHFCQUFxQkYsTUFBTSxHQUFHLENBQUNDLEtBQUtuQjtRQUNoQyxPQUFPUiw4REFBYUEsQ0FBQzJCLEtBQUtDLHFCQUFxQnZCLEtBQUssSUFBSUc7SUFDNUQ7QUFDSixHQUFHb0Isd0JBQXlCQSxDQUFBQSx1QkFBdUIsQ0FBQyxLQUNwRCxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9kaXNjb3Zlcnkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL21ldGFkYXRhLmpzPzQ3ZWMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBDb2RlRXJyb3IsIGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuZXhwb3J0IHZhciBXYWt1TWV0YWRhdGFSZXF1ZXN0O1xuKGZ1bmN0aW9uIChXYWt1TWV0YWRhdGFSZXF1ZXN0KSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWV0YWRhdGFSZXF1ZXN0LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5jbHVzdGVySWQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLmNsdXN0ZXJJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouc2hhcmRzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmouc2hhcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBzaGFyZHM6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jbHVzdGVySWQgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5saW1pdHM/LnNoYXJkcyAhPSBudWxsICYmIG9iai5zaGFyZHMubGVuZ3RoID09PSBvcHRzLmxpbWl0cy5zaGFyZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvZGVFcnJvcignZGVjb2RlIGVycm9yIC0gbWFwIGZpZWxkIFwic2hhcmRzXCIgaGFkIHRvbyBtYW55IGVsZW1lbnRzJywgJ0VSUl9NQVhfTEVOR1RIJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zaGFyZHMucHVzaChyZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFdha3VNZXRhZGF0YVJlcXVlc3QuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXRhZGF0YVJlcXVlc3QuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWV0YWRhdGFSZXF1ZXN0LmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBXYWt1TWV0YWRhdGFSZXF1ZXN0LmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShXYWt1TWV0YWRhdGFSZXF1ZXN0IHx8IChXYWt1TWV0YWRhdGFSZXF1ZXN0ID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1ldGFkYXRhUmVzcG9uc2U7XG4oZnVuY3Rpb24gKFdha3VNZXRhZGF0YVJlc3BvbnNlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWV0YWRhdGFSZXNwb25zZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouY2x1c3RlcklkICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai5jbHVzdGVySWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnNoYXJkcyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygb2JqLnNoYXJkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgc2hhcmRzOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY2x1c3RlcklkID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMubGltaXRzPy5zaGFyZHMgIT0gbnVsbCAmJiBvYmouc2hhcmRzLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMuc2hhcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb2RlRXJyb3IoJ2RlY29kZSBlcnJvciAtIG1hcCBmaWVsZCBcInNoYXJkc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmRzLnB1c2gocmVhZGVyLnVpbnQzMigpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWV0YWRhdGFSZXNwb25zZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1ldGFkYXRhUmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWV0YWRhdGFSZXNwb25zZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1ldGFkYXRhUmVzcG9uc2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFdha3VNZXRhZGF0YVJlc3BvbnNlIHx8IChXYWt1TWV0YWRhdGFSZXNwb25zZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tZXRhZGF0YS5qcy5tYXAiXSwibmFtZXMiOlsiQ29kZUVycm9yIiwiZGVjb2RlTWVzc2FnZSIsImVuY29kZU1lc3NhZ2UiLCJtZXNzYWdlIiwiV2FrdU1ldGFkYXRhUmVxdWVzdCIsIl9jb2RlYyIsImNvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwiY2x1c3RlcklkIiwidWludDMyIiwic2hhcmRzIiwidmFsdWUiLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJsaW1pdHMiLCJwdXNoIiwic2tpcFR5cGUiLCJlbmNvZGUiLCJkZWNvZGUiLCJidWYiLCJXYWt1TWV0YWRhdGFSZXNwb25zZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/metadata.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/peer_exchange.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/peer_exchange.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PeerExchangeQuery: () => (/* binding */ PeerExchangeQuery),\n/* harmony export */ PeerExchangeRPC: () => (/* binding */ PeerExchangeRPC),\n/* harmony export */ PeerExchangeResponse: () => (/* binding */ PeerExchangeResponse),\n/* harmony export */ PeerInfo: () => (/* binding */ PeerInfo)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar PeerInfo;\n(function(PeerInfo) {\n let _codec;\n PeerInfo.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.enr != null) {\n w.uint32(10);\n w.bytes(obj.enr);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.enr = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerInfo.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerInfo.codec());\n };\n PeerInfo.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerInfo.codec(), opts);\n };\n})(PeerInfo || (PeerInfo = {}));\nvar PeerExchangeQuery;\n(function(PeerExchangeQuery) {\n let _codec;\n PeerExchangeQuery.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.numPeers != null) {\n w.uint32(8);\n w.uint64(obj.numPeers);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.numPeers = reader.uint64();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeQuery.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeQuery.codec());\n };\n PeerExchangeQuery.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeQuery.codec(), opts);\n };\n})(PeerExchangeQuery || (PeerExchangeQuery = {}));\nvar PeerExchangeResponse;\n(function(PeerExchangeResponse) {\n let _codec;\n PeerExchangeResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.peerInfos != null) {\n for (const value of obj.peerInfos){\n w.uint32(10);\n PeerInfo.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n peerInfos: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n if (opts.limits?.peerInfos != null && obj.peerInfos.length === opts.limits.peerInfos) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"peerInfos\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.peerInfos.push(PeerInfo.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.peerInfos$\n }));\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeResponse.codec());\n };\n PeerExchangeResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeResponse.codec(), opts);\n };\n})(PeerExchangeResponse || (PeerExchangeResponse = {}));\nvar PeerExchangeRPC;\n(function(PeerExchangeRPC) {\n let _codec;\n PeerExchangeRPC.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.query != null) {\n w.uint32(10);\n PeerExchangeQuery.codec().encode(obj.query, w);\n }\n if (obj.response != null) {\n w.uint32(18);\n PeerExchangeResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.query = PeerExchangeQuery.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.query\n });\n break;\n }\n case 2:\n {\n obj.response = PeerExchangeResponse.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.response\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeRPC.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeRPC.codec());\n };\n PeerExchangeRPC.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeRPC.codec(), opts);\n };\n})(PeerExchangeRPC || (PeerExchangeRPC = {})); //# sourceMappingURL=peer_exchange.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9wZWVyX2V4Y2hhbmdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsZ0NBQWdDLEdBQ2hDLDZCQUE2QixHQUM3QixrREFBa0QsR0FDbEQsNEVBQTRFLEdBQzVFLHdEQUF3RCxHQUMyQjtBQUM1RSxJQUFJSSxTQUFTO0FBQ25CLFVBQVVBLFFBQVE7SUFDZixJQUFJQztJQUNKRCxTQUFTRSxLQUFLLEdBQUc7UUFDYixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNGLHdEQUFPQSxDQUFDLENBQUNJLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBSUosSUFBSUssR0FBRyxJQUFJLE1BQU07b0JBQ2pCSixFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLEtBQUssQ0FBQ1AsSUFBSUssR0FBRztnQkFDbkI7Z0JBQ0EsSUFBSUgsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFTyxNQUFNO2dCQUNaO1lBQ0osR0FBRyxDQUFDQyxRQUFRQyxRQUFRUixPQUFPLENBQUMsQ0FBQztnQkFDekIsTUFBTUYsTUFBTSxDQUFDO2dCQUNiLE1BQU1XLE1BQU1ELFVBQVUsT0FBT0QsT0FBT0csR0FBRyxHQUFHSCxPQUFPSSxHQUFHLEdBQUdIO2dCQUN2RCxNQUFPRCxPQUFPSSxHQUFHLEdBQUdGLElBQUs7b0JBQ3JCLE1BQU1HLE1BQU1MLE9BQU9ILE1BQU07b0JBQ3pCLE9BQVFRLFFBQVE7d0JBQ1osS0FBSzs0QkFBRztnQ0FDSmQsSUFBSUssR0FBRyxHQUFHSSxPQUFPRixLQUFLO2dDQUN0Qjs0QkFDSjt3QkFDQTs0QkFBUztnQ0FDTEUsT0FBT00sUUFBUSxDQUFDRCxNQUFNO2dDQUN0Qjs0QkFDSjtv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Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPZDtZQUNYO1FBQ0o7UUFDQSxPQUFPRjtJQUNYO0lBQ0E4QixnQkFBZ0JaLE1BQU0sR0FBRyxDQUFDaEI7UUFDdEIsT0FBT0wsOERBQWFBLENBQUNLLEtBQUs0QixnQkFBZ0I3QixLQUFLO0lBQ25EO0lBQ0E2QixnQkFBZ0JYLE1BQU0sR0FBRyxDQUFDQyxLQUFLaEI7UUFDM0IsT0FBT1IsOERBQWFBLENBQUN3QixLQUFLVSxnQkFBZ0I3QixLQUFLLElBQUlHO0lBQ3ZEO0FBQ0osR0FBRzBCLG1CQUFvQkEsQ0FBQUEsa0JBQWtCLENBQUMsS0FDMUMseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9wZWVyX2V4Y2hhbmdlLmpzPzk4ZDMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBDb2RlRXJyb3IsIGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuZXhwb3J0IHZhciBQZWVySW5mbztcbihmdW5jdGlvbiAoUGVlckluZm8pIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFBlZXJJbmZvLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lbnIgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVucik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVuciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFBlZXJJbmZvLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBQZWVySW5mby5jb2RlYygpKTtcbiAgICB9O1xuICAgIFBlZXJJbmZvLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQZWVySW5mby5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUGVlckluZm8gfHwgKFBlZXJJbmZvID0ge30pKTtcbmV4cG9ydCB2YXIgUGVlckV4Y2hhbmdlUXVlcnk7XG4oZnVuY3Rpb24gKFBlZXJFeGNoYW5nZVF1ZXJ5KSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQZWVyRXhjaGFuZ2VRdWVyeS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubnVtUGVlcnMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50NjQob2JqLm51bVBlZXJzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVtUGVlcnMgPSByZWFkZXIudWludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgUGVlckV4Y2hhbmdlUXVlcnkuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFBlZXJFeGNoYW5nZVF1ZXJ5LmNvZGVjKCkpO1xuICAgIH07XG4gICAgUGVlckV4Y2hhbmdlUXVlcnkuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFBlZXJFeGNoYW5nZVF1ZXJ5LmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShQZWVyRXhjaGFuZ2VRdWVyeSB8fCAoUGVlckV4Y2hhbmdlUXVlcnkgPSB7fSkpO1xuZXhwb3J0IHZhciBQZWVyRXhjaGFuZ2VSZXNwb25zZTtcbihmdW5jdGlvbiAoUGVlckV4Y2hhbmdlUmVzcG9uc2UpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFBlZXJFeGNoYW5nZVJlc3BvbnNlLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5wZWVySW5mb3MgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5wZWVySW5mb3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFBlZXJJbmZvLmNvZGVjKCkuZW5jb2RlKHZhbHVlLCB3KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHBlZXJJbmZvczogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMubGltaXRzPy5wZWVySW5mb3MgIT0gbnVsbCAmJiBvYmoucGVlckluZm9zLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMucGVlckluZm9zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb2RlRXJyb3IoJ2RlY29kZSBlcnJvciAtIG1hcCBmaWVsZCBcInBlZXJJbmZvc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucGVlckluZm9zLnB1c2goUGVlckluZm8uY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucGVlckluZm9zJFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQZWVyRXhjaGFuZ2VSZXNwb25zZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUGVlckV4Y2hhbmdlUmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBQZWVyRXhjaGFuZ2VSZXNwb25zZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUGVlckV4Y2hhbmdlUmVzcG9uc2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFBlZXJFeGNoYW5nZVJlc3BvbnNlIHx8IChQZWVyRXhjaGFuZ2VSZXNwb25zZSA9IHt9KSk7XG5leHBvcnQgdmFyIFBlZXJFeGNoYW5nZVJQQztcbihmdW5jdGlvbiAoUGVlckV4Y2hhbmdlUlBDKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQZWVyRXhjaGFuZ2VSUEMuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnF1ZXJ5ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICBQZWVyRXhjaGFuZ2VRdWVyeS5jb2RlYygpLmVuY29kZShvYmoucXVlcnksIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJlc3BvbnNlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICBQZWVyRXhjaGFuZ2VSZXNwb25zZS5jb2RlYygpLmVuY29kZShvYmoucmVzcG9uc2UsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5xdWVyeSA9IFBlZXJFeGNoYW5nZVF1ZXJ5LmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmVzcG9uc2UgPSBQZWVyRXhjaGFuZ2VSZXNwb25zZS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5yZXNwb25zZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFBlZXJFeGNoYW5nZVJQQy5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUGVlckV4Y2hhbmdlUlBDLmNvZGVjKCkpO1xuICAgIH07XG4gICAgUGVlckV4Y2hhbmdlUlBDLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQZWVyRXhjaGFuZ2VSUEMuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFBlZXJFeGNoYW5nZVJQQyB8fCAoUGVlckV4Y2hhbmdlUlBDID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBlZXJfZXhjaGFuZ2UuanMubWFwIl0sIm5hbWVzIjpbIkNvZGVFcnJvciIsImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwibWVzc2FnZSIsIlBlZXJJbmZvIiwiX2NvZGVjIiwiY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJlbnIiLCJ1aW50MzIiLCJieXRlcyIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsImVuZCIsImxlbiIsInBvcyIsInRhZyIsInNraXBUeXBlIiwiZW5jb2RlIiwiZGVjb2RlIiwiYnVmIiwiUGVlckV4Y2hhbmdlUXVlcnkiLCJudW1QZWVycyIsInVpbnQ2NCIsIlBlZXJFeGNoYW5nZVJlc3BvbnNlIiwicGVlckluZm9zIiwidmFsdWUiLCJsaW1pdHMiLCJwdXNoIiwicGVlckluZm9zJCIsIlBlZXJFeGNoYW5nZVJQQyIsInF1ZXJ5IiwicmVzcG9uc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/peer_exchange.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/store.js":
/*!***************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/store.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContentFilter: () => (/* binding */ ContentFilter),\n/* harmony export */ HistoryQuery: () => (/* binding */ HistoryQuery),\n/* harmony export */ HistoryResponse: () => (/* binding */ HistoryResponse),\n/* harmony export */ HistoryRpc: () => (/* binding */ HistoryRpc),\n/* harmony export */ Index: () => (/* binding */ Index),\n/* harmony export */ PagingInfo: () => (/* binding */ PagingInfo),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar Index;\n(function(Index) {\n let _codec;\n Index.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.digest != null && obj.digest.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.digest);\n }\n if (obj.receiverTime != null && obj.receiverTime !== 0n) {\n w.uint32(16);\n w.sint64(obj.receiverTime);\n }\n if (obj.senderTime != null && obj.senderTime !== 0n) {\n w.uint32(24);\n w.sint64(obj.senderTime);\n }\n if (obj.pubsubTopic != null && obj.pubsubTopic !== \"\") {\n w.uint32(34);\n w.string(obj.pubsubTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n digest: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n receiverTime: 0n,\n senderTime: 0n,\n pubsubTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.digest = reader.bytes();\n break;\n }\n case 2:\n {\n obj.receiverTime = reader.sint64();\n break;\n }\n case 3:\n {\n obj.senderTime = reader.sint64();\n break;\n }\n case 4:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n Index.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, Index.codec());\n };\n Index.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, Index.codec(), opts);\n };\n})(Index || (Index = {}));\nvar PagingInfo;\n(function(PagingInfo) {\n let Direction;\n (function(Direction) {\n Direction[\"BACKWARD\"] = \"BACKWARD\";\n Direction[\"FORWARD\"] = \"FORWARD\";\n })(Direction = PagingInfo.Direction || (PagingInfo.Direction = {}));\n let __DirectionValues;\n (function(__DirectionValues) {\n __DirectionValues[__DirectionValues[\"BACKWARD\"] = 0] = \"BACKWARD\";\n __DirectionValues[__DirectionValues[\"FORWARD\"] = 1] = \"FORWARD\";\n })(__DirectionValues || (__DirectionValues = {}));\n (function(Direction) {\n Direction.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__DirectionValues);\n };\n })(Direction = PagingInfo.Direction || (PagingInfo.Direction = {}));\n let _codec;\n PagingInfo.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pageSize != null) {\n w.uint32(8);\n w.uint64(obj.pageSize);\n }\n if (obj.cursor != null) {\n w.uint32(18);\n Index.codec().encode(obj.cursor, w);\n }\n if (obj.direction != null) {\n w.uint32(24);\n PagingInfo.Direction.codec().encode(obj.direction, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.pageSize = reader.uint64();\n break;\n }\n case 2:\n {\n obj.cursor = Index.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.cursor\n });\n break;\n }\n case 3:\n {\n obj.direction = PagingInfo.Direction.codec().decode(reader);\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PagingInfo.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PagingInfo.codec());\n };\n PagingInfo.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PagingInfo.codec(), opts);\n };\n})(PagingInfo || (PagingInfo = {}));\nvar ContentFilter;\n(function(ContentFilter) {\n let _codec;\n ContentFilter.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(10);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.contentTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n ContentFilter.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, ContentFilter.codec());\n };\n ContentFilter.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, ContentFilter.codec(), opts);\n };\n})(ContentFilter || (ContentFilter = {}));\nvar HistoryQuery;\n(function(HistoryQuery) {\n let _codec;\n HistoryQuery.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pubsubTopic != null) {\n w.uint32(18);\n w.string(obj.pubsubTopic);\n }\n if (obj.contentFilters != null) {\n for (const value of obj.contentFilters){\n w.uint32(26);\n ContentFilter.codec().encode(value, w);\n }\n }\n if (obj.pagingInfo != null) {\n w.uint32(34);\n PagingInfo.codec().encode(obj.pagingInfo, w);\n }\n if (obj.startTime != null) {\n w.uint32(40);\n w.sint64(obj.startTime);\n }\n if (obj.endTime != null) {\n w.uint32(48);\n w.sint64(obj.endTime);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentFilters: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n case 3:\n {\n if (opts.limits?.contentFilters != null && obj.contentFilters.length === opts.limits.contentFilters) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"contentFilters\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.contentFilters.push(ContentFilter.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.contentFilters$\n }));\n break;\n }\n case 4:\n {\n obj.pagingInfo = PagingInfo.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.pagingInfo\n });\n break;\n }\n case 5:\n {\n obj.startTime = reader.sint64();\n break;\n }\n case 6:\n {\n obj.endTime = reader.sint64();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryQuery.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryQuery.codec());\n };\n HistoryQuery.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryQuery.codec(), opts);\n };\n})(HistoryQuery || (HistoryQuery = {}));\nvar HistoryResponse;\n(function(HistoryResponse) {\n let HistoryError;\n (function(HistoryError) {\n HistoryError[\"NONE\"] = \"NONE\";\n HistoryError[\"INVALID_CURSOR\"] = \"INVALID_CURSOR\";\n HistoryError[\"TOO_MANY_RESULTS\"] = \"TOO_MANY_RESULTS\";\n HistoryError[\"SERVICE_UNAVAILABLE\"] = \"SERVICE_UNAVAILABLE\";\n })(HistoryError = HistoryResponse.HistoryError || (HistoryResponse.HistoryError = {}));\n let __HistoryErrorValues;\n (function(__HistoryErrorValues) {\n __HistoryErrorValues[__HistoryErrorValues[\"NONE\"] = 0] = \"NONE\";\n __HistoryErrorValues[__HistoryErrorValues[\"INVALID_CURSOR\"] = 1] = \"INVALID_CURSOR\";\n __HistoryErrorValues[__HistoryErrorValues[\"TOO_MANY_RESULTS\"] = 429] = \"TOO_MANY_RESULTS\";\n __HistoryErrorValues[__HistoryErrorValues[\"SERVICE_UNAVAILABLE\"] = 503] = \"SERVICE_UNAVAILABLE\";\n })(__HistoryErrorValues || (__HistoryErrorValues = {}));\n (function(HistoryError) {\n HistoryError.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__HistoryErrorValues);\n };\n })(HistoryError = HistoryResponse.HistoryError || (HistoryResponse.HistoryError = {}));\n let _codec;\n HistoryResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.messages != null) {\n for (const value of obj.messages){\n w.uint32(18);\n WakuMessage.codec().encode(value, w);\n }\n }\n if (obj.pagingInfo != null) {\n w.uint32(26);\n PagingInfo.codec().encode(obj.pagingInfo, w);\n }\n if (obj.error != null && __HistoryErrorValues[obj.error] !== 0) {\n w.uint32(32);\n HistoryResponse.HistoryError.codec().encode(obj.error, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n messages: [],\n error: HistoryError.NONE\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n {\n if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"messages\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.messages.push(WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.messages$\n }));\n break;\n }\n case 3:\n {\n obj.pagingInfo = PagingInfo.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.pagingInfo\n });\n break;\n }\n case 4:\n {\n obj.error = HistoryResponse.HistoryError.codec().decode(reader);\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryResponse.codec());\n };\n HistoryResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryResponse.codec(), opts);\n };\n})(HistoryResponse || (HistoryResponse = {}));\nvar HistoryRpc;\n(function(HistoryRpc) {\n let _codec;\n HistoryRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.query != null) {\n w.uint32(18);\n HistoryQuery.codec().encode(obj.query, w);\n }\n if (obj.response != null) {\n w.uint32(26);\n HistoryResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.query = HistoryQuery.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.query\n });\n break;\n }\n case 3:\n {\n obj.response = HistoryResponse.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.response\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryRpc.codec());\n };\n HistoryRpc.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryRpc.codec(), opts);\n };\n})(HistoryRpc || (HistoryRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9zdG9yZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsZ0NBQWdDLEdBQ2hDLDZCQUE2QixHQUM3QixrREFBa0QsR0FDbEQsNEVBQTRFLEdBQzVFLHdEQUF3RCxHQUN3QztBQUNuQztBQUN0RCxJQUFJTyxNQUFNO0FBQ2hCLFVBQVVBLEtBQUs7SUFDWixJQUFJQztJQUNKRCxNQUFNRSxLQUFLLEdBQUc7UUFDVixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNKLHdEQUFPQSxDQUFDLENBQUNNLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSUssTUFBTSxJQUFJLFFBQVFMLElBQUlLLE1BQU0sQ0FBQ0MsVUFBVSxHQUFHLEdBQUk7b0JBQ25ETCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVPLEtBQUssQ0FBQ1IsSUFBSUssTUFBTTtnQkFDdEI7Z0JBQ0EsSUFBS0wsSUFBSVMsWUFBWSxJQUFJLFFBQVFULElBQUlTLFlBQVksS0FBSyxFQUFFLEVBQUc7b0JBQ3ZEUixFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVTLE1BQU0sQ0FBQ1YsSUFBSVMsWUFBWTtnQkFDN0I7Z0JBQ0EsSUFBS1QsSUFBSVcsVUFBVSxJQUFJLFFBQVFYLElBQUlXLFVBQVUsS0FBSyxFQUFFLEVBQUc7b0JBQ25EVixFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVTLE1BQU0sQ0FBQ1YsSUFBSVcsVUFBVTtnQkFDM0I7Z0JBQ0EsSUFBS1gsSUFBSVksV0FBVyxJQUFJLFFBQVFaLElBQUlZLFdBQVcsS0FBSyxJQUFLO29CQUNyRFgsRUFBRU0sTUFBTSxDQUFDO29CQUNUTixFQUFFWSxNQUFNLENBQUNi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QUcsQ0FBQ3RCO1FBQ2xCLE9BQU9SLDhEQUFhQSxDQUFDUSxLQUFLK0MsWUFBWWhELEtBQUs7SUFDL0M7SUFDQWdELFlBQVl4QixNQUFNLEdBQUcsQ0FBQ0MsS0FBS3RCO1FBQ3ZCLE9BQU9YLDhEQUFhQSxDQUFDaUMsS0FBS3VCLFlBQVloRCxLQUFLLElBQUlHO0lBQ25EO0FBQ0osR0FBRzZDLGVBQWdCQSxDQUFBQSxjQUFjLENBQUMsS0FDbEMsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9zdG9yZS5qcz85N2E2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgQ29kZUVycm9yLCBkZWNvZGVNZXNzYWdlLCBlbmNvZGVNZXNzYWdlLCBlbnVtZXJhdGlvbiwgbWVzc2FnZSB9IGZyb20gJ3Byb3RvbnMtcnVudGltZSc7XG5pbXBvcnQgeyBhbGxvYyBhcyB1aW50OEFycmF5QWxsb2MgfSBmcm9tICd1aW50OGFycmF5cy9hbGxvYyc7XG5leHBvcnQgdmFyIEluZGV4O1xuKGZ1bmN0aW9uIChJbmRleCkge1xuICAgIGxldCBfY29kZWM7XG4gICAgSW5kZXguY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5kaWdlc3QgIT0gbnVsbCAmJiBvYmouZGlnZXN0LmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmRpZ2VzdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJlY2VpdmVyVGltZSAhPSBudWxsICYmIG9iai5yZWNlaXZlclRpbWUgIT09IDBuKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNik7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai5yZWNlaXZlclRpbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zZW5kZXJUaW1lICE9IG51bGwgJiYgb2JqLnNlbmRlclRpbWUgIT09IDBuKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai5zZW5kZXJUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHVic3ViVG9waWMgIT0gbnVsbCAmJiBvYmoucHVic3ViVG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5wdWJzdWJUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgZGlnZXN0OiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIHJlY2VpdmVyVGltZTogMG4sXG4gICAgICAgICAgICAgICAgICAgIHNlbmRlclRpbWU6IDBuLFxuICAgICAgICAgICAgICAgICAgICBwdWJzdWJUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmRpZ2VzdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlY2VpdmVyVGltZSA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zZW5kZXJUaW1lID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnB1YnN1YlRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEluZGV4LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBJbmRleC5jb2RlYygpKTtcbiAgICB9O1xuICAgIEluZGV4LmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBJbmRleC5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoSW5kZXggfHwgKEluZGV4ID0ge30pKTtcbmV4cG9ydCB2YXIgUGFnaW5nSW5mbztcbihmdW5jdGlvbiAoUGFnaW5nSW5mbykge1xuICAgIGxldCBEaXJlY3Rpb247XG4gICAgKGZ1bmN0aW9uIChEaXJlY3Rpb24pIHtcbiAgICAgICAgRGlyZWN0aW9uW1wiQkFDS1dBUkRcIl0gPSBcIkJBQ0tXQVJEXCI7XG4gICAgICAgIERpcmVjdGlvbltcIkZPUldBUkRcIl0gPSBcIkZPUldBUkRcIjtcbiAgICB9KShEaXJlY3Rpb24gPSBQYWdpbmdJbmZvLkRpcmVjdGlvbiB8fCAoUGFnaW5nSW5mby5EaXJlY3Rpb24gPSB7fSkpO1xuICAgIGxldCBfX0RpcmVjdGlvblZhbHVlcztcbiAgICAoZnVuY3Rpb24gKF9fRGlyZWN0aW9uVmFsdWVzKSB7XG4gICAgICAgIF9fRGlyZWN0aW9uVmFsdWVzW19fRGlyZWN0aW9uVmFsdWVzW1wiQkFDS1dBUkRcIl0gPSAwXSA9IFwiQkFDS1dBUkRcIjtcbiAgICAgICAgX19EaXJlY3Rpb25WYWx1ZXNbX19EaXJlY3Rpb25WYWx1ZXNbXCJGT1JXQVJEXCJdID0gMV0gPSBcIkZPUldBUkRcIjtcbiAgICB9KShfX0RpcmVjdGlvblZhbHVlcyB8fCAoX19EaXJlY3Rpb25WYWx1ZXMgPSB7fSkpO1xuICAgIChmdW5jdGlvbiAoRGlyZWN0aW9uKSB7XG4gICAgICAgIERpcmVjdGlvbi5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbnVtZXJhdGlvbihfX0RpcmVjdGlvblZhbHVlcyk7XG4gICAgICAgIH07XG4gICAgfSkoRGlyZWN0aW9uID0gUGFnaW5nSW5mby5EaXJlY3Rpb24gfHwgKFBhZ2luZ0luZm8uRGlyZWN0aW9uID0ge30pKTtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFBhZ2luZ0luZm8uY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnBhZ2VTaXplICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDY0KG9iai5wYWdlU2l6ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouY3Vyc29yICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICBJbmRleC5jb2RlYygpLmVuY29kZShvYmouY3Vyc29yLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5kaXJlY3Rpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIFBhZ2luZ0luZm8uRGlyZWN0aW9uLmNvZGVjKCkuZW5jb2RlKG9iai5kaXJlY3Rpb24sIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYWdlU2l6ZSA9IHJlYWRlci51aW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jdXJzb3IgPSBJbmRleC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5jdXJzb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5kaXJlY3Rpb24gPSBQYWdpbmdJbmZvLkRpcmVjdGlvbi5jb2RlYygpLmRlY29kZShyZWFkZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFBhZ2luZ0luZm8uZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFBhZ2luZ0luZm8uY29kZWMoKSk7XG4gICAgfTtcbiAgICBQYWdpbmdJbmZvLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQYWdpbmdJbmZvLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShQYWdpbmdJbmZvIHx8IChQYWdpbmdJbmZvID0ge30pKTtcbmV4cG9ydCB2YXIgQ29udGVudEZpbHRlcjtcbihmdW5jdGlvbiAoQ29udGVudEZpbHRlcikge1xuICAgIGxldCBfY29kZWM7XG4gICAgQ29udGVudEZpbHRlci5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBDb250ZW50RmlsdGVyLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBDb250ZW50RmlsdGVyLmNvZGVjKCkpO1xuICAgIH07XG4gICAgQ29udGVudEZpbHRlci5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgQ29udGVudEZpbHRlci5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoQ29udGVudEZpbHRlciB8fCAoQ29udGVudEZpbHRlciA9IHt9KSk7XG5leHBvcnQgdmFyIEhpc3RvcnlRdWVyeTtcbihmdW5jdGlvbiAoSGlzdG9yeVF1ZXJ5KSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBIaXN0b3J5UXVlcnkuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnB1YnN1YlRvcGljICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmNvbnRlbnRGaWx0ZXJzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmouY29udGVudEZpbHRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIENvbnRlbnRGaWx0ZXIuY29kZWMoKS5lbmNvZGUodmFsdWUsIHcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucGFnaW5nSW5mbyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDM0KTtcbiAgICAgICAgICAgICAgICAgICAgUGFnaW5nSW5mby5jb2RlYygpLmVuY29kZShvYmoucGFnaW5nSW5mbywgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouc3RhcnRUaW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNDApO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmouc3RhcnRUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lbmRUaW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmouZW5kVGltZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudEZpbHRlcnM6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wdWJzdWJUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxpbWl0cz8uY29udGVudEZpbHRlcnMgIT0gbnVsbCAmJiBvYmouY29udGVudEZpbHRlcnMubGVuZ3RoID09PSBvcHRzLmxpbWl0cy5jb250ZW50RmlsdGVycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdkZWNvZGUgZXJyb3IgLSBtYXAgZmllbGQgXCJjb250ZW50RmlsdGVyc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudEZpbHRlcnMucHVzaChDb250ZW50RmlsdGVyLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LmNvbnRlbnRGaWx0ZXJzJFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYWdpbmdJbmZvID0gUGFnaW5nSW5mby5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5wYWdpbmdJbmZvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc3RhcnRUaW1lID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVuZFRpbWUgPSByZWFkZXIuc2ludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgSGlzdG9yeVF1ZXJ5LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBIaXN0b3J5UXVlcnkuY29kZWMoKSk7XG4gICAgfTtcbiAgICBIaXN0b3J5UXVlcnkuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIEhpc3RvcnlRdWVyeS5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoSGlzdG9yeVF1ZXJ5IHx8IChIaXN0b3J5UXVlcnkgPSB7fSkpO1xuZXhwb3J0IHZhciBIaXN0b3J5UmVzcG9uc2U7XG4oZnVuY3Rpb24gKEhpc3RvcnlSZXNwb25zZSkge1xuICAgIGxldCBIaXN0b3J5RXJyb3I7XG4gICAgKGZ1bmN0aW9uIChIaXN0b3J5RXJyb3IpIHtcbiAgICAgICAgSGlzdG9yeUVycm9yW1wiTk9ORVwiXSA9IFwiTk9ORVwiO1xuICAgICAgICBIaXN0b3J5RXJyb3JbXCJJTlZBTElEX0NVUlNPUlwiXSA9IFwiSU5WQUxJRF9DVVJTT1JcIjtcbiAgICAgICAgSGlzdG9yeUVycm9yW1wiVE9PX01BTllfUkVTVUxUU1wiXSA9IFwiVE9PX01BTllfUkVTVUxUU1wiO1xuICAgICAgICBIaXN0b3J5RXJyb3JbXCJTRVJWSUNFX1VOQVZBSUxBQkxFXCJdID0gXCJTRVJWSUNFX1VOQVZBSUxBQkxFXCI7XG4gICAgfSkoSGlzdG9yeUVycm9yID0gSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvciB8fCAoSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvciA9IHt9KSk7XG4gICAgbGV0IF9fSGlzdG9yeUVycm9yVmFsdWVzO1xuICAgIChmdW5jdGlvbiAoX19IaXN0b3J5RXJyb3JWYWx1ZXMpIHtcbiAgICAgICAgX19IaXN0b3J5RXJyb3JWYWx1ZXNbX19IaXN0b3J5RXJyb3JWYWx1ZXNbXCJOT05FXCJdID0gMF0gPSBcIk5PTkVcIjtcbiAgICAgICAgX19IaXN0b3J5RXJyb3JWYWx1ZXNbX19IaXN0b3J5RXJyb3JWYWx1ZXNbXCJJTlZBTElEX0NVUlNPUlwiXSA9IDFdID0gXCJJTlZBTElEX0NVUlNPUlwiO1xuICAgICAgICBfX0hpc3RvcnlFcnJvclZhbHVlc1tfX0hpc3RvcnlFcnJvclZhbHVlc1tcIlRPT19NQU5ZX1JFU1VMVFNcIl0gPSA0MjldID0gXCJUT09fTUFOWV9SRVNVTFRTXCI7XG4gICAgICAgIF9fSGlzdG9yeUVycm9yVmFsdWVzW19fSGlzdG9yeUVycm9yVmFsdWVzW1wiU0VSVklDRV9VTkFWQUlMQUJMRVwiXSA9IDUwM10gPSBcIlNFUlZJQ0VfVU5BVkFJTEFCTEVcIjtcbiAgICB9KShfX0hpc3RvcnlFcnJvclZhbHVlcyB8fCAoX19IaXN0b3J5RXJyb3JWYWx1ZXMgPSB7fSkpO1xuICAgIChmdW5jdGlvbiAoSGlzdG9yeUVycm9yKSB7XG4gICAgICAgIEhpc3RvcnlFcnJvci5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbnVtZXJhdGlvbihfX0hpc3RvcnlFcnJvclZhbHVlcyk7XG4gICAgICAgIH07XG4gICAgfSkoSGlzdG9yeUVycm9yID0gSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvciB8fCAoSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvciA9IHt9KSk7XG4gICAgbGV0IF9jb2RlYztcbiAgICBIaXN0b3J5UmVzcG9uc2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1lc3NhZ2VzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmoubWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFdha3VNZXNzYWdlLmNvZGVjKCkuZW5jb2RlKHZhbHVlLCB3KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnBhZ2luZ0luZm8gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIFBhZ2luZ0luZm8uY29kZWMoKS5lbmNvZGUob2JqLnBhZ2luZ0luZm8sIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVycm9yICE9IG51bGwgJiYgX19IaXN0b3J5RXJyb3JWYWx1ZXNbb2JqLmVycm9yXSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzMik7XG4gICAgICAgICAgICAgICAgICAgIEhpc3RvcnlSZXNwb25zZS5IaXN0b3J5RXJyb3IuY29kZWMoKS5lbmNvZGUob2JqLmVycm9yLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlczogW10sXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBIaXN0b3J5RXJyb3IuTk9ORVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5saW1pdHM/Lm1lc3NhZ2VzICE9IG51bGwgJiYgb2JqLm1lc3NhZ2VzLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMubWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvZGVFcnJvcignZGVjb2RlIGVycm9yIC0gbWFwIGZpZWxkIFwibWVzc2FnZXNcIiBoYWQgdG9vIG1hbnkgZWxlbWVudHMnLCAnRVJSX01BWF9MRU5HVEgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lc3NhZ2VzLnB1c2goV2FrdU1lc3NhZ2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ubWVzc2FnZXMkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBhZ2luZ0luZm8gPSBQYWdpbmdJbmZvLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnBhZ2luZ0luZm9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcnJvciA9IEhpc3RvcnlSZXNwb25zZS5IaXN0b3J5RXJyb3IuY29kZWMoKS5kZWNvZGUocmVhZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBIaXN0b3J5UmVzcG9uc2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIEhpc3RvcnlSZXNwb25zZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIEhpc3RvcnlSZXNwb25zZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgSGlzdG9yeVJlc3BvbnNlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShIaXN0b3J5UmVzcG9uc2UgfHwgKEhpc3RvcnlSZXNwb25zZSA9IHt9KSk7XG5leHBvcnQgdmFyIEhpc3RvcnlScGM7XG4oZnVuY3Rpb24gKEhpc3RvcnlScGMpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIEhpc3RvcnlScGMuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5yZXF1ZXN0SWQgIT0gbnVsbCAmJiBvYmoucmVxdWVzdElkICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucmVxdWVzdElkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5xdWVyeSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgSGlzdG9yeVF1ZXJ5LmNvZGVjKCkuZW5jb2RlKG9iai5xdWVyeSwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmVzcG9uc2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIEhpc3RvcnlSZXNwb25zZS5jb2RlYygpLmVuY29kZShvYmoucmVzcG9uc2UsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RJZDogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3RJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5xdWVyeSA9IEhpc3RvcnlRdWVyeS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5xdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlc3BvbnNlID0gSGlzdG9yeVJlc3BvbnNlLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnJlc3BvbnNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgSGlzdG9yeVJwYy5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgSGlzdG9yeVJwYy5jb2RlYygpKTtcbiAgICB9O1xuICAgIEhpc3RvcnlScGMuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIEhpc3RvcnlScGMuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKEhpc3RvcnlScGMgfHwgKEhpc3RvcnlScGMgPSB7fSkpO1xuZXhwb3J0IHZhciBSYXRlTGltaXRQcm9vZjtcbihmdW5jdGlvbiAoUmF0ZUxpbWl0UHJvb2YpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFJhdGVMaW1pdFByb29mLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHJvb2YgIT0gbnVsbCAmJiBvYmoucHJvb2YuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucHJvb2YpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5tZXJrbGVSb290ICE9IG51bGwgJiYgb2JqLm1lcmtsZVJvb3QuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWVya2xlUm9vdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmVwb2NoICE9IG51bGwgJiYgb2JqLmVwb2NoLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVwb2NoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVYICE9IG51bGwgJiYgb2JqLnNoYXJlWC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVkgIT0gbnVsbCAmJiBvYmouc2hhcmVZLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig0Mik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm51bGxpZmllciAhPSBudWxsICYmIG9iai5udWxsaWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubnVsbGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmxuSWRlbnRpZmllciAhPSBudWxsICYmIG9iai5ybG5JZGVudGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnJsbklkZW50aWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb29mOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG1lcmtsZVJvb3Q6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgZXBvY2g6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVYOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWTogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBudWxsaWZpZXI6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgcmxuSWRlbnRpZmllcjogdWludDhBcnJheUFsbG9jKDApXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wcm9vZiA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lcmtsZVJvb3QgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcG9jaCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bGxpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJsbklkZW50aWZpZXIgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSk7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFJhdGVMaW1pdFByb29mIHx8IChSYXRlTGltaXRQcm9vZiA9IHt9KSk7XG5leHBvcnQgdmFyIFdha3VNZXNzYWdlO1xuKGZ1bmN0aW9uIChXYWt1TWVzc2FnZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1lc3NhZ2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wYXlsb2FkICE9IG51bGwgJiYgb2JqLnBheWxvYWQuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucGF5bG9hZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnZlcnNpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai52ZXJzaW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai50aW1lc3RhbXAgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai50aW1lc3RhbXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1ldGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1ldGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJhdGVMaW1pdFByb29mICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTcwKTtcbiAgICAgICAgICAgICAgICAgICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5lbmNvZGUob2JqLnJhdGVMaW1pdFByb29mLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lcGhlbWVyYWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLmVwaGVtZXJhbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYXlsb2FkID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnZlcnNpb24gPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnRpbWVzdGFtcCA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWV0YSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yYXRlTGltaXRQcm9vZiA9IFJhdGVMaW1pdFByb29mLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnJhdGVMaW1pdFByb29mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDMxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwaGVtZXJhbCA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFdha3VNZXNzYWdlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShXYWt1TWVzc2FnZSB8fCAoV2FrdU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RvcmUuanMubWFwIl0sIm5hbWVzIjpbIkNvZGVFcnJvciIsImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwiZW51bWVyYXRpb24iLCJtZXNzYWdlIiwiYWxsb2MiLCJ1aW50OEFycmF5QWxsb2MiLCJJbmRleCIsIl9jb2RlYyIsImNvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwiZGlnZXN0IiwiYnl0ZUxlbmd0aCIsInVpbnQzMiIsImJ5dGVzIiwicmVjZWl2ZXJUaW1lIiwic2ludDY0Iiwic2VuZGVyVGltZSIsInB1YnN1YlRvcGljIiwic3RyaW5nIiwibGRlbGltIiwicmVhZGVyIiwibGVuZ3RoIiwiZW5kIiwibGVuIiwicG9zIiwidGFnIiwic2tpcFR5cGUiLCJlbmNvZGUiLCJkZWNvZGUiLCJidWYiLCJQYWdpbmdJbmZvIiwiRGlyZWN0aW9uIiwiX19EaXJlY3Rpb25WYWx1ZXMiLCJwYWdlU2l6ZSIsInVpbnQ2NCIsImN1cnNvciIsImRpcmVjdGlvbiIsImxpbWl0cyIsIkNvbnRlbnRGaWx0ZXIiLCJjb250ZW50VG9waWMiLCJIaXN0b3J5UXVlcnkiLCJjb250ZW50RmlsdGVycyIsInZhbHVlIiwicGFnaW5nSW5mbyIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJwdXNoIiwiY29udGVudEZpbHRlcnMkIiwiSGlzdG9yeVJlc3BvbnNlIiwiSGlzdG9yeUVycm9yIiwiX19IaXN0b3J5RXJyb3JWYWx1ZXMiLCJtZXNzYWdlcyIsIldha3VNZXNzYWdlIiwiZXJyb3IiLCJOT05FIiwibWVzc2FnZXMkIiwiSGlzdG9yeVJwYyIsInJlcXVlc3RJZCIsInF1ZXJ5IiwicmVzcG9uc2UiLCJSYXRlTGltaXRQcm9vZiIsInByb29mIiwibWVya2xlUm9vdCIsImVwb2NoIiwic2hhcmVYIiwic2hhcmVZIiwibnVsbGlmaWVyIiwicmxuSWRlbnRpZmllciIsInBheWxvYWQiLCJ2ZXJzaW9uIiwidGltZXN0YW1wIiwibWV0YSIsInJhdGVMaW1pdFByb29mIiwiZXBoZW1lcmFsIiwiYm9vbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/topic_only_message.js":
/*!****************************************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/topic_only_message.js ***!
\****************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopicOnlyMessage: () => (/* binding */ TopicOnlyMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar TopicOnlyMessage;\n(function(TopicOnlyMessage) {\n let _codec;\n TopicOnlyMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n TopicOnlyMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, TopicOnlyMessage.codec());\n };\n TopicOnlyMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, TopicOnlyMessage.codec(), opts);\n };\n})(TopicOnlyMessage || (TopicOnlyMessage = {})); //# sourceMappingURL=topic_only_message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC90b3BpY19vbmx5X21lc3NhZ2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQ2dCO0FBQ2pFLElBQUlHLGlCQUFpQjtBQUMzQixVQUFVQSxnQkFBZ0I7SUFDdkIsSUFBSUM7SUFDSkQsaUJBQWlCRSxLQUFLLEdBQUc7UUFDckIsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTRix3REFBT0EsQ0FBQyxDQUFDSSxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUtKLElBQUlLLFlBQVksSUFBSSxRQUFRTCxJQUFJSyxZQUFZLEtBQUssSUFBSztvQkFDdkRKLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRU0sTUFBTSxDQUFDUCxJQUFJSyxZQUFZO2dCQUM3QjtnQkFDQSxJQUFJSCxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVPLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFSLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSSyxjQUFjO2dCQUNsQjtnQkFDQSxNQUFNTSxNQUFNRCxVQUFVLE9BQU9ELE9BQU9HLEdBQUcsR0FBR0gsT0FBT0ksR0FBRyxHQUFHSDtnQkFDdkQsTUFBT0QsT0FBT0ksR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTCxPQUFPSCxNQUFNO29CQUN6QixPQUFRUSxRQUFRO3dCQUNaLEtBQUs7NEJBQUc7Z0NBQ0pkLElBQUlLLFlBQVksR0FBR0ksT0FBT0YsTUFBTTtnQ0FDaEM7NEJBQ0o7d0JBQ0E7NEJBQVM7Z0NBQ0xFLE9BQU9NLFFBQVEsQ0FBQ0QsTUFBTTtnQ0FDdEI7NEJBQ0o7b0JBQ0o7Z0JBQ0o7Z0JBQ0EsT0FBT2Q7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBRCxpQkFBaUJtQixNQUFNLEdBQUcsQ0FBQ2hCO1FBQ3ZCLE9BQU9MLDhEQUFhQSxDQUFDSyxLQUFLSCxpQkFBaUJFLEtBQUs7SUFDcEQ7SUFDQUYsaUJBQWlCb0IsTUFBTSxHQUFHLENBQUNDLEtBQUtoQjtRQUM1QixPQUFPUiw4REFBYUEsQ0FBQ3dCLEtBQUtyQixpQkFBaUJFLEtBQUssSUFBSUc7SUFDeEQ7QUFDSixHQUFHTCxvQkFBcUJBLENBQUFBLG1CQUFtQixDQUFDLEtBQzVDLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9nZW5lcmF0ZWQvdG9waWNfb25seV9tZXNzYWdlLmpzPzRhNjQiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBkZWNvZGVNZXNzYWdlLCBlbmNvZGVNZXNzYWdlLCBtZXNzYWdlIH0gZnJvbSAncHJvdG9ucy1ydW50aW1lJztcbmV4cG9ydCB2YXIgVG9waWNPbmx5TWVzc2FnZTtcbihmdW5jdGlvbiAoVG9waWNPbmx5TWVzc2FnZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgVG9waWNPbmx5TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBUb3BpY09ubHlNZXNzYWdlLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBUb3BpY09ubHlNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgVG9waWNPbmx5TWVzc2FnZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgVG9waWNPbmx5TWVzc2FnZS5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoVG9waWNPbmx5TWVzc2FnZSB8fCAoVG9waWNPbmx5TWVzc2FnZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD10b3BpY19vbmx5X21lc3NhZ2UuanMubWFwIl0sIm5hbWVzIjpbImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwibWVzc2FnZSIsIlRvcGljT25seU1lc3NhZ2UiLCJfY29kZWMiLCJjb2RlYyIsIm9iaiIsInciLCJvcHRzIiwibGVuZ3RoRGVsaW1pdGVkIiwiZm9yayIsImNvbnRlbnRUb3BpYyIsInVpbnQzMiIsInN0cmluZyIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsImVuZCIsImxlbiIsInBvcyIsInRhZyIsInNraXBUeXBlIiwiZW5jb2RlIiwiZGVjb2RlIiwiYnVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/topic_only_message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/index.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/discovery/node_modules/@waku/proto/dist/index.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PushResponse: () => (/* reexport safe */ _generated_light_push_js__WEBPACK_IMPORTED_MODULE_4__.PushResponse),\n/* harmony export */ TopicOnlyMessage: () => (/* reexport safe */ _generated_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__.TopicOnlyMessage),\n/* harmony export */ WakuMessage: () => (/* reexport safe */ _generated_filter_js__WEBPACK_IMPORTED_MODULE_1__.WakuMessage),\n/* harmony export */ proto_filter: () => (/* reexport module object */ _generated_filter_js__WEBPACK_IMPORTED_MODULE_1__),\n/* harmony export */ proto_filter_v2: () => (/* reexport module object */ _generated_filter_v2_js__WEBPACK_IMPORTED_MODULE_3__),\n/* harmony export */ proto_lightpush: () => (/* reexport module object */ _generated_light_push_js__WEBPACK_IMPORTED_MODULE_4__),\n/* harmony export */ proto_message: () => (/* reexport module object */ _generated_message_js__WEBPACK_IMPORTED_MODULE_0__),\n/* harmony export */ proto_metadata: () => (/* reexport module object */ _generated_metadata_js__WEBPACK_IMPORTED_MODULE_7__),\n/* harmony export */ proto_peer_exchange: () => (/* reexport module object */ _generated_peer_exchange_js__WEBPACK_IMPORTED_MODULE_6__),\n/* harmony export */ proto_store: () => (/* reexport module object */ _generated_store_js__WEBPACK_IMPORTED_MODULE_5__),\n/* harmony export */ proto_topic_only_message: () => (/* reexport module object */ _generated_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__)\n/* harmony export */ });\n/* harmony import */ var _generated_message_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./generated/message.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/message.js\");\n/* harmony import */ var _generated_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./generated/filter.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/filter.js\");\n/* harmony import */ var _generated_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./generated/topic_only_message.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/topic_only_message.js\");\n/* harmony import */ var _generated_filter_v2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./generated/filter_v2.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/filter_v2.js\");\n/* harmony import */ var _generated_light_push_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./generated/light_push.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/light_push.js\");\n/* harmony import */ var _generated_store_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./generated/store.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/store.js\");\n/* harmony import */ var _generated_peer_exchange_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./generated/peer_exchange.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/peer_exchange.js\");\n/* harmony import */ var _generated_metadata_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./generated/metadata.js */ \"(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/generated/metadata.js\");\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvZGlzY292ZXJ5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBd0Q7QUFDSjtBQUMwQjtBQUNUO0FBQ2Y7QUFDTTtBQUNDO0FBQ0o7QUFDTDtBQUNnQjtBQUNWLENBQzFELGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2Rpc2NvdmVyeS9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9pbmRleC5qcz8yZDdiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGFzIHByb3RvX21lc3NhZ2UgZnJvbSBcIi4vZ2VuZXJhdGVkL21lc3NhZ2UuanNcIjtcbmV4cG9ydCB7IFdha3VNZXNzYWdlIH0gZnJvbSBcIi4vZ2VuZXJhdGVkL2ZpbHRlci5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fdG9waWNfb25seV9tZXNzYWdlIGZyb20gXCIuL2dlbmVyYXRlZC90b3BpY19vbmx5X21lc3NhZ2UuanNcIjtcbmV4cG9ydCB7IFRvcGljT25seU1lc3NhZ2UgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvdG9waWNfb25seV9tZXNzYWdlLmpzXCI7XG5leHBvcnQgKiBhcyBwcm90b19maWx0ZXIgZnJvbSBcIi4vZ2VuZXJhdGVkL2ZpbHRlci5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fZmlsdGVyX3YyIGZyb20gXCIuL2dlbmVyYXRlZC9maWx0ZXJfdjIuanNcIjtcbmV4cG9ydCAqIGFzIHByb3RvX2xpZ2h0cHVzaCBmcm9tIFwiLi9nZW5lcmF0ZWQvbGlnaHRfcHVzaC5qc1wiO1xuZXhwb3J0IHsgUHVzaFJlc3BvbnNlIH0gZnJvbSBcIi4vZ2VuZXJhdGVkL2xpZ2h0X3B1c2guanNcIjtcbmV4cG9ydCAqIGFzIHByb3RvX3N0b3JlIGZyb20gXCIuL2dlbmVyYXRlZC9zdG9yZS5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fcGVlcl9leGNoYW5nZSBmcm9tIFwiLi9nZW5lcmF0ZWQvcGVlcl9leGNoYW5nZS5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fbWV0YWRhdGEgZnJvbSAnLi9nZW5lcmF0ZWQvbWV0YWRhdGEuanMnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbInByb3RvX21lc3NhZ2UiLCJXYWt1TWVzc2FnZSIsInByb3RvX3RvcGljX29ubHlfbWVzc2FnZSIsIlRvcGljT25seU1lc3NhZ2UiLCJwcm90b19maWx0ZXIiLCJwcm90b19maWx0ZXJfdjIiLCJwcm90b19saWdodHB1c2giLCJQdXNoUmVzcG9uc2UiLCJwcm90b19zdG9yZSIsInByb3RvX3BlZXJfZXhjaGFuZ2UiLCJwcm90b19tZXRhZGF0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/discovery/node_modules/@waku/proto/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/connection_manager.js":
/*!******************************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/connection_manager.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EConnectionStateEvents: () => (/* binding */ EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* binding */ EPeersByDiscoveryEvents),\n/* harmony export */ Tags: () => (/* binding */ Tags)\n/* harmony export */ });\nvar Tags;\n(function(Tags) {\n Tags[\"BOOTSTRAP\"] = \"bootstrap\";\n Tags[\"PEER_EXCHANGE\"] = \"peer-exchange\";\n Tags[\"LOCAL\"] = \"local-peer-cache\";\n})(Tags || (Tags = {}));\nvar EPeersByDiscoveryEvents;\n(function(EPeersByDiscoveryEvents) {\n EPeersByDiscoveryEvents[\"PEER_DISCOVERY_BOOTSTRAP\"] = \"peer:discovery:bootstrap\";\n EPeersByDiscoveryEvents[\"PEER_DISCOVERY_PEER_EXCHANGE\"] = \"peer:discovery:peer-exchange\";\n EPeersByDiscoveryEvents[\"PEER_CONNECT_BOOTSTRAP\"] = \"peer:connected:bootstrap\";\n EPeersByDiscoveryEvents[\"PEER_CONNECT_PEER_EXCHANGE\"] = \"peer:connected:peer-exchange\";\n})(EPeersByDiscoveryEvents || (EPeersByDiscoveryEvents = {}));\nvar EConnectionStateEvents;\n(function(EConnectionStateEvents) {\n EConnectionStateEvents[\"CONNECTION_STATUS\"] = \"waku:connection\";\n})(EConnectionStateEvents || (EConnectionStateEvents = {})); //# sourceMappingURL=connection_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2Nvbm5lY3Rpb25fbWFuYWdlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTyxJQUFJQSxLQUFLO0FBQ2YsVUFBVUEsSUFBSTtJQUNYQSxJQUFJLENBQUMsWUFBWSxHQUFHO0lBQ3BCQSxJQUFJLENBQUMsZ0JBQWdCLEdBQUc7SUFDeEJBLElBQUksQ0FBQyxRQUFRLEdBQUc7QUFDcEIsR0FBR0EsUUFBU0EsQ0FBQUEsT0FBTyxDQUFDO0FBQ2IsSUFBSUMsd0JBQXdCO0FBQ2xDLFVBQVVBLHVCQUF1QjtJQUM5QkEsdUJBQXVCLENBQUMsMkJBQTJCLEdBQUc7SUFDdERBLHVCQUF1QixDQUFDLCtCQUErQixHQUFHO0lBQzFEQSx1QkFBdUIsQ0FBQyx5QkFBeUIsR0FBRztJQUNwREEsdUJBQXVCLENBQUMsNkJBQTZCLEdBQUc7QUFDNUQsR0FBR0EsMkJBQTRCQSxDQUFBQSwwQkFBMEIsQ0FBQztBQUNuRCxJQUFJQyx1QkFBdUI7QUFDakMsVUFBVUEsc0JBQXNCO0lBQzdCQSxzQkFBc0IsQ0FBQyxvQkFBb0IsR0FBRztBQUNsRCxHQUFHQSwwQkFBMkJBLENBQUFBLHlCQUF5QixDQUFDLEtBQ3hELDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9jb25uZWN0aW9uX21hbmFnZXIuanM/ZThlNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIFRhZ3M7XG4oZnVuY3Rpb24gKFRhZ3MpIHtcbiAgICBUYWdzW1wiQk9PVFNUUkFQXCJdID0gXCJib290c3RyYXBcIjtcbiAgICBUYWdzW1wiUEVFUl9FWENIQU5HRVwiXSA9IFwicGVlci1leGNoYW5nZVwiO1xuICAgIFRhZ3NbXCJMT0NBTFwiXSA9IFwibG9jYWwtcGVlci1jYWNoZVwiO1xufSkoVGFncyB8fCAoVGFncyA9IHt9KSk7XG5leHBvcnQgdmFyIEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzO1xuKGZ1bmN0aW9uIChFUGVlcnNCeURpc2NvdmVyeUV2ZW50cykge1xuICAgIEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzW1wiUEVFUl9ESVNDT1ZFUllfQk9PVFNUUkFQXCJdID0gXCJwZWVyOmRpc2NvdmVyeTpib290c3RyYXBcIjtcbiAgICBFUGVlcnNCeURpc2NvdmVyeUV2ZW50c1tcIlBFRVJfRElTQ09WRVJZX1BFRVJfRVhDSEFOR0VcIl0gPSBcInBlZXI6ZGlzY292ZXJ5OnBlZXItZXhjaGFuZ2VcIjtcbiAgICBFUGVlcnNCeURpc2NvdmVyeUV2ZW50c1tcIlBFRVJfQ09OTkVDVF9CT09UU1RSQVBcIl0gPSBcInBlZXI6Y29ubmVjdGVkOmJvb3RzdHJhcFwiO1xuICAgIEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzW1wiUEVFUl9DT05ORUNUX1BFRVJfRVhDSEFOR0VcIl0gPSBcInBlZXI6Y29ubmVjdGVkOnBlZXItZXhjaGFuZ2VcIjtcbn0pKEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzIHx8IChFUGVlcnNCeURpc2NvdmVyeUV2ZW50cyA9IHt9KSk7XG5leHBvcnQgdmFyIEVDb25uZWN0aW9uU3RhdGVFdmVudHM7XG4oZnVuY3Rpb24gKEVDb25uZWN0aW9uU3RhdGVFdmVudHMpIHtcbiAgICBFQ29ubmVjdGlvblN0YXRlRXZlbnRzW1wiQ09OTkVDVElPTl9TVEFUVVNcIl0gPSBcIndha3U6Y29ubmVjdGlvblwiO1xufSkoRUNvbm5lY3Rpb25TdGF0ZUV2ZW50cyB8fCAoRUNvbm5lY3Rpb25TdGF0ZUV2ZW50cyA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25uZWN0aW9uX21hbmFnZXIuanMubWFwIl0sIm5hbWVzIjpbIlRhZ3MiLCJFUGVlcnNCeURpc2NvdmVyeUV2ZW50cyIsIkVDb25uZWN0aW9uU3RhdGVFdmVudHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/connection_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/constants.js":
/*!*********************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/constants.js ***!
\*********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* binding */ DEFAULT_CLUSTER_ID),\n/* harmony export */ DefaultPubsubTopic: () => (/* binding */ DefaultPubsubTopic)\n/* harmony export */ });\n/**\n * DefaultPubsubTopic is the default gossipsub topic to use for Waku.\n */ const DefaultPubsubTopic = \"/waku/2/default-waku/proto\";\n/**\n * The default cluster ID for The Waku Network\n */ const DEFAULT_CLUSTER_ID = 1; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2NvbnN0YW50cy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBOztDQUVDLEdBQ00sTUFBTUEscUJBQXFCLDZCQUE2QjtBQUMvRDs7Q0FFQyxHQUNNLE1BQU1DLHFCQUFxQixFQUFFLENBQ3BDLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9jb25zdGFudHMuanM/MmQyNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlZmF1bHRQdWJzdWJUb3BpYyBpcyB0aGUgZGVmYXVsdCBnb3NzaXBzdWIgdG9waWMgdG8gdXNlIGZvciBXYWt1LlxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFB1YnN1YlRvcGljID0gXCIvd2FrdS8yL2RlZmF1bHQtd2FrdS9wcm90b1wiO1xuLyoqXG4gKiBUaGUgZGVmYXVsdCBjbHVzdGVyIElEIGZvciBUaGUgV2FrdSBOZXR3b3JrXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NMVVNURVJfSUQgPSAxO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmpzLm1hcCJdLCJuYW1lcyI6WyJEZWZhdWx0UHVic3ViVG9waWMiLCJERUZBVUxUX0NMVVNURVJfSUQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/constants.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/dns_discovery.js":
/*!*************************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/dns_discovery.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=dns_discovery.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2Ruc19kaXNjb3ZlcnkuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2Ruc19kaXNjb3ZlcnkuanM/NmJhOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kbnNfZGlzY292ZXJ5LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/dns_discovery.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/enr.js":
/*!***************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/enr.js ***!
\***************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=enr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2Vuci5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDViwrQkFBK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvZW5yLmpzPzEzNGYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/enr.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/filter.js":
/*!******************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/filter.js ***!
\******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2ZpbHRlci5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvZmlsdGVyLmpzPzYzNzgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmlsdGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/filter.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/index.js":
/*!*****************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/index.js ***!
\*****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_17__.DEFAULT_CLUSTER_ID),\n/* harmony export */ DefaultPubsubTopic: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_17__.DefaultPubsubTopic),\n/* harmony export */ EConnectionStateEvents: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.EPeersByDiscoveryEvents),\n/* harmony export */ PageDirection: () => (/* reexport safe */ _store_js__WEBPACK_IMPORTED_MODULE_7__.PageDirection),\n/* harmony export */ ProtocolError: () => (/* reexport safe */ _protocols_js__WEBPACK_IMPORTED_MODULE_5__.ProtocolError),\n/* harmony export */ Protocols: () => (/* reexport safe */ _protocols_js__WEBPACK_IMPORTED_MODULE_5__.Protocols),\n/* harmony export */ Tags: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.Tags)\n/* harmony export */ });\n/* harmony import */ var _enr_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enr.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/enr.js\");\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./filter.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/filter.js\");\n/* harmony import */ var _light_push_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./light_push.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/light_push.js\");\n/* harmony import */ var _message_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./message.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/message.js\");\n/* harmony import */ var _peer_exchange_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./peer_exchange.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/peer_exchange.js\");\n/* harmony import */ var _protocols_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protocols.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/protocols.js\");\n/* harmony import */ var _relay_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./relay.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/relay.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./store.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/store.js\");\n/* harmony import */ var _waku_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./waku.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/waku.js\");\n/* harmony import */ var _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./connection_manager.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/connection_manager.js\");\n/* harmony import */ var _sender_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./sender.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/sender.js\");\n/* harmony import */ var _receiver_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./receiver.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/receiver.js\");\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./misc.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/misc.js\");\n/* harmony import */ var _libp2p_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./libp2p.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/libp2p.js\");\n/* harmony import */ var _keep_alive_manager_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./keep_alive_manager.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/keep_alive_manager.js\");\n/* harmony import */ var _dns_discovery_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./dns_discovery.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/dns_discovery.js\");\n/* harmony import */ var _metadata_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./metadata.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/metadata.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/constants.js\");\n/* harmony import */ var _local_storage_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./local_storage.js */ \"(ssr)/./node_modules/@waku/interfaces/dist/local_storage.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF5QjtBQUNHO0FBQ0k7QUFDSDtBQUNNO0FBQ0o7QUFDSjtBQUNBO0FBQ0Q7QUFDYztBQUNaO0FBQ0U7QUFDSjtBQUNFO0FBQ1k7QUFDTDtBQUNMO0FBQ0M7QUFDSSxDQUNuQyxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvaW5kZXguanM/YzA2NiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9lbnIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZpbHRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGlnaHRfcHVzaC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWVzc2FnZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGVlcl9leGNoYW5nZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvdG9jb2xzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWxheS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dha3UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Nvbm5lY3Rpb25fbWFuYWdlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VuZGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWNlaXZlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWlzYy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGlicDJwLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rZWVwX2FsaXZlX21hbmFnZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Ruc19kaXNjb3ZlcnkuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21ldGFkYXRhLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvY2FsX3N0b3JhZ2UuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/keep_alive_manager.js":
/*!******************************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/keep_alive_manager.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=keep_alive_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2tlZXBfYWxpdmVfbWFuYWdlci5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDViw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qva2VlcF9hbGl2ZV9tYW5hZ2VyLmpzPzg0NWUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9a2VlcF9hbGl2ZV9tYW5hZ2VyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/keep_alive_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/libp2p.js":
/*!******************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/libp2p.js ***!
\******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=libp2p.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2xpYnAycC5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbGlicDJwLmpzP2Y1MjUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGlicDJwLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/libp2p.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/light_push.js":
/*!**********************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/light_push.js ***!
\**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=light_push.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2xpZ2h0X3B1c2guanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2xpZ2h0X3B1c2guanM/N2NmZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1saWdodF9wdXNoLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/light_push.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/local_storage.js":
/*!*************************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/local_storage.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=local_storage.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2xvY2FsX3N0b3JhZ2UuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2xvY2FsX3N0b3JhZ2UuanM/ZjY0ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1sb2NhbF9zdG9yYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/local_storage.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/message.js":
/*!*******************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/message.js ***!
\*******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L21lc3NhZ2UuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L21lc3NhZ2UuanM/MzYxZSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tZXNzYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/metadata.js":
/*!********************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/metadata.js ***!
\********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=metadata.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L21ldGFkYXRhLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLG9DQUFvQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9tZXRhZGF0YS5qcz80ZWNlIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1ldGFkYXRhLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/metadata.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/misc.js":
/*!****************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/misc.js ***!
\****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=misc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L21pc2MuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L21pc2MuanM/ZjJhOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1taXNjLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/misc.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/peer_exchange.js":
/*!*************************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/peer_exchange.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=peer_exchange.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3BlZXJfZXhjaGFuZ2UuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3BlZXJfZXhjaGFuZ2UuanM/ZTMzZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wZWVyX2V4Y2hhbmdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/peer_exchange.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/protocols.js":
/*!*********************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/protocols.js ***!
\*********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ProtocolError: () => (/* binding */ ProtocolError),\n/* harmony export */ Protocols: () => (/* binding */ Protocols)\n/* harmony export */ });\nvar Protocols;\n(function(Protocols) {\n Protocols[\"Relay\"] = \"relay\";\n Protocols[\"Store\"] = \"store\";\n Protocols[\"LightPush\"] = \"lightpush\";\n Protocols[\"Filter\"] = \"filter\";\n})(Protocols || (Protocols = {}));\nvar ProtocolError;\n(function(ProtocolError) {\n /** Could not determine the origin of the fault. Best to check connectivity and try again */ ProtocolError[\"GENERIC_FAIL\"] = \"Generic error\";\n /**\n * Failure to protobuf encode the message. This is not recoverable and needs\n * further investigation.\n */ ProtocolError[\"ENCODE_FAILED\"] = \"Failed to encode\";\n /**\n * Failure to protobuf decode the message. May be due to a remote peer issue,\n * ensuring that messages are sent via several peer enable mitigation of this error.\n */ ProtocolError[\"DECODE_FAILED\"] = \"Failed to decode\";\n /**\n * The message payload is empty, making the message invalid. Ensure that a non-empty\n * payload is set on the outgoing message.\n */ ProtocolError[\"EMPTY_PAYLOAD\"] = \"Payload is empty\";\n /**\n * The message size is above the maximum message size allowed on the Waku Network.\n * Compressing the message or using an alternative strategy for large messages is recommended.\n */ ProtocolError[\"SIZE_TOO_BIG\"] = \"Size is too big\";\n /**\n * The PubsubTopic passed to the send function is not configured on the Waku node.\n * Please ensure that the PubsubTopic is used when initializing the Waku node.\n */ ProtocolError[\"TOPIC_NOT_CONFIGURED\"] = \"Topic not configured\";\n /**\n * Failure to find a peer with suitable protocols. This may due to a connection issue.\n * Mitigation can be: retrying after a given time period, display connectivity issue\n * to user or listening for `peer:connected:bootstrap` or `peer:connected:peer-exchange`\n * on the connection manager before retrying.\n */ ProtocolError[\"NO_PEER_AVAILABLE\"] = \"No peer available\";\n /**\n * The remote peer did not behave as expected. Mitigation for `NO_PEER_AVAILABLE`\n * or `DECODE_FAILED` can be used.\n */ ProtocolError[\"REMOTE_PEER_FAULT\"] = \"Remote peer fault\";\n /**\n * The remote peer rejected the message. Information provided by the remote peer\n * is logged. Review message validity, or mitigation for `NO_PEER_AVAILABLE`\n * or `DECODE_FAILED` can be used.\n */ ProtocolError[\"REMOTE_PEER_REJECTED\"] = \"Remote peer rejected\";\n /**\n * The protocol request timed out without a response. This may be due to a connection issue.\n * Mitigation can be: retrying after a given time period\n */ ProtocolError[\"REQUEST_TIMEOUT\"] = \"Request timeout\";\n})(ProtocolError || (ProtocolError = {})); //# sourceMappingURL=protocols.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3Byb3RvY29scy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPLElBQUlBLFVBQVU7QUFDcEIsVUFBVUEsU0FBUztJQUNoQkEsU0FBUyxDQUFDLFFBQVEsR0FBRztJQUNyQkEsU0FBUyxDQUFDLFFBQVEsR0FBRztJQUNyQkEsU0FBUyxDQUFDLFlBQVksR0FBRztJQUN6QkEsU0FBUyxDQUFDLFNBQVMsR0FBRztBQUMxQixHQUFHQSxhQUFjQSxDQUFBQSxZQUFZLENBQUM7QUFDdkIsSUFBSUMsY0FBYztBQUN4QixVQUFVQSxhQUFhO0lBQ3BCLDBGQUEwRixHQUMxRkEsYUFBYSxDQUFDLGVBQWUsR0FBRztJQUNoQzs7O0tBR0MsR0FDREEsYUFBYSxDQUFDLGdCQUFnQixHQUFHO0lBQ2pDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsZ0JBQWdCLEdBQUc7SUFDakM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRztJQUNqQzs7O0tBR0MsR0FDREEsYUFBYSxDQUFDLGVBQWUsR0FBRztJQUNoQzs7O0tBR0MsR0FDREEsYUFBYSxDQUFDLHVCQUF1QixHQUFHO0lBQ3hDOzs7OztLQUtDLEdBQ0RBLGFBQWEsQ0FBQyxvQkFBb0IsR0FBRztJQUNyQzs7O0tBR0MsR0FDREEsYUFBYSxDQUFDLG9CQUFvQixHQUFHO0lBQ3JDOzs7O0tBSUMsR0FDREEsYUFBYSxDQUFDLHVCQUF1QixHQUFHO0lBQ3hDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsa0JBQWtCLEdBQUc7QUFDdkMsR0FBR0EsaUJBQWtCQSxDQUFBQSxnQkFBZ0IsQ0FBQyxLQUN0QyxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcHJvdG9jb2xzLmpzPzNmNWYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHZhciBQcm90b2NvbHM7XG4oZnVuY3Rpb24gKFByb3RvY29scykge1xuICAgIFByb3RvY29sc1tcIlJlbGF5XCJdID0gXCJyZWxheVwiO1xuICAgIFByb3RvY29sc1tcIlN0b3JlXCJdID0gXCJzdG9yZVwiO1xuICAgIFByb3RvY29sc1tcIkxpZ2h0UHVzaFwiXSA9IFwibGlnaHRwdXNoXCI7XG4gICAgUHJvdG9jb2xzW1wiRmlsdGVyXCJdID0gXCJmaWx0ZXJcIjtcbn0pKFByb3RvY29scyB8fCAoUHJvdG9jb2xzID0ge30pKTtcbmV4cG9ydCB2YXIgUHJvdG9jb2xFcnJvcjtcbihmdW5jdGlvbiAoUHJvdG9jb2xFcnJvcikge1xuICAgIC8qKiBDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBvcmlnaW4gb2YgdGhlIGZhdWx0LiBCZXN0IHRvIGNoZWNrIGNvbm5lY3Rpdml0eSBhbmQgdHJ5IGFnYWluICovXG4gICAgUHJvdG9jb2xFcnJvcltcIkdFTkVSSUNfRkFJTFwiXSA9IFwiR2VuZXJpYyBlcnJvclwiO1xuICAgIC8qKlxuICAgICAqIEZhaWx1cmUgdG8gcHJvdG9idWYgZW5jb2RlIHRoZSBtZXNzYWdlLiBUaGlzIGlzIG5vdCByZWNvdmVyYWJsZSBhbmQgbmVlZHNcbiAgICAgKiBmdXJ0aGVyIGludmVzdGlnYXRpb24uXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIkVOQ09ERV9GQUlMRURcIl0gPSBcIkZhaWxlZCB0byBlbmNvZGVcIjtcbiAgICAvKipcbiAgICAgKiBGYWlsdXJlIHRvIHByb3RvYnVmIGRlY29kZSB0aGUgbWVzc2FnZS4gTWF5IGJlIGR1ZSB0byBhIHJlbW90ZSBwZWVyIGlzc3VlLFxuICAgICAqIGVuc3VyaW5nIHRoYXQgbWVzc2FnZXMgYXJlIHNlbnQgdmlhIHNldmVyYWwgcGVlciBlbmFibGUgbWl0aWdhdGlvbiBvZiB0aGlzIGVycm9yLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJERUNPREVfRkFJTEVEXCJdID0gXCJGYWlsZWQgdG8gZGVjb2RlXCI7XG4gICAgLyoqXG4gICAgICogVGhlIG1lc3NhZ2UgcGF5bG9hZCBpcyBlbXB0eSwgbWFraW5nIHRoZSBtZXNzYWdlIGludmFsaWQuIEVuc3VyZSB0aGF0IGEgbm9uLWVtcHR5XG4gICAgICogcGF5bG9hZCBpcyBzZXQgb24gdGhlIG91dGdvaW5nIG1lc3NhZ2UuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIkVNUFRZX1BBWUxPQURcIl0gPSBcIlBheWxvYWQgaXMgZW1wdHlcIjtcbiAgICAvKipcbiAgICAgKiBUaGUgbWVzc2FnZSBzaXplIGlzIGFib3ZlIHRoZSBtYXhpbXVtIG1lc3NhZ2Ugc2l6ZSBhbGxvd2VkIG9uIHRoZSBXYWt1IE5ldHdvcmsuXG4gICAgICogQ29tcHJlc3NpbmcgdGhlIG1lc3NhZ2Ugb3IgdXNpbmcgYW4gYWx0ZXJuYXRpdmUgc3RyYXRlZ3kgZm9yIGxhcmdlIG1lc3NhZ2VzIGlzIHJlY29tbWVuZGVkLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJTSVpFX1RPT19CSUdcIl0gPSBcIlNpemUgaXMgdG9vIGJpZ1wiO1xuICAgIC8qKlxuICAgICAqIFRoZSBQdWJzdWJUb3BpYyBwYXNzZWQgdG8gdGhlIHNlbmQgZnVuY3Rpb24gaXMgbm90IGNvbmZpZ3VyZWQgb24gdGhlIFdha3Ugbm9kZS5cbiAgICAgKiBQbGVhc2UgZW5zdXJlIHRoYXQgdGhlIFB1YnN1YlRvcGljIGlzIHVzZWQgd2hlbiBpbml0aWFsaXppbmcgdGhlIFdha3Ugbm9kZS5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiVE9QSUNfTk9UX0NPTkZJR1VSRURcIl0gPSBcIlRvcGljIG5vdCBjb25maWd1cmVkXCI7XG4gICAgLyoqXG4gICAgICogRmFpbHVyZSB0byBmaW5kIGEgcGVlciB3aXRoIHN1aXRhYmxlIHByb3RvY29scy4gVGhpcyBtYXkgZHVlIHRvIGEgY29ubmVjdGlvbiBpc3N1ZS5cbiAgICAgKiBNaXRpZ2F0aW9uIGNhbiBiZTogcmV0cnlpbmcgYWZ0ZXIgYSBnaXZlbiB0aW1lIHBlcmlvZCwgZGlzcGxheSBjb25uZWN0aXZpdHkgaXNzdWVcbiAgICAgKiB0byB1c2VyIG9yIGxpc3RlbmluZyBmb3IgYHBlZXI6Y29ubmVjdGVkOmJvb3RzdHJhcGAgb3IgYHBlZXI6Y29ubmVjdGVkOnBlZXItZXhjaGFuZ2VgXG4gICAgICogb24gdGhlIGNvbm5lY3Rpb24gbWFuYWdlciBiZWZvcmUgcmV0cnlpbmcuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIk5PX1BFRVJfQVZBSUxBQkxFXCJdID0gXCJObyBwZWVyIGF2YWlsYWJsZVwiO1xuICAgIC8qKlxuICAgICAqIFRoZSByZW1vdGUgcGVlciBkaWQgbm90IGJlaGF2ZSBhcyBleHBlY3RlZC4gTWl0aWdhdGlvbiBmb3IgYE5PX1BFRVJfQVZBSUxBQkxFYFxuICAgICAqIG9yIGBERUNPREVfRkFJTEVEYCBjYW4gYmUgdXNlZC5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiUkVNT1RFX1BFRVJfRkFVTFRcIl0gPSBcIlJlbW90ZSBwZWVyIGZhdWx0XCI7XG4gICAgLyoqXG4gICAgICogVGhlIHJlbW90ZSBwZWVyIHJlamVjdGVkIHRoZSBtZXNzYWdlLiBJbmZvcm1hdGlvbiBwcm92aWRlZCBieSB0aGUgcmVtb3RlIHBlZXJcbiAgICAgKiBpcyBsb2dnZWQuIFJldmlldyBtZXNzYWdlIHZhbGlkaXR5LCBvciBtaXRpZ2F0aW9uIGZvciBgTk9fUEVFUl9BVkFJTEFCTEVgXG4gICAgICogb3IgYERFQ09ERV9GQUlMRURgIGNhbiBiZSB1c2VkLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJSRU1PVEVfUEVFUl9SRUpFQ1RFRFwiXSA9IFwiUmVtb3RlIHBlZXIgcmVqZWN0ZWRcIjtcbiAgICAvKipcbiAgICAgKiBUaGUgcHJvdG9jb2wgcmVxdWVzdCB0aW1lZCBvdXQgd2l0aG91dCBhIHJlc3BvbnNlLiBUaGlzIG1heSBiZSBkdWUgdG8gYSBjb25uZWN0aW9uIGlzc3VlLlxuICAgICAqIE1pdGlnYXRpb24gY2FuIGJlOiByZXRyeWluZyBhZnRlciBhIGdpdmVuIHRpbWUgcGVyaW9kXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIlJFUVVFU1RfVElNRU9VVFwiXSA9IFwiUmVxdWVzdCB0aW1lb3V0XCI7XG59KShQcm90b2NvbEVycm9yIHx8IChQcm90b2NvbEVycm9yID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXByb3RvY29scy5qcy5tYXAiXSwibmFtZXMiOlsiUHJvdG9jb2xzIiwiUHJvdG9jb2xFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/protocols.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/receiver.js":
/*!********************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/receiver.js ***!
\********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=receiver.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3JlY2VpdmVyLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLG9DQUFvQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9yZWNlaXZlci5qcz9kMTcyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlY2VpdmVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/receiver.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/relay.js":
/*!*****************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/relay.js ***!
\*****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=relay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3JlbGF5LmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9yZWxheS5qcz82ODA0Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbGF5LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/relay.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/sender.js":
/*!******************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/sender.js ***!
\******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=sender.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3NlbmRlci5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qvc2VuZGVyLmpzPzIzYWYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VuZGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/sender.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/store.js":
/*!*****************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/store.js ***!
\*****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PageDirection: () => (/* binding */ PageDirection)\n/* harmony export */ });\nvar PageDirection;\n(function(PageDirection) {\n PageDirection[\"BACKWARD\"] = \"backward\";\n PageDirection[\"FORWARD\"] = \"forward\";\n})(PageDirection || (PageDirection = {})); //# sourceMappingURL=store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3N0b3JlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTyxJQUFJQSxjQUFjO0FBQ3hCLFVBQVVBLGFBQWE7SUFDcEJBLGFBQWEsQ0FBQyxXQUFXLEdBQUc7SUFDNUJBLGFBQWEsQ0FBQyxVQUFVLEdBQUc7QUFDL0IsR0FBR0EsaUJBQWtCQSxDQUFBQSxnQkFBZ0IsQ0FBQyxLQUN0QyxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qvc3RvcmUuanM/MmJhOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIFBhZ2VEaXJlY3Rpb247XG4oZnVuY3Rpb24gKFBhZ2VEaXJlY3Rpb24pIHtcbiAgICBQYWdlRGlyZWN0aW9uW1wiQkFDS1dBUkRcIl0gPSBcImJhY2t3YXJkXCI7XG4gICAgUGFnZURpcmVjdGlvbltcIkZPUldBUkRcIl0gPSBcImZvcndhcmRcIjtcbn0pKFBhZ2VEaXJlY3Rpb24gfHwgKFBhZ2VEaXJlY3Rpb24gPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RvcmUuanMubWFwIl0sIm5hbWVzIjpbIlBhZ2VEaXJlY3Rpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/interfaces/dist/waku.js":
/*!****************************************************!*\
!*** ./node_modules/@waku/interfaces/dist/waku.js ***!
\****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=waku.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3dha3UuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3dha3UuanM/NGVhMiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YWt1LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/interfaces/dist/waku.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/dist/crypto/ecies.js":
/*!********************************************************************!*\
!*** ./node_modules/@waku/message-encryption/dist/crypto/ecies.js ***!
\********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decrypt: () => (/* binding */ decrypt),\n/* harmony export */ encrypt: () => (/* binding */ encrypt)\n/* harmony export */ });\n/* harmony import */ var _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @noble/secp256k1 */ \"(ssr)/./node_modules/@noble/secp256k1/lib/esm/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/crypto/utils.js\");\n\n\n\n/**\n * HKDF as implemented in go-ethereum.\n */ function kdf(secret, outputLength) {\n let ctr = 1;\n let written = 0;\n let willBeResult = Promise.resolve(new Uint8Array());\n while(written < outputLength){\n const counters = new Uint8Array([\n ctr >> 24,\n ctr >> 16,\n ctr >> 8,\n ctr\n ]);\n const countersSecret = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n counters,\n secret\n ], counters.length + secret.length);\n const willBeHashResult = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.sha256)(countersSecret);\n willBeResult = willBeResult.then((result)=>willBeHashResult.then((hashResult)=>{\n const _hashResult = new Uint8Array(hashResult);\n return (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n result,\n _hashResult\n ], result.length + _hashResult.length);\n }));\n written += 32;\n ctr += 1;\n }\n return willBeResult;\n}\nfunction aesCtrEncrypt(counter, key, data) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getSubtle)().importKey(\"raw\", key, \"AES-CTR\", false, [\n \"encrypt\"\n ]).then((cryptoKey)=>(0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getSubtle)().encrypt({\n name: \"AES-CTR\",\n counter: counter,\n length: 128\n }, cryptoKey, data)).then((bytes)=>new Uint8Array(bytes));\n}\nfunction aesCtrDecrypt(counter, key, data) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getSubtle)().importKey(\"raw\", key, \"AES-CTR\", false, [\n \"decrypt\"\n ]).then((cryptoKey)=>(0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getSubtle)().decrypt({\n name: \"AES-CTR\",\n counter: counter,\n length: 128\n }, cryptoKey, data)).then((bytes)=>new Uint8Array(bytes));\n}\nfunction hmacSha256Sign(key, msg) {\n const algorithm = {\n name: \"HMAC\",\n hash: {\n name: \"SHA-256\"\n }\n };\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getSubtle)().importKey(\"raw\", key, algorithm, false, [\n \"sign\"\n ]).then((cryptoKey)=>(0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getSubtle)().sign(algorithm, cryptoKey, msg)).then((bytes)=>new Uint8Array(bytes));\n}\nfunction hmacSha256Verify(key, msg, sig) {\n const algorithm = {\n name: \"HMAC\",\n hash: {\n name: \"SHA-256\"\n }\n };\n const _key = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getSubtle)().importKey(\"raw\", key, algorithm, false, [\n \"verify\"\n ]);\n return _key.then((cryptoKey)=>(0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getSubtle)().verify(algorithm, cryptoKey, sig, msg));\n}\n/**\n * Derive shared secret for given private and public keys.\n *\n * @param privateKeyA Sender's private key (32 bytes)\n * @param publicKeyB Recipient's public key (65 bytes)\n * @returns A promise that resolves with the derived shared secret (Px, 32 bytes)\n * @throws Error If arguments are invalid\n */ function derive(privateKeyA, publicKeyB) {\n if (privateKeyA.length !== 32) {\n throw new Error(`Bad private key, it should be 32 bytes but it's actually ${privateKeyA.length} bytes long`);\n } else if (publicKeyB.length !== 65) {\n throw new Error(`Bad public key, it should be 65 bytes but it's actually ${publicKeyB.length} bytes long`);\n } else if (publicKeyB[0] !== 4) {\n throw new Error(\"Bad public key, a valid public key would begin with 4\");\n } else {\n const px = _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__.getSharedSecret(privateKeyA, publicKeyB, true);\n // Remove the compression prefix\n return new Uint8Array((0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.hexToBytes)(px).slice(1));\n }\n}\n/**\n * Encrypt message for given recipient's public key.\n *\n * @param publicKeyTo Recipient's public key (65 bytes)\n * @param msg The message being encrypted\n * @return A promise that resolves with the ECIES structure serialized\n */ async function encrypt(publicKeyTo, msg) {\n const ephemPrivateKey = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.randomBytes)(32);\n const sharedPx = derive(ephemPrivateKey, publicKeyTo);\n const hash = await kdf(sharedPx, 32);\n const iv = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.randomBytes)(16);\n const encryptionKey = hash.slice(0, 16);\n const cipherText = await aesCtrEncrypt(iv, encryptionKey, msg);\n const ivCipherText = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n iv,\n cipherText\n ], iv.length + cipherText.length);\n const macKey = await (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.sha256)(hash.slice(16));\n const hmac = await hmacSha256Sign(macKey, ivCipherText);\n const ephemPublicKey = _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__.getPublicKey(ephemPrivateKey, false);\n return (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n ephemPublicKey,\n ivCipherText,\n hmac\n ], ephemPublicKey.length + ivCipherText.length + hmac.length);\n}\nconst metaLength = 1 + 64 + 16 + 32;\n/**\n * Decrypt message using given private key.\n *\n * @param privateKey A 32-byte private key of recipient of the message\n * @param encrypted ECIES serialized structure (result of ECIES encryption)\n * @returns The clear text\n * @throws Error If decryption fails\n */ async function decrypt(privateKey, encrypted) {\n if (encrypted.length <= metaLength) {\n throw new Error(`Invalid Ciphertext. Data is too small. It should ba at least ${metaLength} bytes`);\n } else if (encrypted[0] !== 4) {\n throw new Error(`Not a valid ciphertext. It should begin with 4 but actually begin with ${encrypted[0]}`);\n } else {\n // deserialize\n const ephemPublicKey = encrypted.slice(0, 65);\n const cipherTextLength = encrypted.length - metaLength;\n const iv = encrypted.slice(65, 65 + 16);\n const cipherAndIv = encrypted.slice(65, 65 + 16 + cipherTextLength);\n const ciphertext = cipherAndIv.slice(16);\n const msgMac = encrypted.slice(65 + 16 + cipherTextLength);\n // check HMAC\n const px = derive(privateKey, ephemPublicKey);\n const hash = await kdf(px, 32);\n const [encryptionKey, macKey] = await (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.sha256)(hash.slice(16)).then((macKey)=>[\n hash.slice(0, 16),\n macKey\n ]);\n if (!await hmacSha256Verify(macKey, cipherAndIv, msgMac)) {\n throw new Error(\"Incorrect MAC\");\n }\n return aesCtrDecrypt(iv, encryptionKey, ciphertext);\n }\n} //# sourceMappingURL=ecies.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL2Rpc3QvY3J5cHRvL2VjaWVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXlDO0FBQ2M7QUFDSztBQUM1RDs7Q0FFQyxHQUNELFNBQVNNLElBQUlDLE1BQU0sRUFBRUMsWUFBWTtJQUM3QixJQUFJQyxNQUFNO0lBQ1YsSUFBSUMsVUFBVTtJQUNkLElBQUlDLGVBQWVDLFFBQVFDLE9BQU8sQ0FBQyxJQUFJQztJQUN2QyxNQUFPSixVQUFVRixhQUFjO1FBQzNCLE1BQU1PLFdBQVcsSUFBSUQsV0FBVztZQUFDTCxPQUFPO1lBQUlBLE9BQU87WUFBSUEsT0FBTztZQUFHQTtTQUFJO1FBQ3JFLE1BQU1PLGlCQUFpQmYseURBQU1BLENBQUM7WUFBQ2M7WUFBVVI7U0FBTyxFQUFFUSxTQUFTRSxNQUFNLEdBQUdWLE9BQU9VLE1BQU07UUFDakYsTUFBTUMsbUJBQW1CYixpREFBTUEsQ0FBQ1c7UUFDaENMLGVBQWVBLGFBQWFRLElBQUksQ0FBQyxDQUFDQyxTQUFXRixpQkFBaUJDLElBQUksQ0FBQyxDQUFDRTtnQkFDaEUsTUFBTUMsY0FBYyxJQUFJUixXQUFXTztnQkFDbkMsT0FBT3BCLHlEQUFNQSxDQUFDO29CQUFDbUI7b0JBQVFFO2lCQUFZLEVBQUVGLE9BQU9ILE1BQU0sR0FBR0ssWUFBWUwsTUFBTTtZQUMzRTtRQUNBUCxXQUFXO1FBQ1hELE9BQU87SUFDWDtJQUNBLE9BQU9FO0FBQ1g7QUFDQSxTQUFTWSxjQUFjQyxPQUFPLEVBQUVDLEdBQUcsRUFBRUMsSUFBSTtJQUNyQyxPQUFPdkIsb0RBQVNBLEdBQ1h3QixTQUFTLENBQUMsT0FBT0YsS0FBSyxXQUFXLE9BQU87UUFBQztLQUFVLEVBQ25ETixJQUFJLENBQUMsQ0FBQ1MsWUFBY3pCLG9EQUFTQSxHQUFHMEIsT0FBTyxDQUFDO1lBQUVDLE1BQU07WUFBV04sU0FBU0E7WUFBU1AsUUFBUTtRQUFJLEdBQUdXLFdBQVdGLE9BQ3ZH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Q3pHLElBQUksQ0FBRSxNQUFNbEIsaUJBQWlCa0IsUUFBUVEsYUFBYUUsU0FBVTtZQUN4RCxNQUFNLElBQUlyQixNQUFNO1FBQ3BCO1FBQ0EsT0FBT2QsY0FBY3FCLElBQUlDLGVBQWVZO0lBQzVDO0FBQ0osRUFDQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9tZXNzYWdlLWVuY3J5cHRpb24vZGlzdC9jcnlwdG8vZWNpZXMuanM/NDljYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzZWNwIGZyb20gXCJAbm9ibGUvc2VjcDI1NmsxXCI7XG5pbXBvcnQgeyBjb25jYXQsIGhleFRvQnl0ZXMgfSBmcm9tIFwiQHdha3UvdXRpbHMvYnl0ZXNcIjtcbmltcG9ydCB7IGdldFN1YnRsZSwgcmFuZG9tQnl0ZXMsIHNoYTI1NiB9IGZyb20gXCIuL3V0aWxzLmpzXCI7XG4vKipcbiAqIEhLREYgYXMgaW1wbGVtZW50ZWQgaW4gZ28tZXRoZXJldW0uXG4gKi9cbmZ1bmN0aW9uIGtkZihzZWNyZXQsIG91dHB1dExlbmd0aCkge1xuICAgIGxldCBjdHIgPSAxO1xuICAgIGxldCB3cml0dGVuID0gMDtcbiAgICBsZXQgd2lsbEJlUmVzdWx0ID0gUHJvbWlzZS5yZXNvbHZlKG5ldyBVaW50OEFycmF5KCkpO1xuICAgIHdoaWxlICh3cml0dGVuIDwgb3V0cHV0TGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGNvdW50ZXJzID0gbmV3IFVpbnQ4QXJyYXkoW2N0ciA+PiAyNCwgY3RyID4+IDE2LCBjdHIgPj4gOCwgY3RyXSk7XG4gICAgICAgIGNvbnN0IGNvdW50ZXJzU2VjcmV0ID0gY29uY2F0KFtjb3VudGVycywgc2VjcmV0XSwgY291bnRlcnMubGVuZ3RoICsgc2VjcmV0Lmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IHdpbGxCZUhhc2hSZXN1bHQgPSBzaGEyNTYoY291bnRlcnNTZWNyZXQpO1xuICAgICAgICB3aWxsQmVSZXN1bHQgPSB3aWxsQmVSZXN1bHQudGhlbigocmVzdWx0KSA9PiB3aWxsQmVIYXNoUmVzdWx0LnRoZW4oKGhhc2hSZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IF9oYXNoUmVzdWx0ID0gbmV3IFVpbnQ4QXJyYXkoaGFzaFJlc3VsdCk7XG4gICAgICAgICAgICByZXR1cm4gY29uY2F0KFtyZXN1bHQsIF9oYXNoUmVzdWx0XSwgcmVzdWx0Lmxlbmd0aCArIF9oYXNoUmVzdWx0Lmxlbmd0aCk7XG4gICAgICAgIH0pKTtcbiAgICAgICAgd3JpdHRlbiArPSAzMjtcbiAgICAgICAgY3RyICs9IDE7XG4gICAgfVxuICAgIHJldHVybiB3aWxsQmVSZXN1bHQ7XG59XG5mdW5jdGlvbiBhZXNDdHJFbmNyeXB0KGNvdW50ZXIsIGtleSwgZGF0YSkge1xuICAgIHJldHVybiBnZXRTdWJ0bGUoKVxuICAgICAgICAuaW1wb3J0S2V5KFwicmF3XCIsIGtleSwgXCJBRVMtQ1RSXCIsIGZhbHNlLCBbXCJlbmNyeXB0XCJdKVxuICAgICAgICAudGhlbigoY3J5cHRvS2V5KSA9PiBnZXRTdWJ0bGUoKS5lbmNyeXB0KHsgbmFtZTogXCJBRVMtQ1RSXCIsIGNvdW50ZXI6IGNvdW50ZXIsIGxlbmd0aDogMTI4IH0sIGNyeXB0b0tleSwgZGF0YSkpXG4gICAgICAgIC50aGVuKChieXRlcykgPT4gbmV3IFVpbnQ4QXJyYXkoYnl0ZXMpKTtcbn1cbmZ1bmN0aW9uIGFlc0N0ckRlY3J5cHQoY291bnRlciwga2V5LCBkYXRhKSB7XG4gICAgcmV0dXJuIGdldFN1YnRsZSgpXG4gICAgICAgIC5pbXBvcnRLZXkoXCJyYXdcIiwga2V5LCBcIkFFUy1DVFJcIiwgZmFsc2UsIFtcImRlY3J5cHRcIl0pXG4gICAgICAgIC50aGVuKChjcnlwdG9LZXkpID0+IGdldFN1YnRsZSgpLmRlY3J5cHQoeyBuYW1lOiBcIkFFUy1DVFJcIiwgY291bnRlcjogY291bnRlciwgbGVuZ3RoOiAxMjggfSwgY3J5cHRvS2V5LCBkYXRhKSlcbiAgICAgICAgLnRoZW4oKGJ5dGVzKSA9PiBuZXcgVWludDhBcnJheShieXRlcykpO1xufVxuZnVuY3Rpb24gaG1hY1NoYTI1NlNpZ24oa2V5LCBtc2cpIHtcbiAgICBjb25zdCBhbGdvcml0aG0gPSB7IG5hbWU6IFwiSE1BQ1wiLCBoYXNoOiB7IG5hbWU6IFwiU0hBLTI1NlwiIH0gfTtcbiAgICByZXR1cm4gZ2V0U3VidGxlKClcbiAgICAgICAgLmltcG9ydEtleShcInJhd1wiLCBrZXksIGFsZ29yaXRobSwgZmFsc2UsIFtcInNpZ25cIl0pXG4gICAgICAgIC50aGVuKChjcnlwdG9LZXkpID0+IGdldFN1YnRsZSgpLnNpZ24oYWxnb3JpdGhtLCBjcnlwdG9LZXksIG1zZykpXG4gICAgICAgIC50aGVuKChieXRlcykgPT4gbmV3IFVpbnQ4QXJyYXkoYnl0ZXMpKTtcbn1cbmZ1bmN0aW9uIGhtYWNTaGEyNTZWZXJpZnkoa2V5LCBtc2csIHNpZykge1xuICAgIGNvbnN0IGFsZ29yaXRobSA9IHsgbmFtZTogXCJITUFDXCIsIGhhc2g6IHsgbmFtZTogXCJTSEEtMjU2XCIgfSB9O1xuICAgIGNvbnN0IF9rZXkgPSBnZXRTdWJ0bGUoKS5pbXBvcnRLZXkoXCJyYXdcIiwga2V5LCBhbGdvcml0aG0sIGZhbHNlLCBbXCJ2ZXJpZnlcIl0pO1xuICAgIHJldHVybiBfa2V5LnRoZW4oKGNyeXB0b0tleSkgPT4gZ2V0U3VidGxlKCkudmVyaWZ5KGFsZ29yaXRobSwgY3J5cHRvS2V5LCBzaWcsIG1zZykpO1xufVxuLyoqXG4gKiBEZXJpdmUgc2hhcmVkIHNlY3JldCBmb3IgZ2l2ZW4gcHJpdmF0ZSBhbmQgcHVibGljIGtleXMuXG4gKlxuICogQHBhcmFtICBwcml2YXRlS2V5QSBTZW5kZXIncyBwcml2YXRlIGtleSAoMzIgYnl0ZXMpXG4gKiBAcGFyYW0gIHB1YmxpY0tleUIgUmVjaXBpZW50J3MgcHVibGljIGtleSAoNjUgYnl0ZXMpXG4gKiBAcmV0dXJucyAgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgZGVyaXZlZCBzaGFyZWQgc2VjcmV0IChQeCwgMzIgYnl0ZXMpXG4gKiBAdGhyb3dzIEVycm9yIElmIGFyZ3VtZW50cyBhcmUgaW52YWxpZFxuICovXG5mdW5jdGlvbiBkZXJpdmUocHJpdmF0ZUtleUEsIHB1YmxpY0tleUIpIHtcbiAgICBpZiAocHJpdmF0ZUtleUEubGVuZ3RoICE9PSAzMikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEJhZCBwcml2YXRlIGtleSwgaXQgc2hvdWxkIGJlIDMyIGJ5dGVzIGJ1dCBpdCdzIGFjdHVhbGx5ICR7cHJpdmF0ZUtleUEubGVuZ3RofSBieXRlcyBsb25nYCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHB1YmxpY0tleUIubGVuZ3RoICE9PSA2NSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEJhZCBwdWJsaWMga2V5LCBpdCBzaG91bGQgYmUgNjUgYnl0ZXMgYnV0IGl0J3MgYWN0dWFsbHkgJHtwdWJsaWNLZXlCLmxlbmd0aH0gYnl0ZXMgbG9uZ2ApO1xuICAgIH1cbiAgICBlbHNlIGlmIChwdWJsaWNLZXlCWzBdICE9PSA0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJhZCBwdWJsaWMga2V5LCBhIHZhbGlkIHB1YmxpYyBrZXkgd291bGQgYmVnaW4gd2l0aCA0XCIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgcHggPSBzZWNwLmdldFNoYXJlZFNlY3JldChwcml2YXRlS2V5QSwgcHVibGljS2V5QiwgdHJ1ZSk7XG4gICAgICAgIC8vIFJlbW92ZSB0aGUgY29tcHJlc3Npb24gcHJlZml4XG4gICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheShoZXhUb0J5dGVzKHB4KS5zbGljZSgxKSk7XG4gICAgfVxufVxuLyoqXG4gKiBFbmNyeXB0IG1lc3NhZ2UgZm9yIGdpdmVuIHJlY2lwaWVudCdzIHB1YmxpYyBrZXkuXG4gKlxuICogQHBhcmFtICBwdWJsaWNLZXlUbyBSZWNpcGllbnQncyBwdWJsaWMga2V5ICg2NSBieXRlcylcbiAqIEBwYXJhbSAgbXNnIFRoZSBtZXNzYWdlIGJlaW5nIGVuY3J5cHRlZFxuICogQHJldHVybiBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBFQ0lFUyBzdHJ1Y3R1cmUgc2VyaWFsaXplZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5jcnlwdChwdWJsaWNLZXlUbywgbXNnKSB7XG4gICAgY29uc3QgZXBoZW1Qcml2YXRlS2V5ID0gcmFuZG9tQnl0ZXMoMzIpO1xuICAgIGNvbnN0IHNoYXJlZFB4ID0gZGVyaXZlKGVwaGVtUHJpdmF0ZUtleSwgcHVibGljS2V5VG8pO1xuICAgIGNvbnN0IGhhc2ggPSBhd2FpdCBrZGYoc2hhcmVkUHgsIDMyKTtcbiAgICBjb25zdCBpdiA9IHJhbmRvbUJ5dGVzKDE2KTtcbiAgICBjb25zdCBlbmNyeXB0aW9uS2V5ID0gaGFzaC5zbGljZSgwLCAxNik7XG4gICAgY29uc3QgY2lwaGVyVGV4dCA9IGF3YWl0IGFlc0N0ckVuY3J5cHQoaXYsIGVuY3J5cHRpb25LZXksIG1zZyk7XG4gICAgY29uc3QgaXZDaXBoZXJUZXh0ID0gY29uY2F0KFtpdiwgY2lwaGVyVGV4dF0sIGl2Lmxlbmd0aCArIGNpcGhlclRleHQubGVuZ3RoKTtcbiAgICBjb25zdCBtYWNLZXkgPSBhd2FpdCBzaGEyNTYoaGFzaC5zbGljZSgxNikpO1xuICAgIGNvbnN0IGhtYWMgPSBhd2FpdCBobWFjU2hhMjU2U2lnbihtYWNLZXksIGl2Q2lwaGVyVGV4dCk7XG4gICAgY29uc3QgZXBoZW1QdWJsaWNLZXkgPSBzZWNwLmdldFB1YmxpY0tleShlcGhlbVByaXZhdGVLZXksIGZhbHNlKTtcbiAgICByZXR1cm4gY29uY2F0KFtlcGhlbVB1YmxpY0tleSwgaXZDaXBoZXJUZXh0LCBobWFjXSwgZXBoZW1QdWJsaWNLZXkubGVuZ3RoICsgaXZDaXBoZXJUZXh0Lmxlbmd0aCArIGhtYWMubGVuZ3RoKTtcbn1cbmNvbnN0IG1ldGFMZW5ndGggPSAxICsgNjQgKyAxNiArIDMyO1xuLyoqXG4gKiBEZWNyeXB0IG1lc3NhZ2UgdXNpbmcgZ2l2ZW4gcHJpdmF0ZSBrZXkuXG4gKlxuICogQHBhcmFtIHByaXZhdGVLZXkgQSAzMi1ieXRlIHByaXZhdGUga2V5IG9mIHJlY2lwaWVudCBvZiB0aGUgbWVzc2FnZVxuICogQHBhcmFtIGVuY3J5cHRlZCBFQ0lFUyBzZXJpYWxpemVkIHN0cnVjdHVyZSAocmVzdWx0IG9mIEVDSUVTIGVuY3J5cHRpb24pXG4gKiBAcmV0dXJucyBUaGUgY2xlYXIgdGV4dFxuICogQHRocm93cyBFcnJvciBJZiBkZWNyeXB0aW9uIGZhaWxzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWNyeXB0KHByaXZhdGVLZXksIGVuY3J5cHRlZCkge1xuICAgIGlmIChlbmNyeXB0ZWQubGVuZ3RoIDw9IG1ldGFMZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENpcGhlcnRleHQuIERhdGEgaXMgdG9vIHNtYWxsLiBJdCBzaG91bGQgYmEgYXQgbGVhc3QgJHttZXRhTGVuZ3RofSBieXRlc2ApO1xuICAgIH1cbiAgICBlbHNlIGlmIChlbmNyeXB0ZWRbMF0gIT09IDQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgYSB2YWxpZCBjaXBoZXJ0ZXh0LiBJdCBzaG91bGQgYmVnaW4gd2l0aCA0IGJ1dCBhY3R1YWxseSBiZWdpbiB3aXRoICR7ZW5jcnlwdGVkWzBdfWApO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gZGVzZXJpYWxpemVcbiAgICAgICAgY29uc3QgZXBoZW1QdWJsaWNLZXkgPSBlbmNyeXB0ZWQuc2xpY2UoMCwgNjUpO1xuICAgICAgICBjb25zdCBjaXBoZXJUZXh0TGVuZ3RoID0gZW5jcnlwdGVkLmxlbmd0aCAtIG1ldGFMZW5ndGg7XG4gICAgICAgIGNvbnN0IGl2ID0gZW5jcnlwdGVkLnNsaWNlKDY1LCA2NSArIDE2KTtcbiAgICAgICAgY29uc3QgY2lwaGVyQW5kSXYgPSBlbmNyeXB0ZWQuc2xpY2UoNjUsIDY1ICsgMTYgKyBjaXBoZXJUZXh0TGVuZ3RoKTtcbiAgICAgICAgY29uc3QgY2lwaGVydGV4dCA9IGNpcGhlckFuZEl2LnNsaWNlKDE2KTtcbiAgICAgICAgY29uc3QgbXNnTWFjID0gZW5jcnlwdGVkLnNsaWNlKDY1ICsgMTYgKyBjaXBoZXJUZXh0TGVuZ3RoKTtcbiAgICAgICAgLy8gY2hlY2sgSE1BQ1xuICAgICAgICBjb25zdCBweCA9IGRlcml2ZShwcml2YXRlS2V5LCBlcGhlbVB1YmxpY0tleSk7XG4gICAgICAgIGNvbnN0IGhhc2ggPSBhd2FpdCBrZGYocHgsIDMyKTtcbiAgICAgICAgY29uc3QgW2VuY3J5cHRpb25LZXksIG1hY0tleV0gPSBhd2FpdCBzaGEyNTYoaGFzaC5zbGljZSgxNikpLnRoZW4oKG1hY0tleSkgPT4gW2hhc2guc2xpY2UoMCwgMTYpLCBtYWNLZXldKTtcbiAgICAgICAgaWYgKCEoYXdhaXQgaG1hY1NoYTI1NlZlcmlmeShtYWNLZXksIGNpcGhlckFuZEl2LCBtc2dNYWMpKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW5jb3JyZWN0IE1BQ1wiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWVzQ3RyRGVjcnlwdChpdiwgZW5jcnlwdGlvbktleSwgY2lwaGVydGV4dCk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZWNpZXMuanMubWFwIl0sIm5hbWVzIjpbInNlY3AiLCJjb25jYXQiLCJoZXhUb0J5dGVzIiwiZ2V0U3VidGxlIiwicmFuZG9tQnl0ZXMiLCJzaGEyNTYiLCJrZGYiLCJzZWNyZXQiLCJvdXRwdXRMZW5ndGgiLCJjdHIiLCJ3cml0dGVuIiwid2lsbEJlUmVzdWx0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJVaW50OEFycmF5IiwiY291bnRlcnMiLCJjb3VudGVyc1NlY3JldCIsImxlbmd0aCIsIndpbGxCZUhhc2hSZXN1bHQiLCJ0aGVuIiwicmVzdWx0IiwiaGFzaFJlc3VsdCIsIl9oYXNoUmVzdWx0IiwiYWVzQ3RyRW5jcnlwdCIsImNvdW50ZXIiLCJrZXkiLCJkYXRhIiwiaW1wb3J0S2V5IiwiY3J5cHRvS2V5IiwiZW5jcnlwdCIsIm5hbWUiLCJieXRlcyIsImFlc0N0ckRlY3J5cHQiLCJkZWNyeXB0IiwiaG1hY1NoYTI1NlNpZ24iLCJtc2ciLCJhbGdvcml0aG0iLCJoYXNoIiwic2lnbiIsImhtYWNTaGEyNTZWZXJpZnkiLCJzaWciLCJfa2V5IiwidmVyaWZ5IiwiZGVyaXZlIiwicHJpdmF0ZUtleUEiLCJwdWJsaWNLZXlCIiwiRXJyb3IiLCJweCIsImdldFNoYXJlZFNlY3JldCIsInNsaWNlIiwicHVibGljS2V5VG8iLCJlcGhlbVByaXZhdGVLZXkiLCJzaGFyZWRQeCIsIml2IiwiZW5jcnlwdGlvbktleSIsImNpcGhlclRleHQiLCJpdkNpcGhlclRleHQiLCJtYWNLZXkiLCJobWFjIiwiZXBoZW1QdWJsaWNLZXkiLCJnZXRQdWJsaWNLZXkiLCJtZXRhTGVuZ3RoIiwicHJpdmF0ZUtleSIsImVuY3J5cHRlZCIsImNpcGhlclRleHRMZW5ndGgiLCJjaXBoZXJBbmRJdiIsImNpcGhlcnRleHQiLCJtc2dNYWMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/dist/crypto/ecies.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/dist/crypto/index.js":
/*!********************************************************************!*\
!*** ./node_modules/@waku/message-encryption/dist/crypto/index.js ***!
\********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ecies: () => (/* reexport module object */ _ecies_js__WEBPACK_IMPORTED_MODULE_1__),\n/* harmony export */ generatePrivateKey: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_0__.generatePrivateKey),\n/* harmony export */ generateSymmetricKey: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_0__.generateSymmetricKey),\n/* harmony export */ getPublicKey: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_0__.getPublicKey),\n/* harmony export */ getSubtle: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_0__.getSubtle),\n/* harmony export */ keccak256: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_0__.keccak256),\n/* harmony export */ randomBytes: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_0__.randomBytes),\n/* harmony export */ sha256: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_0__.sha256),\n/* harmony export */ sign: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_0__.sign),\n/* harmony export */ symmetric: () => (/* reexport module object */ _symmetric_js__WEBPACK_IMPORTED_MODULE_2__)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/crypto/utils.js\");\n/* harmony import */ var _ecies_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ecies.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/crypto/ecies.js\");\n/* harmony import */ var _symmetric_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./symmetric.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/crypto/symmetric.js\");\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL2Rpc3QvY3J5cHRvL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBMkI7QUFDUztBQUNRLENBQzVDLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L21lc3NhZ2UtZW5jcnlwdGlvbi9kaXN0L2NyeXB0by9pbmRleC5qcz85OGZhIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3V0aWxzLmpzXCI7XG5leHBvcnQgKiBhcyBlY2llcyBmcm9tIFwiLi9lY2llcy5qc1wiO1xuZXhwb3J0ICogYXMgc3ltbWV0cmljIGZyb20gXCIuL3N5bW1ldHJpYy5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbImVjaWVzIiwic3ltbWV0cmljIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/dist/crypto/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/dist/crypto/symmetric.js":
/*!************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/dist/crypto/symmetric.js ***!
\************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decrypt: () => (/* binding */ decrypt),\n/* harmony export */ encrypt: () => (/* binding */ encrypt),\n/* harmony export */ generateIv: () => (/* binding */ generateIv)\n/* harmony export */ });\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../misc.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/misc.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/crypto/utils.js\");\n\n\nasync function encrypt(iv, key, clearText) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getSubtle)().importKey(\"raw\", key, _misc_js__WEBPACK_IMPORTED_MODULE_0__.Symmetric.algorithm, false, [\n \"encrypt\"\n ]).then((cryptoKey)=>(0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getSubtle)().encrypt({\n iv,\n ..._misc_js__WEBPACK_IMPORTED_MODULE_0__.Symmetric.algorithm\n }, cryptoKey, clearText)).then((cipher)=>new Uint8Array(cipher));\n}\nasync function decrypt(iv, key, cipherText) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getSubtle)().importKey(\"raw\", key, _misc_js__WEBPACK_IMPORTED_MODULE_0__.Symmetric.algorithm, false, [\n \"decrypt\"\n ]).then((cryptoKey)=>(0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getSubtle)().decrypt({\n iv,\n ..._misc_js__WEBPACK_IMPORTED_MODULE_0__.Symmetric.algorithm\n }, cryptoKey, cipherText)).then((clear)=>new Uint8Array(clear));\n}\nfunction generateIv() {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.randomBytes)(_misc_js__WEBPACK_IMPORTED_MODULE_0__.Symmetric.ivSize);\n} //# sourceMappingURL=symmetric.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL2Rpc3QvY3J5cHRvL3N5bW1ldHJpYy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUF1QztBQUNhO0FBQzdDLGVBQWVHLFFBQVFDLEVBQUUsRUFBRUMsR0FBRyxFQUFFQyxTQUFTO0lBQzVDLE9BQU9MLG9EQUFTQSxHQUNYTSxTQUFTLENBQUMsT0FBT0YsS0FBS0wsK0NBQVNBLENBQUNRLFNBQVMsRUFBRSxPQUFPO1FBQUM7S0FBVSxFQUM3REMsSUFBSSxDQUFDLENBQUNDLFlBQWNULG9EQUFTQSxHQUFHRSxPQUFPLENBQUM7WUFBRUM7WUFBSSxHQUFHSiwrQ0FBU0EsQ0FBQ1EsU0FBUztRQUFDLEdBQUdFLFdBQVdKLFlBQ25GRyxJQUFJLENBQUMsQ0FBQ0UsU0FBVyxJQUFJQyxXQUFXRDtBQUN6QztBQUNPLGVBQWVFLFFBQVFULEVBQUUsRUFBRUMsR0FBRyxFQUFFUyxVQUFVO0lBQzdDLE9BQU9iLG9EQUFTQSxHQUNYTSxTQUFTLENBQUMsT0FBT0YsS0FBS0wsK0NBQVNBLENBQUNRLFNBQVMsRUFBRSxPQUFPO1FBQUM7S0FBVSxFQUM3REMsSUFBSSxDQUFDLENBQUNDLFlBQWNULG9EQUFTQSxHQUFHWSxPQUFPLENBQUM7WUFBRVQ7WUFBSSxHQUFHSiwrQ0FBU0EsQ0FBQ1EsU0FBUztRQUFDLEdBQUdFLFdBQVdJLGFBQ25GTCxJQUFJLENBQUMsQ0FBQ00sUUFBVSxJQUFJSCxXQUFXRztBQUN4QztBQUNPLFNBQVNDO0lBQ1osT0FBT2Qsc0RBQVdBLENBQUNGLCtDQUFTQSxDQUFDaUIsTUFBTTtBQUN2QyxFQUNBLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L21lc3NhZ2UtZW5jcnlwdGlvbi9kaXN0L2NyeXB0by9zeW1tZXRyaWMuanM/MzA2YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTeW1tZXRyaWMgfSBmcm9tIFwiLi4vbWlzYy5qc1wiO1xuaW1wb3J0IHsgZ2V0U3VidGxlLCByYW5kb21CeXRlcyB9IGZyb20gXCIuL3V0aWxzLmpzXCI7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5jcnlwdChpdiwga2V5LCBjbGVhclRleHQpIHtcbiAgICByZXR1cm4gZ2V0U3VidGxlKClcbiAgICAgICAgLmltcG9ydEtleShcInJhd1wiLCBrZXksIFN5bW1ldHJpYy5hbGdvcml0aG0sIGZhbHNlLCBbXCJlbmNyeXB0XCJdKVxuICAgICAgICAudGhlbigoY3J5cHRvS2V5KSA9PiBnZXRTdWJ0bGUoKS5lbmNyeXB0KHsgaXYsIC4uLlN5bW1ldHJpYy5hbGdvcml0aG0gfSwgY3J5cHRvS2V5LCBjbGVhclRleHQpKVxuICAgICAgICAudGhlbigoY2lwaGVyKSA9PiBuZXcgVWludDhBcnJheShjaXBoZXIpKTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWNyeXB0KGl2LCBrZXksIGNpcGhlclRleHQpIHtcbiAgICByZXR1cm4gZ2V0U3VidGxlKClcbiAgICAgICAgLmltcG9ydEtleShcInJhd1wiLCBrZXksIFN5bW1ldHJpYy5hbGdvcml0aG0sIGZhbHNlLCBbXCJkZWNyeXB0XCJdKVxuICAgICAgICAudGhlbigoY3J5cHRvS2V5KSA9PiBnZXRTdWJ0bGUoKS5kZWNyeXB0KHsgaXYsIC4uLlN5bW1ldHJpYy5hbGdvcml0aG0gfSwgY3J5cHRvS2V5LCBjaXBoZXJUZXh0KSlcbiAgICAgICAgLnRoZW4oKGNsZWFyKSA9PiBuZXcgVWludDhBcnJheShjbGVhcikpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSXYoKSB7XG4gICAgcmV0dXJuIHJhbmRvbUJ5dGVzKFN5bW1ldHJpYy5pdlNpemUpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3ltbWV0cmljLmpzLm1hcCJdLCJuYW1lcyI6WyJTeW1tZXRyaWMiLCJnZXRTdWJ0bGUiLCJyYW5kb21CeXRlcyIsImVuY3J5cHQiLCJpdiIsImtleSIsImNsZWFyVGV4dCIsImltcG9ydEtleSIsImFsZ29yaXRobSIsInRoZW4iLCJjcnlwdG9LZXkiLCJjaXBoZXIiLCJVaW50OEFycmF5IiwiZGVjcnlwdCIsImNpcGhlclRleHQiLCJjbGVhciIsImdlbmVyYXRlSXYiLCJpdlNpemUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/dist/crypto/symmetric.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/dist/crypto/utils.js":
/*!********************************************************************!*\
!*** ./node_modules/@waku/message-encryption/dist/crypto/utils.js ***!
\********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generatePrivateKey: () => (/* binding */ generatePrivateKey),\n/* harmony export */ generateSymmetricKey: () => (/* binding */ generateSymmetricKey),\n/* harmony export */ getPublicKey: () => (/* binding */ getPublicKey),\n/* harmony export */ getSubtle: () => (/* binding */ getSubtle),\n/* harmony export */ keccak256: () => (/* binding */ keccak256),\n/* harmony export */ randomBytes: () => (/* binding */ randomBytes),\n/* harmony export */ sha256: () => (/* binding */ sha256),\n/* harmony export */ sign: () => (/* binding */ sign)\n/* harmony export */ });\n/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! crypto */ \"crypto\");\n/* harmony import */ var _noble_secp256k1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @noble/secp256k1 */ \"(ssr)/./node_modules/@noble/secp256k1/lib/esm/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var js_sha3__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! js-sha3 */ \"(ssr)/./node_modules/js-sha3/src/sha3.js\");\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../misc.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/misc.js\");\n\n\n\n\n\nconst crypto = {\n node: crypto__WEBPACK_IMPORTED_MODULE_0__,\n web: typeof self === \"object\" && \"crypto\" in self ? self.crypto : undefined\n};\nfunction getSubtle() {\n if (crypto.web) {\n return crypto.web.subtle;\n } else if (crypto.node) {\n return crypto.node.webcrypto.subtle;\n } else {\n throw new Error(\"The environment doesn't have Crypto Subtle API (if in the browser, be sure to use to be in a secure context, ie, https)\");\n }\n}\nconst randomBytes = _noble_secp256k1__WEBPACK_IMPORTED_MODULE_1__.utils.randomBytes;\nconst sha256 = _noble_secp256k1__WEBPACK_IMPORTED_MODULE_1__.utils.sha256;\n/**\n * Generate a new private key to be used for asymmetric encryption.\n *\n * Use {@link getPublicKey} to get the corresponding Public Key.\n */ function generatePrivateKey() {\n return randomBytes(_misc_js__WEBPACK_IMPORTED_MODULE_4__.Asymmetric.keySize);\n}\n/**\n * Generate a new symmetric key to be used for symmetric encryption.\n */ function generateSymmetricKey() {\n return randomBytes(_misc_js__WEBPACK_IMPORTED_MODULE_4__.Symmetric.keySize);\n}\n/**\n * Return the public key for the given private key, to be used for asymmetric\n * encryption.\n */ const getPublicKey = _noble_secp256k1__WEBPACK_IMPORTED_MODULE_1__.getPublicKey;\n/**\n * ECDSA Sign a message with the given private key.\n *\n * @param message The message to sign, usually a hash.\n * @param privateKey The ECDSA private key to use to sign the message.\n *\n * @returns The signature and the recovery id concatenated.\n */ async function sign(message, privateKey) {\n const [signature, recoveryId] = await _noble_secp256k1__WEBPACK_IMPORTED_MODULE_1__.sign(message, privateKey, {\n recovered: true,\n der: false\n });\n return (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_2__.concat)([\n signature,\n new Uint8Array([\n recoveryId\n ])\n ], signature.length + 1);\n}\nfunction keccak256(input) {\n return new Uint8Array(js_sha3__WEBPACK_IMPORTED_MODULE_3__.keccak256.arrayBuffer(input));\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL2Rpc3QvY3J5cHRvL3V0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBZ0M7QUFDUztBQUNFO0FBQ2hCO0FBQ3dCO0FBQ25ELE1BQU1NLFNBQVM7SUFDWEMsTUFBTVAsbUNBQVVBO0lBQ2hCUSxLQUFLLE9BQU9DLFNBQVMsWUFBWSxZQUFZQSxPQUFPQSxLQUFLSCxNQUFNLEdBQUdJO0FBQ3RFO0FBQ08sU0FBU0M7SUFDWixJQUFJTCxPQUFPRSxHQUFHLEVBQUU7UUFDWixPQUFPRixPQUFPRSxHQUFHLENBQUNJLE1BQU07SUFDNUIsT0FDSyxJQUFJTixPQUFPQyxJQUFJLEVBQUU7UUFDbEIsT0FBT0QsT0FBT0MsSUFBSSxDQUFDTSxTQUFTLENBQUNELE1BQU07SUFDdkMsT0FDSztRQUNELE1BQU0sSUFBSUUsTUFBTTtJQUNwQjtBQUNKO0FBQ08sTUFBTUMsY0FBY2QsbURBQVUsQ0FBQ2MsV0FBVyxDQUFDO0FBQzNDLE1BQU1FLFNBQVNoQixtREFBVSxDQUFDZ0IsTUFBTSxDQUFDO0FBQ3hDOzs7O0NBSUMsR0FDTSxTQUFTQztJQUNaLE9BQU9ILFlBQVlYLGdEQUFVQSxDQUFDZSxPQUFPO0FBQ3pDO0FBQ0E7O0NBRUMsR0FDTSxTQUFTQztJQUNaLE9BQU9MLFlBQVlWLCtDQUFTQSxDQUFDYyxPQUFPO0FBQ3hDO0FBQ0E7OztDQUdDLEdBQ00sTUFBTUUsZUFBZXBCLDBEQUFpQixDQUFDO0FBQzlDOzs7Ozs7O0NBT0MsR0FDTSxlQUFlcUIsS0FBS0MsT0FBTyxFQUFFQyxVQUFVO0lBQzFDLE1BQU0sQ0FBQ0MsV0FBV0MsV0FBVyxHQUFHLE1BQU16QixrREFBUyxDQUFDc0IsU0FBU0MsWUFBWTtRQUNqRUcsV0FBVztRQUNYQyxLQUFLO0lBQ1Q7SUFDQSxPQUFPMUIseURBQU1BLENBQUM7UUFBQ3VCO1FBQVcsSUFBSUksV0FBVztZQUFDSDtTQUFXO0tBQUUsRUFBRUQsVUFBVUssTUFBTSxHQUFHO0FBQ2hGO0FBQ08sU0FBU0MsVUFBVUMsS0FBSztJQUMzQixPQUFPLElBQUlILFdBQVcxQiw4Q0FBYyxDQUFDOEIsV0FBVyxDQUFDRDtBQUNyRCxFQUNBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L21lc3NhZ2UtZW5jcnlwdGlvbi9kaXN0L2NyeXB0by91dGlscy5qcz84Y2Q4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBub2RlQ3J5cHRvIGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCAqIGFzIHNlY3AgZnJvbSBcIkBub2JsZS9zZWNwMjU2azFcIjtcbmltcG9ydCB7IGNvbmNhdCB9IGZyb20gXCJAd2FrdS91dGlscy9ieXRlc1wiO1xuaW1wb3J0IHNoYTMgZnJvbSBcImpzLXNoYTNcIjtcbmltcG9ydCB7IEFzeW1tZXRyaWMsIFN5bW1ldHJpYyB9IGZyb20gXCIuLi9taXNjLmpzXCI7XG5jb25zdCBjcnlwdG8gPSB7XG4gICAgbm9kZTogbm9kZUNyeXB0byxcbiAgICB3ZWI6IHR5cGVvZiBzZWxmID09PSBcIm9iamVjdFwiICYmIFwiY3J5cHRvXCIgaW4gc2VsZiA/IHNlbGYuY3J5cHRvIDogdW5kZWZpbmVkXG59O1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN1YnRsZSgpIHtcbiAgICBpZiAoY3J5cHRvLndlYikge1xuICAgICAgICByZXR1cm4gY3J5cHRvLndlYi5zdWJ0bGU7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNyeXB0by5ub2RlKSB7XG4gICAgICAgIHJldHVybiBjcnlwdG8ubm9kZS53ZWJjcnlwdG8uc3VidGxlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlIGVudmlyb25tZW50IGRvZXNuJ3QgaGF2ZSBDcnlwdG8gU3VidGxlIEFQSSAoaWYgaW4gdGhlIGJyb3dzZXIsIGJlIHN1cmUgdG8gdXNlIHRvIGJlIGluIGEgc2VjdXJlIGNvbnRleHQsIGllLCBodHRwcylcIik7XG4gICAgfVxufVxuZXhwb3J0IGNvbnN0IHJhbmRvbUJ5dGVzID0gc2VjcC51dGlscy5yYW5kb21CeXRlcztcbmV4cG9ydCBjb25zdCBzaGEyNTYgPSBzZWNwLnV0aWxzLnNoYTI1Njtcbi8qKlxuICogR2VuZXJhdGUgYSBuZXcgcHJpdmF0ZSBrZXkgdG8gYmUgdXNlZCBmb3IgYXN5bW1ldHJpYyBlbmNyeXB0aW9uLlxuICpcbiAqIFVzZSB7QGxpbmsgZ2V0UHVibGljS2V5fSB0byBnZXQgdGhlIGNvcnJlc3BvbmRpbmcgUHVibGljIEtleS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUHJpdmF0ZUtleSgpIHtcbiAgICByZXR1cm4gcmFuZG9tQnl0ZXMoQXN5bW1ldHJpYy5rZXlTaXplKTtcbn1cbi8qKlxuICogR2VuZXJhdGUgYSBuZXcgc3ltbWV0cmljIGtleSB0byBiZSB1c2VkIGZvciBzeW1tZXRyaWMgZW5jcnlwdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU3ltbWV0cmljS2V5KCkge1xuICAgIHJldHVybiByYW5kb21CeXRlcyhTeW1tZXRyaWMua2V5U2l6ZSk7XG59XG4vKipcbiAqIFJldHVybiB0aGUgcHVibGljIGtleSBmb3IgdGhlIGdpdmVuIHByaXZhdGUga2V5LCB0byBiZSB1c2VkIGZvciBhc3ltbWV0cmljXG4gKiBlbmNyeXB0aW9uLlxuICovXG5leHBvcnQgY29uc3QgZ2V0UHVibGljS2V5ID0gc2VjcC5nZXRQdWJsaWNLZXk7XG4vKipcbiAqIEVDRFNBIFNpZ24gYSBtZXNzYWdlIHdpdGggdGhlIGdpdmVuIHByaXZhdGUga2V5LlxuICpcbiAqICBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBzaWduLCB1c3VhbGx5IGEgaGFzaC5cbiAqICBAcGFyYW0gcHJpdmF0ZUtleSBUaGUgRUNEU0EgcHJpdmF0ZSBrZXkgdG8gdXNlIHRvIHNpZ24gdGhlIG1lc3NhZ2UuXG4gKlxuICogIEByZXR1cm5zIFRoZSBzaWduYXR1cmUgYW5kIHRoZSByZWNvdmVyeSBpZCBjb25jYXRlbmF0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduKG1lc3NhZ2UsIHByaXZhdGVLZXkpIHtcbiAgICBjb25zdCBbc2lnbmF0dXJlLCByZWNvdmVyeUlkXSA9IGF3YWl0IHNlY3Auc2lnbihtZXNzYWdlLCBwcml2YXRlS2V5LCB7XG4gICAgICAgIHJlY292ZXJlZDogdHJ1ZSxcbiAgICAgICAgZGVyOiBmYWxzZVxuICAgIH0pO1xuICAgIHJldHVybiBjb25jYXQoW3NpZ25hdHVyZSwgbmV3IFVpbnQ4QXJyYXkoW3JlY292ZXJ5SWRdKV0sIHNpZ25hdHVyZS5sZW5ndGggKyAxKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBrZWNjYWsyNTYoaW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoc2hhMy5rZWNjYWsyNTYuYXJyYXlCdWZmZXIoaW5wdXQpKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6WyJub2RlQ3J5cHRvIiwic2VjcCIsImNvbmNhdCIsInNoYTMiLCJBc3ltbWV0cmljIiwiU3ltbWV0cmljIiwiY3J5cHRvIiwibm9kZSIsIndlYiIsInNlbGYiLCJ1bmRlZmluZWQiLCJnZXRTdWJ0bGUiLCJzdWJ0bGUiLCJ3ZWJjcnlwdG8iLCJFcnJvciIsInJhbmRvbUJ5dGVzIiwidXRpbHMiLCJzaGEyNTYiLCJnZW5lcmF0ZVByaXZhdGVLZXkiLCJrZXlTaXplIiwiZ2VuZXJhdGVTeW1tZXRyaWNLZXkiLCJnZXRQdWJsaWNLZXkiLCJzaWduIiwibWVzc2FnZSIsInByaXZhdGVLZXkiLCJzaWduYXR1cmUiLCJyZWNvdmVyeUlkIiwicmVjb3ZlcmVkIiwiZGVyIiwiVWludDhBcnJheSIsImxlbmd0aCIsImtlY2NhazI1NiIsImlucHV0IiwiYXJyYXlCdWZmZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/dist/crypto/utils.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/dist/decoded_message.js":
/*!***********************************************************************!*\
!*** ./node_modules/@waku/message-encryption/dist/decoded_message.js ***!
\***********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DecodedMessage: () => (/* binding */ DecodedMessage)\n/* harmony export */ });\n/* harmony import */ var _waku_core_lib_message_version_0__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/core/lib/message/version_0 */ \"(ssr)/./node_modules/@waku/core/dist/lib/message/version_0.js\");\n/* harmony import */ var uint8arrays_equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/equals */ \"(ssr)/./node_modules/uint8arrays/dist/src/equals.js\");\n\n\nclass DecodedMessage extends _waku_core_lib_message_version_0__WEBPACK_IMPORTED_MODULE_0__.DecodedMessage {\n constructor(pubsubTopic, proto, decodedPayload, signature, signaturePublicKey){\n super(pubsubTopic, proto);\n this.signature = signature;\n this.signaturePublicKey = signaturePublicKey;\n this._decodedPayload = decodedPayload;\n }\n get payload() {\n return this._decodedPayload;\n }\n /**\n * Verify the message's signature against the public key.\n *\n * @returns true if the signature matches the public key, false if not or if no signature is present.\n */ verifySignature(publicKey) {\n if (this.signaturePublicKey) {\n return (0,uint8arrays_equals__WEBPACK_IMPORTED_MODULE_1__.equals)(this.signaturePublicKey, publicKey);\n }\n return false;\n }\n} //# sourceMappingURL=decoded_message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL2Rpc3QvZGVjb2RlZF9tZXNzYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFzRjtBQUMxQztBQUNyQyxNQUFNQSx1QkFBdUJDLDRFQUFnQkE7SUFJaERFLFlBQVlDLFdBQVcsRUFBRUMsS0FBSyxFQUFFQyxjQUFjLEVBQUVDLFNBQVMsRUFBRUMsa0JBQWtCLENBQUU7UUFDM0UsS0FBSyxDQUFDSixhQUFhQztRQUNuQixJQUFJLENBQUNFLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0E7UUFDMUIsSUFBSSxDQUFDQyxlQUFlLEdBQUdIO0lBQzNCO0lBQ0EsSUFBSUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDRCxlQUFlO0lBQy9CO0lBQ0E7Ozs7S0FJQyxHQUNERSxnQkFBZ0JDLFNBQVMsRUFBRTtRQUN2QixJQUFJLElBQUksQ0FBQ0osa0JBQWtCLEVBQUU7WUFDekIsT0FBT04sMERBQU1BLENBQUMsSUFBSSxDQUFDTSxrQkFBa0IsRUFBRUk7UUFDM0M7UUFDQSxPQUFPO0lBQ1g7QUFDSixFQUNBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L21lc3NhZ2UtZW5jcnlwdGlvbi9kaXN0L2RlY29kZWRfbWVzc2FnZS5qcz9mZDczIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY29kZWRNZXNzYWdlIGFzIERlY29kZWRNZXNzYWdlVjAgfSBmcm9tIFwiQHdha3UvY29yZS9saWIvbWVzc2FnZS92ZXJzaW9uXzBcIjtcbmltcG9ydCB7IGVxdWFscyB9IGZyb20gXCJ1aW50OGFycmF5cy9lcXVhbHNcIjtcbmV4cG9ydCBjbGFzcyBEZWNvZGVkTWVzc2FnZSBleHRlbmRzIERlY29kZWRNZXNzYWdlVjAge1xuICAgIHNpZ25hdHVyZTtcbiAgICBzaWduYXR1cmVQdWJsaWNLZXk7XG4gICAgX2RlY29kZWRQYXlsb2FkO1xuICAgIGNvbnN0cnVjdG9yKHB1YnN1YlRvcGljLCBwcm90bywgZGVjb2RlZFBheWxvYWQsIHNpZ25hdHVyZSwgc2lnbmF0dXJlUHVibGljS2V5KSB7XG4gICAgICAgIHN1cGVyKHB1YnN1YlRvcGljLCBwcm90byk7XG4gICAgICAgIHRoaXMuc2lnbmF0dXJlID0gc2lnbmF0dXJlO1xuICAgICAgICB0aGlzLnNpZ25hdHVyZVB1YmxpY0tleSA9IHNpZ25hdHVyZVB1YmxpY0tleTtcbiAgICAgICAgdGhpcy5fZGVjb2RlZFBheWxvYWQgPSBkZWNvZGVkUGF5bG9hZDtcbiAgICB9XG4gICAgZ2V0IHBheWxvYWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWNvZGVkUGF5bG9hZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVmVyaWZ5IHRoZSBtZXNzYWdlJ3Mgc2lnbmF0dXJlIGFnYWluc3QgdGhlIHB1YmxpYyBrZXkuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBzaWduYXR1cmUgbWF0Y2hlcyB0aGUgcHVibGljIGtleSwgZmFsc2UgaWYgbm90IG9yIGlmIG5vIHNpZ25hdHVyZSBpcyBwcmVzZW50LlxuICAgICAqL1xuICAgIHZlcmlmeVNpZ25hdHVyZShwdWJsaWNLZXkpIHtcbiAgICAgICAgaWYgKHRoaXMuc2lnbmF0dXJlUHVibGljS2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gZXF1YWxzKHRoaXMuc2lnbmF0dXJlUHVibGljS2V5LCBwdWJsaWNLZXkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZWNvZGVkX21lc3NhZ2UuanMubWFwIl0sIm5hbWVzIjpbIkRlY29kZWRNZXNzYWdlIiwiRGVjb2RlZE1lc3NhZ2VWMCIsImVxdWFscyIsImNvbnN0cnVjdG9yIiwicHVic3ViVG9waWMiLCJwcm90byIsImRlY29kZWRQYXlsb2FkIiwic2lnbmF0dXJlIiwic2lnbmF0dXJlUHVibGljS2V5IiwiX2RlY29kZWRQYXlsb2FkIiwicGF5bG9hZCIsInZlcmlmeVNpZ25hdHVyZSIsInB1YmxpY0tleSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/dist/decoded_message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/dist/encryption.js":
/*!******************************************************************!*\
!*** ./node_modules/@waku/message-encryption/dist/encryption.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decryptAsymmetric: () => (/* binding */ decryptAsymmetric),\n/* harmony export */ decryptSymmetric: () => (/* binding */ decryptSymmetric),\n/* harmony export */ encryptAsymmetric: () => (/* binding */ encryptAsymmetric),\n/* harmony export */ encryptSymmetric: () => (/* binding */ encryptSymmetric),\n/* harmony export */ postCipher: () => (/* binding */ postCipher),\n/* harmony export */ preCipher: () => (/* binding */ preCipher)\n/* harmony export */ });\n/* harmony import */ var _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @noble/secp256k1 */ \"(ssr)/./node_modules/@noble/secp256k1/lib/esm/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var _crypto_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./crypto/index.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/crypto/index.js\");\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./misc.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/misc.js\");\n\n\n\n\nconst FlagsLength = 1;\nconst FlagMask = 3; // 0011\nconst IsSignedMask = 4; // 0100\nconst PaddingTarget = 256;\nconst SignatureLength = 65;\nfunction getSizeOfPayloadSizeField(message) {\n const messageDataView = new DataView(message.buffer);\n return messageDataView.getUint8(0) & FlagMask;\n}\nfunction getPayloadSize(message, sizeOfPayloadSizeField) {\n let payloadSizeBytes = message.slice(1, 1 + sizeOfPayloadSizeField);\n // int 32 == 4 bytes\n if (sizeOfPayloadSizeField < 4) {\n // If less than 4 bytes pad right (Little Endian).\n payloadSizeBytes = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n payloadSizeBytes,\n new Uint8Array(4 - sizeOfPayloadSizeField)\n ], 4);\n }\n const payloadSizeDataView = new DataView(payloadSizeBytes.buffer);\n return payloadSizeDataView.getInt32(0, true);\n}\nfunction isMessageSigned(message) {\n const messageDataView = new DataView(message.buffer);\n return (messageDataView.getUint8(0) & IsSignedMask) == IsSignedMask;\n}\n/**\n * Proceed with Asymmetric encryption of the data as per [26/WAKU-PAYLOAD](https://rfc.vac.dev/spec/26/).\n * The data MUST be flags | payload-length | payload | [signature].\n * The returned result can be set to `WakuMessage.payload`.\n *\n * @internal\n */ async function encryptAsymmetric(data, publicKey) {\n return _crypto_index_js__WEBPACK_IMPORTED_MODULE_2__.ecies.encrypt((0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.hexToBytes)(publicKey), data);\n}\n/**\n * Proceed with Asymmetric decryption of the data as per [26/WAKU-PAYLOAD](https://rfc.vac.dev/spec/26/).\n * The returned data is expected to be `flags | payload-length | payload | [signature]`.\n *\n * @internal\n */ async function decryptAsymmetric(payload, privKey) {\n return _crypto_index_js__WEBPACK_IMPORTED_MODULE_2__.ecies.decrypt(privKey, payload);\n}\n/**\n * Proceed with Symmetric encryption of the data as per [26/WAKU-PAYLOAD](https://rfc.vac.dev/spec/26/).\n *\n * @param data The data to encrypt, expected to be `flags | payload-length | payload | [signature]`.\n * @param key The key to use for encryption.\n * @returns The decrypted data, `cipherText | tag | iv` and can be set to `WakuMessage.payload`.\n *\n * @internal\n */ async function encryptSymmetric(data, key) {\n const iv = _crypto_index_js__WEBPACK_IMPORTED_MODULE_2__.symmetric.generateIv();\n // Returns `cipher | tag`\n const cipher = await _crypto_index_js__WEBPACK_IMPORTED_MODULE_2__.symmetric.encrypt(iv, (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.hexToBytes)(key), data);\n return (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n cipher,\n iv\n ]);\n}\n/**\n * Proceed with Symmetric decryption of the data as per [26/WAKU-PAYLOAD](https://rfc.vac.dev/spec/26/).\n *\n * @param payload The cipher data, it is expected to be `cipherText | tag | iv`.\n * @param key The key to use for decryption.\n * @returns The decrypted data, expected to be `flags | payload-length | payload | [signature]`.\n *\n * @internal\n */ async function decryptSymmetric(payload, key) {\n const ivStart = payload.length - _misc_js__WEBPACK_IMPORTED_MODULE_3__.Symmetric.ivSize;\n const cipher = payload.slice(0, ivStart);\n const iv = payload.slice(ivStart);\n return _crypto_index_js__WEBPACK_IMPORTED_MODULE_2__.symmetric.decrypt(iv, (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.hexToBytes)(key), cipher);\n}\n/**\n * Computes the flags & auxiliary-field as per [26/WAKU-PAYLOAD](https://rfc.vac.dev/spec/26/).\n */ function addPayloadSizeField(msg, payload) {\n const fieldSize = computeSizeOfPayloadSizeField(payload);\n let field = new Uint8Array(4);\n const fieldDataView = new DataView(field.buffer);\n fieldDataView.setUint32(0, payload.length, true);\n field = field.slice(0, fieldSize);\n msg = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n msg,\n field\n ]);\n msg[0] |= fieldSize;\n return msg;\n}\n/**\n * Returns the size of the auxiliary-field which in turns contains the payload size\n */ function computeSizeOfPayloadSizeField(payload) {\n let s = 1;\n for(let i = payload.length; i >= 256; i /= 256){\n s++;\n }\n return s;\n}\nfunction validateDataIntegrity(value, expectedSize) {\n if (value.length !== expectedSize) {\n return false;\n }\n return expectedSize <= 3 || value.findIndex((i)=>i !== 0) !== -1;\n}\nfunction getSignature(message) {\n return message.slice(message.length - SignatureLength, message.length);\n}\nfunction getHash(message, isSigned) {\n if (isSigned) {\n return (0,_crypto_index_js__WEBPACK_IMPORTED_MODULE_2__.keccak256)(message.slice(0, message.length - SignatureLength));\n }\n return (0,_crypto_index_js__WEBPACK_IMPORTED_MODULE_2__.keccak256)(message);\n}\nfunction ecRecoverPubKey(messageHash, signature) {\n const recoveryDataView = new DataView(signature.slice(64).buffer);\n const recovery = recoveryDataView.getUint8(0);\n const _signature = _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__.Signature.fromCompact(signature.slice(0, 64));\n return _noble_secp256k1__WEBPACK_IMPORTED_MODULE_0__.recoverPublicKey(messageHash, _signature, recovery, false);\n}\n/**\n * Prepare the payload pre-encryption.\n *\n * @internal\n * @returns The encoded payload, ready for encryption using {@link encryptAsymmetric}\n * or {@link encryptSymmetric}.\n */ async function preCipher(messagePayload, sigPrivKey) {\n let envelope = new Uint8Array([\n 0\n ]); // No flags\n envelope = addPayloadSizeField(envelope, messagePayload);\n envelope = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n envelope,\n messagePayload\n ]);\n // Calculate padding:\n let rawSize = FlagsLength + computeSizeOfPayloadSizeField(messagePayload) + messagePayload.length;\n if (sigPrivKey) {\n rawSize += SignatureLength;\n }\n const remainder = rawSize % PaddingTarget;\n const paddingSize = PaddingTarget - remainder;\n const pad = (0,_crypto_index_js__WEBPACK_IMPORTED_MODULE_2__.randomBytes)(paddingSize);\n if (!validateDataIntegrity(pad, paddingSize)) {\n throw new Error(\"failed to generate random padding of size \" + paddingSize);\n }\n envelope = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n envelope,\n pad\n ]);\n if (sigPrivKey) {\n envelope[0] |= IsSignedMask;\n const hash = (0,_crypto_index_js__WEBPACK_IMPORTED_MODULE_2__.keccak256)(envelope);\n const bytesSignature = await (0,_crypto_index_js__WEBPACK_IMPORTED_MODULE_2__.sign)(hash, sigPrivKey);\n envelope = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.concat)([\n envelope,\n bytesSignature\n ]);\n }\n return envelope;\n}\n/**\n * Decode a decrypted payload.\n *\n * @internal\n */ function postCipher(message) {\n const sizeOfPayloadSizeField = getSizeOfPayloadSizeField(message);\n if (sizeOfPayloadSizeField === 0) return;\n const payloadSize = getPayloadSize(message, sizeOfPayloadSizeField);\n const payloadStart = 1 + sizeOfPayloadSizeField;\n const payload = message.slice(payloadStart, payloadStart + payloadSize);\n const isSigned = isMessageSigned(message);\n let sig;\n if (isSigned) {\n const signature = getSignature(message);\n const hash = getHash(message, isSigned);\n const publicKey = ecRecoverPubKey(hash, signature);\n sig = {\n signature,\n publicKey\n };\n }\n return {\n payload,\n sig\n };\n} //# sourceMappingURL=encryption.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL2Rpc3QvZW5jcnlwdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQXlDO0FBQ2M7QUFDNEI7QUFDN0M7QUFDdEMsTUFBTVMsY0FBYztBQUNwQixNQUFNQyxXQUFXLEdBQUcsT0FBTztBQUMzQixNQUFNQyxlQUFlLEdBQUcsT0FBTztBQUMvQixNQUFNQyxnQkFBZ0I7QUFDdEIsTUFBTUMsa0JBQWtCO0FBQ3hCLFNBQVNDLDBCQUEwQkMsT0FBTztJQUN0QyxNQUFNQyxrQkFBa0IsSUFBSUMsU0FBU0YsUUFBUUcsTUFBTTtJQUNuRCxPQUFPRixnQkFBZ0JHLFFBQVEsQ0FBQyxLQUFLVDtBQUN6QztBQUNBLFNBQVNVLGVBQWVMLE9BQU8sRUFBRU0sc0JBQXNCO0lBQ25ELElBQUlDLG1CQUFtQlAsUUFBUVEsS0FBSyxDQUFDLEdBQUcsSUFBSUY7SUFDNUMsb0JBQW9CO0lBQ3BCLElBQUlBLHlCQUF5QixHQUFHO1FBQzVCLGtEQUFrRDtRQUNsREMsbUJBQW1CckIseURBQU1BLENBQUM7WUFBQ3FCO1lBQWtCLElBQUlFLFdBQVcsSUFBSUg7U0FBd0IsRUFBRTtJQUM5RjtJQUNBLE1BQU1JLHNCQUFzQixJQUFJUixTQUFTSyxpQkFBaUJKLE1BQU07SUFDaEUsT0FBT08sb0JBQW9CQyxRQUFRLENBQUMsR0FBRztBQUMzQztBQUNBLFNBQVNDLGdCQUFnQlosT0FBTztJQUM1QixNQUFNQyxrQkFBa0IsSUFBSUMsU0FBU0YsUUFBUUcsTUFBTTtJQUNuRCxPQUFPLENBQUNGLGdCQUFnQkcsUUFBUSxDQUFDLEtBQUtSLFlBQVcsS0FBTUE7QUFDM0Q7QUFDQTs7Ozs7O0NBTUMsR0FDTSxlQUFlaUIsa0JBQWtCQyxJQUFJLEVBQUVDLFNBQVM7SUFDbkQsT0FBTzNCLDJEQUFhLENBQUNELDZEQUFVQSxDQUFDNEIsWUFBWUQ7QUFDaEQ7QUFDQTs7Ozs7Q0FLQyxHQUNNLGVBQWVHLGtCQUFrQkMsT0FBTyxFQUFFQyxPQUFPO0lBQ3BELE9BQU8vQiwyREFBYSxDQUFDK0IsU0FBU0Q7QUFDbEM7QUFDQTs7Ozs7Ozs7Q0FRQyxHQUNNLGVBQWVHLGlCQUFpQlAsSUFBSSxFQUFFUSxHQUFHO0lBQzVDLE1BQU1DLEtBQUsvQixrRUFBb0I7SUFDL0IseUJBQXlCO0lBQ3pCLE1BQU1pQyxTQUFTLE1BQU1qQywrREFBaUIsQ0FBQytCLElBQUlwQyw2REFBVUEsQ0FBQ21DLE1BQU1SO0lBQzVELE9BQU81Qix5REFBTUEsQ0FBQztRQUFDdUM7UUFBUUY7S0FBRztBQUM5QjtBQUNBOzs7Ozs7OztDQVFDLEdBQ00sZUFBZUcsaUJBQWlCUixPQUFPLEVBQUVJLEdBQUc7SUFDL0MsTUFBTUssVUFBVVQsUUFBUVUsTUFBTSxHQUFHbkMsK0NBQVNBLENBQUNvQyxNQUFNO0lBQ2pELE1BQU1KLFNBQVNQLFFBQVFWLEtBQUssQ0FBQyxHQUFHbUI7SUFDaEMsTUFBTUosS0FBS0wsUUFBUVYsS0FBSyxDQUFDbUI7SUFDekIsT0FBT25DLCtEQUFpQixDQUFDK0IsSUFBSXBDLDZEQUFVQSxDQUFDbUMsTUFBTUc7QUFDbEQ7QUFDQTs7Q0FFQyxHQUNELFNBQVNLLG9CQUFvQkMsR0FBRyxFQUFFYixPQUFPO0lBQ3JDLE1BQU1jLFlBQVlDLDhCQUE4QmY7SUFDaEQsSUFBSWdCLFFBQVEsSUFBSXpCLFdBQVc7SUFDM0IsTUFBTTBCLGdCQUFnQixJQUFJakMsU0FBU2dDLE1BQU0vQixNQUFNO0lBQy9DZ0MsY0FBY0MsU0FBUyxDQUFDLEdBQUdsQixRQUFRVSxNQUFNLEVBQUU7SUFDM0NNLFFBQVFBLE1BQU0xQixLQUFLLENBQUMsR0FBR3dCO0lBQ3ZCRCxNQUFNN0MseURBQU1BLENBQUM7UUFBQzZDO1FBQUtHO0tBQU07SUFDekJILEdBQUcsQ0FBQyxFQUFFLElBQUlDO0lBQ1YsT0FBT0Q7QUFDWDtBQUNBOztDQUVDLEdBQ0QsU0FBU0UsOEJBQThCZixPQUFPO0lBQzFDLElBQUltQixJQUFJO0lBQ1IsSUFBSyxJQUFJQyxJQUFJcEIsUUFBUVUsTUFBTSxFQUFFVSxLQUFLLEtBQUtBLEtBQUssSUFBSztRQUM3Q0Q7SUFDSjtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxTQUFTRSxzQkFBc0JDLEtBQUssRUFBRUMsWUFBWTtJQUM5QyxJQUFJRCxNQUFNWixNQUFNLEtBQUthLGNBQWM7UUFDL0IsT0FBTztJQUNYO0lBQ0EsT0FBT0EsZ0JBQWdCLEtBQUtELE1BQU1FLFNBQVMsQ0FBQyxDQUFDSixJQUFNQSxNQUFNLE9BQU8sQ0FBQztBQUNyRTtBQUNBLFNBQVNLLGFBQWEzQyxPQUFPO0lBQ3pCLE9BQU9BLFFBQVFRLEtBQUssQ0FBQ1IsUUFBUTRCLE1BQU0sR0FBRzlCLGlCQUFpQkUsUUFBUTRCLE1BQU07QUFDekU7QUFDQSxTQUFTZ0IsUUFBUTVDLE9BQU8sRUFBRTZDLFFBQVE7SUFDOUIsSUFBSUEsVUFBVTtRQUNWLE9BQU94RCwyREFBU0EsQ0FBQ1csUUFBUVEsS0FBSyxDQUFDLEdBQUdSLFFBQVE0QixNQUFNLEdBQUc5QjtJQUN2RDtJQUNBLE9BQU9ULDJEQUFTQSxDQUFDVztBQUNyQjtBQUNBLFNBQVM4QyxnQkFBZ0JDLFdBQVcsRUFBRUMsU0FBUztJQUMzQyxNQUFNQyxtQkFBbUIsSUFBSS9DLFNBQVM4QyxVQUFVeEMsS0FBSyxDQUFDLElBQUlMLE1BQU07SUFDaEUsTUFBTStDLFdBQVdELGlCQUFpQjdDLFFBQVEsQ0FBQztJQUMzQyxNQUFNK0MsYUFBYWxFLHVEQUFjLENBQUNvRSxXQUFXLENBQUNMLFVBQVV4QyxLQUFLLENBQUMsR0FBRztJQUNqRSxPQUFPdkIsOERBQXFCLENBQUM4RCxhQUFhSSxZQUFZRCxVQUFVO0FBQ3BFO0FBQ0E7Ozs7OztDQU1DLEdBQ00sZUFBZUssVUFBVUMsY0FBYyxFQUFFQyxVQUFVO0lBQ3RELElBQUlDLFdBQVcsSUFBSWpELFdBQVc7UUFBQztLQUFFLEdBQUcsV0FBVztJQUMvQ2lELFdBQVc1QixvQkFBb0I0QixVQUFVRjtJQUN6Q0UsV0FBV3hFLHlEQUFNQSxDQUFDO1FBQUN3RTtRQUFVRjtLQUFlO0lBQzVDLHFCQUFxQjtJQUNyQixJQUFJRyxVQUFVakUsY0FDVnVDLDhCQUE4QnVCLGtCQUM5QkEsZUFBZTVCLE1BQU07SUFDekIsSUFBSTZCLFlBQVk7UUFDWkUsV0FBVzdEO0lBQ2Y7SUFDQSxNQUFNOEQsWUFBWUQsVUFBVTlEO0lBQzVCLE1BQU1nRSxjQUFjaEUsZ0JBQWdCK0Q7SUFDcEMsTUFBTUUsTUFBTXhFLDZEQUFXQSxDQUFDdUU7SUFDeEIsSUFBSSxDQUFDdEIsc0JBQXNCdUIsS0FBS0QsY0FBYztRQUMxQyxNQUFNLElBQUlFLE1BQU0sK0NBQStDRjtJQUNuRTtJQUNBSCxXQUFXeEUseURBQU1BLENBQUM7UUFBQ3dFO1FBQVVJO0tBQUk7SUFDakMsSUFBSUwsWUFBWTtRQUNaQyxRQUFRLENBQUMsRUFBRSxJQUFJOUQ7UUFDZixNQUFNb0UsT0FBTzNFLDJEQUFTQSxDQUFDcUU7UUFDdkIsTUFBTU8saUJBQWlCLE1BQU0xRSxzREFBSUEsQ0FBQ3lFLE1BQU1QO1FBQ3hDQyxXQUFXeEUseURBQU1BLENBQUM7WUFBQ3dFO1lBQVVPO1NBQWU7SUFDaEQ7SUFDQSxPQUFPUDtBQUNYO0FBQ0E7Ozs7Q0FJQyxHQUNNLFNBQVNRLFdBQVdsRSxPQUFPO0lBQzlCLE1BQU1NLHlCQUF5QlAsMEJBQTBCQztJQUN6RCxJQUFJTSwyQkFBMkIsR0FDM0I7SUFDSixNQUFNNkQsY0FBYzlELGVBQWVMLFNBQVNNO0lBQzVDLE1BQU04RCxlQUFlLElBQUk5RDtJQUN6QixNQUFNWSxVQUFVbEIsUUFBUVEsS0FBSyxDQUFDNEQsY0FBY0EsZUFBZUQ7SUFDM0QsTUFBTXRCLFdBQVdqQyxnQkFBZ0JaO0lBQ2pDLElBQUlxRTtJQUNKLElBQUl4QixVQUFVO1FBQ1YsTUFBTUcsWUFBWUwsYUFBYTNDO1FBQy9CLE1BQU1nRSxPQUFPcEIsUUFBUTVDLFNBQVM2QztRQUM5QixNQUFNOUIsWUFBWStCLGdCQUFnQmtCLE1BQU1oQjtRQUN4Q3FCLE1BQU07WUFBRXJCO1lBQVdqQztRQUFVO0lBQ2pDO0lBQ0EsT0FBTztRQUFFRztRQUFTbUQ7SUFBSTtBQUMxQixFQUNBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L21lc3NhZ2UtZW5jcnlwdGlvbi9kaXN0L2VuY3J5cHRpb24uanM/MDI2ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzZWNwIGZyb20gXCJAbm9ibGUvc2VjcDI1NmsxXCI7XG5pbXBvcnQgeyBjb25jYXQsIGhleFRvQnl0ZXMgfSBmcm9tIFwiQHdha3UvdXRpbHMvYnl0ZXNcIjtcbmltcG9ydCB7IGVjaWVzLCBrZWNjYWsyNTYsIHJhbmRvbUJ5dGVzLCBzaWduLCBzeW1tZXRyaWMgfSBmcm9tIFwiLi9jcnlwdG8vaW5kZXguanNcIjtcbmltcG9ydCB7IFN5bW1ldHJpYyB9IGZyb20gXCIuL21pc2MuanNcIjtcbmNvbnN0IEZsYWdzTGVuZ3RoID0gMTtcbmNvbnN0IEZsYWdNYXNrID0gMzsgLy8gMDAxMVxuY29uc3QgSXNTaWduZWRNYXNrID0gNDsgLy8gMDEwMFxuY29uc3QgUGFkZGluZ1RhcmdldCA9IDI1NjtcbmNvbnN0IFNpZ25hdHVyZUxlbmd0aCA9IDY1O1xuZnVuY3Rpb24gZ2V0U2l6ZU9mUGF5bG9hZFNpemVGaWVsZChtZXNzYWdlKSB7XG4gICAgY29uc3QgbWVzc2FnZURhdGFWaWV3ID0gbmV3IERhdGFWaWV3KG1lc3NhZ2UuYnVmZmVyKTtcbiAgICByZXR1cm4gbWVzc2FnZURhdGFWaWV3LmdldFVpbnQ4KDApICYgRmxhZ01hc2s7XG59XG5mdW5jdGlvbiBnZXRQYXlsb2FkU2l6ZShtZXNzYWdlLCBzaXplT2ZQYXlsb2FkU2l6ZUZpZWxkKSB7XG4gICAgbGV0IHBheWxvYWRTaXplQnl0ZXMgPSBtZXNzYWdlLnNsaWNlKDEsIDEgKyBzaXplT2ZQYXlsb2FkU2l6ZUZpZWxkKTtcbiAgICAvLyBpbnQgMzIgPT0gNCBieXRlc1xuICAgIGlmIChzaXplT2ZQYXlsb2FkU2l6ZUZpZWxkIDwgNCkge1xuICAgICAgICAvLyBJZiBsZXNzIHRoYW4gNCBieXRlcyBwYWQgcmlnaHQgKExpdHRsZSBFbmRpYW4pLlxuICAgICAgICBwYXlsb2FkU2l6ZUJ5dGVzID0gY29uY2F0KFtwYXlsb2FkU2l6ZUJ5dGVzLCBuZXcgVWludDhBcnJheSg0IC0gc2l6ZU9mUGF5bG9hZFNpemVGaWVsZCldLCA0KTtcbiAgICB9XG4gICAgY29uc3QgcGF5bG9hZFNpemVEYXRhVmlldyA9IG5ldyBEYXRhVmlldyhwYXlsb2FkU2l6ZUJ5dGVzLmJ1ZmZlcik7XG4gICAgcmV0dXJuIHBheWxvYWRTaXplRGF0YVZpZXcuZ2V0SW50MzIoMCwgdHJ1ZSk7XG59XG5mdW5jdGlvbiBpc01lc3NhZ2VTaWduZWQobWVzc2FnZSkge1xuICAgIGNvbnN0IG1lc3NhZ2VEYXRhVmlldyA9IG5ldyBEYXRhVmlldyhtZXNzYWdlLmJ1ZmZlcik7XG4gICAgcmV0dXJuIChtZXNzYWdlRGF0YVZpZXcuZ2V0VWludDgoMCkgJiBJc1NpZ25lZE1hc2spID09IElzU2lnbmVkTWFzaztcbn1cbi8qKlxuICogUHJvY2VlZCB3aXRoIEFzeW1tZXRyaWMgZW5jcnlwdGlvbiBvZiB0aGUgZGF0YSBhcyBwZXIgWzI2L1dBS1UtUEFZTE9BRF0oaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzI2LykuXG4gKiBUaGUgZGF0YSBNVVNUIGJlIGZsYWdzIHwgcGF5bG9hZC1sZW5ndGggfCBwYXlsb2FkIHwgW3NpZ25hdHVyZV0uXG4gKiBUaGUgcmV0dXJuZWQgcmVzdWx0ICBjYW4gYmUgc2V0IHRvIGBXYWt1TWVzc2FnZS5wYXlsb2FkYC5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRBc3ltbWV0cmljKGRhdGEsIHB1YmxpY0tleSkge1xuICAgIHJldHVybiBlY2llcy5lbmNyeXB0KGhleFRvQnl0ZXMocHVibGljS2V5KSwgZGF0YSk7XG59XG4vKipcbiAqIFByb2NlZWQgd2l0aCBBc3ltbWV0cmljIGRlY3J5cHRpb24gb2YgdGhlIGRhdGEgYXMgcGVyIFsyNi9XQUtVLVBBWUxPQURdKGh0dHBzOi8vcmZjLnZhYy5kZXYvc3BlYy8yNi8pLlxuICogVGhlIHJldHVybmVkIGRhdGEgaXMgZXhwZWN0ZWQgdG8gYmUgYGZsYWdzIHwgcGF5bG9hZC1sZW5ndGggfCBwYXlsb2FkIHwgW3NpZ25hdHVyZV1gLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVjcnlwdEFzeW1tZXRyaWMocGF5bG9hZCwgcHJpdktleSkge1xuICAgIHJldHVybiBlY2llcy5kZWNyeXB0KHByaXZLZXksIHBheWxvYWQpO1xufVxuLyoqXG4gKiBQcm9jZWVkIHdpdGggU3ltbWV0cmljIGVuY3J5cHRpb24gb2YgdGhlIGRhdGEgYXMgcGVyIFsyNi9XQUtVLVBBWUxPQURdKGh0dHBzOi8vcmZjLnZhYy5kZXYvc3BlYy8yNi8pLlxuICpcbiAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIGVuY3J5cHQsIGV4cGVjdGVkIHRvIGJlIGBmbGFncyB8IHBheWxvYWQtbGVuZ3RoIHwgcGF5bG9hZCB8IFtzaWduYXR1cmVdYC5cbiAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB1c2UgZm9yIGVuY3J5cHRpb24uXG4gKiBAcmV0dXJucyBUaGUgZGVjcnlwdGVkIGRhdGEsIGBjaXBoZXJUZXh0IHwgdGFnIHwgaXZgIGFuZCBjYW4gYmUgc2V0IHRvIGBXYWt1TWVzc2FnZS5wYXlsb2FkYC5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRTeW1tZXRyaWMoZGF0YSwga2V5KSB7XG4gICAgY29uc3QgaXYgPSBzeW1tZXRyaWMuZ2VuZXJhdGVJdigpO1xuICAgIC8vIFJldHVybnMgYGNpcGhlciB8IHRhZ2BcbiAgICBjb25zdCBjaXBoZXIgPSBhd2FpdCBzeW1tZXRyaWMuZW5jcnlwdChpdiwgaGV4VG9CeXRlcyhrZXkpLCBkYXRhKTtcbiAgICByZXR1cm4gY29uY2F0KFtjaXBoZXIsIGl2XSk7XG59XG4vKipcbiAqIFByb2NlZWQgd2l0aCBTeW1tZXRyaWMgZGVjcnlwdGlvbiBvZiB0aGUgZGF0YSBhcyBwZXIgWzI2L1dBS1UtUEFZTE9BRF0oaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzI2LykuXG4gKlxuICogQHBhcmFtIHBheWxvYWQgVGhlIGNpcGhlciBkYXRhLCBpdCBpcyBleHBlY3RlZCB0byBiZSBgY2lwaGVyVGV4dCB8IHRhZyB8IGl2YC5cbiAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB1c2UgZm9yIGRlY3J5cHRpb24uXG4gKiBAcmV0dXJucyBUaGUgZGVjcnlwdGVkIGRhdGEsIGV4cGVjdGVkIHRvIGJlIGBmbGFncyB8IHBheWxvYWQtbGVuZ3RoIHwgcGF5bG9hZCB8IFtzaWduYXR1cmVdYC5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlY3J5cHRTeW1tZXRyaWMocGF5bG9hZCwga2V5KSB7XG4gICAgY29uc3QgaXZTdGFydCA9IHBheWxvYWQubGVuZ3RoIC0gU3ltbWV0cmljLml2U2l6ZTtcbiAgICBjb25zdCBjaXBoZXIgPSBwYXlsb2FkLnNsaWNlKDAsIGl2U3RhcnQpO1xuICAgIGNvbnN0IGl2ID0gcGF5bG9hZC5zbGljZShpdlN0YXJ0KTtcbiAgICByZXR1cm4gc3ltbWV0cmljLmRlY3J5cHQoaXYsIGhleFRvQnl0ZXMoa2V5KSwgY2lwaGVyKTtcbn1cbi8qKlxuICogQ29tcHV0ZXMgdGhlIGZsYWdzICYgYXV4aWxpYXJ5LWZpZWxkIGFzIHBlciBbMjYvV0FLVS1QQVlMT0FEXShodHRwczovL3JmYy52YWMuZGV2L3NwZWMvMjYvKS5cbiAqL1xuZnVuY3Rpb24gYWRkUGF5bG9hZFNpemVGaWVsZChtc2csIHBheWxvYWQpIHtcbiAgICBjb25zdCBmaWVsZFNpemUgPSBjb21wdXRlU2l6ZU9mUGF5bG9hZFNpemVGaWVsZChwYXlsb2FkKTtcbiAgICBsZXQgZmllbGQgPSBuZXcgVWludDhBcnJheSg0KTtcbiAgICBjb25zdCBmaWVsZERhdGFWaWV3ID0gbmV3IERhdGFWaWV3KGZpZWxkLmJ1ZmZlcik7XG4gICAgZmllbGREYXRhVmlldy5zZXRVaW50MzIoMCwgcGF5bG9hZC5sZW5ndGgsIHRydWUpO1xuICAgIGZpZWxkID0gZmllbGQuc2xpY2UoMCwgZmllbGRTaXplKTtcbiAgICBtc2cgPSBjb25jYXQoW21zZywgZmllbGRdKTtcbiAgICBtc2dbMF0gfD0gZmllbGRTaXplO1xuICAgIHJldHVybiBtc2c7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIHNpemUgb2YgdGhlIGF1eGlsaWFyeS1maWVsZCB3aGljaCBpbiB0dXJucyBjb250YWlucyB0aGUgcGF5bG9hZCBzaXplXG4gKi9cbmZ1bmN0aW9uIGNvbXB1dGVTaXplT2ZQYXlsb2FkU2l6ZUZpZWxkKHBheWxvYWQpIHtcbiAgICBsZXQgcyA9IDE7XG4gICAgZm9yIChsZXQgaSA9IHBheWxvYWQubGVuZ3RoOyBpID49IDI1NjsgaSAvPSAyNTYpIHtcbiAgICAgICAgcysrO1xuICAgIH1cbiAgICByZXR1cm4gcztcbn1cbmZ1bmN0aW9uIHZhbGlkYXRlRGF0YUludGVncml0eSh2YWx1ZSwgZXhwZWN0ZWRTaXplKSB7XG4gICAgaWYgKHZhbHVlLmxlbmd0aCAhPT0gZXhwZWN0ZWRTaXplKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGV4cGVjdGVkU2l6ZSA8PSAzIHx8IHZhbHVlLmZpbmRJbmRleCgoaSkgPT4gaSAhPT0gMCkgIT09IC0xO1xufVxuZnVuY3Rpb24gZ2V0U2lnbmF0dXJlKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gbWVzc2FnZS5zbGljZShtZXNzYWdlLmxlbmd0aCAtIFNpZ25hdHVyZUxlbmd0aCwgbWVzc2FnZS5sZW5ndGgpO1xufVxuZnVuY3Rpb24gZ2V0SGFzaChtZXNzYWdlLCBpc1NpZ25lZCkge1xuICAgIGlmIChpc1NpZ25lZCkge1xuICAgICAgICByZXR1cm4ga2VjY2FrMjU2KG1lc3NhZ2Uuc2xpY2UoMCwgbWVzc2FnZS5sZW5ndGggLSBTaWduYXR1cmVMZW5ndGgpKTtcbiAgICB9XG4gICAgcmV0dXJuIGtlY2NhazI1NihtZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIGVjUmVjb3ZlclB1YktleShtZXNzYWdlSGFzaCwgc2lnbmF0dXJlKSB7XG4gICAgY29uc3QgcmVjb3ZlcnlEYXRhVmlldyA9IG5ldyBEYXRhVmlldyhzaWduYXR1cmUuc2xpY2UoNjQpLmJ1ZmZlcik7XG4gICAgY29uc3QgcmVjb3ZlcnkgPSByZWNvdmVyeURhdGFWaWV3LmdldFVpbnQ4KDApO1xuICAgIGNvbnN0IF9zaWduYXR1cmUgPSBzZWNwLlNpZ25hdHVyZS5mcm9tQ29tcGFjdChzaWduYXR1cmUuc2xpY2UoMCwgNjQpKTtcbiAgICByZXR1cm4gc2VjcC5yZWNvdmVyUHVibGljS2V5KG1lc3NhZ2VIYXNoLCBfc2lnbmF0dXJlLCByZWNvdmVyeSwgZmFsc2UpO1xufVxuLyoqXG4gKiBQcmVwYXJlIHRoZSBwYXlsb2FkIHByZS1lbmNyeXB0aW9uLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHJldHVybnMgVGhlIGVuY29kZWQgcGF5bG9hZCwgcmVhZHkgZm9yIGVuY3J5cHRpb24gdXNpbmcge0BsaW5rIGVuY3J5cHRBc3ltbWV0cmljfVxuICogb3Ige0BsaW5rIGVuY3J5cHRTeW1tZXRyaWN9LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlQ2lwaGVyKG1lc3NhZ2VQYXlsb2FkLCBzaWdQcml2S2V5KSB7XG4gICAgbGV0IGVudmVsb3BlID0gbmV3IFVpbnQ4QXJyYXkoWzBdKTsgLy8gTm8gZmxhZ3NcbiAgICBlbnZlbG9wZSA9IGFkZFBheWxvYWRTaXplRmllbGQoZW52ZWxvcGUsIG1lc3NhZ2VQYXlsb2FkKTtcbiAgICBlbnZlbG9wZSA9IGNvbmNhdChbZW52ZWxvcGUsIG1lc3NhZ2VQYXlsb2FkXSk7XG4gICAgLy8gQ2FsY3VsYXRlIHBhZGRpbmc6XG4gICAgbGV0IHJhd1NpemUgPSBGbGFnc0xlbmd0aCArXG4gICAgICAgIGNvbXB1dGVTaXplT2ZQYXlsb2FkU2l6ZUZpZWxkKG1lc3NhZ2VQYXlsb2FkKSArXG4gICAgICAgIG1lc3NhZ2VQYXlsb2FkLmxlbmd0aDtcbiAgICBpZiAoc2lnUHJpdktleSkge1xuICAgICAgICByYXdTaXplICs9IFNpZ25hdHVyZUxlbmd0aDtcbiAgICB9XG4gICAgY29uc3QgcmVtYWluZGVyID0gcmF3U2l6ZSAlIFBhZGRpbmdUYXJnZXQ7XG4gICAgY29uc3QgcGFkZGluZ1NpemUgPSBQYWRkaW5nVGFyZ2V0IC0gcmVtYWluZGVyO1xuICAgIGNvbnN0IHBhZCA9IHJhbmRvbUJ5dGVzKHBhZGRpbmdTaXplKTtcbiAgICBpZiAoIXZhbGlkYXRlRGF0YUludGVncml0eShwYWQsIHBhZGRpbmdTaXplKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJmYWlsZWQgdG8gZ2VuZXJhdGUgcmFuZG9tIHBhZGRpbmcgb2Ygc2l6ZSBcIiArIHBhZGRpbmdTaXplKTtcbiAgICB9XG4gICAgZW52ZWxvcGUgPSBjb25jYXQoW2VudmVsb3BlLCBwYWRdKTtcbiAgICBpZiAoc2lnUHJpdktleSkge1xuICAgICAgICBlbnZlbG9wZVswXSB8PSBJc1NpZ25lZE1hc2s7XG4gICAgICAgIGNvbnN0IGhhc2ggPSBrZWNjYWsyNTYoZW52ZWxvcGUpO1xuICAgICAgICBjb25zdCBieXRlc1NpZ25hdHVyZSA9IGF3YWl0IHNpZ24oaGFzaCwgc2lnUHJpdktleSk7XG4gICAgICAgIGVudmVsb3BlID0gY29uY2F0KFtlbnZlbG9wZSwgYnl0ZXNTaWduYXR1cmVdKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudmVsb3BlO1xufVxuLyoqXG4gKiBEZWNvZGUgYSBkZWNyeXB0ZWQgcGF5bG9hZC5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvc3RDaXBoZXIobWVzc2FnZSkge1xuICAgIGNvbnN0IHNpemVPZlBheWxvYWRTaXplRmllbGQgPSBnZXRTaXplT2ZQYXlsb2FkU2l6ZUZpZWxkKG1lc3NhZ2UpO1xuICAgIGlmIChzaXplT2ZQYXlsb2FkU2l6ZUZpZWxkID09PSAwKVxuICAgICAgICByZXR1cm47XG4gICAgY29uc3QgcGF5bG9hZFNpemUgPSBnZXRQYXlsb2FkU2l6ZShtZXNzYWdlLCBzaXplT2ZQYXlsb2FkU2l6ZUZpZWxkKTtcbiAgICBjb25zdCBwYXlsb2FkU3RhcnQgPSAxICsgc2l6ZU9mUGF5bG9hZFNpemVGaWVsZDtcbiAgICBjb25zdCBwYXlsb2FkID0gbWVzc2FnZS5zbGljZShwYXlsb2FkU3RhcnQsIHBheWxvYWRTdGFydCArIHBheWxvYWRTaXplKTtcbiAgICBjb25zdCBpc1NpZ25lZCA9IGlzTWVzc2FnZVNpZ25lZChtZXNzYWdlKTtcbiAgICBsZXQgc2lnO1xuICAgIGlmIChpc1NpZ25lZCkge1xuICAgICAgICBjb25zdCBzaWduYXR1cmUgPSBnZXRTaWduYXR1cmUobWVzc2FnZSk7XG4gICAgICAgIGNvbnN0IGhhc2ggPSBnZXRIYXNoKG1lc3NhZ2UsIGlzU2lnbmVkKTtcbiAgICAgICAgY29uc3QgcHVibGljS2V5ID0gZWNSZWNvdmVyUHViS2V5KGhhc2gsIHNpZ25hdHVyZSk7XG4gICAgICAgIHNpZyA9IHsgc2lnbmF0dXJlLCBwdWJsaWNLZXkgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgcGF5bG9hZCwgc2lnIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbmNyeXB0aW9uLmpzLm1hcCJdLCJuYW1lcyI6WyJzZWNwIiwiY29uY2F0IiwiaGV4VG9CeXRlcyIsImVjaWVzIiwia2VjY2FrMjU2IiwicmFuZG9tQnl0ZXMiLCJzaWduIiwic3ltbWV0cmljIiwiU3ltbWV0cmljIiwiRmxhZ3NMZW5ndGgiLCJGbGFnTWFzayIsIklzU2lnbmVkTWFzayIsIlBhZGRpbmdUYXJnZXQiLCJTaWduYXR1cmVMZW5ndGgiLCJnZXRTaXplT2ZQYXlsb2FkU2l6ZUZpZWxkIiwibWVzc2FnZSIsIm1lc3NhZ2VEYXRhVmlldyIsIkRhdGFWaWV3IiwiYnVmZmVyIiwiZ2V0VWludDgiLCJnZXRQYXlsb2FkU2l6ZSIsInNpemVPZlBheWxvYWRTaXplRmllbGQiLCJwYXlsb2FkU2l6ZUJ5dGVzIiwic2xpY2UiLCJVaW50OEFycmF5IiwicGF5bG9hZFNpemVEYXRhVmlldyIsImdldEludDMyIiwiaXNNZXNzYWdlU2lnbmVkIiwiZW5jcnlwdEFzeW1tZXRyaWMiLCJkYXRhIiwicHVibGljS2V5IiwiZW5jcnlwdCIsImRlY3J5cHRBc3ltbWV0cmljIiwicGF5bG9hZCIsInByaXZLZXkiLCJkZWNyeXB0IiwiZW5jcnlwdFN5bW1ldHJpYyIsImtleSIsIml2IiwiZ2VuZXJhdGVJdiIsImNpcGhlciIsImRlY3J5cHRTeW1tZXRyaWMiLCJpdlN0YXJ0IiwibGVuZ3RoIiwiaXZTaXplIiwiYWRkUGF5bG9hZFNpemVGaWVsZCIsIm1zZyIsImZpZWxkU2l6ZSIsImNvbXB1dGVTaXplT2ZQYXlsb2FkU2l6ZUZpZWxkIiwiZmllbGQiLCJmaWVsZERhdGFWaWV3Iiwic2V0VWludDMyIiwicyIsImkiLCJ2YWxpZGF0ZURhdGFJbnRlZ3JpdHkiLCJ2YWx1ZSIsImV4cGVjdGVkU2l6ZSIsImZpbmRJbmRleCIsImdldFNpZ25hdHVyZSIsImdldEhhc2giLCJpc1NpZ25lZCIsImVjUmVjb3ZlclB1YktleSIsIm1lc3NhZ2VIYXNoIiwic2lnbmF0dXJlIiwicmVjb3ZlcnlEYXRhVmlldyIsInJlY292ZXJ5IiwiX3NpZ25hdHVyZSIsIlNpZ25hdHVyZSIsImZyb21Db21wYWN0IiwicmVjb3ZlclB1YmxpY0tleSIsInByZUNpcGhlciIsIm1lc3NhZ2VQYXlsb2FkIiwic2lnUHJpdktleSIsImVudmVsb3BlIiwicmF3U2l6ZSIsInJlbWFpbmRlciIsInBhZGRpbmdTaXplIiwicGFkIiwiRXJyb3IiLCJoYXNoIiwiYnl0ZXNTaWduYXR1cmUiLCJwb3N0Q2lwaGVyIiwicGF5bG9hZFNpemUiLCJwYXlsb2FkU3RhcnQiLCJzaWciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/dist/encryption.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/dist/misc.js":
/*!************************************************************!*\
!*** ./node_modules/@waku/message-encryption/dist/misc.js ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Asymmetric: () => (/* binding */ Asymmetric),\n/* harmony export */ OneMillion: () => (/* binding */ OneMillion),\n/* harmony export */ Symmetric: () => (/* binding */ Symmetric),\n/* harmony export */ Version: () => (/* binding */ Version)\n/* harmony export */ });\nconst Symmetric = {\n keySize: 32,\n ivSize: 12,\n tagSize: 16,\n algorithm: {\n name: \"AES-GCM\",\n length: 128\n }\n};\nconst Asymmetric = {\n keySize: 32\n};\nconst OneMillion = BigInt(1000000);\nconst Version = 1; //# sourceMappingURL=misc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL2Rpc3QvbWlzYy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU8sTUFBTUEsWUFBWTtJQUNyQkMsU0FBUztJQUNUQyxRQUFRO0lBQ1JDLFNBQVM7SUFDVEMsV0FBVztRQUFFQyxNQUFNO1FBQVdDLFFBQVE7SUFBSTtBQUM5QyxFQUFFO0FBQ0ssTUFBTUMsYUFBYTtJQUN0Qk4sU0FBUztBQUNiLEVBQUU7QUFDSyxNQUFNTyxhQUFhQyxPQUFPLFNBQVc7QUFDckMsTUFBTUMsVUFBVSxFQUFFLENBQ3pCLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L21lc3NhZ2UtZW5jcnlwdGlvbi9kaXN0L21pc2MuanM/NDYwZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU3ltbWV0cmljID0ge1xuICAgIGtleVNpemU6IDMyLFxuICAgIGl2U2l6ZTogMTIsXG4gICAgdGFnU2l6ZTogMTYsXG4gICAgYWxnb3JpdGhtOiB7IG5hbWU6IFwiQUVTLUdDTVwiLCBsZW5ndGg6IDEyOCB9XG59O1xuZXhwb3J0IGNvbnN0IEFzeW1tZXRyaWMgPSB7XG4gICAga2V5U2l6ZTogMzJcbn07XG5leHBvcnQgY29uc3QgT25lTWlsbGlvbiA9IEJpZ0ludCgxXzAwMF8wMDApO1xuZXhwb3J0IGNvbnN0IFZlcnNpb24gPSAxO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWlzYy5qcy5tYXAiXSwibmFtZXMiOlsiU3ltbWV0cmljIiwia2V5U2l6ZSIsIml2U2l6ZSIsInRhZ1NpemUiLCJhbGdvcml0aG0iLCJuYW1lIiwibGVuZ3RoIiwiQXN5bW1ldHJpYyIsIk9uZU1pbGxpb24iLCJCaWdJbnQiLCJWZXJzaW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/dist/misc.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/dist/symmetric.js":
/*!*****************************************************************!*\
!*** ./node_modules/@waku/message-encryption/dist/symmetric.js ***!
\*****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createDecoder: () => (/* binding */ createDecoder),\n/* harmony export */ createEncoder: () => (/* binding */ createEncoder),\n/* harmony export */ decryptSymmetric: () => (/* reexport safe */ _encryption_js__WEBPACK_IMPORTED_MODULE_6__.decryptSymmetric),\n/* harmony export */ encryptSymmetric: () => (/* reexport safe */ _encryption_js__WEBPACK_IMPORTED_MODULE_6__.encryptSymmetric),\n/* harmony export */ generateSymmetricKey: () => (/* reexport safe */ _crypto_utils_js__WEBPACK_IMPORTED_MODULE_4__.generateSymmetricKey),\n/* harmony export */ postCipher: () => (/* reexport safe */ _encryption_js__WEBPACK_IMPORTED_MODULE_6__.postCipher),\n/* harmony export */ preCipher: () => (/* reexport safe */ _encryption_js__WEBPACK_IMPORTED_MODULE_6__.preCipher)\n/* harmony export */ });\n/* harmony import */ var _waku_core_lib_message_version_0__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/core/lib/message/version_0 */ \"(ssr)/./node_modules/@waku/core/dist/lib/message/version_0.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/proto/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _crypto_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./crypto/utils.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/crypto/utils.js\");\n/* harmony import */ var _decoded_message_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./decoded_message.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/decoded_message.js\");\n/* harmony import */ var _encryption_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./encryption.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/encryption.js\");\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./misc.js */ \"(ssr)/./node_modules/@waku/message-encryption/dist/misc.js\");\n\n\n\n\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_3__.Logger(\"message-encryption:symmetric\");\nclass Encoder {\n constructor(pubsubTopic, contentTopic, symKey, sigPrivKey, ephemeral = false, metaSetter){\n this.pubsubTopic = pubsubTopic;\n this.contentTopic = contentTopic;\n this.symKey = symKey;\n this.sigPrivKey = sigPrivKey;\n this.ephemeral = ephemeral;\n this.metaSetter = metaSetter;\n if (!contentTopic || contentTopic === \"\") {\n throw new Error(\"Content topic must be specified\");\n }\n }\n async toWire(message) {\n const protoMessage = await this.toProtoObj(message);\n if (!protoMessage) return;\n return _waku_proto__WEBPACK_IMPORTED_MODULE_2__.WakuMessage.encode(protoMessage);\n }\n async toProtoObj(message) {\n const timestamp = message.timestamp ?? new Date();\n const preparedPayload = await (0,_encryption_js__WEBPACK_IMPORTED_MODULE_6__.preCipher)(message.payload, this.sigPrivKey);\n const payload = await (0,_encryption_js__WEBPACK_IMPORTED_MODULE_6__.encryptSymmetric)(preparedPayload, this.symKey);\n const protoMessage = {\n payload,\n version: _misc_js__WEBPACK_IMPORTED_MODULE_7__.Version,\n contentTopic: this.contentTopic,\n timestamp: BigInt(timestamp.valueOf()) * _misc_js__WEBPACK_IMPORTED_MODULE_7__.OneMillion,\n meta: undefined,\n rateLimitProof: message.rateLimitProof,\n ephemeral: this.ephemeral\n };\n if (this.metaSetter) {\n const meta = this.metaSetter(protoMessage);\n return {\n ...protoMessage,\n meta\n };\n }\n return protoMessage;\n }\n}\n/**\n * Creates an encoder that encrypts messages using symmetric encryption for the\n * given key, as defined in [26/WAKU2-PAYLOAD](https://rfc.vac.dev/spec/26/).\n *\n * An encoder is used to encode messages in the [`14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)\n * format to be sent over the Waku network. The resulting encoder can then be\n * pass to { @link @waku/interfaces!ISender.send } to automatically encrypt\n * and encode outgoing messages.\n *\n * The payload can optionally be signed with the given private key as defined\n * in [26/WAKU2-PAYLOAD](https://rfc.vac.dev/spec/26/).\n */ function createEncoder({ pubsubTopic = _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__.DefaultPubsubTopic, pubsubTopicShardInfo, contentTopic, symKey, sigPrivKey, ephemeral = false, metaSetter }) {\n return new Encoder((0,_waku_utils__WEBPACK_IMPORTED_MODULE_3__.determinePubsubTopic)(contentTopic, pubsubTopic ?? pubsubTopicShardInfo), contentTopic, symKey, sigPrivKey, ephemeral, metaSetter);\n}\nclass Decoder extends _waku_core_lib_message_version_0__WEBPACK_IMPORTED_MODULE_0__.Decoder {\n constructor(pubsubTopic, contentTopic, symKey){\n super(pubsubTopic, contentTopic);\n this.symKey = symKey;\n }\n async fromProtoObj(pubsubTopic, protoMessage) {\n const cipherPayload = protoMessage.payload;\n if (protoMessage.version !== _misc_js__WEBPACK_IMPORTED_MODULE_7__.Version) {\n log.error(\"Failed to decrypt due to incorrect version, expected:\", _misc_js__WEBPACK_IMPORTED_MODULE_7__.Version, \", actual:\", protoMessage.version);\n return;\n }\n let payload;\n try {\n payload = await (0,_encryption_js__WEBPACK_IMPORTED_MODULE_6__.decryptSymmetric)(cipherPayload, this.symKey);\n } catch (e) {\n log.error(`Failed to decrypt message using asymmetric decryption for contentTopic: ${this.contentTopic}`, e);\n return;\n }\n if (!payload) {\n log.error(`Failed to decrypt payload for contentTopic ${this.contentTopic}`);\n return;\n }\n const res = (0,_encryption_js__WEBPACK_IMPORTED_MODULE_6__.postCipher)(payload);\n if (!res) {\n log.error(`Failed to decode payload for contentTopic ${this.contentTopic}`);\n return;\n }\n log.info(\"Message decrypted\", protoMessage);\n return new _decoded_message_js__WEBPACK_IMPORTED_MODULE_5__.DecodedMessage(pubsubTopic, protoMessage, res.payload, res.sig?.signature, res.sig?.publicKey);\n }\n}\n/**\n * Creates a decoder that decrypts messages using symmetric encryption, using\n * the given key as defined in [26/WAKU2-PAYLOAD](https://rfc.vac.dev/spec/26/).\n *\n * A decoder is used to decode messages from the [14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)\n * format when received from the Waku network. The resulting decoder can then be\n * pass to { @link @waku/interfaces!IReceiver.subscribe } to automatically decrypt and\n * decode incoming messages.\n *\n * @param contentTopic The resulting decoder will only decode messages with this content topic.\n * @param symKey The symmetric key used to decrypt the message.\n */ function createDecoder(contentTopic, symKey, pubsubTopicShardInfo = _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__.DefaultPubsubTopic) {\n return new Decoder((0,_waku_utils__WEBPACK_IMPORTED_MODULE_3__.determinePubsubTopic)(contentTopic, pubsubTopicShardInfo), contentTopic, symKey);\n} //# sourceMappingURL=symmetric.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL2Rpc3Qvc3ltbWV0cmljLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF3RTtBQUNsQjtBQUNaO0FBQ2lCO0FBQ0Y7QUFDSDtBQUNzQztBQUM1QztBQUMyQztBQUMzRixNQUFNYyxNQUFNLElBQUlULCtDQUFNQSxDQUFDO0FBQ3ZCLE1BQU1VO0lBT0ZDLFlBQVlDLFdBQVcsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsRUFBRUMsWUFBWSxLQUFLLEVBQUVDLFVBQVUsQ0FBRTtRQUN0RixJQUFJLENBQUNMLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0osZ0JBQWdCQSxpQkFBaUIsSUFBSTtZQUN0QyxNQUFNLElBQUlLLE1BQU07UUFDcEI7SUFDSjtJQUNBLE1BQU1DLE9BQU9DLE9BQU8sRUFBRTtRQUNsQixNQUFNQyxlQUFlLE1BQU0sSUFBSSxDQUFDQyxVQUFVLENBQUNGO1FBQzNDLElBQUksQ0FBQ0MsY0FDRDtRQUNKLE9BQU92QixvREFBV0EsQ0FBQ3lCLE1BQU0sQ0FBQ0Y7SUFDOUI7SUFDQSxNQUFNQyxXQUFXRixPQUFPLEVBQUU7UUFDdEIsTUFBTUksWUFBWUosUUFBUUksU0FBUyxJQUFJLElBQUlDO1FBQzNDLE1BQU1DLGtCQUFrQixNQUFNcEIseURBQVNBLENBQUNjLFFBQVFPLE9BQU8sRUFBRSxJQUFJLENBQUNaLFVBQVU7UUFDeEUsTUFBTVksVUFBVSxNQUFNdkIsZ0VBQWdCQSxDQUFDc0IsaUJBQWlCLElBQUksQ0FBQ1osTUFBTTtRQUNuRSxNQUFNTyxlQUFlO1lBQ2pCTTtZQUNBQyxTQUFTcEIsNkNBQU9BO1lBQ2hCSyxjQUFjLElBQUksQ0FBQ0EsWUFBWTtZQUMvQlcsV0FBV0ssT0FBT0wsVUFBVU0sT0FBTyxNQUFNdkIsZ0RBQVVBO1lBQ25Ed0IsTUFBTUM7WUFDTkMsZ0JBQWdCYixRQUFRYSxjQUFjO1lBQ3RDakIsV0FBVyxJQUFJLENBQUNBLFNBQVM7UUFDN0I7UUFDQSxJQUFJLElBQUksQ0FBQ0MsVUFBVSxFQUFFO1lBQ2pCLE1BQU1jLE9BQU8sSUFBSSxDQUFDZCxVQUFVLENBQUNJO1lBQzdCLE9BQU87Z0JBQUUsR0FBR0EsWUFBWTtnQkFBRVU7WUFBSztRQUNuQztRQUNBLE9BQU9WO0lBQ1g7QUFDSjtBQUNBOzs7Ozs7Ozs7OztDQVdDLEdBQ00sU0FBU2EsY0FBYyxFQUFFdEIsY0FBY2YsZ0VBQWtCLEVBQUVzQyxvQkFBb0IsRUFBRXRCLFlBQVksRUFBRUMsTUFBTSxFQUFFQyxVQUFVLEVBQUVDLFlBQVksS0FBSyxFQUFFQyxVQUFVLEVBQUU7SUFDckosT0FBTyxJQUFJUCxRQUFRWCxpRUFBb0JBLENBQUNjLGNBQWNELGVBQWV1Qix1QkFBdUJ0QixjQUFjQyxRQUFRQyxZQUFZQyxXQUFXQztBQUM3STtBQUNBLE1BQU10QixnQkFBZ0JDLHFFQUFTQTtJQUUzQmUsWUFBWUMsV0FBVyxFQUFFQyxZQUFZLEVBQUVDLE1BQU0sQ0FBRTtRQUMzQyxLQUFLLENBQUNGLGFBQWFDO1FBQ25CLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtJQUNsQjtJQUNBLE1BQU1zQixhQUFheEIsV0FBVyxFQUFFUyxZQUFZLEVBQUU7UUFDMUMsTUFBTWdCLGdCQUFnQmhCLGFBQWFNLE9BQU87UUFDMUMsSUFBSU4sYUFBYU8sT0FBTyxLQUFLcEIsNkNBQU9BLEVBQUU7WUFDbENDLElBQUk2QixLQUFLLENBQUMseURBQXlEOUIsNkNBQU9BLEVBQUUsYUFBYWEsYUFBYU8sT0FBTztZQUM3RztRQUNKO1FBQ0EsSUFBSUQ7UUFDSixJQUFJO1lBQ0FBLFVBQVUsTUFBTXhCLGdFQUFnQkEsQ0FBQ2tDLGVBQWUsSUFBSSxDQUFDdkIsTUFBTTtRQUMvRCxFQUNBLE9BQU95QixHQUFHO1lBQ045QixJQUFJNkIsS0FBSyxDQUFDLENBQUMsd0VBQXdFLEVBQUUsSUFBSSxDQUFDekIsWUFBWSxDQUFDLENBQUMsRUFBRTBCO1lBQzFHO1FBQ0o7UUFDQSxJQUFJLENBQUNaLFNBQVM7WUFDVmxCLElBQUk2QixLQUFLLENBQUMsQ0FBQywyQ0FBMkMsRUFBRSxJQUFJLENBQUN6QixZQUFZLENBQUMsQ0FBQztZQUMzRTtRQUNKO1FBQ0EsTUFBTTJCLE1BQU1uQywwREFBVUEsQ0FBQ3NCO1FBQ3ZCLElBQUksQ0FBQ2EsS0FBSztZQUNOL0IsSUFBSTZCLEtBQUssQ0FBQyxDQUFDLDBDQUEwQyxFQUFFLElBQUksQ0FBQ3pCLFlBQVksQ0FBQyxDQUFDO1lBQzFFO1FBQ0o7UUFDQUosSUFBSWdDLElBQUksQ0FBQyxxQkFBcUJwQjtRQUM5QixPQUFPLElBQUluQiwrREFBY0EsQ0FBQ1UsYUFBYVMsY0FBY21CLElBQUliLE9BQU8sRUFBRWEsSUFBSUUsR0FBRyxFQUFFQyxXQUFXSCxJQUFJRSxHQUFHLEVBQUVFO0lBQ25HO0FBQ0o7QUFDQTs7Ozs7Ozs7Ozs7Q0FXQyxHQUNNLFNBQVNDLGNBQWNoQyxZQUFZLEVBQUVDLE1BQU0sRUFBRXFCLHVCQUF1QnRDLGdFQUFrQjtJQUN6RixPQUFPLElBQUlGLFFBQVFJLGlFQUFvQkEsQ0FBQ2MsY0FBY3NCLHVCQUF1QnRCLGNBQWNDO0FBQy9GLEVBQ0EscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL2Rpc3Qvc3ltbWV0cmljLmpzPzQyY2IiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjb2RlciBhcyBEZWNvZGVyVjAgfSBmcm9tIFwiQHdha3UvY29yZS9saWIvbWVzc2FnZS92ZXJzaW9uXzBcIjtcbmltcG9ydCB7IERlZmF1bHRQdWJzdWJUb3BpYyB9IGZyb20gXCJAd2FrdS9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBXYWt1TWVzc2FnZSB9IGZyb20gXCJAd2FrdS9wcm90b1wiO1xuaW1wb3J0IHsgZGV0ZXJtaW5lUHVic3ViVG9waWMsIExvZ2dlciB9IGZyb20gXCJAd2FrdS91dGlsc1wiO1xuaW1wb3J0IHsgZ2VuZXJhdGVTeW1tZXRyaWNLZXkgfSBmcm9tIFwiLi9jcnlwdG8vdXRpbHMuanNcIjtcbmltcG9ydCB7IERlY29kZWRNZXNzYWdlIH0gZnJvbSBcIi4vZGVjb2RlZF9tZXNzYWdlLmpzXCI7XG5pbXBvcnQgeyBkZWNyeXB0U3ltbWV0cmljLCBlbmNyeXB0U3ltbWV0cmljLCBwb3N0Q2lwaGVyLCBwcmVDaXBoZXIgfSBmcm9tIFwiLi9lbmNyeXB0aW9uLmpzXCI7XG5pbXBvcnQgeyBPbmVNaWxsaW9uLCBWZXJzaW9uIH0gZnJvbSBcIi4vbWlzYy5qc1wiO1xuZXhwb3J0IHsgZGVjcnlwdFN5bW1ldHJpYywgZW5jcnlwdFN5bW1ldHJpYywgcG9zdENpcGhlciwgcHJlQ2lwaGVyLCBnZW5lcmF0ZVN5bW1ldHJpY0tleSB9O1xuY29uc3QgbG9nID0gbmV3IExvZ2dlcihcIm1lc3NhZ2UtZW5jcnlwdGlvbjpzeW1tZXRyaWNcIik7XG5jbGFzcyBFbmNvZGVyIHtcbiAgICBwdWJzdWJUb3BpYztcbiAgICBjb250ZW50VG9waWM7XG4gICAgc3ltS2V5O1xuICAgIHNpZ1ByaXZLZXk7XG4gICAgZXBoZW1lcmFsO1xuICAgIG1ldGFTZXR0ZXI7XG4gICAgY29uc3RydWN0b3IocHVic3ViVG9waWMsIGNvbnRlbnRUb3BpYywgc3ltS2V5LCBzaWdQcml2S2V5LCBlcGhlbWVyYWwgPSBmYWxzZSwgbWV0YVNldHRlcikge1xuICAgICAgICB0aGlzLnB1YnN1YlRvcGljID0gcHVic3ViVG9waWM7XG4gICAgICAgIHRoaXMuY29udGVudFRvcGljID0gY29udGVudFRvcGljO1xuICAgICAgICB0aGlzLnN5bUtleSA9IHN5bUtleTtcbiAgICAgICAgdGhpcy5zaWdQcml2S2V5ID0gc2lnUHJpdktleTtcbiAgICAgICAgdGhpcy5lcGhlbWVyYWwgPSBlcGhlbWVyYWw7XG4gICAgICAgIHRoaXMubWV0YVNldHRlciA9IG1ldGFTZXR0ZXI7XG4gICAgICAgIGlmICghY29udGVudFRvcGljIHx8IGNvbnRlbnRUb3BpYyA9PT0gXCJcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ29udGVudCB0b3BpYyBtdXN0IGJlIHNwZWNpZmllZFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyB0b1dpcmUobWVzc2FnZSkge1xuICAgICAgICBjb25zdCBwcm90b01lc3NhZ2UgPSBhd2FpdCB0aGlzLnRvUHJvdG9PYmoobWVzc2FnZSk7XG4gICAgICAgIGlmICghcHJvdG9NZXNzYWdlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICByZXR1cm4gV2FrdU1lc3NhZ2UuZW5jb2RlKHByb3RvTWVzc2FnZSk7XG4gICAgfVxuICAgIGFzeW5jIHRvUHJvdG9PYmoobWVzc2FnZSkge1xuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBtZXNzYWdlLnRpbWVzdGFtcCA/PyBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBwcmVwYXJlZFBheWxvYWQgPSBhd2FpdCBwcmVDaXBoZXIobWVzc2FnZS5wYXlsb2FkLCB0aGlzLnNpZ1ByaXZLZXkpO1xuICAgICAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgZW5jcnlwdFN5bW1ldHJpYyhwcmVwYXJlZFBheWxvYWQsIHRoaXMuc3ltS2V5KTtcbiAgICAgICAgY29uc3QgcHJvdG9NZXNzYWdlID0ge1xuICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgIHZlcnNpb246IFZlcnNpb24sXG4gICAgICAgICAgICBjb250ZW50VG9waWM6IHRoaXMuY29udGVudFRvcGljLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBCaWdJbnQodGltZXN0YW1wLnZhbHVlT2YoKSkgKiBPbmVNaWxsaW9uLFxuICAgICAgICAgICAgbWV0YTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgcmF0ZUxpbWl0UHJvb2Y6IG1lc3NhZ2UucmF0ZUxpbWl0UHJvb2YsXG4gICAgICAgICAgICBlcGhlbWVyYWw6IHRoaXMuZXBoZW1lcmFsXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLm1ldGFTZXR0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IG1ldGEgPSB0aGlzLm1ldGFTZXR0ZXIocHJvdG9NZXNzYWdlKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnByb3RvTWVzc2FnZSwgbWV0YSB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcm90b01lc3NhZ2U7XG4gICAgfVxufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGVuY29kZXIgdGhhdCBlbmNyeXB0cyBtZXNzYWdlcyB1c2luZyBzeW1tZXRyaWMgZW5jcnlwdGlvbiBmb3IgdGhlXG4gKiBnaXZlbiBrZXksIGFzIGRlZmluZWQgaW4gWzI2L1dBS1UyLVBBWUxPQURdKGh0dHBzOi8vcmZjLnZhYy5kZXYvc3BlYy8yNi8pLlxuICpcbiAqIEFuIGVuY29kZXIgaXMgdXNlZCB0byBlbmNvZGUgbWVzc2FnZXMgaW4gdGhlIFtgMTQvV0FLVTItTUVTU0FHRV0oaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzE0LylcbiAqIGZvcm1hdCB0byBiZSBzZW50IG92ZXIgdGhlIFdha3UgbmV0d29yay4gVGhlIHJlc3VsdGluZyBlbmNvZGVyIGNhbiB0aGVuIGJlXG4gKiBwYXNzIHRvIHsgQGxpbmsgQHdha3UvaW50ZXJmYWNlcyFJU2VuZGVyLnNlbmQgfSB0byBhdXRvbWF0aWNhbGx5IGVuY3J5cHRcbiAqIGFuZCBlbmNvZGUgb3V0Z29pbmcgbWVzc2FnZXMuXG4gKlxuICogVGhlIHBheWxvYWQgY2FuIG9wdGlvbmFsbHkgYmUgc2lnbmVkIHdpdGggdGhlIGdpdmVuIHByaXZhdGUga2V5IGFzIGRlZmluZWRcbiAqIGluIFsyNi9XQUtVMi1QQVlMT0FEXShodHRwczovL3JmYy52YWMuZGV2L3NwZWMvMjYvKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVuY29kZXIoeyBwdWJzdWJUb3BpYyA9IERlZmF1bHRQdWJzdWJUb3BpYywgcHVic3ViVG9waWNTaGFyZEluZm8sIGNvbnRlbnRUb3BpYywgc3ltS2V5LCBzaWdQcml2S2V5LCBlcGhlbWVyYWwgPSBmYWxzZSwgbWV0YVNldHRlciB9KSB7XG4gICAgcmV0dXJuIG5ldyBFbmNvZGVyKGRldGVybWluZVB1YnN1YlRvcGljKGNvbnRlbnRUb3BpYywgcHVic3ViVG9waWMgPz8gcHVic3ViVG9waWNTaGFyZEluZm8pLCBjb250ZW50VG9waWMsIHN5bUtleSwgc2lnUHJpdktleSwgZXBoZW1lcmFsLCBtZXRhU2V0dGVyKTtcbn1cbmNsYXNzIERlY29kZXIgZXh0ZW5kcyBEZWNvZGVyVjAge1xuICAgIHN5bUtleTtcbiAgICBjb25zdHJ1Y3RvcihwdWJzdWJUb3BpYywgY29udGVudFRvcGljLCBzeW1LZXkpIHtcbiAgICAgICAgc3VwZXIocHVic3ViVG9waWMsIGNvbnRlbnRUb3BpYyk7XG4gICAgICAgIHRoaXMuc3ltS2V5ID0gc3ltS2V5O1xuICAgIH1cbiAgICBhc3luYyBmcm9tUHJvdG9PYmoocHVic3ViVG9waWMsIHByb3RvTWVzc2FnZSkge1xuICAgICAgICBjb25zdCBjaXBoZXJQYXlsb2FkID0gcHJvdG9NZXNzYWdlLnBheWxvYWQ7XG4gICAgICAgIGlmIChwcm90b01lc3NhZ2UudmVyc2lvbiAhPT0gVmVyc2lvbikge1xuICAgICAgICAgICAgbG9nLmVycm9yKFwiRmFpbGVkIHRvIGRlY3J5cHQgZHVlIHRvIGluY29ycmVjdCB2ZXJzaW9uLCBleHBlY3RlZDpcIiwgVmVyc2lvbiwgXCIsIGFjdHVhbDpcIiwgcHJvdG9NZXNzYWdlLnZlcnNpb24pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBwYXlsb2FkO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcGF5bG9hZCA9IGF3YWl0IGRlY3J5cHRTeW1tZXRyaWMoY2lwaGVyUGF5bG9hZCwgdGhpcy5zeW1LZXkpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoYEZhaWxlZCB0byBkZWNyeXB0IG1lc3NhZ2UgdXNpbmcgYXN5bW1ldHJpYyBkZWNyeXB0aW9uIGZvciBjb250ZW50VG9waWM6ICR7dGhpcy5jb250ZW50VG9waWN9YCwgZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFwYXlsb2FkKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoYEZhaWxlZCB0byBkZWNyeXB0IHBheWxvYWQgZm9yIGNvbnRlbnRUb3BpYyAke3RoaXMuY29udGVudFRvcGljfWApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlcyA9IHBvc3RDaXBoZXIocGF5bG9hZCk7XG4gICAgICAgIGlmICghcmVzKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoYEZhaWxlZCB0byBkZWNvZGUgcGF5bG9hZCBmb3IgY29udGVudFRvcGljICR7dGhpcy5jb250ZW50VG9waWN9YCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbG9nLmluZm8oXCJNZXNzYWdlIGRlY3J5cHRlZFwiLCBwcm90b01lc3NhZ2UpO1xuICAgICAgICByZXR1cm4gbmV3IERlY29kZWRNZXNzYWdlKHB1YnN1YlRvcGljLCBwcm90b01lc3NhZ2UsIHJlcy5wYXlsb2FkLCByZXMuc2lnPy5zaWduYXR1cmUsIHJlcy5zaWc/LnB1YmxpY0tleSk7XG4gICAgfVxufVxuLyoqXG4gKiBDcmVhdGVzIGEgZGVjb2RlciB0aGF0IGRlY3J5cHRzIG1lc3NhZ2VzIHVzaW5nIHN5bW1ldHJpYyBlbmNyeXB0aW9uLCB1c2luZ1xuICogdGhlIGdpdmVuIGtleSBhcyBkZWZpbmVkIGluIFsyNi9XQUtVMi1QQVlMT0FEXShodHRwczovL3JmYy52YWMuZGV2L3NwZWMvMjYvKS5cbiAqXG4gKiBBIGRlY29kZXIgaXMgdXNlZCB0byBkZWNvZGUgbWVzc2FnZXMgZnJvbSB0aGUgWzE0L1dBS1UyLU1FU1NBR0VdKGh0dHBzOi8vcmZjLnZhYy5kZXYvc3BlYy8xNC8pXG4gKiBmb3JtYXQgd2hlbiByZWNlaXZlZCBmcm9tIHRoZSBXYWt1IG5ldHdvcmsuIFRoZSByZXN1bHRpbmcgZGVjb2RlciBjYW4gdGhlbiBiZVxuICogcGFzcyB0byB7IEBsaW5rIEB3YWt1L2ludGVyZmFjZXMhSVJlY2VpdmVyLnN1YnNjcmliZSB9IHRvIGF1dG9tYXRpY2FsbHkgZGVjcnlwdCBhbmRcbiAqIGRlY29kZSBpbmNvbWluZyBtZXNzYWdlcy5cbiAqXG4gKiBAcGFyYW0gY29udGVudFRvcGljIFRoZSByZXN1bHRpbmcgZGVjb2RlciB3aWxsIG9ubHkgZGVjb2RlIG1lc3NhZ2VzIHdpdGggdGhpcyBjb250ZW50IHRvcGljLlxuICogQHBhcmFtIHN5bUtleSBUaGUgc3ltbWV0cmljIGtleSB1c2VkIHRvIGRlY3J5cHQgdGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEZWNvZGVyKGNvbnRlbnRUb3BpYywgc3ltS2V5LCBwdWJzdWJUb3BpY1NoYXJkSW5mbyA9IERlZmF1bHRQdWJzdWJUb3BpYykge1xuICAgIHJldHVybiBuZXcgRGVjb2RlcihkZXRlcm1pbmVQdWJzdWJUb3BpYyhjb250ZW50VG9waWMsIHB1YnN1YlRvcGljU2hhcmRJbmZvKSwgY29udGVudFRvcGljLCBzeW1LZXkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3ltbWV0cmljLmpzLm1hcCJdLCJuYW1lcyI6WyJEZWNvZGVyIiwiRGVjb2RlclYwIiwiRGVmYXVsdFB1YnN1YlRvcGljIiwiV2FrdU1lc3NhZ2UiLCJkZXRlcm1pbmVQdWJzdWJUb3BpYyIsIkxvZ2dlciIsImdlbmVyYXRlU3ltbWV0cmljS2V5IiwiRGVjb2RlZE1lc3NhZ2UiLCJkZWNyeXB0U3ltbWV0cmljIiwiZW5jcnlwdFN5bW1ldHJpYyIsInBvc3RDaXBoZXIiLCJwcmVDaXBoZXIiLCJPbmVNaWxsaW9uIiwiVmVyc2lvbiIsImxvZyIsIkVuY29kZXIiLCJjb25zdHJ1Y3RvciIsInB1YnN1YlRvcGljIiwiY29udGVudFRvcGljIiwic3ltS2V5Iiwic2lnUHJpdktleSIsImVwaGVtZXJhbCIsIm1ldGFTZXR0ZXIiLCJFcnJvciIsInRvV2lyZSIsIm1lc3NhZ2UiLCJwcm90b01lc3NhZ2UiLCJ0b1Byb3RvT2JqIiwiZW5jb2RlIiwidGltZXN0YW1wIiwiRGF0ZSIsInByZXBhcmVkUGF5bG9hZCIsInBheWxvYWQiLCJ2ZXJzaW9uIiwiQmlnSW50IiwidmFsdWVPZiIsIm1ldGEiLCJ1bmRlZmluZWQiLCJyYXRlTGltaXRQcm9vZiIsImNyZWF0ZUVuY29kZXIiLCJwdWJzdWJUb3BpY1NoYXJkSW5mbyIsImZyb21Qcm90b09iaiIsImNpcGhlclBheWxvYWQiLCJlcnJvciIsImUiLCJyZXMiLCJpbmZvIiwic2lnIiwic2lnbmF0dXJlIiwicHVibGljS2V5IiwiY3JlYXRlRGVjb2RlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/dist/symmetric.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/bytes/index.js":
/*!********************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/bytes/index.js ***!
\********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bytesToHex: () => (/* binding */ bytesToHex),\n/* harmony export */ bytesToUtf8: () => (/* binding */ bytesToUtf8),\n/* harmony export */ concat: () => (/* binding */ concat),\n/* harmony export */ hexToBytes: () => (/* binding */ hexToBytes),\n/* harmony export */ utf8ToBytes: () => (/* binding */ utf8ToBytes)\n/* harmony export */ });\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n\n\n/**\n * Convert input to a byte array.\n *\n * Handles both `0x` prefixed and non-prefixed strings.\n */ function hexToBytes(hex) {\n if (typeof hex === \"string\") {\n const _hex = hex.replace(/^0x/i, \"\");\n return (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_0__.fromString)(_hex.toLowerCase(), \"base16\");\n }\n return hex;\n}\n/**\n * Convert byte array to hex string (no `0x` prefix).\n */ const bytesToHex = (bytes)=>(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(bytes, \"base16\");\n/**\n * Decode byte array to utf-8 string.\n */ const bytesToUtf8 = (b)=>(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(b, \"utf8\");\n/**\n * Encode utf-8 string to byte array.\n */ const utf8ToBytes = (s)=>(0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_0__.fromString)(s, \"utf8\");\n/**\n * Concatenate using Uint8Arrays as `Buffer` has a different behavior with `DataView`\n */ function concat(byteArrays, totalLength) {\n const len = totalLength ?? byteArrays.reduce((acc, curr)=>acc + curr.length, 0);\n const res = new Uint8Array(len);\n let offset = 0;\n for (const bytes of byteArrays){\n res.set(bytes, offset);\n offset += bytes.length;\n }\n return res;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2J5dGVzL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBcUQ7QUFDSjtBQUNqRDs7OztDQUlDLEdBQ00sU0FBU0UsV0FBV0MsR0FBRztJQUMxQixJQUFJLE9BQU9BLFFBQVEsVUFBVTtRQUN6QixNQUFNQyxPQUFPRCxJQUFJRSxPQUFPLENBQUMsUUFBUTtRQUNqQyxPQUFPTCxtRUFBVUEsQ0FBQ0ksS0FBS0UsV0FBVyxJQUFJO0lBQzFDO0lBQ0EsT0FBT0g7QUFDWDtBQUNBOztDQUVDLEdBQ00sTUFBTUksYUFBYSxDQUFDQyxRQUFVUCwrREFBUUEsQ0FBQ08sT0FBTyxVQUFVO0FBQy9EOztDQUVDLEdBQ00sTUFBTUMsY0FBYyxDQUFDQyxJQUFNVCwrREFBUUEsQ0FBQ1MsR0FBRyxRQUFRO0FBQ3REOztDQUVDLEdBQ00sTUFBTUMsY0FBYyxDQUFDQyxJQUFNWixtRUFBVUEsQ0FBQ1ksR0FBRyxRQUFRO0FBQ3hEOztDQUVDLEdBQ00sU0FBU0MsT0FBT0MsVUFBVSxFQUFFQyxXQUFXO0lBQzFDLE1BQU1DLE1BQU1ELGVBQWVELFdBQVdHLE1BQU0sQ0FBQyxDQUFDQyxLQUFLQyxPQUFTRCxNQUFNQyxLQUFLQyxNQUFNLEVBQUU7SUFDL0UsTUFBTUMsTUFBTSxJQUFJQyxXQUFXTjtJQUMzQixJQUFJTyxTQUFTO0lBQ2IsS0FBSyxNQUFNZixTQUFTTSxXQUFZO1FBQzVCTyxJQUFJRyxHQUFHLENBQUNoQixPQUFPZTtRQUNmQSxVQUFVZixNQUFNWSxNQUFNO0lBQzFCO0lBQ0EsT0FBT0M7QUFDWCxFQUNBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L21lc3NhZ2UtZW5jcnlwdGlvbi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9ieXRlcy9pbmRleC5qcz81NWYyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21TdHJpbmcgfSBmcm9tIFwidWludDhhcnJheXMvZnJvbS1zdHJpbmdcIjtcbmltcG9ydCB7IHRvU3RyaW5nIH0gZnJvbSBcInVpbnQ4YXJyYXlzL3RvLXN0cmluZ1wiO1xuLyoqXG4gKiBDb252ZXJ0IGlucHV0IHRvIGEgYnl0ZSBhcnJheS5cbiAqXG4gKiBIYW5kbGVzIGJvdGggYDB4YCBwcmVmaXhlZCBhbmQgbm9uLXByZWZpeGVkIHN0cmluZ3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb0J5dGVzKGhleCkge1xuICAgIGlmICh0eXBlb2YgaGV4ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGNvbnN0IF9oZXggPSBoZXgucmVwbGFjZSgvXjB4L2ksIFwiXCIpO1xuICAgICAgICByZXR1cm4gZnJvbVN0cmluZyhfaGV4LnRvTG93ZXJDYXNlKCksIFwiYmFzZTE2XCIpO1xuICAgIH1cbiAgICByZXR1cm4gaGV4O1xufVxuLyoqXG4gKiBDb252ZXJ0IGJ5dGUgYXJyYXkgdG8gaGV4IHN0cmluZyAobm8gYDB4YCBwcmVmaXgpLlxuICovXG5leHBvcnQgY29uc3QgYnl0ZXNUb0hleCA9IChieXRlcykgPT4gdG9TdHJpbmcoYnl0ZXMsIFwiYmFzZTE2XCIpO1xuLyoqXG4gKiBEZWNvZGUgYnl0ZSBhcnJheSB0byB1dGYtOCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBieXRlc1RvVXRmOCA9IChiKSA9PiB0b1N0cmluZyhiLCBcInV0ZjhcIik7XG4vKipcbiAqIEVuY29kZSB1dGYtOCBzdHJpbmcgdG8gYnl0ZSBhcnJheS5cbiAqL1xuZXhwb3J0IGNvbnN0IHV0ZjhUb0J5dGVzID0gKHMpID0+IGZyb21TdHJpbmcocywgXCJ1dGY4XCIpO1xuLyoqXG4gKiBDb25jYXRlbmF0ZSB1c2luZyBVaW50OEFycmF5cyBhcyBgQnVmZmVyYCBoYXMgYSBkaWZmZXJlbnQgYmVoYXZpb3Igd2l0aCBgRGF0YVZpZXdgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQoYnl0ZUFycmF5cywgdG90YWxMZW5ndGgpIHtcbiAgICBjb25zdCBsZW4gPSB0b3RhbExlbmd0aCA/PyBieXRlQXJyYXlzLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiBhY2MgKyBjdXJyLmxlbmd0aCwgMCk7XG4gICAgY29uc3QgcmVzID0gbmV3IFVpbnQ4QXJyYXkobGVuKTtcbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBmb3IgKGNvbnN0IGJ5dGVzIG9mIGJ5dGVBcnJheXMpIHtcbiAgICAgICAgcmVzLnNldChieXRlcywgb2Zmc2V0KTtcbiAgICAgICAgb2Zmc2V0ICs9IGJ5dGVzLmxlbmd0aDtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJmcm9tU3RyaW5nIiwidG9TdHJpbmciLCJoZXhUb0J5dGVzIiwiaGV4IiwiX2hleCIsInJlcGxhY2UiLCJ0b0xvd2VyQ2FzZSIsImJ5dGVzVG9IZXgiLCJieXRlcyIsImJ5dGVzVG9VdGY4IiwiYiIsInV0ZjhUb0J5dGVzIiwicyIsImNvbmNhdCIsImJ5dGVBcnJheXMiLCJ0b3RhbExlbmd0aCIsImxlbiIsInJlZHVjZSIsImFjYyIsImN1cnIiLCJsZW5ndGgiLCJyZXMiLCJVaW50OEFycmF5Iiwib2Zmc2V0Iiwic2V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/bytes/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/group_by.js":
/*!************************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/group_by.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ groupByContentTopic: () => (/* binding */ groupByContentTopic)\n/* harmony export */ });\nfunction groupByContentTopic(values) {\n const groupedDecoders = new Map();\n values.forEach((value)=>{\n let decs = groupedDecoders.get(value.contentTopic);\n if (!decs) {\n groupedDecoders.set(value.contentTopic, []);\n decs = groupedDecoders.get(value.contentTopic);\n }\n decs.push(value);\n });\n return groupedDecoders;\n} //# sourceMappingURL=group_by.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9ncm91cF9ieS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sU0FBU0Esb0JBQW9CQyxNQUFNO0lBQ3RDLE1BQU1DLGtCQUFrQixJQUFJQztJQUM1QkYsT0FBT0csT0FBTyxDQUFDLENBQUNDO1FBQ1osSUFBSUMsT0FBT0osZ0JBQWdCSyxHQUFHLENBQUNGLE1BQU1HLFlBQVk7UUFDakQsSUFBSSxDQUFDRixNQUFNO1lBQ1BKLGdCQUFnQk8sR0FBRyxDQUFDSixNQUFNRyxZQUFZLEVBQUUsRUFBRTtZQUMxQ0YsT0FBT0osZ0JBQWdCSyxHQUFHLENBQUNGLE1BQU1HLFlBQVk7UUFDakQ7UUFDQUYsS0FBS0ksSUFBSSxDQUFDTDtJQUNkO0lBQ0EsT0FBT0g7QUFDWCxFQUNBLG9DQUFvQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L21lc3NhZ2UtZW5jcnlwdGlvbi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vZ3JvdXBfYnkuanM/OTMxMSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ3JvdXBCeUNvbnRlbnRUb3BpYyh2YWx1ZXMpIHtcbiAgICBjb25zdCBncm91cGVkRGVjb2RlcnMgPSBuZXcgTWFwKCk7XG4gICAgdmFsdWVzLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgIGxldCBkZWNzID0gZ3JvdXBlZERlY29kZXJzLmdldCh2YWx1ZS5jb250ZW50VG9waWMpO1xuICAgICAgICBpZiAoIWRlY3MpIHtcbiAgICAgICAgICAgIGdyb3VwZWREZWNvZGVycy5zZXQodmFsdWUuY29udGVudFRvcGljLCBbXSk7XG4gICAgICAgICAgICBkZWNzID0gZ3JvdXBlZERlY29kZXJzLmdldCh2YWx1ZS5jb250ZW50VG9waWMpO1xuICAgICAgICB9XG4gICAgICAgIGRlY3MucHVzaCh2YWx1ZSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGdyb3VwZWREZWNvZGVycztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdyb3VwX2J5LmpzLm1hcCJdLCJuYW1lcyI6WyJncm91cEJ5Q29udGVudFRvcGljIiwidmFsdWVzIiwiZ3JvdXBlZERlY29kZXJzIiwiTWFwIiwiZm9yRWFjaCIsInZhbHVlIiwiZGVjcyIsImdldCIsImNvbnRlbnRUb3BpYyIsInNldCIsInB1c2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/group_by.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/index.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/index.js ***!
\*********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ contentTopicToPubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.contentTopicToPubsubTopic),\n/* harmony export */ contentTopicToShardIndex: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.contentTopicToShardIndex),\n/* harmony export */ contentTopicsByPubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.contentTopicsByPubsubTopic),\n/* harmony export */ decodeRelayShard: () => (/* reexport safe */ _relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_7__.decodeRelayShard),\n/* harmony export */ determinePubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.determinePubsubTopic),\n/* harmony export */ encodeRelayShard: () => (/* reexport safe */ _relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_7__.encodeRelayShard),\n/* harmony export */ ensurePubsubTopicIsConfigured: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.ensurePubsubTopicIsConfigured),\n/* harmony export */ ensureShardingConfigured: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.ensureShardingConfigured),\n/* harmony export */ ensureValidContentTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.ensureValidContentTopic),\n/* harmony export */ getPseudoRandomSubset: () => (/* reexport safe */ _random_subset_js__WEBPACK_IMPORTED_MODULE_1__.getPseudoRandomSubset),\n/* harmony export */ getWsMultiaddrFromMultiaddrs: () => (/* binding */ getWsMultiaddrFromMultiaddrs),\n/* harmony export */ groupByContentTopic: () => (/* reexport safe */ _group_by_js__WEBPACK_IMPORTED_MODULE_2__.groupByContentTopic),\n/* harmony export */ isDefined: () => (/* reexport safe */ _is_defined_js__WEBPACK_IMPORTED_MODULE_0__.isDefined),\n/* harmony export */ isMessageSizeUnderCap: () => (/* reexport safe */ _is_size_valid_js__WEBPACK_IMPORTED_MODULE_4__.isMessageSizeUnderCap),\n/* harmony export */ isWireSizeUnderCap: () => (/* reexport safe */ _is_size_valid_js__WEBPACK_IMPORTED_MODULE_4__.isWireSizeUnderCap),\n/* harmony export */ pubsubTopicToSingleShardInfo: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.pubsubTopicToSingleShardInfo),\n/* harmony export */ pushOrInitMapSet: () => (/* reexport safe */ _push_or_init_map_js__WEBPACK_IMPORTED_MODULE_6__.pushOrInitMapSet),\n/* harmony export */ removeItemFromArray: () => (/* binding */ removeItemFromArray),\n/* harmony export */ shardInfoToPubsubTopics: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.shardInfoToPubsubTopics),\n/* harmony export */ singleShardInfoToPubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.singleShardInfoToPubsubTopic),\n/* harmony export */ singleShardInfosToShardInfo: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.singleShardInfosToShardInfo),\n/* harmony export */ toAsyncIterator: () => (/* reexport safe */ _to_async_iterator_js__WEBPACK_IMPORTED_MODULE_3__.toAsyncIterator)\n/* harmony export */ });\n/* harmony import */ var _is_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./is_defined.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/is_defined.js\");\n/* harmony import */ var _random_subset_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./random_subset.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/random_subset.js\");\n/* harmony import */ var _group_by_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./group_by.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/group_by.js\");\n/* harmony import */ var _to_async_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./to_async_iterator.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/to_async_iterator.js\");\n/* harmony import */ var _is_size_valid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./is_size_valid.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/is_size_valid.js\");\n/* harmony import */ var _sharding_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sharding.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/sharding.js\");\n/* harmony import */ var _push_or_init_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./push_or_init_map.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/push_or_init_map.js\");\n/* harmony import */ var _relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./relay_shard_codec.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/relay_shard_codec.js\");\n\n\n\n\n\n\n\n\nfunction removeItemFromArray(arr, value) {\n const index = arr.indexOf(value);\n if (index > -1) {\n arr.splice(index, 1);\n }\n return arr;\n}\nfunction getWsMultiaddrFromMultiaddrs(addresses) {\n const wsMultiaddr = addresses.find((addr)=>addr.toString().includes(\"ws\") || addr.toString().includes(\"wss\"));\n if (!wsMultiaddr) {\n throw new Error(\"No ws multiaddr found in the given addresses\");\n }\n return wsMultiaddr;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBZ0M7QUFDRztBQUNMO0FBQ1M7QUFDSjtBQUNMO0FBQ1E7QUFDQztBQUNoQyxTQUFTQSxvQkFBb0JDLEdBQUcsRUFBRUMsS0FBSztJQUMxQyxNQUFNQyxRQUFRRixJQUFJRyxPQUFPLENBQUNGO0lBQzFCLElBQUlDLFFBQVEsQ0FBQyxHQUFHO1FBQ1pGLElBQUlJLE1BQU0sQ0FBQ0YsT0FBTztJQUN0QjtJQUNBLE9BQU9GO0FBQ1g7QUFDTyxTQUFTSyw2QkFBNkJDLFNBQVM7SUFDbEQsTUFBTUMsY0FBY0QsVUFBVUUsSUFBSSxDQUFDLENBQUNDLE9BQVNBLEtBQUtDLFFBQVEsR0FBR0MsUUFBUSxDQUFDLFNBQVNGLEtBQUtDLFFBQVEsR0FBR0MsUUFBUSxDQUFDO0lBQ3hHLElBQUksQ0FBQ0osYUFBYTtRQUNkLE1BQU0sSUFBSUssTUFBTTtJQUNwQjtJQUNBLE9BQU9MO0FBQ1gsRUFDQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9tZXNzYWdlLWVuY3J5cHRpb24vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvY29tbW9uL2luZGV4LmpzPzEyM2YiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vaXNfZGVmaW5lZC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmFuZG9tX3N1YnNldC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3JvdXBfYnkuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RvX2FzeW5jX2l0ZXJhdG9yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pc19zaXplX3ZhbGlkLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zaGFyZGluZy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHVzaF9vcl9pbml0X21hcC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVsYXlfc2hhcmRfY29kZWMuanNcIjtcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVJdGVtRnJvbUFycmF5KGFyciwgdmFsdWUpIHtcbiAgICBjb25zdCBpbmRleCA9IGFyci5pbmRleE9mKHZhbHVlKTtcbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBhcnIuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRXc011bHRpYWRkckZyb21NdWx0aWFkZHJzKGFkZHJlc3Nlcykge1xuICAgIGNvbnN0IHdzTXVsdGlhZGRyID0gYWRkcmVzc2VzLmZpbmQoKGFkZHIpID0+IGFkZHIudG9TdHJpbmcoKS5pbmNsdWRlcyhcIndzXCIpIHx8IGFkZHIudG9TdHJpbmcoKS5pbmNsdWRlcyhcIndzc1wiKSk7XG4gICAgaWYgKCF3c011bHRpYWRkcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyB3cyBtdWx0aWFkZHIgZm91bmQgaW4gdGhlIGdpdmVuIGFkZHJlc3Nlc1wiKTtcbiAgICB9XG4gICAgcmV0dXJuIHdzTXVsdGlhZGRyO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbInJlbW92ZUl0ZW1Gcm9tQXJyYXkiLCJhcnIiLCJ2YWx1ZSIsImluZGV4IiwiaW5kZXhPZiIsInNwbGljZSIsImdldFdzTXVsdGlhZGRyRnJvbU11bHRpYWRkcnMiLCJhZGRyZXNzZXMiLCJ3c011bHRpYWRkciIsImZpbmQiLCJhZGRyIiwidG9TdHJpbmciLCJpbmNsdWRlcyIsIkVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/is_defined.js":
/*!**************************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/is_defined.js ***!
\**************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isDefined: () => (/* binding */ isDefined)\n/* harmony export */ });\nfunction isDefined(value) {\n return Boolean(value);\n} //# sourceMappingURL=is_defined.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9pc19kZWZpbmVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTyxTQUFTQSxVQUFVQyxLQUFLO0lBQzNCLE9BQU9DLFFBQVFEO0FBQ25CLEVBQ0Esc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9pc19kZWZpbmVkLmpzPzVhMWQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzRGVmaW5lZCh2YWx1ZSkge1xuICAgIHJldHVybiBCb29sZWFuKHZhbHVlKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzX2RlZmluZWQuanMubWFwIl0sIm5hbWVzIjpbImlzRGVmaW5lZCIsInZhbHVlIiwiQm9vbGVhbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/is_defined.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/is_size_valid.js":
/*!*****************************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/is_size_valid.js ***!
\*****************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isMessageSizeUnderCap: () => (/* binding */ isMessageSizeUnderCap),\n/* harmony export */ isWireSizeUnderCap: () => (/* binding */ isWireSizeUnderCap)\n/* harmony export */ });\nconst MB = 1024 ** 2;\nconst SIZE_CAP_IN_MB = 1;\n/**\n * Return whether the size of the message is under the upper limit for the network.\n * This performs a protobuf encoding! If you have access to the fully encoded message,\n * use {@link isSizeUnderCapBuf} instead.\n * @param message\n * @param encoder\n */ async function isMessageSizeUnderCap(encoder, message) {\n const buf = await encoder.toWire(message);\n if (!buf) return false;\n return isWireSizeUnderCap(buf);\n}\nconst isWireSizeUnderCap = (buf)=>buf.length / MB <= SIZE_CAP_IN_MB; //# sourceMappingURL=is_size_valid.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9pc19zaXplX3ZhbGlkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsTUFBTUEsS0FBSyxRQUFRO0FBQ25CLE1BQU1DLGlCQUFpQjtBQUN2Qjs7Ozs7O0NBTUMsR0FDTSxlQUFlQyxzQkFBc0JDLE9BQU8sRUFBRUMsT0FBTztJQUN4RCxNQUFNQyxNQUFNLE1BQU1GLFFBQVFHLE1BQU0sQ0FBQ0Y7SUFDakMsSUFBSSxDQUFDQyxLQUNELE9BQU87SUFDWCxPQUFPRSxtQkFBbUJGO0FBQzlCO0FBQ08sTUFBTUUscUJBQXFCLENBQUNGLE1BQVFBLElBQUlHLE1BQU0sR0FBR1IsTUFBTUMsZUFBZSxDQUM3RSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9tZXNzYWdlLWVuY3J5cHRpb24vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvY29tbW9uL2lzX3NpemVfdmFsaWQuanM/OGYxOSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBNQiA9IDEwMjQgKiogMjtcbmNvbnN0IFNJWkVfQ0FQX0lOX01CID0gMTtcbi8qKlxuICogUmV0dXJuIHdoZXRoZXIgdGhlIHNpemUgb2YgdGhlIG1lc3NhZ2UgaXMgdW5kZXIgdGhlIHVwcGVyIGxpbWl0IGZvciB0aGUgbmV0d29yay5cbiAqIFRoaXMgcGVyZm9ybXMgYSBwcm90b2J1ZiBlbmNvZGluZyEgSWYgeW91IGhhdmUgYWNjZXNzIHRvIHRoZSBmdWxseSBlbmNvZGVkIG1lc3NhZ2UsXG4gKiB1c2Uge0BsaW5rIGlzU2l6ZVVuZGVyQ2FwQnVmfSBpbnN0ZWFkLlxuICogQHBhcmFtIG1lc3NhZ2VcbiAqIEBwYXJhbSBlbmNvZGVyXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpc01lc3NhZ2VTaXplVW5kZXJDYXAoZW5jb2RlciwgbWVzc2FnZSkge1xuICAgIGNvbnN0IGJ1ZiA9IGF3YWl0IGVuY29kZXIudG9XaXJlKG1lc3NhZ2UpO1xuICAgIGlmICghYnVmKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIGlzV2lyZVNpemVVbmRlckNhcChidWYpO1xufVxuZXhwb3J0IGNvbnN0IGlzV2lyZVNpemVVbmRlckNhcCA9IChidWYpID0+IGJ1Zi5sZW5ndGggLyBNQiA8PSBTSVpFX0NBUF9JTl9NQjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzX3NpemVfdmFsaWQuanMubWFwIl0sIm5hbWVzIjpbIk1CIiwiU0laRV9DQVBfSU5fTUIiLCJpc01lc3NhZ2VTaXplVW5kZXJDYXAiLCJlbmNvZGVyIiwibWVzc2FnZSIsImJ1ZiIsInRvV2lyZSIsImlzV2lyZVNpemVVbmRlckNhcCIsImxlbmd0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/is_size_valid.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/push_or_init_map.js":
/*!********************************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/push_or_init_map.js ***!
\********************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pushOrInitMapSet: () => (/* binding */ pushOrInitMapSet)\n/* harmony export */ });\nfunction pushOrInitMapSet(map, key, newValue) {\n let arr = map.get(key);\n if (typeof arr === \"undefined\") {\n map.set(key, new Set());\n arr = map.get(key);\n }\n arr.add(newValue);\n} //# sourceMappingURL=push_or_init_map.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9wdXNoX29yX2luaXRfbWFwLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTyxTQUFTQSxpQkFBaUJDLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxRQUFRO0lBQy9DLElBQUlDLE1BQU1ILElBQUlJLEdBQUcsQ0FBQ0g7SUFDbEIsSUFBSSxPQUFPRSxRQUFRLGFBQWE7UUFDNUJILElBQUlLLEdBQUcsQ0FBQ0osS0FBSyxJQUFJSztRQUNqQkgsTUFBTUgsSUFBSUksR0FBRyxDQUFDSDtJQUNsQjtJQUNBRSxJQUFJSSxHQUFHLENBQUNMO0FBQ1osRUFDQSw0Q0FBNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9tZXNzYWdlLWVuY3J5cHRpb24vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvY29tbW9uL3B1c2hfb3JfaW5pdF9tYXAuanM/MzE4MSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcHVzaE9ySW5pdE1hcFNldChtYXAsIGtleSwgbmV3VmFsdWUpIHtcbiAgICBsZXQgYXJyID0gbWFwLmdldChrZXkpO1xuICAgIGlmICh0eXBlb2YgYXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIG1hcC5zZXQoa2V5LCBuZXcgU2V0KCkpO1xuICAgICAgICBhcnIgPSBtYXAuZ2V0KGtleSk7XG4gICAgfVxuICAgIGFyci5hZGQobmV3VmFsdWUpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHVzaF9vcl9pbml0X21hcC5qcy5tYXAiXSwibmFtZXMiOlsicHVzaE9ySW5pdE1hcFNldCIsIm1hcCIsImtleSIsIm5ld1ZhbHVlIiwiYXJyIiwiZ2V0Iiwic2V0IiwiU2V0IiwiYWRkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/push_or_init_map.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/random_subset.js":
/*!*****************************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/random_subset.js ***!
\*****************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getPseudoRandomSubset: () => (/* binding */ getPseudoRandomSubset)\n/* harmony export */ });\n/**\n * Return pseudo random subset of the input.\n */ function getPseudoRandomSubset(values, wantedNumber) {\n if (values.length <= wantedNumber || values.length <= 1) {\n return values;\n }\n return shuffle(values).slice(0, wantedNumber);\n}\nfunction shuffle(arr) {\n if (arr.length <= 1) {\n return arr;\n }\n const randInt = ()=>{\n return Math.floor(Math.random() * Math.floor(arr.length));\n };\n for(let i = 0; i < arr.length; i++){\n const j = randInt();\n const tmp = arr[i];\n arr[i] = arr[j];\n arr[j] = tmp;\n }\n return arr;\n} //# sourceMappingURL=random_subset.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9yYW5kb21fc3Vic2V0LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7Q0FFQyxHQUNNLFNBQVNBLHNCQUFzQkMsTUFBTSxFQUFFQyxZQUFZO0lBQ3RELElBQUlELE9BQU9FLE1BQU0sSUFBSUQsZ0JBQWdCRCxPQUFPRSxNQUFNLElBQUksR0FBRztRQUNyRCxPQUFPRjtJQUNYO0lBQ0EsT0FBT0csUUFBUUgsUUFBUUksS0FBSyxDQUFDLEdBQUdIO0FBQ3BDO0FBQ0EsU0FBU0UsUUFBUUUsR0FBRztJQUNoQixJQUFJQSxJQUFJSCxNQUFNLElBQUksR0FBRztRQUNqQixPQUFPRztJQUNYO0lBQ0EsTUFBTUMsVUFBVTtRQUNaLE9BQU9DLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsTUFBTSxLQUFLRixLQUFLQyxLQUFLLENBQUNILElBQUlILE1BQU07SUFDM0Q7SUFDQSxJQUFLLElBQUlRLElBQUksR0FBR0EsSUFBSUwsSUFBSUgsTUFBTSxFQUFFUSxJQUFLO1FBQ2pDLE1BQU1DLElBQUlMO1FBQ1YsTUFBTU0sTUFBTVAsR0FBRyxDQUFDSyxFQUFFO1FBQ2xCTCxHQUFHLENBQUNLLEVBQUUsR0FBR0wsR0FBRyxDQUFDTSxFQUFFO1FBQ2ZOLEdBQUcsQ0FBQ00sRUFBRSxHQUFHQztJQUNiO0lBQ0EsT0FBT1A7QUFDWCxFQUNBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L21lc3NhZ2UtZW5jcnlwdGlvbi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcmFuZG9tX3N1YnNldC5qcz81NzQxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmV0dXJuIHBzZXVkbyByYW5kb20gc3Vic2V0IG9mIHRoZSBpbnB1dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBzZXVkb1JhbmRvbVN1YnNldCh2YWx1ZXMsIHdhbnRlZE51bWJlcikge1xuICAgIGlmICh2YWx1ZXMubGVuZ3RoIDw9IHdhbnRlZE51bWJlciB8fCB2YWx1ZXMubGVuZ3RoIDw9IDEpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlcztcbiAgICB9XG4gICAgcmV0dXJuIHNodWZmbGUodmFsdWVzKS5zbGljZSgwLCB3YW50ZWROdW1iZXIpO1xufVxuZnVuY3Rpb24gc2h1ZmZsZShhcnIpIHtcbiAgICBpZiAoYXJyLmxlbmd0aCA8PSAxKSB7XG4gICAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuICAgIGNvbnN0IHJhbmRJbnQgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBNYXRoLmZsb29yKGFyci5sZW5ndGgpKTtcbiAgICB9O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGogPSByYW5kSW50KCk7XG4gICAgICAgIGNvbnN0IHRtcCA9IGFycltpXTtcbiAgICAgICAgYXJyW2ldID0gYXJyW2pdO1xuICAgICAgICBhcnJbal0gPSB0bXA7XG4gICAgfVxuICAgIHJldHVybiBhcnI7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yYW5kb21fc3Vic2V0LmpzLm1hcCJdLCJuYW1lcyI6WyJnZXRQc2V1ZG9SYW5kb21TdWJzZXQiLCJ2YWx1ZXMiLCJ3YW50ZWROdW1iZXIiLCJsZW5ndGgiLCJzaHVmZmxlIiwic2xpY2UiLCJhcnIiLCJyYW5kSW50IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiaSIsImoiLCJ0bXAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/random_subset.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/relay_shard_codec.js":
/*!*********************************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/relay_shard_codec.js ***!
\*********************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeRelayShard: () => (/* binding */ decodeRelayShard),\n/* harmony export */ encodeRelayShard: () => (/* binding */ encodeRelayShard)\n/* harmony export */ });\nconst decodeRelayShard = (bytes)=>{\n // explicitly converting to Uint8Array to avoid Buffer\n // https://github.com/libp2p/js-libp2p/issues/2146\n bytes = new Uint8Array(bytes);\n if (bytes.length < 3) throw new Error(\"Insufficient data\");\n const view = new DataView(bytes.buffer);\n const clusterId = view.getUint16(0);\n const shards = [];\n if (bytes.length === 130) {\n // rsv format (Bit Vector)\n for(let i = 0; i < 1024; i++){\n const byteIndex = Math.floor(i / 8) + 2; // Adjusted for the 2-byte cluster field\n const bitIndex = 7 - i % 8;\n if (view.getUint8(byteIndex) & 1 << bitIndex) {\n shards.push(i);\n }\n }\n } else {\n // rs format (Index List)\n const numIndices = view.getUint8(2);\n for(let i = 0, offset = 3; i < numIndices; i++, offset += 2){\n if (offset + 1 >= bytes.length) throw new Error(\"Unexpected end of data\");\n shards.push(view.getUint16(offset));\n }\n }\n return {\n clusterId,\n shards\n };\n};\nconst encodeRelayShard = (shardInfo)=>{\n const { clusterId, shards } = shardInfo;\n const totalLength = shards.length >= 64 ? 130 : 3 + 2 * shards.length;\n const buffer = new ArrayBuffer(totalLength);\n const view = new DataView(buffer);\n view.setUint16(0, clusterId);\n if (shards.length >= 64) {\n // rsv format (Bit Vector)\n for (const index of shards){\n const byteIndex = Math.floor(index / 8) + 2; // Adjusted for the 2-byte cluster field\n const bitIndex = 7 - index % 8;\n view.setUint8(byteIndex, view.getUint8(byteIndex) | 1 << bitIndex);\n }\n } else {\n // rs format (Index List)\n view.setUint8(2, shards.length);\n for(let i = 0, offset = 3; i < shards.length; i++, offset += 2){\n view.setUint16(offset, shards[i]);\n }\n }\n return new Uint8Array(buffer);\n}; //# sourceMappingURL=relay_shard_codec.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9yZWxheV9zaGFyZF9jb2RlYy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPLE1BQU1BLG1CQUFtQixDQUFDQztJQUM3QixzREFBc0Q7SUFDdEQsa0RBQWtEO0lBQ2xEQSxRQUFRLElBQUlDLFdBQVdEO0lBQ3ZCLElBQUlBLE1BQU1FLE1BQU0sR0FBRyxHQUNmLE1BQU0sSUFBSUMsTUFBTTtJQUNwQixNQUFNQyxPQUFPLElBQUlDLFNBQVNMLE1BQU1NLE1BQU07SUFDdEMsTUFBTUMsWUFBWUgsS0FBS0ksU0FBUyxDQUFDO0lBQ2pDLE1BQU1DLFNBQVMsRUFBRTtJQUNqQixJQUFJVCxNQUFNRSxNQUFNLEtBQUssS0FBSztRQUN0QiwwQkFBMEI7UUFDMUIsSUFBSyxJQUFJUSxJQUFJLEdBQUdBLElBQUksTUFBTUEsSUFBSztZQUMzQixNQUFNQyxZQUFZQyxLQUFLQyxLQUFLLENBQUNILElBQUksS0FBSyxHQUFHLHdDQUF3QztZQUNqRixNQUFNSSxXQUFXLElBQUtKLElBQUk7WUFDMUIsSUFBSU4sS0FBS1csUUFBUSxDQUFDSixhQUFjLEtBQUtHLFVBQVc7Z0JBQzVDTCxPQUFPTyxJQUFJLENBQUNOO1lBQ2hCO1FBQ0o7SUFDSixPQUNLO1FBQ0QseUJBQXlCO1FBQ3pCLE1BQU1PLGFBQWFiLEtBQUtXLFFBQVEsQ0FBQztRQUNqQyxJQUFLLElBQUlMLElBQUksR0FBR1EsU0FBUyxHQUFHUixJQUFJTyxZQUFZUCxLQUFLUSxVQUFVLEVBQUc7WUFDMUQsSUFBSUEsU0FBUyxLQUFLbEIsTUFBTUUsTUFBTSxFQUMxQixNQUFNLElBQUlDLE1BQU07WUFDcEJNLE9BQU9PLElBQUksQ0FBQ1osS0FBS0ksU0FBUyxDQUFDVTtRQUMvQjtJQUNKO0lBQ0EsT0FBTztRQUFFWDtRQUFXRTtJQUFPO0FBQy9CLEVBQUU7QUFDSyxNQUFNVSxtQkFBbUIsQ0FBQ0M7SUFDN0IsTUFBTSxFQUFFYixTQUFTLEVBQUVFLE1BQU0sRUFBRSxHQUFHVztJQUM5QixNQUFNQyxjQUFjWixPQUFPUCxNQUFNLElBQUksS0FBSyxNQUFNLElBQUksSUFBSU8sT0FBT1AsTUFBTTtJQUNyRSxNQUFNSSxTQUFTLElBQUlnQixZQUFZRDtJQUMvQixNQUFNakIsT0FBTyxJQUFJQyxTQUFTQztJQUMxQkYsS0FBS21CLFNBQVMsQ0FBQyxHQUFHaEI7SUFDbEIsSUFBSUUsT0FBT1AsTUFBTSxJQUFJLElBQUk7UUFDckIsMEJBQTBCO1FBQzFCLEtBQUssTUFBTXNCLFNBQVNmLE9BQVE7WUFDeEIsTUFBTUUsWUFBWUMsS0FBS0MsS0FBSyxDQUFDVyxRQUFRLEtBQUssR0FBRyx3Q0FBd0M7WUFDckYsTUFBTVYsV0FBVyxJQUFLVSxRQUFRO1lBQzlCcEIsS0FBS3FCLFFBQVEsQ0FBQ2QsV0FBV1AsS0FBS1csUUFBUSxDQUFDSixhQUFjLEtBQUtHO1FBQzlEO0lBQ0osT0FDSztRQUNELHlCQUF5QjtRQUN6QlYsS0FBS3FCLFFBQVEsQ0FBQyxHQUFHaEIsT0FBT1AsTUFBTTtRQUM5QixJQUFLLElBQUlRLElBQUksR0FBR1EsU0FBUyxHQUFHUixJQUFJRCxPQUFPUCxNQUFNLEVBQUVRLEtBQUtRLFVBQVUsRUFBRztZQUM3RGQsS0FBS21CLFNBQVMsQ0FBQ0wsUUFBUVQsTUFBTSxDQUFDQyxFQUFFO1FBQ3BDO0lBQ0o7SUFDQSxPQUFPLElBQUlULFdBQVdLO0FBQzFCLEVBQUUsQ0FDRiw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9tZXNzYWdlLWVuY3J5cHRpb24vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvY29tbW9uL3JlbGF5X3NoYXJkX2NvZGVjLmpzPzM3OWUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGRlY29kZVJlbGF5U2hhcmQgPSAoYnl0ZXMpID0+IHtcbiAgICAvLyBleHBsaWNpdGx5IGNvbnZlcnRpbmcgdG8gVWludDhBcnJheSB0byBhdm9pZCBCdWZmZXJcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbGlicDJwL2pzLWxpYnAycC9pc3N1ZXMvMjE0NlxuICAgIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZXMpO1xuICAgIGlmIChieXRlcy5sZW5ndGggPCAzKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnN1ZmZpY2llbnQgZGF0YVwiKTtcbiAgICBjb25zdCB2aWV3ID0gbmV3IERhdGFWaWV3KGJ5dGVzLmJ1ZmZlcik7XG4gICAgY29uc3QgY2x1c3RlcklkID0gdmlldy5nZXRVaW50MTYoMCk7XG4gICAgY29uc3Qgc2hhcmRzID0gW107XG4gICAgaWYgKGJ5dGVzLmxlbmd0aCA9PT0gMTMwKSB7XG4gICAgICAgIC8vIHJzdiBmb3JtYXQgKEJpdCBWZWN0b3IpXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAyNDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBieXRlSW5kZXggPSBNYXRoLmZsb29yKGkgLyA4KSArIDI7IC8vIEFkanVzdGVkIGZvciB0aGUgMi1ieXRlIGNsdXN0ZXIgZmllbGRcbiAgICAgICAgICAgIGNvbnN0IGJpdEluZGV4ID0gNyAtIChpICUgOCk7XG4gICAgICAgICAgICBpZiAodmlldy5nZXRVaW50OChieXRlSW5kZXgpICYgKDEgPDwgYml0SW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgc2hhcmRzLnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIHJzIGZvcm1hdCAoSW5kZXggTGlzdClcbiAgICAgICAgY29uc3QgbnVtSW5kaWNlcyA9IHZpZXcuZ2V0VWludDgoMik7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBvZmZzZXQgPSAzOyBpIDwgbnVtSW5kaWNlczsgaSsrLCBvZmZzZXQgKz0gMikge1xuICAgICAgICAgICAgaWYgKG9mZnNldCArIDEgPj0gYnl0ZXMubGVuZ3RoKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuZXhwZWN0ZWQgZW5kIG9mIGRhdGFcIik7XG4gICAgICAgICAgICBzaGFyZHMucHVzaCh2aWV3LmdldFVpbnQxNihvZmZzZXQpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBjbHVzdGVySWQsIHNoYXJkcyB9O1xufTtcbmV4cG9ydCBjb25zdCBlbmNvZGVSZWxheVNoYXJkID0gKHNoYXJkSW5mbykgPT4ge1xuICAgIGNvbnN0IHsgY2x1c3RlcklkLCBzaGFyZHMgfSA9IHNoYXJkSW5mbztcbiAgICBjb25zdCB0b3RhbExlbmd0aCA9IHNoYXJkcy5sZW5ndGggPj0gNjQgPyAxMzAgOiAzICsgMiAqIHNoYXJkcy5sZW5ndGg7XG4gICAgY29uc3QgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKHRvdGFsTGVuZ3RoKTtcbiAgICBjb25zdCB2aWV3ID0gbmV3IERhdGFWaWV3KGJ1ZmZlcik7XG4gICAgdmlldy5zZXRVaW50MTYoMCwgY2x1c3RlcklkKTtcbiAgICBpZiAoc2hhcmRzLmxlbmd0aCA+PSA2NCkge1xuICAgICAgICAvLyByc3YgZm9ybWF0IChCaXQgVmVjdG9yKVxuICAgICAgICBmb3IgKGNvbnN0IGluZGV4IG9mIHNoYXJkcykge1xuICAgICAgICAgICAgY29uc3QgYnl0ZUluZGV4ID0gTWF0aC5mbG9vcihpbmRleCAvIDgpICsgMjsgLy8gQWRqdXN0ZWQgZm9yIHRoZSAyLWJ5dGUgY2x1c3RlciBmaWVsZFxuICAgICAgICAgICAgY29uc3QgYml0SW5kZXggPSA3IC0gKGluZGV4ICUgOCk7XG4gICAgICAgICAgICB2aWV3LnNldFVpbnQ4KGJ5dGVJbmRleCwgdmlldy5nZXRVaW50OChieXRlSW5kZXgpIHwgKDEgPDwgYml0SW5kZXgpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gcnMgZm9ybWF0IChJbmRleCBMaXN0KVxuICAgICAgICB2aWV3LnNldFVpbnQ4KDIsIHNoYXJkcy5sZW5ndGgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgb2Zmc2V0ID0gMzsgaSA8IHNoYXJkcy5sZW5ndGg7IGkrKywgb2Zmc2V0ICs9IDIpIHtcbiAgICAgICAgICAgIHZpZXcuc2V0VWludDE2KG9mZnNldCwgc2hhcmRzW2ldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTtcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWxheV9zaGFyZF9jb2RlYy5qcy5tYXAiXSwibmFtZXMiOlsiZGVjb2RlUmVsYXlTaGFyZCIsImJ5dGVzIiwiVWludDhBcnJheSIsImxlbmd0aCIsIkVycm9yIiwidmlldyIsIkRhdGFWaWV3IiwiYnVmZmVyIiwiY2x1c3RlcklkIiwiZ2V0VWludDE2Iiwic2hhcmRzIiwiaSIsImJ5dGVJbmRleCIsIk1hdGgiLCJmbG9vciIsImJpdEluZGV4IiwiZ2V0VWludDgiLCJwdXNoIiwibnVtSW5kaWNlcyIsIm9mZnNldCIsImVuY29kZVJlbGF5U2hhcmQiLCJzaGFyZEluZm8iLCJ0b3RhbExlbmd0aCIsIkFycmF5QnVmZmVyIiwic2V0VWludDE2IiwiaW5kZXgiLCJzZXRVaW50OCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/relay_shard_codec.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/sharding.js":
/*!************************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/sharding.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ contentTopicToPubsubTopic: () => (/* binding */ contentTopicToPubsubTopic),\n/* harmony export */ contentTopicToShardIndex: () => (/* binding */ contentTopicToShardIndex),\n/* harmony export */ contentTopicsByPubsubTopic: () => (/* binding */ contentTopicsByPubsubTopic),\n/* harmony export */ determinePubsubTopic: () => (/* binding */ determinePubsubTopic),\n/* harmony export */ ensurePubsubTopicIsConfigured: () => (/* binding */ ensurePubsubTopicIsConfigured),\n/* harmony export */ ensureShardingConfigured: () => (/* binding */ ensureShardingConfigured),\n/* harmony export */ ensureValidContentTopic: () => (/* binding */ ensureValidContentTopic),\n/* harmony export */ pubsubTopicToSingleShardInfo: () => (/* binding */ pubsubTopicToSingleShardInfo),\n/* harmony export */ shardInfoToPubsubTopics: () => (/* binding */ shardInfoToPubsubTopics),\n/* harmony export */ singleShardInfoToPubsubTopic: () => (/* binding */ singleShardInfoToPubsubTopic),\n/* harmony export */ singleShardInfosToShardInfo: () => (/* binding */ singleShardInfosToShardInfo)\n/* harmony export */ });\n/* harmony import */ var _noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @noble/hashes/sha256 */ \"(ssr)/./node_modules/@noble/hashes/esm/sha256.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _bytes_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../bytes/index.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/bytes/index.js\");\n\n\n\nconst singleShardInfoToPubsubTopic = (shardInfo)=>{\n if (shardInfo.clusterId === undefined || shardInfo.shard === undefined) throw new Error(\"Invalid shard\");\n return `/waku/2/rs/${shardInfo.clusterId}/${shardInfo.shard}`;\n};\nconst singleShardInfosToShardInfo = (singleShardInfos)=>{\n if (singleShardInfos.length === 0) throw new Error(\"Invalid shard\");\n const clusterIds = singleShardInfos.map((shardInfo)=>shardInfo.clusterId);\n if (new Set(clusterIds).size !== 1) {\n throw new Error(\"Passed shard infos have different clusterIds\");\n }\n const shards = singleShardInfos.map((shardInfo)=>shardInfo.shard).filter((shard)=>shard !== undefined);\n return {\n clusterId: singleShardInfos[0].clusterId,\n shards\n };\n};\nconst shardInfoToPubsubTopics = (shardInfo)=>{\n if (\"contentTopics\" in shardInfo && shardInfo.contentTopics) {\n // Autosharding: explicitly defined content topics\n return Array.from(new Set(shardInfo.contentTopics.map((contentTopic)=>contentTopicToPubsubTopic(contentTopic, shardInfo.clusterId))));\n } else if (\"shards\" in shardInfo) {\n // Static sharding\n if (shardInfo.shards === undefined) throw new Error(\"Invalid shard\");\n return Array.from(new Set(shardInfo.shards.map((index)=>`/waku/2/rs/${shardInfo.clusterId ?? _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID}/${index}`)));\n } else if (\"application\" in shardInfo && \"version\" in shardInfo) {\n // Autosharding: single shard from application and version\n return [\n contentTopicToPubsubTopic(`/${shardInfo.application}/${shardInfo.version}/default/default`, shardInfo.clusterId)\n ];\n } else {\n throw new Error(\"Missing required configuration in shard parameters\");\n }\n};\nconst pubsubTopicToSingleShardInfo = (pubsubTopics)=>{\n const parts = pubsubTopics.split(\"/\");\n if (parts.length != 6 || parts[1] !== \"waku\" || parts[2] !== \"2\" || parts[3] !== \"rs\") throw new Error(\"Invalid pubsub topic\");\n const clusterId = parseInt(parts[4]);\n const shard = parseInt(parts[5]);\n if (isNaN(clusterId) || isNaN(shard)) throw new Error(\"Invalid clusterId or shard\");\n return {\n clusterId,\n shard\n };\n};\n//TODO: move part of BaseProtocol instead of utils\n// return `ProtocolError.TOPIC_NOT_CONFIGURED` instead of throwing\nfunction ensurePubsubTopicIsConfigured(pubsubTopic, configuredTopics) {\n if (!configuredTopics.includes(pubsubTopic)) {\n throw new Error(`Pubsub topic ${pubsubTopic} has not been configured on this instance. Configured topics are: ${configuredTopics}. Please update your configuration by passing in the topic during Waku node instantiation.`);\n }\n}\n/**\n * Given a string, will throw an error if it is not formatted as a valid content topic for autosharding based on https://rfc.vac.dev/spec/51/\n * @param contentTopic String to validate\n * @returns Object with each content topic field as an attribute\n */ function ensureValidContentTopic(contentTopic) {\n const parts = contentTopic.split(\"/\");\n if (parts.length < 5 || parts.length > 6) {\n throw Error(\"Content topic format is invalid\");\n }\n // Validate generation field if present\n let generation = 0;\n if (parts.length == 6) {\n generation = parseInt(parts[1]);\n if (isNaN(generation)) {\n throw new Error(\"Invalid generation field in content topic\");\n }\n if (generation > 0) {\n throw new Error(\"Generation greater than 0 is not supported\");\n }\n }\n // Validate remaining fields\n const fields = parts.splice(-4);\n // Validate application field\n if (fields[0].length == 0) {\n throw new Error(\"Application field cannot be empty\");\n }\n // Validate version field\n if (fields[1].length == 0) {\n throw new Error(\"Version field cannot be empty\");\n }\n // Validate topic name field\n if (fields[2].length == 0) {\n throw new Error(\"Topic name field cannot be empty\");\n }\n // Validate encoding field\n if (fields[3].length == 0) {\n throw new Error(\"Encoding field cannot be empty\");\n }\n return {\n generation,\n application: fields[0],\n version: fields[1],\n topicName: fields[2],\n encoding: fields[3]\n };\n}\n/**\n * Given a string, determines which autoshard index to use for its pubsub topic.\n * Based on the algorithm described in the RFC: https://rfc.vac.dev/spec/51//#algorithm\n */ function contentTopicToShardIndex(contentTopic, networkShards = 8) {\n const { application, version } = ensureValidContentTopic(contentTopic);\n const digest = (0,_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_2__.sha256)((0,_bytes_index_js__WEBPACK_IMPORTED_MODULE_1__.concat)([\n (0,_bytes_index_js__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)(application),\n (0,_bytes_index_js__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)(version)\n ]));\n const dataview = new DataView(digest.buffer.slice(-8));\n return Number(dataview.getBigUint64(0, false) % BigInt(networkShards));\n}\nfunction contentTopicToPubsubTopic(contentTopic, clusterId = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID, networkShards = 8) {\n const shardIndex = contentTopicToShardIndex(contentTopic, networkShards);\n return `/waku/2/rs/${clusterId}/${shardIndex}`;\n}\n/**\n * Given an array of content topics, groups them together by their Pubsub topic as derived using the algorithm for autosharding.\n * If any of the content topics are not properly formatted, the function will throw an error.\n */ function contentTopicsByPubsubTopic(contentTopics, clusterId = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID, networkShards = 8) {\n const groupedContentTopics = new Map();\n for (const contentTopic of contentTopics){\n const pubsubTopic = contentTopicToPubsubTopic(contentTopic, clusterId, networkShards);\n let topics = groupedContentTopics.get(pubsubTopic);\n if (!topics) {\n groupedContentTopics.set(pubsubTopic, []);\n topics = groupedContentTopics.get(pubsubTopic);\n }\n topics.push(contentTopic);\n }\n return groupedContentTopics;\n}\n/**\n * Used when creating encoders/decoders to determine which pubsub topic to use\n */ function determinePubsubTopic(contentTopic, pubsubTopicShardInfo = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DefaultPubsubTopic) {\n if (typeof pubsubTopicShardInfo == \"string\") {\n return pubsubTopicShardInfo;\n } else {\n return pubsubTopicShardInfo ? pubsubTopicShardInfo.shard ? singleShardInfoToPubsubTopic(pubsubTopicShardInfo) : contentTopicToPubsubTopic(contentTopic, pubsubTopicShardInfo.clusterId) : _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DefaultPubsubTopic;\n }\n}\n/**\n * Validates sharding configuration and sets defaults where possible.\n * @returns Validated sharding parameters, with any missing values set to defaults\n */ const ensureShardingConfigured = (shardInfo)=>{\n const clusterId = shardInfo.clusterId ?? _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID;\n const shards = \"shards\" in shardInfo ? shardInfo.shards : [];\n const contentTopics = \"contentTopics\" in shardInfo ? shardInfo.contentTopics : [];\n const [application, version] = \"application\" in shardInfo && \"version\" in shardInfo ? [\n shardInfo.application,\n shardInfo.version\n ] : [\n undefined,\n undefined\n ];\n const isShardsConfigured = shards && shards.length > 0;\n const isContentTopicsConfigured = contentTopics && contentTopics.length > 0;\n const isApplicationVersionConfigured = application && version;\n if (isShardsConfigured) {\n return {\n shardingParams: {\n clusterId,\n shards\n },\n shardInfo: {\n clusterId,\n shards\n },\n pubsubTopics: shardInfoToPubsubTopics({\n clusterId,\n shards\n })\n };\n }\n if (isContentTopicsConfigured) {\n const pubsubTopics = Array.from(new Set(contentTopics.map((topic)=>contentTopicToPubsubTopic(topic, clusterId))));\n const shards = Array.from(new Set(contentTopics.map((topic)=>contentTopicToShardIndex(topic))));\n return {\n shardingParams: {\n clusterId,\n contentTopics\n },\n shardInfo: {\n clusterId,\n shards\n },\n pubsubTopics\n };\n }\n if (isApplicationVersionConfigured) {\n const pubsubTopic = contentTopicToPubsubTopic(`/${application}/${version}/default/default`, clusterId);\n return {\n shardingParams: {\n clusterId,\n application,\n version\n },\n shardInfo: {\n clusterId,\n shards: [\n pubsubTopicToSingleShardInfo(pubsubTopic).shard\n ]\n },\n pubsubTopics: [\n pubsubTopic\n ]\n };\n }\n throw new Error(\"Missing minimum required configuration options for static sharding or autosharding.\");\n}; //# sourceMappingURL=sharding.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9zaGFyZGluZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUE4QztBQUM0QjtBQUNsQjtBQUNqRCxNQUFNSywrQkFBK0IsQ0FBQ0M7SUFDekMsSUFBSUEsVUFBVUMsU0FBUyxLQUFLQyxhQUFhRixVQUFVRyxLQUFLLEtBQUtELFdBQ3pELE1BQU0sSUFBSUUsTUFBTTtJQUNwQixPQUFPLENBQUMsV0FBVyxFQUFFSixVQUFVQyxTQUFTLENBQUMsQ0FBQyxFQUFFRCxVQUFVRyxLQUFLLENBQUMsQ0FBQztBQUNqRSxFQUFFO0FBQ0ssTUFBTUUsOEJBQThCLENBQUNDO0lBQ3hDLElBQUlBLGlCQUFpQkMsTUFBTSxLQUFLLEdBQzVCLE1BQU0sSUFBSUgsTUFBTTtJQUNwQixNQUFNSSxhQUFhRixpQkFBaUJHLEdBQUcsQ0FBQyxDQUFDVCxZQUFjQSxVQUFVQyxTQUFTO0lBQzFFLElBQUksSUFBSVMsSUFBSUYsWUFBWUcsSUFBSSxLQUFLLEdBQUc7UUFDaEMsTUFBTSxJQUFJUCxNQUFNO0lBQ3BCO0lBQ0EsTUFBTVEsU0FBU04saUJBQ1ZHLEdBQUcsQ0FBQyxDQUFDVCxZQUFjQSxVQUFVRyxLQUFLLEVBQ2xDVSxNQUFNLENBQUMsQ0FBQ1YsUUFBVUEsVUFBVUQ7SUFDakMsT0FBTztRQUNIRCxXQUFXSyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUNMLFNBQVM7UUFDeENXO0lBQ0o7QUFDSixFQUFFO0FBQ0ssTUFBTUUsMEJBQTBCLENBQUNkO0lBQ3BDLElBQUksbUJBQW1CQSxhQUFhQSxVQUFVZSxhQUFhLEVBQUU7UUFDekQsa0RBQWtEO1FBQ2xELE9BQU9DLE1BQU1DLElBQUksQ0FBQyxJQUFJUCxJQUFJVixVQUFVZSxhQUFhLENBQUNOLEdBQUcsQ0FBQyxDQUFDUyxlQUFpQkMsMEJBQTBCRCxjQUFjbEIsVUFBVUMs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QWVSLE1BQU1DLElBQUksQ0FBQyxJQUFJUCxJQUFJSyxjQUFjTixHQUFHLENBQUMsQ0FBQ3VELFFBQVU3QywwQkFBMEI2QyxPQUFPL0Q7UUFDdEcsTUFBTVcsU0FBU0ksTUFBTUMsSUFBSSxDQUFDLElBQUlQLElBQUlLLGNBQWNOLEdBQUcsQ0FBQyxDQUFDdUQsUUFBVXpCLHlCQUF5QnlCO1FBQ3hGLE9BQU87WUFDSEQsZ0JBQWdCO2dCQUFFOUQ7Z0JBQVdjO1lBQWM7WUFDM0NmLFdBQVc7Z0JBQUVDO2dCQUFXVztZQUFPO1lBQy9CWTtRQUNKO0lBQ0o7SUFDQSxJQUFJc0MsZ0NBQWdDO1FBQ2hDLE1BQU1oQyxjQUFjWCwwQkFBMEIsQ0FBQyxDQUFDLEVBQUVFLFlBQVksQ0FBQyxFQUFFQyxRQUFRLGdCQUFnQixDQUFDLEVBQUVyQjtRQUM1RixPQUFPO1lBQ0g4RCxnQkFBZ0I7Z0JBQUU5RDtnQkFBV29CO2dCQUFhQztZQUFRO1lBQ2xEdEIsV0FBVztnQkFDUEM7Z0JBQ0FXLFFBQVE7b0JBQUNXLDZCQUE2Qk8sYUFBYTNCLEtBQUs7aUJBQUM7WUFDN0Q7WUFDQXFCLGNBQWM7Z0JBQUNNO2FBQVk7UUFDL0I7SUFDSjtJQUNBLE1BQU0sSUFBSTFCLE1BQU07QUFDcEIsRUFBRSxDQUNGLG9DQUFvQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L21lc3NhZ2UtZW5jcnlwdGlvbi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vc2hhcmRpbmcuanM/NzM4NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGEyNTYgfSBmcm9tIFwiQG5vYmxlL2hhc2hlcy9zaGEyNTZcIjtcbmltcG9ydCB7IERFRkFVTFRfQ0xVU1RFUl9JRCwgRGVmYXVsdFB1YnN1YlRvcGljIH0gZnJvbSBcIkB3YWt1L2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IGNvbmNhdCwgdXRmOFRvQnl0ZXMgfSBmcm9tIFwiLi4vYnl0ZXMvaW5kZXguanNcIjtcbmV4cG9ydCBjb25zdCBzaW5nbGVTaGFyZEluZm9Ub1B1YnN1YlRvcGljID0gKHNoYXJkSW5mbykgPT4ge1xuICAgIGlmIChzaGFyZEluZm8uY2x1c3RlcklkID09PSB1bmRlZmluZWQgfHwgc2hhcmRJbmZvLnNoYXJkID09PSB1bmRlZmluZWQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgc2hhcmRcIik7XG4gICAgcmV0dXJuIGAvd2FrdS8yL3JzLyR7c2hhcmRJbmZvLmNsdXN0ZXJJZH0vJHtzaGFyZEluZm8uc2hhcmR9YDtcbn07XG5leHBvcnQgY29uc3Qgc2luZ2xlU2hhcmRJbmZvc1RvU2hhcmRJbmZvID0gKHNpbmdsZVNoYXJkSW5mb3MpID0+IHtcbiAgICBpZiAoc2luZ2xlU2hhcmRJbmZvcy5sZW5ndGggPT09IDApXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgc2hhcmRcIik7XG4gICAgY29uc3QgY2x1c3RlcklkcyA9IHNpbmdsZVNoYXJkSW5mb3MubWFwKChzaGFyZEluZm8pID0+IHNoYXJkSW5mby5jbHVzdGVySWQpO1xuICAgIGlmIChuZXcgU2V0KGNsdXN0ZXJJZHMpLnNpemUgIT09IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUGFzc2VkIHNoYXJkIGluZm9zIGhhdmUgZGlmZmVyZW50IGNsdXN0ZXJJZHNcIik7XG4gICAgfVxuICAgIGNvbnN0IHNoYXJkcyA9IHNpbmdsZVNoYXJkSW5mb3NcbiAgICAgICAgLm1hcCgoc2hhcmRJbmZvKSA9PiBzaGFyZEluZm8uc2hhcmQpXG4gICAgICAgIC5maWx0ZXIoKHNoYXJkKSA9PiBzaGFyZCAhPT0gdW5kZWZpbmVkKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBjbHVzdGVySWQ6IHNpbmdsZVNoYXJkSW5mb3NbMF0uY2x1c3RlcklkLFxuICAgICAgICBzaGFyZHNcbiAgICB9O1xufTtcbmV4cG9ydCBjb25zdCBzaGFyZEluZm9Ub1B1YnN1YlRvcGljcyA9IChzaGFyZEluZm8pID0+IHtcbiAgICBpZiAoXCJjb250ZW50VG9waWNzXCIgaW4gc2hhcmRJbmZvICYmIHNoYXJkSW5mby5jb250ZW50VG9waWNzKSB7XG4gICAgICAgIC8vIEF1dG9zaGFyZGluZzogZXhwbGljaXRseSBkZWZpbmVkIGNvbnRlbnQgdG9waWNzXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoc2hhcmRJbmZvLmNvbnRlbnRUb3BpY3MubWFwKChjb250ZW50VG9waWMpID0+IGNvbnRlbnRUb3BpY1RvUHVic3ViVG9waWMoY29udGVudFRvcGljLCBzaGFyZEluZm8uY2x1c3RlcklkKSkpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoXCJzaGFyZHNcIiBpbiBzaGFyZEluZm8pIHtcbiAgICAgICAgLy8gU3RhdGljIHNoYXJkaW5nXG4gICAgICAgIGlmIChzaGFyZEluZm8uc2hhcmRzID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHNoYXJkXCIpO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KHNoYXJkSW5mby5zaGFyZHMubWFwKChpbmRleCkgPT4gYC93YWt1LzIvcnMvJHtzaGFyZEluZm8uY2x1c3RlcklkID8/IERFRkFVTFRfQ0xVU1RFUl9JRH0vJHtpbmRleH1gKSkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChcImFwcGxpY2F0aW9uXCIgaW4gc2hhcmRJbmZvICYmIFwidmVyc2lvblwiIGluIHNoYXJkSW5mbykge1xuICAgICAgICAvLyBBdXRvc2hhcmRpbmc6IHNpbmdsZSBzaGFyZCBmcm9tIGFwcGxpY2F0aW9uIGFuZCB2ZXJzaW9uXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBjb250ZW50VG9waWNUb1B1YnN1YlRvcGljKGAvJHtzaGFyZEluZm8uYXBwbGljYXRpb259LyR7c2hhcmRJbmZvLnZlcnNpb259L2RlZmF1bHQvZGVmYXVsdGAsIHNoYXJkSW5mby5jbHVzdGVySWQpXG4gICAgICAgIF07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIHJlcXVpcmVkIGNvbmZpZ3VyYXRpb24gaW4gc2hhcmQgcGFyYW1ldGVyc1wiKTtcbiAgICB9XG59O1xuZXhwb3J0IGNvbnN0IHB1YnN1YlRvcGljVG9TaW5nbGVTaGFyZEluZm8gPSAocHVic3ViVG9waWNzKSA9PiB7XG4gICAgY29uc3QgcGFydHMgPSBwdWJzdWJUb3BpY3Muc3BsaXQoXCIvXCIpO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggIT0gNiB8fFxuICAgICAgICBwYXJ0c1sxXSAhPT0gXCJ3YWt1XCIgfHxcbiAgICAgICAgcGFydHNbMl0gIT09IFwiMlwiIHx8XG4gICAgICAgIHBhcnRzWzNdICE9PSBcInJzXCIpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgcHVic3ViIHRvcGljXCIpO1xuICAgIGNvbnN0IGNsdXN0ZXJJZCA9IHBhcnNlSW50KHBhcnRzWzRdKTtcbiAgICBjb25zdCBzaGFyZCA9IHBhcnNlSW50KHBhcnRzWzVdKTtcbiAgICBpZiAoaXNOYU4oY2x1c3RlcklkKSB8fCBpc05hTihzaGFyZCkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY2x1c3RlcklkIG9yIHNoYXJkXCIpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGNsdXN0ZXJJZCxcbiAgICAgICAgc2hhcmRcbiAgICB9O1xufTtcbi8vVE9ETzogbW92ZSBwYXJ0IG9mIEJhc2VQcm90b2NvbCBpbnN0ZWFkIG9mIHV0aWxzXG4vLyByZXR1cm4gYFByb3RvY29sRXJyb3IuVE9QSUNfTk9UX0NPTkZJR1VSRURgIGluc3RlYWQgb2YgdGhyb3dpbmdcbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVQdWJzdWJUb3BpY0lzQ29uZmlndXJlZChwdWJzdWJUb3BpYywgY29uZmlndXJlZFRvcGljcykge1xuICAgIGlmICghY29uZmlndXJlZFRvcGljcy5pbmNsdWRlcyhwdWJzdWJUb3BpYykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQdWJzdWIgdG9waWMgJHtwdWJzdWJUb3BpY30gaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQgb24gdGhpcyBpbnN0YW5jZS4gQ29uZmlndXJlZCB0b3BpY3MgYXJlOiAke2NvbmZpZ3VyZWRUb3BpY3N9LiBQbGVhc2UgdXBkYXRlIHlvdXIgY29uZmlndXJhdGlvbiBieSBwYXNzaW5nIGluIHRoZSB0b3BpYyBkdXJpbmcgV2FrdSBub2RlIGluc3RhbnRpYXRpb24uYCk7XG4gICAgfVxufVxuLyoqXG4gKiBHaXZlbiBhIHN0cmluZywgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiBpdCBpcyBub3QgZm9ybWF0dGVkIGFzIGEgdmFsaWQgY29udGVudCB0b3BpYyBmb3IgYXV0b3NoYXJkaW5nIGJhc2VkIG9uIGh0dHBzOi8vcmZjLnZhYy5kZXYvc3BlYy81MS9cbiAqIEBwYXJhbSBjb250ZW50VG9waWMgU3RyaW5nIHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyBPYmplY3Qgd2l0aCBlYWNoIGNvbnRlbnQgdG9waWMgZmllbGQgYXMgYW4gYXR0cmlidXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVWYWxpZENvbnRlbnRUb3BpYyhjb250ZW50VG9waWMpIHtcbiAgICBjb25zdCBwYXJ0cyA9IGNvbnRlbnRUb3BpYy5zcGxpdChcIi9cIik7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCA8IDUgfHwgcGFydHMubGVuZ3RoID4gNikge1xuICAgICAgICB0aHJvdyBFcnJvcihcIkNvbnRlbnQgdG9waWMgZm9ybWF0IGlzIGludmFsaWRcIik7XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIGdlbmVyYXRpb24gZmllbGQgaWYgcHJlc2VudFxuICAgIGxldCBnZW5lcmF0aW9uID0gMDtcbiAgICBpZiAocGFydHMubGVuZ3RoID09IDYpIHtcbiAgICAgICAgZ2VuZXJhdGlvbiA9IHBhcnNlSW50KHBhcnRzWzFdKTtcbiAgICAgICAgaWYgKGlzTmFOKGdlbmVyYXRpb24pKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGdlbmVyYXRpb24gZmllbGQgaW4gY29udGVudCB0b3BpY1wiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZ2VuZXJhdGlvbiA+IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkdlbmVyYXRpb24gZ3JlYXRlciB0aGFuIDAgaXMgbm90IHN1cHBvcnRlZFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBWYWxpZGF0ZSByZW1haW5pbmcgZmllbGRzXG4gICAgY29uc3QgZmllbGRzID0gcGFydHMuc3BsaWNlKC00KTtcbiAgICAvLyBWYWxpZGF0ZSBhcHBsaWNhdGlvbiBmaWVsZFxuICAgIGlmIChmaWVsZHNbMF0ubGVuZ3RoID09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXBwbGljYXRpb24gZmllbGQgY2Fubm90IGJlIGVtcHR5XCIpO1xuICAgIH1cbiAgICAvLyBWYWxpZGF0ZSB2ZXJzaW9uIGZpZWxkXG4gICAgaWYgKGZpZWxkc1sxXS5sZW5ndGggPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJWZXJzaW9uIGZpZWxkIGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgICB9XG4gICAgLy8gVmFsaWRhdGUgdG9waWMgbmFtZSBmaWVsZFxuICAgIGlmIChmaWVsZHNbMl0ubGVuZ3RoID09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVG9waWMgbmFtZSBmaWVsZCBjYW5ub3QgYmUgZW1wdHlcIik7XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIGVuY29kaW5nIGZpZWxkXG4gICAgaWYgKGZpZWxkc1szXS5sZW5ndGggPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbmNvZGluZyBmaWVsZCBjYW5ub3QgYmUgZW1wdHlcIik7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGdlbmVyYXRpb24sXG4gICAgICAgIGFwcGxpY2F0aW9uOiBmaWVsZHNbMF0sXG4gICAgICAgIHZlcnNpb246IGZpZWxkc1sxXSxcbiAgICAgICAgdG9waWNOYW1lOiBmaWVsZHNbMl0sXG4gICAgICAgIGVuY29kaW5nOiBmaWVsZHNbM11cbiAgICB9O1xufVxuLyoqXG4gKiBHaXZlbiBhIHN0cmluZywgZGV0ZXJtaW5lcyB3aGljaCBhdXRvc2hhcmQgaW5kZXggdG8gdXNlIGZvciBpdHMgcHVic3ViIHRvcGljLlxuICogQmFzZWQgb24gdGhlIGFsZ29yaXRobSBkZXNjcmliZWQgaW4gdGhlIFJGQzogaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzUxLy8jYWxnb3JpdGhtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50VG9waWNUb1NoYXJkSW5kZXgoY29udGVudFRvcGljLCBuZXR3b3JrU2hhcmRzID0gOCkge1xuICAgIGNvbnN0IHsgYXBwbGljYXRpb24sIHZlcnNpb24gfSA9IGVuc3VyZVZhbGlkQ29udGVudFRvcGljKGNvbnRlbnRUb3BpYyk7XG4gICAgY29uc3QgZGlnZXN0ID0gc2hhMjU2KGNvbmNhdChbdXRmOFRvQnl0ZXMoYXBwbGljYXRpb24pLCB1dGY4VG9CeXRlcyh2ZXJzaW9uKV0pKTtcbiAgICBjb25zdCBkYXRhdmlldyA9IG5ldyBEYXRhVmlldyhkaWdlc3QuYnVmZmVyLnNsaWNlKC04KSk7XG4gICAgcmV0dXJuIE51bWJlcihkYXRhdmlldy5nZXRCaWdVaW50NjQoMCwgZmFsc2UpICUgQmlnSW50KG5ldHdvcmtTaGFyZHMpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50VG9waWNUb1B1YnN1YlRvcGljKGNvbnRlbnRUb3BpYywgY2x1c3RlcklkID0gREVGQVVMVF9DTFVTVEVSX0lELCBuZXR3b3JrU2hhcmRzID0gOCkge1xuICAgIGNvbnN0IHNoYXJkSW5kZXggPSBjb250ZW50VG9waWNUb1NoYXJkSW5kZXgoY29udGVudFRvcGljLCBuZXR3b3JrU2hhcmRzKTtcbiAgICByZXR1cm4gYC93YWt1LzIvcnMvJHtjbHVzdGVySWR9LyR7c2hhcmRJbmRleH1gO1xufVxuLyoqXG4gKiBHaXZlbiBhbiBhcnJheSBvZiBjb250ZW50IHRvcGljcywgZ3JvdXBzIHRoZW0gdG9nZXRoZXIgYnkgdGhlaXIgUHVic3ViIHRvcGljIGFzIGRlcml2ZWQgdXNpbmcgdGhlIGFsZ29yaXRobSBmb3IgYXV0b3NoYXJkaW5nLlxuICogSWYgYW55IG9mIHRoZSBjb250ZW50IHRvcGljcyBhcmUgbm90IHByb3Blcmx5IGZvcm1hdHRlZCwgdGhlIGZ1bmN0aW9uIHdpbGwgdGhyb3cgYW4gZXJyb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50VG9waWNzQnlQdWJzdWJUb3BpYyhjb250ZW50VG9waWNzLCBjbHVzdGVySWQgPSBERUZBVUxUX0NMVVNURVJfSUQsIG5ldHdvcmtTaGFyZHMgPSA4KSB7XG4gICAgY29uc3QgZ3JvdXBlZENvbnRlbnRUb3BpY3MgPSBuZXcgTWFwKCk7XG4gICAgZm9yIChjb25zdCBjb250ZW50VG9waWMgb2YgY29udGVudFRvcGljcykge1xuICAgICAgICBjb25zdCBwdWJzdWJUb3BpYyA9IGNvbnRlbnRUb3BpY1RvUHVic3ViVG9waWMoY29udGVudFRvcGljLCBjbHVzdGVySWQsIG5ldHdvcmtTaGFyZHMpO1xuICAgICAgICBsZXQgdG9waWNzID0gZ3JvdXBlZENvbnRlbnRUb3BpY3MuZ2V0KHB1YnN1YlRvcGljKTtcbiAgICAgICAgaWYgKCF0b3BpY3MpIHtcbiAgICAgICAgICAgIGdyb3VwZWRDb250ZW50VG9waWNzLnNldChwdWJzdWJUb3BpYywgW10pO1xuICAgICAgICAgICAgdG9waWNzID0gZ3JvdXBlZENvbnRlbnRUb3BpY3MuZ2V0KHB1YnN1YlRvcGljKTtcbiAgICAgICAgfVxuICAgICAgICB0b3BpY3MucHVzaChjb250ZW50VG9waWMpO1xuICAgIH1cbiAgICByZXR1cm4gZ3JvdXBlZENvbnRlbnRUb3BpY3M7XG59XG4vKipcbiAqIFVzZWQgd2hlbiBjcmVhdGluZyBlbmNvZGVycy9kZWNvZGVycyB0byBkZXRlcm1pbmUgd2hpY2ggcHVic3ViIHRvcGljIHRvIHVzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGV0ZXJtaW5lUHVic3ViVG9waWMoY29udGVudFRvcGljLCBwdWJzdWJUb3BpY1NoYXJkSW5mbyA9IERlZmF1bHRQdWJzdWJUb3BpYykge1xuICAgIGlmICh0eXBlb2YgcHVic3ViVG9waWNTaGFyZEluZm8gPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gcHVic3ViVG9waWNTaGFyZEluZm87XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gcHVic3ViVG9waWNTaGFyZEluZm9cbiAgICAgICAgICAgID8gcHVic3ViVG9waWNTaGFyZEluZm8uc2hhcmRcbiAgICAgICAgICAgICAgICA/IHNpbmdsZVNoYXJkSW5mb1RvUHVic3ViVG9waWMocHVic3ViVG9waWNTaGFyZEluZm8pXG4gICAgICAgICAgICAgICAgOiBjb250ZW50VG9waWNUb1B1YnN1YlRvcGljKGNvbnRlbnRUb3BpYywgcHVic3ViVG9waWNTaGFyZEluZm8uY2x1c3RlcklkKVxuICAgICAgICAgICAgOiBEZWZhdWx0UHVic3ViVG9waWM7XG4gICAgfVxufVxuLyoqXG4gKiBWYWxpZGF0ZXMgc2hhcmRpbmcgY29uZmlndXJhdGlvbiBhbmQgc2V0cyBkZWZhdWx0cyB3aGVyZSBwb3NzaWJsZS5cbiAqIEByZXR1cm5zIFZhbGlkYXRlZCBzaGFyZGluZyBwYXJhbWV0ZXJzLCB3aXRoIGFueSBtaXNzaW5nIHZhbHVlcyBzZXQgdG8gZGVmYXVsdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGVuc3VyZVNoYXJkaW5nQ29uZmlndXJlZCA9IChzaGFyZEluZm8pID0+IHtcbiAgICBjb25zdCBjbHVzdGVySWQgPSBzaGFyZEluZm8uY2x1c3RlcklkID8/IERFRkFVTFRfQ0xVU1RFUl9JRDtcbiAgICBjb25zdCBzaGFyZHMgPSBcInNoYXJkc1wiIGluIHNoYXJkSW5mbyA/IHNoYXJkSW5mby5zaGFyZHMgOiBbXTtcbiAgICBjb25zdCBjb250ZW50VG9waWNzID0gXCJjb250ZW50VG9waWNzXCIgaW4gc2hhcmRJbmZvID8gc2hhcmRJbmZvLmNvbnRlbnRUb3BpY3MgOiBbXTtcbiAgICBjb25zdCBbYXBwbGljYXRpb24sIHZlcnNpb25dID0gXCJhcHBsaWNhdGlvblwiIGluIHNoYXJkSW5mbyAmJiBcInZlcnNpb25cIiBpbiBzaGFyZEluZm9cbiAgICAgICAgPyBbc2hhcmRJbmZvLmFwcGxpY2F0aW9uLCBzaGFyZEluZm8udmVyc2lvbl1cbiAgICAgICAgOiBbdW5kZWZpbmVkLCB1bmRlZmluZWRdO1xuICAgIGNvbnN0IGlzU2hhcmRzQ29uZmlndXJlZCA9IHNoYXJkcyAmJiBzaGFyZHMubGVuZ3RoID4gMDtcbiAgICBjb25zdCBpc0NvbnRlbnRUb3BpY3NDb25maWd1cmVkID0gY29udGVudFRvcGljcyAmJiBjb250ZW50VG9waWNzLmxlbmd0aCA+IDA7XG4gICAgY29uc3QgaXNBcHBsaWNhdGlvblZlcnNpb25Db25maWd1cmVkID0gYXBwbGljYXRpb24gJiYgdmVyc2lvbjtcbiAgICBpZiAoaXNTaGFyZHNDb25maWd1cmVkKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaGFyZGluZ1BhcmFtczogeyBjbHVzdGVySWQsIHNoYXJkcyB9LFxuICAgICAgICAgICAgc2hhcmRJbmZvOiB7IGNsdXN0ZXJJZCwgc2hhcmRzIH0sXG4gICAgICAgICAgICBwdWJzdWJUb3BpY3M6IHNoYXJkSW5mb1RvUHVic3ViVG9waWNzKHsgY2x1c3RlcklkLCBzaGFyZHMgfSlcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGlzQ29udGVudFRvcGljc0NvbmZpZ3VyZWQpIHtcbiAgICAgICAgY29uc3QgcHVic3ViVG9waWNzID0gQXJyYXkuZnJvbShuZXcgU2V0KGNvbnRlbnRUb3BpY3MubWFwKCh0b3BpYykgPT4gY29udGVudFRvcGljVG9QdWJzdWJUb3BpYyh0b3BpYywgY2x1c3RlcklkKSkpKTtcbiAgICAgICAgY29uc3Qgc2hhcmRzID0gQXJyYXkuZnJvbShuZXcgU2V0KGNvbnRlbnRUb3BpY3MubWFwKCh0b3BpYykgPT4gY29udGVudFRvcGljVG9TaGFyZEluZGV4KHRvcGljKSkpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNoYXJkaW5nUGFyYW1zOiB7IGNsdXN0ZXJJZCwgY29udGVudFRvcGljcyB9LFxuICAgICAgICAgICAgc2hhcmRJbmZvOiB7IGNsdXN0ZXJJZCwgc2hhcmRzIH0sXG4gICAgICAgICAgICBwdWJzdWJUb3BpY3NcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGlzQXBwbGljYXRpb25WZXJzaW9uQ29uZmlndXJlZCkge1xuICAgICAgICBjb25zdCBwdWJzdWJUb3BpYyA9IGNvbnRlbnRUb3BpY1RvUHVic3ViVG9waWMoYC8ke2FwcGxpY2F0aW9ufS8ke3ZlcnNpb259L2RlZmF1bHQvZGVmYXVsdGAsIGNsdXN0ZXJJZCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaGFyZGluZ1BhcmFtczogeyBjbHVzdGVySWQsIGFwcGxpY2F0aW9uLCB2ZXJzaW9uIH0sXG4gICAgICAgICAgICBzaGFyZEluZm86IHtcbiAgICAgICAgICAgICAgICBjbHVzdGVySWQsXG4gICAgICAgICAgICAgICAgc2hhcmRzOiBbcHVic3ViVG9waWNUb1NpbmdsZVNoYXJkSW5mbyhwdWJzdWJUb3BpYykuc2hhcmRdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHVic3ViVG9waWNzOiBbcHVic3ViVG9waWNdXG4gICAgICAgIH07XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgbWluaW11bSByZXF1aXJlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHN0YXRpYyBzaGFyZGluZyBvciBhdXRvc2hhcmRpbmcuXCIpO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNoYXJkaW5nLmpzLm1hcCJdLCJuYW1lcyI6WyJzaGEyNTYiLCJERUZBVUxUX0NMVVNURVJfSUQiLCJEZWZhdWx0UHVic3ViVG9waWMiLCJjb25jYXQiLCJ1dGY4VG9CeXRlcyIsInNpbmdsZVNoYXJkSW5mb1RvUHVic3ViVG9waWMiLCJzaGFyZEluZm8iLCJjbHVzdGVySWQiLCJ1bmRlZmluZWQiLCJzaGFyZCIsIkVycm9yIiwic2luZ2xlU2hhcmRJbmZvc1RvU2hhcmRJbmZvIiwic2luZ2xlU2hhcmRJbmZvcyIsImxlbmd0aCIsImNsdXN0ZXJJZHMiLCJtYXAiLCJTZXQiLCJzaXplIiwic2hhcmRzIiwiZmlsdGVyIiwic2hhcmRJbmZvVG9QdWJzdWJUb3BpY3MiLCJjb250ZW50VG9waWNzIiwiQXJyYXkiLCJmcm9tIiwiY29udGVudFRvcGljIiwiY29udGVudFRvcGljVG9QdWJzdWJUb3BpYyIsImluZGV4IiwiYXBwbGljYXRpb24iLCJ2ZXJzaW9uIiwicHVic3ViVG9waWNUb1NpbmdsZVNoYXJkSW5mbyIsInB1YnN1YlRvcGljcyIsInBhcnRzIiwic3BsaXQiLCJwYXJzZUludCIsImlzTmFOIiwiZW5zdXJlUHVic3ViVG9waWNJc0NvbmZpZ3VyZWQiLCJwdWJzdWJUb3BpYyIsImNvbmZpZ3VyZWRUb3BpY3MiLCJpbmNsdWRlcyIsImVuc3VyZVZhbGlkQ29udGVudFRvcGljIiwiZ2VuZXJhdGlvbiIsImZpZWxkcyIsInNwbGljZSIsInRvcGljTmFtZSIsImVuY29kaW5nIiwiY29udGVudFRvcGljVG9TaGFyZEluZGV4IiwibmV0d29ya1NoYXJkcyIsImRpZ2VzdCIsImRhdGF2aWV3IiwiRGF0YVZpZXciLCJidWZmZXIiLCJzbGljZSIsIk51bWJlciIsImdldEJpZ1VpbnQ2NCIsIkJpZ0ludCIsInNoYXJkSW5kZXgiLCJjb250ZW50VG9waWNzQnlQdWJzdWJUb3BpYyIsImdyb3VwZWRDb250ZW50VG9waWNzIiwiTWFwIiwidG9waWNzIiwiZ2V0Iiwic2V0IiwicHVzaCIsImRldGVybWluZVB1YnN1YlRvcGljIiwicHVic3ViVG9waWNTaGFyZEluZm8iLCJlbnN1cmVTaGFyZGluZ0NvbmZpZ3VyZWQiLCJpc1NoYXJkc0NvbmZpZ3VyZWQiLCJpc0NvbnRlbnRUb3BpY3NDb25maWd1cmVkIiwiaXNBcHBsaWNhdGlvblZlcnNpb25Db25maWd1cmVkIiwic2hhcmRpbmdQYXJhbXMiLCJ0b3BpYyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/sharding.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/to_async_iterator.js":
/*!*********************************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/to_async_iterator.js ***!
\*********************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toAsyncIterator: () => (/* binding */ toAsyncIterator)\n/* harmony export */ });\nconst FRAME_RATE = 60;\n/**\n * Function that transforms IReceiver subscription to iterable stream of data.\n * @param receiver - object that allows to be subscribed to;\n * @param decoder - parameter to be passed to receiver for subscription;\n * @param options - options for receiver for subscription;\n * @param iteratorOptions - optional configuration for iterator;\n * @returns iterator and stop function to terminate it.\n */ async function toAsyncIterator(receiver, decoder, iteratorOptions) {\n const iteratorDelay = iteratorOptions?.iteratorDelay ?? FRAME_RATE;\n const messages = [];\n let unsubscribe;\n unsubscribe = await receiver.subscribe(decoder, (message)=>{\n messages.push(message);\n });\n const isWithTimeout = Number.isInteger(iteratorOptions?.timeoutMs);\n const timeoutMs = iteratorOptions?.timeoutMs ?? 0;\n const startTime = Date.now();\n async function* iterator() {\n while(true){\n if (isWithTimeout && Date.now() - startTime >= timeoutMs) {\n return;\n }\n await wait(iteratorDelay);\n const message = messages.shift();\n if (!unsubscribe && messages.length === 0) {\n return message;\n }\n if (!message && unsubscribe) {\n continue;\n }\n yield message;\n }\n }\n return {\n iterator: iterator(),\n async stop () {\n if (unsubscribe) {\n await unsubscribe();\n unsubscribe = undefined;\n }\n }\n };\n}\nfunction wait(ms) {\n return new Promise((resolve)=>{\n setTimeout(resolve, ms);\n });\n} //# sourceMappingURL=to_async_iterator.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi90b19hc3luY19pdGVyYXRvci5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTUEsYUFBYTtBQUNuQjs7Ozs7OztDQU9DLEdBQ00sZUFBZUMsZ0JBQWdCQyxRQUFRLEVBQUVDLE9BQU8sRUFBRUMsZUFBZTtJQUNwRSxNQUFNQyxnQkFBZ0JELGlCQUFpQkMsaUJBQWlCTDtJQUN4RCxNQUFNTSxXQUFXLEVBQUU7SUFDbkIsSUFBSUM7SUFDSkEsY0FBYyxNQUFNTCxTQUFTTSxTQUFTLENBQUNMLFNBQVMsQ0FBQ007UUFDN0NILFNBQVNJLElBQUksQ0FBQ0Q7SUFDbEI7SUFDQSxNQUFNRSxnQkFBZ0JDLE9BQU9DLFNBQVMsQ0FBQ1QsaUJBQWlCVTtJQUN4RCxNQUFNQSxZQUFZVixpQkFBaUJVLGFBQWE7SUFDaEQsTUFBTUMsWUFBWUMsS0FBS0MsR0FBRztJQUMxQixnQkFBZ0JDO1FBQ1osTUFBTyxLQUFNO1lBQ1QsSUFBSVAsaUJBQWlCSyxLQUFLQyxHQUFHLEtBQUtGLGFBQWFELFdBQVc7Z0JBQ3REO1lBQ0o7WUFDQSxNQUFNSyxLQUFLZDtZQUNYLE1BQU1JLFVBQVVILFNBQVNjLEtBQUs7WUFDOUIsSUFBSSxDQUFDYixlQUFlRCxTQUFTZSxNQUFNLEtBQUssR0FBRztnQkFDdkMsT0FBT1o7WUFDWDtZQUNBLElBQUksQ0FBQ0EsV0FBV0YsYUFBYTtnQkFDekI7WUFDSjtZQUNBLE1BQU1FO1FBQ1Y7SUFDSjtJQUNBLE9BQU87UUFDSFMsVUFBVUE7UUFDVixNQUFNSTtZQUNGLElBQUlmLGFBQWE7Z0JBQ2IsTUFBTUE7Z0JBQ05BLGNBQWNnQjtZQUNsQjtRQUNKO0lBQ0o7QUFDSjtBQUNBLFNBQVNKLEtBQUtLLEVBQUU7SUFDWixPQUFPLElBQUlDLFFBQVEsQ0FBQ0M7UUFDaEJDLFdBQVdELFNBQVNGO0lBQ3hCO0FBQ0osRUFDQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9tZXNzYWdlLWVuY3J5cHRpb24vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvY29tbW9uL3RvX2FzeW5jX2l0ZXJhdG9yLmpzP2E5OGQiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgRlJBTUVfUkFURSA9IDYwO1xuLyoqXG4gKiBGdW5jdGlvbiB0aGF0IHRyYW5zZm9ybXMgSVJlY2VpdmVyIHN1YnNjcmlwdGlvbiB0byBpdGVyYWJsZSBzdHJlYW0gb2YgZGF0YS5cbiAqIEBwYXJhbSByZWNlaXZlciAtIG9iamVjdCB0aGF0IGFsbG93cyB0byBiZSBzdWJzY3JpYmVkIHRvO1xuICogQHBhcmFtIGRlY29kZXIgLSBwYXJhbWV0ZXIgdG8gYmUgcGFzc2VkIHRvIHJlY2VpdmVyIGZvciBzdWJzY3JpcHRpb247XG4gKiBAcGFyYW0gb3B0aW9ucyAtIG9wdGlvbnMgZm9yIHJlY2VpdmVyIGZvciBzdWJzY3JpcHRpb247XG4gKiBAcGFyYW0gaXRlcmF0b3JPcHRpb25zIC0gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgaXRlcmF0b3I7XG4gKiBAcmV0dXJucyBpdGVyYXRvciBhbmQgc3RvcCBmdW5jdGlvbiB0byB0ZXJtaW5hdGUgaXQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0b0FzeW5jSXRlcmF0b3IocmVjZWl2ZXIsIGRlY29kZXIsIGl0ZXJhdG9yT3B0aW9ucykge1xuICAgIGNvbnN0IGl0ZXJhdG9yRGVsYXkgPSBpdGVyYXRvck9wdGlvbnM/Lml0ZXJhdG9yRGVsYXkgPz8gRlJBTUVfUkFURTtcbiAgICBjb25zdCBtZXNzYWdlcyA9IFtdO1xuICAgIGxldCB1bnN1YnNjcmliZTtcbiAgICB1bnN1YnNjcmliZSA9IGF3YWl0IHJlY2VpdmVyLnN1YnNjcmliZShkZWNvZGVyLCAobWVzc2FnZSkgPT4ge1xuICAgICAgICBtZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xuICAgIH0pO1xuICAgIGNvbnN0IGlzV2l0aFRpbWVvdXQgPSBOdW1iZXIuaXNJbnRlZ2VyKGl0ZXJhdG9yT3B0aW9ucz8udGltZW91dE1zKTtcbiAgICBjb25zdCB0aW1lb3V0TXMgPSBpdGVyYXRvck9wdGlvbnM/LnRpbWVvdXRNcyA/PyAwO1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgYXN5bmMgZnVuY3Rpb24qIGl0ZXJhdG9yKCkge1xuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgaWYgKGlzV2l0aFRpbWVvdXQgJiYgRGF0ZS5ub3coKSAtIHN0YXJ0VGltZSA+PSB0aW1lb3V0TXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCB3YWl0KGl0ZXJhdG9yRGVsYXkpO1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IG1lc3NhZ2VzLnNoaWZ0KCk7XG4gICAgICAgICAgICBpZiAoIXVuc3Vic2NyaWJlICYmIG1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFtZXNzYWdlICYmIHVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB5aWVsZCBtZXNzYWdlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGl0ZXJhdG9yOiBpdGVyYXRvcigpLFxuICAgICAgICBhc3luYyBzdG9wKCkge1xuICAgICAgICAgICAgaWYgKHVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB1bnN1YnNjcmliZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59XG5mdW5jdGlvbiB3YWl0KG1zKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpO1xuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dG9fYXN5bmNfaXRlcmF0b3IuanMubWFwIl0sIm5hbWVzIjpbIkZSQU1FX1JBVEUiLCJ0b0FzeW5jSXRlcmF0b3IiLCJyZWNlaXZlciIsImRlY29kZXIiLCJpdGVyYXRvck9wdGlvbnMiLCJpdGVyYXRvckRlbGF5IiwibWVzc2FnZXMiLCJ1bnN1YnNjcmliZSIsInN1YnNjcmliZSIsIm1lc3NhZ2UiLCJwdXNoIiwiaXNXaXRoVGltZW91dCIsIk51bWJlciIsImlzSW50ZWdlciIsInRpbWVvdXRNcyIsInN0YXJ0VGltZSIsIkRhdGUiLCJub3ciLCJpdGVyYXRvciIsIndhaXQiLCJzaGlmdCIsImxlbmd0aCIsInN0b3AiLCJ1bmRlZmluZWQiLCJtcyIsIlByb21pc2UiLCJyZXNvbHZlIiwic2V0VGltZW91dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/to_async_iterator.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/index.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/index.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logger: () => (/* reexport safe */ _logger_index_js__WEBPACK_IMPORTED_MODULE_1__.Logger),\n/* harmony export */ contentTopicToPubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.contentTopicToPubsubTopic),\n/* harmony export */ contentTopicToShardIndex: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.contentTopicToShardIndex),\n/* harmony export */ contentTopicsByPubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.contentTopicsByPubsubTopic),\n/* harmony export */ decodeRelayShard: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.decodeRelayShard),\n/* harmony export */ determinePubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.determinePubsubTopic),\n/* harmony export */ encodeRelayShard: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.encodeRelayShard),\n/* harmony export */ ensurePubsubTopicIsConfigured: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.ensurePubsubTopicIsConfigured),\n/* harmony export */ ensureShardingConfigured: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.ensureShardingConfigured),\n/* harmony export */ ensureValidContentTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.ensureValidContentTopic),\n/* harmony export */ getPseudoRandomSubset: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.getPseudoRandomSubset),\n/* harmony export */ getWsMultiaddrFromMultiaddrs: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.getWsMultiaddrFromMultiaddrs),\n/* harmony export */ groupByContentTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.groupByContentTopic),\n/* harmony export */ isDefined: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.isDefined),\n/* harmony export */ isMessageSizeUnderCap: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.isMessageSizeUnderCap),\n/* harmony export */ isWireSizeUnderCap: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.isWireSizeUnderCap),\n/* harmony export */ pubsubTopicToSingleShardInfo: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.pubsubTopicToSingleShardInfo),\n/* harmony export */ pushOrInitMapSet: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.pushOrInitMapSet),\n/* harmony export */ removeItemFromArray: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.removeItemFromArray),\n/* harmony export */ shardInfoToPubsubTopics: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.shardInfoToPubsubTopics),\n/* harmony export */ singleShardInfoToPubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.singleShardInfoToPubsubTopic),\n/* harmony export */ singleShardInfosToShardInfo: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.singleShardInfosToShardInfo),\n/* harmony export */ toAsyncIterator: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.toAsyncIterator)\n/* harmony export */ });\n/* harmony import */ var _common_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common/index.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/common/index.js\");\n/* harmony import */ var _logger_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger/index.js */ \"(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/logger/index.js\");\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBa0M7QUFDUyxDQUMzQyxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9tZXNzYWdlLWVuY3J5cHRpb24vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvaW5kZXguanM/YWVhNSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb21tb24vaW5kZXguanNcIjtcbmV4cG9ydCB7IExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci9pbmRleC5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIkxvZ2dlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/logger/index.js":
/*!*********************************************************************************************!*\
!*** ./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/logger/index.js ***!
\*********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logger: () => (/* binding */ Logger)\n/* harmony export */ });\n/* harmony import */ var debug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! debug */ \"(ssr)/./node_modules/debug/src/index.js\");\n\nconst APP_NAME = \"waku\";\nclass Logger {\n static createDebugNamespace(level, prefix) {\n return prefix ? `${APP_NAME}:${level}:${prefix}` : `${APP_NAME}:${level}`;\n }\n constructor(prefix){\n this._info = debug__WEBPACK_IMPORTED_MODULE_0__(Logger.createDebugNamespace(\"info\", prefix));\n this._warn = debug__WEBPACK_IMPORTED_MODULE_0__(Logger.createDebugNamespace(\"warn\", prefix));\n this._error = debug__WEBPACK_IMPORTED_MODULE_0__(Logger.createDebugNamespace(\"error\", prefix));\n }\n get info() {\n return this._info;\n }\n get warn() {\n return this._warn;\n }\n get error() {\n return this._error;\n }\n log(level, ...args) {\n const logger = this[level];\n logger(...args);\n }\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2xvZ2dlci9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUEwQjtBQUMxQixNQUFNQyxXQUFXO0FBQ1YsTUFBTUM7SUFJVCxPQUFPQyxxQkFBcUJDLEtBQUssRUFBRUMsTUFBTSxFQUFFO1FBQ3ZDLE9BQU9BLFNBQVMsQ0FBQyxFQUFFSixTQUFTLENBQUMsRUFBRUcsTUFBTSxDQUFDLEVBQUVDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRUosU0FBUyxDQUFDLEVBQUVHLE1BQU0sQ0FBQztJQUM3RTtJQUNBRSxZQUFZRCxNQUFNLENBQUU7UUFDaEIsSUFBSSxDQUFDRSxLQUFLLEdBQUdQLGtDQUFLQSxDQUFDRSxPQUFPQyxvQkFBb0IsQ0FBQyxRQUFRRTtRQUN2RCxJQUFJLENBQUNHLEtBQUssR0FBR1Isa0NBQUtBLENBQUNFLE9BQU9DLG9CQUFvQixDQUFDLFFBQVFFO1FBQ3ZELElBQUksQ0FBQ0ksTUFBTSxHQUFHVCxrQ0FBS0EsQ0FBQ0UsT0FBT0Msb0JBQW9CLENBQUMsU0FBU0U7SUFDN0Q7SUFDQSxJQUFJSyxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUNILEtBQUs7SUFDckI7SUFDQSxJQUFJSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUNILEtBQUs7SUFDckI7SUFDQSxJQUFJSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUNILE1BQU07SUFDdEI7SUFDQUksSUFBSVQsS0FBSyxFQUFFLEdBQUdVLElBQUksRUFBRTtRQUNoQixNQUFNQyxTQUFTLElBQUksQ0FBQ1gsTUFBTTtRQUMxQlcsVUFBVUQ7SUFDZDtBQUNKLEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1lbmNyeXB0aW9uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2xvZ2dlci9pbmRleC5qcz82YzhlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWJ1ZyBmcm9tIFwiZGVidWdcIjtcbmNvbnN0IEFQUF9OQU1FID0gXCJ3YWt1XCI7XG5leHBvcnQgY2xhc3MgTG9nZ2VyIHtcbiAgICBfaW5mbztcbiAgICBfd2FybjtcbiAgICBfZXJyb3I7XG4gICAgc3RhdGljIGNyZWF0ZURlYnVnTmFtZXNwYWNlKGxldmVsLCBwcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIHByZWZpeCA/IGAke0FQUF9OQU1FfToke2xldmVsfToke3ByZWZpeH1gIDogYCR7QVBQX05BTUV9OiR7bGV2ZWx9YDtcbiAgICB9XG4gICAgY29uc3RydWN0b3IocHJlZml4KSB7XG4gICAgICAgIHRoaXMuX2luZm8gPSBkZWJ1ZyhMb2dnZXIuY3JlYXRlRGVidWdOYW1lc3BhY2UoXCJpbmZvXCIsIHByZWZpeCkpO1xuICAgICAgICB0aGlzLl93YXJuID0gZGVidWcoTG9nZ2VyLmNyZWF0ZURlYnVnTmFtZXNwYWNlKFwid2FyblwiLCBwcmVmaXgpKTtcbiAgICAgICAgdGhpcy5fZXJyb3IgPSBkZWJ1ZyhMb2dnZXIuY3JlYXRlRGVidWdOYW1lc3BhY2UoXCJlcnJvclwiLCBwcmVmaXgpKTtcbiAgICB9XG4gICAgZ2V0IGluZm8oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbmZvO1xuICAgIH1cbiAgICBnZXQgd2FybigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dhcm47XG4gICAgfVxuICAgIGdldCBlcnJvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Vycm9yO1xuICAgIH1cbiAgICBsb2cobGV2ZWwsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgbG9nZ2VyID0gdGhpc1tsZXZlbF07XG4gICAgICAgIGxvZ2dlciguLi5hcmdzKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiZGVidWciLCJBUFBfTkFNRSIsIkxvZ2dlciIsImNyZWF0ZURlYnVnTmFtZXNwYWNlIiwibGV2ZWwiLCJwcmVmaXgiLCJjb25zdHJ1Y3RvciIsIl9pbmZvIiwiX3dhcm4iLCJfZXJyb3IiLCJpbmZvIiwid2FybiIsImVycm9yIiwibG9nIiwiYXJncyIsImxvZ2dlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/message-encryption/node_modules/@waku/utils/dist/logger/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/proto/dist/index.js":
/*!************************************************!*\
!*** ./node_modules/@waku/proto/dist/index.js ***!
\************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PushResponse: () => (/* reexport safe */ _lib_light_push_js__WEBPACK_IMPORTED_MODULE_4__.PushResponse),\n/* harmony export */ TopicOnlyMessage: () => (/* reexport safe */ _lib_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__.TopicOnlyMessage),\n/* harmony export */ WakuMessage: () => (/* reexport safe */ _lib_filter_js__WEBPACK_IMPORTED_MODULE_1__.WakuMessage),\n/* harmony export */ proto_filter: () => (/* reexport module object */ _lib_filter_js__WEBPACK_IMPORTED_MODULE_1__),\n/* harmony export */ proto_filter_v2: () => (/* reexport module object */ _lib_filter_v2_js__WEBPACK_IMPORTED_MODULE_3__),\n/* harmony export */ proto_lightpush: () => (/* reexport module object */ _lib_light_push_js__WEBPACK_IMPORTED_MODULE_4__),\n/* harmony export */ proto_message: () => (/* reexport module object */ _lib_message_js__WEBPACK_IMPORTED_MODULE_0__),\n/* harmony export */ proto_metadata: () => (/* reexport module object */ _lib_metadata_js__WEBPACK_IMPORTED_MODULE_7__),\n/* harmony export */ proto_peer_exchange: () => (/* reexport module object */ _lib_peer_exchange_js__WEBPACK_IMPORTED_MODULE_6__),\n/* harmony export */ proto_store: () => (/* reexport module object */ _lib_store_js__WEBPACK_IMPORTED_MODULE_5__),\n/* harmony export */ proto_topic_only_message: () => (/* reexport module object */ _lib_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__)\n/* harmony export */ });\n/* harmony import */ var _lib_message_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/message.js */ \"(ssr)/./node_modules/@waku/proto/dist/lib/message.js\");\n/* harmony import */ var _lib_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/filter.js */ \"(ssr)/./node_modules/@waku/proto/dist/lib/filter.js\");\n/* harmony import */ var _lib_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/topic_only_message.js */ \"(ssr)/./node_modules/@waku/proto/dist/lib/topic_only_message.js\");\n/* harmony import */ var _lib_filter_v2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/filter_v2.js */ \"(ssr)/./node_modules/@waku/proto/dist/lib/filter_v2.js\");\n/* harmony import */ var _lib_light_push_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/light_push.js */ \"(ssr)/./node_modules/@waku/proto/dist/lib/light_push.js\");\n/* harmony import */ var _lib_store_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/store.js */ \"(ssr)/./node_modules/@waku/proto/dist/lib/store.js\");\n/* harmony import */ var _lib_peer_exchange_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/peer_exchange.js */ \"(ssr)/./node_modules/@waku/proto/dist/lib/peer_exchange.js\");\n/* harmony import */ var _lib_metadata_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lib/metadata.js */ \"(ssr)/./node_modules/@waku/proto/dist/lib/metadata.js\");\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWtEO0FBQ0o7QUFDMEI7QUFDVDtBQUNmO0FBQ007QUFDQztBQUNKO0FBQ0w7QUFDZ0I7QUFDVixDQUNwRCxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2luZGV4LmpzPzk2Y2UiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogYXMgcHJvdG9fbWVzc2FnZSBmcm9tIFwiLi9saWIvbWVzc2FnZS5qc1wiO1xuZXhwb3J0IHsgV2FrdU1lc3NhZ2UgfSBmcm9tIFwiLi9saWIvZmlsdGVyLmpzXCI7XG5leHBvcnQgKiBhcyBwcm90b190b3BpY19vbmx5X21lc3NhZ2UgZnJvbSBcIi4vbGliL3RvcGljX29ubHlfbWVzc2FnZS5qc1wiO1xuZXhwb3J0IHsgVG9waWNPbmx5TWVzc2FnZSB9IGZyb20gXCIuL2xpYi90b3BpY19vbmx5X21lc3NhZ2UuanNcIjtcbmV4cG9ydCAqIGFzIHByb3RvX2ZpbHRlciBmcm9tIFwiLi9saWIvZmlsdGVyLmpzXCI7XG5leHBvcnQgKiBhcyBwcm90b19maWx0ZXJfdjIgZnJvbSBcIi4vbGliL2ZpbHRlcl92Mi5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fbGlnaHRwdXNoIGZyb20gXCIuL2xpYi9saWdodF9wdXNoLmpzXCI7XG5leHBvcnQgeyBQdXNoUmVzcG9uc2UgfSBmcm9tIFwiLi9saWIvbGlnaHRfcHVzaC5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fc3RvcmUgZnJvbSBcIi4vbGliL3N0b3JlLmpzXCI7XG5leHBvcnQgKiBhcyBwcm90b19wZWVyX2V4Y2hhbmdlIGZyb20gXCIuL2xpYi9wZWVyX2V4Y2hhbmdlLmpzXCI7XG5leHBvcnQgKiBhcyBwcm90b19tZXRhZGF0YSBmcm9tICcuL2xpYi9tZXRhZGF0YS5qcyc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsicHJvdG9fbWVzc2FnZSIsIldha3VNZXNzYWdlIiwicHJvdG9fdG9waWNfb25seV9tZXNzYWdlIiwiVG9waWNPbmx5TWVzc2FnZSIsInByb3RvX2ZpbHRlciIsInByb3RvX2ZpbHRlcl92MiIsInByb3RvX2xpZ2h0cHVzaCIsIlB1c2hSZXNwb25zZSIsInByb3RvX3N0b3JlIiwicHJvdG9fcGVlcl9leGNoYW5nZSIsInByb3RvX21ldGFkYXRhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/proto/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/proto/dist/lib/filter.js":
/*!*****************************************************!*\
!*** ./node_modules/@waku/proto/dist/lib/filter.js ***!
\*****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterRequest: () => (/* binding */ FilterRequest),\n/* harmony export */ FilterRpc: () => (/* binding */ FilterRpc),\n/* harmony export */ MessagePush: () => (/* binding */ MessagePush),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar FilterRequest;\n(function(FilterRequest) {\n let ContentFilter;\n (function(ContentFilter) {\n let _codec;\n ContentFilter.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(10);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.contentTopic = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n ContentFilter.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, ContentFilter.codec());\n };\n ContentFilter.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, ContentFilter.codec());\n };\n })(ContentFilter = FilterRequest.ContentFilter || (FilterRequest.ContentFilter = {}));\n let _codec;\n FilterRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.subscribe != null && obj.subscribe !== false) {\n w.uint32(8);\n w.bool(obj.subscribe);\n }\n if (obj.topic != null && obj.topic !== \"\") {\n w.uint32(18);\n w.string(obj.topic);\n }\n if (obj.contentFilters != null) {\n for (const value of obj.contentFilters){\n w.uint32(26);\n FilterRequest.ContentFilter.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n subscribe: false,\n topic: \"\",\n contentFilters: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.subscribe = reader.bool();\n break;\n case 2:\n obj.topic = reader.string();\n break;\n case 3:\n obj.contentFilters.push(FilterRequest.ContentFilter.codec().decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterRequest.codec());\n };\n FilterRequest.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterRequest.codec());\n };\n})(FilterRequest || (FilterRequest = {}));\nvar MessagePush;\n(function(MessagePush) {\n let _codec;\n MessagePush.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.messages != null) {\n for (const value of obj.messages){\n w.uint32(10);\n WakuMessage.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n messages: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.messages.push(WakuMessage.codec().decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n MessagePush.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, MessagePush.codec());\n };\n MessagePush.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, MessagePush.codec());\n };\n})(MessagePush || (MessagePush = {}));\nvar FilterRpc;\n(function(FilterRpc) {\n let _codec;\n FilterRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.request != null) {\n w.uint32(18);\n FilterRequest.codec().encode(obj.request, w);\n }\n if (obj.push != null) {\n w.uint32(26);\n MessagePush.codec().encode(obj.push, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.requestId = reader.string();\n break;\n case 2:\n obj.request = FilterRequest.codec().decode(reader, reader.uint32());\n break;\n case 3:\n obj.push = MessagePush.codec().decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterRpc.codec());\n };\n FilterRpc.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterRpc.codec());\n };\n})(FilterRpc || (FilterRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n proof: new Uint8Array(0),\n merkleRoot: new Uint8Array(0),\n epoch: new Uint8Array(0),\n shareX: new Uint8Array(0),\n shareY: new Uint8Array(0),\n nullifier: new Uint8Array(0),\n rlnIdentifier: new Uint8Array(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.proof = reader.bytes();\n break;\n case 2:\n obj.merkleRoot = reader.bytes();\n break;\n case 3:\n obj.epoch = reader.bytes();\n break;\n case 4:\n obj.shareX = reader.bytes();\n break;\n case 5:\n obj.shareY = reader.bytes();\n break;\n case 6:\n obj.nullifier = reader.bytes();\n break;\n case 7:\n obj.rlnIdentifier = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec());\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n payload: new Uint8Array(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.payload = reader.bytes();\n break;\n case 2:\n obj.contentTopic = reader.string();\n break;\n case 3:\n obj.version = reader.uint32();\n break;\n case 10:\n obj.timestamp = reader.sint64();\n break;\n case 11:\n obj.meta = reader.bytes();\n break;\n case 21:\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32());\n break;\n case 31:\n obj.ephemeral = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec());\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9saWIvZmlsdGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDZ0I7QUFDakUsSUFBSUcsY0FBYztBQUN4QixVQUFVQSxhQUFhO0lBQ3BCLElBQUlDO0lBQ0gsVUFBVUEsYUFBYTtRQUNwQixJQUFJQztRQUNKRCxjQUFjRSxLQUFLLEdBQUc7WUFDbEIsSUFBSUQsVUFBVSxNQUFNO2dCQUNoQkEsU0FBU0gsd0RBQU9BLENBQUMsQ0FBQ0ssS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7b0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO3dCQUNoQ0YsRUFBRUcsSUFBSTtvQkFDVjtvQkFDQSxJQUFLSixJQUFJSyxZQUFZLElBQUksUUFBUUwsSUFBSUssWUFBWSxLQUFLLElBQUs7d0JBQ3ZESixFQUFFSyxNQUFNLENBQUM7d0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSUssWUFBWTtvQkFDN0I7b0JBQ0EsSUFBSUgsS0FBS0MsZUFBZSxLQUFLLE9BQU87d0JBQ2hDRixFQUFFTyxNQUFNO29CQUNaO2dCQUNKLEdBQUcsQ0FBQ0MsUUFBUUM7b0JBQ1IsTUFBTVYsTUFBTTt3QkFDUkssY0FBYztvQkFDbEI7b0JBQ0EsTUFBTU0sTUFBTUQsVUFBVSxPQUFPRCxPQUFPRyxHQUFHLEdBQUdILE9BQU9JLEdBQUcsR0FBR0g7b0JBQ3ZELE1BQU9ELE9BQU9JLEdBQUcsR0FBR0YsSUFBSzt3QkFDckIsTUFBTUcsTUFBTUwsT0FBT0gsTUFBTTt3QkFDekIsT0FBUVEsUUFBUTs0QkFDWixLQUFLO2dDQUNEZCxJQUFJSyxZQUFZLEdBQUdJLE9BQU9GLE1BQU07Z0NBQ2hDOzRCQUNKO2dDQUNJRSxPQUFPTSxRQUFRLENBQUNELE1BQU07Z0NBQ3RCO3dCQUNSO29CQUNKO29CQUNBLE9B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TTs0QkFDdEI7b0JBQ1I7Z0JBQ0o7Z0JBQ0EsT0FBT2Q7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBNkIsWUFBWVgsTUFBTSxHQUFHLENBQUNoQjtRQUNsQixPQUFPUCw4REFBYUEsQ0FBQ08sS0FBSzJCLFlBQVk1QixLQUFLO0lBQy9DO0lBQ0E0QixZQUFZVixNQUFNLEdBQUcsQ0FBQ0M7UUFDbEIsT0FBT3hCLDhEQUFhQSxDQUFDd0IsS0FBS1MsWUFBWTVCLEtBQUs7SUFDL0M7QUFDSixHQUFHNEIsZUFBZ0JBLENBQUFBLGNBQWMsQ0FBQyxLQUNsQyxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2xpYi9maWx0ZXIuanM/MWIyZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvZXhwb3J0ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktYm9vbGVhbi1saXRlcmFsLWNvbXBhcmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UgKi9cbmltcG9ydCB7IGVuY29kZU1lc3NhZ2UsIGRlY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuZXhwb3J0IHZhciBGaWx0ZXJSZXF1ZXN0O1xuKGZ1bmN0aW9uIChGaWx0ZXJSZXF1ZXN0KSB7XG4gICAgbGV0IENvbnRlbnRGaWx0ZXI7XG4gICAgKGZ1bmN0aW9uIChDb250ZW50RmlsdGVyKSB7XG4gICAgICAgIGxldCBfY29kZWM7XG4gICAgICAgIENvbnRlbnRGaWx0ZXIuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoKG9iai5jb250ZW50VG9waWMgIT0gbnVsbCAmJiBvYmouY29udGVudFRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFRvcGljOiAnJ1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgICAgIH07XG4gICAgICAgIENvbnRlbnRGaWx0ZXIuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBDb250ZW50RmlsdGVyLmNvZGVjKCkpO1xuICAgICAgICB9O1xuICAgICAgICBDb250ZW50RmlsdGVyLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgQ29udGVudEZpbHRlci5jb2RlYygpKTtcbiAgICAgICAgfTtcbiAgICB9KShDb250ZW50RmlsdGVyID0gRmlsdGVyUmVxdWVzdC5Db250ZW50RmlsdGVyIHx8IChGaWx0ZXJSZXF1ZXN0LkNvbnRlbnRGaWx0ZXIgPSB7fSkpO1xuICAgIGxldCBfY29kZWM7XG4gICAgRmlsdGVyUmVxdWVzdC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnN1YnNjcmliZSAhPSBudWxsICYmIG9iai5zdWJzY3JpYmUgIT09IGZhbHNlKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ib29sKG9iai5zdWJzY3JpYmUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai50b3BpYyAhPSBudWxsICYmIG9iai50b3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnRvcGljKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5jb250ZW50RmlsdGVycyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygb2JqLmNvbnRlbnRGaWx0ZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXJSZXF1ZXN0LkNvbnRlbnRGaWx0ZXIuY29kZWMoKS5lbmNvZGUodmFsdWUsIHcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHRvcGljOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudEZpbHRlcnM6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc3Vic2NyaWJlID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRGaWx0ZXJzLnB1c2goRmlsdGVyUmVxdWVzdC5Db250ZW50RmlsdGVyLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEZpbHRlclJlcXVlc3QuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIEZpbHRlclJlcXVlc3QuY29kZWMoKSk7XG4gICAgfTtcbiAgICBGaWx0ZXJSZXF1ZXN0LmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBGaWx0ZXJSZXF1ZXN0LmNvZGVjKCkpO1xuICAgIH07XG59KShGaWx0ZXJSZXF1ZXN0IHx8IChGaWx0ZXJSZXF1ZXN0ID0ge30pKTtcbmV4cG9ydCB2YXIgTWVzc2FnZVB1c2g7XG4oZnVuY3Rpb24gKE1lc3NhZ2VQdXNoKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBNZXNzYWdlUHVzaC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWVzc2FnZXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5tZXNzYWdlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgV2FrdU1lc3NhZ2UuY29kZWMoKS5lbmNvZGUodmFsdWUsIHcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lc3NhZ2VzLnB1c2goV2FrdU1lc3NhZ2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgTWVzc2FnZVB1c2guZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIE1lc3NhZ2VQdXNoLmNvZGVjKCkpO1xuICAgIH07XG4gICAgTWVzc2FnZVB1c2guZGVjb2RlID0gKGJ1ZikgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIE1lc3NhZ2VQdXNoLmNvZGVjKCkpO1xuICAgIH07XG59KShNZXNzYWdlUHVzaCB8fCAoTWVzc2FnZVB1c2ggPSB7fSkpO1xuZXhwb3J0IHZhciBGaWx0ZXJScGM7XG4oZnVuY3Rpb24gKEZpbHRlclJwYykge1xuICAgIGxldCBfY29kZWM7XG4gICAgRmlsdGVyUnBjLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmVxdWVzdElkICE9IG51bGwgJiYgb2JqLnJlcXVlc3RJZCAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmVxdWVzdCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgRmlsdGVyUmVxdWVzdC5jb2RlYygpLmVuY29kZShvYmoucmVxdWVzdCwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucHVzaCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVB1c2guY29kZWMoKS5lbmNvZGUob2JqLnB1c2gsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmVxdWVzdElkID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXF1ZXN0ID0gRmlsdGVyUmVxdWVzdC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnB1c2ggPSBNZXNzYWdlUHVzaC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEZpbHRlclJwYy5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgRmlsdGVyUnBjLmNvZGVjKCkpO1xuICAgIH07XG4gICAgRmlsdGVyUnBjLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBGaWx0ZXJScGMuY29kZWMoKSk7XG4gICAgfTtcbn0pKEZpbHRlclJwYyB8fCAoRmlsdGVyUnBjID0ge30pKTtcbmV4cG9ydCB2YXIgUmF0ZUxpbWl0UHJvb2Y7XG4oZnVuY3Rpb24gKFJhdGVMaW1pdFByb29mKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBSYXRlTGltaXRQcm9vZi5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnByb29mICE9IG51bGwgJiYgb2JqLnByb29mLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnByb29mKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubWVya2xlUm9vdCAhPSBudWxsICYmIG9iai5tZXJrbGVSb290LmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1lcmtsZVJvb3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5lcG9jaCAhPSBudWxsICYmIG9iai5lcG9jaC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjYpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5lcG9jaCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWCAhPSBudWxsICYmIG9iai5zaGFyZVguYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDM0KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVYKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVZICE9IG51bGwgJiYgb2JqLnNoYXJlWS5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNDIpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5udWxsaWZpZXIgIT0gbnVsbCAmJiBvYmoubnVsbGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm51bGxpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJsbklkZW50aWZpZXIgIT0gbnVsbCAmJiBvYmoucmxuSWRlbnRpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5ybG5JZGVudGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvb2Y6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBtZXJrbGVSb290OiBuZXcgVWludDhBcnJheSgwKSxcbiAgICAgICAgICAgICAgICAgICAgZXBvY2g6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVg6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVk6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBudWxsaWZpZXI6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBybG5JZGVudGlmaWVyOiBuZXcgVWludDhBcnJheSgwKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnByb29mID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lcmtsZVJvb3QgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBvY2ggPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVYID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5udWxsaWZpZXIgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmxuSWRlbnRpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSk7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5kZWNvZGUgPSAoYnVmKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSk7XG4gICAgfTtcbn0pKFJhdGVMaW1pdFByb29mIHx8IChSYXRlTGltaXRQcm9vZiA9IHt9KSk7XG5leHBvcnQgdmFyIFdha3VNZXNzYWdlO1xuKGZ1bmN0aW9uIChXYWt1TWVzc2FnZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1lc3NhZ2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wYXlsb2FkICE9IG51bGwgJiYgb2JqLnBheWxvYWQuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucGF5bG9hZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnZlcnNpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai52ZXJzaW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai50aW1lc3RhbXAgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai50aW1lc3RhbXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1ldGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1ldGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJhdGVMaW1pdFByb29mICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTcwKTtcbiAgICAgICAgICAgICAgICAgICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5lbmNvZGUob2JqLnJhdGVMaW1pdFByb29mLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lcGhlbWVyYWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLmVwaGVtZXJhbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucGF5bG9hZCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnZlcnNpb24gPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai50aW1lc3RhbXAgPSByZWFkZXIuc2ludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDExOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yYXRlTGltaXRQcm9vZiA9IFJhdGVMaW1pdFByb29mLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwaGVtZXJhbCA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFdha3VNZXNzYWdlLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBXYWt1TWVzc2FnZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIFdha3VNZXNzYWdlLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBXYWt1TWVzc2FnZS5jb2RlYygpKTtcbiAgICB9O1xufSkoV2FrdU1lc3NhZ2UgfHwgKFdha3VNZXNzYWdlID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZpbHRlci5qcy5tYXAiXSwibmFtZXMiOlsiZW5jb2RlTWVzc2FnZSIsImRlY29kZU1lc3NhZ2UiLCJtZXNzYWdlIiwiRmlsdGVyUmVxdWVzdCIsIkNvbnRlbnRGaWx0ZXIiLCJfY29kZWMiLCJjb2RlYyIsIm9iaiIsInciLCJvcHRzIiwibGVuZ3RoRGVsaW1pdGVkIiwiZm9yayIsImNvbnRlbnRUb3BpYyIsInVpbnQzMiIsInN0cmluZyIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsImVuZCIsImxlbiIsInBvcyIsInRhZyIsInNraXBUeXBlIiwiZW5jb2RlIiwiZGVjb2RlIiwiYnVmIiwic3Vic2NyaWJlIiwiYm9vbCIsInRvcGljIiwiY29udGVudEZpbHRlcnMiLCJ2YWx1ZSIsInB1c2giLCJNZXNzYWdlUHVzaCIsIm1lc3NhZ2VzIiwiV2FrdU1lc3NhZ2UiLCJGaWx0ZXJScGMiLCJyZXF1ZXN0SWQiLCJyZXF1ZXN0IiwiUmF0ZUxpbWl0UHJvb2YiLCJwcm9vZiIsImJ5dGVMZW5ndGgiLCJieXRlcyIsIm1lcmtsZVJvb3QiLCJlcG9jaCIsInNoYXJlWCIsInNoYXJlWSIsIm51bGxpZmllciIsInJsbklkZW50aWZpZXIiLCJVaW50OEFycmF5IiwicGF5bG9hZCIsInZlcnNpb24iLCJ0aW1lc3RhbXAiLCJzaW50NjQiLCJtZXRhIiwicmF0ZUxpbWl0UHJvb2YiLCJlcGhlbWVyYWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/proto/dist/lib/filter.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/proto/dist/lib/filter_v2.js":
/*!********************************************************!*\
!*** ./node_modules/@waku/proto/dist/lib/filter_v2.js ***!
\********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterSubscribeRequest: () => (/* binding */ FilterSubscribeRequest),\n/* harmony export */ FilterSubscribeResponse: () => (/* binding */ FilterSubscribeResponse),\n/* harmony export */ MessagePush: () => (/* binding */ MessagePush),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar FilterSubscribeRequest;\n(function(FilterSubscribeRequest) {\n let FilterSubscribeType;\n (function(FilterSubscribeType) {\n FilterSubscribeType[\"SUBSCRIBER_PING\"] = \"SUBSCRIBER_PING\";\n FilterSubscribeType[\"SUBSCRIBE\"] = \"SUBSCRIBE\";\n FilterSubscribeType[\"UNSUBSCRIBE\"] = \"UNSUBSCRIBE\";\n FilterSubscribeType[\"UNSUBSCRIBE_ALL\"] = \"UNSUBSCRIBE_ALL\";\n })(FilterSubscribeType = FilterSubscribeRequest.FilterSubscribeType || (FilterSubscribeRequest.FilterSubscribeType = {}));\n let __FilterSubscribeTypeValues;\n (function(__FilterSubscribeTypeValues) {\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"SUBSCRIBER_PING\"] = 0] = \"SUBSCRIBER_PING\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"SUBSCRIBE\"] = 1] = \"SUBSCRIBE\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"UNSUBSCRIBE\"] = 2] = \"UNSUBSCRIBE\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"UNSUBSCRIBE_ALL\"] = 3] = \"UNSUBSCRIBE_ALL\";\n })(__FilterSubscribeTypeValues || (__FilterSubscribeTypeValues = {}));\n (function(FilterSubscribeType) {\n FilterSubscribeType.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__FilterSubscribeTypeValues);\n };\n })(FilterSubscribeType = FilterSubscribeRequest.FilterSubscribeType || (FilterSubscribeRequest.FilterSubscribeType = {}));\n let _codec;\n FilterSubscribeRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.filterSubscribeType != null && __FilterSubscribeTypeValues[obj.filterSubscribeType] !== 0) {\n w.uint32(16);\n FilterSubscribeRequest.FilterSubscribeType.codec().encode(obj.filterSubscribeType, w);\n }\n if (obj.pubsubTopic != null) {\n w.uint32(82);\n w.string(obj.pubsubTopic);\n }\n if (obj.contentTopics != null) {\n for (const value of obj.contentTopics){\n w.uint32(90);\n w.string(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n requestId: \"\",\n filterSubscribeType: FilterSubscribeType.SUBSCRIBER_PING,\n contentTopics: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.requestId = reader.string();\n break;\n case 2:\n obj.filterSubscribeType = FilterSubscribeRequest.FilterSubscribeType.codec().decode(reader);\n break;\n case 10:\n obj.pubsubTopic = reader.string();\n break;\n case 11:\n obj.contentTopics.push(reader.string());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterSubscribeRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterSubscribeRequest.codec());\n };\n FilterSubscribeRequest.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterSubscribeRequest.codec());\n };\n})(FilterSubscribeRequest || (FilterSubscribeRequest = {}));\nvar FilterSubscribeResponse;\n(function(FilterSubscribeResponse) {\n let _codec;\n FilterSubscribeResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.statusCode != null && obj.statusCode !== 0) {\n w.uint32(80);\n w.uint32(obj.statusCode);\n }\n if (obj.statusDesc != null) {\n w.uint32(90);\n w.string(obj.statusDesc);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n requestId: \"\",\n statusCode: 0\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.requestId = reader.string();\n break;\n case 10:\n obj.statusCode = reader.uint32();\n break;\n case 11:\n obj.statusDesc = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterSubscribeResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterSubscribeResponse.codec());\n };\n FilterSubscribeResponse.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterSubscribeResponse.codec());\n };\n})(FilterSubscribeResponse || (FilterSubscribeResponse = {}));\nvar MessagePush;\n(function(MessagePush) {\n let _codec;\n MessagePush.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.wakuMessage != null) {\n w.uint32(10);\n WakuMessage.codec().encode(obj.wakuMessage, w);\n }\n if (obj.pubsubTopic != null) {\n w.uint32(18);\n w.string(obj.pubsubTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.wakuMessage = WakuMessage.codec().decode(reader, reader.uint32());\n break;\n case 2:\n obj.pubsubTopic = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n MessagePush.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, MessagePush.codec());\n };\n MessagePush.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, MessagePush.codec());\n };\n})(MessagePush || (MessagePush = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n proof: new Uint8Array(0),\n merkleRoot: new Uint8Array(0),\n epoch: new Uint8Array(0),\n shareX: new Uint8Array(0),\n shareY: new Uint8Array(0),\n nullifier: new Uint8Array(0),\n rlnIdentifier: new Uint8Array(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.proof = reader.bytes();\n break;\n case 2:\n obj.merkleRoot = reader.bytes();\n break;\n case 3:\n obj.epoch = reader.bytes();\n break;\n case 4:\n obj.shareX = reader.bytes();\n break;\n case 5:\n obj.shareY = reader.bytes();\n break;\n case 6:\n obj.nullifier = reader.bytes();\n break;\n case 7:\n obj.rlnIdentifier = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec());\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n payload: new Uint8Array(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.payload = reader.bytes();\n break;\n case 2:\n obj.contentTopic = reader.string();\n break;\n case 3:\n obj.version = reader.uint32();\n break;\n case 10:\n obj.timestamp = reader.sint64();\n break;\n case 11:\n obj.meta = reader.bytes();\n break;\n case 21:\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32());\n break;\n case 31:\n obj.ephemeral = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec());\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=filter_v2.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9saWIvZmlsdGVyX3YyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDNkI7QUFDOUUsSUFBSUksdUJBQXVCO0FBQ2pDLFVBQVVBLHNCQUFzQjtJQUM3QixJQUFJQztJQUNILFVBQVVBLG1CQUFtQjtRQUMxQkEsbUJBQW1CLENBQUMsa0JBQWtCLEdBQUc7UUFDekNBLG1CQUFtQixDQUFDLFlBQVksR0FBRztRQUNuQ0EsbUJBQW1CLENBQUMsY0FBYyxHQUFHO1FBQ3JDQSxtQkFBbUIsQ0FBQyxrQkFBa0IsR0FBRztJQUM3QyxHQUFHQSxzQkFBc0JELHVCQUF1QkMsbUJBQW1CLElBQUtELENBQUFBLHVCQUF1QkMsbUJBQW1CLEdBQUcsQ0FBQztJQUN0SCxJQUFJQztJQUNILFVBQVVBLDJCQUEyQjtRQUNsQ0EsMkJBQTJCLENBQUNBLDJCQUEyQixDQUFDLGtCQUFrQixHQUFHLEVBQUUsR0FBRztRQUNsRkEsMkJBQTJCLENBQUNBLDJCQUEyQixDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUc7UUFDNUVBLDJCQUEyQixDQUFDQSwyQkFBMkIsQ0FBQyxjQUFjLEdBQUcsRUFBRSxHQUFHO1FBQzlFQSwyQkFBMkIsQ0FBQ0EsMkJBQTJCLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxHQUFHO0lBQ3RGLEdBQUdBLCtCQUFnQ0EsQ0FBQUEsOEJBQThCLENBQUM7SUFDakUsVUFBVUQsbUJBQW1CO1FBQzFCQSxvQkFBb0JFLEtBQUssR0FBRztZQUN4QixPQUFPUCw0REFBV0EsQ0FBQ007UUFDdkI7SUFDSixHQUFHRCxzQkFBc0JELHVCQUF1QkMsbUJBQW1CLElBQUtELENBQUFBLHVCQUF1QkMsbUJBQW1CLEdBQUcsQ0FBQztJQUN0SCxJQUFJRztJQUNKSix1QkFBdUJHLEtBQUssR0FBRztRQUMzQixJQUFJ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LE9BQU9SLDhEQUFhQSxDQUFDUSxLQUFLOEIsWUFBWWhDLEtBQUs7SUFDL0M7SUFDQWdDLFlBQVlULE1BQU0sR0FBRyxDQUFDRztRQUNsQixPQUFPL0IsOERBQWFBLENBQUMrQixLQUFLTSxZQUFZaEMsS0FBSztJQUMvQztBQUNKLEdBQUdnQyxlQUFnQkEsQ0FBQUEsY0FBYyxDQUFDLEtBQ2xDLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvbGliL2ZpbHRlcl92Mi5qcz8zYTc1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgZW51bWVyYXRpb24sIGVuY29kZU1lc3NhZ2UsIGRlY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuZXhwb3J0IHZhciBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0O1xuKGZ1bmN0aW9uIChGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0KSB7XG4gICAgbGV0IEZpbHRlclN1YnNjcmliZVR5cGU7XG4gICAgKGZ1bmN0aW9uIChGaWx0ZXJTdWJzY3JpYmVUeXBlKSB7XG4gICAgICAgIEZpbHRlclN1YnNjcmliZVR5cGVbXCJTVUJTQ1JJQkVSX1BJTkdcIl0gPSBcIlNVQlNDUklCRVJfUElOR1wiO1xuICAgICAgICBGaWx0ZXJTdWJzY3JpYmVUeXBlW1wiU1VCU0NSSUJFXCJdID0gXCJTVUJTQ1JJQkVcIjtcbiAgICAgICAgRmlsdGVyU3Vic2NyaWJlVHlwZVtcIlVOU1VCU0NSSUJFXCJdID0gXCJVTlNVQlNDUklCRVwiO1xuICAgICAgICBGaWx0ZXJTdWJzY3JpYmVUeXBlW1wiVU5TVUJTQ1JJQkVfQUxMXCJdID0gXCJVTlNVQlNDUklCRV9BTExcIjtcbiAgICB9KShGaWx0ZXJTdWJzY3JpYmVUeXBlID0gRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5GaWx0ZXJTdWJzY3JpYmVUeXBlIHx8IChGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUgPSB7fSkpO1xuICAgIGxldCBfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXM7XG4gICAgKGZ1bmN0aW9uIChfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXMpIHtcbiAgICAgICAgX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzW19fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tcIlNVQlNDUklCRVJfUElOR1wiXSA9IDBdID0gXCJTVUJTQ1JJQkVSX1BJTkdcIjtcbiAgICAgICAgX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzW19fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tcIlNVQlNDUklCRVwiXSA9IDFdID0gXCJTVUJTQ1JJQkVcIjtcbiAgICAgICAgX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzW19fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tcIlVOU1VCU0NSSUJFXCJdID0gMl0gPSBcIlVOU1VCU0NSSUJFXCI7XG4gICAgICAgIF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbXCJVTlNVQlNDUklCRV9BTExcIl0gPSAzXSA9IFwiVU5TVUJTQ1JJQkVfQUxMXCI7XG4gICAgfSkoX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzIHx8IChfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXMgPSB7fSkpO1xuICAgIChmdW5jdGlvbiAoRmlsdGVyU3Vic2NyaWJlVHlwZSkge1xuICAgICAgICBGaWx0ZXJTdWJzY3JpYmVUeXBlLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVudW1lcmF0aW9uKF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlcyk7XG4gICAgICAgIH07XG4gICAgfSkoRmlsdGVyU3Vic2NyaWJlVHlwZSA9IEZpbHRlclN1YnNjcmliZVJlcXVlc3QuRmlsdGVyU3Vic2NyaWJlVHlwZSB8fCAoRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5GaWx0ZXJTdWJzY3JpYmVUeXBlID0ge30pKTtcbiAgICBsZXQgX2NvZGVjO1xuICAgIEZpbHRlclN1YnNjcmliZVJlcXVlc3QuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5yZXF1ZXN0SWQgIT0gbnVsbCAmJiBvYmoucmVxdWVzdElkICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucmVxdWVzdElkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5maWx0ZXJTdWJzY3JpYmVUeXBlICE9IG51bGwgJiYgX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzW29iai5maWx0ZXJTdWJzY3JpYmVUeXBlXSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNik7XG4gICAgICAgICAgICAgICAgICAgIEZpbHRlclN1YnNjcmliZVJlcXVlc3QuRmlsdGVyU3Vic2NyaWJlVHlwZS5jb2RlYygpLmVuY29kZShvYmouZmlsdGVyU3Vic2NyaWJlVHlwZSwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucHVic3ViVG9waWMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4Mik7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5wdWJzdWJUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouY29udGVudFRvcGljcyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygb2JqLmNvbnRlbnRUb3BpY3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6ICcnLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJTdWJzY3JpYmVUeXBlOiBGaWx0ZXJTdWJzY3JpYmVUeXBlLlNVQlNDUklCRVJfUElORyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFRvcGljczogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXF1ZXN0SWQgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmZpbHRlclN1YnNjcmliZVR5cGUgPSBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUuY29kZWMoKS5kZWNvZGUocmVhZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnB1YnN1YlRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljcy5wdXNoKHJlYWRlci5zdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEZpbHRlclN1YnNjcmliZVJlcXVlc3QuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIEZpbHRlclN1YnNjcmliZVJlcXVlc3QuY29kZWMoKSk7XG4gICAgfTtcbiAgICBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LmNvZGVjKCkpO1xuICAgIH07XG59KShGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0IHx8IChGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0ID0ge30pKTtcbmV4cG9ydCB2YXIgRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2U7XG4oZnVuY3Rpb24gKEZpbHRlclN1YnNjcmliZVJlc3BvbnNlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJlcXVlc3RJZCAhPSBudWxsICYmIG9iai5yZXF1ZXN0SWQgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5yZXF1ZXN0SWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zdGF0dXNDb2RlICE9IG51bGwgJiYgb2JqLnN0YXR1c0NvZGUgIT09IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnN0YXR1c0NvZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnN0YXR1c0Rlc2MgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5zdGF0dXNEZXNjKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElkOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzQ29kZTogMFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3RJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnN0YXR1c0NvZGUgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDExOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zdGF0dXNEZXNjID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5kZWNvZGUgPSAoYnVmKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbn0pKEZpbHRlclN1YnNjcmliZVJlc3BvbnNlIHx8IChGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZSA9IHt9KSk7XG5leHBvcnQgdmFyIE1lc3NhZ2VQdXNoO1xuKGZ1bmN0aW9uIChNZXNzYWdlUHVzaCkge1xuICAgIGxldCBfY29kZWM7XG4gICAgTWVzc2FnZVB1c2guY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLndha3VNZXNzYWdlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICBXYWt1TWVzc2FnZS5jb2RlYygpLmVuY29kZShvYmoud2FrdU1lc3NhZ2UsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnB1YnN1YlRvcGljICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLndha3VNZXNzYWdlID0gV2FrdU1lc3NhZ2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wdWJzdWJUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgTWVzc2FnZVB1c2guZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIE1lc3NhZ2VQdXNoLmNvZGVjKCkpO1xuICAgIH07XG4gICAgTWVzc2FnZVB1c2guZGVjb2RlID0gKGJ1ZikgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIE1lc3NhZ2VQdXNoLmNvZGVjKCkpO1xuICAgIH07XG59KShNZXNzYWdlUHVzaCB8fCAoTWVzc2FnZVB1c2ggPSB7fSkpO1xuZXhwb3J0IHZhciBSYXRlTGltaXRQcm9vZjtcbihmdW5jdGlvbiAoUmF0ZUxpbWl0UHJvb2YpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFJhdGVMaW1pdFByb29mLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHJvb2YgIT0gbnVsbCAmJiBvYmoucHJvb2YuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucHJvb2YpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5tZXJrbGVSb290ICE9IG51bGwgJiYgb2JqLm1lcmtsZVJvb3QuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWVya2xlUm9vdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmVwb2NoICE9IG51bGwgJiYgb2JqLmVwb2NoLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVwb2NoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVYICE9IG51bGwgJiYgb2JqLnNoYXJlWC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVkgIT0gbnVsbCAmJiBvYmouc2hhcmVZLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig0Mik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm51bGxpZmllciAhPSBudWxsICYmIG9iai5udWxsaWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubnVsbGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmxuSWRlbnRpZmllciAhPSBudWxsICYmIG9iai5ybG5JZGVudGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnJsbklkZW50aWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwcm9vZjogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIG1lcmtsZVJvb3Q6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWDogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWTogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIHJsbklkZW50aWZpZXI6IG5ldyBVaW50OEFycmF5KDApXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHJvb2YgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcG9jaCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zaGFyZVggPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bGxpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA3OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5ybG5JZGVudGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYXlsb2FkID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnRpbWVzdGFtcCA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1ldGEgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZGVjb2RlID0gKGJ1ZikgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG59KShXYWt1TWVzc2FnZSB8fCAoV2FrdU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmlsdGVyX3YyLmpzLm1hcCJdLCJuYW1lcyI6WyJlbnVtZXJhdGlvbiIsImVuY29kZU1lc3NhZ2UiLCJkZWNvZGVNZXNzYWdlIiwibWVzc2FnZSIsIkZpbHRlclN1YnNjcmliZVJlcXVlc3QiLCJGaWx0ZXJTdWJzY3JpYmVUeXBlIiwiX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzIiwiY29kZWMiLCJfY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJyZXF1ZXN0SWQiLCJ1aW50MzIiLCJzdHJpbmciLCJmaWx0ZXJTdWJzY3JpYmVUeXBlIiwiZW5jb2RlIiwicHVic3ViVG9waWMiLCJjb250ZW50VG9waWNzIiwidmFsdWUiLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJTVUJTQ1JJQkVSX1BJTkciLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJkZWNvZGUiLCJwdXNoIiwic2tpcFR5cGUiLCJidWYiLCJGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZSIsInN0YXR1c0NvZGUiLCJzdGF0dXNEZXNjIiwiTWVzc2FnZVB1c2giLCJ3YWt1TWVzc2FnZSIsIldha3VNZXNzYWdlIiwiUmF0ZUxpbWl0UHJvb2YiLCJwcm9vZiIsImJ5dGVMZW5ndGgiLCJieXRlcyIsIm1lcmtsZVJvb3QiLCJlcG9jaCIsInNoYXJlWCIsInNoYXJlWSIsIm51bGxpZmllciIsInJsbklkZW50aWZpZXIiLCJVaW50OEFycmF5IiwicGF5bG9hZCIsImNvbnRlbnRUb3BpYyIsInZlcnNpb24iLCJ0aW1lc3RhbXAiLCJzaW50NjQiLCJtZXRhIiwicmF0ZUxpbWl0UHJvb2YiLCJlcGhlbWVyYWwiLCJib29sIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/proto/dist/lib/filter_v2.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/proto/dist/lib/light_push.js":
/*!*********************************************************!*\
!*** ./node_modules/@waku/proto/dist/lib/light_push.js ***!
\*********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PushRequest: () => (/* binding */ PushRequest),\n/* harmony export */ PushResponse: () => (/* binding */ PushResponse),\n/* harmony export */ PushRpc: () => (/* binding */ PushRpc),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar PushRequest;\n(function(PushRequest) {\n let _codec;\n PushRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pubsubTopic != null && obj.pubsubTopic !== \"\") {\n w.uint32(10);\n w.string(obj.pubsubTopic);\n }\n if (obj.message != null) {\n w.uint32(18);\n WakuMessage.codec().encode(obj.message, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n pubsubTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.pubsubTopic = reader.string();\n break;\n case 2:\n obj.message = WakuMessage.codec().decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushRequest.codec());\n };\n PushRequest.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushRequest.codec());\n };\n})(PushRequest || (PushRequest = {}));\nvar PushResponse;\n(function(PushResponse) {\n let _codec;\n PushResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.isSuccess != null && obj.isSuccess !== false) {\n w.uint32(8);\n w.bool(obj.isSuccess);\n }\n if (obj.info != null) {\n w.uint32(18);\n w.string(obj.info);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n isSuccess: false\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.isSuccess = reader.bool();\n break;\n case 2:\n obj.info = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushResponse.codec());\n };\n PushResponse.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushResponse.codec());\n };\n})(PushResponse || (PushResponse = {}));\nvar PushRpc;\n(function(PushRpc) {\n let _codec;\n PushRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.request != null) {\n w.uint32(18);\n PushRequest.codec().encode(obj.request, w);\n }\n if (obj.response != null) {\n w.uint32(26);\n PushResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.requestId = reader.string();\n break;\n case 2:\n obj.request = PushRequest.codec().decode(reader, reader.uint32());\n break;\n case 3:\n obj.response = PushResponse.codec().decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushRpc.codec());\n };\n PushRpc.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushRpc.codec());\n };\n})(PushRpc || (PushRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n proof: new Uint8Array(0),\n merkleRoot: new Uint8Array(0),\n epoch: new Uint8Array(0),\n shareX: new Uint8Array(0),\n shareY: new Uint8Array(0),\n nullifier: new Uint8Array(0),\n rlnIdentifier: new Uint8Array(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.proof = reader.bytes();\n break;\n case 2:\n obj.merkleRoot = reader.bytes();\n break;\n case 3:\n obj.epoch = reader.bytes();\n break;\n case 4:\n obj.shareX = reader.bytes();\n break;\n case 5:\n obj.shareY = reader.bytes();\n break;\n case 6:\n obj.nullifier = reader.bytes();\n break;\n case 7:\n obj.rlnIdentifier = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec());\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n payload: new Uint8Array(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.payload = reader.bytes();\n break;\n case 2:\n obj.contentTopic = reader.string();\n break;\n case 3:\n obj.version = reader.uint32();\n break;\n case 10:\n obj.timestamp = reader.sint64();\n break;\n case 11:\n obj.meta = reader.bytes();\n break;\n case 21:\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32());\n break;\n case 31:\n obj.ephemeral = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec());\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=light_push.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9saWIvbGlnaHRfcHVzaC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQ2dCO0FBQ2pFLElBQUlHLFlBQVk7QUFDdEIsVUFBVUEsV0FBVztJQUNsQixJQUFJQztJQUNKRCxZQUFZRSxLQUFLLEdBQUc7UUFDaEIsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTRix3REFBT0EsQ0FBQyxDQUFDSSxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUtKLElBQUlLLFdBQVcsSUFBSSxRQUFRTCxJQUFJSyxXQUFXLEtBQUssSUFBSztvQkFDckRKLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRU0sTUFBTSxDQUFDUCxJQUFJSyxXQUFXO2dCQUM1QjtnQkFDQSxJQUFJTCxJQUFJSixPQUFPLElBQUksTUFBTTtvQkFDckJLLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEUsWUFBWVQsS0FBSyxHQUFHVSxNQUFNLENBQUNULElBQUlKLE9BQU8sRUFBRUs7Z0JBQzVDO2dCQUNBLElBQUlDLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRVMsTUFBTTtnQkFDWjtZQUNKLEdBQUcsQ0FBQ0MsUUFBUUM7Z0JBQ1IsTUFBTVosTUFBTTtvQkFDUkssYUFBYTtnQkFDakI7Z0JBQ0EsTUFBTVEsTUFBTUQsVUFBVSxPQUFPRCxPQUFPRyxHQUFHLEdBQUdILE9BQU9JLEdBQUcsR0FBR0g7Z0JBQ3ZELE1BQU9ELE9BQU9JLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFBTUcsTUFBTUwsT0FBT0wsTUFBTTtvQkFDekIsT0FBUVUsUUFBUTt3QkFDWixLQUFLOzRCQUNEaEIsSUFBSUss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YnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2xpYi9saWdodF9wdXNoLmpzPzAyZmIiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBlbmNvZGVNZXNzYWdlLCBkZWNvZGVNZXNzYWdlLCBtZXNzYWdlIH0gZnJvbSAncHJvdG9ucy1ydW50aW1lJztcbmV4cG9ydCB2YXIgUHVzaFJlcXVlc3Q7XG4oZnVuY3Rpb24gKFB1c2hSZXF1ZXN0KSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQdXNoUmVxdWVzdC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnB1YnN1YlRvcGljICE9IG51bGwgJiYgb2JqLnB1YnN1YlRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1lc3NhZ2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIFdha3VNZXNzYWdlLmNvZGVjKCkuZW5jb2RlKG9iai5tZXNzYWdlLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHVic3ViVG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHVic3ViVG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lc3NhZ2UgPSBXYWt1TWVzc2FnZS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFB1c2hSZXF1ZXN0LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBQdXNoUmVxdWVzdC5jb2RlYygpKTtcbiAgICB9O1xuICAgIFB1c2hSZXF1ZXN0LmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQdXNoUmVxdWVzdC5jb2RlYygpKTtcbiAgICB9O1xufSkoUHVzaFJlcXVlc3QgfHwgKFB1c2hSZXF1ZXN0ID0ge30pKTtcbmV4cG9ydCB2YXIgUHVzaFJlc3BvbnNlO1xuKGZ1bmN0aW9uIChQdXNoUmVzcG9uc2UpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFB1c2hSZXNwb25zZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmlzU3VjY2VzcyAhPSBudWxsICYmIG9iai5pc1N1Y2Nlc3MgIT09IGZhbHNlKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ib29sKG9iai5pc1N1Y2Nlc3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmluZm8gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5pbmZvKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgaXNTdWNjZXNzOiBmYWxzZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmlzU3VjY2VzcyA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmluZm8gPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFB1c2hSZXNwb25zZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUHVzaFJlc3BvbnNlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgUHVzaFJlc3BvbnNlLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQdXNoUmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbn0pKFB1c2hSZXNwb25zZSB8fCAoUHVzaFJlc3BvbnNlID0ge30pKTtcbmV4cG9ydCB2YXIgUHVzaFJwYztcbihmdW5jdGlvbiAoUHVzaFJwYykge1xuICAgIGxldCBfY29kZWM7XG4gICAgUHVzaFJwYy5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJlcXVlc3RJZCAhPSBudWxsICYmIG9iai5yZXF1ZXN0SWQgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5yZXF1ZXN0SWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJlcXVlc3QgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIFB1c2hSZXF1ZXN0LmNvZGVjKCkuZW5jb2RlKG9iai5yZXF1ZXN0LCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5yZXNwb25zZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgUHVzaFJlc3BvbnNlLmNvZGVjKCkuZW5jb2RlKG9iai5yZXNwb25zZSwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RJZDogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXF1ZXN0SWQgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3QgPSBQdXNoUmVxdWVzdC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlc3BvbnNlID0gUHVzaFJlc3BvbnNlLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgUHVzaFJwYy5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUHVzaFJwYy5jb2RlYygpKTtcbiAgICB9O1xuICAgIFB1c2hScGMuZGVjb2RlID0gKGJ1ZikgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFB1c2hScGMuY29kZWMoKSk7XG4gICAgfTtcbn0pKFB1c2hScGMgfHwgKFB1c2hScGMgPSB7fSkpO1xuZXhwb3J0IHZhciBSYXRlTGltaXRQcm9vZjtcbihmdW5jdGlvbiAoUmF0ZUxpbWl0UHJvb2YpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFJhdGVMaW1pdFByb29mLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHJvb2YgIT0gbnVsbCAmJiBvYmoucHJvb2YuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucHJvb2YpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5tZXJrbGVSb290ICE9IG51bGwgJiYgb2JqLm1lcmtsZVJvb3QuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWVya2xlUm9vdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmVwb2NoICE9IG51bGwgJiYgb2JqLmVwb2NoLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVwb2NoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVYICE9IG51bGwgJiYgb2JqLnNoYXJlWC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVkgIT0gbnVsbCAmJiBvYmouc2hhcmVZLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig0Mik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm51bGxpZmllciAhPSBudWxsICYmIG9iai5udWxsaWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubnVsbGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmxuSWRlbnRpZmllciAhPSBudWxsICYmIG9iai5ybG5JZGVudGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnJsbklkZW50aWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwcm9vZjogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIG1lcmtsZVJvb3Q6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWDogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWTogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIHJsbklkZW50aWZpZXI6IG5ldyBVaW50OEFycmF5KDApXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHJvb2YgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcG9jaCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zaGFyZVggPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bGxpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA3OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5ybG5JZGVudGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYXlsb2FkID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnRpbWVzdGFtcCA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1ldGEgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZGVjb2RlID0gKGJ1ZikgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG59KShXYWt1TWVzc2FnZSB8fCAoV2FrdU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGlnaHRfcHVzaC5qcy5tYXAiXSwibmFtZXMiOlsiZW5jb2RlTWVzc2FnZSIsImRlY29kZU1lc3NhZ2UiLCJtZXNzYWdlIiwiUHVzaFJlcXVlc3QiLCJfY29kZWMiLCJjb2RlYyIsIm9iaiIsInciLCJvcHRzIiwibGVuZ3RoRGVsaW1pdGVkIiwiZm9yayIsInB1YnN1YlRvcGljIiwidWludDMyIiwic3RyaW5nIiwiV2FrdU1lc3NhZ2UiLCJlbmNvZGUiLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJkZWNvZGUiLCJza2lwVHlwZSIsImJ1ZiIsIlB1c2hSZXNwb25zZSIsImlzU3VjY2VzcyIsImJvb2wiLCJpbmZvIiwiUHVzaFJwYyIsInJlcXVlc3RJZCIsInJlcXVlc3QiLCJyZXNwb25zZSIsIlJhdGVMaW1pdFByb29mIiwicHJvb2YiLCJieXRlTGVuZ3RoIiwiYnl0ZXMiLCJtZXJrbGVSb290IiwiZXBvY2giLCJzaGFyZVgiLCJzaGFyZVkiLCJudWxsaWZpZXIiLCJybG5JZGVudGlmaWVyIiwiVWludDhBcnJheSIsInBheWxvYWQiLCJjb250ZW50VG9waWMiLCJ2ZXJzaW9uIiwidGltZXN0YW1wIiwic2ludDY0IiwibWV0YSIsInJhdGVMaW1pdFByb29mIiwiZXBoZW1lcmFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/proto/dist/lib/light_push.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/proto/dist/lib/message.js":
/*!******************************************************!*\
!*** ./node_modules/@waku/proto/dist/lib/message.js ***!
\******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n proof: new Uint8Array(0),\n merkleRoot: new Uint8Array(0),\n epoch: new Uint8Array(0),\n shareX: new Uint8Array(0),\n shareY: new Uint8Array(0),\n nullifier: new Uint8Array(0),\n rlnIdentifier: new Uint8Array(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.proof = reader.bytes();\n break;\n case 2:\n obj.merkleRoot = reader.bytes();\n break;\n case 3:\n obj.epoch = reader.bytes();\n break;\n case 4:\n obj.shareX = reader.bytes();\n break;\n case 5:\n obj.shareY = reader.bytes();\n break;\n case 6:\n obj.nullifier = reader.bytes();\n break;\n case 7:\n obj.rlnIdentifier = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec());\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n payload: new Uint8Array(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.payload = reader.bytes();\n break;\n case 2:\n obj.contentTopic = reader.string();\n break;\n case 3:\n obj.version = reader.uint32();\n break;\n case 10:\n obj.timestamp = reader.sint64();\n break;\n case 11:\n obj.meta = reader.bytes();\n break;\n case 21:\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32());\n break;\n case 31:\n obj.ephemeral = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec());\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9saWIvbWVzc2FnZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQ2dCO0FBQ2pFLElBQUlHLGVBQWU7QUFDekIsVUFBVUEsY0FBYztJQUNyQixJQUFJQztJQUNKRCxlQUFlRSxLQUFLLEdBQUc7UUFDbkIsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTRix3REFBT0EsQ0FBQyxDQUFDSSxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUtKLElBQUlLLEtBQUssSUFBSSxRQUFRTCxJQUFJSyxLQUFLLENBQUNDLFVBQVUsR0FBRyxHQUFJO29CQUNqREwsRUFBRU0sTUFBTSxDQUFDO29CQUNUTixFQUFFTyxLQUFLLENBQUNSLElBQUlLLEtBQUs7Z0JBQ3JCO2dCQUNBLElBQUtMLElBQUlTLFVBQVUsSUFBSSxRQUFRVCxJQUFJUyxVQUFVLENBQUNILFVBQVUsR0FBRyxHQUFJO29CQUMzREwsRUFBRU0sTUFBTSxDQUFDO29CQUNUTixFQUFFTyxLQUFLLENBQUNSLElBQUlTLFVBQVU7Z0JBQzFCO2dCQUNBLElBQUtULElBQUlVLEtBQUssSUFBSSxRQUFRVixJQUFJVSxLQUFLLENBQUNKLFVBQVUsR0FBRyxHQUFJO29CQUNqREwsRUFBRU0sTUFBTSxDQUFDO29CQUNUTixFQUFFTyxLQUFLLENBQUNSLElBQUlVLEtBQUs7Z0JBQ3JCO2dCQUNBLElBQUtWLElBQUlXLE1BQU0sSUFBSSxRQUFRWCxJQUFJVyxNQUFNLENBQUNMLFVBQVUsR0FBRyxHQUFJO29CQUNuREwsRUFBRU0sTUFBTSxDQUFDO29CQUNUTixFQUFFTyxLQUFLLENBQUNSLElBQUlXLE1BQU07Z0JBQ3RCO2dC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TUFBT0QsT0FBT0ssR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTixPQUFPVCxNQUFNO29CQUN6QixPQUFRZSxRQUFRO3dCQUNaLEtBQUs7NEJBQ0R0QixJQUFJNEIsT0FBTyxHQUFHWixPQUFPUixLQUFLOzRCQUMxQjt3QkFDSixLQUFLOzRCQUNEUixJQUFJNkIsWUFBWSxHQUFHYixPQUFPYyxNQUFNOzRCQUNoQzt3QkFDSixLQUFLOzRCQUNEOUIsSUFBSStCLE9BQU8sR0FBR2YsT0FBT1QsTUFBTTs0QkFDM0I7d0JBQ0osS0FBSzs0QkFDRFAsSUFBSWdDLFNBQVMsR0FBR2hCLE9BQU9pQixNQUFNOzRCQUM3Qjt3QkFDSixLQUFLOzRCQUNEakMsSUFBSWtDLElBQUksR0FBR2xCLE9BQU9SLEtBQUs7NEJBQ3ZCO3dCQUNKLEtBQUs7NEJBQ0RSLElBQUltQyxjQUFjLEdBQUd0QyxlQUFlRSxLQUFLLEdBQUcwQixNQUFNLENBQUNULFFBQVFBLE9BQU9ULE1BQU07NEJBQ3hFO3dCQUNKLEtBQUs7NEJBQ0RQLElBQUlvQyxTQUFTLEdBQUdwQixPQUFPcUIsSUFBSTs0QkFDM0I7d0JBQ0o7NEJBQ0lyQixPQUFPTyxRQUFRLENBQUNELE1BQU07NEJBQ3RCO29CQUNSO2dCQUNKO2dCQUNBLE9BQU90QjtZQUNYO1FBQ0o7UUFDQSxPQUFPRjtJQUNYO0lBQ0E2QixZQUFZSCxNQUFNLEdBQUcsQ0FBQ3hCO1FBQ2xCLE9BQU9OLDhEQUFhQSxDQUFDTSxLQUFLMkIsWUFBWTVCLEtBQUs7SUFDL0M7SUFDQTRCLFlBQVlGLE1BQU0sR0FBRyxDQUFDQztRQUNsQixPQUFPL0IsOERBQWFBLENBQUMrQixLQUFLQyxZQUFZNUIsS0FBSztJQUMvQztBQUNKLEdBQUc0QixlQUFnQkEsQ0FBQUEsY0FBYyxDQUFDLEtBQ2xDLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvbGliL21lc3NhZ2UuanM/ZGI0YiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvZXhwb3J0ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktYm9vbGVhbi1saXRlcmFsLWNvbXBhcmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UgKi9cbmltcG9ydCB7IGVuY29kZU1lc3NhZ2UsIGRlY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuZXhwb3J0IHZhciBSYXRlTGltaXRQcm9vZjtcbihmdW5jdGlvbiAoUmF0ZUxpbWl0UHJvb2YpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFJhdGVMaW1pdFByb29mLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHJvb2YgIT0gbnVsbCAmJiBvYmoucHJvb2YuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucHJvb2YpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5tZXJrbGVSb290ICE9IG51bGwgJiYgb2JqLm1lcmtsZVJvb3QuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWVya2xlUm9vdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmVwb2NoICE9IG51bGwgJiYgb2JqLmVwb2NoLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVwb2NoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVYICE9IG51bGwgJiYgb2JqLnNoYXJlWC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVkgIT0gbnVsbCAmJiBvYmouc2hhcmVZLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig0Mik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm51bGxpZmllciAhPSBudWxsICYmIG9iai5udWxsaWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubnVsbGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmxuSWRlbnRpZmllciAhPSBudWxsICYmIG9iai5ybG5JZGVudGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnJsbklkZW50aWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwcm9vZjogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIG1lcmtsZVJvb3Q6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWDogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWTogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIHJsbklkZW50aWZpZXI6IG5ldyBVaW50OEFycmF5KDApXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHJvb2YgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcG9jaCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zaGFyZVggPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bGxpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA3OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5ybG5JZGVudGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogbmV3IFVpbnQ4QXJyYXkoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYXlsb2FkID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnRpbWVzdGFtcCA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1ldGEgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZGVjb2RlID0gKGJ1ZikgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG59KShXYWt1TWVzc2FnZSB8fCAoV2FrdU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVzc2FnZS5qcy5tYXAiXSwibmFtZXMiOlsiZW5jb2RlTWVzc2FnZSIsImRlY29kZU1lc3NhZ2UiLCJtZXNzYWdlIiwiUmF0ZUxpbWl0UHJvb2YiLCJfY29kZWMiLCJjb2RlYyIsIm9iaiIsInciLCJvcHRzIiwibGVuZ3RoRGVsaW1pdGVkIiwiZm9yayIsInByb29mIiwiYnl0ZUxlbmd0aCIsInVpbnQzMiIsImJ5dGVzIiwibWVya2xlUm9vdCIsImVwb2NoIiwic2hhcmVYIiwic2hhcmVZIiwibnVsbGlmaWVyIiwicmxuSWRlbnRpZmllciIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsIlVpbnQ4QXJyYXkiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJza2lwVHlwZSIsImVuY29kZSIsImRlY29kZSIsImJ1ZiIsIldha3VNZXNzYWdlIiwicGF5bG9hZCIsImNvbnRlbnRUb3BpYyIsInN0cmluZyIsInZlcnNpb24iLCJ0aW1lc3RhbXAiLCJzaW50NjQiLCJtZXRhIiwicmF0ZUxpbWl0UHJvb2YiLCJlcGhlbWVyYWwiLCJib29sIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/proto/dist/lib/message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/proto/dist/lib/metadata.js":
/*!*******************************************************!*\
!*** ./node_modules/@waku/proto/dist/lib/metadata.js ***!
\*******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WakuMetadataRequest: () => (/* binding */ WakuMetadataRequest),\n/* harmony export */ WakuMetadataResponse: () => (/* binding */ WakuMetadataResponse)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar WakuMetadataRequest;\n(function(WakuMetadataRequest) {\n let _codec;\n WakuMetadataRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.clusterId != null) {\n w.uint32(8);\n w.uint32(obj.clusterId);\n }\n if (obj.shards != null) {\n for (const value of obj.shards){\n w.uint32(16);\n w.uint32(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n shards: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.clusterId = reader.uint32();\n break;\n case 2:\n obj.shards.push(reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMetadataRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMetadataRequest.codec());\n };\n WakuMetadataRequest.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMetadataRequest.codec());\n };\n})(WakuMetadataRequest || (WakuMetadataRequest = {}));\nvar WakuMetadataResponse;\n(function(WakuMetadataResponse) {\n let _codec;\n WakuMetadataResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.clusterId != null) {\n w.uint32(8);\n w.uint32(obj.clusterId);\n }\n if (obj.shards != null) {\n for (const value of obj.shards){\n w.uint32(16);\n w.uint32(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n shards: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.clusterId = reader.uint32();\n break;\n case 2:\n obj.shards.push(reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMetadataResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMetadataResponse.codec());\n };\n WakuMetadataResponse.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMetadataResponse.codec());\n };\n})(WakuMetadataResponse || (WakuMetadataResponse = {})); //# sourceMappingURL=metadata.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9saWIvbWV0YWRhdGEuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0NBQWdDLEdBQ2hDLDZCQUE2QixHQUM3QixrREFBa0QsR0FDbEQsNEVBQTRFLEdBQzVFLHdEQUF3RCxHQUNnQjtBQUNqRSxJQUFJRyxvQkFBb0I7QUFDOUIsVUFBVUEsbUJBQW1CO0lBQzFCLElBQUlDO0lBQ0pELG9CQUFvQkUsS0FBSyxHQUFHO1FBQ3hCLElBQUlELFVBQVUsTUFBTTtZQUNoQkEsU0FBU0Ysd0RBQU9BLENBQUMsQ0FBQ0ksS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFJSixJQUFJSyxTQUFTLElBQUksTUFBTTtvQkFDdkJKLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRUssTUFBTSxDQUFDTixJQUFJSyxTQUFTO2dCQUMxQjtnQkFDQSxJQUFJTCxJQUFJTyxNQUFNLElBQUksTUFBTTtvQkFDcEIsS0FBSyxNQUFNQyxTQUFTUixJQUFJTyxNQUFNLENBQUU7d0JBQzVCTixFQUFFSyxNQUFNLENBQUM7d0JBQ1RMLEVBQUVLLE1BQU0sQ0FBQ0U7b0JBQ2I7Z0JBQ0o7Z0JBQ0EsSUFBSU4sS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFUSxNQUFNO2dCQUNaO1lBQ0osR0FBRyxDQUFDQyxRQUFRQztnQkFDUixNQUFNWCxNQUFNO29CQUNSTyxRQUFRLEVBQUU7Z0JBQ2Q7Z0JBQ0EsTUFBTUssTUFBTUQsVUFBVSxPQUFPRCxPQUFPRyxHQUFHLEdBQUdILE9BQU9JLEdBQUcsR0FBR0g7Z0JBQ3ZELE1BQU9ELE9BQU9JLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFBTUcsTUFBTUwsT0FBT0osTUFBTTtvQkFDekIsT0FBUVMsUUFBUTt3QkFDWixLQUFLOzRCQUNEZixJQUFJSyxTQUFTLEdBQUdLLE9BQU9KLE1BQU07NEJBQzdCO3dCQUNKLEtBQUs7NEJBQ0ROLElBQUlPLE1BQU0sQ0FBQ1MsSUFBSSxDQUFDTixPQUFPSixNQUFNOzRCQUM3Qjt3QkFDSjs0QkFDSUksT0FBT08sUUFBUSxDQUFDRixNQUFNOzRCQUN0QjtvQkFDUjtnQkFDSjtnQkFDQSxPQUFPZjtZQUNYO1FBQ0o7UUFDQSxPQUFPRjtJQUNYO0lBQ0FELG9CQUFvQnFCLE1BQU0sR0FBRyxDQUFDbEI7UUFDMUIsT0FBT04sOERBQWFBLENBQUNNLEtBQUtILG9CQUFvQkUsS0FBSztJQUN2RDtJQUNBRixvQkFBb0JzQixNQUFNLEdBQUcsQ0FBQ0M7UUFDMUIsT0FBT3pCLDhEQUFhQSxDQUFDeUIsS0FBS3ZCLG9CQUFvQkUsS0FBSztJQUN2RDtBQUNKLEdBQUdGLHVCQUF3QkEsQ0FBQUEsc0JBQXNCLENBQUM7QUFDM0MsSUFBSXdCLHFCQUFxQjtBQUMvQixVQUFVQSxvQkFBb0I7SUFDM0IsSUFBSXZCO0lBQ0p1QixxQkFBcUJ0QixLQUFLLEdBQUc7UUFDekIsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTRix3REFBT0EsQ0FBQyxDQUFDSSxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUlKLElBQUlLLFNBQVMsSUFBSSxNQUFNO29CQUN2QkosRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFSyxNQUFNLENBQUNOLElBQUlLLFNBQVM7Z0JBQzFCO2dCQUNBLElBQUlMLElBQUlPLE1BQU0sSUFBSSxNQUFNO29CQUNwQixLQUFLLE1BQU1DLFNBQVNSLElBQUlPLE1BQU0sQ0FBRTt3QkFDNUJOLEVBQUVLLE1BQU0sQ0FBQzt3QkFDVEwsRUFBRUssTUFBTSxDQUFDRTtvQkFDYjtnQkFDSjtnQkFDQSxJQUFJTixLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVRLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDO2dCQUNSLE1BQU1YLE1BQU07b0JBQ1JPLFFBQVEsRUFBRTtnQkFDZDtnQkFDQSxNQUFNSyxNQUFNRCxVQUFVLE9BQU9ELE9BQU9HLEdBQUcsR0FBR0gsT0FBT0ksR0FBRyxHQUFHSDtnQkFDdkQsTUFBT0QsT0FBT0ksR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTCxPQUFPSixNQUFNO29CQUN6QixPQUFRUyxRQUFRO3dCQUNaLEtBQUs7NEJBQ0RmLElBQUlLLFNBQVMsR0FBR0ssT0FBT0osTUFBTTs0QkFDN0I7d0JBQ0osS0FBSzs0QkFDRE4sSUFBSU8sTUFBTSxDQUFDUyxJQUFJLENBQUNOLE9BQU9KLE1BQU07NEJBQzdCO3dCQUNKOzRCQUNJSSxPQUFPTyxRQUFRLENBQUNGLE1BQU07NEJBQ3RCO29CQUNSO2dCQUNKO2dCQUNBLE9BQU9mO1lBQ1g7UUFDSjtRQUNBLE9BQU9GO0lBQ1g7SUFDQXVCLHFCQUFxQkgsTUFBTSxHQUFHLENBQUNsQjtRQUMzQixPQUFPTiw4REFBYUEsQ0FBQ00sS0FBS3FCLHFCQUFxQnRCLEtBQUs7SUFDeEQ7SUFDQXNCLHFCQUFxQkYsTUFBTSxHQUFHLENBQUNDO1FBQzNCLE9BQU96Qiw4REFBYUEsQ0FBQ3lCLEtBQUtDLHFCQUFxQnRCLEtBQUs7SUFDeEQ7QUFDSixHQUFHc0Isd0JBQXlCQSxDQUFBQSx1QkFBdUIsQ0FBQyxLQUNwRCxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2xpYi9tZXRhZGF0YS5qcz8wMTkxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgZW5jb2RlTWVzc2FnZSwgZGVjb2RlTWVzc2FnZSwgbWVzc2FnZSB9IGZyb20gJ3Byb3RvbnMtcnVudGltZSc7XG5leHBvcnQgdmFyIFdha3VNZXRhZGF0YVJlcXVlc3Q7XG4oZnVuY3Rpb24gKFdha3VNZXRhZGF0YVJlcXVlc3QpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFdha3VNZXRhZGF0YVJlcXVlc3QuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmNsdXN0ZXJJZCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgpO1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMihvYmouY2x1c3RlcklkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5zaGFyZHMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5zaGFyZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBzaGFyZHM6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY2x1c3RlcklkID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zaGFyZHMucHVzaChyZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWV0YWRhdGFSZXF1ZXN0LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBXYWt1TWV0YWRhdGFSZXF1ZXN0LmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1ldGFkYXRhUmVxdWVzdC5kZWNvZGUgPSAoYnVmKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1ldGFkYXRhUmVxdWVzdC5jb2RlYygpKTtcbiAgICB9O1xufSkoV2FrdU1ldGFkYXRhUmVxdWVzdCB8fCAoV2FrdU1ldGFkYXRhUmVxdWVzdCA9IHt9KSk7XG5leHBvcnQgdmFyIFdha3VNZXRhZGF0YVJlc3BvbnNlO1xuKGZ1bmN0aW9uIChXYWt1TWV0YWRhdGFSZXNwb25zZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1ldGFkYXRhUmVzcG9uc2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmNsdXN0ZXJJZCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgpO1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMihvYmouY2x1c3RlcklkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5zaGFyZHMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5zaGFyZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBzaGFyZHM6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY2x1c3RlcklkID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zaGFyZHMucHVzaChyZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWV0YWRhdGFSZXNwb25zZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1ldGFkYXRhUmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWV0YWRhdGFSZXNwb25zZS5kZWNvZGUgPSAoYnVmKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1ldGFkYXRhUmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbn0pKFdha3VNZXRhZGF0YVJlc3BvbnNlIHx8IChXYWt1TWV0YWRhdGFSZXNwb25zZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tZXRhZGF0YS5qcy5tYXAiXSwibmFtZXMiOlsiZW5jb2RlTWVzc2FnZSIsImRlY29kZU1lc3NhZ2UiLCJtZXNzYWdlIiwiV2FrdU1ldGFkYXRhUmVxdWVzdCIsIl9jb2RlYyIsImNvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwiY2x1c3RlcklkIiwidWludDMyIiwic2hhcmRzIiwidmFsdWUiLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJwdXNoIiwic2tpcFR5cGUiLCJlbmNvZGUiLCJkZWNvZGUiLCJidWYiLCJXYWt1TWV0YWRhdGFSZXNwb25zZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/proto/dist/lib/metadata.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/proto/dist/lib/peer_exchange.js":
/*!************************************************************!*\
!*** ./node_modules/@waku/proto/dist/lib/peer_exchange.js ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PeerExchangeQuery: () => (/* binding */ PeerExchangeQuery),\n/* harmony export */ PeerExchangeRPC: () => (/* binding */ PeerExchangeRPC),\n/* harmony export */ PeerExchangeResponse: () => (/* binding */ PeerExchangeResponse),\n/* harmony export */ PeerInfo: () => (/* binding */ PeerInfo)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar PeerInfo;\n(function(PeerInfo) {\n let _codec;\n PeerInfo.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.enr != null) {\n w.uint32(10);\n w.bytes(obj.enr);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.enr = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerInfo.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerInfo.codec());\n };\n PeerInfo.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerInfo.codec());\n };\n})(PeerInfo || (PeerInfo = {}));\nvar PeerExchangeQuery;\n(function(PeerExchangeQuery) {\n let _codec;\n PeerExchangeQuery.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.numPeers != null) {\n w.uint32(8);\n w.uint64(obj.numPeers);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.numPeers = reader.uint64();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeQuery.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeQuery.codec());\n };\n PeerExchangeQuery.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeQuery.codec());\n };\n})(PeerExchangeQuery || (PeerExchangeQuery = {}));\nvar PeerExchangeResponse;\n(function(PeerExchangeResponse) {\n let _codec;\n PeerExchangeResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.peerInfos != null) {\n for (const value of obj.peerInfos){\n w.uint32(10);\n PeerInfo.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n peerInfos: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.peerInfos.push(PeerInfo.codec().decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeResponse.codec());\n };\n PeerExchangeResponse.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeResponse.codec());\n };\n})(PeerExchangeResponse || (PeerExchangeResponse = {}));\nvar PeerExchangeRPC;\n(function(PeerExchangeRPC) {\n let _codec;\n PeerExchangeRPC.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.query != null) {\n w.uint32(10);\n PeerExchangeQuery.codec().encode(obj.query, w);\n }\n if (obj.response != null) {\n w.uint32(18);\n PeerExchangeResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.query = PeerExchangeQuery.codec().decode(reader, reader.uint32());\n break;\n case 2:\n obj.response = PeerExchangeResponse.codec().decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeRPC.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeRPC.codec());\n };\n PeerExchangeRPC.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeRPC.codec());\n };\n})(PeerExchangeRPC || (PeerExchangeRPC = {})); //# sourceMappingURL=peer_exchange.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9saWIvcGVlcl9leGNoYW5nZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDZ0I7QUFDakUsSUFBSUcsU0FBUztBQUNuQixVQUFVQSxRQUFRO0lBQ2YsSUFBSUM7SUFDSkQsU0FBU0UsS0FBSyxHQUFHO1FBQ2IsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTRix3REFBT0EsQ0FBQyxDQUFDSSxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUlKLElBQUlLLEdBQUcsSUFBSSxNQUFNO29CQUNqQkosRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFTSxLQUFLLENBQUNQLElBQUlLLEdBQUc7Z0JBQ25CO2dCQUNBLElBQUlILEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRU8sTUFBTTtnQkFDWjtZQUNKLEdBQUcsQ0FBQ0MsUUFBUUM7Z0JBQ1IsTUFBTVYsTUFBTSxDQUFDO2dCQUNiLE1BQU1XLE1BQU1ELFVBQVUsT0FBT0QsT0FBT0csR0FBRyxHQUFHSCxPQUFPSSxHQUFHLEdBQUdIO2dCQUN2RCxNQUFPRCxPQUFPSSxHQUFHLEdBQUdGLElBQUs7b0JBQ3JCLE1BQU1HLE1BQU1MLE9BQU9ILE1BQU07b0JBQ3pCLE9BQVFRLFFBQVE7d0JBQ1osS0FBSzs0QkFDRGQsSUFBSUssR0FBRyxHQUFHSSxPQUFPRixLQUFLOzRCQUN0Qjt3QkFDSjs0QkFDSUUsT0FBT00sUUFBUSxDQUFDRCxNQUFNOzRCQUN0QjtvQkFDUjtnQkFDSjtnQkFDQSxPQUFPZDtZQUNYO1FBQ0o7UUFDQSxPQUFPRjtJQUNYO0lBQ0FELFNBQVNtQixNQUFNLEdBQUcsQ0FBQ2hCO1FB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QU1ELFVBQVUsT0FBT0QsT0FBT0csR0FBRyxHQUFHSCxPQUFPSSxHQUFHLEdBQUdIO2dCQUN2RCxNQUFPRCxPQUFPSSxHQUFHLEdBQUdGLElBQUs7b0JBQ3JCLE1BQU1HLE1BQU1MLE9BQU9ILE1BQU07b0JBQ3pCLE9BQVFRLFFBQVE7d0JBQ1osS0FBSzs0QkFDRGQsSUFBSTJCLEtBQUssR0FBR1Isa0JBQWtCcEIsS0FBSyxHQUFHa0IsTUFBTSxDQUFDUixRQUFRQSxPQUFPSCxNQUFNOzRCQUNsRTt3QkFDSixLQUFLOzRCQUNETixJQUFJNEIsUUFBUSxHQUFHTixxQkFBcUJ2QixLQUFLLEdBQUdrQixNQUFNLENBQUNSLFFBQVFBLE9BQU9ILE1BQU07NEJBQ3hFO3dCQUNKOzRCQUNJRyxPQUFPTSxRQUFRLENBQUNELE1BQU07NEJBQ3RCO29CQUNSO2dCQUNKO2dCQUNBLE9BQU9kO1lBQ1g7UUFDSjtRQUNBLE9BQU9GO0lBQ1g7SUFDQTRCLGdCQUFnQlYsTUFBTSxHQUFHLENBQUNoQjtRQUN0QixPQUFPTiw4REFBYUEsQ0FBQ00sS0FBSzBCLGdCQUFnQjNCLEtBQUs7SUFDbkQ7SUFDQTJCLGdCQUFnQlQsTUFBTSxHQUFHLENBQUNDO1FBQ3RCLE9BQU92Qiw4REFBYUEsQ0FBQ3VCLEtBQUtRLGdCQUFnQjNCLEtBQUs7SUFDbkQ7QUFDSixHQUFHMkIsbUJBQW9CQSxDQUFBQSxrQkFBa0IsQ0FBQyxLQUMxQyx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2xpYi9wZWVyX2V4Y2hhbmdlLmpzPzdjNDMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBlbmNvZGVNZXNzYWdlLCBkZWNvZGVNZXNzYWdlLCBtZXNzYWdlIH0gZnJvbSAncHJvdG9ucy1ydW50aW1lJztcbmV4cG9ydCB2YXIgUGVlckluZm87XG4oZnVuY3Rpb24gKFBlZXJJbmZvKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQZWVySW5mby5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouZW5yICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5lbnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVuciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQZWVySW5mby5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUGVlckluZm8uY29kZWMoKSk7XG4gICAgfTtcbiAgICBQZWVySW5mby5kZWNvZGUgPSAoYnVmKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUGVlckluZm8uY29kZWMoKSk7XG4gICAgfTtcbn0pKFBlZXJJbmZvIHx8IChQZWVySW5mbyA9IHt9KSk7XG5leHBvcnQgdmFyIFBlZXJFeGNoYW5nZVF1ZXJ5O1xuKGZ1bmN0aW9uIChQZWVyRXhjaGFuZ2VRdWVyeSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgUGVlckV4Y2hhbmdlUXVlcnkuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm51bVBlZXJzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDY0KG9iai5udW1QZWVycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVtUGVlcnMgPSByZWFkZXIudWludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFBlZXJFeGNoYW5nZVF1ZXJ5LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBQZWVyRXhjaGFuZ2VRdWVyeS5jb2RlYygpKTtcbiAgICB9O1xuICAgIFBlZXJFeGNoYW5nZVF1ZXJ5LmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQZWVyRXhjaGFuZ2VRdWVyeS5jb2RlYygpKTtcbiAgICB9O1xufSkoUGVlckV4Y2hhbmdlUXVlcnkgfHwgKFBlZXJFeGNoYW5nZVF1ZXJ5ID0ge30pKTtcbmV4cG9ydCB2YXIgUGVlckV4Y2hhbmdlUmVzcG9uc2U7XG4oZnVuY3Rpb24gKFBlZXJFeGNoYW5nZVJlc3BvbnNlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQZWVyRXhjaGFuZ2VSZXNwb25zZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucGVlckluZm9zICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmoucGVlckluZm9zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBQZWVySW5mby5jb2RlYygpLmVuY29kZSh2YWx1ZSwgdyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGVlckluZm9zOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBlZXJJbmZvcy5wdXNoKFBlZXJJbmZvLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFBlZXJFeGNoYW5nZVJlc3BvbnNlLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBQZWVyRXhjaGFuZ2VSZXNwb25zZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIFBlZXJFeGNoYW5nZVJlc3BvbnNlLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQZWVyRXhjaGFuZ2VSZXNwb25zZS5jb2RlYygpKTtcbiAgICB9O1xufSkoUGVlckV4Y2hhbmdlUmVzcG9uc2UgfHwgKFBlZXJFeGNoYW5nZVJlc3BvbnNlID0ge30pKTtcbmV4cG9ydCB2YXIgUGVlckV4Y2hhbmdlUlBDO1xuKGZ1bmN0aW9uIChQZWVyRXhjaGFuZ2VSUEMpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFBlZXJFeGNoYW5nZVJQQy5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucXVlcnkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIFBlZXJFeGNoYW5nZVF1ZXJ5LmNvZGVjKCkuZW5jb2RlKG9iai5xdWVyeSwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmVzcG9uc2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIFBlZXJFeGNoYW5nZVJlc3BvbnNlLmNvZGVjKCkuZW5jb2RlKG9iai5yZXNwb25zZSwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucXVlcnkgPSBQZWVyRXhjaGFuZ2VRdWVyeS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlc3BvbnNlID0gUGVlckV4Y2hhbmdlUmVzcG9uc2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQZWVyRXhjaGFuZ2VSUEMuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFBlZXJFeGNoYW5nZVJQQy5jb2RlYygpKTtcbiAgICB9O1xuICAgIFBlZXJFeGNoYW5nZVJQQy5kZWNvZGUgPSAoYnVmKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUGVlckV4Y2hhbmdlUlBDLmNvZGVjKCkpO1xuICAgIH07XG59KShQZWVyRXhjaGFuZ2VSUEMgfHwgKFBlZXJFeGNoYW5nZVJQQyA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wZWVyX2V4Y2hhbmdlLmpzLm1hcCJdLCJuYW1lcyI6WyJlbmNvZGVNZXNzYWdlIiwiZGVjb2RlTWVzc2FnZSIsIm1lc3NhZ2UiLCJQZWVySW5mbyIsIl9jb2RlYyIsImNvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwiZW5yIiwidWludDMyIiwiYnl0ZXMiLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJza2lwVHlwZSIsImVuY29kZSIsImRlY29kZSIsImJ1ZiIsIlBlZXJFeGNoYW5nZVF1ZXJ5IiwibnVtUGVlcnMiLCJ1aW50NjQiLCJQZWVyRXhjaGFuZ2VSZXNwb25zZSIsInBlZXJJbmZvcyIsInZhbHVlIiwicHVzaCIsIlBlZXJFeGNoYW5nZVJQQyIsInF1ZXJ5IiwicmVzcG9uc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/proto/dist/lib/peer_exchange.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/proto/dist/lib/store.js":
/*!****************************************************!*\
!*** ./node_modules/@waku/proto/dist/lib/store.js ***!
\****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContentFilter: () => (/* binding */ ContentFilter),\n/* harmony export */ HistoryQuery: () => (/* binding */ HistoryQuery),\n/* harmony export */ HistoryResponse: () => (/* binding */ HistoryResponse),\n/* harmony export */ HistoryRpc: () => (/* binding */ HistoryRpc),\n/* harmony export */ Index: () => (/* binding */ Index),\n/* harmony export */ PagingInfo: () => (/* binding */ PagingInfo),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar Index;\n(function(Index) {\n let _codec;\n Index.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.digest != null && obj.digest.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.digest);\n }\n if (obj.receiverTime != null && obj.receiverTime !== 0n) {\n w.uint32(16);\n w.sint64(obj.receiverTime);\n }\n if (obj.senderTime != null && obj.senderTime !== 0n) {\n w.uint32(24);\n w.sint64(obj.senderTime);\n }\n if (obj.pubsubTopic != null && obj.pubsubTopic !== \"\") {\n w.uint32(34);\n w.string(obj.pubsubTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n digest: new Uint8Array(0),\n receiverTime: 0n,\n senderTime: 0n,\n pubsubTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.digest = reader.bytes();\n break;\n case 2:\n obj.receiverTime = reader.sint64();\n break;\n case 3:\n obj.senderTime = reader.sint64();\n break;\n case 4:\n obj.pubsubTopic = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n Index.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, Index.codec());\n };\n Index.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, Index.codec());\n };\n})(Index || (Index = {}));\nvar PagingInfo;\n(function(PagingInfo) {\n let Direction;\n (function(Direction) {\n Direction[\"BACKWARD\"] = \"BACKWARD\";\n Direction[\"FORWARD\"] = \"FORWARD\";\n })(Direction = PagingInfo.Direction || (PagingInfo.Direction = {}));\n let __DirectionValues;\n (function(__DirectionValues) {\n __DirectionValues[__DirectionValues[\"BACKWARD\"] = 0] = \"BACKWARD\";\n __DirectionValues[__DirectionValues[\"FORWARD\"] = 1] = \"FORWARD\";\n })(__DirectionValues || (__DirectionValues = {}));\n (function(Direction) {\n Direction.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__DirectionValues);\n };\n })(Direction = PagingInfo.Direction || (PagingInfo.Direction = {}));\n let _codec;\n PagingInfo.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pageSize != null) {\n w.uint32(8);\n w.uint64(obj.pageSize);\n }\n if (obj.cursor != null) {\n w.uint32(18);\n Index.codec().encode(obj.cursor, w);\n }\n if (obj.direction != null) {\n w.uint32(24);\n PagingInfo.Direction.codec().encode(obj.direction, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.pageSize = reader.uint64();\n break;\n case 2:\n obj.cursor = Index.codec().decode(reader, reader.uint32());\n break;\n case 3:\n obj.direction = PagingInfo.Direction.codec().decode(reader);\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PagingInfo.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PagingInfo.codec());\n };\n PagingInfo.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PagingInfo.codec());\n };\n})(PagingInfo || (PagingInfo = {}));\nvar ContentFilter;\n(function(ContentFilter) {\n let _codec;\n ContentFilter.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(10);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.contentTopic = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n ContentFilter.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, ContentFilter.codec());\n };\n ContentFilter.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, ContentFilter.codec());\n };\n})(ContentFilter || (ContentFilter = {}));\nvar HistoryQuery;\n(function(HistoryQuery) {\n let _codec;\n HistoryQuery.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pubsubTopic != null) {\n w.uint32(18);\n w.string(obj.pubsubTopic);\n }\n if (obj.contentFilters != null) {\n for (const value of obj.contentFilters){\n w.uint32(26);\n ContentFilter.codec().encode(value, w);\n }\n }\n if (obj.pagingInfo != null) {\n w.uint32(34);\n PagingInfo.codec().encode(obj.pagingInfo, w);\n }\n if (obj.startTime != null) {\n w.uint32(40);\n w.sint64(obj.startTime);\n }\n if (obj.endTime != null) {\n w.uint32(48);\n w.sint64(obj.endTime);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n contentFilters: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n obj.pubsubTopic = reader.string();\n break;\n case 3:\n obj.contentFilters.push(ContentFilter.codec().decode(reader, reader.uint32()));\n break;\n case 4:\n obj.pagingInfo = PagingInfo.codec().decode(reader, reader.uint32());\n break;\n case 5:\n obj.startTime = reader.sint64();\n break;\n case 6:\n obj.endTime = reader.sint64();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryQuery.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryQuery.codec());\n };\n HistoryQuery.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryQuery.codec());\n };\n})(HistoryQuery || (HistoryQuery = {}));\nvar HistoryResponse;\n(function(HistoryResponse) {\n let HistoryError;\n (function(HistoryError) {\n HistoryError[\"NONE\"] = \"NONE\";\n HistoryError[\"INVALID_CURSOR\"] = \"INVALID_CURSOR\";\n })(HistoryError = HistoryResponse.HistoryError || (HistoryResponse.HistoryError = {}));\n let __HistoryErrorValues;\n (function(__HistoryErrorValues) {\n __HistoryErrorValues[__HistoryErrorValues[\"NONE\"] = 0] = \"NONE\";\n __HistoryErrorValues[__HistoryErrorValues[\"INVALID_CURSOR\"] = 1] = \"INVALID_CURSOR\";\n })(__HistoryErrorValues || (__HistoryErrorValues = {}));\n (function(HistoryError) {\n HistoryError.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__HistoryErrorValues);\n };\n })(HistoryError = HistoryResponse.HistoryError || (HistoryResponse.HistoryError = {}));\n let _codec;\n HistoryResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.messages != null) {\n for (const value of obj.messages){\n w.uint32(18);\n WakuMessage.codec().encode(value, w);\n }\n }\n if (obj.pagingInfo != null) {\n w.uint32(26);\n PagingInfo.codec().encode(obj.pagingInfo, w);\n }\n if (obj.error != null && __HistoryErrorValues[obj.error] !== 0) {\n w.uint32(32);\n HistoryResponse.HistoryError.codec().encode(obj.error, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n messages: [],\n error: HistoryError.NONE\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n obj.messages.push(WakuMessage.codec().decode(reader, reader.uint32()));\n break;\n case 3:\n obj.pagingInfo = PagingInfo.codec().decode(reader, reader.uint32());\n break;\n case 4:\n obj.error = HistoryResponse.HistoryError.codec().decode(reader);\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryResponse.codec());\n };\n HistoryResponse.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryResponse.codec());\n };\n})(HistoryResponse || (HistoryResponse = {}));\nvar HistoryRpc;\n(function(HistoryRpc) {\n let _codec;\n HistoryRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.query != null) {\n w.uint32(18);\n HistoryQuery.codec().encode(obj.query, w);\n }\n if (obj.response != null) {\n w.uint32(26);\n HistoryResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.requestId = reader.string();\n break;\n case 2:\n obj.query = HistoryQuery.codec().decode(reader, reader.uint32());\n break;\n case 3:\n obj.response = HistoryResponse.codec().decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryRpc.codec());\n };\n HistoryRpc.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryRpc.codec());\n };\n})(HistoryRpc || (HistoryRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n proof: new Uint8Array(0),\n merkleRoot: new Uint8Array(0),\n epoch: new Uint8Array(0),\n shareX: new Uint8Array(0),\n shareY: new Uint8Array(0),\n nullifier: new Uint8Array(0),\n rlnIdentifier: new Uint8Array(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.proof = reader.bytes();\n break;\n case 2:\n obj.merkleRoot = reader.bytes();\n break;\n case 3:\n obj.epoch = reader.bytes();\n break;\n case 4:\n obj.shareX = reader.bytes();\n break;\n case 5:\n obj.shareY = reader.bytes();\n break;\n case 6:\n obj.nullifier = reader.bytes();\n break;\n case 7:\n obj.rlnIdentifier = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec());\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n payload: new Uint8Array(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.payload = reader.bytes();\n break;\n case 2:\n obj.contentTopic = reader.string();\n break;\n case 3:\n obj.version = reader.uint32();\n break;\n case 10:\n obj.timestamp = reader.sint64();\n break;\n case 11:\n obj.meta = reader.bytes();\n break;\n case 21:\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32());\n break;\n case 31:\n obj.ephemeral = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec());\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9saWIvc3RvcmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsZ0NBQWdDLEdBQ2hDLDZCQUE2QixHQUM3QixrREFBa0QsR0FDbEQsNEVBQTRFLEdBQzVFLHdEQUF3RCxHQUM2QjtBQUM5RSxJQUFJSSxNQUFNO0FBQ2hCLFVBQVVBLEtBQUs7SUFDWixJQUFJQztJQUNKRCxNQUFNRSxLQUFLLEdBQUc7UUFDVixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNILHdEQUFPQSxDQUFDLENBQUNLLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSUssTUFBTSxJQUFJLFFBQVFMLElBQUlLLE1BQU0sQ0FBQ0MsVUFBVSxHQUFHLEdBQUk7b0JBQ25ETCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVPLEtBQUssQ0FBQ1IsSUFBSUssTUFBTTtnQkFDdEI7Z0JBQ0EsSUFBS0wsSUFBSVMsWUFBWSxJQUFJLFFBQVFULElBQUlTLFlBQVksS0FBSyxFQUFFLEVBQUc7b0JBQ3ZEUixFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVTLE1BQU0sQ0FBQ1YsSUFBSVMsWUFBWTtnQkFDN0I7Z0JBQ0EsSUFBS1QsSUFBSVcsVUFBVSxJQUFJLFFBQVFYLElBQUlXLFVBQVUsS0FBSyxFQUFFLEVBQUc7b0JBQ25EVixFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVTLE1BQU0sQ0FBQ1YsSUFBSVcsVUFBVTtnQkFDM0I7Z0JBQ0EsSUFBS1gsSUFBSVksV0FBVyxJQUFJLFFBQVFaLElBQUlZLFdBQVcsS0FBSyxJQUFLO29CQUNyRFgsRUFBRU0sTUFBTSxDQUFDO29CQUNUTixFQUFFWSxNQUFNLENBQUNiLElBQUlZLFdBQVc7Z0JBQzVCO2dCQUNBLElBQUlWLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRWEsTUFBTTtnQkFDWjtZQUNKLEdBQUcsQ0FBQ0MsUUFBUUM7Z0JBQ1IsTUFBTWhCLE1BQU07b0JBQ1JLLFFBQVEsSUFBSVksV0FBVztvQkFDdkJSLGNBQWMsRUFBRTtvQkFDaEJFLFlBQVksRUFBRTtvQkFDZEMsYUFBYTtnQkFDakI7Z0JBQ0EsTUFBTU0sTUFBTUYsVUFBVSxPQUFPRCxPQUFPSSxHQUFHLEdBQUdKLE9BQU9LLEdBQUcsR0FBR0o7Z0JBQ3ZELE1BQU9ELE9BQU9LLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFBTUcsTUFBTU4sT0FBT1IsTUFBTTtvQkFDekIsT0FBUWMsUUFBUTt3QkFDWixLQUFLOzRCQUNEckIsSUFBSUssTUFBTSxHQUFHVSxPQUFPUCxLQUFLOzRCQUN6Qjt3QkFDSixLQUFLOzRCQUNEUixJQUFJUyxZQUFZLEdBQUdNLE9BQU9MLE1BQU07NEJBQ2hDO3dCQUNKLEtBQUs7NEJBQ0RWLElBQUlXLFVBQVUsR0FBR0ksT0FBT0wsTUFBTTs0QkFDOUI7d0JBQ0osS0FBSzs0QkFDRFYsSUFBSVksV0FBVyxHQUFHRyxPQUFPRixNQUFNOzRCQUMvQjt3QkFDSjs0QkFDSUUsT0FBT08sUUFBUSxDQUFDRCxNQUFNOzRCQUN0QjtvQkFDUjtnQkFDSjtnQkFDQSxPQUFPckI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBRCxNQUFNMEIsTUFBTSxHQUFHLENBQUN2QjtRQUNaLE9BQU9QLDhEQUFhQSxDQUFDTyxLQUFLSCxNQUFNRSxLQUFLO0lBQ3pDO0lBQ0FGLE1BQU0yQixNQUFNLEdBQUcsQ0FBQ0M7UUFDWixPQUFPL0IsOERBQWFBLENBQUMrQixLQUFLNUIsTUFBTUUsS0FBSztJQUN6QztBQUNKLEdBQUdGLFNBQVVBLENBQUFBLFFBQVEsQ0FBQztBQUNmLElBQUk2QixXQUFXO0FBQ3JCLFVBQVVBLFVBQVU7SUFDakIsSUFBSUM7SUFDSCxVQUFVQSxTQUFTO1FBQ2hCQSxTQUFTLENBQUMsV0FBVyxHQUFHO1FBQ3hCQSxTQUFTLENBQUMsVUFBVSxHQUFHO0lBQzNCLEdBQUdBLFlBQVlELFdBQVdDLFNBQVMsSUFBS0QsQ0FBQUEsV0FBV0MsU0FBUyxHQUFHLENBQUM7SUFDaEUsSUFBSUM7SUFDSCxVQUFVQSxpQkFBaUI7UUFDeEJBLGlCQUFpQixDQUFDQSxpQkFBaUIsQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHO1FBQ3ZEQSxpQkFBaUIsQ0FBQ0EsaUJBQWlCLENBQUMsVUFBVSxHQUFHLEVBQUUsR0FBRztJQUMxRCxHQUFHQSxxQkFBc0JBLENBQUFBLG9CQUFvQixDQUFDO0lBQzdDLFVBQVVELFNBQVM7UUFDaEJBLFVBQVU1QixLQUFLLEdBQUc7WUFDZCxPQUFPSCw0REFBV0EsQ0FBQ2dDO1FBQ3ZCO0lBQ0osR0FBR0QsWUFBWUQsV0FBV0MsU0FBUyxJQUFLRCxDQUFBQSxXQUFXQyxTQUFTLEdBQUcsQ0FBQztJQUNoRSxJQUFJN0I7SUFDSjRCLFdBQVczQixLQUFLLEdBQUc7UUFDZixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNILHdEQUFPQSxDQUFDLENBQUNLLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBSUosSUFBSTZCLFFBQVEsSUFBSSxNQUFNO29CQUN0QjVCLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRTZCLE1BQU0sQ0FBQzlCLElBQUk2QixRQUFRO2dCQUN6QjtnQkFDQSxJQUFJN0IsSUFBSStCLE1BQU0sSUFBSSxNQUFNO29CQUNwQjlCLEVBQUVNLE1BQU0sQ0FBQztvQkFDVFYsTUFBTUUsS0FBSyxHQUFHd0IsTUFBTSxDQUFDdkIsSUFBSStCLE1BQU0sRUFBRTlCO2dCQUNyQztnQkFDQSxJQUFJRCxJQUFJZ0MsU0FBUyxJQUFJLE1BQU07b0JBQ3ZCL0IsRUFBRU0sTUFBTSxDQUFDO29CQUNUbUIsV0FBV0MsU0FBUyxDQUFDNUIsS0FBSyxHQUFHd0IsTUFBTSxDQUFDdkIsSUFBSWdDLFNBQVMsRUFBRS9CO2dCQUN2RDtnQkFDQSxJQUFJQyxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVhLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDO2dCQUNSLE1BQU1oQixNQUFNLENBQUM7Z0JBQ2IsTUFBTWtCLE1BQU1GLFVBQVUsT0FBT0QsT0FBT0ksR0FBRyxHQUFHSixPQUFPSyxHQUFHLEdBQUdKO2dCQUN2RCxNQUFPRCxPQUFPSyxHQUFHLEdBQUdGLElBQUs7b0JBQ3JCLE1BQU1HLE1BQU1OLE9BQU9SLE1BQU07b0JBQ3pCLE9BQVFjLFFBQVE7d0JBQ1osS0FBSzs0QkFDRHJCLElBQUk2QixRQUFRLEdBQUdkLE9BQU9lLE1BQU07NEJBQzVCO3dCQUNKLEtBQUs7NEJBQ0Q5QixJQUFJK0IsTUFBTSxHQUFHbEMsTUFBTUUsS0FBSyxHQUFHeUIsTUFBTSxDQUFDVCxRQUFRQSxPQUFPUixNQUFNOzRCQUN2RDt3QkFDSixLQUFLOzRCQUNEUCxJQUFJZ0MsU0FBUyxHQUFHTixXQUFXQyxTQUFTLENBQUM1QixLQUFLLEdBQUd5QixNQUFNLENBQUNUOzRCQUNwRDt3QkFDSjs0QkFDSUEsT0FBT08sUUFBUSxDQUFDRCxNQUFNOzRCQUN0QjtvQkFDUjtnQkFDSjtnQkFDQSxPQUFPckI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBNEIsV0FBV0gsTUFBTSxHQUFHLENBQUN2QjtRQUNqQixPQUFPUCw4REFBYUEsQ0FBQ08sS0FBSzBCLFdBQVczQixLQUFLO0lBQzlDO0lBQ0EyQixXQUFXRixNQUFNLEdBQUcsQ0FBQ0M7UUFDakIsT0FBTy9CLDhEQUFhQSxDQUFDK0IsS0FBS0MsV0FBVzNCLEtBQUs7SUFDOUM7QUFDSixHQUFHMkIsY0FBZUEsQ0FBQUEsYUFBYSxDQUFDO0FBQ3pCLElBQUlPLGNBQWM7QUFDeEIsVUFBVUEsYUFBYTtJQUNwQixJQUFJbkM7SUFDSm1DLGNBQWNsQyxLQUFLLEdBQUc7UUFDbEIsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTSCx3REFBT0EsQ0FBQyxDQUFDSyxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUtKLElBQUlrQyxZQUFZLElBQUksUUFBUWxDLElBQUlrQyxZQUFZLEtBQUssSUFBSztvQkFDdkRqQyxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVZLE1BQU0sQ0FBQ2IsSUFBSWtDLFlBQVk7Z0JBQzdCO2dCQUNBLElBQUloQyxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVhLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDO2dCQUNSLE1BQU1oQixNQUFNO29CQUNSa0MsY0FBYztnQkFDbEI7Z0JBQ0EsTUFBTWhCLE1BQU1GLFVBQVUsT0FBT0QsT0FBT0ksR0FBRyxHQUFHSixPQUFPSyxHQUFHLEdBQUdKO2dCQUN2RCxNQUFPRCxPQUFPSyxHQUFHLEdBQUdGLElBQUs7b0JBQ3JCLE1BQU1HLE1BQU1OLE9BQU9SLE1BQU07b0JBQ3pCLE9BQVFjLFFBQVE7d0JBQ1osS0FBSzs0QkFDRHJCLElBQUlrQyxZQUFZLEdBQUduQixPQUFPRixNQUFNOzRCQUNoQzt3QkFDSjs0QkFDSUUsT0FBT08sUUFBUSxDQUFDRCxNQUFNOzRCQUN0QjtvQkFDUjtnQkFDSjtnQkFDQSxPQUFPckI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBbUMsY0FBY1YsTUFBTSxHQUFHLENBQUN2QjtRQUNwQixPQUFPUCw4REFBYUEsQ0FBQ08sS0FBS2lDLGNBQWNsQyxLQUFLO0lBQ2pEO0lBQ0FrQyxjQUFjVCxNQUFNLEdBQUcsQ0FBQ0M7UUFDcEIsT0FBTy9CLDhEQUFhQSxDQUFDK0IsS0FBS1EsY0FBY2xDLEtBQUs7SUFDakQ7QUFDSixHQUFHa0MsaUJBQWtCQSxDQUFBQSxnQkFBZ0IsQ0FBQztBQUMvQixJQUFJRSxhQUFhO0FBQ3ZCLFVBQVVBLFlBQVk7SUFDbkIsSUFBSXJDO0lBQ0pxQyxhQUFhcEMsS0FBSyxHQUFHO1FBQ2pCLElBQUlELFVBQVUsTUFBTTtZQUNoQkEsU0FBU0gsd0RBQU9BLENBQUMsQ0FBQ0ssS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFJSixJQUFJWSxXQUFXLElBQUksTUFBTTtvQkFDekJYLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRVksTUFBTSxDQUFDYixJQUFJWSxXQUFXO2dCQUM1QjtnQkFDQSxJQUFJWixJQUFJb0MsY0FBYyxJQUFJLE1BQU07b0JBQzVCLEtBQUssTUFBTUMsU0FBU3JDLElBQUlvQyxjQUFjLENBQUU7d0JBQ3BDbkMsRUFBRU0sTUFBTSxDQUFDO3dCQUNUMEIsY0FBY2xDLEtBQUssR0FBR3dCLE1BQU0sQ0FBQ2MsT0FBT3BDO29CQUN4QztnQkFDSjtnQkFDQSxJQUFJRCxJQUFJc0MsVUFBVSxJQUFJLE1BQU07b0JBQ3hCckMsRUFBRU0sTUFBTSxDQUFDO29CQUNUbUIsV0FBVzNCLEtBQUssR0FBR3dCLE1BQU0sQ0FBQ3ZCLElBQUlzQyxVQUFVLEVBQUVyQztnQkFDOUM7Z0JBQ0EsSUFBSUQsSUFBSXVDLFNBQVMsSUFBSSxNQUFNO29CQUN2QnRDLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRVMsTUFBTSxDQUFDVixJQUFJdUMsU0FBUztnQkFDMUI7Z0JBQ0EsSUFBSXZDLElBQUl3QyxPQUFPLElBQUksTUFBTTtvQkFDckJ2QyxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVTLE1BQU0sQ0FBQ1YsSUFBSXdDLE9BQU87Z0JBQ3hCO2dCQUNBLElBQUl0QyxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVhLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDO2dCQUNSLE1BQU1oQixNQUFNO29CQUNSb0MsZ0JBQWdCLEVBQUU7Z0JBQ3RCO2dCQUNBLE1BQU1sQixNQUFNRixVQUFVLE9BQU9ELE9BQU9JLEdBQUcsR0FBR0osT0FBT0ssR0FBRyxHQUFHSjtnQkFDdkQsTUFBT0QsT0FBT0ssR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTixPQUFPUixNQUFNO29CQUN6QixPQUFRYyxRQUFRO3dCQUNaLEtBQUs7NEJBQ0RyQixJQUFJWSxXQUFXLEdBQUdHLE9BQU9GLE1BQU07NEJBQy9CO3dCQUNKLEtBQUs7NEJBQ0RiLElBQUlvQyxjQUFjLENBQUNLLElBQUksQ0FBQ1IsY0FBY2xDLEtBQUssR0FBR3lCLE1BQU0sQ0FBQ1QsUUFBUUEsT0FBT1IsTUFBTTs0QkFDMUU7d0JBQ0osS0FBSzs0QkFDRFAsSUFBSXNDLFVBQVUsR0FBR1osV0FBVzNCLEtBQUssR0FBR3lCLE1BQU0sQ0FBQ1QsUUFBUUEsT0FBT1IsTUFBTTs0QkFDaEU7d0JBQ0osS0FBSzs0QkFDRFAsSUFBSXVDLFNBQVMsR0FBR3hCLE9BQU9MLE1BQU07NEJBQzdCO3dCQUNKLEtBQUs7NEJBQ0RWLElBQUl3QyxPQUFPLEdBQUd6QixPQUFPTCxNQUFNOzRCQUMzQjt3QkFDSjs0QkFDSUssT0FBT08sUUFBUSxDQUFDRCxNQUFNOzRCQUN0QjtvQkFDUjtnQkFDSjtnQkFDQSxPQUFPckI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBcUMsYUFBYVosTUFBTSxHQUFHLENBQUN2QjtRQUNuQixPQUFPUCw4REFBYUEsQ0FBQ08sS0FBS21DLGFBQWFwQyxLQUFLO0lBQ2hEO0lBQ0FvQyxhQUFhWCxNQUFNLEdBQUcsQ0FBQ0M7UUFDbkIsT0FBTy9CLDhEQUFhQSxDQUFDK0IsS0FBS1UsYUFBYXBDLEtBQUs7SUFDaEQ7QUFDSixHQUFHb0MsZ0JBQWlCQSxDQUFBQSxlQUFlLENBQUM7QUFDN0IsSUFBSU8sZ0JBQWdCO0FBQzFCLFVBQVVBLGVBQWU7SUFDdEIsSUFBSUM7SUFDSCxVQUFVQSxZQUFZO1FBQ25CQSxZQUFZLENBQUMsT0FBTyxHQUFHO1FBQ3ZCQSxZQUFZLENBQUMsaUJBQWlCLEdBQUc7SUFDckMsR0FBR0EsZUFBZUQsZ0JBQWdCQyxZQUFZLElBQUtELENBQUFBLGdCQUFnQkMsWUFBWSxHQUFHLENBQUM7SUFDbkYsSUFBSUM7SUFDSCxVQUFVQSxvQkFBb0I7UUFDM0JBLG9CQUFvQixDQUFDQSxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHO1FBQ3pEQSxvQkFBb0IsQ0FBQ0Esb0JBQW9CLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxHQUFHO0lBQ3ZFLEdBQUdBLHdCQUF5QkEsQ0FBQUEsdUJBQXVCLENBQUM7SUFDbkQsVUFBVUQsWUFBWTtRQUNuQkEsYUFBYTVDLEtBQUssR0FBRztZQUNqQixPQUFPSCw0REFBV0EsQ0FBQ2dEO1FBQ3ZCO0lBQ0osR0FBR0QsZUFBZUQsZ0JBQWdCQyxZQUFZLElBQUtELENBQUFBLGdCQUFnQkMsWUFBWSxHQUFHLENBQUM7SUFDbkYsSUFBSTdDO0lBQ0o0QyxnQkFBZ0IzQyxLQUFLLEdBQUc7UUFDcEIsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTSCx3REFBT0EsQ0FBQyxDQUFDSyxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUlKLElBQUk2QyxRQUFRLElBQUksTUFBTTtvQkFDdEIsS0FBSyxNQUFNUixTQUFTckMsSUFBSTZDLFFBQVEsQ0FBRTt3QkFDOUI1QyxFQUFFTSxNQUFNLENBQUM7d0JBQ1R1QyxZQUFZL0MsS0FBSyxHQUFHd0IsTUFBTSxDQUFDYyxPQUFPcEM7b0JBQ3RDO2dCQUNKO2dCQUNBLElBQUlELElBQUlzQyxVQUFVLElBQUksTUFBTTtvQkFDeEJyQyxFQUFFTSxNQUFNLENBQUM7b0JBQ1RtQixXQUFXM0IsS0FBSyxHQUFHd0IsTUFBTSxDQUFDdkIsSUFBSXNDLFVBQVUsRUFBRXJDO2dCQUM5QztnQkFDQSxJQUFJRCxJQUFJK0MsS0FBSyxJQUFJLFFBQVFILG9CQUFvQixDQUFDNUMsSUFBSStDLEtBQUssQ0FBQyxLQUFLLEdBQUc7b0JBQzVEOUMsRUFBRU0sTUFBTSxDQUFDO29CQUNUbUMsZ0JBQWdCQyxZQUFZLENBQUM1QyxLQUFLLEdBQUd3QixNQUFNLENBQUN2QixJQUFJK0MsS0FBSyxFQUFFOUM7Z0JBQzNEO2dCQUNBLElBQUlDLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRWEsTUFBTTtnQkFDWjtZQUNKLEdBQUcsQ0FBQ0MsUUFBUUM7Z0JBQ1IsTUFBTWhCLE1BQU07b0JBQ1I2QyxVQUFVLEVBQUU7b0JBQ1pFLE9BQU9KLGFBQWFLLElBQUk7Z0JBQzVCO2dCQUNBLE1BQU05QixNQUFNRixVQUFVLE9BQU9ELE9BQU9JLEdBQUcsR0FBR0osT0FBT0ssR0FBRyxHQUFHSjtnQkFDdkQsTUFBT0QsT0FBT0ssR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTixPQUFPUixNQUFNO29CQUN6QixPQUFRYyxRQUFRO3dCQUNaLEtBQUs7NEJBQ0RyQixJQUFJNkMsUUFBUSxDQUFDSixJQUFJLENBQUNLLFlBQVkvQyxLQUFLLEdBQUd5QixNQUFNLENBQUNULFFBQVFBLE9BQU9SLE1BQU07NEJBQ2xFO3dCQUNKLEtBQUs7NEJBQ0RQLElBQUlzQyxVQUFVLEdBQUdaLFdBQVczQixLQUFLLEdBQUd5QixNQUFNLENBQUNULFFBQVFBLE9BQU9SLE1BQU07NEJBQ2hFO3dCQUNKLEtBQUs7NEJBQ0RQLElBQUkrQyxLQUFLLEdBQUdMLGdCQUFnQkMsWUFBWSxDQUFDNUMsS0FBSyxHQUFHeUIsTUFBTSxDQUFDVDs0QkFDeEQ7d0JBQ0o7NEJBQ0lBLE9BQU9PLFFBQVEsQ0FBQ0QsTUFBTTs0QkFDdEI7b0JBQ1I7Z0JBQ0o7Z0JBQ0EsT0FBT3JCO1lBQ1g7UUFDSjtRQUNBLE9BQU9GO0lBQ1g7SUFDQTRDLGdCQUFnQm5CLE1BQU0sR0FBRyxDQUFDdkI7UUFDdEIsT0FBT1AsOERBQWFBLENBQUNPLEtBQUswQyxnQkFBZ0IzQyxLQUFLO0lBQ25EO0lBQ0EyQyxnQkFBZ0JsQixNQUFNLEdBQUcsQ0FBQ0M7UUFDdEIsT0FBTy9CLDhEQUFhQSxDQUFDK0IsS0FBS2lCLGdCQUFnQjNDLEtBQUs7SUFDbkQ7QUFDSixHQUFHMkMsbUJBQW9CQSxDQUFBQSxrQkFBa0IsQ0FBQztBQUNuQyxJQUFJTyxXQUFXO0FBQ3JCLFVBQVVBLFVBQVU7SUFDakIsSUFBSW5EO0lBQ0ptRCxXQUFXbEQsS0FBSyxHQUFHO1FBQ2YsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTSCx3REFBT0EsQ0FBQyxDQUFDSyxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUtKLElBQUlrRCxTQUFTLElBQUksUUFBUWxELElBQUlrRCxTQUFTLEtBQUssSUFBSztvQkFDakRqRCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVZLE1BQU0sQ0FBQ2IsSUFBSWtELFNBQVM7Z0JBQzFCO2dCQUNBLElBQUlsRCxJQUFJbUQsS0FBSyxJQUFJLE1BQU07b0JBQ25CbEQsRUFBRU0sTUFBTSxDQUFDO29CQUNUNEIsYUFBYXBDLEtBQUssR0FBR3dCLE1BQU0sQ0FBQ3ZCLElBQUltRCxLQUFLLEVBQUVsRDtnQkFDM0M7Z0JBQ0EsSUFBSUQsSUFBSW9ELFFBQVEsSUFBSSxNQUFNO29CQUN0Qm5ELEVBQUVNLE1BQU0sQ0FBQztvQkFDVG1DLGdCQUFnQjNDLEtBQUssR0FBR3dCLE1BQU0sQ0FBQ3ZCLElBQUlvRCxRQUFRLEVBQUVuRDtnQkFDakQ7Z0JBQ0EsSUFBSUMsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFYSxNQUFNO2dCQUNaO1lBQ0osR0FBRyxDQUFDQyxRQUFRQztnQkFDUixNQUFNaEIsTUFBTTtvQkFDUmtELFdBQVc7Z0JBQ2Y7Z0JBQ0EsTUFBTWhDLE1BQU1GLFVBQVUsT0FBT0QsT0FBT0ksR0FBRyxHQUFHSixPQUFPSyxHQUFHLEdBQUdKO2dCQUN2RCxNQUFPRCxPQUFPSyxHQUFHLEdBQUdGLElBQUs7b0JBQ3JCLE1BQU1HLE1BQU1OLE9BQU9SLE1BQU07b0JBQ3pCLE9BQVFjLFFBQVE7d0JBQ1osS0FBSzs0QkFDRHJCLElBQUlrRCxTQUFTLEdBQUduQyxPQUFPRixNQUFNOzRCQUM3Qjt3QkFDSixLQUFLOzRCQUNEYixJQUFJbUQsS0FBSyxHQUFHaEIsYUFBYXBDLEtBQUssR0FBR3lCLE1BQU0sQ0FBQ1QsUUFBUUEsT0FBT1IsTUFBTTs0QkFDN0Q7d0JBQ0osS0FBSzs0QkFDRFAsSUFBSW9ELFFBQVEsR0FBR1YsZ0JBQWdCM0MsS0FBSyxHQUFHeUIsTUFBTSxDQUFDVCxRQUFRQSxPQUFPUixNQUFNOzRCQUNuRTt3QkFDSjs0QkFDSVEsT0FBT08sUUFBUSxDQUFDRCxNQUFNOzRCQUN0QjtvQkFDUjtnQkFDSjtnQkFDQSxPQUFPckI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBbUQsV0FBVzFCLE1BQU0sR0FBRyxDQUFDdkI7UUFDakIsT0FBT1AsOERBQWFBLENBQUNPLEtBQUtpRCxXQUFXbEQsS0FBSztJQUM5QztJQUNBa0QsV0FBV3pCLE1BQU0sR0FBRyxDQUFDQztRQUNqQixPQUFPL0IsOERBQWFBLENBQUMrQixLQUFLd0IsV0FBV2xELEtBQUs7SUFDOUM7QUFDSixHQUFHa0QsY0FBZUEsQ0FBQUEsYUFBYSxDQUFDO0FBQ3pCLElBQUlJLGVBQWU7QUFDekIsVUFBVUEsY0FBYztJQUNyQixJQUFJdkQ7SUFDSnVELGVBQWV0RCxLQUFLLEdBQUc7UUFDbkIsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTSCx3REFBT0EsQ0FBQyxDQUFDSyxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUtKLElBQUlzRCxLQUFLLElBQUksUUFBUXRELElBQUlzRCxLQUFLLENBQUNoRCxVQUFVLEdBQUcsR0FBSTtvQkFDakRMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJc0QsS0FBSztnQkFDckI7Z0JBQ0EsSUFBS3RELElBQUl1RCxVQUFVLElBQUksUUFBUXZELElBQUl1RCxVQUFVLENBQUNqRCxVQUFVLEdBQUcsR0FBSTtvQkFDM0RMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJdUQsVUFBVTtnQkFDMUI7Z0JBQ0EsSUFBS3ZELElBQUl3RCxLQUFLLElBQUksUUFBUXhELElBQUl3RCxLQUFLLENBQUNsRCxVQUFVLEdBQUcsR0FBSTtvQkFDakRMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJd0QsS0FBSztnQkFDckI7Z0JBQ0EsSUFBS3hELElBQUl5RCxNQUFNLElBQUksUUFBUXpELElBQUl5RCxNQUFNLENBQUNuRCxVQUFVLEdBQUcsR0FBSTtvQkFDbkRMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJeUQsTUFBTTtnQkFDdEI7Z0JBQ0EsSUFBS3pELElBQUkwRCxNQUFNLElBQUksUUFBUTFELElBQUkwRCxNQUFNLENBQUNwRCxVQUFVLEdBQUcsR0FBSTtvQkFDbkRMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJMEQsTUFBTTtnQkFDdEI7Z0JBQ0EsSUFBSzFELElBQUkyRCxTQUFTLElBQUksUUFBUTNELElBQUkyRCxTQUFTLENBQUNyRCxVQUFVLEdBQUcsR0FBSTtvQkFDekRMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJMkQsU0FBUztnQkFDekI7Z0JBQ0EsSUFBSzNELElBQUk0RCxhQUFhLElBQUksUUFBUTVELElBQUk0RCxhQUFhLENBQUN0RCxVQUFVLEdBQUcsR0FBSTtvQkFDakVMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJNEQsYUFBYTtnQkFDN0I7Z0JBQ0EsSUFBSTFELEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRWEsTUFBTTtnQkFDWjtZQUNKLEdBQUcsQ0FBQ0MsUUFBUUM7Z0JBQ1IsTUFBTWhCLE1BQU07b0JBQ1JzRCxPQUFPLElBQUlyQyxXQUFXO29CQUN0QnNDLFlBQVksSUFBSXRDLFdBQVc7b0JBQzNCdUMsT0FBTyxJQUFJdkMsV0FBVztvQkFDdEJ3QyxRQUFRLElBQUl4QyxXQUFXO29CQUN2QnlDLFFBQVEsSUFBSXpDLFdBQVc7b0JBQ3ZCMEMsV0FBVyxJQUFJMUMsV0FBVztvQkFDMUIyQyxlQUFlLElBQUkzQyxXQUFXO2dCQUNsQztnQkFDQSxNQUFNQyxNQUFNRixVQUFVLE9BQU9ELE9BQU9JLEdBQUcsR0FBR0osT0FBT0ssR0FBRyxHQUFHSjtnQkFDdkQsTUFBT0QsT0FBT0ssR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTixPQUFPUixNQUFNO29CQUN6QixPQUFRYyxRQUFRO3dCQUNaLEtBQUs7NEJBQ0RyQixJQUFJc0QsS0FBSyxHQUFHdkMsT0FBT1AsS0FBSzs0QkFDeEI7d0JBQ0osS0FBSzs0QkFDRFIsSUFBSXVELFVBQVUsR0FBR3hDLE9BQU9QLEtBQUs7NEJBQzdCO3dCQUNKLEtBQUs7NEJBQ0RSLElBQUl3RCxLQUFLLEdBQUd6QyxPQUFPUCxLQUFLOzRCQUN4Qjt3QkFDSixLQUFLOzRCQUNEUixJQUFJeUQsTUFBTSxHQUFHMUMsT0FBT1AsS0FBSzs0QkFDekI7d0JBQ0osS0FBSzs0QkFDRFIsSUFBSTBELE1BQU0sR0FBRzNDLE9BQU9QLEtBQUs7NEJBQ3pCO3dCQUNKLEtBQUs7NEJBQ0RSLElBQUkyRCxTQUFTLEdBQUc1QyxPQUFPUCxLQUFLOzRCQUM1Qjt3QkFDSixLQUFLOzRCQUNEUixJQUFJNEQsYUFBYSxHQUFHN0MsT0FBT1AsS0FBSzs0QkFDaEM7d0JBQ0o7NEJBQ0lPLE9BQU9PLFFBQVEsQ0FBQ0QsTUFBTTs0QkFDdEI7b0JBQ1I7Z0JBQ0o7Z0JBQ0EsT0FBT3JCO1lBQ1g7UUFDSjtRQUNBLE9BQU9GO0lBQ1g7SUFDQXVELGVBQWU5QixNQUFNLEdBQUcsQ0FBQ3ZCO1FBQ3JCLE9BQU9QLDhEQUFhQSxDQUFDTyxLQUFLcUQsZUFBZXRELEtBQUs7SUFDbEQ7SUFDQXNELGVBQWU3QixNQUFNLEdBQUcsQ0FBQ0M7UUFDckIsT0FBTy9CLDhEQUFhQSxDQUFDK0IsS0FBSzRCLGVBQWV0RCxLQUFLO0lBQ2xEO0FBQ0osR0FBR3NELGtCQUFtQkEsQ0FBQUEsaUJBQWlCLENBQUM7QUFDakMsSUFBSVAsWUFBWTtBQUN0QixVQUFVQSxXQUFXO0lBQ2xCLElBQUloRDtJQUNKZ0QsWUFBWS9DLEtBQUssR0FBRztRQUNoQixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNILHdEQUFPQSxDQUFDLENBQUNLLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSTZELE9BQU8sSUFBSSxRQUFRN0QsSUFBSTZELE9BQU8sQ0FBQ3ZELFVBQVUsR0FBRyxHQUFJO29CQUNyREwsRUFBRU0sTUFBTSxDQUFDO29CQUNUTixFQUFFTyxLQUFLLENBQUNSLElBQUk2RCxPQUFPO2dCQUN2QjtnQkFDQSxJQUFLN0QsSUFBSWtDLFlBQVksSUFBSSxRQUFRbEMsSUFBSWtDLFlBQVksS0FBSyxJQUFLO29CQUN2RGpDLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRVksTUFBTSxDQUFDYixJQUFJa0MsWUFBWTtnQkFDN0I7Z0JBQ0EsSUFBSWxDLElBQUk4RCxPQUFPLElBQUksTUFBTTtvQkFDckI3RCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSThELE9BQU87Z0JBQ3hCO2dCQUNBLElBQUk5RCxJQUFJK0QsU0FBUyxJQUFJLE1BQU07b0JBQ3ZCOUQsRUFBRU0sTUFBTSxDQUFDO29CQUNUTixFQUFFUyxNQUFNLENBQUNWLElBQUkrRCxTQUFTO2dCQUMxQjtnQkFDQSxJQUFJL0QsSUFBSWdFLElBQUksSUFBSSxNQUFNO29CQUNsQi9ELEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJZ0UsSUFBSTtnQkFDcEI7Z0JBQ0EsSUFBSWhFLElBQUlpRSxjQUFjLElBQUksTUFBTTtvQkFDNUJoRSxFQUFFTSxNQUFNLENBQUM7b0JBQ1Q4QyxlQUFldEQsS0FBSyxHQUFHd0IsTUFBTSxDQUFDdkIsSUFBSWlFLGNBQWMsRUFBRWhFO2dCQUN0RDtnQkFDQSxJQUFJRCxJQUFJa0UsU0FBUyxJQUFJLE1BQU07b0JBQ3ZCakUsRUFBRU0sTUFBTSxDQUFDO29CQUNUTixFQUFFa0UsSUFBSSxDQUFDbkUsSUFBSWtFLFNBQVM7Z0JBQ3hCO2dCQUNBLElBQUloRSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVhLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDO2dCQUNSLE1BQU1oQixNQUFNO29CQUNSNkQsU0FBUyxJQUFJNUMsV0FBVztvQkFDeEJpQixjQUFjO2dCQUNsQjtnQkFDQSxNQUFNaEIsTUFBTUYsVUFBVSxPQUFPRCxPQUFPSSxHQUFHLEdBQUdKLE9BQU9LLEdBQUcsR0FBR0o7Z0JBQ3ZELE1BQU9ELE9BQU9LLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFBTUcsTUFBTU4sT0FBT1IsTUFBTTtvQkFDekIsT0FBUWMsUUFBUTt3QkFDWixLQUFLOzRCQUNEckIsSUFBSTZELE9BQU8sR0FBRzlDLE9BQU9QLEtBQUs7NEJBQzFCO3dCQUNKLEtBQUs7NEJBQ0RSLElBQUlrQyxZQUFZLEdBQUduQixPQUFPRixNQUFNOzRCQUNoQzt3QkFDSixLQUFLOzRCQUNEYixJQUFJOEQsT0FBTyxHQUFHL0MsT0FBT1IsTUFBTTs0QkFDM0I7d0JBQ0osS0FBSzs0QkFDRFAsSUFBSStELFNBQVMsR0FBR2hELE9BQU9MLE1BQU07NEJBQzdCO3dCQUNKLEtBQUs7NEJBQ0RWLElBQUlnRSxJQUFJLEdBQUdqRCxPQUFPUCxLQUFLOzRCQUN2Qjt3QkFDSixLQUFLOzRCQUNEUixJQUFJaUUsY0FBYyxHQUFHWixlQUFldEQsS0FBSyxHQUFHeUIsTUFBTSxDQUFDVCxRQUFRQSxPQUFPUixNQUFNOzRCQUN4RTt3QkFDSixLQUFLOzRCQUNEUCxJQUFJa0UsU0FBUyxHQUFHbkQsT0FBT29ELElBQUk7NEJBQzNCO3dCQUNKOzRCQUNJcEQsT0FBT08sUUFBUSxDQUFDRCxNQUFNOzRCQUN0QjtvQkFDUjtnQkFDSjtnQkFDQSxPQUFPckI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBZ0QsWUFBWXZCLE1BQU0sR0FBRyxDQUFDdkI7UUFDbEIsT0FBT1AsOERBQWFBLENBQUNPLEtBQUs4QyxZQUFZL0MsS0FBSztJQUMvQztJQUNBK0MsWUFBWXRCLE1BQU0sR0FBRyxDQUFDQztRQUNsQixPQUFPL0IsOERBQWFBLENBQUMrQixLQUFLcUIsWUFBWS9DLEtBQUs7SUFDL0M7QUFDSixHQUFHK0MsZUFBZ0JBLENBQUFBLGNBQWMsQ0FBQyxLQUNsQyxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2xpYi9zdG9yZS5qcz83NTYwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgZW5jb2RlTWVzc2FnZSwgZGVjb2RlTWVzc2FnZSwgbWVzc2FnZSwgZW51bWVyYXRpb24gfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuZXhwb3J0IHZhciBJbmRleDtcbihmdW5jdGlvbiAoSW5kZXgpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIEluZGV4LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouZGlnZXN0ICE9IG51bGwgJiYgb2JqLmRpZ2VzdC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5kaWdlc3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5yZWNlaXZlclRpbWUgIT0gbnVsbCAmJiBvYmoucmVjZWl2ZXJUaW1lICE9PSAwbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTYpO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmoucmVjZWl2ZXJUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2VuZGVyVGltZSAhPSBudWxsICYmIG9iai5zZW5kZXJUaW1lICE9PSAwbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjQpO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmouc2VuZGVyVGltZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnB1YnN1YlRvcGljICE9IG51bGwgJiYgb2JqLnB1YnN1YlRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBkaWdlc3Q6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICByZWNlaXZlclRpbWU6IDBuLFxuICAgICAgICAgICAgICAgICAgICBzZW5kZXJUaW1lOiAwbixcbiAgICAgICAgICAgICAgICAgICAgcHVic3ViVG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZGlnZXN0ID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlY2VpdmVyVGltZSA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2VuZGVyVGltZSA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHVic3ViVG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEluZGV4LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBJbmRleC5jb2RlYygpKTtcbiAgICB9O1xuICAgIEluZGV4LmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBJbmRleC5jb2RlYygpKTtcbiAgICB9O1xufSkoSW5kZXggfHwgKEluZGV4ID0ge30pKTtcbmV4cG9ydCB2YXIgUGFnaW5nSW5mbztcbihmdW5jdGlvbiAoUGFnaW5nSW5mbykge1xuICAgIGxldCBEaXJlY3Rpb247XG4gICAgKGZ1bmN0aW9uIChEaXJlY3Rpb24pIHtcbiAgICAgICAgRGlyZWN0aW9uW1wiQkFDS1dBUkRcIl0gPSBcIkJBQ0tXQVJEXCI7XG4gICAgICAgIERpcmVjdGlvbltcIkZPUldBUkRcIl0gPSBcIkZPUldBUkRcIjtcbiAgICB9KShEaXJlY3Rpb24gPSBQYWdpbmdJbmZvLkRpcmVjdGlvbiB8fCAoUGFnaW5nSW5mby5EaXJlY3Rpb24gPSB7fSkpO1xuICAgIGxldCBfX0RpcmVjdGlvblZhbHVlcztcbiAgICAoZnVuY3Rpb24gKF9fRGlyZWN0aW9uVmFsdWVzKSB7XG4gICAgICAgIF9fRGlyZWN0aW9uVmFsdWVzW19fRGlyZWN0aW9uVmFsdWVzW1wiQkFDS1dBUkRcIl0gPSAwXSA9IFwiQkFDS1dBUkRcIjtcbiAgICAgICAgX19EaXJlY3Rpb25WYWx1ZXNbX19EaXJlY3Rpb25WYWx1ZXNbXCJGT1JXQVJEXCJdID0gMV0gPSBcIkZPUldBUkRcIjtcbiAgICB9KShfX0RpcmVjdGlvblZhbHVlcyB8fCAoX19EaXJlY3Rpb25WYWx1ZXMgPSB7fSkpO1xuICAgIChmdW5jdGlvbiAoRGlyZWN0aW9uKSB7XG4gICAgICAgIERpcmVjdGlvbi5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbnVtZXJhdGlvbihfX0RpcmVjdGlvblZhbHVlcyk7XG4gICAgICAgIH07XG4gICAgfSkoRGlyZWN0aW9uID0gUGFnaW5nSW5mby5EaXJlY3Rpb24gfHwgKFBhZ2luZ0luZm8uRGlyZWN0aW9uID0ge30pKTtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFBhZ2luZ0luZm8uY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnBhZ2VTaXplICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDY0KG9iai5wYWdlU2l6ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouY3Vyc29yICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICBJbmRleC5jb2RlYygpLmVuY29kZShvYmouY3Vyc29yLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5kaXJlY3Rpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIFBhZ2luZ0luZm8uRGlyZWN0aW9uLmNvZGVjKCkuZW5jb2RlKG9iai5kaXJlY3Rpb24sIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBhZ2VTaXplID0gcmVhZGVyLnVpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jdXJzb3IgPSBJbmRleC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmRpcmVjdGlvbiA9IFBhZ2luZ0luZm8uRGlyZWN0aW9uLmNvZGVjKCkuZGVjb2RlKHJlYWRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFBhZ2luZ0luZm8uZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFBhZ2luZ0luZm8uY29kZWMoKSk7XG4gICAgfTtcbiAgICBQYWdpbmdJbmZvLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQYWdpbmdJbmZvLmNvZGVjKCkpO1xuICAgIH07XG59KShQYWdpbmdJbmZvIHx8IChQYWdpbmdJbmZvID0ge30pKTtcbmV4cG9ydCB2YXIgQ29udGVudEZpbHRlcjtcbihmdW5jdGlvbiAoQ29udGVudEZpbHRlcikge1xuICAgIGxldCBfY29kZWM7XG4gICAgQ29udGVudEZpbHRlci5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBDb250ZW50RmlsdGVyLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBDb250ZW50RmlsdGVyLmNvZGVjKCkpO1xuICAgIH07XG4gICAgQ29udGVudEZpbHRlci5kZWNvZGUgPSAoYnVmKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgQ29udGVudEZpbHRlci5jb2RlYygpKTtcbiAgICB9O1xufSkoQ29udGVudEZpbHRlciB8fCAoQ29udGVudEZpbHRlciA9IHt9KSk7XG5leHBvcnQgdmFyIEhpc3RvcnlRdWVyeTtcbihmdW5jdGlvbiAoSGlzdG9yeVF1ZXJ5KSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBIaXN0b3J5UXVlcnkuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnB1YnN1YlRvcGljICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmNvbnRlbnRGaWx0ZXJzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmouY29udGVudEZpbHRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIENvbnRlbnRGaWx0ZXIuY29kZWMoKS5lbmNvZGUodmFsdWUsIHcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucGFnaW5nSW5mbyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDM0KTtcbiAgICAgICAgICAgICAgICAgICAgUGFnaW5nSW5mby5jb2RlYygpLmVuY29kZShvYmoucGFnaW5nSW5mbywgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouc3RhcnRUaW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNDApO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmouc3RhcnRUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lbmRUaW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmouZW5kVGltZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRGaWx0ZXJzOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnB1YnN1YlRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50RmlsdGVycy5wdXNoKENvbnRlbnRGaWx0ZXIuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucGFnaW5nSW5mbyA9IFBhZ2luZ0luZm8uY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zdGFydFRpbWUgPSByZWFkZXIuc2ludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVuZFRpbWUgPSByZWFkZXIuc2ludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEhpc3RvcnlRdWVyeS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgSGlzdG9yeVF1ZXJ5LmNvZGVjKCkpO1xuICAgIH07XG4gICAgSGlzdG9yeVF1ZXJ5LmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBIaXN0b3J5UXVlcnkuY29kZWMoKSk7XG4gICAgfTtcbn0pKEhpc3RvcnlRdWVyeSB8fCAoSGlzdG9yeVF1ZXJ5ID0ge30pKTtcbmV4cG9ydCB2YXIgSGlzdG9yeVJlc3BvbnNlO1xuKGZ1bmN0aW9uIChIaXN0b3J5UmVzcG9uc2UpIHtcbiAgICBsZXQgSGlzdG9yeUVycm9yO1xuICAgIChmdW5jdGlvbiAoSGlzdG9yeUVycm9yKSB7XG4gICAgICAgIEhpc3RvcnlFcnJvcltcIk5PTkVcIl0gPSBcIk5PTkVcIjtcbiAgICAgICAgSGlzdG9yeUVycm9yW1wiSU5WQUxJRF9DVVJTT1JcIl0gPSBcIklOVkFMSURfQ1VSU09SXCI7XG4gICAgfSkoSGlzdG9yeUVycm9yID0gSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvciB8fCAoSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvciA9IHt9KSk7XG4gICAgbGV0IF9fSGlzdG9yeUVycm9yVmFsdWVzO1xuICAgIChmdW5jdGlvbiAoX19IaXN0b3J5RXJyb3JWYWx1ZXMpIHtcbiAgICAgICAgX19IaXN0b3J5RXJyb3JWYWx1ZXNbX19IaXN0b3J5RXJyb3JWYWx1ZXNbXCJOT05FXCJdID0gMF0gPSBcIk5PTkVcIjtcbiAgICAgICAgX19IaXN0b3J5RXJyb3JWYWx1ZXNbX19IaXN0b3J5RXJyb3JWYWx1ZXNbXCJJTlZBTElEX0NVUlNPUlwiXSA9IDFdID0gXCJJTlZBTElEX0NVUlNPUlwiO1xuICAgIH0pKF9fSGlzdG9yeUVycm9yVmFsdWVzIHx8IChfX0hpc3RvcnlFcnJvclZhbHVlcyA9IHt9KSk7XG4gICAgKGZ1bmN0aW9uIChIaXN0b3J5RXJyb3IpIHtcbiAgICAgICAgSGlzdG9yeUVycm9yLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVudW1lcmF0aW9uKF9fSGlzdG9yeUVycm9yVmFsdWVzKTtcbiAgICAgICAgfTtcbiAgICB9KShIaXN0b3J5RXJyb3IgPSBIaXN0b3J5UmVzcG9uc2UuSGlzdG9yeUVycm9yIHx8IChIaXN0b3J5UmVzcG9uc2UuSGlzdG9yeUVycm9yID0ge30pKTtcbiAgICBsZXQgX2NvZGVjO1xuICAgIEhpc3RvcnlSZXNwb25zZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWVzc2FnZXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5tZXNzYWdlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgV2FrdU1lc3NhZ2UuY29kZWMoKS5lbmNvZGUodmFsdWUsIHcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucGFnaW5nSW5mbyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgUGFnaW5nSW5mby5jb2RlYygpLmVuY29kZShvYmoucGFnaW5nSW5mbywgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouZXJyb3IgIT0gbnVsbCAmJiBfX0hpc3RvcnlFcnJvclZhbHVlc1tvYmouZXJyb3JdICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDMyKTtcbiAgICAgICAgICAgICAgICAgICAgSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvci5jb2RlYygpLmVuY29kZShvYmouZXJyb3IsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlczogW10sXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBIaXN0b3J5RXJyb3IuTk9ORVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lc3NhZ2VzLnB1c2goV2FrdU1lc3NhZ2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucGFnaW5nSW5mbyA9IFBhZ2luZ0luZm8uY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcnJvciA9IEhpc3RvcnlSZXNwb25zZS5IaXN0b3J5RXJyb3IuY29kZWMoKS5kZWNvZGUocmVhZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgSGlzdG9yeVJlc3BvbnNlLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBIaXN0b3J5UmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBIaXN0b3J5UmVzcG9uc2UuZGVjb2RlID0gKGJ1ZikgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIEhpc3RvcnlSZXNwb25zZS5jb2RlYygpKTtcbiAgICB9O1xufSkoSGlzdG9yeVJlc3BvbnNlIHx8IChIaXN0b3J5UmVzcG9uc2UgPSB7fSkpO1xuZXhwb3J0IHZhciBIaXN0b3J5UnBjO1xuKGZ1bmN0aW9uIChIaXN0b3J5UnBjKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBIaXN0b3J5UnBjLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmVxdWVzdElkICE9IG51bGwgJiYgb2JqLnJlcXVlc3RJZCAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucXVlcnkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIEhpc3RvcnlRdWVyeS5jb2RlYygpLmVuY29kZShvYmoucXVlcnksIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJlc3BvbnNlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjYpO1xuICAgICAgICAgICAgICAgICAgICBIaXN0b3J5UmVzcG9uc2UuY29kZWMoKS5lbmNvZGUob2JqLnJlc3BvbnNlLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElkOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3RJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucXVlcnkgPSBIaXN0b3J5UXVlcnkuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXNwb25zZSA9IEhpc3RvcnlSZXNwb25zZS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEhpc3RvcnlScGMuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIEhpc3RvcnlScGMuY29kZWMoKSk7XG4gICAgfTtcbiAgICBIaXN0b3J5UnBjLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBIaXN0b3J5UnBjLmNvZGVjKCkpO1xuICAgIH07XG59KShIaXN0b3J5UnBjIHx8IChIaXN0b3J5UnBjID0ge30pKTtcbmV4cG9ydCB2YXIgUmF0ZUxpbWl0UHJvb2Y7XG4oZnVuY3Rpb24gKFJhdGVMaW1pdFByb29mKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBSYXRlTGltaXRQcm9vZi5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnByb29mICE9IG51bGwgJiYgb2JqLnByb29mLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnByb29mKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubWVya2xlUm9vdCAhPSBudWxsICYmIG9iai5tZXJrbGVSb290LmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1lcmtsZVJvb3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5lcG9jaCAhPSBudWxsICYmIG9iai5lcG9jaC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjYpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5lcG9jaCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWCAhPSBudWxsICYmIG9iai5zaGFyZVguYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDM0KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVYKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVZICE9IG51bGwgJiYgb2JqLnNoYXJlWS5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNDIpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5udWxsaWZpZXIgIT0gbnVsbCAmJiBvYmoubnVsbGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm51bGxpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJsbklkZW50aWZpZXIgIT0gbnVsbCAmJiBvYmoucmxuSWRlbnRpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5ybG5JZGVudGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvb2Y6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBtZXJrbGVSb290OiBuZXcgVWludDhBcnJheSgwKSxcbiAgICAgICAgICAgICAgICAgICAgZXBvY2g6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVg6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVk6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBudWxsaWZpZXI6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBybG5JZGVudGlmaWVyOiBuZXcgVWludDhBcnJheSgwKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnByb29mID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lcmtsZVJvb3QgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBvY2ggPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVYID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5udWxsaWZpZXIgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmxuSWRlbnRpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSk7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5kZWNvZGUgPSAoYnVmKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSk7XG4gICAgfTtcbn0pKFJhdGVMaW1pdFByb29mIHx8IChSYXRlTGltaXRQcm9vZiA9IHt9KSk7XG5leHBvcnQgdmFyIFdha3VNZXNzYWdlO1xuKGZ1bmN0aW9uIChXYWt1TWVzc2FnZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1lc3NhZ2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wYXlsb2FkICE9IG51bGwgJiYgb2JqLnBheWxvYWQuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucGF5bG9hZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnZlcnNpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai52ZXJzaW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai50aW1lc3RhbXAgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai50aW1lc3RhbXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1ldGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1ldGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJhdGVMaW1pdFByb29mICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTcwKTtcbiAgICAgICAgICAgICAgICAgICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5lbmNvZGUob2JqLnJhdGVMaW1pdFByb29mLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lcGhlbWVyYWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLmVwaGVtZXJhbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IG5ldyBVaW50OEFycmF5KDApLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucGF5bG9hZCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnZlcnNpb24gPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai50aW1lc3RhbXAgPSByZWFkZXIuc2ludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDExOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yYXRlTGltaXRQcm9vZiA9IFJhdGVMaW1pdFByb29mLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwaGVtZXJhbCA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFdha3VNZXNzYWdlLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBXYWt1TWVzc2FnZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIFdha3VNZXNzYWdlLmRlY29kZSA9IChidWYpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBXYWt1TWVzc2FnZS5jb2RlYygpKTtcbiAgICB9O1xufSkoV2FrdU1lc3NhZ2UgfHwgKFdha3VNZXNzYWdlID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0b3JlLmpzLm1hcCJdLCJuYW1lcyI6WyJlbmNvZGVNZXNzYWdlIiwiZGVjb2RlTWVzc2FnZSIsIm1lc3NhZ2UiLCJlbnVtZXJhdGlvbiIsIkluZGV4IiwiX2NvZGVjIiwiY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJkaWdlc3QiLCJieXRlTGVuZ3RoIiwidWludDMyIiwiYnl0ZXMiLCJyZWNlaXZlclRpbWUiLCJzaW50NjQiLCJzZW5kZXJUaW1lIiwicHVic3ViVG9waWMiLCJzdHJpbmciLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJVaW50OEFycmF5IiwiZW5kIiwibGVuIiwicG9zIiwidGFnIiwic2tpcFR5cGUiLCJlbmNvZGUiLCJkZWNvZGUiLCJidWYiLCJQYWdpbmdJbmZvIiwiRGlyZWN0aW9uIiwiX19EaXJlY3Rpb25WYWx1ZXMiLCJwYWdlU2l6ZSIsInVpbnQ2NCIsImN1cnNvciIsImRpcmVjdGlvbiIsIkNvbnRlbnRGaWx0ZXIiLCJjb250ZW50VG9waWMiLCJIaXN0b3J5UXVlcnkiLCJjb250ZW50RmlsdGVycyIsInZhbHVlIiwicGFnaW5nSW5mbyIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJwdXNoIiwiSGlzdG9yeVJlc3BvbnNlIiwiSGlzdG9yeUVycm9yIiwiX19IaXN0b3J5RXJyb3JWYWx1ZXMiLCJtZXNzYWdlcyIsIldha3VNZXNzYWdlIiwiZXJyb3IiLCJOT05FIiwiSGlzdG9yeVJwYyIsInJlcXVlc3RJZCIsInF1ZXJ5IiwicmVzcG9uc2UiLCJSYXRlTGltaXRQcm9vZiIsInByb29mIiwibWVya2xlUm9vdCIsImVwb2NoIiwic2hhcmVYIiwic2hhcmVZIiwibnVsbGlmaWVyIiwicmxuSWRlbnRpZmllciIsInBheWxvYWQiLCJ2ZXJzaW9uIiwidGltZXN0YW1wIiwibWV0YSIsInJhdGVMaW1pdFByb29mIiwiZXBoZW1lcmFsIiwiYm9vbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/proto/dist/lib/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/proto/dist/lib/topic_only_message.js":
/*!*****************************************************************!*\
!*** ./node_modules/@waku/proto/dist/lib/topic_only_message.js ***!
\*****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopicOnlyMessage: () => (/* binding */ TopicOnlyMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar TopicOnlyMessage;\n(function(TopicOnlyMessage) {\n let _codec;\n TopicOnlyMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n obj.contentTopic = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n TopicOnlyMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, TopicOnlyMessage.codec());\n };\n TopicOnlyMessage.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, TopicOnlyMessage.codec());\n };\n})(TopicOnlyMessage || (TopicOnlyMessage = {})); //# sourceMappingURL=topic_only_message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9saWIvdG9waWNfb25seV9tZXNzYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0NBQWdDLEdBQ2hDLDZCQUE2QixHQUM3QixrREFBa0QsR0FDbEQsNEVBQTRFLEdBQzVFLHdEQUF3RCxHQUNnQjtBQUNqRSxJQUFJRyxpQkFBaUI7QUFDM0IsVUFBVUEsZ0JBQWdCO0lBQ3ZCLElBQUlDO0lBQ0pELGlCQUFpQkUsS0FBSyxHQUFHO1FBQ3JCLElBQUlELFVBQVUsTUFBTTtZQUNoQkEsU0FBU0Ysd0RBQU9BLENBQUMsQ0FBQ0ksS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFLSixJQUFJSyxZQUFZLElBQUksUUFBUUwsSUFBSUssWUFBWSxLQUFLLElBQUs7b0JBQ3ZESixFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSUssWUFBWTtnQkFDN0I7Z0JBQ0EsSUFBSUgsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFTyxNQUFNO2dCQUNaO1lBQ0osR0FBRyxDQUFDQyxRQUFRQztnQkFDUixNQUFNVixNQUFNO29CQUNSSyxjQUFjO2dCQUNsQjtnQkFDQSxNQUFNTSxNQUFNRCxVQUFVLE9BQU9ELE9BQU9HLEdBQUcsR0FBR0gsT0FBT0ksR0FBRyxHQUFHSDtnQkFDdkQsTUFBT0QsT0FBT0ksR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTCxPQUFPSCxNQUFNO29CQUN6QixPQUFRUSxRQUFRO3dCQUNaLEtBQUs7NEJBQ0RkLElBQUlLLFlBQVksR0FBR0ksT0FBT0YsTUFBTTs0QkFDaEM7d0JBQ0o7NEJBQ0lFLE9BQU9NLFFBQVEsQ0FBQ0QsTUFBTTs0QkFDdEI7b0JBQ1I7Z0JBQ0o7Z0JBQ0EsT0FBT2Q7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBRCxpQkFBaUJtQixNQUFNLEdBQUcsQ0FBQ2hCO1FBQ3ZCLE9BQU9OLDhEQUFhQSxDQUFDTSxLQUFLSCxpQkFBaUJFLEtBQUs7SUFDcEQ7SUFDQUYsaUJBQWlCb0IsTUFBTSxHQUFHLENBQUNDO1FBQ3ZCLE9BQU92Qiw4REFBYUEsQ0FBQ3VCLEtBQUtyQixpQkFBaUJFLEtBQUs7SUFDcEQ7QUFDSixHQUFHRixvQkFBcUJBLENBQUFBLG1CQUFtQixDQUFDLEtBQzVDLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvbGliL3RvcGljX29ubHlfbWVzc2FnZS5qcz9jM2JhIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgZW5jb2RlTWVzc2FnZSwgZGVjb2RlTWVzc2FnZSwgbWVzc2FnZSB9IGZyb20gJ3Byb3RvbnMtcnVudGltZSc7XG5leHBvcnQgdmFyIFRvcGljT25seU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFRvcGljT25seU1lc3NhZ2UpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFRvcGljT25seU1lc3NhZ2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5jb250ZW50VG9waWMgIT0gbnVsbCAmJiBvYmouY29udGVudFRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmouY29udGVudFRvcGljKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFRvcGljOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgVG9waWNPbmx5TWVzc2FnZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgVG9waWNPbmx5TWVzc2FnZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIFRvcGljT25seU1lc3NhZ2UuZGVjb2RlID0gKGJ1ZikgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFRvcGljT25seU1lc3NhZ2UuY29kZWMoKSk7XG4gICAgfTtcbn0pKFRvcGljT25seU1lc3NhZ2UgfHwgKFRvcGljT25seU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dG9waWNfb25seV9tZXNzYWdlLmpzLm1hcCJdLCJuYW1lcyI6WyJlbmNvZGVNZXNzYWdlIiwiZGVjb2RlTWVzc2FnZSIsIm1lc3NhZ2UiLCJUb3BpY09ubHlNZXNzYWdlIiwiX2NvZGVjIiwiY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJjb250ZW50VG9waWMiLCJ1aW50MzIiLCJzdHJpbmciLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJza2lwVHlwZSIsImVuY29kZSIsImRlY29kZSIsImJ1ZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/proto/dist/lib/topic_only_message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/dist/constants.js":
/*!****************************************************!*\
!*** ./node_modules/@waku/relay/dist/constants.js ***!
\****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RelayCodecs: () => (/* binding */ RelayCodecs),\n/* harmony export */ RelayFanoutTTL: () => (/* binding */ RelayFanoutTTL),\n/* harmony export */ RelayGossipFactor: () => (/* binding */ RelayGossipFactor),\n/* harmony export */ RelayHeartbeatInitialDelay: () => (/* binding */ RelayHeartbeatInitialDelay),\n/* harmony export */ RelayHeartbeatInterval: () => (/* binding */ RelayHeartbeatInterval),\n/* harmony export */ RelayMaxIHaveLength: () => (/* binding */ RelayMaxIHaveLength),\n/* harmony export */ RelayOpportunisticGraftPeers: () => (/* binding */ RelayOpportunisticGraftPeers),\n/* harmony export */ RelayOpportunisticGraftTicks: () => (/* binding */ RelayOpportunisticGraftTicks),\n/* harmony export */ RelayPruneBackoff: () => (/* binding */ RelayPruneBackoff),\n/* harmony export */ RelayPrunePeers: () => (/* binding */ RelayPrunePeers),\n/* harmony export */ minute: () => (/* binding */ minute),\n/* harmony export */ second: () => (/* binding */ second)\n/* harmony export */ });\nconst second = 1000;\nconst minute = 60 * second;\n/**\n * RelayCodec is the libp2p identifier for the waku relay protocol\n */ const RelayCodecs = [\n \"/vac/waku/relay/2.0.0\"\n];\n/**\n * RelayGossipFactor affects how many peers we will emit gossip to at each heartbeat.\n * We will send gossip to RelayGossipFactor * (total number of non-mesh peers), or\n * RelayDlazy, whichever is greater.\n */ const RelayGossipFactor = 0.25;\n/**\n * GossipsubHeartbeatInitialDelay is the short delay before the heartbeat timer begins\n * after the router is initialized.\n */ const RelayHeartbeatInitialDelay = 100;\n/**\n * RelayHeartbeatInterval controls the time between heartbeats.\n */ const RelayHeartbeatInterval = second;\n/**\n * RelayPrunePeers controls the number of peers to include in prune Peer eXchange.\n * When we prune a peer that's eligible for PX (has a good score, etc), we will try to\n * send them signed peer records for up to RelayPrunePeers other peers that we\n * know of.\n */ const RelayPrunePeers = 16;\n/**\n * RelayPruneBackoff controls the backoff time for pruned peers. This is how long\n * a peer must wait before attempting to graft into our mesh again after being pruned.\n * When pruning a peer, we send them our value of RelayPruneBackoff so they know\n * the minimum time to wait. Peers running older versions may not send a backoff time,\n * so if we receive a prune message without one, we will wait at least RelayPruneBackoff\n * before attempting to re-graft.\n */ const RelayPruneBackoff = minute;\n/**\n * RelayFanoutTTL controls how long we keep track of the fanout state. If it's been\n * RelayFanoutTTL since we've published to a topic that we're not subscribed to,\n * we'll delete the fanout map for that topic.\n */ const RelayFanoutTTL = minute;\n/**\n * RelayOpportunisticGraftTicks is the number of heartbeat ticks for attempting to improve the mesh\n * with opportunistic grafting. Every RelayOpportunisticGraftTicks we will attempt to select some\n * high-scoring mesh peers to replace lower-scoring ones, if the median score of our mesh peers falls\n * below a threshold\n */ const RelayOpportunisticGraftTicks = 60;\n/**\n * RelayOpportunisticGraftPeers is the number of peers to opportunistically graft.\n */ const RelayOpportunisticGraftPeers = 2;\n/**\n * RelayMaxIHaveLength is the maximum number of messages to include in an IHAVE message.\n * Also controls the maximum number of IHAVE ids we will accept and request with IWANT from a\n * peer within a heartbeat, to protect from IHAVE floods. You should adjust this value from the\n * default if your system is pushing more than 5000 messages in GossipsubHistoryGossip heartbeats;\n * with the defaults this is 1666 messages/s.\n */ const RelayMaxIHaveLength = 5000; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvZGlzdC9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQU8sTUFBTUEsU0FBUyxLQUFLO0FBQ3BCLE1BQU1DLFNBQVMsS0FBS0QsT0FBTztBQUNsQzs7Q0FFQyxHQUNNLE1BQU1FLGNBQWM7SUFBQztDQUF3QixDQUFDO0FBQ3JEOzs7O0NBSUMsR0FDTSxNQUFNQyxvQkFBb0IsS0FBSztBQUN0Qzs7O0NBR0MsR0FDTSxNQUFNQyw2QkFBNkIsSUFBSTtBQUM5Qzs7Q0FFQyxHQUNNLE1BQU1DLHlCQUF5QkwsT0FBTztBQUM3Qzs7Ozs7Q0FLQyxHQUNNLE1BQU1NLGtCQUFrQixHQUFHO0FBQ2xDOzs7Ozs7O0NBT0MsR0FDTSxNQUFNQyxvQkFBb0JOLE9BQU87QUFDeEM7Ozs7Q0FJQyxHQUNNLE1BQU1PLGlCQUFpQlAsT0FBTztBQUNyQzs7Ozs7Q0FLQyxHQUNNLE1BQU1RLCtCQUErQixHQUFHO0FBQy9DOztDQUVDLEdBQ00sTUFBTUMsK0JBQStCLEVBQUU7QUFDOUM7Ozs7OztDQU1DLEdBQ00sTUFBTUMsc0JBQXNCLEtBQUssQ0FDeEMscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvZGlzdC9jb25zdGFudHMuanM/ZjJkNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc2Vjb25kID0gMTAwMDtcbmV4cG9ydCBjb25zdCBtaW51dGUgPSA2MCAqIHNlY29uZDtcbi8qKlxuICogUmVsYXlDb2RlYyBpcyB0aGUgbGlicDJwIGlkZW50aWZpZXIgZm9yIHRoZSB3YWt1IHJlbGF5IHByb3RvY29sXG4gKi9cbmV4cG9ydCBjb25zdCBSZWxheUNvZGVjcyA9IFtcIi92YWMvd2FrdS9yZWxheS8yLjAuMFwiXTtcbi8qKlxuICogUmVsYXlHb3NzaXBGYWN0b3IgYWZmZWN0cyBob3cgbWFueSBwZWVycyB3ZSB3aWxsIGVtaXQgZ29zc2lwIHRvIGF0IGVhY2ggaGVhcnRiZWF0LlxuICogV2Ugd2lsbCBzZW5kIGdvc3NpcCB0byBSZWxheUdvc3NpcEZhY3RvciAqICh0b3RhbCBudW1iZXIgb2Ygbm9uLW1lc2ggcGVlcnMpLCBvclxuICogUmVsYXlEbGF6eSwgd2hpY2hldmVyIGlzIGdyZWF0ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBSZWxheUdvc3NpcEZhY3RvciA9IDAuMjU7XG4vKipcbiAqIEdvc3NpcHN1YkhlYXJ0YmVhdEluaXRpYWxEZWxheSBpcyB0aGUgc2hvcnQgZGVsYXkgYmVmb3JlIHRoZSBoZWFydGJlYXQgdGltZXIgYmVnaW5zXG4gKiBhZnRlciB0aGUgcm91dGVyIGlzIGluaXRpYWxpemVkLlxuICovXG5leHBvcnQgY29uc3QgUmVsYXlIZWFydGJlYXRJbml0aWFsRGVsYXkgPSAxMDA7XG4vKipcbiAqIFJlbGF5SGVhcnRiZWF0SW50ZXJ2YWwgY29udHJvbHMgdGhlIHRpbWUgYmV0d2VlbiBoZWFydGJlYXRzLlxuICovXG5leHBvcnQgY29uc3QgUmVsYXlIZWFydGJlYXRJbnRlcnZhbCA9IHNlY29uZDtcbi8qKlxuICogUmVsYXlQcnVuZVBlZXJzIGNvbnRyb2xzIHRoZSBudW1iZXIgb2YgcGVlcnMgdG8gaW5jbHVkZSBpbiBwcnVuZSBQZWVyIGVYY2hhbmdlLlxuICogV2hlbiB3ZSBwcnVuZSBhIHBlZXIgdGhhdCdzIGVsaWdpYmxlIGZvciBQWCAoaGFzIGEgZ29vZCBzY29yZSwgZXRjKSwgd2Ugd2lsbCB0cnkgdG9cbiAqIHNlbmQgdGhlbSBzaWduZWQgcGVlciByZWNvcmRzIGZvciB1cCB0byBSZWxheVBydW5lUGVlcnMgb3RoZXIgcGVlcnMgdGhhdCB3ZVxuICoga25vdyBvZi5cbiAqL1xuZXhwb3J0IGNvbnN0IFJlbGF5UHJ1bmVQZWVycyA9IDE2O1xuLyoqXG4gKiBSZWxheVBydW5lQmFja29mZiBjb250cm9scyB0aGUgYmFja29mZiB0aW1lIGZvciBwcnVuZWQgcGVlcnMuIFRoaXMgaXMgaG93IGxvbmdcbiAqIGEgcGVlciBtdXN0IHdhaXQgYmVmb3JlIGF0dGVtcHRpbmcgdG8gZ3JhZnQgaW50byBvdXIgbWVzaCBhZ2FpbiBhZnRlciBiZWluZyBwcnVuZWQuXG4gKiBXaGVuIHBydW5pbmcgYSBwZWVyLCB3ZSBzZW5kIHRoZW0gb3VyIHZhbHVlIG9mIFJlbGF5UHJ1bmVCYWNrb2ZmIHNvIHRoZXkga25vd1xuICogdGhlIG1pbmltdW0gdGltZSB0byB3YWl0LiBQZWVycyBydW5uaW5nIG9sZGVyIHZlcnNpb25zIG1heSBub3Qgc2VuZCBhIGJhY2tvZmYgdGltZSxcbiAqIHNvIGlmIHdlIHJlY2VpdmUgYSBwcnVuZSBtZXNzYWdlIHdpdGhvdXQgb25lLCB3ZSB3aWxsIHdhaXQgYXQgbGVhc3QgUmVsYXlQcnVuZUJhY2tvZmZcbiAqIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJlLWdyYWZ0LlxuICovXG5leHBvcnQgY29uc3QgUmVsYXlQcnVuZUJhY2tvZmYgPSBtaW51dGU7XG4vKipcbiAqIFJlbGF5RmFub3V0VFRMIGNvbnRyb2xzIGhvdyBsb25nIHdlIGtlZXAgdHJhY2sgb2YgdGhlIGZhbm91dCBzdGF0ZS4gSWYgaXQncyBiZWVuXG4gKiBSZWxheUZhbm91dFRUTCBzaW5jZSB3ZSd2ZSBwdWJsaXNoZWQgdG8gYSB0b3BpYyB0aGF0IHdlJ3JlIG5vdCBzdWJzY3JpYmVkIHRvLFxuICogd2UnbGwgZGVsZXRlIHRoZSBmYW5vdXQgbWFwIGZvciB0aGF0IHRvcGljLlxuICovXG5leHBvcnQgY29uc3QgUmVsYXlGYW5vdXRUVEwgPSBtaW51dGU7XG4vKipcbiAqIFJlbGF5T3Bwb3J0dW5pc3RpY0dyYWZ0VGlja3MgaXMgdGhlIG51bWJlciBvZiBoZWFydGJlYXQgdGlja3MgZm9yIGF0dGVtcHRpbmcgdG8gaW1wcm92ZSB0aGUgbWVzaFxuICogd2l0aCBvcHBvcnR1bmlzdGljIGdyYWZ0aW5nLiBFdmVyeSBSZWxheU9wcG9ydHVuaXN0aWNHcmFmdFRpY2tzIHdlIHdpbGwgYXR0ZW1wdCB0byBzZWxlY3Qgc29tZVxuICogaGlnaC1zY29yaW5nIG1lc2ggcGVlcnMgdG8gcmVwbGFjZSBsb3dlci1zY29yaW5nIG9uZXMsIGlmIHRoZSBtZWRpYW4gc2NvcmUgb2Ygb3VyIG1lc2ggcGVlcnMgZmFsbHNcbiAqIGJlbG93IGEgdGhyZXNob2xkXG4gKi9cbmV4cG9ydCBjb25zdCBSZWxheU9wcG9ydHVuaXN0aWNHcmFmdFRpY2tzID0gNjA7XG4vKipcbiAqIFJlbGF5T3Bwb3J0dW5pc3RpY0dyYWZ0UGVlcnMgaXMgdGhlIG51bWJlciBvZiBwZWVycyB0byBvcHBvcnR1bmlzdGljYWxseSBncmFmdC5cbiAqL1xuZXhwb3J0IGNvbnN0IFJlbGF5T3Bwb3J0dW5pc3RpY0dyYWZ0UGVlcnMgPSAyO1xuLyoqXG4gKiBSZWxheU1heElIYXZlTGVuZ3RoIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBtZXNzYWdlcyB0byBpbmNsdWRlIGluIGFuIElIQVZFIG1lc3NhZ2UuXG4gKiBBbHNvIGNvbnRyb2xzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBJSEFWRSBpZHMgd2Ugd2lsbCBhY2NlcHQgYW5kIHJlcXVlc3Qgd2l0aCBJV0FOVCBmcm9tIGFcbiAqIHBlZXIgd2l0aGluIGEgaGVhcnRiZWF0LCB0byBwcm90ZWN0IGZyb20gSUhBVkUgZmxvb2RzLiBZb3Ugc2hvdWxkIGFkanVzdCB0aGlzIHZhbHVlIGZyb20gdGhlXG4gKiBkZWZhdWx0IGlmIHlvdXIgc3lzdGVtIGlzIHB1c2hpbmcgbW9yZSB0aGFuIDUwMDAgbWVzc2FnZXMgaW4gR29zc2lwc3ViSGlzdG9yeUdvc3NpcCBoZWFydGJlYXRzO1xuICogd2l0aCB0aGUgZGVmYXVsdHMgdGhpcyBpcyAxNjY2IG1lc3NhZ2VzL3MuXG4gKi9cbmV4cG9ydCBjb25zdCBSZWxheU1heElIYXZlTGVuZ3RoID0gNTAwMDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOlsic2Vjb25kIiwibWludXRlIiwiUmVsYXlDb2RlY3MiLCJSZWxheUdvc3NpcEZhY3RvciIsIlJlbGF5SGVhcnRiZWF0SW5pdGlhbERlbGF5IiwiUmVsYXlIZWFydGJlYXRJbnRlcnZhbCIsIlJlbGF5UHJ1bmVQZWVycyIsIlJlbGF5UHJ1bmVCYWNrb2ZmIiwiUmVsYXlGYW5vdXRUVEwiLCJSZWxheU9wcG9ydHVuaXN0aWNHcmFmdFRpY2tzIiwiUmVsYXlPcHBvcnR1bmlzdGljR3JhZnRQZWVycyIsIlJlbGF5TWF4SUhhdmVMZW5ndGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/dist/constants.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/dist/index.js":
/*!************************************************!*\
!*** ./node_modules/@waku/relay/dist/index.js ***!
\************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ wakuGossipSub: () => (/* binding */ wakuGossipSub),\n/* harmony export */ wakuRelay: () => (/* binding */ wakuRelay)\n/* harmony export */ });\n/* harmony import */ var _chainsafe_libp2p_gossipsub__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @chainsafe/libp2p-gossipsub */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.js\");\n/* harmony import */ var _chainsafe_libp2p_gossipsub_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @chainsafe/libp2p-gossipsub/types */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.js\");\n/* harmony import */ var _noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @noble/hashes/sha256 */ \"(ssr)/./node_modules/@noble/hashes/esm/sha256.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/relay/dist/constants.js\");\n/* harmony import */ var _message_validator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./message_validator.js */ \"(ssr)/./node_modules/@waku/relay/dist/message_validator.js\");\n/* harmony import */ var _topic_only_message_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./topic_only_message.js */ \"(ssr)/./node_modules/@waku/relay/dist/topic_only_message.js\");\n\n\n\n\n\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_1__.Logger(\"relay\");\n/**\n * Implements the [Waku v2 Relay protocol](https://rfc.vac.dev/spec/11/).\n * Throws if libp2p.pubsub does not support Waku Relay\n */ class Relay {\n static{\n this.multicodec = _constants_js__WEBPACK_IMPORTED_MODULE_2__.RelayCodecs[0];\n }\n constructor(libp2p, pubsubTopics){\n if (!this.isRelayPubsub(libp2p.services.pubsub)) {\n throw Error(`Failed to initialize Relay. libp2p.pubsub does not support ${Relay.multicodec}`);\n }\n this.gossipSub = libp2p.services.pubsub;\n this.pubsubTopics = new Set(pubsubTopics);\n if (this.gossipSub.isStarted()) {\n this.subscribeToAllTopics();\n }\n this.observers = new Map();\n // Default PubsubTopic decoder\n // TODO: User might want to decide what decoder should be used (e.g. for RLN)\n this.defaultDecoder = new _topic_only_message_js__WEBPACK_IMPORTED_MODULE_4__.TopicOnlyDecoder();\n }\n /**\n * Mounts the gossipsub protocol onto the libp2p node\n * and subscribes to all the topics.\n *\n * @override\n * @returns {void}\n */ async start() {\n if (this.gossipSub.isStarted()) {\n throw Error(\"GossipSub already started.\");\n }\n await this.gossipSub.start();\n this.subscribeToAllTopics();\n }\n /**\n * Send Waku message.\n */ async send(encoder, message) {\n const successes = [];\n const { pubsubTopic } = encoder;\n if (!this.pubsubTopics.has(pubsubTopic)) {\n log.error(\"Failed to send waku relay: topic not configured\");\n return {\n successes,\n failures: [\n {\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.TOPIC_NOT_CONFIGURED\n }\n ]\n };\n }\n const msg = await encoder.toWire(message);\n if (!msg) {\n log.error(\"Failed to encode message, aborting publish\");\n return {\n successes,\n failures: [\n {\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.ENCODE_FAILED\n }\n ]\n };\n }\n if (!(0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.isWireSizeUnderCap)(msg)) {\n log.error(\"Failed to send waku relay: message is bigger that 1MB\");\n return {\n successes,\n failures: [\n {\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.SIZE_TOO_BIG\n }\n ]\n };\n }\n const { recipients } = await this.gossipSub.publish(pubsubTopic, msg);\n return {\n successes: recipients\n };\n }\n subscribe(decoders, callback) {\n const observers = [];\n for (const decoder of Array.isArray(decoders) ? decoders : [\n decoders\n ]){\n const { pubsubTopic } = decoder;\n const ctObs = this.observers.get(pubsubTopic) ?? new Map();\n const observer = {\n pubsubTopic,\n decoder,\n callback\n };\n (0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.pushOrInitMapSet)(ctObs, decoder.contentTopic, observer);\n this.observers.set(pubsubTopic, ctObs);\n observers.push([\n pubsubTopic,\n observer\n ]);\n }\n return ()=>{\n this.removeObservers(observers);\n };\n }\n removeObservers(observers) {\n for (const [pubsubTopic, observer] of observers){\n const ctObs = this.observers.get(pubsubTopic);\n if (!ctObs) continue;\n const contentTopic = observer.decoder.contentTopic;\n const _obs = ctObs.get(contentTopic);\n if (!_obs) continue;\n _obs.delete(observer);\n ctObs.set(contentTopic, _obs);\n this.observers.set(pubsubTopic, ctObs);\n }\n }\n toSubscriptionIterator(decoders) {\n return (0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.toAsyncIterator)(this, decoders);\n }\n getActiveSubscriptions() {\n const map = new Map();\n for (const pubsubTopic of this.pubsubTopics){\n map.set(pubsubTopic, Array.from(this.observers.keys()));\n }\n return map;\n }\n getMeshPeers(topic = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DefaultPubsubTopic) {\n return this.gossipSub.getMeshPeers(topic);\n }\n subscribeToAllTopics() {\n for (const pubsubTopic of this.pubsubTopics){\n this.gossipSubSubscribe(pubsubTopic);\n }\n }\n async processIncomingMessage(pubsubTopic, bytes) {\n const topicOnlyMsg = await this.defaultDecoder.fromWireToProtoObj(bytes);\n if (!topicOnlyMsg || !topicOnlyMsg.contentTopic) {\n log.warn(\"Message does not have a content topic, skipping\");\n return;\n }\n // Retrieve the map of content topics for the given pubsubTopic\n const contentTopicMap = this.observers.get(pubsubTopic);\n if (!contentTopicMap) {\n return;\n }\n // Retrieve the set of observers for the given contentTopic\n const observers = contentTopicMap.get(topicOnlyMsg.contentTopic);\n if (!observers) {\n return;\n }\n await Promise.all(Array.from(observers).map(({ decoder, callback })=>{\n return (async ()=>{\n try {\n const protoMsg = await decoder.fromWireToProtoObj(bytes);\n if (!protoMsg) {\n log.error(\"Internal error: message previously decoded failed on 2nd pass.\");\n return;\n }\n const msg = await decoder.fromProtoObj(pubsubTopic, protoMsg);\n if (msg) {\n await callback(msg);\n } else {\n log.error(\"Failed to decode messages on\", topicOnlyMsg.contentTopic);\n }\n } catch (error) {\n log.error(\"Error while decoding message:\", error);\n }\n })();\n }));\n }\n /**\n * Subscribe to a pubsub topic and start emitting Waku messages to observers.\n *\n * @override\n */ gossipSubSubscribe(pubsubTopic) {\n this.gossipSub.addEventListener(\"gossipsub:message\", (event)=>{\n if (event.detail.msg.topic !== pubsubTopic) return;\n this.processIncomingMessage(event.detail.msg.topic, event.detail.msg.data).catch((e)=>log.error(\"Failed to process incoming message\", e));\n });\n this.gossipSub.topicValidators.set(pubsubTopic, _message_validator_js__WEBPACK_IMPORTED_MODULE_3__.messageValidator);\n this.gossipSub.subscribe(pubsubTopic);\n }\n isRelayPubsub(pubsub) {\n return pubsub?.multicodecs?.includes(Relay.multicodec) ?? false;\n }\n}\nfunction wakuRelay(pubsubTopics) {\n return (libp2p)=>new Relay(libp2p, pubsubTopics);\n}\nfunction wakuGossipSub(init = {}) {\n return (components)=>{\n init = {\n ...init,\n msgIdFn: ({ data })=>(0,_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_5__.sha256)(data),\n // Ensure that no signature is included nor expected in the messages.\n globalSignaturePolicy: _chainsafe_libp2p_gossipsub_types__WEBPACK_IMPORTED_MODULE_6__.SignaturePolicy.StrictNoSign,\n fallbackToFloodsub: false\n };\n const pubsub = new _chainsafe_libp2p_gossipsub__WEBPACK_IMPORTED_MODULE_7__.GossipSub(components, init);\n pubsub.multicodecs = _constants_js__WEBPACK_IMPORTED_MODULE_2__.RelayCodecs;\n return pubsub;\n };\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQXdEO0FBQ1k7QUFDdEI7QUFDdUI7QUFDSDtBQUNuQjtBQUNWO0FBQ1E7QUFDYTtBQUNDO0FBQzNELE1BQU1ZLE1BQU0sSUFBSUosK0NBQU1BLENBQUM7QUFDdkI7OztDQUdDLEdBQ0QsTUFBTUs7O2FBR0tDLGFBQWFMLHNEQUFXLENBQUMsRUFBRTs7SUFPbENNLFlBQVlDLE1BQU0sRUFBRUMsWUFBWSxDQUFFO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUNDLGFBQWEsQ0FBQ0YsT0FBT0csUUFBUSxDQUFDQyxNQUFNLEdBQUc7WUFDN0MsTUFBTUMsTUFBTSxDQUFDLDJEQUEyRCxFQUFFUixNQUFNQyxVQUFVLENBQUMsQ0FBQztRQUNoRztRQUNBLElBQUksQ0FBQ1EsU0FBUyxHQUFHTixPQUFPRyxRQUFRLENBQUNDLE1BQU07UUFDdkMsSUFBSSxDQUFDSCxZQUFZLEdBQUcsSUFBSU0sSUFBSU47UUFDNUIsSUFBSSxJQUFJLENBQUNLLFNBQVMsQ0FBQ0UsU0FBUyxJQUFJO1lBQzVCLElBQUksQ0FBQ0Msb0JBQW9CO1FBQzdCO1FBQ0EsSUFBSSxDQUFDQyxTQUFTLEdBQUcsSUFBSUM7UUFDckIsOEJBQThCO1FBQzlCLDZFQUE2RTtRQUM3RSxJQUFJLENBQUNDLGNBQWMsR0FBRyxJQUFJakIsb0VBQWdCQTtJQUM5QztJQUNBOzs7Ozs7S0FNQyxHQUNELE1BQU1rQixRQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUNQLFNBQVMsQ0FBQ0UsU0FBUyxJQUFJO1lBQzVCLE1BQU1ILE1BQU07UUFDaEI7UUFDQSxNQUFNLElBQUksQ0FBQ0MsU0FBUyxDQUFDTyxLQUFLO1FBQzFCLElBQUksQ0FBQ0osb0JBQW9CO0lBQzdCO0lBQ0E7O0tBRUMsR0FDRCxNQUFNSyxLQUFLQyxPQUFPLEVBQUVDLE9BQU8sRUFBRTtRQUN6QixNQUFNQyxZQUFZLEVBQUU7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QTtRQUNoQyxPQUFPVztJQUNYO0FBQ0osRUFDQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9yZWxheS9kaXN0L2luZGV4LmpzPzAzYTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR29zc2lwU3ViIH0gZnJvbSBcIkBjaGFpbnNhZmUvbGlicDJwLWdvc3NpcHN1YlwiO1xuaW1wb3J0IHsgU2lnbmF0dXJlUG9saWN5IH0gZnJvbSBcIkBjaGFpbnNhZmUvbGlicDJwLWdvc3NpcHN1Yi90eXBlc1wiO1xuaW1wb3J0IHsgc2hhMjU2IH0gZnJvbSBcIkBub2JsZS9oYXNoZXMvc2hhMjU2XCI7XG5pbXBvcnQgeyBEZWZhdWx0UHVic3ViVG9waWMsIFByb3RvY29sRXJyb3IgfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgaXNXaXJlU2l6ZVVuZGVyQ2FwLCB0b0FzeW5jSXRlcmF0b3IgfSBmcm9tIFwiQHdha3UvdXRpbHNcIjtcbmltcG9ydCB7IHB1c2hPckluaXRNYXBTZXQgfSBmcm9tIFwiQHdha3UvdXRpbHNcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCJAd2FrdS91dGlsc1wiO1xuaW1wb3J0IHsgUmVsYXlDb2RlY3MgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IG1lc3NhZ2VWYWxpZGF0b3IgfSBmcm9tIFwiLi9tZXNzYWdlX3ZhbGlkYXRvci5qc1wiO1xuaW1wb3J0IHsgVG9waWNPbmx5RGVjb2RlciB9IGZyb20gXCIuL3RvcGljX29ubHlfbWVzc2FnZS5qc1wiO1xuY29uc3QgbG9nID0gbmV3IExvZ2dlcihcInJlbGF5XCIpO1xuLyoqXG4gKiBJbXBsZW1lbnRzIHRoZSBbV2FrdSB2MiBSZWxheSBwcm90b2NvbF0oaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzExLykuXG4gKiBUaHJvd3MgaWYgbGlicDJwLnB1YnN1YiBkb2VzIG5vdCBzdXBwb3J0IFdha3UgUmVsYXlcbiAqL1xuY2xhc3MgUmVsYXkge1xuICAgIHB1YnN1YlRvcGljcztcbiAgICBkZWZhdWx0RGVjb2RlcjtcbiAgICBzdGF0aWMgbXVsdGljb2RlYyA9IFJlbGF5Q29kZWNzWzBdO1xuICAgIGdvc3NpcFN1YjtcbiAgICAvKipcbiAgICAgKiBvYnNlcnZlcnMgY2FsbGVkIHdoZW4gcmVjZWl2aW5nIG5ldyBtZXNzYWdlLlxuICAgICAqIE9ic2VydmVycyB1bmRlciBrZXkgYFwiXCJgIGFyZSBhbHdheXMgY2FsbGVkLlxuICAgICAqL1xuICAgIG9ic2VydmVycztcbiAgICBjb25zdHJ1Y3RvcihsaWJwMnAsIHB1YnN1YlRvcGljcykge1xuICAgICAgICBpZiAoIXRoaXMuaXNSZWxheVB1YnN1YihsaWJwMnAuc2VydmljZXMucHVic3ViKSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEZhaWxlZCB0byBpbml0aWFsaXplIFJlbGF5LiBsaWJwMnAucHVic3ViIGRvZXMgbm90IHN1cHBvcnQgJHtSZWxheS5tdWx0aWNvZGVjfWApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ29zc2lwU3ViID0gbGlicDJwLnNlcnZpY2VzLnB1YnN1YjtcbiAgICAgICAgdGhpcy5wdWJzdWJUb3BpY3MgPSBuZXcgU2V0KHB1YnN1YlRvcGljcyk7XG4gICAgICAgIGlmICh0aGlzLmdvc3NpcFN1Yi5pc1N0YXJ0ZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVUb0FsbFRvcGljcygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub2JzZXJ2ZXJzID0gbmV3IE1hcCgpO1xuICAgICAgICAvLyBEZWZhdWx0IFB1YnN1YlRvcGljIGRlY29kZXJcbiAgICAgICAgLy8gVE9ETzogVXNlciBtaWdodCB3YW50IHRvIGRlY2lkZSB3aGF0IGRlY29kZXIgc2hvdWxkIGJlIHVzZWQgKGUuZy4gZm9yIFJMTilcbiAgICAgICAgdGhpcy5kZWZhdWx0RGVjb2RlciA9IG5ldyBUb3BpY09ubHlEZWNvZGVyKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1vdW50cyB0aGUgZ29zc2lwc3ViIHByb3RvY29sIG9udG8gdGhlIGxpYnAycCBub2RlXG4gICAgICogYW5kIHN1YnNjcmliZXMgdG8gYWxsIHRoZSB0b3BpY3MuXG4gICAgICpcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBhc3luYyBzdGFydCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZ29zc2lwU3ViLmlzU3RhcnRlZCgpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcIkdvc3NpcFN1YiBhbHJlYWR5IHN0YXJ0ZWQuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMuZ29zc2lwU3ViLnN0YXJ0KCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9BbGxUb3BpY3MoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2VuZCBXYWt1IG1lc3NhZ2UuXG4gICAgICovXG4gICAgYXN5bmMgc2VuZChlbmNvZGVyLCBtZXNzYWdlKSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NlcyA9IFtdO1xuICAgICAgICBjb25zdCB7IHB1YnN1YlRvcGljIH0gPSBlbmNvZGVyO1xuICAgICAgICBpZiAoIXRoaXMucHVic3ViVG9waWNzLmhhcyhwdWJzdWJUb3BpYykpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byBzZW5kIHdha3UgcmVsYXk6IHRvcGljIG5vdCBjb25maWd1cmVkXCIpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzdWNjZXNzZXMsXG4gICAgICAgICAgICAgICAgZmFpbHVyZXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IFByb3RvY29sRXJyb3IuVE9QSUNfTk9UX0NPTkZJR1VSRURcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbXNnID0gYXdhaXQgZW5jb2Rlci50b1dpcmUobWVzc2FnZSk7XG4gICAgICAgIGlmICghbXNnKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoXCJGYWlsZWQgdG8gZW5jb2RlIG1lc3NhZ2UsIGFib3J0aW5nIHB1Ymxpc2hcIik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3NlcyxcbiAgICAgICAgICAgICAgICBmYWlsdXJlczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogUHJvdG9jb2xFcnJvci5FTkNPREVfRkFJTEVEXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNXaXJlU2l6ZVVuZGVyQ2FwKG1zZykpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byBzZW5kIHdha3UgcmVsYXk6IG1lc3NhZ2UgaXMgYmlnZ2VyIHRoYXQgMU1CXCIpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzdWNjZXNzZXMsXG4gICAgICAgICAgICAgICAgZmFpbHVyZXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IFByb3RvY29sRXJyb3IuU0laRV9UT09fQklHXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgcmVjaXBpZW50cyB9ID0gYXdhaXQgdGhpcy5nb3NzaXBTdWIucHVibGlzaChwdWJzdWJUb3BpYywgbXNnKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN1Y2Nlc3NlczogcmVjaXBpZW50c1xuICAgICAgICB9O1xuICAgIH1cbiAgICBzdWJzY3JpYmUoZGVjb2RlcnMsIGNhbGxiYWNrKSB7XG4gICAgICAgIGNvbnN0IG9ic2VydmVycyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGRlY29kZXIgb2YgQXJyYXkuaXNBcnJheShkZWNvZGVycykgPyBkZWNvZGVycyA6IFtkZWNvZGVyc10pIHtcbiAgICAgICAgICAgIGNvbnN0IHsgcHVic3ViVG9waWMgfSA9IGRlY29kZXI7XG4gICAgICAgICAgICBjb25zdCBjdE9icyA9IHRoaXMub2JzZXJ2ZXJzLmdldChwdWJzdWJUb3BpYykgPz8gbmV3IE1hcCgpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSB7IHB1YnN1YlRvcGljLCBkZWNvZGVyLCBjYWxsYmFjayB9O1xuICAgICAgICAgICAgcHVzaE9ySW5pdE1hcFNldChjdE9icywgZGVjb2Rlci5jb250ZW50VG9waWMsIG9ic2VydmVyKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXJzLnNldChwdWJzdWJUb3BpYywgY3RPYnMpO1xuICAgICAgICAgICAgb2JzZXJ2ZXJzLnB1c2goW3B1YnN1YlRvcGljLCBvYnNlcnZlcl0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZU9ic2VydmVycyhvYnNlcnZlcnMpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICByZW1vdmVPYnNlcnZlcnMob2JzZXJ2ZXJzKSB7XG4gICAgICAgIGZvciAoY29uc3QgW3B1YnN1YlRvcGljLCBvYnNlcnZlcl0gb2Ygb2JzZXJ2ZXJzKSB7XG4gICAgICAgICAgICBjb25zdCBjdE9icyA9IHRoaXMub2JzZXJ2ZXJzLmdldChwdWJzdWJUb3BpYyk7XG4gICAgICAgICAgICBpZiAoIWN0T2JzKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgY29uc3QgY29udGVudFRvcGljID0gb2JzZXJ2ZXIuZGVjb2Rlci5jb250ZW50VG9waWM7XG4gICAgICAgICAgICBjb25zdCBfb2JzID0gY3RPYnMuZ2V0KGNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICBpZiAoIV9vYnMpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBfb2JzLmRlbGV0ZShvYnNlcnZlcik7XG4gICAgICAgICAgICBjdE9icy5zZXQoY29udGVudFRvcGljLCBfb2JzKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXJzLnNldChwdWJzdWJUb3BpYywgY3RPYnMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRvU3Vic2NyaXB0aW9uSXRlcmF0b3IoZGVjb2RlcnMpIHtcbiAgICAgICAgcmV0dXJuIHRvQXN5bmNJdGVyYXRvcih0aGlzLCBkZWNvZGVycyk7XG4gICAgfVxuICAgIGdldEFjdGl2ZVN1YnNjcmlwdGlvbnMoKSB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgZm9yIChjb25zdCBwdWJzdWJUb3BpYyBvZiB0aGlzLnB1YnN1YlRvcGljcykge1xuICAgICAgICAgICAgbWFwLnNldChwdWJzdWJUb3BpYywgQXJyYXkuZnJvbSh0aGlzLm9ic2VydmVycy5rZXlzKCkpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWFwO1xuICAgIH1cbiAgICBnZXRNZXNoUGVlcnModG9waWMgPSBEZWZhdWx0UHVic3ViVG9waWMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ29zc2lwU3ViLmdldE1lc2hQZWVycyh0b3BpYyk7XG4gICAgfVxuICAgIHN1YnNjcmliZVRvQWxsVG9waWNzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IHB1YnN1YlRvcGljIG9mIHRoaXMucHVic3ViVG9waWNzKSB7XG4gICAgICAgICAgICB0aGlzLmdvc3NpcFN1YlN1YnNjcmliZShwdWJzdWJUb3BpYyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgcHJvY2Vzc0luY29taW5nTWVzc2FnZShwdWJzdWJUb3BpYywgYnl0ZXMpIHtcbiAgICAgICAgY29uc3QgdG9waWNPbmx5TXNnID0gYXdhaXQgdGhpcy5kZWZhdWx0RGVjb2Rlci5mcm9tV2lyZVRvUHJvdG9PYmooYnl0ZXMpO1xuICAgICAgICBpZiAoIXRvcGljT25seU1zZyB8fCAhdG9waWNPbmx5TXNnLmNvbnRlbnRUb3BpYykge1xuICAgICAgICAgICAgbG9nLndhcm4oXCJNZXNzYWdlIGRvZXMgbm90IGhhdmUgYSBjb250ZW50IHRvcGljLCBza2lwcGluZ1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgbWFwIG9mIGNvbnRlbnQgdG9waWNzIGZvciB0aGUgZ2l2ZW4gcHVic3ViVG9waWNcbiAgICAgICAgY29uc3QgY29udGVudFRvcGljTWFwID0gdGhpcy5vYnNlcnZlcnMuZ2V0KHB1YnN1YlRvcGljKTtcbiAgICAgICAgaWYgKCFjb250ZW50VG9waWNNYXApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgc2V0IG9mIG9ic2VydmVycyBmb3IgdGhlIGdpdmVuIGNvbnRlbnRUb3BpY1xuICAgICAgICBjb25zdCBvYnNlcnZlcnMgPSBjb250ZW50VG9waWNNYXAuZ2V0KHRvcGljT25seU1zZy5jb250ZW50VG9waWMpO1xuICAgICAgICBpZiAoIW9ic2VydmVycykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKEFycmF5LmZyb20ob2JzZXJ2ZXJzKS5tYXAoKHsgZGVjb2RlciwgY2FsbGJhY2sgfSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvdG9Nc2cgPSBhd2FpdCBkZWNvZGVyLmZyb21XaXJlVG9Qcm90b09iaihieXRlcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcHJvdG9Nc2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcIkludGVybmFsIGVycm9yOiBtZXNzYWdlIHByZXZpb3VzbHkgZGVjb2RlZCBmYWlsZWQgb24gMm5kIHBhc3MuXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1zZyA9IGF3YWl0IGRlY29kZXIuZnJvbVByb3RvT2JqKHB1YnN1YlRvcGljLCBwcm90b01zZyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtc2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IGNhbGxiYWNrKG1zZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2cuZXJyb3IoXCJGYWlsZWQgdG8gZGVjb2RlIG1lc3NhZ2VzIG9uXCIsIHRvcGljT25seU1zZy5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBsb2cuZXJyb3IoXCJFcnJvciB3aGlsZSBkZWNvZGluZyBtZXNzYWdlOlwiLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKTtcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTdWJzY3JpYmUgdG8gYSBwdWJzdWIgdG9waWMgYW5kIHN0YXJ0IGVtaXR0aW5nIFdha3UgbWVzc2FnZXMgdG8gb2JzZXJ2ZXJzLlxuICAgICAqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgZ29zc2lwU3ViU3Vic2NyaWJlKHB1YnN1YlRvcGljKSB7XG4gICAgICAgIHRoaXMuZ29zc2lwU3ViLmFkZEV2ZW50TGlzdGVuZXIoXCJnb3NzaXBzdWI6bWVzc2FnZVwiLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudC5kZXRhaWwubXNnLnRvcGljICE9PSBwdWJzdWJUb3BpYylcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NJbmNvbWluZ01lc3NhZ2UoZXZlbnQuZGV0YWlsLm1zZy50b3BpYywgZXZlbnQuZGV0YWlsLm1zZy5kYXRhKS5jYXRjaCgoZSkgPT4gbG9nLmVycm9yKFwiRmFpbGVkIHRvIHByb2Nlc3MgaW5jb21pbmcgbWVzc2FnZVwiLCBlKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdvc3NpcFN1Yi50b3BpY1ZhbGlkYXRvcnMuc2V0KHB1YnN1YlRvcGljLCBtZXNzYWdlVmFsaWRhdG9yKTtcbiAgICAgICAgdGhpcy5nb3NzaXBTdWIuc3Vic2NyaWJlKHB1YnN1YlRvcGljKTtcbiAgICB9XG4gICAgaXNSZWxheVB1YnN1YihwdWJzdWIpIHtcbiAgICAgICAgcmV0dXJuIHB1YnN1Yj8ubXVsdGljb2RlY3M/LmluY2x1ZGVzKFJlbGF5Lm11bHRpY29kZWMpID8/IGZhbHNlO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiB3YWt1UmVsYXkocHVic3ViVG9waWNzKSB7XG4gICAgcmV0dXJuIChsaWJwMnApID0+IG5ldyBSZWxheShsaWJwMnAsIHB1YnN1YlRvcGljcyk7XG59XG5leHBvcnQgZnVuY3Rpb24gd2FrdUdvc3NpcFN1Yihpbml0ID0ge30pIHtcbiAgICByZXR1cm4gKGNvbXBvbmVudHMpID0+IHtcbiAgICAgICAgaW5pdCA9IHtcbiAgICAgICAgICAgIC4uLmluaXQsXG4gICAgICAgICAgICBtc2dJZEZuOiAoeyBkYXRhIH0pID0+IHNoYTI1NihkYXRhKSxcbiAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IG5vIHNpZ25hdHVyZSBpcyBpbmNsdWRlZCBub3IgZXhwZWN0ZWQgaW4gdGhlIG1lc3NhZ2VzLlxuICAgICAgICAgICAgZ2xvYmFsU2lnbmF0dXJlUG9saWN5OiBTaWduYXR1cmVQb2xpY3kuU3RyaWN0Tm9TaWduLFxuICAgICAgICAgICAgZmFsbGJhY2tUb0Zsb29kc3ViOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBwdWJzdWIgPSBuZXcgR29zc2lwU3ViKGNvbXBvbmVudHMsIGluaXQpO1xuICAgICAgICBwdWJzdWIubXVsdGljb2RlY3MgPSBSZWxheUNvZGVjcztcbiAgICAgICAgcmV0dXJuIHB1YnN1YjtcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIkdvc3NpcFN1YiIsIlNpZ25hdHVyZVBvbGljeSIsInNoYTI1NiIsIkRlZmF1bHRQdWJzdWJUb3BpYyIsIlByb3RvY29sRXJyb3IiLCJpc1dpcmVTaXplVW5kZXJDYXAiLCJ0b0FzeW5jSXRlcmF0b3IiLCJwdXNoT3JJbml0TWFwU2V0IiwiTG9nZ2VyIiwiUmVsYXlDb2RlY3MiLCJtZXNzYWdlVmFsaWRhdG9yIiwiVG9waWNPbmx5RGVjb2RlciIsImxvZyIsIlJlbGF5IiwibXVsdGljb2RlYyIsImNvbnN0cnVjdG9yIiwibGlicDJwIiwicHVic3ViVG9waWNzIiwiaXNSZWxheVB1YnN1YiIsInNlcnZpY2VzIiwicHVic3ViIiwiRXJyb3IiLCJnb3NzaXBTdWIiLCJTZXQiLCJpc1N0YXJ0ZWQiLCJzdWJzY3JpYmVUb0FsbFRvcGljcyIsIm9ic2VydmVycyIsIk1hcCIsImRlZmF1bHREZWNvZGVyIiwic3RhcnQiLCJzZW5kIiwiZW5jb2RlciIsIm1lc3NhZ2UiLCJzdWNjZXNzZXMiLCJwdWJzdWJUb3BpYyIsImhhcyIsImVycm9yIiwiZmFpbHVyZXMiLCJUT1BJQ19OT1RfQ09ORklHVVJFRCIsIm1zZyIsInRvV2lyZSIsIkVOQ09ERV9GQUlMRUQiLCJTSVpFX1RPT19CSUciLCJyZWNpcGllbnRzIiwicHVibGlzaCIsInN1YnNjcmliZSIsImRlY29kZXJzIiwiY2FsbGJhY2siLCJkZWNvZGVyIiwiQXJyYXkiLCJpc0FycmF5IiwiY3RPYnMiLCJnZXQiLCJvYnNlcnZlciIsImNvbnRlbnRUb3BpYyIsInNldCIsInB1c2giLCJyZW1vdmVPYnNlcnZlcnMiLCJfb2JzIiwiZGVsZXRlIiwidG9TdWJzY3JpcHRpb25JdGVyYXRvciIsImdldEFjdGl2ZVN1YnNjcmlwdGlvbnMiLCJtYXAiLCJmcm9tIiwia2V5cyIsImdldE1lc2hQZWVycyIsInRvcGljIiwiZ29zc2lwU3ViU3Vic2NyaWJlIiwicHJvY2Vzc0luY29taW5nTWVzc2FnZSIsImJ5dGVzIiwidG9waWNPbmx5TXNnIiwiZnJvbVdpcmVUb1Byb3RvT2JqIiwid2FybiIsImNvbnRlbnRUb3BpY01hcCIsIlByb21pc2UiLCJhbGwiLCJwcm90b01zZyIsImZyb21Qcm90b09iaiIsImFkZEV2ZW50TGlzdGVuZXIiLCJldmVudCIsImRldGFpbCIsImRhdGEiLCJjYXRjaCIsImUiLCJ0b3BpY1ZhbGlkYXRvcnMiLCJtdWx0aWNvZGVjcyIsImluY2x1ZGVzIiwid2FrdVJlbGF5Iiwid2FrdUdvc3NpcFN1YiIsImluaXQiLCJjb21wb25lbnRzIiwibXNnSWRGbiIsImdsb2JhbFNpZ25hdHVyZVBvbGljeSIsIlN0cmljdE5vU2lnbiIsImZhbGxiYWNrVG9GbG9vZHN1YiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/dist/message_validator.js":
/*!************************************************************!*\
!*** ./node_modules/@waku/relay/dist/message_validator.js ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ messageValidator: () => (/* binding */ messageValidator)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/pubsub/index.js\");\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_1__.Logger(\"relay\");\nfunction messageValidator(peer, message) {\n const startTime = performance.now();\n log.info(`validating message from ${peer} received on ${message.topic}`);\n let result = _libp2p_interface__WEBPACK_IMPORTED_MODULE_2__.TopicValidatorResult.Accept;\n try {\n const protoMessage = _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_message.WakuMessage.decode(message.data);\n if (!protoMessage.contentTopic || !protoMessage.contentTopic.length || !protoMessage.payload || !protoMessage.payload.length) {\n result = _libp2p_interface__WEBPACK_IMPORTED_MODULE_2__.TopicValidatorResult.Reject;\n }\n } catch (e) {\n result = _libp2p_interface__WEBPACK_IMPORTED_MODULE_2__.TopicValidatorResult.Reject;\n }\n const endTime = performance.now();\n const timeTakenMs = endTime - startTime;\n if (timeTakenMs > 100) {\n log.warn(`message validation took ${timeTakenMs}ms for peer ${peer} on topic ${message.topic}. This should be less than 100ms.`);\n } else {\n log.info(`message validation took ${timeTakenMs}ms for peer ${peer} on topic ${message.topic}`);\n }\n return result;\n} //# sourceMappingURL=message_validator.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvZGlzdC9tZXNzYWdlX3ZhbGlkYXRvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXlEO0FBQ0o7QUFDaEI7QUFDckMsTUFBTUksTUFBTSxJQUFJRCwrQ0FBTUEsQ0FBQztBQUNoQixTQUFTRSxpQkFBaUJDLElBQUksRUFBRUMsT0FBTztJQUMxQyxNQUFNQyxZQUFZQyxZQUFZQyxHQUFHO0lBQ2pDTixJQUFJTyxJQUFJLENBQUMsQ0FBQyx3QkFBd0IsRUFBRUwsS0FBSyxhQUFhLEVBQUVDLFFBQVFLLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLElBQUlDLFNBQVNiLG1FQUFvQkEsQ0FBQ2MsTUFBTTtJQUN4QyxJQUFJO1FBQ0EsTUFBTUMsZUFBZWIsa0VBQWlCLENBQUNlLE1BQU0sQ0FBQ1YsUUFBUVcsSUFBSTtRQUMxRCxJQUFJLENBQUNILGFBQWFJLFlBQVksSUFDMUIsQ0FBQ0osYUFBYUksWUFBWSxDQUFDQyxNQUFNLElBQ2pDLENBQUNMLGFBQWFNLE9BQU8sSUFDckIsQ0FBQ04sYUFBYU0sT0FBTyxDQUFDRCxNQUFNLEVBQUU7WUFDOUJQLFNBQVNiLG1FQUFvQkEsQ0FBQ3NCLE1BQU07UUFDeEM7SUFDSixFQUNBLE9BQU9DLEdBQUc7UUFDTlYsU0FBU2IsbUVBQW9CQSxDQUFDc0IsTUFBTTtJQUN4QztJQUNBLE1BQU1FLFVBQVVmLFlBQVlDLEdBQUc7SUFDL0IsTUFBTWUsY0FBY0QsVUFBVWhCO0lBQzlCLElBQUlpQixjQUFjLEtBQUs7UUFDbkJyQixJQUFJc0IsSUFBSSxDQUFDLENBQUMsd0JBQXdCLEVBQUVELFlBQVksWUFBWSxFQUFFbkIsS0FBSyxVQUFVLEVBQUVDLFFBQVFLLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztJQUNuSSxPQUNLO1FBQ0RSLElBQUlPLElBQUksQ0FBQyxDQUFDLHdCQUF3QixFQUFFYyxZQUFZLFlBQVksRUFBRW5CLEtBQUssVUFBVSxFQUFFQyxRQUFRSyxLQUFLLENBQUMsQ0FBQztJQUNsRztJQUNBLE9BQU9DO0FBQ1gsRUFDQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9yZWxheS9kaXN0L21lc3NhZ2VfdmFsaWRhdG9yLmpzP2YyNDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9waWNWYWxpZGF0b3JSZXN1bHQgfSBmcm9tIFwiQGxpYnAycC9pbnRlcmZhY2VcIjtcbmltcG9ydCB7IHByb3RvX21lc3NhZ2UgYXMgcHJvdG8gfSBmcm9tIFwiQHdha3UvcHJvdG9cIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCJAd2FrdS91dGlsc1wiO1xuY29uc3QgbG9nID0gbmV3IExvZ2dlcihcInJlbGF5XCIpO1xuZXhwb3J0IGZ1bmN0aW9uIG1lc3NhZ2VWYWxpZGF0b3IocGVlciwgbWVzc2FnZSkge1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIGxvZy5pbmZvKGB2YWxpZGF0aW5nIG1lc3NhZ2UgZnJvbSAke3BlZXJ9IHJlY2VpdmVkIG9uICR7bWVzc2FnZS50b3BpY31gKTtcbiAgICBsZXQgcmVzdWx0ID0gVG9waWNWYWxpZGF0b3JSZXN1bHQuQWNjZXB0O1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHByb3RvTWVzc2FnZSA9IHByb3RvLldha3VNZXNzYWdlLmRlY29kZShtZXNzYWdlLmRhdGEpO1xuICAgICAgICBpZiAoIXByb3RvTWVzc2FnZS5jb250ZW50VG9waWMgfHxcbiAgICAgICAgICAgICFwcm90b01lc3NhZ2UuY29udGVudFRvcGljLmxlbmd0aCB8fFxuICAgICAgICAgICAgIXByb3RvTWVzc2FnZS5wYXlsb2FkIHx8XG4gICAgICAgICAgICAhcHJvdG9NZXNzYWdlLnBheWxvYWQubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBUb3BpY1ZhbGlkYXRvclJlc3VsdC5SZWplY3Q7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgcmVzdWx0ID0gVG9waWNWYWxpZGF0b3JSZXN1bHQuUmVqZWN0O1xuICAgIH1cbiAgICBjb25zdCBlbmRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgY29uc3QgdGltZVRha2VuTXMgPSBlbmRUaW1lIC0gc3RhcnRUaW1lO1xuICAgIGlmICh0aW1lVGFrZW5NcyA+IDEwMCkge1xuICAgICAgICBsb2cud2FybihgbWVzc2FnZSB2YWxpZGF0aW9uIHRvb2sgJHt0aW1lVGFrZW5Nc31tcyBmb3IgcGVlciAke3BlZXJ9IG9uIHRvcGljICR7bWVzc2FnZS50b3BpY30uIFRoaXMgc2hvdWxkIGJlIGxlc3MgdGhhbiAxMDBtcy5gKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxvZy5pbmZvKGBtZXNzYWdlIHZhbGlkYXRpb24gdG9vayAke3RpbWVUYWtlbk1zfW1zIGZvciBwZWVyICR7cGVlcn0gb24gdG9waWMgJHttZXNzYWdlLnRvcGljfWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVzc2FnZV92YWxpZGF0b3IuanMubWFwIl0sIm5hbWVzIjpbIlRvcGljVmFsaWRhdG9yUmVzdWx0IiwicHJvdG9fbWVzc2FnZSIsInByb3RvIiwiTG9nZ2VyIiwibG9nIiwibWVzc2FnZVZhbGlkYXRvciIsInBlZXIiLCJtZXNzYWdlIiwic3RhcnRUaW1lIiwicGVyZm9ybWFuY2UiLCJub3ciLCJpbmZvIiwidG9waWMiLCJyZXN1bHQiLCJBY2NlcHQiLCJwcm90b01lc3NhZ2UiLCJXYWt1TWVzc2FnZSIsImRlY29kZSIsImRhdGEiLCJjb250ZW50VG9waWMiLCJsZW5ndGgiLCJwYXlsb2FkIiwiUmVqZWN0IiwiZSIsImVuZFRpbWUiLCJ0aW1lVGFrZW5NcyIsIndhcm4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/dist/message_validator.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/dist/topic_only_message.js":
/*!*************************************************************!*\
!*** ./node_modules/@waku/relay/dist/topic_only_message.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopicOnlyDecoder: () => (/* binding */ TopicOnlyDecoder),\n/* harmony export */ TopicOnlyMessage: () => (/* binding */ TopicOnlyMessage)\n/* harmony export */ });\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/index.js\");\n\n\nclass TopicOnlyMessage {\n constructor(pubsubTopic, proto){\n this.payload = new Uint8Array();\n this.pubsubTopic = pubsubTopic;\n this.proto = proto;\n }\n get contentTopic() {\n return this.proto.contentTopic;\n }\n}\nclass TopicOnlyDecoder {\n fromWireToProtoObj(bytes) {\n const protoMessage = _waku_proto__WEBPACK_IMPORTED_MODULE_1__.TopicOnlyMessage.decode(bytes);\n return Promise.resolve({\n contentTopic: protoMessage.contentTopic,\n payload: new Uint8Array(),\n rateLimitProof: undefined,\n timestamp: undefined,\n meta: undefined,\n version: undefined,\n ephemeral: undefined\n });\n }\n async fromProtoObj(pubsubTopic, proto) {\n return new TopicOnlyMessage(pubsubTopic, proto);\n }\n constructor(){\n this.pubsubTopic = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DefaultPubsubTopic;\n this.contentTopic = \"\";\n }\n} //# sourceMappingURL=topic_only_message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvZGlzdC90b3BpY19vbmx5X21lc3NhZ2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFzRDtBQUNrQjtBQUNqRSxNQUFNQztJQVFURSxZQUFZQyxXQUFXLEVBQUVDLEtBQUssQ0FBRTthQUxoQ0MsVUFBVSxJQUFJQztRQU1WLElBQUksQ0FBQ0gsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLEtBQUssR0FBR0E7SUFDakI7SUFDQSxJQUFJRyxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUNILEtBQUssQ0FBQ0csWUFBWTtJQUNsQztBQUNKO0FBQ08sTUFBTUM7SUFHVEMsbUJBQW1CQyxLQUFLLEVBQUU7UUFDdEIsTUFBTUMsZUFBZVYseURBQXFCQSxDQUFDVyxNQUFNLENBQUNGO1FBQ2xELE9BQU9HLFFBQVFDLE9BQU8sQ0FBQztZQUNuQlAsY0FBY0ksYUFBYUosWUFBWTtZQUN2Q0YsU0FBUyxJQUFJQztZQUNiUyxnQkFBZ0JDO1lBQ2hCQyxXQUFXRDtZQUNYRSxNQUFNRjtZQUNORyxTQUFTSDtZQUNUSSxXQUFXSjtRQUNmO0lBQ0o7SUFDQSxNQUFNSyxhQUFhbEIsV0FBVyxFQUFFQyxLQUFLLEVBQUU7UUFDbkMsT0FBTyxJQUFJSixpQkFBaUJHLGFBQWFDO0lBQzdDOzthQWhCQUQsY0FBY0osZ0VBQWtCQTthQUNoQ1EsZUFBZTs7QUFnQm5CLEVBQ0EsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvZGlzdC90b3BpY19vbmx5X21lc3NhZ2UuanM/ZjExMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWZhdWx0UHVic3ViVG9waWMgfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgVG9waWNPbmx5TWVzc2FnZSBhcyBQcm90b1RvcGljT25seU1lc3NhZ2UgfSBmcm9tIFwiQHdha3UvcHJvdG9cIjtcbmV4cG9ydCBjbGFzcyBUb3BpY09ubHlNZXNzYWdlIHtcbiAgICBwdWJzdWJUb3BpYztcbiAgICBwcm90bztcbiAgICBwYXlsb2FkID0gbmV3IFVpbnQ4QXJyYXkoKTtcbiAgICByYXRlTGltaXRQcm9vZjtcbiAgICB0aW1lc3RhbXA7XG4gICAgbWV0YTtcbiAgICBlcGhlbWVyYWw7XG4gICAgY29uc3RydWN0b3IocHVic3ViVG9waWMsIHByb3RvKSB7XG4gICAgICAgIHRoaXMucHVic3ViVG9waWMgPSBwdWJzdWJUb3BpYztcbiAgICAgICAgdGhpcy5wcm90byA9IHByb3RvO1xuICAgIH1cbiAgICBnZXQgY29udGVudFRvcGljKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm90by5jb250ZW50VG9waWM7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFRvcGljT25seURlY29kZXIge1xuICAgIHB1YnN1YlRvcGljID0gRGVmYXVsdFB1YnN1YlRvcGljO1xuICAgIGNvbnRlbnRUb3BpYyA9IFwiXCI7XG4gICAgZnJvbVdpcmVUb1Byb3RvT2JqKGJ5dGVzKSB7XG4gICAgICAgIGNvbnN0IHByb3RvTWVzc2FnZSA9IFByb3RvVG9waWNPbmx5TWVzc2FnZS5kZWNvZGUoYnl0ZXMpO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogcHJvdG9NZXNzYWdlLmNvbnRlbnRUb3BpYyxcbiAgICAgICAgICAgIHBheWxvYWQ6IG5ldyBVaW50OEFycmF5KCksXG4gICAgICAgICAgICByYXRlTGltaXRQcm9vZjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgdGltZXN0YW1wOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBtZXRhOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB2ZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBlcGhlbWVyYWw6IHVuZGVmaW5lZFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgYXN5bmMgZnJvbVByb3RvT2JqKHB1YnN1YlRvcGljLCBwcm90bykge1xuICAgICAgICByZXR1cm4gbmV3IFRvcGljT25seU1lc3NhZ2UocHVic3ViVG9waWMsIHByb3RvKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD10b3BpY19vbmx5X21lc3NhZ2UuanMubWFwIl0sIm5hbWVzIjpbIkRlZmF1bHRQdWJzdWJUb3BpYyIsIlRvcGljT25seU1lc3NhZ2UiLCJQcm90b1RvcGljT25seU1lc3NhZ2UiLCJjb25zdHJ1Y3RvciIsInB1YnN1YlRvcGljIiwicHJvdG8iLCJwYXlsb2FkIiwiVWludDhBcnJheSIsImNvbnRlbnRUb3BpYyIsIlRvcGljT25seURlY29kZXIiLCJmcm9tV2lyZVRvUHJvdG9PYmoiLCJieXRlcyIsInByb3RvTWVzc2FnZSIsImRlY29kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmF0ZUxpbWl0UHJvb2YiLCJ1bmRlZmluZWQiLCJ0aW1lc3RhbXAiLCJtZXRhIiwidmVyc2lvbiIsImVwaGVtZXJhbCIsImZyb21Qcm90b09iaiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/dist/topic_only_message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/connection_manager.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/connection_manager.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EConnectionStateEvents: () => (/* binding */ EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* binding */ EPeersByDiscoveryEvents),\n/* harmony export */ Tags: () => (/* binding */ Tags)\n/* harmony export */ });\nvar Tags;\n(function(Tags) {\n Tags[\"BOOTSTRAP\"] = \"bootstrap\";\n Tags[\"PEER_EXCHANGE\"] = \"peer-exchange\";\n Tags[\"LOCAL\"] = \"local-peer-cache\";\n})(Tags || (Tags = {}));\nvar EPeersByDiscoveryEvents;\n(function(EPeersByDiscoveryEvents) {\n EPeersByDiscoveryEvents[\"PEER_DISCOVERY_BOOTSTRAP\"] = \"peer:discovery:bootstrap\";\n EPeersByDiscoveryEvents[\"PEER_DISCOVERY_PEER_EXCHANGE\"] = \"peer:discovery:peer-exchange\";\n EPeersByDiscoveryEvents[\"PEER_CONNECT_BOOTSTRAP\"] = \"peer:connected:bootstrap\";\n EPeersByDiscoveryEvents[\"PEER_CONNECT_PEER_EXCHANGE\"] = \"peer:connected:peer-exchange\";\n})(EPeersByDiscoveryEvents || (EPeersByDiscoveryEvents = {}));\nvar EConnectionStateEvents;\n(function(EConnectionStateEvents) {\n EConnectionStateEvents[\"CONNECTION_STATUS\"] = \"waku:connection\";\n})(EConnectionStateEvents || (EConnectionStateEvents = {})); //# sourceMappingURL=connection_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9jb25uZWN0aW9uX21hbmFnZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQU8sSUFBSUEsS0FBSztBQUNmLFVBQVVBLElBQUk7SUFDWEEsSUFBSSxDQUFDLFlBQVksR0FBRztJQUNwQkEsSUFBSSxDQUFDLGdCQUFnQixHQUFHO0lBQ3hCQSxJQUFJLENBQUMsUUFBUSxHQUFHO0FBQ3BCLEdBQUdBLFFBQVNBLENBQUFBLE9BQU8sQ0FBQztBQUNiLElBQUlDLHdCQUF3QjtBQUNsQyxVQUFVQSx1QkFBdUI7SUFDOUJBLHVCQUF1QixDQUFDLDJCQUEyQixHQUFHO0lBQ3REQSx1QkFBdUIsQ0FBQywrQkFBK0IsR0FBRztJQUMxREEsdUJBQXVCLENBQUMseUJBQXlCLEdBQUc7SUFDcERBLHVCQUF1QixDQUFDLDZCQUE2QixHQUFHO0FBQzVELEdBQUdBLDJCQUE0QkEsQ0FBQUEsMEJBQTBCLENBQUM7QUFDbkQsSUFBSUMsdUJBQXVCO0FBQ2pDLFVBQVVBLHNCQUFzQjtJQUM3QkEsc0JBQXNCLENBQUMsb0JBQW9CLEdBQUc7QUFDbEQsR0FBR0EsMEJBQTJCQSxDQUFBQSx5QkFBeUIsQ0FBQyxLQUN4RCw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9yZWxheS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2Nvbm5lY3Rpb25fbWFuYWdlci5qcz9hYjBkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgVGFncztcbihmdW5jdGlvbiAoVGFncykge1xuICAgIFRhZ3NbXCJCT09UU1RSQVBcIl0gPSBcImJvb3RzdHJhcFwiO1xuICAgIFRhZ3NbXCJQRUVSX0VYQ0hBTkdFXCJdID0gXCJwZWVyLWV4Y2hhbmdlXCI7XG4gICAgVGFnc1tcIkxPQ0FMXCJdID0gXCJsb2NhbC1wZWVyLWNhY2hlXCI7XG59KShUYWdzIHx8IChUYWdzID0ge30pKTtcbmV4cG9ydCB2YXIgRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHM7XG4oZnVuY3Rpb24gKEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzKSB7XG4gICAgRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHNbXCJQRUVSX0RJU0NPVkVSWV9CT09UU1RSQVBcIl0gPSBcInBlZXI6ZGlzY292ZXJ5OmJvb3RzdHJhcFwiO1xuICAgIEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzW1wiUEVFUl9ESVNDT1ZFUllfUEVFUl9FWENIQU5HRVwiXSA9IFwicGVlcjpkaXNjb3Zlcnk6cGVlci1leGNoYW5nZVwiO1xuICAgIEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzW1wiUEVFUl9DT05ORUNUX0JPT1RTVFJBUFwiXSA9IFwicGVlcjpjb25uZWN0ZWQ6Ym9vdHN0cmFwXCI7XG4gICAgRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHNbXCJQRUVSX0NPTk5FQ1RfUEVFUl9FWENIQU5HRVwiXSA9IFwicGVlcjpjb25uZWN0ZWQ6cGVlci1leGNoYW5nZVwiO1xufSkoRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHMgfHwgKEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzID0ge30pKTtcbmV4cG9ydCB2YXIgRUNvbm5lY3Rpb25TdGF0ZUV2ZW50cztcbihmdW5jdGlvbiAoRUNvbm5lY3Rpb25TdGF0ZUV2ZW50cykge1xuICAgIEVDb25uZWN0aW9uU3RhdGVFdmVudHNbXCJDT05ORUNUSU9OX1NUQVRVU1wiXSA9IFwid2FrdTpjb25uZWN0aW9uXCI7XG59KShFQ29ubmVjdGlvblN0YXRlRXZlbnRzIHx8IChFQ29ubmVjdGlvblN0YXRlRXZlbnRzID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbm5lY3Rpb25fbWFuYWdlci5qcy5tYXAiXSwibmFtZXMiOlsiVGFncyIsIkVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzIiwiRUNvbm5lY3Rpb25TdGF0ZUV2ZW50cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/connection_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/constants.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/constants.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* binding */ DEFAULT_CLUSTER_ID),\n/* harmony export */ DefaultPubsubTopic: () => (/* binding */ DefaultPubsubTopic)\n/* harmony export */ });\n/**\n * DefaultPubsubTopic is the default gossipsub topic to use for Waku.\n */ const DefaultPubsubTopic = \"/waku/2/default-waku/proto\";\n/**\n * The default cluster ID for The Waku Network\n */ const DEFAULT_CLUSTER_ID = 1; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Q0FFQyxHQUNNLE1BQU1BLHFCQUFxQiw2QkFBNkI7QUFDL0Q7O0NBRUMsR0FDTSxNQUFNQyxxQkFBcUIsRUFBRSxDQUNwQyxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9yZWxheS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2NvbnN0YW50cy5qcz9mZGZjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVmYXVsdFB1YnN1YlRvcGljIGlzIHRoZSBkZWZhdWx0IGdvc3NpcHN1YiB0b3BpYyB0byB1c2UgZm9yIFdha3UuXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0UHVic3ViVG9waWMgPSBcIi93YWt1LzIvZGVmYXVsdC13YWt1L3Byb3RvXCI7XG4vKipcbiAqIFRoZSBkZWZhdWx0IGNsdXN0ZXIgSUQgZm9yIFRoZSBXYWt1IE5ldHdvcmtcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0xVU1RFUl9JRCA9IDE7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudHMuanMubWFwIl0sIm5hbWVzIjpbIkRlZmF1bHRQdWJzdWJUb3BpYyIsIkRFRkFVTFRfQ0xVU1RFUl9JRCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/constants.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/dns_discovery.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/dns_discovery.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=dns_discovery.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9kbnNfZGlzY292ZXJ5LmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3JlbGF5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvZG5zX2Rpc2NvdmVyeS5qcz9kMmM4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRuc19kaXNjb3ZlcnkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/dns_discovery.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/enr.js":
/*!****************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/enr.js ***!
\****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=enr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9lbnIuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YsK0JBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9lbnIuanM/ODNiZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/enr.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/filter.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/filter.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9maWx0ZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9maWx0ZXIuanM/Mjc1NiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1maWx0ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/filter.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/index.js":
/*!******************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/index.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_17__.DEFAULT_CLUSTER_ID),\n/* harmony export */ DefaultPubsubTopic: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_17__.DefaultPubsubTopic),\n/* harmony export */ EConnectionStateEvents: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.EPeersByDiscoveryEvents),\n/* harmony export */ PageDirection: () => (/* reexport safe */ _store_js__WEBPACK_IMPORTED_MODULE_7__.PageDirection),\n/* harmony export */ ProtocolError: () => (/* reexport safe */ _protocols_js__WEBPACK_IMPORTED_MODULE_5__.ProtocolError),\n/* harmony export */ Protocols: () => (/* reexport safe */ _protocols_js__WEBPACK_IMPORTED_MODULE_5__.Protocols),\n/* harmony export */ Tags: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.Tags)\n/* harmony export */ });\n/* harmony import */ var _enr_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enr.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/enr.js\");\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./filter.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/filter.js\");\n/* harmony import */ var _light_push_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./light_push.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/light_push.js\");\n/* harmony import */ var _message_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./message.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/message.js\");\n/* harmony import */ var _peer_exchange_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./peer_exchange.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/peer_exchange.js\");\n/* harmony import */ var _protocols_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protocols.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/protocols.js\");\n/* harmony import */ var _relay_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./relay.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/relay.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./store.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/store.js\");\n/* harmony import */ var _waku_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./waku.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/waku.js\");\n/* harmony import */ var _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./connection_manager.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/connection_manager.js\");\n/* harmony import */ var _sender_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./sender.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/sender.js\");\n/* harmony import */ var _receiver_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./receiver.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/receiver.js\");\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./misc.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/misc.js\");\n/* harmony import */ var _libp2p_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./libp2p.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/libp2p.js\");\n/* harmony import */ var _keep_alive_manager_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./keep_alive_manager.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/keep_alive_manager.js\");\n/* harmony import */ var _dns_discovery_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./dns_discovery.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/dns_discovery.js\");\n/* harmony import */ var _metadata_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./metadata.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/metadata.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/constants.js\");\n/* harmony import */ var _local_storage_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./local_storage.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/local_storage.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBeUI7QUFDRztBQUNJO0FBQ0g7QUFDTTtBQUNKO0FBQ0o7QUFDQTtBQUNEO0FBQ2M7QUFDWjtBQUNFO0FBQ0o7QUFDRTtBQUNZO0FBQ0w7QUFDTDtBQUNDO0FBQ0ksQ0FDbkMsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9pbmRleC5qcz8wYTMxIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2Vuci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsdGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWdodF9wdXNoLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZXNzYWdlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wZWVyX2V4Y2hhbmdlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm90b2NvbHMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlbGF5LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdG9yZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2FrdS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29ubmVjdGlvbl9tYW5hZ2VyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZW5kZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlY2VpdmVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taXNjLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWJwMnAuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2tlZXBfYWxpdmVfbWFuYWdlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZG5zX2Rpc2NvdmVyeS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWV0YWRhdGEuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxfc3RvcmFnZS5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/keep_alive_manager.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/keep_alive_manager.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=keep_alive_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9rZWVwX2FsaXZlX21hbmFnZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9rZWVwX2FsaXZlX21hbmFnZXIuanM/ODE1MCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1rZWVwX2FsaXZlX21hbmFnZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/keep_alive_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/libp2p.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/libp2p.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=libp2p.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9saWJwMnAuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9saWJwMnAuanM/NzY5NCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1saWJwMnAuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/libp2p.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/light_push.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/light_push.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=light_push.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9saWdodF9wdXNoLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3JlbGF5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbGlnaHRfcHVzaC5qcz82MGM3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpZ2h0X3B1c2guanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/light_push.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/local_storage.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/local_storage.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=local_storage.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9sb2NhbF9zdG9yYWdlLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3JlbGF5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbG9jYWxfc3RvcmFnZS5qcz9hNDJkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxvY2FsX3N0b3JhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/local_storage.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/message.js":
/*!********************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/message.js ***!
\********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9tZXNzYWdlLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3JlbGF5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWVzc2FnZS5qcz82YWNjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1lc3NhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/metadata.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/metadata.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=metadata.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9tZXRhZGF0YS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9yZWxheS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L21ldGFkYXRhLmpzPzdiYzkiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWV0YWRhdGEuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/metadata.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/misc.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/misc.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=misc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9taXNjLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3JlbGF5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWlzYy5qcz81YTQ3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1pc2MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/misc.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/peer_exchange.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/peer_exchange.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=peer_exchange.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9wZWVyX2V4Y2hhbmdlLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3JlbGF5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcGVlcl9leGNoYW5nZS5qcz8wOGVhIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBlZXJfZXhjaGFuZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/peer_exchange.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/protocols.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/protocols.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ProtocolError: () => (/* binding */ ProtocolError),\n/* harmony export */ Protocols: () => (/* binding */ Protocols)\n/* harmony export */ });\nvar Protocols;\n(function(Protocols) {\n Protocols[\"Relay\"] = \"relay\";\n Protocols[\"Store\"] = \"store\";\n Protocols[\"LightPush\"] = \"lightpush\";\n Protocols[\"Filter\"] = \"filter\";\n})(Protocols || (Protocols = {}));\nvar ProtocolError;\n(function(ProtocolError) {\n /** Could not determine the origin of the fault. Best to check connectivity and try again */ ProtocolError[\"GENERIC_FAIL\"] = \"Generic error\";\n /**\n * Failure to protobuf encode the message. This is not recoverable and needs\n * further investigation.\n */ ProtocolError[\"ENCODE_FAILED\"] = \"Failed to encode\";\n /**\n * Failure to protobuf decode the message. May be due to a remote peer issue,\n * ensuring that messages are sent via several peer enable mitigation of this error.\n */ ProtocolError[\"DECODE_FAILED\"] = \"Failed to decode\";\n /**\n * The message payload is empty, making the message invalid. Ensure that a non-empty\n * payload is set on the outgoing message.\n */ ProtocolError[\"EMPTY_PAYLOAD\"] = \"Payload is empty\";\n /**\n * The message size is above the maximum message size allowed on the Waku Network.\n * Compressing the message or using an alternative strategy for large messages is recommended.\n */ ProtocolError[\"SIZE_TOO_BIG\"] = \"Size is too big\";\n /**\n * The PubsubTopic passed to the send function is not configured on the Waku node.\n * Please ensure that the PubsubTopic is used when initializing the Waku node.\n */ ProtocolError[\"TOPIC_NOT_CONFIGURED\"] = \"Topic not configured\";\n /**\n * Failure to find a peer with suitable protocols. This may due to a connection issue.\n * Mitigation can be: retrying after a given time period, display connectivity issue\n * to user or listening for `peer:connected:bootstrap` or `peer:connected:peer-exchange`\n * on the connection manager before retrying.\n */ ProtocolError[\"NO_PEER_AVAILABLE\"] = \"No peer available\";\n /**\n * The remote peer did not behave as expected. Mitigation for `NO_PEER_AVAILABLE`\n * or `DECODE_FAILED` can be used.\n */ ProtocolError[\"REMOTE_PEER_FAULT\"] = \"Remote peer fault\";\n /**\n * The remote peer rejected the message. Information provided by the remote peer\n * is logged. Review message validity, or mitigation for `NO_PEER_AVAILABLE`\n * or `DECODE_FAILED` can be used.\n */ ProtocolError[\"REMOTE_PEER_REJECTED\"] = \"Remote peer rejected\";\n /**\n * The protocol request timed out without a response. This may be due to a connection issue.\n * Mitigation can be: retrying after a given time period\n */ ProtocolError[\"REQUEST_TIMEOUT\"] = \"Request timeout\";\n})(ProtocolError || (ProtocolError = {})); //# sourceMappingURL=protocols.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9wcm90b2NvbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxJQUFJQSxVQUFVO0FBQ3BCLFVBQVVBLFNBQVM7SUFDaEJBLFNBQVMsQ0FBQyxRQUFRLEdBQUc7SUFDckJBLFNBQVMsQ0FBQyxRQUFRLEdBQUc7SUFDckJBLFNBQVMsQ0FBQyxZQUFZLEdBQUc7SUFDekJBLFNBQVMsQ0FBQyxTQUFTLEdBQUc7QUFDMUIsR0FBR0EsYUFBY0EsQ0FBQUEsWUFBWSxDQUFDO0FBQ3ZCLElBQUlDLGNBQWM7QUFDeEIsVUFBVUEsYUFBYTtJQUNwQiwwRkFBMEYsR0FDMUZBLGFBQWEsQ0FBQyxlQUFlLEdBQUc7SUFDaEM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRztJQUNqQzs7O0tBR0MsR0FDREEsYUFBYSxDQUFDLGdCQUFnQixHQUFHO0lBQ2pDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsZ0JBQWdCLEdBQUc7SUFDakM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxlQUFlLEdBQUc7SUFDaEM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyx1QkFBdUIsR0FBRztJQUN4Qzs7Ozs7S0FLQyxHQUNEQSxhQUFhLENBQUMsb0JBQW9CLEdBQUc7SUFDckM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxvQkFBb0IsR0FBRztJQUNyQzs7OztLQUlDLEdBQ0RBLGFBQWEsQ0FBQyx1QkFBdUIsR0FBRztJQUN4Qzs7O0tBR0MsR0FDREEsYUFBYSxDQUFDLGtCQUFrQixHQUFHO0FBQ3ZDLEdBQUdBLGlCQUFrQkEsQ0FBQUEsZ0JBQWdCLENBQUMsS0FDdEMscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9wcm90b2NvbHMuanM/YzViZiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIFByb3RvY29scztcbihmdW5jdGlvbiAoUHJvdG9jb2xzKSB7XG4gICAgUHJvdG9jb2xzW1wiUmVsYXlcIl0gPSBcInJlbGF5XCI7XG4gICAgUHJvdG9jb2xzW1wiU3RvcmVcIl0gPSBcInN0b3JlXCI7XG4gICAgUHJvdG9jb2xzW1wiTGlnaHRQdXNoXCJdID0gXCJsaWdodHB1c2hcIjtcbiAgICBQcm90b2NvbHNbXCJGaWx0ZXJcIl0gPSBcImZpbHRlclwiO1xufSkoUHJvdG9jb2xzIHx8IChQcm90b2NvbHMgPSB7fSkpO1xuZXhwb3J0IHZhciBQcm90b2NvbEVycm9yO1xuKGZ1bmN0aW9uIChQcm90b2NvbEVycm9yKSB7XG4gICAgLyoqIENvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIG9yaWdpbiBvZiB0aGUgZmF1bHQuIEJlc3QgdG8gY2hlY2sgY29ubmVjdGl2aXR5IGFuZCB0cnkgYWdhaW4gKi9cbiAgICBQcm90b2NvbEVycm9yW1wiR0VORVJJQ19GQUlMXCJdID0gXCJHZW5lcmljIGVycm9yXCI7XG4gICAgLyoqXG4gICAgICogRmFpbHVyZSB0byBwcm90b2J1ZiBlbmNvZGUgdGhlIG1lc3NhZ2UuIFRoaXMgaXMgbm90IHJlY292ZXJhYmxlIGFuZCBuZWVkc1xuICAgICAqIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbi5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiRU5DT0RFX0ZBSUxFRFwiXSA9IFwiRmFpbGVkIHRvIGVuY29kZVwiO1xuICAgIC8qKlxuICAgICAqIEZhaWx1cmUgdG8gcHJvdG9idWYgZGVjb2RlIHRoZSBtZXNzYWdlLiBNYXkgYmUgZHVlIHRvIGEgcmVtb3RlIHBlZXIgaXNzdWUsXG4gICAgICogZW5zdXJpbmcgdGhhdCBtZXNzYWdlcyBhcmUgc2VudCB2aWEgc2V2ZXJhbCBwZWVyIGVuYWJsZSBtaXRpZ2F0aW9uIG9mIHRoaXMgZXJyb3IuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIkRFQ09ERV9GQUlMRURcIl0gPSBcIkZhaWxlZCB0byBkZWNvZGVcIjtcbiAgICAvKipcbiAgICAgKiBUaGUgbWVzc2FnZSBwYXlsb2FkIGlzIGVtcHR5LCBtYWtpbmcgdGhlIG1lc3NhZ2UgaW52YWxpZC4gRW5zdXJlIHRoYXQgYSBub24tZW1wdHlcbiAgICAgKiBwYXlsb2FkIGlzIHNldCBvbiB0aGUgb3V0Z29pbmcgbWVzc2FnZS5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiRU1QVFlfUEFZTE9BRFwiXSA9IFwiUGF5bG9hZCBpcyBlbXB0eVwiO1xuICAgIC8qKlxuICAgICAqIFRoZSBtZXNzYWdlIHNpemUgaXMgYWJvdmUgdGhlIG1heGltdW0gbWVzc2FnZSBzaXplIGFsbG93ZWQgb24gdGhlIFdha3UgTmV0d29yay5cbiAgICAgKiBDb21wcmVzc2luZyB0aGUgbWVzc2FnZSBvciB1c2luZyBhbiBhbHRlcm5hdGl2ZSBzdHJhdGVneSBmb3IgbGFyZ2UgbWVzc2FnZXMgaXMgcmVjb21tZW5kZWQuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIlNJWkVfVE9PX0JJR1wiXSA9IFwiU2l6ZSBpcyB0b28gYmlnXCI7XG4gICAgLyoqXG4gICAgICogVGhlIFB1YnN1YlRvcGljIHBhc3NlZCB0byB0aGUgc2VuZCBmdW5jdGlvbiBpcyBub3QgY29uZmlndXJlZCBvbiB0aGUgV2FrdSBub2RlLlxuICAgICAqIFBsZWFzZSBlbnN1cmUgdGhhdCB0aGUgUHVic3ViVG9waWMgaXMgdXNlZCB3aGVuIGluaXRpYWxpemluZyB0aGUgV2FrdSBub2RlLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJUT1BJQ19OT1RfQ09ORklHVVJFRFwiXSA9IFwiVG9waWMgbm90IGNvbmZpZ3VyZWRcIjtcbiAgICAvKipcbiAgICAgKiBGYWlsdXJlIHRvIGZpbmQgYSBwZWVyIHdpdGggc3VpdGFibGUgcHJvdG9jb2xzLiBUaGlzIG1heSBkdWUgdG8gYSBjb25uZWN0aW9uIGlzc3VlLlxuICAgICAqIE1pdGlnYXRpb24gY2FuIGJlOiByZXRyeWluZyBhZnRlciBhIGdpdmVuIHRpbWUgcGVyaW9kLCBkaXNwbGF5IGNvbm5lY3Rpdml0eSBpc3N1ZVxuICAgICAqIHRvIHVzZXIgb3IgbGlzdGVuaW5nIGZvciBgcGVlcjpjb25uZWN0ZWQ6Ym9vdHN0cmFwYCBvciBgcGVlcjpjb25uZWN0ZWQ6cGVlci1leGNoYW5nZWBcbiAgICAgKiBvbiB0aGUgY29ubmVjdGlvbiBtYW5hZ2VyIGJlZm9yZSByZXRyeWluZy5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiTk9fUEVFUl9BVkFJTEFCTEVcIl0gPSBcIk5vIHBlZXIgYXZhaWxhYmxlXCI7XG4gICAgLyoqXG4gICAgICogVGhlIHJlbW90ZSBwZWVyIGRpZCBub3QgYmVoYXZlIGFzIGV4cGVjdGVkLiBNaXRpZ2F0aW9uIGZvciBgTk9fUEVFUl9BVkFJTEFCTEVgXG4gICAgICogb3IgYERFQ09ERV9GQUlMRURgIGNhbiBiZSB1c2VkLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJSRU1PVEVfUEVFUl9GQVVMVFwiXSA9IFwiUmVtb3RlIHBlZXIgZmF1bHRcIjtcbiAgICAvKipcbiAgICAgKiBUaGUgcmVtb3RlIHBlZXIgcmVqZWN0ZWQgdGhlIG1lc3NhZ2UuIEluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IHRoZSByZW1vdGUgcGVlclxuICAgICAqIGlzIGxvZ2dlZC4gUmV2aWV3IG1lc3NhZ2UgdmFsaWRpdHksIG9yIG1pdGlnYXRpb24gZm9yIGBOT19QRUVSX0FWQUlMQUJMRWBcbiAgICAgKiBvciBgREVDT0RFX0ZBSUxFRGAgY2FuIGJlIHVzZWQuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIlJFTU9URV9QRUVSX1JFSkVDVEVEXCJdID0gXCJSZW1vdGUgcGVlciByZWplY3RlZFwiO1xuICAgIC8qKlxuICAgICAqIFRoZSBwcm90b2NvbCByZXF1ZXN0IHRpbWVkIG91dCB3aXRob3V0IGEgcmVzcG9uc2UuIFRoaXMgbWF5IGJlIGR1ZSB0byBhIGNvbm5lY3Rpb24gaXNzdWUuXG4gICAgICogTWl0aWdhdGlvbiBjYW4gYmU6IHJldHJ5aW5nIGFmdGVyIGEgZ2l2ZW4gdGltZSBwZXJpb2RcbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiUkVRVUVTVF9USU1FT1VUXCJdID0gXCJSZXF1ZXN0IHRpbWVvdXRcIjtcbn0pKFByb3RvY29sRXJyb3IgfHwgKFByb3RvY29sRXJyb3IgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvdG9jb2xzLmpzLm1hcCJdLCJuYW1lcyI6WyJQcm90b2NvbHMiLCJQcm90b2NvbEVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/protocols.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/receiver.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/receiver.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=receiver.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9yZWNlaXZlci5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9yZWxheS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3JlY2VpdmVyLmpzPzY2ODAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVjZWl2ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/receiver.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/relay.js":
/*!******************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/relay.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=relay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9yZWxheS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9yZWxheS9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3JlbGF5LmpzPzA3ZDMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVsYXkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/relay.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/sender.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/sender.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=sender.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9zZW5kZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9zZW5kZXIuanM/MTZkOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZW5kZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/sender.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/store.js":
/*!******************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/store.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PageDirection: () => (/* binding */ PageDirection)\n/* harmony export */ });\nvar PageDirection;\n(function(PageDirection) {\n PageDirection[\"BACKWARD\"] = \"backward\";\n PageDirection[\"FORWARD\"] = \"forward\";\n})(PageDirection || (PageDirection = {})); //# sourceMappingURL=store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9zdG9yZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sSUFBSUEsY0FBYztBQUN4QixVQUFVQSxhQUFhO0lBQ3BCQSxhQUFhLENBQUMsV0FBVyxHQUFHO0lBQzVCQSxhQUFhLENBQUMsVUFBVSxHQUFHO0FBQy9CLEdBQUdBLGlCQUFrQkEsQ0FBQUEsZ0JBQWdCLENBQUMsS0FDdEMsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9zdG9yZS5qcz8zNjNmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgUGFnZURpcmVjdGlvbjtcbihmdW5jdGlvbiAoUGFnZURpcmVjdGlvbikge1xuICAgIFBhZ2VEaXJlY3Rpb25bXCJCQUNLV0FSRFwiXSA9IFwiYmFja3dhcmRcIjtcbiAgICBQYWdlRGlyZWN0aW9uW1wiRk9SV0FSRFwiXSA9IFwiZm9yd2FyZFwiO1xufSkoUGFnZURpcmVjdGlvbiB8fCAoUGFnZURpcmVjdGlvbiA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdG9yZS5qcy5tYXAiXSwibmFtZXMiOlsiUGFnZURpcmVjdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/waku.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/waku.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=waku.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC93YWt1LmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3JlbGF5L25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qvd2FrdS5qcz8wMDg4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdha3UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/interfaces/dist/waku.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/filter.js":
/*!************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/filter.js ***!
\************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterRequest: () => (/* binding */ FilterRequest),\n/* harmony export */ FilterRpc: () => (/* binding */ FilterRpc),\n/* harmony export */ MessagePush: () => (/* binding */ MessagePush),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar FilterRequest;\n(function(FilterRequest) {\n let ContentFilter;\n (function(ContentFilter) {\n let _codec;\n ContentFilter.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(10);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.contentTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n ContentFilter.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, ContentFilter.codec());\n };\n ContentFilter.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, ContentFilter.codec(), opts);\n };\n })(ContentFilter = FilterRequest.ContentFilter || (FilterRequest.ContentFilter = {}));\n let _codec;\n FilterRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.subscribe != null && obj.subscribe !== false) {\n w.uint32(8);\n w.bool(obj.subscribe);\n }\n if (obj.topic != null && obj.topic !== \"\") {\n w.uint32(18);\n w.string(obj.topic);\n }\n if (obj.contentFilters != null) {\n for (const value of obj.contentFilters){\n w.uint32(26);\n FilterRequest.ContentFilter.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n subscribe: false,\n topic: \"\",\n contentFilters: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.subscribe = reader.bool();\n break;\n }\n case 2:\n {\n obj.topic = reader.string();\n break;\n }\n case 3:\n {\n if (opts.limits?.contentFilters != null && obj.contentFilters.length === opts.limits.contentFilters) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"contentFilters\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.contentFilters.push(FilterRequest.ContentFilter.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.contentFilters$\n }));\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterRequest.codec());\n };\n FilterRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterRequest.codec(), opts);\n };\n})(FilterRequest || (FilterRequest = {}));\nvar MessagePush;\n(function(MessagePush) {\n let _codec;\n MessagePush.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.messages != null) {\n for (const value of obj.messages){\n w.uint32(10);\n WakuMessage.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n messages: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"messages\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.messages.push(WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.messages$\n }));\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n MessagePush.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, MessagePush.codec());\n };\n MessagePush.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, MessagePush.codec(), opts);\n };\n})(MessagePush || (MessagePush = {}));\nvar FilterRpc;\n(function(FilterRpc) {\n let _codec;\n FilterRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.request != null) {\n w.uint32(18);\n FilterRequest.codec().encode(obj.request, w);\n }\n if (obj.push != null) {\n w.uint32(26);\n MessagePush.codec().encode(obj.push, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.request = FilterRequest.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.request\n });\n break;\n }\n case 3:\n {\n obj.push = MessagePush.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.push\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterRpc.codec());\n };\n FilterRpc.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterRpc.codec(), opts);\n };\n})(FilterRpc || (FilterRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL2ZpbHRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsZ0NBQWdDLEdBQ2hDLDZCQUE2QixHQUM3QixrREFBa0QsR0FDbEQsNEVBQTRFLEdBQzVFLHdEQUF3RCxHQUMyQjtBQUN0QjtBQUN0RCxJQUFJTSxjQUFjO0FBQ3hCLFVBQVVBLGFBQWE7SUFDcEIsSUFBSUM7SUFDSCxVQUFVQSxhQUFhO1FBQ3BCLElBQUlDO1FBQ0pELGNBQWNFLEtBQUssR0FBRztZQUNsQixJQUFJRCxVQUFVLE1BQU07Z0JBQ2hCQSxTQUFTTCx3REFBT0EsQ0FBQyxDQUFDTyxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztvQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87d0JBQ2hDRixFQUFFRyxJQUFJO29CQUNWO29CQUNBLElBQUtKLElBQUlLLFlBQVksSUFBSSxRQUFRTCxJQUFJSyxZQUFZLEtBQUssSUFBSzt3QkFDdkRKLEVBQUVLLE1BQU0sQ0FBQzt3QkFDVEwsRUFBRU0sTUFBTSxDQUFDUCxJQUFJSyxZQUFZO29CQUM3QjtvQkFDQSxJQUFJSCxLQUFLQyxlQUFlLEtBQUssT0FBTzt3QkFDaENGLEVBQUVPLE1BQU07b0JBQ1o7Z0JBQ0osR0FBRyxDQUFDQyxRQUFRQyxRQUFRUixPQUFPLENBQUMsQ0FBQztvQkFDekIsTUFBTUYsTUFBTTt3QkFDUkssY0FBYztvQkFDbEI7b0JBQ0EsTUFBTU0sTUFBTUQsVUFBVSxPQUFPRCxPQUFPRyxHQUFHLEdBQUdILE9BQU9JLEdBQUcsR0FBR0g7b0JBQ3ZELE1BQU9ELE9BQU9JLEdBQUcsR0FBR0YsSUFBSzt3QkFDckIsTUFBTUcsTUFBTUwsT0FBT0gsTUFBTTt3QkFDekIsT0FBUVEsUUFBUTs0QkFDWixLQUFLO2dDQUFHO29DQUNKZCxJQUFJSyxZQUFZLEdBQUdJLE9BQU9GLE1BQU07b0NB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LGVBQWVuQyxLQUFLLEdBQUdrQixNQUFNLENBQUNSLFFBQVFBLE9BQU9ILE1BQU0sSUFBSTtvQ0FDeEVrQixRQUFRdEIsS0FBS3NCLE1BQU0sRUFBRXlCO2dDQUN6QjtnQ0FDQTs0QkFDSjt3QkFDQSxLQUFLOzRCQUFJO2dDQUNMakQsSUFBSWtELFNBQVMsR0FBR3pDLE9BQU9XLElBQUk7Z0NBQzNCOzRCQUNKO3dCQUNBOzRCQUFTO2dDQUNMWCxPQUFPTSxRQUFRLENBQUNELE1BQU07Z0NBQ3RCOzRCQUNKO29CQUNKO2dCQUNKO2dCQUNBLE9BQU9kO1lBQ1g7UUFDSjtRQUNBLE9BQU9GO0lBQ1g7SUFDQStCLFlBQVliLE1BQU0sR0FBRyxDQUFDaEI7UUFDbEIsT0FBT1IsOERBQWFBLENBQUNRLEtBQUs2QixZQUFZOUIsS0FBSztJQUMvQztJQUNBOEIsWUFBWVosTUFBTSxHQUFHLENBQUNDLEtBQUtoQjtRQUN2QixPQUFPWCw4REFBYUEsQ0FBQzJCLEtBQUtXLFlBQVk5QixLQUFLLElBQUlHO0lBQ25EO0FBQ0osR0FBRzJCLGVBQWdCQSxDQUFBQSxjQUFjLENBQUMsS0FDbEMsa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL2ZpbHRlci5qcz9lMWU5Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgQ29kZUVycm9yLCBkZWNvZGVNZXNzYWdlLCBlbmNvZGVNZXNzYWdlLCBtZXNzYWdlIH0gZnJvbSAncHJvdG9ucy1ydW50aW1lJztcbmltcG9ydCB7IGFsbG9jIGFzIHVpbnQ4QXJyYXlBbGxvYyB9IGZyb20gJ3VpbnQ4YXJyYXlzL2FsbG9jJztcbmV4cG9ydCB2YXIgRmlsdGVyUmVxdWVzdDtcbihmdW5jdGlvbiAoRmlsdGVyUmVxdWVzdCkge1xuICAgIGxldCBDb250ZW50RmlsdGVyO1xuICAgIChmdW5jdGlvbiAoQ29udGVudEZpbHRlcikge1xuICAgICAgICBsZXQgX2NvZGVjO1xuICAgICAgICBDb250ZW50RmlsdGVyLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmouY29udGVudFRvcGljKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFRvcGljOiAnJ1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgICAgIH07XG4gICAgICAgIENvbnRlbnRGaWx0ZXIuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBDb250ZW50RmlsdGVyLmNvZGVjKCkpO1xuICAgICAgICB9O1xuICAgICAgICBDb250ZW50RmlsdGVyLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgQ29udGVudEZpbHRlci5jb2RlYygpLCBvcHRzKTtcbiAgICAgICAgfTtcbiAgICB9KShDb250ZW50RmlsdGVyID0gRmlsdGVyUmVxdWVzdC5Db250ZW50RmlsdGVyIHx8IChGaWx0ZXJSZXF1ZXN0LkNvbnRlbnRGaWx0ZXIgPSB7fSkpO1xuICAgIGxldCBfY29kZWM7XG4gICAgRmlsdGVyUmVxdWVzdC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnN1YnNjcmliZSAhPSBudWxsICYmIG9iai5zdWJzY3JpYmUgIT09IGZhbHNlKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ib29sKG9iai5zdWJzY3JpYmUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai50b3BpYyAhPSBudWxsICYmIG9iai50b3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnRvcGljKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5jb250ZW50RmlsdGVycyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygb2JqLmNvbnRlbnRGaWx0ZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXJSZXF1ZXN0LkNvbnRlbnRGaWx0ZXIuY29kZWMoKS5lbmNvZGUodmFsdWUsIHcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgdG9waWM6ICcnLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50RmlsdGVyczogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnN1YnNjcmliZSA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5saW1pdHM/LmNvbnRlbnRGaWx0ZXJzICE9IG51bGwgJiYgb2JqLmNvbnRlbnRGaWx0ZXJzLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMuY29udGVudEZpbHRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvZGVFcnJvcignZGVjb2RlIGVycm9yIC0gbWFwIGZpZWxkIFwiY29udGVudEZpbHRlcnNcIiBoYWQgdG9vIG1hbnkgZWxlbWVudHMnLCAnRVJSX01BWF9MRU5HVEgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRGaWx0ZXJzLnB1c2goRmlsdGVyUmVxdWVzdC5Db250ZW50RmlsdGVyLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LmNvbnRlbnRGaWx0ZXJzJFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBGaWx0ZXJSZXF1ZXN0LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBGaWx0ZXJSZXF1ZXN0LmNvZGVjKCkpO1xuICAgIH07XG4gICAgRmlsdGVyUmVxdWVzdC5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgRmlsdGVyUmVxdWVzdC5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoRmlsdGVyUmVxdWVzdCB8fCAoRmlsdGVyUmVxdWVzdCA9IHt9KSk7XG5leHBvcnQgdmFyIE1lc3NhZ2VQdXNoO1xuKGZ1bmN0aW9uIChNZXNzYWdlUHVzaCkge1xuICAgIGxldCBfY29kZWM7XG4gICAgTWVzc2FnZVB1c2guY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1lc3NhZ2VzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmoubWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFdha3VNZXNzYWdlLmNvZGVjKCkuZW5jb2RlKHZhbHVlLCB3KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5saW1pdHM/Lm1lc3NhZ2VzICE9IG51bGwgJiYgb2JqLm1lc3NhZ2VzLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMubWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvZGVFcnJvcignZGVjb2RlIGVycm9yIC0gbWFwIGZpZWxkIFwibWVzc2FnZXNcIiBoYWQgdG9vIG1hbnkgZWxlbWVudHMnLCAnRVJSX01BWF9MRU5HVEgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lc3NhZ2VzLnB1c2goV2FrdU1lc3NhZ2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ubWVzc2FnZXMkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIE1lc3NhZ2VQdXNoLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBNZXNzYWdlUHVzaC5jb2RlYygpKTtcbiAgICB9O1xuICAgIE1lc3NhZ2VQdXNoLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBNZXNzYWdlUHVzaC5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoTWVzc2FnZVB1c2ggfHwgKE1lc3NhZ2VQdXNoID0ge30pKTtcbmV4cG9ydCB2YXIgRmlsdGVyUnBjO1xuKGZ1bmN0aW9uIChGaWx0ZXJScGMpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIEZpbHRlclJwYy5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJlcXVlc3RJZCAhPSBudWxsICYmIG9iai5yZXF1ZXN0SWQgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5yZXF1ZXN0SWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJlcXVlc3QgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIEZpbHRlclJlcXVlc3QuY29kZWMoKS5lbmNvZGUob2JqLnJlcXVlc3QsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnB1c2ggIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VQdXNoLmNvZGVjKCkuZW5jb2RlKG9iai5wdXNoLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXF1ZXN0SWQgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmVxdWVzdCA9IEZpbHRlclJlcXVlc3QuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmVxdWVzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnB1c2ggPSBNZXNzYWdlUHVzaC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5wdXNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgRmlsdGVyUnBjLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBGaWx0ZXJScGMuY29kZWMoKSk7XG4gICAgfTtcbiAgICBGaWx0ZXJScGMuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIEZpbHRlclJwYy5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoRmlsdGVyUnBjIHx8IChGaWx0ZXJScGMgPSB7fSkpO1xuZXhwb3J0IHZhciBSYXRlTGltaXRQcm9vZjtcbihmdW5jdGlvbiAoUmF0ZUxpbWl0UHJvb2YpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFJhdGVMaW1pdFByb29mLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHJvb2YgIT0gbnVsbCAmJiBvYmoucHJvb2YuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucHJvb2YpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5tZXJrbGVSb290ICE9IG51bGwgJiYgb2JqLm1lcmtsZVJvb3QuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWVya2xlUm9vdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmVwb2NoICE9IG51bGwgJiYgb2JqLmVwb2NoLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVwb2NoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVYICE9IG51bGwgJiYgb2JqLnNoYXJlWC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVkgIT0gbnVsbCAmJiBvYmouc2hhcmVZLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig0Mik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm51bGxpZmllciAhPSBudWxsICYmIG9iai5udWxsaWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubnVsbGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmxuSWRlbnRpZmllciAhPSBudWxsICYmIG9iai5ybG5JZGVudGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnJsbklkZW50aWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb29mOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG1lcmtsZVJvb3Q6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgZXBvY2g6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVYOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWTogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBudWxsaWZpZXI6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgcmxuSWRlbnRpZmllcjogdWludDhBcnJheUFsbG9jKDApXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wcm9vZiA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lcmtsZVJvb3QgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcG9jaCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bGxpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJsbklkZW50aWZpZXIgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSk7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFJhdGVMaW1pdFByb29mIHx8IChSYXRlTGltaXRQcm9vZiA9IHt9KSk7XG5leHBvcnQgdmFyIFdha3VNZXNzYWdlO1xuKGZ1bmN0aW9uIChXYWt1TWVzc2FnZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1lc3NhZ2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wYXlsb2FkICE9IG51bGwgJiYgb2JqLnBheWxvYWQuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucGF5bG9hZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnZlcnNpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai52ZXJzaW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai50aW1lc3RhbXAgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai50aW1lc3RhbXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1ldGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1ldGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJhdGVMaW1pdFByb29mICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTcwKTtcbiAgICAgICAgICAgICAgICAgICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5lbmNvZGUob2JqLnJhdGVMaW1pdFByb29mLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lcGhlbWVyYWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLmVwaGVtZXJhbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYXlsb2FkID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnZlcnNpb24gPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnRpbWVzdGFtcCA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWV0YSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yYXRlTGltaXRQcm9vZiA9IFJhdGVMaW1pdFByb29mLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnJhdGVMaW1pdFByb29mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDMxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwaGVtZXJhbCA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFdha3VNZXNzYWdlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShXYWt1TWVzc2FnZSB8fCAoV2FrdU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmlsdGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJDb2RlRXJyb3IiLCJkZWNvZGVNZXNzYWdlIiwiZW5jb2RlTWVzc2FnZSIsIm1lc3NhZ2UiLCJhbGxvYyIsInVpbnQ4QXJyYXlBbGxvYyIsIkZpbHRlclJlcXVlc3QiLCJDb250ZW50RmlsdGVyIiwiX2NvZGVjIiwiY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJjb250ZW50VG9waWMiLCJ1aW50MzIiLCJzdHJpbmciLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJza2lwVHlwZSIsImVuY29kZSIsImRlY29kZSIsImJ1ZiIsInN1YnNjcmliZSIsImJvb2wiLCJ0b3BpYyIsImNvbnRlbnRGaWx0ZXJzIiwidmFsdWUiLCJsaW1pdHMiLCJwdXNoIiwiY29udGVudEZpbHRlcnMkIiwiTWVzc2FnZVB1c2giLCJtZXNzYWdlcyIsIldha3VNZXNzYWdlIiwibWVzc2FnZXMkIiwiRmlsdGVyUnBjIiwicmVxdWVzdElkIiwicmVxdWVzdCIsIlJhdGVMaW1pdFByb29mIiwicHJvb2YiLCJieXRlTGVuZ3RoIiwiYnl0ZXMiLCJtZXJrbGVSb290IiwiZXBvY2giLCJzaGFyZVgiLCJzaGFyZVkiLCJudWxsaWZpZXIiLCJybG5JZGVudGlmaWVyIiwicGF5bG9hZCIsInZlcnNpb24iLCJ0aW1lc3RhbXAiLCJzaW50NjQiLCJtZXRhIiwicmF0ZUxpbWl0UHJvb2YiLCJlcGhlbWVyYWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/filter.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/filter_v2.js":
/*!***************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/filter_v2.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterSubscribeRequest: () => (/* binding */ FilterSubscribeRequest),\n/* harmony export */ FilterSubscribeResponse: () => (/* binding */ FilterSubscribeResponse),\n/* harmony export */ MessagePush: () => (/* binding */ MessagePush),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar FilterSubscribeRequest;\n(function(FilterSubscribeRequest) {\n let FilterSubscribeType;\n (function(FilterSubscribeType) {\n FilterSubscribeType[\"SUBSCRIBER_PING\"] = \"SUBSCRIBER_PING\";\n FilterSubscribeType[\"SUBSCRIBE\"] = \"SUBSCRIBE\";\n FilterSubscribeType[\"UNSUBSCRIBE\"] = \"UNSUBSCRIBE\";\n FilterSubscribeType[\"UNSUBSCRIBE_ALL\"] = \"UNSUBSCRIBE_ALL\";\n })(FilterSubscribeType = FilterSubscribeRequest.FilterSubscribeType || (FilterSubscribeRequest.FilterSubscribeType = {}));\n let __FilterSubscribeTypeValues;\n (function(__FilterSubscribeTypeValues) {\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"SUBSCRIBER_PING\"] = 0] = \"SUBSCRIBER_PING\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"SUBSCRIBE\"] = 1] = \"SUBSCRIBE\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"UNSUBSCRIBE\"] = 2] = \"UNSUBSCRIBE\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"UNSUBSCRIBE_ALL\"] = 3] = \"UNSUBSCRIBE_ALL\";\n })(__FilterSubscribeTypeValues || (__FilterSubscribeTypeValues = {}));\n (function(FilterSubscribeType) {\n FilterSubscribeType.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__FilterSubscribeTypeValues);\n };\n })(FilterSubscribeType = FilterSubscribeRequest.FilterSubscribeType || (FilterSubscribeRequest.FilterSubscribeType = {}));\n let _codec;\n FilterSubscribeRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.filterSubscribeType != null && __FilterSubscribeTypeValues[obj.filterSubscribeType] !== 0) {\n w.uint32(16);\n FilterSubscribeRequest.FilterSubscribeType.codec().encode(obj.filterSubscribeType, w);\n }\n if (obj.pubsubTopic != null) {\n w.uint32(82);\n w.string(obj.pubsubTopic);\n }\n if (obj.contentTopics != null) {\n for (const value of obj.contentTopics){\n w.uint32(90);\n w.string(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\",\n filterSubscribeType: FilterSubscribeType.SUBSCRIBER_PING,\n contentTopics: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.filterSubscribeType = FilterSubscribeRequest.FilterSubscribeType.codec().decode(reader);\n break;\n }\n case 10:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n case 11:\n {\n if (opts.limits?.contentTopics != null && obj.contentTopics.length === opts.limits.contentTopics) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"contentTopics\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.contentTopics.push(reader.string());\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterSubscribeRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterSubscribeRequest.codec());\n };\n FilterSubscribeRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterSubscribeRequest.codec(), opts);\n };\n})(FilterSubscribeRequest || (FilterSubscribeRequest = {}));\nvar FilterSubscribeResponse;\n(function(FilterSubscribeResponse) {\n let _codec;\n FilterSubscribeResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.statusCode != null && obj.statusCode !== 0) {\n w.uint32(80);\n w.uint32(obj.statusCode);\n }\n if (obj.statusDesc != null) {\n w.uint32(90);\n w.string(obj.statusDesc);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\",\n statusCode: 0\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 10:\n {\n obj.statusCode = reader.uint32();\n break;\n }\n case 11:\n {\n obj.statusDesc = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterSubscribeResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterSubscribeResponse.codec());\n };\n FilterSubscribeResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterSubscribeResponse.codec(), opts);\n };\n})(FilterSubscribeResponse || (FilterSubscribeResponse = {}));\nvar MessagePush;\n(function(MessagePush) {\n let _codec;\n MessagePush.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.wakuMessage != null) {\n w.uint32(10);\n WakuMessage.codec().encode(obj.wakuMessage, w);\n }\n if (obj.pubsubTopic != null) {\n w.uint32(18);\n w.string(obj.pubsubTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.wakuMessage = WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.wakuMessage\n });\n break;\n }\n case 2:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n MessagePush.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, MessagePush.codec());\n };\n MessagePush.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, MessagePush.codec(), opts);\n };\n})(MessagePush || (MessagePush = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=filter_v2.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL2ZpbHRlcl92Mi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsZ0NBQWdDLEdBQ2hDLDZCQUE2QixHQUM3QixrREFBa0QsR0FDbEQsNEVBQTRFLEdBQzVFLHdEQUF3RCxHQUN3QztBQUNuQztBQUN0RCxJQUFJTyx1QkFBdUI7QUFDakMsVUFBVUEsc0JBQXNCO0lBQzdCLElBQUlDO0lBQ0gsVUFBVUEsbUJBQW1CO1FBQzFCQSxtQkFBbUIsQ0FBQyxrQkFBa0IsR0FBRztRQUN6Q0EsbUJBQW1CLENBQUMsWUFBWSxHQUFHO1FBQ25DQSxtQkFBbUIsQ0FBQyxjQUFjLEdBQUc7UUFDckNBLG1CQUFtQixDQUFDLGtCQUFrQixHQUFHO0lBQzdDLEdBQUdBLHNCQUFzQkQsdUJBQXVCQyxtQkFBbUIsSUFBS0QsQ0FBQUEsdUJBQXVCQyxtQkFBbUIsR0FBRyxDQUFDO0lBQ3RILElBQUlDO0lBQ0gsVUFBVUEsMkJBQTJCO1FBQ2xDQSwyQkFBMkIsQ0FBQ0EsMkJBQTJCLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxHQUFHO1FBQ2xGQSwyQkFBMkIsQ0FBQ0EsMkJBQTJCLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRztRQUM1RUEsMkJBQTJCLENBQUNBLDJCQUEyQixDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUc7UUFDOUVBLDJCQUEyQixDQUFDQSwyQkFBMkIsQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLEdBQUc7SUFDdEYsR0FBR0EsK0JBQWdDQSxDQUFBQSw4QkFBOEIsQ0FBQztJQUNqRSxVQUFVRCxtQkFBbUI7UUFDMUJBLG9CQUFvQkUsS0FBSyxHQUFHO1lBQ3hCLE9BQU9QLDREQUFXQSxDQUFDTTtRQUN2QjtJQUNKLEdBQUdELHNCQUFzQkQsdUJBQXVCQyxtQkFBbUIsSUFBS0QsQ0FBQUEsdUJBQXVCQyxtQkFBbUIsR0FBRyxDQUFDO0lBQ3RILElB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Q0FBQ29DLEtBQUtNLFlBQVlqQyxLQUFLLElBQUlJO0lBQ25EO0FBQ0osR0FBRzZCLGVBQWdCQSxDQUFBQSxjQUFjLENBQUMsS0FDbEMscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL2ZpbHRlcl92Mi5qcz83YjMzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgQ29kZUVycm9yLCBkZWNvZGVNZXNzYWdlLCBlbmNvZGVNZXNzYWdlLCBlbnVtZXJhdGlvbiwgbWVzc2FnZSB9IGZyb20gJ3Byb3RvbnMtcnVudGltZSc7XG5pbXBvcnQgeyBhbGxvYyBhcyB1aW50OEFycmF5QWxsb2MgfSBmcm9tICd1aW50OGFycmF5cy9hbGxvYyc7XG5leHBvcnQgdmFyIEZpbHRlclN1YnNjcmliZVJlcXVlc3Q7XG4oZnVuY3Rpb24gKEZpbHRlclN1YnNjcmliZVJlcXVlc3QpIHtcbiAgICBsZXQgRmlsdGVyU3Vic2NyaWJlVHlwZTtcbiAgICAoZnVuY3Rpb24gKEZpbHRlclN1YnNjcmliZVR5cGUpIHtcbiAgICAgICAgRmlsdGVyU3Vic2NyaWJlVHlwZVtcIlNVQlNDUklCRVJfUElOR1wiXSA9IFwiU1VCU0NSSUJFUl9QSU5HXCI7XG4gICAgICAgIEZpbHRlclN1YnNjcmliZVR5cGVbXCJTVUJTQ1JJQkVcIl0gPSBcIlNVQlNDUklCRVwiO1xuICAgICAgICBGaWx0ZXJTdWJzY3JpYmVUeXBlW1wiVU5TVUJTQ1JJQkVcIl0gPSBcIlVOU1VCU0NSSUJFXCI7XG4gICAgICAgIEZpbHRlclN1YnNjcmliZVR5cGVbXCJVTlNVQlNDUklCRV9BTExcIl0gPSBcIlVOU1VCU0NSSUJFX0FMTFwiO1xuICAgIH0pKEZpbHRlclN1YnNjcmliZVR5cGUgPSBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUgfHwgKEZpbHRlclN1YnNjcmliZVJlcXVlc3QuRmlsdGVyU3Vic2NyaWJlVHlwZSA9IHt9KSk7XG4gICAgbGV0IF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlcztcbiAgICAoZnVuY3Rpb24gKF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlcykge1xuICAgICAgICBfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzW1wiU1VCU0NSSUJFUl9QSU5HXCJdID0gMF0gPSBcIlNVQlNDUklCRVJfUElOR1wiO1xuICAgICAgICBfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzW1wiU1VCU0NSSUJFXCJdID0gMV0gPSBcIlNVQlNDUklCRVwiO1xuICAgICAgICBfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzW1wiVU5TVUJTQ1JJQkVcIl0gPSAyXSA9IFwiVU5TVUJTQ1JJQkVcIjtcbiAgICAgICAgX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzW19fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tcIlVOU1VCU0NSSUJFX0FMTFwiXSA9IDNdID0gXCJVTlNVQlNDUklCRV9BTExcIjtcbiAgICB9KShfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXMgfHwgKF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlcyA9IHt9KSk7XG4gICAgKGZ1bmN0aW9uIChGaWx0ZXJTdWJzY3JpYmVUeXBlKSB7XG4gICAgICAgIEZpbHRlclN1YnNjcmliZVR5cGUuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZW51bWVyYXRpb24oX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzKTtcbiAgICAgICAgfTtcbiAgICB9KShGaWx0ZXJTdWJzY3JpYmVUeXBlID0gRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5GaWx0ZXJTdWJzY3JpYmVUeXBlIHx8IChGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUgPSB7fSkpO1xuICAgIGxldCBfY29kZWM7XG4gICAgRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJlcXVlc3RJZCAhPSBudWxsICYmIG9iai5yZXF1ZXN0SWQgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5yZXF1ZXN0SWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmZpbHRlclN1YnNjcmliZVR5cGUgIT0gbnVsbCAmJiBfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbb2JqLmZpbHRlclN1YnNjcmliZVR5cGVdICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5GaWx0ZXJTdWJzY3JpYmVUeXBlLmNvZGVjKCkuZW5jb2RlKG9iai5maWx0ZXJTdWJzY3JpYmVUeXBlLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5wdWJzdWJUb3BpYyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgyKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnB1YnN1YlRvcGljKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5jb250ZW50VG9waWNzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmouY29udGVudFRvcGljcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElkOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyU3Vic2NyaWJlVHlwZTogRmlsdGVyU3Vic2NyaWJlVHlwZS5TVUJTQ1JJQkVSX1BJTkcsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpY3M6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXF1ZXN0SWQgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZmlsdGVyU3Vic2NyaWJlVHlwZSA9IEZpbHRlclN1YnNjcmliZVJlcXVlc3QuRmlsdGVyU3Vic2NyaWJlVHlwZS5jb2RlYygpLmRlY29kZShyZWFkZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wdWJzdWJUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5saW1pdHM/LmNvbnRlbnRUb3BpY3MgIT0gbnVsbCAmJiBvYmouY29udGVudFRvcGljcy5sZW5ndGggPT09IG9wdHMubGltaXRzLmNvbnRlbnRUb3BpY3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvZGVFcnJvcignZGVjb2RlIGVycm9yIC0gbWFwIGZpZWxkIFwiY29udGVudFRvcGljc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljcy5wdXNoKHJlYWRlci5zdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5jb2RlYygpKTtcbiAgICB9O1xuICAgIEZpbHRlclN1YnNjcmliZVJlcXVlc3QuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIEZpbHRlclN1YnNjcmliZVJlcXVlc3QuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKEZpbHRlclN1YnNjcmliZVJlcXVlc3QgfHwgKEZpbHRlclN1YnNjcmliZVJlcXVlc3QgPSB7fSkpO1xuZXhwb3J0IHZhciBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZTtcbihmdW5jdGlvbiAoRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIEZpbHRlclN1YnNjcmliZVJlc3BvbnNlLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmVxdWVzdElkICE9IG51bGwgJiYgb2JqLnJlcXVlc3RJZCAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnN0YXR1c0NvZGUgIT0gbnVsbCAmJiBvYmouc3RhdHVzQ29kZSAhPT0gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoODApO1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMihvYmouc3RhdHVzQ29kZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouc3RhdHVzRGVzYyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnN0YXR1c0Rlc2MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RJZDogJycsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1c0NvZGU6IDBcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3RJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc3RhdHVzQ29kZSA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc3RhdHVzRGVzYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKEZpbHRlclN1YnNjcmliZVJlc3BvbnNlIHx8IChGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZSA9IHt9KSk7XG5leHBvcnQgdmFyIE1lc3NhZ2VQdXNoO1xuKGZ1bmN0aW9uIChNZXNzYWdlUHVzaCkge1xuICAgIGxldCBfY29kZWM7XG4gICAgTWVzc2FnZVB1c2guY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLndha3VNZXNzYWdlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICBXYWt1TWVzc2FnZS5jb2RlYygpLmVuY29kZShvYmoud2FrdU1lc3NhZ2UsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnB1YnN1YlRvcGljICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai53YWt1TWVzc2FnZSA9IFdha3VNZXNzYWdlLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/Lndha3VNZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHVic3ViVG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgTWVzc2FnZVB1c2guZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIE1lc3NhZ2VQdXNoLmNvZGVjKCkpO1xuICAgIH07XG4gICAgTWVzc2FnZVB1c2guZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIE1lc3NhZ2VQdXNoLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShNZXNzYWdlUHVzaCB8fCAoTWVzc2FnZVB1c2ggPSB7fSkpO1xuZXhwb3J0IHZhciBSYXRlTGltaXRQcm9vZjtcbihmdW5jdGlvbiAoUmF0ZUxpbWl0UHJvb2YpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFJhdGVMaW1pdFByb29mLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHJvb2YgIT0gbnVsbCAmJiBvYmoucHJvb2YuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucHJvb2YpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5tZXJrbGVSb290ICE9IG51bGwgJiYgb2JqLm1lcmtsZVJvb3QuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWVya2xlUm9vdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmVwb2NoICE9IG51bGwgJiYgb2JqLmVwb2NoLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVwb2NoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVYICE9IG51bGwgJiYgb2JqLnNoYXJlWC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVkgIT0gbnVsbCAmJiBvYmouc2hhcmVZLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig0Mik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm51bGxpZmllciAhPSBudWxsICYmIG9iai5udWxsaWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubnVsbGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmxuSWRlbnRpZmllciAhPSBudWxsICYmIG9iai5ybG5JZGVudGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnJsbklkZW50aWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb29mOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG1lcmtsZVJvb3Q6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgZXBvY2g6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVYOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWTogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBudWxsaWZpZXI6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgcmxuSWRlbnRpZmllcjogdWludDhBcnJheUFsbG9jKDApXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wcm9vZiA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lcmtsZVJvb3QgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcG9jaCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bGxpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJsbklkZW50aWZpZXIgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSk7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFJhdGVMaW1pdFByb29mIHx8IChSYXRlTGltaXRQcm9vZiA9IHt9KSk7XG5leHBvcnQgdmFyIFdha3VNZXNzYWdlO1xuKGZ1bmN0aW9uIChXYWt1TWVzc2FnZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1lc3NhZ2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wYXlsb2FkICE9IG51bGwgJiYgb2JqLnBheWxvYWQuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucGF5bG9hZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnZlcnNpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai52ZXJzaW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai50aW1lc3RhbXAgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai50aW1lc3RhbXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1ldGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1ldGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJhdGVMaW1pdFByb29mICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTcwKTtcbiAgICAgICAgICAgICAgICAgICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5lbmNvZGUob2JqLnJhdGVMaW1pdFByb29mLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lcGhlbWVyYWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLmVwaGVtZXJhbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYXlsb2FkID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnZlcnNpb24gPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnRpbWVzdGFtcCA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWV0YSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yYXRlTGltaXRQcm9vZiA9IFJhdGVMaW1pdFByb29mLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnJhdGVMaW1pdFByb29mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDMxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwaGVtZXJhbCA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFdha3VNZXNzYWdlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShXYWt1TWVzc2FnZSB8fCAoV2FrdU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmlsdGVyX3YyLmpzLm1hcCJdLCJuYW1lcyI6WyJDb2RlRXJyb3IiLCJkZWNvZGVNZXNzYWdlIiwiZW5jb2RlTWVzc2FnZSIsImVudW1lcmF0aW9uIiwibWVzc2FnZSIsImFsbG9jIiwidWludDhBcnJheUFsbG9jIiwiRmlsdGVyU3Vic2NyaWJlUmVxdWVzdCIsIkZpbHRlclN1YnNjcmliZVR5cGUiLCJfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXMiLCJjb2RlYyIsIl9jb2RlYyIsIm9iaiIsInciLCJvcHRzIiwibGVuZ3RoRGVsaW1pdGVkIiwiZm9yayIsInJlcXVlc3RJZCIsInVpbnQzMiIsInN0cmluZyIsImZpbHRlclN1YnNjcmliZVR5cGUiLCJlbmNvZGUiLCJwdWJzdWJUb3BpYyIsImNvbnRlbnRUb3BpY3MiLCJ2YWx1ZSIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsIlNVQlNDUklCRVJfUElORyIsImVuZCIsImxlbiIsInBvcyIsInRhZyIsImRlY29kZSIsImxpbWl0cyIsInB1c2giLCJza2lwVHlwZSIsImJ1ZiIsIkZpbHRlclN1YnNjcmliZVJlc3BvbnNlIiwic3RhdHVzQ29kZSIsInN0YXR1c0Rlc2MiLCJNZXNzYWdlUHVzaCIsIndha3VNZXNzYWdlIiwiV2FrdU1lc3NhZ2UiLCJSYXRlTGltaXRQcm9vZiIsInByb29mIiwiYnl0ZUxlbmd0aCIsImJ5dGVzIiwibWVya2xlUm9vdCIsImVwb2NoIiwic2hhcmVYIiwic2hhcmVZIiwibnVsbGlmaWVyIiwicmxuSWRlbnRpZmllciIsInBheWxvYWQiLCJjb250ZW50VG9waWMiLCJ2ZXJzaW9uIiwidGltZXN0YW1wIiwic2ludDY0IiwibWV0YSIsInJhdGVMaW1pdFByb29mIiwiZXBoZW1lcmFsIiwiYm9vbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/filter_v2.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/light_push.js":
/*!****************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/light_push.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PushRequest: () => (/* binding */ PushRequest),\n/* harmony export */ PushResponse: () => (/* binding */ PushResponse),\n/* harmony export */ PushRpc: () => (/* binding */ PushRpc),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar PushRequest;\n(function(PushRequest) {\n let _codec;\n PushRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pubsubTopic != null && obj.pubsubTopic !== \"\") {\n w.uint32(10);\n w.string(obj.pubsubTopic);\n }\n if (obj.message != null) {\n w.uint32(18);\n WakuMessage.codec().encode(obj.message, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n pubsubTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n case 2:\n {\n obj.message = WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.message\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushRequest.codec());\n };\n PushRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushRequest.codec(), opts);\n };\n})(PushRequest || (PushRequest = {}));\nvar PushResponse;\n(function(PushResponse) {\n let _codec;\n PushResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.isSuccess != null && obj.isSuccess !== false) {\n w.uint32(8);\n w.bool(obj.isSuccess);\n }\n if (obj.info != null) {\n w.uint32(18);\n w.string(obj.info);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n isSuccess: false\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.isSuccess = reader.bool();\n break;\n }\n case 2:\n {\n obj.info = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushResponse.codec());\n };\n PushResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushResponse.codec(), opts);\n };\n})(PushResponse || (PushResponse = {}));\nvar PushRpc;\n(function(PushRpc) {\n let _codec;\n PushRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.request != null) {\n w.uint32(18);\n PushRequest.codec().encode(obj.request, w);\n }\n if (obj.response != null) {\n w.uint32(26);\n PushResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.request = PushRequest.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.request\n });\n break;\n }\n case 3:\n {\n obj.response = PushResponse.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.response\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushRpc.codec());\n };\n PushRpc.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushRpc.codec(), opts);\n };\n})(PushRpc || (PushRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=light_push.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL2xpZ2h0X3B1c2guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDZ0I7QUFDWDtBQUN0RCxJQUFJSyxZQUFZO0FBQ3RCLFVBQVVBLFdBQVc7SUFDbEIsSUFBSUM7SUFDSkQsWUFBWUUsS0FBSyxHQUFHO1FBQ2hCLElBQUlELFVBQVUsTUFBTTtZQUNoQkEsU0FBU0osd0RBQU9BLENBQUMsQ0FBQ00sS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFLSixJQUFJSyxXQUFXLElBQUksUUFBUUwsSUFBSUssV0FBVyxLQUFLLElBQUs7b0JBQ3JESixFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSUssV0FBVztnQkFDNUI7Z0JBQ0EsSUFBSUwsSUFBSU4sT0FBTyxJQUFJLE1BQU07b0JBQ3JCTyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RFLFlBQVlULEtBQUssR0FBR1UsTUFBTSxDQUFDVCxJQUFJTixPQUFPLEVBQUVPO2dCQUM1QztnQkFDQSxJQUFJQyxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVTLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFWLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSSyxhQUFhO2dCQUNqQjtnQkFDQSxNQUFNUSxNQUFNRCxVQUFVLE9BQU9ELE9BQU9HLEdBQUcsR0FBR0gsT0FBT0ksR0FBRyxHQUFHSDtnQkFDdkQsTUFBT0QsT0FBT0ksR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxN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Q0pQLElBQUl5QyxPQUFPLEdBQUc5QixPQUFPTCxNQUFNO2dDQUMzQjs0QkFDSjt3QkFDQSxLQUFLOzRCQUFJO2dDQUNMTixJQUFJMEMsU0FBUyxHQUFHL0IsT0FBT2dDLE1BQU07Z0NBQzdCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUk7Z0NBQ0wzQyxJQUFJNEMsSUFBSSxHQUFHakMsT0FBT3FCLEtBQUs7Z0NBQ3ZCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUk7Z0NBQ0xoQyxJQUFJNkMsY0FBYyxHQUFHaEIsZUFBZTlCLEtBQUssR0FBR2tCLE1BQU0sQ0FBQ04sUUFBUUEsT0FBT0wsTUFBTSxJQUFJO29DQUN4RVksUUFBUWhCLEtBQUtnQixNQUFNLEVBQUUyQjtnQ0FDekI7Z0NBQ0E7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTDdDLElBQUk4QyxTQUFTLEdBQUduQyxPQUFPWSxJQUFJO2dDQUMzQjs0QkFDSjt3QkFDQTs0QkFBUztnQ0FDTFosT0FBT1EsUUFBUSxDQUFDSCxNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPaEI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBVSxZQUFZQyxNQUFNLEdBQUcsQ0FBQ1Q7UUFDbEIsT0FBT1AsOERBQWFBLENBQUNPLEtBQUtRLFlBQVlULEtBQUs7SUFDL0M7SUFDQVMsWUFBWVMsTUFBTSxHQUFHLENBQUNHLEtBQUtsQjtRQUN2QixPQUFPViw4REFBYUEsQ0FBQzRCLEtBQUtaLFlBQVlULEtBQUssSUFBSUc7SUFDbkQ7QUFDSixHQUFHTSxlQUFnQkEsQ0FBQUEsY0FBYyxDQUFDLEtBQ2xDLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3JlbGF5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9saWdodF9wdXNoLmpzPzE0MWIiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBkZWNvZGVNZXNzYWdlLCBlbmNvZGVNZXNzYWdlLCBtZXNzYWdlIH0gZnJvbSAncHJvdG9ucy1ydW50aW1lJztcbmltcG9ydCB7IGFsbG9jIGFzIHVpbnQ4QXJyYXlBbGxvYyB9IGZyb20gJ3VpbnQ4YXJyYXlzL2FsbG9jJztcbmV4cG9ydCB2YXIgUHVzaFJlcXVlc3Q7XG4oZnVuY3Rpb24gKFB1c2hSZXF1ZXN0KSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQdXNoUmVxdWVzdC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnB1YnN1YlRvcGljICE9IG51bGwgJiYgb2JqLnB1YnN1YlRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1lc3NhZ2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIFdha3VNZXNzYWdlLmNvZGVjKCkuZW5jb2RlKG9iai5tZXNzYWdlLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwdWJzdWJUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnB1YnN1YlRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lc3NhZ2UgPSBXYWt1TWVzc2FnZS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgUHVzaFJlcXVlc3QuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFB1c2hSZXF1ZXN0LmNvZGVjKCkpO1xuICAgIH07XG4gICAgUHVzaFJlcXVlc3QuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFB1c2hSZXF1ZXN0LmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShQdXNoUmVxdWVzdCB8fCAoUHVzaFJlcXVlc3QgPSB7fSkpO1xuZXhwb3J0IHZhciBQdXNoUmVzcG9uc2U7XG4oZnVuY3Rpb24gKFB1c2hSZXNwb25zZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgUHVzaFJlc3BvbnNlLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouaXNTdWNjZXNzICE9IG51bGwgJiYgb2JqLmlzU3VjY2VzcyAhPT0gZmFsc2UpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLmlzU3VjY2Vzcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouaW5mbyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmluZm8pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIGlzU3VjY2VzczogZmFsc2VcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmlzU3VjY2VzcyA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouaW5mbyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQdXNoUmVzcG9uc2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFB1c2hSZXNwb25zZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIFB1c2hSZXNwb25zZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUHVzaFJlc3BvbnNlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShQdXNoUmVzcG9uc2UgfHwgKFB1c2hSZXNwb25zZSA9IHt9KSk7XG5leHBvcnQgdmFyIFB1c2hScGM7XG4oZnVuY3Rpb24gKFB1c2hScGMpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFB1c2hScGMuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5yZXF1ZXN0SWQgIT0gbnVsbCAmJiBvYmoucmVxdWVzdElkICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucmVxdWVzdElkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5yZXF1ZXN0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICBQdXNoUmVxdWVzdC5jb2RlYygpLmVuY29kZShvYmoucmVxdWVzdCwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmVzcG9uc2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIFB1c2hSZXNwb25zZS5jb2RlYygpLmVuY29kZShvYmoucmVzcG9uc2UsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RJZDogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3RJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXF1ZXN0ID0gUHVzaFJlcXVlc3QuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmVxdWVzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlc3BvbnNlID0gUHVzaFJlc3BvbnNlLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnJlc3BvbnNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgUHVzaFJwYy5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUHVzaFJwYy5jb2RlYygpKTtcbiAgICB9O1xuICAgIFB1c2hScGMuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFB1c2hScGMuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFB1c2hScGMgfHwgKFB1c2hScGMgPSB7fSkpO1xuZXhwb3J0IHZhciBSYXRlTGltaXRQcm9vZjtcbihmdW5jdGlvbiAoUmF0ZUxpbWl0UHJvb2YpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFJhdGVMaW1pdFByb29mLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHJvb2YgIT0gbnVsbCAmJiBvYmoucHJvb2YuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucHJvb2YpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5tZXJrbGVSb290ICE9IG51bGwgJiYgb2JqLm1lcmtsZVJvb3QuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWVya2xlUm9vdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmVwb2NoICE9IG51bGwgJiYgb2JqLmVwb2NoLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVwb2NoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVYICE9IG51bGwgJiYgb2JqLnNoYXJlWC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVkgIT0gbnVsbCAmJiBvYmouc2hhcmVZLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig0Mik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm51bGxpZmllciAhPSBudWxsICYmIG9iai5udWxsaWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubnVsbGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmxuSWRlbnRpZmllciAhPSBudWxsICYmIG9iai5ybG5JZGVudGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnJsbklkZW50aWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb29mOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG1lcmtsZVJvb3Q6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgZXBvY2g6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVYOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWTogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBudWxsaWZpZXI6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgcmxuSWRlbnRpZmllcjogdWludDhBcnJheUFsbG9jKDApXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wcm9vZiA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lcmtsZVJvb3QgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcG9jaCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bGxpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJsbklkZW50aWZpZXIgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSk7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFJhdGVMaW1pdFByb29mIHx8IChSYXRlTGltaXRQcm9vZiA9IHt9KSk7XG5leHBvcnQgdmFyIFdha3VNZXNzYWdlO1xuKGZ1bmN0aW9uIChXYWt1TWVzc2FnZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1lc3NhZ2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wYXlsb2FkICE9IG51bGwgJiYgb2JqLnBheWxvYWQuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucGF5bG9hZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnZlcnNpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai52ZXJzaW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai50aW1lc3RhbXAgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai50aW1lc3RhbXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1ldGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1ldGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJhdGVMaW1pdFByb29mICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTcwKTtcbiAgICAgICAgICAgICAgICAgICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5lbmNvZGUob2JqLnJhdGVMaW1pdFByb29mLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lcGhlbWVyYWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLmVwaGVtZXJhbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYXlsb2FkID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnZlcnNpb24gPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnRpbWVzdGFtcCA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWV0YSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yYXRlTGltaXRQcm9vZiA9IFJhdGVMaW1pdFByb29mLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnJhdGVMaW1pdFByb29mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDMxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwaGVtZXJhbCA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFdha3VNZXNzYWdlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShXYWt1TWVzc2FnZSB8fCAoV2FrdU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGlnaHRfcHVzaC5qcy5tYXAiXSwibmFtZXMiOlsiZGVjb2RlTWVzc2FnZSIsImVuY29kZU1lc3NhZ2UiLCJtZXNzYWdlIiwiYWxsb2MiLCJ1aW50OEFycmF5QWxsb2MiLCJQdXNoUmVxdWVzdCIsIl9jb2RlYyIsImNvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwicHVic3ViVG9waWMiLCJ1aW50MzIiLCJzdHJpbmciLCJXYWt1TWVzc2FnZSIsImVuY29kZSIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsImVuZCIsImxlbiIsInBvcyIsInRhZyIsImRlY29kZSIsImxpbWl0cyIsInNraXBUeXBlIiwiYnVmIiwiUHVzaFJlc3BvbnNlIiwiaXNTdWNjZXNzIiwiYm9vbCIsImluZm8iLCJQdXNoUnBjIiwicmVxdWVzdElkIiwicmVxdWVzdCIsInJlc3BvbnNlIiwiUmF0ZUxpbWl0UHJvb2YiLCJwcm9vZiIsImJ5dGVMZW5ndGgiLCJieXRlcyIsIm1lcmtsZVJvb3QiLCJlcG9jaCIsInNoYXJlWCIsInNoYXJlWSIsIm51bGxpZmllciIsInJsbklkZW50aWZpZXIiLCJwYXlsb2FkIiwiY29udGVudFRvcGljIiwidmVyc2lvbiIsInRpbWVzdGFtcCIsInNpbnQ2NCIsIm1ldGEiLCJyYXRlTGltaXRQcm9vZiIsImVwaGVtZXJhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/light_push.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/message.js":
/*!*************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/message.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL21lc3NhZ2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDZ0I7QUFDWDtBQUN0RCxJQUFJSyxlQUFlO0FBQ3pCLFVBQVVBLGNBQWM7SUFDckIsSUFBSUM7SUFDSkQsZUFBZUUsS0FBSyxHQUFHO1FBQ25CLElBQUlELFVBQVUsTUFBTTtZQUNoQkEsU0FBU0osd0RBQU9BLENBQUMsQ0FBQ00sS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFLSixJQUFJSyxLQUFLLElBQUksUUFBUUwsSUFBSUssS0FBSyxDQUFDQyxVQUFVLEdBQUcsR0FBSTtvQkFDakRMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJSyxLQUFLO2dCQUNyQjtnQkFDQSxJQUFLTCxJQUFJUyxVQUFVLElBQUksUUFBUVQsSUFBSVMsVUFBVSxDQUFDSCxVQUFVLEdBQUcsR0FBSTtvQkFDM0RMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJUyxVQUFVO2dCQUMxQjtnQkFDQSxJQUFLVCxJQUFJVSxLQUFLLElBQUksUUFBUVYsSUFBSVUsS0FBSyxDQUFDSixVQUFVLEdBQUcsR0FBSTtvQkFDakRMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJVSxLQUFLO2dCQUNyQjtnQkFDQSxJQUFLVixJQUFJVyxNQUFNLElBQUksUUFBUVgsSUFBSVcsTUFBTSxDQUFDTCxVQUFVLEdBQUcsR0FBSTtvQkFDbkRMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4s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Z0JBQ0o7Z0JBQ0EsT0FBT3JCO1lBQ1g7UUFDSjtRQUNBLE9BQU9GO0lBQ1g7SUFDQTRCLFlBQVlILE1BQU0sR0FBRyxDQUFDdkI7UUFDbEIsT0FBT1AsOERBQWFBLENBQUNPLEtBQUswQixZQUFZM0IsS0FBSztJQUMvQztJQUNBMkIsWUFBWUYsTUFBTSxHQUFHLENBQUNDLEtBQUt2QjtRQUN2QixPQUFPViw4REFBYUEsQ0FBQ2lDLEtBQUtDLFlBQVkzQixLQUFLLElBQUlHO0lBQ25EO0FBQ0osR0FBR3dCLGVBQWdCQSxDQUFBQSxjQUFjLENBQUMsS0FDbEMsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL21lc3NhZ2UuanM/M2I1YyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvZXhwb3J0ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktYm9vbGVhbi1saXRlcmFsLWNvbXBhcmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UgKi9cbmltcG9ydCB7IGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuaW1wb3J0IHsgYWxsb2MgYXMgdWludDhBcnJheUFsbG9jIH0gZnJvbSAndWludDhhcnJheXMvYWxsb2MnO1xuZXhwb3J0IHZhciBSYXRlTGltaXRQcm9vZjtcbihmdW5jdGlvbiAoUmF0ZUxpbWl0UHJvb2YpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFJhdGVMaW1pdFByb29mLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHJvb2YgIT0gbnVsbCAmJiBvYmoucHJvb2YuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucHJvb2YpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5tZXJrbGVSb290ICE9IG51bGwgJiYgb2JqLm1lcmtsZVJvb3QuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWVya2xlUm9vdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmVwb2NoICE9IG51bGwgJiYgb2JqLmVwb2NoLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVwb2NoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVYICE9IG51bGwgJiYgb2JqLnNoYXJlWC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVkgIT0gbnVsbCAmJiBvYmouc2hhcmVZLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig0Mik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm51bGxpZmllciAhPSBudWxsICYmIG9iai5udWxsaWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubnVsbGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmxuSWRlbnRpZmllciAhPSBudWxsICYmIG9iai5ybG5JZGVudGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnJsbklkZW50aWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb29mOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG1lcmtsZVJvb3Q6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgZXBvY2g6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVYOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWTogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBudWxsaWZpZXI6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgcmxuSWRlbnRpZmllcjogdWludDhBcnJheUFsbG9jKDApXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wcm9vZiA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lcmtsZVJvb3QgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcG9jaCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bGxpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJsbklkZW50aWZpZXIgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSk7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFJhdGVMaW1pdFByb29mIHx8IChSYXRlTGltaXRQcm9vZiA9IHt9KSk7XG5leHBvcnQgdmFyIFdha3VNZXNzYWdlO1xuKGZ1bmN0aW9uIChXYWt1TWVzc2FnZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1lc3NhZ2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wYXlsb2FkICE9IG51bGwgJiYgb2JqLnBheWxvYWQuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucGF5bG9hZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnZlcnNpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai52ZXJzaW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai50aW1lc3RhbXAgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai50aW1lc3RhbXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1ldGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1ldGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJhdGVMaW1pdFByb29mICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTcwKTtcbiAgICAgICAgICAgICAgICAgICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5lbmNvZGUob2JqLnJhdGVMaW1pdFByb29mLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lcGhlbWVyYWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLmVwaGVtZXJhbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYXlsb2FkID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnZlcnNpb24gPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnRpbWVzdGFtcCA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWV0YSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yYXRlTGltaXRQcm9vZiA9IFJhdGVMaW1pdFByb29mLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnJhdGVMaW1pdFByb29mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDMxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwaGVtZXJhbCA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFdha3VNZXNzYWdlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShXYWt1TWVzc2FnZSB8fCAoV2FrdU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVzc2FnZS5qcy5tYXAiXSwibmFtZXMiOlsiZGVjb2RlTWVzc2FnZSIsImVuY29kZU1lc3NhZ2UiLCJtZXNzYWdlIiwiYWxsb2MiLCJ1aW50OEFycmF5QWxsb2MiLCJSYXRlTGltaXRQcm9vZiIsIl9jb2RlYyIsImNvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwicHJvb2YiLCJieXRlTGVuZ3RoIiwidWludDMyIiwiYnl0ZXMiLCJtZXJrbGVSb290IiwiZXBvY2giLCJzaGFyZVgiLCJzaGFyZVkiLCJudWxsaWZpZXIiLCJybG5JZGVudGlmaWVyIiwibGRlbGltIiwicmVhZGVyIiwibGVuZ3RoIiwiZW5kIiwibGVuIiwicG9zIiwidGFnIiwic2tpcFR5cGUiLCJlbmNvZGUiLCJkZWNvZGUiLCJidWYiLCJXYWt1TWVzc2FnZSIsInBheWxvYWQiLCJjb250ZW50VG9waWMiLCJzdHJpbmciLCJ2ZXJzaW9uIiwidGltZXN0YW1wIiwic2ludDY0IiwibWV0YSIsInJhdGVMaW1pdFByb29mIiwiZXBoZW1lcmFsIiwiYm9vbCIsImxpbWl0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/metadata.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/metadata.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WakuMetadataRequest: () => (/* binding */ WakuMetadataRequest),\n/* harmony export */ WakuMetadataResponse: () => (/* binding */ WakuMetadataResponse)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar WakuMetadataRequest;\n(function(WakuMetadataRequest) {\n let _codec;\n WakuMetadataRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.clusterId != null) {\n w.uint32(8);\n w.uint32(obj.clusterId);\n }\n if (obj.shards != null) {\n for (const value of obj.shards){\n w.uint32(16);\n w.uint32(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n shards: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.clusterId = reader.uint32();\n break;\n }\n case 2:\n {\n if (opts.limits?.shards != null && obj.shards.length === opts.limits.shards) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"shards\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.shards.push(reader.uint32());\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMetadataRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMetadataRequest.codec());\n };\n WakuMetadataRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMetadataRequest.codec(), opts);\n };\n})(WakuMetadataRequest || (WakuMetadataRequest = {}));\nvar WakuMetadataResponse;\n(function(WakuMetadataResponse) {\n let _codec;\n WakuMetadataResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.clusterId != null) {\n w.uint32(8);\n w.uint32(obj.clusterId);\n }\n if (obj.shards != null) {\n for (const value of obj.shards){\n w.uint32(16);\n w.uint32(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n shards: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.clusterId = reader.uint32();\n break;\n }\n case 2:\n {\n if (opts.limits?.shards != null && obj.shards.length === opts.limits.shards) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"shards\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.shards.push(reader.uint32());\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMetadataResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMetadataResponse.codec());\n };\n WakuMetadataResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMetadataResponse.codec(), opts);\n };\n})(WakuMetadataResponse || (WakuMetadataResponse = {})); //# sourceMappingURL=metadata.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL21ldGFkYXRhLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDMkI7QUFDNUUsSUFBSUksb0JBQW9CO0FBQzlCLFVBQVVBLG1CQUFtQjtJQUMxQixJQUFJQztJQUNKRCxvQkFBb0JFLEtBQUssR0FBRztRQUN4QixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNGLHdEQUFPQSxDQUFDLENBQUNJLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBSUosSUFBSUssU0FBUyxJQUFJLE1BQU07b0JBQ3ZCSixFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVLLE1BQU0sQ0FBQ04sSUFBSUssU0FBUztnQkFDMUI7Z0JBQ0EsSUFBSUwsSUFBSU8sTUFBTSxJQUFJLE1BQU07b0JBQ3BCLEtBQUssTUFBTUMsU0FBU1IsSUFBSU8sTUFBTSxDQUFFO3dCQUM1Qk4sRUFBRUssTUFBTSxDQUFDO3dCQUNUTCxFQUFFSyxNQUFNLENBQUNFO29CQUNiO2dCQUNKO2dCQUNBLElBQUlOLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRVEsTUFBTTtnQkFDWjtZQUNKLEdBQUcsQ0FBQ0MsUUFBUUMsUUFBUVQsT0FBTyxDQUFDLENBQUM7Z0JBQ3pCLE1BQU1GLE1BQU07b0JBQ1JPLFFBQVEsRUFBRTtnQkFDZDtnQkFDQSxNQUFNSyxNQUFNRCxVQUFVLE9BQU9ELE9BQU9HLEdBQUcsR0FBR0gsT0FBT0ksR0FBRyxHQUFHSDtnQkFDdkQsTUFBT0QsT0FBT0ksR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTCxP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QUFDSyxLQUFLc0IscUJBQXFCdkIsS0FBSztJQUN4RDtJQUNBdUIscUJBQXFCRixNQUFNLEdBQUcsQ0FBQ0MsS0FBS25CO1FBQ2hDLE9BQU9SLDhEQUFhQSxDQUFDMkIsS0FBS0MscUJBQXFCdkIsS0FBSyxJQUFJRztJQUM1RDtBQUNKLEdBQUdvQix3QkFBeUJBLENBQUFBLHVCQUF1QixDQUFDLEtBQ3BELG9DQUFvQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3JlbGF5L25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9tZXRhZGF0YS5qcz9mZTZlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgQ29kZUVycm9yLCBkZWNvZGVNZXNzYWdlLCBlbmNvZGVNZXNzYWdlLCBtZXNzYWdlIH0gZnJvbSAncHJvdG9ucy1ydW50aW1lJztcbmV4cG9ydCB2YXIgV2FrdU1ldGFkYXRhUmVxdWVzdDtcbihmdW5jdGlvbiAoV2FrdU1ldGFkYXRhUmVxdWVzdCkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1ldGFkYXRhUmVxdWVzdC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouY2x1c3RlcklkICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai5jbHVzdGVySWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnNoYXJkcyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygb2JqLnNoYXJkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgc2hhcmRzOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY2x1c3RlcklkID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMubGltaXRzPy5zaGFyZHMgIT0gbnVsbCAmJiBvYmouc2hhcmRzLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMuc2hhcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb2RlRXJyb3IoJ2RlY29kZSBlcnJvciAtIG1hcCBmaWVsZCBcInNoYXJkc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmRzLnB1c2gocmVhZGVyLnVpbnQzMigpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWV0YWRhdGFSZXF1ZXN0LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBXYWt1TWV0YWRhdGFSZXF1ZXN0LmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1ldGFkYXRhUmVxdWVzdC5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1ldGFkYXRhUmVxdWVzdC5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoV2FrdU1ldGFkYXRhUmVxdWVzdCB8fCAoV2FrdU1ldGFkYXRhUmVxdWVzdCA9IHt9KSk7XG5leHBvcnQgdmFyIFdha3VNZXRhZGF0YVJlc3BvbnNlO1xuKGZ1bmN0aW9uIChXYWt1TWV0YWRhdGFSZXNwb25zZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1ldGFkYXRhUmVzcG9uc2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmNsdXN0ZXJJZCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgpO1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMihvYmouY2x1c3RlcklkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5zaGFyZHMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5zaGFyZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHNoYXJkczogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNsdXN0ZXJJZCA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxpbWl0cz8uc2hhcmRzICE9IG51bGwgJiYgb2JqLnNoYXJkcy5sZW5ndGggPT09IG9wdHMubGltaXRzLnNoYXJkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdkZWNvZGUgZXJyb3IgLSBtYXAgZmllbGQgXCJzaGFyZHNcIiBoYWQgdG9vIG1hbnkgZWxlbWVudHMnLCAnRVJSX01BWF9MRU5HVEgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJkcy5wdXNoKHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgV2FrdU1ldGFkYXRhUmVzcG9uc2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXRhZGF0YVJlc3BvbnNlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1ldGFkYXRhUmVzcG9uc2UuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFdha3VNZXRhZGF0YVJlc3BvbnNlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShXYWt1TWV0YWRhdGFSZXNwb25zZSB8fCAoV2FrdU1ldGFkYXRhUmVzcG9uc2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWV0YWRhdGEuanMubWFwIl0sIm5hbWVzIjpbIkNvZGVFcnJvciIsImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwibWVzc2FnZSIsIldha3VNZXRhZGF0YVJlcXVlc3QiLCJfY29kZWMiLCJjb2RlYyIsIm9iaiIsInciLCJvcHRzIiwibGVuZ3RoRGVsaW1pdGVkIiwiZm9yayIsImNsdXN0ZXJJZCIsInVpbnQzMiIsInNoYXJkcyIsInZhbHVlIiwibGRlbGltIiwicmVhZGVyIiwibGVuZ3RoIiwiZW5kIiwibGVuIiwicG9zIiwidGFnIiwibGltaXRzIiwicHVzaCIsInNraXBUeXBlIiwiZW5jb2RlIiwiZGVjb2RlIiwiYnVmIiwiV2FrdU1ldGFkYXRhUmVzcG9uc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/metadata.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/peer_exchange.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/peer_exchange.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PeerExchangeQuery: () => (/* binding */ PeerExchangeQuery),\n/* harmony export */ PeerExchangeRPC: () => (/* binding */ PeerExchangeRPC),\n/* harmony export */ PeerExchangeResponse: () => (/* binding */ PeerExchangeResponse),\n/* harmony export */ PeerInfo: () => (/* binding */ PeerInfo)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar PeerInfo;\n(function(PeerInfo) {\n let _codec;\n PeerInfo.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.enr != null) {\n w.uint32(10);\n w.bytes(obj.enr);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.enr = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerInfo.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerInfo.codec());\n };\n PeerInfo.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerInfo.codec(), opts);\n };\n})(PeerInfo || (PeerInfo = {}));\nvar PeerExchangeQuery;\n(function(PeerExchangeQuery) {\n let _codec;\n PeerExchangeQuery.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.numPeers != null) {\n w.uint32(8);\n w.uint64(obj.numPeers);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.numPeers = reader.uint64();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeQuery.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeQuery.codec());\n };\n PeerExchangeQuery.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeQuery.codec(), opts);\n };\n})(PeerExchangeQuery || (PeerExchangeQuery = {}));\nvar PeerExchangeResponse;\n(function(PeerExchangeResponse) {\n let _codec;\n PeerExchangeResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.peerInfos != null) {\n for (const value of obj.peerInfos){\n w.uint32(10);\n PeerInfo.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n peerInfos: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n if (opts.limits?.peerInfos != null && obj.peerInfos.length === opts.limits.peerInfos) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"peerInfos\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.peerInfos.push(PeerInfo.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.peerInfos$\n }));\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeResponse.codec());\n };\n PeerExchangeResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeResponse.codec(), opts);\n };\n})(PeerExchangeResponse || (PeerExchangeResponse = {}));\nvar PeerExchangeRPC;\n(function(PeerExchangeRPC) {\n let _codec;\n PeerExchangeRPC.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.query != null) {\n w.uint32(10);\n PeerExchangeQuery.codec().encode(obj.query, w);\n }\n if (obj.response != null) {\n w.uint32(18);\n PeerExchangeResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.query = PeerExchangeQuery.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.query\n });\n break;\n }\n case 2:\n {\n obj.response = PeerExchangeResponse.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.response\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeRPC.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeRPC.codec());\n };\n PeerExchangeRPC.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeRPC.codec(), opts);\n };\n})(PeerExchangeRPC || (PeerExchangeRPC = {})); //# sourceMappingURL=peer_exchange.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL3BlZXJfZXhjaGFuZ2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQzJCO0FBQzVFLElBQUlJLFNBQVM7QUFDbkIsVUFBVUEsUUFBUTtJQUNmLElBQUlDO0lBQ0pELFNBQVNFLEtBQUssR0FBRztRQUNiLElBQUlELFVBQVUsTUFBTTtZQUNoQkEsU0FBU0Ysd0RBQU9BLENBQUMsQ0FBQ0ksS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFJSixJQUFJSyxHQUFHLElBQUksTUFBTTtvQkFDakJKLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRU0sS0FBSyxDQUFDUCxJQUFJSyxHQUFHO2dCQUNuQjtnQkFDQSxJQUFJSCxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVPLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFSLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNLENBQUM7Z0JBQ2IsTUFBTVcsTUFBTUQsVUFBVSxPQUFPRCxPQUFPRyxHQUFHLEdBQUdILE9BQU9JLEdBQUcsR0FBR0g7Z0JBQ3ZELE1BQU9ELE9BQU9JLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFBTUcsTUFBTUwsT0FBT0gsTUFBTTtvQkFDekIsT0FBUVEsUUFBUTt3QkFDWixLQUFLOzRCQUFHO2dDQUNKZCxJQUFJSyxHQUFHLEdBQUdJLE9BQU9GLEtBQUs7Z0NBQ3RCOzRCQUNKO3dCQUNBOzRCQUFTO2dDQUNMRSxPQUFPTSxRQUFRLENBQUNELE1BQU07Z0NBQ3RCOzRCQUNKO29CQUNK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QUNKO29CQUNKO2dCQUNKO2dCQUNBLE9BQU9kO1lBQ1g7UUFDSjtRQUNBLE9BQU9GO0lBQ1g7SUFDQThCLGdCQUFnQlosTUFBTSxHQUFHLENBQUNoQjtRQUN0QixPQUFPTCw4REFBYUEsQ0FBQ0ssS0FBSzRCLGdCQUFnQjdCLEtBQUs7SUFDbkQ7SUFDQTZCLGdCQUFnQlgsTUFBTSxHQUFHLENBQUNDLEtBQUtoQjtRQUMzQixPQUFPUiw4REFBYUEsQ0FBQ3dCLEtBQUtVLGdCQUFnQjdCLEtBQUssSUFBSUc7SUFDdkQ7QUFDSixHQUFHMEIsbUJBQW9CQSxDQUFBQSxrQkFBa0IsQ0FBQyxLQUMxQyx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9yZWxheS9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9nZW5lcmF0ZWQvcGVlcl9leGNoYW5nZS5qcz82MWQ2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgQ29kZUVycm9yLCBkZWNvZGVNZXNzYWdlLCBlbmNvZGVNZXNzYWdlLCBtZXNzYWdlIH0gZnJvbSAncHJvdG9ucy1ydW50aW1lJztcbmV4cG9ydCB2YXIgUGVlckluZm87XG4oZnVuY3Rpb24gKFBlZXJJbmZvKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQZWVySW5mby5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouZW5yICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5lbnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lbnIgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQZWVySW5mby5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUGVlckluZm8uY29kZWMoKSk7XG4gICAgfTtcbiAgICBQZWVySW5mby5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUGVlckluZm8uY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFBlZXJJbmZvIHx8IChQZWVySW5mbyA9IHt9KSk7XG5leHBvcnQgdmFyIFBlZXJFeGNoYW5nZVF1ZXJ5O1xuKGZ1bmN0aW9uIChQZWVyRXhjaGFuZ2VRdWVyeSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgUGVlckV4Y2hhbmdlUXVlcnkuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm51bVBlZXJzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDY0KG9iai5udW1QZWVycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bVBlZXJzID0gcmVhZGVyLnVpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFBlZXJFeGNoYW5nZVF1ZXJ5LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBQZWVyRXhjaGFuZ2VRdWVyeS5jb2RlYygpKTtcbiAgICB9O1xuICAgIFBlZXJFeGNoYW5nZVF1ZXJ5LmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQZWVyRXhjaGFuZ2VRdWVyeS5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUGVlckV4Y2hhbmdlUXVlcnkgfHwgKFBlZXJFeGNoYW5nZVF1ZXJ5ID0ge30pKTtcbmV4cG9ydCB2YXIgUGVlckV4Y2hhbmdlUmVzcG9uc2U7XG4oZnVuY3Rpb24gKFBlZXJFeGNoYW5nZVJlc3BvbnNlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQZWVyRXhjaGFuZ2VSZXNwb25zZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucGVlckluZm9zICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmoucGVlckluZm9zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBQZWVySW5mby5jb2RlYygpLmVuY29kZSh2YWx1ZSwgdyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwZWVySW5mb3M6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxpbWl0cz8ucGVlckluZm9zICE9IG51bGwgJiYgb2JqLnBlZXJJbmZvcy5sZW5ndGggPT09IG9wdHMubGltaXRzLnBlZXJJbmZvcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdkZWNvZGUgZXJyb3IgLSBtYXAgZmllbGQgXCJwZWVySW5mb3NcIiBoYWQgdG9vIG1hbnkgZWxlbWVudHMnLCAnRVJSX01BWF9MRU5HVEgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBlZXJJbmZvcy5wdXNoKFBlZXJJbmZvLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnBlZXJJbmZvcyRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgUGVlckV4Y2hhbmdlUmVzcG9uc2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFBlZXJFeGNoYW5nZVJlc3BvbnNlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgUGVlckV4Y2hhbmdlUmVzcG9uc2UuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFBlZXJFeGNoYW5nZVJlc3BvbnNlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShQZWVyRXhjaGFuZ2VSZXNwb25zZSB8fCAoUGVlckV4Y2hhbmdlUmVzcG9uc2UgPSB7fSkpO1xuZXhwb3J0IHZhciBQZWVyRXhjaGFuZ2VSUEM7XG4oZnVuY3Rpb24gKFBlZXJFeGNoYW5nZVJQQykge1xuICAgIGxldCBfY29kZWM7XG4gICAgUGVlckV4Y2hhbmdlUlBDLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5xdWVyeSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgUGVlckV4Y2hhbmdlUXVlcnkuY29kZWMoKS5lbmNvZGUob2JqLnF1ZXJ5LCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5yZXNwb25zZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgUGVlckV4Y2hhbmdlUmVzcG9uc2UuY29kZWMoKS5lbmNvZGUob2JqLnJlc3BvbnNlLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucXVlcnkgPSBQZWVyRXhjaGFuZ2VRdWVyeS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5xdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlc3BvbnNlID0gUGVlckV4Y2hhbmdlUmVzcG9uc2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQZWVyRXhjaGFuZ2VSUEMuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFBlZXJFeGNoYW5nZVJQQy5jb2RlYygpKTtcbiAgICB9O1xuICAgIFBlZXJFeGNoYW5nZVJQQy5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUGVlckV4Y2hhbmdlUlBDLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShQZWVyRXhjaGFuZ2VSUEMgfHwgKFBlZXJFeGNoYW5nZVJQQyA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wZWVyX2V4Y2hhbmdlLmpzLm1hcCJdLCJuYW1lcyI6WyJDb2RlRXJyb3IiLCJkZWNvZGVNZXNzYWdlIiwiZW5jb2RlTWVzc2FnZSIsIm1lc3NhZ2UiLCJQZWVySW5mbyIsIl9jb2RlYyIsImNvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwiZW5yIiwidWludDMyIiwiYnl0ZXMiLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJza2lwVHlwZSIsImVuY29kZSIsImRlY29kZSIsImJ1ZiIsIlBlZXJFeGNoYW5nZVF1ZXJ5IiwibnVtUGVlcnMiLCJ1aW50NjQiLCJQZWVyRXhjaGFuZ2VSZXNwb25zZSIsInBlZXJJbmZvcyIsInZhbHVlIiwibGltaXRzIiwicHVzaCIsInBlZXJJbmZvcyQiLCJQZWVyRXhjaGFuZ2VSUEMiLCJxdWVyeSIsInJlc3BvbnNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/peer_exchange.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/store.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/store.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContentFilter: () => (/* binding */ ContentFilter),\n/* harmony export */ HistoryQuery: () => (/* binding */ HistoryQuery),\n/* harmony export */ HistoryResponse: () => (/* binding */ HistoryResponse),\n/* harmony export */ HistoryRpc: () => (/* binding */ HistoryRpc),\n/* harmony export */ Index: () => (/* binding */ Index),\n/* harmony export */ PagingInfo: () => (/* binding */ PagingInfo),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar Index;\n(function(Index) {\n let _codec;\n Index.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.digest != null && obj.digest.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.digest);\n }\n if (obj.receiverTime != null && obj.receiverTime !== 0n) {\n w.uint32(16);\n w.sint64(obj.receiverTime);\n }\n if (obj.senderTime != null && obj.senderTime !== 0n) {\n w.uint32(24);\n w.sint64(obj.senderTime);\n }\n if (obj.pubsubTopic != null && obj.pubsubTopic !== \"\") {\n w.uint32(34);\n w.string(obj.pubsubTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n digest: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n receiverTime: 0n,\n senderTime: 0n,\n pubsubTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.digest = reader.bytes();\n break;\n }\n case 2:\n {\n obj.receiverTime = reader.sint64();\n break;\n }\n case 3:\n {\n obj.senderTime = reader.sint64();\n break;\n }\n case 4:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n Index.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, Index.codec());\n };\n Index.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, Index.codec(), opts);\n };\n})(Index || (Index = {}));\nvar PagingInfo;\n(function(PagingInfo) {\n let Direction;\n (function(Direction) {\n Direction[\"BACKWARD\"] = \"BACKWARD\";\n Direction[\"FORWARD\"] = \"FORWARD\";\n })(Direction = PagingInfo.Direction || (PagingInfo.Direction = {}));\n let __DirectionValues;\n (function(__DirectionValues) {\n __DirectionValues[__DirectionValues[\"BACKWARD\"] = 0] = \"BACKWARD\";\n __DirectionValues[__DirectionValues[\"FORWARD\"] = 1] = \"FORWARD\";\n })(__DirectionValues || (__DirectionValues = {}));\n (function(Direction) {\n Direction.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__DirectionValues);\n };\n })(Direction = PagingInfo.Direction || (PagingInfo.Direction = {}));\n let _codec;\n PagingInfo.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pageSize != null) {\n w.uint32(8);\n w.uint64(obj.pageSize);\n }\n if (obj.cursor != null) {\n w.uint32(18);\n Index.codec().encode(obj.cursor, w);\n }\n if (obj.direction != null) {\n w.uint32(24);\n PagingInfo.Direction.codec().encode(obj.direction, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.pageSize = reader.uint64();\n break;\n }\n case 2:\n {\n obj.cursor = Index.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.cursor\n });\n break;\n }\n case 3:\n {\n obj.direction = PagingInfo.Direction.codec().decode(reader);\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PagingInfo.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PagingInfo.codec());\n };\n PagingInfo.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PagingInfo.codec(), opts);\n };\n})(PagingInfo || (PagingInfo = {}));\nvar ContentFilter;\n(function(ContentFilter) {\n let _codec;\n ContentFilter.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(10);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.contentTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n ContentFilter.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, ContentFilter.codec());\n };\n ContentFilter.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, ContentFilter.codec(), opts);\n };\n})(ContentFilter || (ContentFilter = {}));\nvar HistoryQuery;\n(function(HistoryQuery) {\n let _codec;\n HistoryQuery.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pubsubTopic != null) {\n w.uint32(18);\n w.string(obj.pubsubTopic);\n }\n if (obj.contentFilters != null) {\n for (const value of obj.contentFilters){\n w.uint32(26);\n ContentFilter.codec().encode(value, w);\n }\n }\n if (obj.pagingInfo != null) {\n w.uint32(34);\n PagingInfo.codec().encode(obj.pagingInfo, w);\n }\n if (obj.startTime != null) {\n w.uint32(40);\n w.sint64(obj.startTime);\n }\n if (obj.endTime != null) {\n w.uint32(48);\n w.sint64(obj.endTime);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentFilters: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n case 3:\n {\n if (opts.limits?.contentFilters != null && obj.contentFilters.length === opts.limits.contentFilters) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"contentFilters\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.contentFilters.push(ContentFilter.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.contentFilters$\n }));\n break;\n }\n case 4:\n {\n obj.pagingInfo = PagingInfo.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.pagingInfo\n });\n break;\n }\n case 5:\n {\n obj.startTime = reader.sint64();\n break;\n }\n case 6:\n {\n obj.endTime = reader.sint64();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryQuery.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryQuery.codec());\n };\n HistoryQuery.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryQuery.codec(), opts);\n };\n})(HistoryQuery || (HistoryQuery = {}));\nvar HistoryResponse;\n(function(HistoryResponse) {\n let HistoryError;\n (function(HistoryError) {\n HistoryError[\"NONE\"] = \"NONE\";\n HistoryError[\"INVALID_CURSOR\"] = \"INVALID_CURSOR\";\n HistoryError[\"TOO_MANY_RESULTS\"] = \"TOO_MANY_RESULTS\";\n HistoryError[\"SERVICE_UNAVAILABLE\"] = \"SERVICE_UNAVAILABLE\";\n })(HistoryError = HistoryResponse.HistoryError || (HistoryResponse.HistoryError = {}));\n let __HistoryErrorValues;\n (function(__HistoryErrorValues) {\n __HistoryErrorValues[__HistoryErrorValues[\"NONE\"] = 0] = \"NONE\";\n __HistoryErrorValues[__HistoryErrorValues[\"INVALID_CURSOR\"] = 1] = \"INVALID_CURSOR\";\n __HistoryErrorValues[__HistoryErrorValues[\"TOO_MANY_RESULTS\"] = 429] = \"TOO_MANY_RESULTS\";\n __HistoryErrorValues[__HistoryErrorValues[\"SERVICE_UNAVAILABLE\"] = 503] = \"SERVICE_UNAVAILABLE\";\n })(__HistoryErrorValues || (__HistoryErrorValues = {}));\n (function(HistoryError) {\n HistoryError.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__HistoryErrorValues);\n };\n })(HistoryError = HistoryResponse.HistoryError || (HistoryResponse.HistoryError = {}));\n let _codec;\n HistoryResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.messages != null) {\n for (const value of obj.messages){\n w.uint32(18);\n WakuMessage.codec().encode(value, w);\n }\n }\n if (obj.pagingInfo != null) {\n w.uint32(26);\n PagingInfo.codec().encode(obj.pagingInfo, w);\n }\n if (obj.error != null && __HistoryErrorValues[obj.error] !== 0) {\n w.uint32(32);\n HistoryResponse.HistoryError.codec().encode(obj.error, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n messages: [],\n error: HistoryError.NONE\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n {\n if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"messages\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.messages.push(WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.messages$\n }));\n break;\n }\n case 3:\n {\n obj.pagingInfo = PagingInfo.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.pagingInfo\n });\n break;\n }\n case 4:\n {\n obj.error = HistoryResponse.HistoryError.codec().decode(reader);\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryResponse.codec());\n };\n HistoryResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryResponse.codec(), opts);\n };\n})(HistoryResponse || (HistoryResponse = {}));\nvar HistoryRpc;\n(function(HistoryRpc) {\n let _codec;\n HistoryRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.query != null) {\n w.uint32(18);\n HistoryQuery.codec().encode(obj.query, w);\n }\n if (obj.response != null) {\n w.uint32(26);\n HistoryResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.query = HistoryQuery.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.query\n });\n break;\n }\n case 3:\n {\n obj.response = HistoryResponse.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.response\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryRpc.codec());\n };\n HistoryRpc.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryRpc.codec(), opts);\n };\n})(HistoryRpc || (HistoryRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL3N0b3JlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQ3dDO0FBQ25DO0FBQ3RELElBQUlPLE1BQU07QUFDaEIsVUFBVUEsS0FBSztJQUNaLElBQUlDO0lBQ0pELE1BQU1FLEtBQUssR0FBRztRQUNWLElBQUlELFVBQVUsTUFBTTtZQUNoQkEsU0FBU0osd0RBQU9BLENBQUMsQ0FBQ00sS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFLSixJQUFJSyxNQUFNLElBQUksUUFBUUwsSUFBSUssTUFBTSxDQUFDQyxVQUFVLEdBQUcsR0FBSTtvQkFDbkRMLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRU8sS0FBSyxDQUFDUixJQUFJSyxNQUFNO2dCQUN0QjtnQkFDQSxJQUFLTCxJQUFJUyxZQUFZLElBQUksUUFBUVQsSUFBSVMsWUFBWSxLQUFLLEVBQUUsRUFBRztvQkFDdkRSLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRVMsTUFBTSxDQUFDVixJQUFJUyxZQUFZO2dCQUM3QjtnQkFDQSxJQUFLVCxJQUFJVyxVQUFVLElBQUksUUFBUVgsSUFBSVcsVUFBVSxLQUFLLEVBQUUsRUFBRztvQkFDbkRWLEVBQUVNLE1BQU0sQ0FBQztvQkFDVE4sRUFBRVMsTUFBTSxDQUFDVixJQUFJVyxVQUFVO2dCQUMzQjtnQkFDQSxJQUFLWCxJQUFJWSxXQUFXLElBQUksUUFBUVosSUFBSVksV0FBVyxLQUFLLElBQUs7b0JBQ3JEWCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVZLE1BQU0sQ0FBQ2IsSUFB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QUFDdEI7UUFDbEIsT0FBT1IsOERBQWFBLENBQUNRLEtBQUsrQyxZQUFZaEQsS0FBSztJQUMvQztJQUNBZ0QsWUFBWXhCLE1BQU0sR0FBRyxDQUFDQyxLQUFLdEI7UUFDdkIsT0FBT1gsOERBQWFBLENBQUNpQyxLQUFLdUIsWUFBWWhELEtBQUssSUFBSUc7SUFDbkQ7QUFDSixHQUFHNkMsZUFBZ0JBLENBQUFBLGNBQWMsQ0FBQyxLQUNsQyxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9yZWxheS9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9nZW5lcmF0ZWQvc3RvcmUuanM/Yzk3MyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvZXhwb3J0ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktYm9vbGVhbi1saXRlcmFsLWNvbXBhcmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UgKi9cbmltcG9ydCB7IENvZGVFcnJvciwgZGVjb2RlTWVzc2FnZSwgZW5jb2RlTWVzc2FnZSwgZW51bWVyYXRpb24sIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuaW1wb3J0IHsgYWxsb2MgYXMgdWludDhBcnJheUFsbG9jIH0gZnJvbSAndWludDhhcnJheXMvYWxsb2MnO1xuZXhwb3J0IHZhciBJbmRleDtcbihmdW5jdGlvbiAoSW5kZXgpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIEluZGV4LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouZGlnZXN0ICE9IG51bGwgJiYgb2JqLmRpZ2VzdC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5kaWdlc3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5yZWNlaXZlclRpbWUgIT0gbnVsbCAmJiBvYmoucmVjZWl2ZXJUaW1lICE9PSAwbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTYpO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmoucmVjZWl2ZXJUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2VuZGVyVGltZSAhPSBudWxsICYmIG9iai5zZW5kZXJUaW1lICE9PSAwbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjQpO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmouc2VuZGVyVGltZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnB1YnN1YlRvcGljICE9IG51bGwgJiYgb2JqLnB1YnN1YlRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIGRpZ2VzdDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICByZWNlaXZlclRpbWU6IDBuLFxuICAgICAgICAgICAgICAgICAgICBzZW5kZXJUaW1lOiAwbixcbiAgICAgICAgICAgICAgICAgICAgcHVic3ViVG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5kaWdlc3QgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZWNlaXZlclRpbWUgPSByZWFkZXIuc2ludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2VuZGVyVGltZSA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wdWJzdWJUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBJbmRleC5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgSW5kZXguY29kZWMoKSk7XG4gICAgfTtcbiAgICBJbmRleC5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgSW5kZXguY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKEluZGV4IHx8IChJbmRleCA9IHt9KSk7XG5leHBvcnQgdmFyIFBhZ2luZ0luZm87XG4oZnVuY3Rpb24gKFBhZ2luZ0luZm8pIHtcbiAgICBsZXQgRGlyZWN0aW9uO1xuICAgIChmdW5jdGlvbiAoRGlyZWN0aW9uKSB7XG4gICAgICAgIERpcmVjdGlvbltcIkJBQ0tXQVJEXCJdID0gXCJCQUNLV0FSRFwiO1xuICAgICAgICBEaXJlY3Rpb25bXCJGT1JXQVJEXCJdID0gXCJGT1JXQVJEXCI7XG4gICAgfSkoRGlyZWN0aW9uID0gUGFnaW5nSW5mby5EaXJlY3Rpb24gfHwgKFBhZ2luZ0luZm8uRGlyZWN0aW9uID0ge30pKTtcbiAgICBsZXQgX19EaXJlY3Rpb25WYWx1ZXM7XG4gICAgKGZ1bmN0aW9uIChfX0RpcmVjdGlvblZhbHVlcykge1xuICAgICAgICBfX0RpcmVjdGlvblZhbHVlc1tfX0RpcmVjdGlvblZhbHVlc1tcIkJBQ0tXQVJEXCJdID0gMF0gPSBcIkJBQ0tXQVJEXCI7XG4gICAgICAgIF9fRGlyZWN0aW9uVmFsdWVzW19fRGlyZWN0aW9uVmFsdWVzW1wiRk9SV0FSRFwiXSA9IDFdID0gXCJGT1JXQVJEXCI7XG4gICAgfSkoX19EaXJlY3Rpb25WYWx1ZXMgfHwgKF9fRGlyZWN0aW9uVmFsdWVzID0ge30pKTtcbiAgICAoZnVuY3Rpb24gKERpcmVjdGlvbikge1xuICAgICAgICBEaXJlY3Rpb24uY29kZWMgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZW51bWVyYXRpb24oX19EaXJlY3Rpb25WYWx1ZXMpO1xuICAgICAgICB9O1xuICAgIH0pKERpcmVjdGlvbiA9IFBhZ2luZ0luZm8uRGlyZWN0aW9uIHx8IChQYWdpbmdJbmZvLkRpcmVjdGlvbiA9IHt9KSk7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQYWdpbmdJbmZvLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5wYWdlU2l6ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgpO1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQ2NChvYmoucGFnZVNpemUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmN1cnNvciAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgSW5kZXguY29kZWMoKS5lbmNvZGUob2JqLmN1cnNvciwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouZGlyZWN0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjQpO1xuICAgICAgICAgICAgICAgICAgICBQYWdpbmdJbmZvLkRpcmVjdGlvbi5jb2RlYygpLmVuY29kZShvYmouZGlyZWN0aW9uLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucGFnZVNpemUgPSByZWFkZXIudWludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY3Vyc29yID0gSW5kZXguY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8uY3Vyc29yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZGlyZWN0aW9uID0gUGFnaW5nSW5mby5EaXJlY3Rpb24uY29kZWMoKS5kZWNvZGUocmVhZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQYWdpbmdJbmZvLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBQYWdpbmdJbmZvLmNvZGVjKCkpO1xuICAgIH07XG4gICAgUGFnaW5nSW5mby5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUGFnaW5nSW5mby5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUGFnaW5nSW5mbyB8fCAoUGFnaW5nSW5mbyA9IHt9KSk7XG5leHBvcnQgdmFyIENvbnRlbnRGaWx0ZXI7XG4oZnVuY3Rpb24gKENvbnRlbnRGaWx0ZXIpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIENvbnRlbnRGaWx0ZXIuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5jb250ZW50VG9waWMgIT0gbnVsbCAmJiBvYmouY29udGVudFRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmouY29udGVudFRvcGljKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgQ29udGVudEZpbHRlci5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgQ29udGVudEZpbHRlci5jb2RlYygpKTtcbiAgICB9O1xuICAgIENvbnRlbnRGaWx0ZXIuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIENvbnRlbnRGaWx0ZXIuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKENvbnRlbnRGaWx0ZXIgfHwgKENvbnRlbnRGaWx0ZXIgPSB7fSkpO1xuZXhwb3J0IHZhciBIaXN0b3J5UXVlcnk7XG4oZnVuY3Rpb24gKEhpc3RvcnlRdWVyeSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgSGlzdG9yeVF1ZXJ5LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5wdWJzdWJUb3BpYyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnB1YnN1YlRvcGljKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5jb250ZW50RmlsdGVycyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygb2JqLmNvbnRlbnRGaWx0ZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgICAgICBDb250ZW50RmlsdGVyLmNvZGVjKCkuZW5jb2RlKHZhbHVlLCB3KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnBhZ2luZ0luZm8gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIFBhZ2luZ0luZm8uY29kZWMoKS5lbmNvZGUob2JqLnBhZ2luZ0luZm8sIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnN0YXJ0VGltZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnN0YXJ0VGltZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouZW5kVGltZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDQ4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLmVuZFRpbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRGaWx0ZXJzOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHVic3ViVG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5saW1pdHM/LmNvbnRlbnRGaWx0ZXJzICE9IG51bGwgJiYgb2JqLmNvbnRlbnRGaWx0ZXJzLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMuY29udGVudEZpbHRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvZGVFcnJvcignZGVjb2RlIGVycm9yIC0gbWFwIGZpZWxkIFwiY29udGVudEZpbHRlcnNcIiBoYWQgdG9vIG1hbnkgZWxlbWVudHMnLCAnRVJSX01BWF9MRU5HVEgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRGaWx0ZXJzLnB1c2goQ29udGVudEZpbHRlci5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5jb250ZW50RmlsdGVycyRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucGFnaW5nSW5mbyA9IFBhZ2luZ0luZm8uY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucGFnaW5nSW5mb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnN0YXJ0VGltZSA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lbmRUaW1lID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEhpc3RvcnlRdWVyeS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgSGlzdG9yeVF1ZXJ5LmNvZGVjKCkpO1xuICAgIH07XG4gICAgSGlzdG9yeVF1ZXJ5LmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBIaXN0b3J5UXVlcnkuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKEhpc3RvcnlRdWVyeSB8fCAoSGlzdG9yeVF1ZXJ5ID0ge30pKTtcbmV4cG9ydCB2YXIgSGlzdG9yeVJlc3BvbnNlO1xuKGZ1bmN0aW9uIChIaXN0b3J5UmVzcG9uc2UpIHtcbiAgICBsZXQgSGlzdG9yeUVycm9yO1xuICAgIChmdW5jdGlvbiAoSGlzdG9yeUVycm9yKSB7XG4gICAgICAgIEhpc3RvcnlFcnJvcltcIk5PTkVcIl0gPSBcIk5PTkVcIjtcbiAgICAgICAgSGlzdG9yeUVycm9yW1wiSU5WQUxJRF9DVVJTT1JcIl0gPSBcIklOVkFMSURfQ1VSU09SXCI7XG4gICAgICAgIEhpc3RvcnlFcnJvcltcIlRPT19NQU5ZX1JFU1VMVFNcIl0gPSBcIlRPT19NQU5ZX1JFU1VMVFNcIjtcbiAgICAgICAgSGlzdG9yeUVycm9yW1wiU0VSVklDRV9VTkFWQUlMQUJMRVwiXSA9IFwiU0VSVklDRV9VTkFWQUlMQUJMRVwiO1xuICAgIH0pKEhpc3RvcnlFcnJvciA9IEhpc3RvcnlSZXNwb25zZS5IaXN0b3J5RXJyb3IgfHwgKEhpc3RvcnlSZXNwb25zZS5IaXN0b3J5RXJyb3IgPSB7fSkpO1xuICAgIGxldCBfX0hpc3RvcnlFcnJvclZhbHVlcztcbiAgICAoZnVuY3Rpb24gKF9fSGlzdG9yeUVycm9yVmFsdWVzKSB7XG4gICAgICAgIF9fSGlzdG9yeUVycm9yVmFsdWVzW19fSGlzdG9yeUVycm9yVmFsdWVzW1wiTk9ORVwiXSA9IDBdID0gXCJOT05FXCI7XG4gICAgICAgIF9fSGlzdG9yeUVycm9yVmFsdWVzW19fSGlzdG9yeUVycm9yVmFsdWVzW1wiSU5WQUxJRF9DVVJTT1JcIl0gPSAxXSA9IFwiSU5WQUxJRF9DVVJTT1JcIjtcbiAgICAgICAgX19IaXN0b3J5RXJyb3JWYWx1ZXNbX19IaXN0b3J5RXJyb3JWYWx1ZXNbXCJUT09fTUFOWV9SRVNVTFRTXCJdID0gNDI5XSA9IFwiVE9PX01BTllfUkVTVUxUU1wiO1xuICAgICAgICBfX0hpc3RvcnlFcnJvclZhbHVlc1tfX0hpc3RvcnlFcnJvclZhbHVlc1tcIlNFUlZJQ0VfVU5BVkFJTEFCTEVcIl0gPSA1MDNdID0gXCJTRVJWSUNFX1VOQVZBSUxBQkxFXCI7XG4gICAgfSkoX19IaXN0b3J5RXJyb3JWYWx1ZXMgfHwgKF9fSGlzdG9yeUVycm9yVmFsdWVzID0ge30pKTtcbiAgICAoZnVuY3Rpb24gKEhpc3RvcnlFcnJvcikge1xuICAgICAgICBIaXN0b3J5RXJyb3IuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZW51bWVyYXRpb24oX19IaXN0b3J5RXJyb3JWYWx1ZXMpO1xuICAgICAgICB9O1xuICAgIH0pKEhpc3RvcnlFcnJvciA9IEhpc3RvcnlSZXNwb25zZS5IaXN0b3J5RXJyb3IgfHwgKEhpc3RvcnlSZXNwb25zZS5IaXN0b3J5RXJyb3IgPSB7fSkpO1xuICAgIGxldCBfY29kZWM7XG4gICAgSGlzdG9yeVJlc3BvbnNlLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5tZXNzYWdlcyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygb2JqLm1lc3NhZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBXYWt1TWVzc2FnZS5jb2RlYygpLmVuY29kZSh2YWx1ZSwgdyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5wYWdpbmdJbmZvICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjYpO1xuICAgICAgICAgICAgICAgICAgICBQYWdpbmdJbmZvLmNvZGVjKCkuZW5jb2RlKG9iai5wYWdpbmdJbmZvLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lcnJvciAhPSBudWxsICYmIF9fSGlzdG9yeUVycm9yVmFsdWVzW29iai5lcnJvcl0gIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzIpO1xuICAgICAgICAgICAgICAgICAgICBIaXN0b3J5UmVzcG9uc2UuSGlzdG9yeUVycm9yLmNvZGVjKCkuZW5jb2RlKG9iai5lcnJvciwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogSGlzdG9yeUVycm9yLk5PTkVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMubGltaXRzPy5tZXNzYWdlcyAhPSBudWxsICYmIG9iai5tZXNzYWdlcy5sZW5ndGggPT09IG9wdHMubGltaXRzLm1lc3NhZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb2RlRXJyb3IoJ2RlY29kZSBlcnJvciAtIG1hcCBmaWVsZCBcIm1lc3NhZ2VzXCIgaGFkIHRvbyBtYW55IGVsZW1lbnRzJywgJ0VSUl9NQVhfTEVOR1RIJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXNzYWdlcy5wdXNoKFdha3VNZXNzYWdlLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/Lm1lc3NhZ2VzJFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYWdpbmdJbmZvID0gUGFnaW5nSW5mby5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5wYWdpbmdJbmZvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXJyb3IgPSBIaXN0b3J5UmVzcG9uc2UuSGlzdG9yeUVycm9yLmNvZGVjKCkuZGVjb2RlKHJlYWRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgSGlzdG9yeVJlc3BvbnNlLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBIaXN0b3J5UmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBIaXN0b3J5UmVzcG9uc2UuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIEhpc3RvcnlSZXNwb25zZS5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoSGlzdG9yeVJlc3BvbnNlIHx8IChIaXN0b3J5UmVzcG9uc2UgPSB7fSkpO1xuZXhwb3J0IHZhciBIaXN0b3J5UnBjO1xuKGZ1bmN0aW9uIChIaXN0b3J5UnBjKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBIaXN0b3J5UnBjLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmVxdWVzdElkICE9IG51bGwgJiYgb2JqLnJlcXVlc3RJZCAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucXVlcnkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIEhpc3RvcnlRdWVyeS5jb2RlYygpLmVuY29kZShvYmoucXVlcnksIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJlc3BvbnNlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjYpO1xuICAgICAgICAgICAgICAgICAgICBIaXN0b3J5UmVzcG9uc2UuY29kZWMoKS5lbmNvZGUob2JqLnJlc3BvbnNlLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXF1ZXN0SWQgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucXVlcnkgPSBIaXN0b3J5UXVlcnkuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXNwb25zZSA9IEhpc3RvcnlSZXNwb25zZS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5yZXNwb25zZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEhpc3RvcnlScGMuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIEhpc3RvcnlScGMuY29kZWMoKSk7XG4gICAgfTtcbiAgICBIaXN0b3J5UnBjLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBIaXN0b3J5UnBjLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShIaXN0b3J5UnBjIHx8IChIaXN0b3J5UnBjID0ge30pKTtcbmV4cG9ydCB2YXIgUmF0ZUxpbWl0UHJvb2Y7XG4oZnVuY3Rpb24gKFJhdGVMaW1pdFByb29mKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBSYXRlTGltaXRQcm9vZi5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnByb29mICE9IG51bGwgJiYgb2JqLnByb29mLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnByb29mKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubWVya2xlUm9vdCAhPSBudWxsICYmIG9iai5tZXJrbGVSb290LmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1lcmtsZVJvb3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5lcG9jaCAhPSBudWxsICYmIG9iai5lcG9jaC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjYpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5lcG9jaCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWCAhPSBudWxsICYmIG9iai5zaGFyZVguYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDM0KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVYKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVZICE9IG51bGwgJiYgb2JqLnNoYXJlWS5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNDIpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5udWxsaWZpZXIgIT0gbnVsbCAmJiBvYmoubnVsbGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm51bGxpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJsbklkZW50aWZpZXIgIT0gbnVsbCAmJiBvYmoucmxuSWRlbnRpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5ybG5JZGVudGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwcm9vZjogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBtZXJrbGVSb290OiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIGVwb2NoOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVk6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgbnVsbGlmaWVyOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIHJsbklkZW50aWZpZXI6IHVpbnQ4QXJyYXlBbGxvYygwKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHJvb2YgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXJrbGVSb290ID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBvY2ggPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zaGFyZVggPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zaGFyZVkgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5udWxsaWZpZXIgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5ybG5JZGVudGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgUmF0ZUxpbWl0UHJvb2YuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFJhdGVMaW1pdFByb29mLmNvZGVjKCkpO1xuICAgIH07XG4gICAgUmF0ZUxpbWl0UHJvb2YuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFJhdGVMaW1pdFByb29mLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShSYXRlTGltaXRQcm9vZiB8fCAoUmF0ZUxpbWl0UHJvb2YgPSB7fSkpO1xuZXhwb3J0IHZhciBXYWt1TWVzc2FnZTtcbihmdW5jdGlvbiAoV2FrdU1lc3NhZ2UpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFdha3VNZXNzYWdlLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucGF5bG9hZCAhPSBudWxsICYmIG9iai5wYXlsb2FkLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnBheWxvYWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5jb250ZW50VG9waWMgIT0gbnVsbCAmJiBvYmouY29udGVudFRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmouY29udGVudFRvcGljKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai52ZXJzaW9uICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjQpO1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMihvYmoudmVyc2lvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudGltZXN0YW1wICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoODApO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmoudGltZXN0YW1wKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5tZXRhICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5tZXRhKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5yYXRlTGltaXRQcm9vZiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE3MCk7XG4gICAgICAgICAgICAgICAgICAgIFJhdGVMaW1pdFByb29mLmNvZGVjKCkuZW5jb2RlKG9iai5yYXRlTGltaXRQcm9vZiwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouZXBoZW1lcmFsICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMjQ4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ib29sKG9iai5lcGhlbWVyYWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFRvcGljOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucGF5bG9hZCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai52ZXJzaW9uID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai50aW1lc3RhbXAgPSByZWFkZXIuc2ludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDExOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1ldGEgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmF0ZUxpbWl0UHJvb2YgPSBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5yYXRlTGltaXRQcm9vZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcGhlbWVyYWwgPSByZWFkZXIuYm9vbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFdha3VNZXNzYWdlLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBXYWt1TWVzc2FnZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIFdha3VNZXNzYWdlLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBXYWt1TWVzc2FnZS5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoV2FrdU1lc3NhZ2UgfHwgKFdha3VNZXNzYWdlID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0b3JlLmpzLm1hcCJdLCJuYW1lcyI6WyJDb2RlRXJyb3IiLCJkZWNvZGVNZXNzYWdlIiwiZW5jb2RlTWVzc2FnZSIsImVudW1lcmF0aW9uIiwibWVzc2FnZSIsImFsbG9jIiwidWludDhBcnJheUFsbG9jIiwiSW5kZXgiLCJfY29kZWMiLCJjb2RlYyIsIm9iaiIsInciLCJvcHRzIiwibGVuZ3RoRGVsaW1pdGVkIiwiZm9yayIsImRpZ2VzdCIsImJ5dGVMZW5ndGgiLCJ1aW50MzIiLCJieXRlcyIsInJlY2VpdmVyVGltZSIsInNpbnQ2NCIsInNlbmRlclRpbWUiLCJwdWJzdWJUb3BpYyIsInN0cmluZyIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsImVuZCIsImxlbiIsInBvcyIsInRhZyIsInNraXBUeXBlIiwiZW5jb2RlIiwiZGVjb2RlIiwiYnVmIiwiUGFnaW5nSW5mbyIsIkRpcmVjdGlvbiIsIl9fRGlyZWN0aW9uVmFsdWVzIiwicGFnZVNpemUiLCJ1aW50NjQiLCJjdXJzb3IiLCJkaXJlY3Rpb24iLCJsaW1pdHMiLCJDb250ZW50RmlsdGVyIiwiY29udGVudFRvcGljIiwiSGlzdG9yeVF1ZXJ5IiwiY29udGVudEZpbHRlcnMiLCJ2YWx1ZSIsInBhZ2luZ0luZm8iLCJzdGFydFRpbWUiLCJlbmRUaW1lIiwicHVzaCIsImNvbnRlbnRGaWx0ZXJzJCIsIkhpc3RvcnlSZXNwb25zZSIsIkhpc3RvcnlFcnJvciIsIl9fSGlzdG9yeUVycm9yVmFsdWVzIiwibWVzc2FnZXMiLCJXYWt1TWVzc2FnZSIsImVycm9yIiwiTk9ORSIsIm1lc3NhZ2VzJCIsIkhpc3RvcnlScGMiLCJyZXF1ZXN0SWQiLCJxdWVyeSIsInJlc3BvbnNlIiwiUmF0ZUxpbWl0UHJvb2YiLCJwcm9vZiIsIm1lcmtsZVJvb3QiLCJlcG9jaCIsInNoYXJlWCIsInNoYXJlWSIsIm51bGxpZmllciIsInJsbklkZW50aWZpZXIiLCJwYXlsb2FkIiwidmVyc2lvbiIsInRpbWVzdGFtcCIsIm1ldGEiLCJyYXRlTGltaXRQcm9vZiIsImVwaGVtZXJhbCIsImJvb2wiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/topic_only_message.js":
/*!************************************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/topic_only_message.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopicOnlyMessage: () => (/* binding */ TopicOnlyMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar TopicOnlyMessage;\n(function(TopicOnlyMessage) {\n let _codec;\n TopicOnlyMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n TopicOnlyMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, TopicOnlyMessage.codec());\n };\n TopicOnlyMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, TopicOnlyMessage.codec(), opts);\n };\n})(TopicOnlyMessage || (TopicOnlyMessage = {})); //# sourceMappingURL=topic_only_message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL3RvcGljX29ubHlfbWVzc2FnZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDZ0I7QUFDakUsSUFBSUcsaUJBQWlCO0FBQzNCLFVBQVVBLGdCQUFnQjtJQUN2QixJQUFJQztJQUNKRCxpQkFBaUJFLEtBQUssR0FBRztRQUNyQixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNGLHdEQUFPQSxDQUFDLENBQUNJLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSUssWUFBWSxJQUFJLFFBQVFMLElBQUlLLFlBQVksS0FBSyxJQUFLO29CQUN2REosRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFTSxNQUFNLENBQUNQLElBQUlLLFlBQVk7Z0JBQzdCO2dCQUNBLElBQUlILEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRU8sTUFBTTtnQkFDWjtZQUNKLEdBQUcsQ0FBQ0MsUUFBUUMsUUFBUVIsT0FBTyxDQUFDLENBQUM7Z0JBQ3pCLE1BQU1GLE1BQU07b0JBQ1JLLGNBQWM7Z0JBQ2xCO2dCQUNBLE1BQU1NLE1BQU1ELFVBQVUsT0FBT0QsT0FBT0csR0FBRyxHQUFHSCxPQUFPSSxHQUFHLEdBQUdIO2dCQUN2RCxNQUFPRCxPQUFPSSxHQUFHLEdBQUdGLElBQUs7b0JBQ3JCLE1BQU1HLE1BQU1MLE9BQU9ILE1BQU07b0JBQ3pCLE9BQVFRLFFBQVE7d0JBQ1osS0FBSzs0QkFBRztnQ0FDSmQsSUFBSUssWUFBWSxHQUFHSSxPQUFPRixNQUFNO2dDQUNoQzs0QkFDSjt3QkFDQTs0QkFBUztnQ0FDTEUsT0FBT00sUUFBUSxDQUFDRCxNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPZDtZQUNYO1FBQ0o7UUFDQSxPQUFPRjtJQUNYO0lBQ0FELGlCQUFpQm1CLE1BQU0sR0FBRyxDQUFDaEI7UUFDdkIsT0FBT0wsOERBQWFBLENBQUNLLEtBQUtILGlCQUFpQkUsS0FBSztJQUNwRDtJQUNBRixpQkFBaUJvQixNQUFNLEdBQUcsQ0FBQ0MsS0FBS2hCO1FBQzVCLE9BQU9SLDhEQUFhQSxDQUFDd0IsS0FBS3JCLGlCQUFpQkUsS0FBSyxJQUFJRztJQUN4RDtBQUNKLEdBQUdMLG9CQUFxQkEsQ0FBQUEsbUJBQW1CLENBQUMsS0FDNUMsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL3RvcGljX29ubHlfbWVzc2FnZS5qcz85ODg3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgZGVjb2RlTWVzc2FnZSwgZW5jb2RlTWVzc2FnZSwgbWVzc2FnZSB9IGZyb20gJ3Byb3RvbnMtcnVudGltZSc7XG5leHBvcnQgdmFyIFRvcGljT25seU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFRvcGljT25seU1lc3NhZ2UpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFRvcGljT25seU1lc3NhZ2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5jb250ZW50VG9waWMgIT0gbnVsbCAmJiBvYmouY29udGVudFRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmouY29udGVudFRvcGljKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgVG9waWNPbmx5TWVzc2FnZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgVG9waWNPbmx5TWVzc2FnZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIFRvcGljT25seU1lc3NhZ2UuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFRvcGljT25seU1lc3NhZ2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFRvcGljT25seU1lc3NhZ2UgfHwgKFRvcGljT25seU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dG9waWNfb25seV9tZXNzYWdlLmpzLm1hcCJdLCJuYW1lcyI6WyJkZWNvZGVNZXNzYWdlIiwiZW5jb2RlTWVzc2FnZSIsIm1lc3NhZ2UiLCJUb3BpY09ubHlNZXNzYWdlIiwiX2NvZGVjIiwiY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJjb250ZW50VG9waWMiLCJ1aW50MzIiLCJzdHJpbmciLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJza2lwVHlwZSIsImVuY29kZSIsImRlY29kZSIsImJ1ZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/topic_only_message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/index.js":
/*!*************************************************************************!*\
!*** ./node_modules/@waku/relay/node_modules/@waku/proto/dist/index.js ***!
\*************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PushResponse: () => (/* reexport safe */ _generated_light_push_js__WEBPACK_IMPORTED_MODULE_4__.PushResponse),\n/* harmony export */ TopicOnlyMessage: () => (/* reexport safe */ _generated_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__.TopicOnlyMessage),\n/* harmony export */ WakuMessage: () => (/* reexport safe */ _generated_filter_js__WEBPACK_IMPORTED_MODULE_1__.WakuMessage),\n/* harmony export */ proto_filter: () => (/* reexport module object */ _generated_filter_js__WEBPACK_IMPORTED_MODULE_1__),\n/* harmony export */ proto_filter_v2: () => (/* reexport module object */ _generated_filter_v2_js__WEBPACK_IMPORTED_MODULE_3__),\n/* harmony export */ proto_lightpush: () => (/* reexport module object */ _generated_light_push_js__WEBPACK_IMPORTED_MODULE_4__),\n/* harmony export */ proto_message: () => (/* reexport module object */ _generated_message_js__WEBPACK_IMPORTED_MODULE_0__),\n/* harmony export */ proto_metadata: () => (/* reexport module object */ _generated_metadata_js__WEBPACK_IMPORTED_MODULE_7__),\n/* harmony export */ proto_peer_exchange: () => (/* reexport module object */ _generated_peer_exchange_js__WEBPACK_IMPORTED_MODULE_6__),\n/* harmony export */ proto_store: () => (/* reexport module object */ _generated_store_js__WEBPACK_IMPORTED_MODULE_5__),\n/* harmony export */ proto_topic_only_message: () => (/* reexport module object */ _generated_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__)\n/* harmony export */ });\n/* harmony import */ var _generated_message_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./generated/message.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/message.js\");\n/* harmony import */ var _generated_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./generated/filter.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/filter.js\");\n/* harmony import */ var _generated_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./generated/topic_only_message.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/topic_only_message.js\");\n/* harmony import */ var _generated_filter_v2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./generated/filter_v2.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/filter_v2.js\");\n/* harmony import */ var _generated_light_push_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./generated/light_push.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/light_push.js\");\n/* harmony import */ var _generated_store_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./generated/store.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/store.js\");\n/* harmony import */ var _generated_peer_exchange_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./generated/peer_exchange.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/peer_exchange.js\");\n/* harmony import */ var _generated_metadata_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./generated/metadata.js */ \"(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/generated/metadata.js\");\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF3RDtBQUNKO0FBQzBCO0FBQ1Q7QUFDZjtBQUNNO0FBQ0M7QUFDSjtBQUNMO0FBQ2dCO0FBQ1YsQ0FDMUQsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvcmVsYXkvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvaW5kZXguanM/OGE2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBwcm90b19tZXNzYWdlIGZyb20gXCIuL2dlbmVyYXRlZC9tZXNzYWdlLmpzXCI7XG5leHBvcnQgeyBXYWt1TWVzc2FnZSB9IGZyb20gXCIuL2dlbmVyYXRlZC9maWx0ZXIuanNcIjtcbmV4cG9ydCAqIGFzIHByb3RvX3RvcGljX29ubHlfbWVzc2FnZSBmcm9tIFwiLi9nZW5lcmF0ZWQvdG9waWNfb25seV9tZXNzYWdlLmpzXCI7XG5leHBvcnQgeyBUb3BpY09ubHlNZXNzYWdlIH0gZnJvbSBcIi4vZ2VuZXJhdGVkL3RvcGljX29ubHlfbWVzc2FnZS5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fZmlsdGVyIGZyb20gXCIuL2dlbmVyYXRlZC9maWx0ZXIuanNcIjtcbmV4cG9ydCAqIGFzIHByb3RvX2ZpbHRlcl92MiBmcm9tIFwiLi9nZW5lcmF0ZWQvZmlsdGVyX3YyLmpzXCI7XG5leHBvcnQgKiBhcyBwcm90b19saWdodHB1c2ggZnJvbSBcIi4vZ2VuZXJhdGVkL2xpZ2h0X3B1c2guanNcIjtcbmV4cG9ydCB7IFB1c2hSZXNwb25zZSB9IGZyb20gXCIuL2dlbmVyYXRlZC9saWdodF9wdXNoLmpzXCI7XG5leHBvcnQgKiBhcyBwcm90b19zdG9yZSBmcm9tIFwiLi9nZW5lcmF0ZWQvc3RvcmUuanNcIjtcbmV4cG9ydCAqIGFzIHByb3RvX3BlZXJfZXhjaGFuZ2UgZnJvbSBcIi4vZ2VuZXJhdGVkL3BlZXJfZXhjaGFuZ2UuanNcIjtcbmV4cG9ydCAqIGFzIHByb3RvX21ldGFkYXRhIGZyb20gJy4vZ2VuZXJhdGVkL21ldGFkYXRhLmpzJztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJwcm90b19tZXNzYWdlIiwiV2FrdU1lc3NhZ2UiLCJwcm90b190b3BpY19vbmx5X21lc3NhZ2UiLCJUb3BpY09ubHlNZXNzYWdlIiwicHJvdG9fZmlsdGVyIiwicHJvdG9fZmlsdGVyX3YyIiwicHJvdG9fbGlnaHRwdXNoIiwiUHVzaFJlc3BvbnNlIiwicHJvdG9fc3RvcmUiLCJwcm90b19wZWVyX2V4Y2hhbmdlIiwicHJvdG9fbWV0YWRhdGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/relay/node_modules/@waku/proto/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/dist/index.js":
/*!**********************************************!*\
!*** ./node_modules/@waku/sdk/dist/index.js ***!
\**********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* reexport safe */ _waku_interfaces__WEBPACK_IMPORTED_MODULE_10__.DEFAULT_CLUSTER_ID),\n/* harmony export */ DecodedMessage: () => (/* reexport safe */ _waku_core_lib_message_version_0__WEBPACK_IMPORTED_MODULE_1__.DecodedMessage),\n/* harmony export */ Decoder: () => (/* reexport safe */ _waku_core_lib_message_version_0__WEBPACK_IMPORTED_MODULE_1__.Decoder),\n/* harmony export */ DefaultPingKeepAliveValueSecs: () => (/* reexport safe */ _waku_js__WEBPACK_IMPORTED_MODULE_5__.DefaultPingKeepAliveValueSecs),\n/* harmony export */ DefaultPubsubTopic: () => (/* reexport safe */ _waku_interfaces__WEBPACK_IMPORTED_MODULE_10__.DefaultPubsubTopic),\n/* harmony export */ DefaultRelayKeepAliveValueSecs: () => (/* reexport safe */ _waku_js__WEBPACK_IMPORTED_MODULE_5__.DefaultRelayKeepAliveValueSecs),\n/* harmony export */ DefaultUserAgent: () => (/* reexport safe */ _waku_js__WEBPACK_IMPORTED_MODULE_5__.DefaultUserAgent),\n/* harmony export */ EConnectionStateEvents: () => (/* reexport safe */ _waku_interfaces__WEBPACK_IMPORTED_MODULE_10__.EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* reexport safe */ _waku_interfaces__WEBPACK_IMPORTED_MODULE_10__.EPeersByDiscoveryEvents),\n/* harmony export */ Encoder: () => (/* reexport safe */ _waku_core_lib_message_version_0__WEBPACK_IMPORTED_MODULE_1__.Encoder),\n/* harmony export */ PageDirection: () => (/* reexport safe */ _waku_interfaces__WEBPACK_IMPORTED_MODULE_10__.PageDirection),\n/* harmony export */ ProtocolError: () => (/* reexport safe */ _waku_interfaces__WEBPACK_IMPORTED_MODULE_10__.ProtocolError),\n/* harmony export */ Protocols: () => (/* reexport safe */ _waku_interfaces__WEBPACK_IMPORTED_MODULE_10__.Protocols),\n/* harmony export */ Tags: () => (/* reexport safe */ _waku_interfaces__WEBPACK_IMPORTED_MODULE_10__.Tags),\n/* harmony export */ WakuNode: () => (/* reexport safe */ _waku_js__WEBPACK_IMPORTED_MODULE_5__.WakuNode),\n/* harmony export */ bytesToUtf8: () => (/* reexport safe */ _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_2__.bytesToUtf8),\n/* harmony export */ createDecoder: () => (/* reexport safe */ _waku_core__WEBPACK_IMPORTED_MODULE_0__.createDecoder),\n/* harmony export */ createEncoder: () => (/* reexport safe */ _waku_core__WEBPACK_IMPORTED_MODULE_0__.createEncoder),\n/* harmony export */ createLightNode: () => (/* reexport safe */ _light_node_index_js__WEBPACK_IMPORTED_MODULE_6__.createLightNode),\n/* harmony export */ createNode: () => (/* reexport safe */ _light_node_index_js__WEBPACK_IMPORTED_MODULE_6__.createNode),\n/* harmony export */ defaultLibp2p: () => (/* reexport safe */ _utils_libp2p_js__WEBPACK_IMPORTED_MODULE_3__.defaultLibp2p),\n/* harmony export */ relay: () => (/* reexport module object */ _waku_relay__WEBPACK_IMPORTED_MODULE_11__),\n/* harmony export */ streamContentTopic: () => (/* reexport safe */ _utils_content_topic_js__WEBPACK_IMPORTED_MODULE_4__.streamContentTopic),\n/* harmony export */ subscribeToContentTopic: () => (/* reexport safe */ _utils_content_topic_js__WEBPACK_IMPORTED_MODULE_4__.subscribeToContentTopic),\n/* harmony export */ utf8ToBytes: () => (/* reexport safe */ _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_2__.utf8ToBytes),\n/* harmony export */ utils: () => (/* reexport module object */ _waku_utils__WEBPACK_IMPORTED_MODULE_9__),\n/* harmony export */ waitForRemotePeer: () => (/* reexport safe */ _waku_core__WEBPACK_IMPORTED_MODULE_0__.waitForRemotePeer),\n/* harmony export */ waku: () => (/* reexport module object */ _waku_core__WEBPACK_IMPORTED_MODULE_0__),\n/* harmony export */ wakuLightPush: () => (/* reexport safe */ _protocols_light_push_js__WEBPACK_IMPORTED_MODULE_7__.wakuLightPush),\n/* harmony export */ wakuStore: () => (/* reexport safe */ _protocols_store_js__WEBPACK_IMPORTED_MODULE_8__.wakuStore)\n/* harmony export */ });\n/* harmony import */ var _waku_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/core */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/index.js\");\n/* harmony import */ var _waku_core_lib_message_version_0__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/core/lib/message/version_0 */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/version_0.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var _utils_libp2p_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/libp2p.js */ \"(ssr)/./node_modules/@waku/sdk/dist/utils/libp2p.js\");\n/* harmony import */ var _utils_content_topic_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/content_topic.js */ \"(ssr)/./node_modules/@waku/sdk/dist/utils/content_topic.js\");\n/* harmony import */ var _waku_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./waku.js */ \"(ssr)/./node_modules/@waku/sdk/dist/waku.js\");\n/* harmony import */ var _light_node_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./light-node/index.js */ \"(ssr)/./node_modules/@waku/sdk/dist/light-node/index.js\");\n/* harmony import */ var _protocols_light_push_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./protocols/light_push.js */ \"(ssr)/./node_modules/@waku/sdk/dist/protocols/light_push.js\");\n/* harmony import */ var _protocols_store_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./protocols/store.js */ \"(ssr)/./node_modules/@waku/sdk/dist/protocols/store.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_relay__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @waku/relay */ \"(ssr)/./node_modules/@waku/relay/dist/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTZFO0FBQ087QUFDdkI7QUFDWDtBQUNUO0FBQ2Y7QUFDMEM7QUFDVjtBQUNUO0FBQ2Q7QUFDRTtBQUNKO0FBQ0ksQ0FDckMsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvaW5kZXguanM/NGMzMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB3YWl0Rm9yUmVtb3RlUGVlciwgY3JlYXRlRW5jb2RlciwgY3JlYXRlRGVjb2RlciB9IGZyb20gXCJAd2FrdS9jb3JlXCI7XG5leHBvcnQgeyBEZWNvZGVkTWVzc2FnZSwgRGVjb2RlciwgRW5jb2RlciB9IGZyb20gXCJAd2FrdS9jb3JlL2xpYi9tZXNzYWdlL3ZlcnNpb25fMFwiO1xuZXhwb3J0IHsgdXRmOFRvQnl0ZXMsIGJ5dGVzVG9VdGY4IH0gZnJvbSBcIkB3YWt1L3V0aWxzL2J5dGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0TGlicDJwIH0gZnJvbSBcIi4vdXRpbHMvbGlicDJwLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy9jb250ZW50X3RvcGljLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93YWt1LmpzXCI7XG5leHBvcnQgeyBjcmVhdGVMaWdodE5vZGUsIGNyZWF0ZU5vZGUgfSBmcm9tIFwiLi9saWdodC1ub2RlL2luZGV4LmpzXCI7XG5leHBvcnQgeyB3YWt1TGlnaHRQdXNoIH0gZnJvbSBcIi4vcHJvdG9jb2xzL2xpZ2h0X3B1c2guanNcIjtcbmV4cG9ydCB7IHdha3VTdG9yZSB9IGZyb20gXCIuL3Byb3RvY29scy9zdG9yZS5qc1wiO1xuZXhwb3J0ICogYXMgd2FrdSBmcm9tIFwiQHdha3UvY29yZVwiO1xuZXhwb3J0ICogYXMgdXRpbHMgZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuZXhwb3J0ICogYXMgcmVsYXkgZnJvbSBcIkB3YWt1L3JlbGF5XCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsid2FpdEZvclJlbW90ZVBlZXIiLCJjcmVhdGVFbmNvZGVyIiwiY3JlYXRlRGVjb2RlciIsIkRlY29kZWRNZXNzYWdlIiwiRGVjb2RlciIsIkVuY29kZXIiLCJ1dGY4VG9CeXRlcyIsImJ5dGVzVG9VdGY4IiwiZGVmYXVsdExpYnAycCIsImNyZWF0ZUxpZ2h0Tm9kZSIsImNyZWF0ZU5vZGUiLCJ3YWt1TGlnaHRQdXNoIiwid2FrdVN0b3JlIiwid2FrdSIsInV0aWxzIiwicmVsYXkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/dist/light-node/index.js":
/*!*********************************************************!*\
!*** ./node_modules/@waku/sdk/dist/light-node/index.js ***!
\*********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createLightNode: () => (/* binding */ createLightNode),\n/* harmony export */ createNode: () => (/* binding */ createNode)\n/* harmony export */ });\n/* harmony import */ var _waku_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/core */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/index.js\");\n/* harmony import */ var _protocols_light_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../protocols/light_push.js */ \"(ssr)/./node_modules/@waku/sdk/dist/protocols/light_push.js\");\n/* harmony import */ var _protocols_store_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../protocols/store.js */ \"(ssr)/./node_modules/@waku/sdk/dist/protocols/store.js\");\n/* harmony import */ var _utils_libp2p_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/libp2p.js */ \"(ssr)/./node_modules/@waku/sdk/dist/utils/libp2p.js\");\n/* harmony import */ var _waku_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../waku.js */ \"(ssr)/./node_modules/@waku/sdk/dist/waku.js\");\n\n\n\n\n\n/**\n * Create a Waku node configured to use autosharding or static sharding.\n */ async function createNode(options = {\n pubsubTopics: []\n}) {\n if (!options.shardInfo) {\n throw new Error(\"Shard info must be set\");\n }\n const libp2p = await (0,_utils_libp2p_js__WEBPACK_IMPORTED_MODULE_3__.createLibp2pAndUpdateOptions)(options);\n const store = (0,_protocols_store_js__WEBPACK_IMPORTED_MODULE_2__.wakuStore)(options);\n const lightPush = (0,_protocols_light_push_js__WEBPACK_IMPORTED_MODULE_1__.wakuLightPush)(options);\n const filter = (0,_waku_core__WEBPACK_IMPORTED_MODULE_0__.wakuFilter)(options);\n return new _waku_js__WEBPACK_IMPORTED_MODULE_4__.WakuNode(options, libp2p, store, lightPush, filter);\n}\n/**\n * Create a Waku node that uses Waku Light Push, Filter and Store to send and\n * receive messages, enabling low resource consumption.\n * Uses Waku Filter V2 by default.\n */ async function createLightNode(options = {}) {\n const libp2p = await (0,_utils_libp2p_js__WEBPACK_IMPORTED_MODULE_3__.createLibp2pAndUpdateOptions)(options);\n const store = (0,_protocols_store_js__WEBPACK_IMPORTED_MODULE_2__.wakuStore)(options);\n const lightPush = (0,_protocols_light_push_js__WEBPACK_IMPORTED_MODULE_1__.wakuLightPush)(options);\n const filter = (0,_waku_core__WEBPACK_IMPORTED_MODULE_0__.wakuFilter)(options);\n return new _waku_js__WEBPACK_IMPORTED_MODULE_4__.WakuNode(options, libp2p, store, lightPush, filter);\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvbGlnaHQtbm9kZS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQXdDO0FBQ21CO0FBQ1Q7QUFDZ0I7QUFDNUI7QUFDdEM7O0NBRUMsR0FDTSxlQUFlSyxXQUFXQyxVQUFVO0lBQUVDLGNBQWMsRUFBRTtBQUFDLENBQUM7SUFDM0QsSUFBSSxDQUFDRCxRQUFRRSxTQUFTLEVBQUU7UUFDcEIsTUFBTSxJQUFJQyxNQUFNO0lBQ3BCO0lBQ0EsTUFBTUMsU0FBUyxNQUFNUCw4RUFBNEJBLENBQUNHO0lBQ2xELE1BQU1LLFFBQVFULDhEQUFTQSxDQUFDSTtJQUN4QixNQUFNTSxZQUFZWCx1RUFBYUEsQ0FBQ0s7SUFDaEMsTUFBTU8sU0FBU2Isc0RBQVVBLENBQUNNO0lBQzFCLE9BQU8sSUFBSUYsOENBQVFBLENBQUNFLFNBQVNJLFFBQVFDLE9BQU9DLFdBQVdDO0FBQzNEO0FBQ0E7Ozs7Q0FJQyxHQUNNLGVBQWVDLGdCQUFnQlIsVUFBVSxDQUFDLENBQUM7SUFDOUMsTUFBTUksU0FBUyxNQUFNUCw4RUFBNEJBLENBQUNHO0lBQ2xELE1BQU1LLFFBQVFULDhEQUFTQSxDQUFDSTtJQUN4QixNQUFNTSxZQUFZWCx1RUFBYUEsQ0FBQ0s7SUFDaEMsTUFBTU8sU0FBU2Isc0RBQVVBLENBQUNNO0lBQzFCLE9BQU8sSUFBSUYsOENBQVFBLENBQUNFLFNBQVNJLFFBQVFDLE9BQU9DLFdBQVdDO0FBQzNELEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvbGlnaHQtbm9kZS9pbmRleC5qcz9lMzJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdha3VGaWx0ZXIgfSBmcm9tIFwiQHdha3UvY29yZVwiO1xuaW1wb3J0IHsgd2FrdUxpZ2h0UHVzaCB9IGZyb20gXCIuLi9wcm90b2NvbHMvbGlnaHRfcHVzaC5qc1wiO1xuaW1wb3J0IHsgd2FrdVN0b3JlIH0gZnJvbSBcIi4uL3Byb3RvY29scy9zdG9yZS5qc1wiO1xuaW1wb3J0IHsgY3JlYXRlTGlicDJwQW5kVXBkYXRlT3B0aW9ucyB9IGZyb20gXCIuLi91dGlscy9saWJwMnAuanNcIjtcbmltcG9ydCB7IFdha3VOb2RlIH0gZnJvbSBcIi4uL3dha3UuanNcIjtcbi8qKlxuICogQ3JlYXRlIGEgV2FrdSBub2RlIGNvbmZpZ3VyZWQgdG8gdXNlIGF1dG9zaGFyZGluZyBvciBzdGF0aWMgc2hhcmRpbmcuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVOb2RlKG9wdGlvbnMgPSB7IHB1YnN1YlRvcGljczogW10gfSkge1xuICAgIGlmICghb3B0aW9ucy5zaGFyZEluZm8pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU2hhcmQgaW5mbyBtdXN0IGJlIHNldFwiKTtcbiAgICB9XG4gICAgY29uc3QgbGlicDJwID0gYXdhaXQgY3JlYXRlTGlicDJwQW5kVXBkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICBjb25zdCBzdG9yZSA9IHdha3VTdG9yZShvcHRpb25zKTtcbiAgICBjb25zdCBsaWdodFB1c2ggPSB3YWt1TGlnaHRQdXNoKG9wdGlvbnMpO1xuICAgIGNvbnN0IGZpbHRlciA9IHdha3VGaWx0ZXIob3B0aW9ucyk7XG4gICAgcmV0dXJuIG5ldyBXYWt1Tm9kZShvcHRpb25zLCBsaWJwMnAsIHN0b3JlLCBsaWdodFB1c2gsIGZpbHRlcik7XG59XG4vKipcbiAqIENyZWF0ZSBhIFdha3Ugbm9kZSB0aGF0IHVzZXMgV2FrdSBMaWdodCBQdXNoLCBGaWx0ZXIgYW5kIFN0b3JlIHRvIHNlbmQgYW5kXG4gKiByZWNlaXZlIG1lc3NhZ2VzLCBlbmFibGluZyBsb3cgcmVzb3VyY2UgY29uc3VtcHRpb24uXG4gKiBVc2VzIFdha3UgRmlsdGVyIFYyIGJ5IGRlZmF1bHQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVMaWdodE5vZGUob3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgbGlicDJwID0gYXdhaXQgY3JlYXRlTGlicDJwQW5kVXBkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICBjb25zdCBzdG9yZSA9IHdha3VTdG9yZShvcHRpb25zKTtcbiAgICBjb25zdCBsaWdodFB1c2ggPSB3YWt1TGlnaHRQdXNoKG9wdGlvbnMpO1xuICAgIGNvbnN0IGZpbHRlciA9IHdha3VGaWx0ZXIob3B0aW9ucyk7XG4gICAgcmV0dXJuIG5ldyBXYWt1Tm9kZShvcHRpb25zLCBsaWJwMnAsIHN0b3JlLCBsaWdodFB1c2gsIGZpbHRlcik7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsid2FrdUZpbHRlciIsIndha3VMaWdodFB1c2giLCJ3YWt1U3RvcmUiLCJjcmVhdGVMaWJwMnBBbmRVcGRhdGVPcHRpb25zIiwiV2FrdU5vZGUiLCJjcmVhdGVOb2RlIiwib3B0aW9ucyIsInB1YnN1YlRvcGljcyIsInNoYXJkSW5mbyIsIkVycm9yIiwibGlicDJwIiwic3RvcmUiLCJsaWdodFB1c2giLCJmaWx0ZXIiLCJjcmVhdGVMaWdodE5vZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/dist/light-node/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/dist/protocols/base_protocol.js":
/*!****************************************************************!*\
!*** ./node_modules/@waku/sdk/dist/protocols/base_protocol.js ***!
\****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseProtocolSDK: () => (/* binding */ BaseProtocolSDK)\n/* harmony export */ });\nconst DEFAULT_NUM_PEERS_TO_USE = 3;\nclass BaseProtocolSDK {\n constructor(options){\n this.numPeers = options?.numPeersToUse ?? DEFAULT_NUM_PEERS_TO_USE;\n }\n} //# sourceMappingURL=base_protocol.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvcHJvdG9jb2xzL2Jhc2VfcHJvdG9jb2wuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU1BLDJCQUEyQjtBQUMxQixNQUFNQztJQUVUQyxZQUFZQyxPQUFPLENBQUU7UUFDakIsSUFBSSxDQUFDQyxRQUFRLEdBQUdELFNBQVNFLGlCQUFpQkw7SUFDOUM7QUFDSixFQUNBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9kaXN0L3Byb3RvY29scy9iYXNlX3Byb3RvY29sLmpzPzJmMzEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgREVGQVVMVF9OVU1fUEVFUlNfVE9fVVNFID0gMztcbmV4cG9ydCBjbGFzcyBCYXNlUHJvdG9jb2xTREsge1xuICAgIG51bVBlZXJzO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5udW1QZWVycyA9IG9wdGlvbnM/Lm51bVBlZXJzVG9Vc2UgPz8gREVGQVVMVF9OVU1fUEVFUlNfVE9fVVNFO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJhc2VfcHJvdG9jb2wuanMubWFwIl0sIm5hbWVzIjpbIkRFRkFVTFRfTlVNX1BFRVJTX1RPX1VTRSIsIkJhc2VQcm90b2NvbFNESyIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIm51bVBlZXJzIiwibnVtUGVlcnNUb1VzZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/dist/protocols/base_protocol.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/dist/protocols/light_push.js":
/*!*************************************************************!*\
!*** ./node_modules/@waku/sdk/dist/protocols/light_push.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LightPushSDK: () => (/* binding */ LightPushSDK),\n/* harmony export */ wakuLightPush: () => (/* binding */ wakuLightPush)\n/* harmony export */ });\n/* harmony import */ var _waku_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/core */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/index.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _base_protocol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base_protocol.js */ \"(ssr)/./node_modules/@waku/sdk/dist/protocols/base_protocol.js\");\n\n\n\n\nconst DEFAULT_NUM_PEERS = 3;\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_2__.Logger(\"sdk:light-push\");\nclass LightPushSDK extends _base_protocol_js__WEBPACK_IMPORTED_MODULE_3__.BaseProtocolSDK {\n constructor(libp2p, options){\n super({\n numPeersToUse: options?.numPeersToUse ?? DEFAULT_NUM_PEERS\n });\n this.protocol = new _waku_core__WEBPACK_IMPORTED_MODULE_0__.LightPushCore(libp2p, options);\n }\n async send(encoder, message) {\n const successes = [];\n const failures = [];\n const { pubsubTopic } = encoder;\n try {\n (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.ensurePubsubTopicIsConfigured)(pubsubTopic, this.protocol.pubsubTopics);\n } catch (error) {\n log.error(\"Failed to send waku light push: pubsub topic not configured\");\n return {\n failures: [\n {\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__.ProtocolError.TOPIC_NOT_CONFIGURED\n }\n ],\n successes: []\n };\n }\n const peers = await this.protocol.getPeers();\n if (!peers.length) {\n return {\n successes,\n failures: [\n {\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__.ProtocolError.NO_PEER_AVAILABLE\n }\n ]\n };\n }\n const sendPromises = peers.map((peer)=>this.protocol.send(encoder, message, peer));\n const results = await Promise.allSettled(sendPromises);\n for (const result of results){\n if (result.status === \"fulfilled\") {\n const { failure, success } = result.value;\n if (success) {\n successes.push(success);\n }\n if (failure) {\n failures.push(failure);\n }\n } else {\n log.error(\"Failed to send message to peer\", result.reason);\n failures.push({\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__.ProtocolError.GENERIC_FAIL\n });\n // TODO: handle renewing faulty peers with new peers (https://github.com/waku-org/js-waku/issues/1463)\n }\n }\n return {\n successes,\n failures\n };\n }\n}\nfunction wakuLightPush(init = {}) {\n return (libp2p)=>new LightPushSDK(libp2p, init);\n} //# sourceMappingURL=light_push.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvcHJvdG9jb2xzL2xpZ2h0X3B1c2guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTJDO0FBQ007QUFDbUI7QUFDZjtBQUNyRCxNQUFNSyxvQkFBb0I7QUFDMUIsTUFBTUMsTUFBTSxJQUFJSCwrQ0FBTUEsQ0FBQztBQUNoQixNQUFNSSxxQkFBcUJILDhEQUFlQTtJQUU3Q0ksWUFBWUMsTUFBTSxFQUFFQyxPQUFPLENBQUU7UUFDekIsS0FBSyxDQUFDO1lBQUVDLGVBQWVELFNBQVNDLGlCQUFpQk47UUFBa0I7UUFDbkUsSUFBSSxDQUFDTyxRQUFRLEdBQUcsSUFBSVoscURBQWFBLENBQUNTLFFBQVFDO0lBQzlDO0lBQ0EsTUFBTUcsS0FBS0MsT0FBTyxFQUFFQyxPQUFPLEVBQUU7UUFDekIsTUFBTUMsWUFBWSxFQUFFO1FBQ3BCLE1BQU1DLFdBQVcsRUFBRTtRQUNuQixNQUFNLEVBQUVDLFdBQVcsRUFBRSxHQUFHSjtRQUN4QixJQUFJO1lBQ0FaLDBFQUE2QkEsQ0FBQ2dCLGFBQWEsSUFBSSxDQUFDTixRQUFRLENBQUNPLFlBQVk7UUFDekUsRUFDQSxPQUFPQyxPQUFPO1lBQ1ZkLElBQUljLEtBQUssQ0FBQztZQUNWLE9BQU87Z0JBQ0hILFVBQVU7b0JBQ047d0JBQ0lHLE9BQU9uQiwyREFBYUEsQ0FBQ29CLG9CQUFvQjtvQkFDN0M7aUJBQ0g7Z0JBQ0RMLFdBQVcsRUFBRTtZQUNqQjtRQUNKO1FBQ0EsTUFBTU0sUUFBUSxNQUFNLElBQUksQ0FBQ1YsUUFBUSxDQUFDVyxRQUFRO1FBQzFDLElBQUksQ0FBQ0QsTUFBTUUsTUFBTSxFQUFFO1lBQ2YsT0FBTztnQkFDSFI7Z0JBQ0FDLFVBQVU7b0JBQUM7d0JBQUVHLE9BQU9uQiwyREFBYUEsQ0FBQ3dCLGlCQUFpQjtvQkFBQztpQkFBRTtZQUMxRDtRQUNKO1FBQ0EsTUFBTUMsZUFBZUosTUFBTUssR0FBRyxDQUFDLENBQUNDLE9BQVMsSUFBSSxDQUFDaEIsUUFBUSxDQUFDQyxJQUFJLENBQUNDLFNBQVNDLFNBQVNhO1FBQzlFLE1BQU1DLFVBQVUsTUFBTUMsUUFBUUMsVUFBVSxDQUFDTDtRQUN6QyxLQUFLLE1BQU1NLFVBQVVILFFBQVM7WUFDMUIsSUFBSUcsT0FBT0MsTUFBTSxLQUFLLGFBQWE7Z0JBQy9CLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxPQUFPLEVBQUUsR0FBR0gsT0FBT0ksS0FBSztnQkFDekMsSUFBSUQsU0FBUztvQkFDVG5CLFVBQVVxQixJQUFJLENBQUNGO2dCQUNuQjtnQkFDQSxJQUFJRCxTQUFTO29CQUNUakIsU0FBU29CLElBQUksQ0FBQ0g7Z0JBQ2xCO1lBQ0osT0FDSztnQkFDRDVCLElBQUljLEtBQUssQ0FBQyxrQ0FBa0NZLE9BQU9NLE1BQU07Z0JBQ3pEckIsU0FBU29CLElBQUksQ0FBQztvQkFBRWpCLE9BQU9uQiwyREFBYUEsQ0FBQ3NDLFlBQVk7Z0JBQUM7WUFDbEQsc0dBQXNHO1lBQzFHO1FBQ0o7UUFDQSxPQUFPO1lBQ0h2QjtZQUNBQztRQUNKO0lBQ0o7QUFDSjtBQUNPLFNBQVN1QixjQUFjQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxPQUFPLENBQUNoQyxTQUFXLElBQUlGLGFBQWFFLFFBQVFnQztBQUNoRCxFQUNBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9kaXN0L3Byb3RvY29scy9saWdodF9wdXNoLmpzPzE0YWYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlnaHRQdXNoQ29yZSB9IGZyb20gXCJAd2FrdS9jb3JlXCI7XG5pbXBvcnQgeyBQcm90b2NvbEVycm9yIH0gZnJvbSBcIkB3YWt1L2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IGVuc3VyZVB1YnN1YlRvcGljSXNDb25maWd1cmVkLCBMb2dnZXIgfSBmcm9tIFwiQHdha3UvdXRpbHNcIjtcbmltcG9ydCB7IEJhc2VQcm90b2NvbFNESyB9IGZyb20gXCIuL2Jhc2VfcHJvdG9jb2wuanNcIjtcbmNvbnN0IERFRkFVTFRfTlVNX1BFRVJTID0gMztcbmNvbnN0IGxvZyA9IG5ldyBMb2dnZXIoXCJzZGs6bGlnaHQtcHVzaFwiKTtcbmV4cG9ydCBjbGFzcyBMaWdodFB1c2hTREsgZXh0ZW5kcyBCYXNlUHJvdG9jb2xTREsge1xuICAgIHByb3RvY29sO1xuICAgIGNvbnN0cnVjdG9yKGxpYnAycCwgb3B0aW9ucykge1xuICAgICAgICBzdXBlcih7IG51bVBlZXJzVG9Vc2U6IG9wdGlvbnM/Lm51bVBlZXJzVG9Vc2UgPz8gREVGQVVMVF9OVU1fUEVFUlMgfSk7XG4gICAgICAgIHRoaXMucHJvdG9jb2wgPSBuZXcgTGlnaHRQdXNoQ29yZShsaWJwMnAsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBhc3luYyBzZW5kKGVuY29kZXIsIG1lc3NhZ2UpIHtcbiAgICAgICAgY29uc3Qgc3VjY2Vzc2VzID0gW107XG4gICAgICAgIGNvbnN0IGZhaWx1cmVzID0gW107XG4gICAgICAgIGNvbnN0IHsgcHVic3ViVG9waWMgfSA9IGVuY29kZXI7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBlbnN1cmVQdWJzdWJUb3BpY0lzQ29uZmlndXJlZChwdWJzdWJUb3BpYywgdGhpcy5wcm90b2NvbC5wdWJzdWJUb3BpY3MpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgbG9nLmVycm9yKFwiRmFpbGVkIHRvIHNlbmQgd2FrdSBsaWdodCBwdXNoOiBwdWJzdWIgdG9waWMgbm90IGNvbmZpZ3VyZWRcIik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGZhaWx1cmVzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBQcm90b2NvbEVycm9yLlRPUElDX05PVF9DT05GSUdVUkVEXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHN1Y2Nlc3NlczogW11cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGVlcnMgPSBhd2FpdCB0aGlzLnByb3RvY29sLmdldFBlZXJzKCk7XG4gICAgICAgIGlmICghcGVlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3NlcyxcbiAgICAgICAgICAgICAgICBmYWlsdXJlczogW3sgZXJyb3I6IFByb3RvY29sRXJyb3IuTk9fUEVFUl9BVkFJTEFCTEUgfV1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VuZFByb21pc2VzID0gcGVlcnMubWFwKChwZWVyKSA9PiB0aGlzLnByb3RvY29sLnNlbmQoZW5jb2RlciwgbWVzc2FnZSwgcGVlcikpO1xuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKHNlbmRQcm9taXNlcyk7XG4gICAgICAgIGZvciAoY29uc3QgcmVzdWx0IG9mIHJlc3VsdHMpIHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSBcImZ1bGZpbGxlZFwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBmYWlsdXJlLCBzdWNjZXNzIH0gPSByZXN1bHQudmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc2VzLnB1c2goc3VjY2Vzcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChmYWlsdXJlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVzLnB1c2goZmFpbHVyZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKFwiRmFpbGVkIHRvIHNlbmQgbWVzc2FnZSB0byBwZWVyXCIsIHJlc3VsdC5yZWFzb24pO1xuICAgICAgICAgICAgICAgIGZhaWx1cmVzLnB1c2goeyBlcnJvcjogUHJvdG9jb2xFcnJvci5HRU5FUklDX0ZBSUwgfSk7XG4gICAgICAgICAgICAgICAgLy8gVE9ETzogaGFuZGxlIHJlbmV3aW5nIGZhdWx0eSBwZWVycyB3aXRoIG5ldyBwZWVycyAoaHR0cHM6Ly9naXRodWIuY29tL3dha3Utb3JnL2pzLXdha3UvaXNzdWVzLzE0NjMpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN1Y2Nlc3NlcyxcbiAgICAgICAgICAgIGZhaWx1cmVzXG4gICAgICAgIH07XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIHdha3VMaWdodFB1c2goaW5pdCA9IHt9KSB7XG4gICAgcmV0dXJuIChsaWJwMnApID0+IG5ldyBMaWdodFB1c2hTREsobGlicDJwLCBpbml0KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpZ2h0X3B1c2guanMubWFwIl0sIm5hbWVzIjpbIkxpZ2h0UHVzaENvcmUiLCJQcm90b2NvbEVycm9yIiwiZW5zdXJlUHVic3ViVG9waWNJc0NvbmZpZ3VyZWQiLCJMb2dnZXIiLCJCYXNlUHJvdG9jb2xTREsiLCJERUZBVUxUX05VTV9QRUVSUyIsImxvZyIsIkxpZ2h0UHVzaFNESyIsImNvbnN0cnVjdG9yIiwibGlicDJwIiwib3B0aW9ucyIsIm51bVBlZXJzVG9Vc2UiLCJwcm90b2NvbCIsInNlbmQiLCJlbmNvZGVyIiwibWVzc2FnZSIsInN1Y2Nlc3NlcyIsImZhaWx1cmVzIiwicHVic3ViVG9waWMiLCJwdWJzdWJUb3BpY3MiLCJlcnJvciIsIlRPUElDX05PVF9DT05GSUdVUkVEIiwicGVlcnMiLCJnZXRQZWVycyIsImxlbmd0aCIsIk5PX1BFRVJfQVZBSUxBQkxFIiwic2VuZFByb21pc2VzIiwibWFwIiwicGVlciIsInJlc3VsdHMiLCJQcm9taXNlIiwiYWxsU2V0dGxlZCIsInJlc3VsdCIsInN0YXR1cyIsImZhaWx1cmUiLCJzdWNjZXNzIiwidmFsdWUiLCJwdXNoIiwicmVhc29uIiwiR0VORVJJQ19GQUlMIiwid2FrdUxpZ2h0UHVzaCIsImluaXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/dist/protocols/light_push.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/dist/protocols/store.js":
/*!********************************************************!*\
!*** ./node_modules/@waku/sdk/dist/protocols/store.js ***!
\********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultPageSize: () => (/* binding */ DefaultPageSize),\n/* harmony export */ StoreSDK: () => (/* binding */ StoreSDK),\n/* harmony export */ wakuStore: () => (/* binding */ wakuStore)\n/* harmony export */ });\n/* harmony import */ var _noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @noble/hashes/sha256 */ \"(ssr)/./node_modules/@noble/hashes/esm/sha256.js\");\n/* harmony import */ var _waku_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/core */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/index.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../index.js */ \"(ssr)/./node_modules/@waku/sdk/dist/index.js\");\n/* harmony import */ var _base_protocol_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./base_protocol.js */ \"(ssr)/./node_modules/@waku/sdk/dist/protocols/base_protocol.js\");\n\n\n\n\n\n\n\nconst DefaultPageSize = 10;\nconst DEFAULT_NUM_PEERS = 1;\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_2__.Logger(\"waku:store:protocol\");\nclass StoreSDK extends _base_protocol_js__WEBPACK_IMPORTED_MODULE_5__.BaseProtocolSDK {\n constructor(libp2p, options){\n // TODO: options.numPeersToUse is disregarded: https://github.com/waku-org/js-waku/issues/1685\n super({\n numPeersToUse: DEFAULT_NUM_PEERS\n });\n this.protocol = new _waku_core__WEBPACK_IMPORTED_MODULE_0__.StoreCore(libp2p, options);\n }\n /**\n * Do a query to a Waku Store to retrieve historical/missed messages.\n *\n * This is a generator, useful if you want most control on how messages\n * are processed.\n *\n * The order of the messages returned by the remote Waku node SHOULD BE\n * as follows:\n * - within a page, messages SHOULD be ordered from oldest to most recent\n * - pages direction depends on { @link QueryOptions.pageDirection }\n * @throws If not able to reach a Waku Store peer to query,\n * or if an error is encountered when processing the reply,\n * or if two decoders with the same content topic are passed.\n *\n * This API only supports querying a single pubsub topic at a time.\n * If multiple decoders are provided, they must all have the same pubsub topic.\n * @throws If multiple decoders with different pubsub topics are provided.\n * @throws If no decoders are provided.\n * @throws If no decoders are found for the provided pubsub topic.\n */ async *queryGenerator(decoders, options) {\n const { pubsubTopic, contentTopics, decodersAsMap } = this.validateDecodersAndPubsubTopic(decoders, options);\n const queryOpts = this.constructOptions(pubsubTopic, contentTopics, options);\n const peer = (await this.protocol.getPeers({\n numPeers: this.numPeers,\n maxBootstrapPeers: 1\n }))[0];\n if (!peer) throw new Error(\"No peers available to query\");\n const responseGenerator = this.protocol.queryPerPage(queryOpts, decodersAsMap, peer);\n for await (const messages of responseGenerator){\n yield messages;\n }\n }\n /**\n * Do a query to a Waku Store to retrieve historical/missed messages.\n *\n * The callback function takes a `WakuMessage` in input,\n * messages are processed in order:\n * - oldest to latest if `options.pageDirection` == { @link PageDirection.FORWARD }\n * - latest to oldest if `options.pageDirection` == { @link PageDirection.BACKWARD }\n *\n * The ordering may affect performance.\n * The ordering depends on the behavior of the remote store node.\n * If strong ordering is needed, you may need to handle this at application level\n * and set your own timestamps too (the WakuMessage timestamps are not certified).\n *\n * @throws If not able to reach a Waku Store peer to query,\n * or if an error is encountered when processing the reply,\n * or if two decoders with the same content topic are passed.\n */ async queryWithOrderedCallback(decoders, callback, options) {\n for await (const promises of this.queryGenerator(decoders, options)){\n if (await this.processMessages(promises, callback, options)) break;\n }\n }\n /**\n * Do a query to a Waku Store to retrieve historical/missed messages.\n * The callback function takes a `Promise<WakuMessage>` in input,\n * useful if messages need to be decrypted and performance matters.\n *\n * The order of the messages passed to the callback is as follows:\n * - within a page, messages are expected to be ordered from oldest to most recent\n * - pages direction depends on { @link QueryOptions.pageDirection }\n *\n * Do note that the resolution of the `Promise<WakuMessage | undefined` may\n * break the order as it may rely on the browser decryption API, which in turn,\n * may have a different speed depending on the type of decryption.\n *\n * @throws If not able to reach a Waku Store peer to query,\n * or if an error is encountered when processing the reply,\n * or if two decoders with the same content topic are passed.\n */ async queryWithPromiseCallback(decoders, callback, options) {\n let abort = false;\n for await (const page of this.queryGenerator(decoders, options)){\n const _promises = page.map(async (msgPromise)=>{\n if (abort) return;\n abort = Boolean(await callback(msgPromise));\n });\n await Promise.all(_promises);\n if (abort) break;\n }\n }\n createCursor(message) {\n if (!message || !message.timestamp || !message.payload || !message.contentTopic) {\n throw new Error(\"Message is missing required fields\");\n }\n const contentTopicBytes = (0,_index_js__WEBPACK_IMPORTED_MODULE_4__.utf8ToBytes)(message.contentTopic);\n const digest = (0,_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_6__.sha256)((0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_3__.concat)([\n contentTopicBytes,\n message.payload\n ]));\n const messageTime = BigInt(message.timestamp.getTime()) * BigInt(1000000);\n return {\n digest,\n pubsubTopic: message.pubsubTopic,\n senderTime: messageTime,\n receiverTime: messageTime\n };\n }\n validateDecodersAndPubsubTopic(decoders, options) {\n if (decoders.length === 0) {\n throw new Error(\"No decoders provided\");\n }\n // convert array to set to remove duplicates\n const uniquePubsubTopicsInQuery = Array.from(new Set(decoders.map((decoder)=>decoder.pubsubTopic)));\n // If multiple pubsub topics are provided, throw an error\n if (uniquePubsubTopicsInQuery.length > 1) {\n throw new Error(\"API does not support querying multiple pubsub topics at once\");\n }\n // we can be certain that there is only one pubsub topic in the query\n const pubsubTopicForQuery = uniquePubsubTopicsInQuery[0];\n (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.ensurePubsubTopicIsConfigured)(pubsubTopicForQuery, this.protocol.pubsubTopics);\n // check that the pubsubTopic from the Cursor and Decoder match\n if (options?.cursor?.pubsubTopic && options.cursor.pubsubTopic !== pubsubTopicForQuery) {\n throw new Error(`Cursor pubsub topic (${options?.cursor?.pubsubTopic}) does not match decoder pubsub topic (${pubsubTopicForQuery})`);\n }\n const decodersAsMap = new Map();\n decoders.forEach((dec)=>{\n if (decodersAsMap.has(dec.contentTopic)) {\n throw new Error(\"API does not support different decoder per content topic\");\n }\n decodersAsMap.set(dec.contentTopic, dec);\n });\n const contentTopics = decoders.filter((decoder)=>decoder.pubsubTopic === pubsubTopicForQuery).map((dec)=>dec.contentTopic);\n if (contentTopics.length === 0) {\n throw new Error(\"No decoders found for topic \" + pubsubTopicForQuery);\n }\n return {\n pubsubTopic: pubsubTopicForQuery,\n contentTopics,\n decodersAsMap\n };\n }\n constructOptions(pubsubTopic, contentTopics, options = {}) {\n let startTime, endTime;\n if (options?.timeFilter) {\n startTime = options.timeFilter.startTime;\n endTime = options.timeFilter.endTime;\n }\n if (!startTime) {\n log.warn(\"No start time provided\");\n }\n if (!endTime) {\n log.warn(\"No end time provided\");\n }\n const queryOpts = Object.assign({\n pubsubTopic: pubsubTopic,\n pageDirection: _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__.PageDirection.BACKWARD,\n pageSize: DefaultPageSize\n }, options, {\n contentTopics,\n startTime,\n endTime\n });\n return queryOpts;\n }\n /**\n * Processes messages based on the provided callback and options.\n * @private\n */ async processMessages(messages, callback, options) {\n let abort = false;\n const messagesOrUndef = await Promise.all(messages);\n let processedMessages = messagesOrUndef.filter(_waku_utils__WEBPACK_IMPORTED_MODULE_2__.isDefined);\n if (this.shouldReverseOrder(options)) {\n processedMessages = processedMessages.reverse();\n }\n await Promise.all(processedMessages.map(async (msg)=>{\n if (msg && !abort) {\n abort = Boolean(await callback(msg));\n }\n }));\n return abort;\n }\n /**\n * Determines whether to reverse the order of messages based on the provided options.\n *\n * Messages in pages are ordered from oldest (first) to most recent (last).\n * https://github.com/vacp2p/rfc/issues/533\n *\n * @private\n */ shouldReverseOrder(options) {\n return typeof options?.pageDirection === \"undefined\" || options?.pageDirection === _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__.PageDirection.BACKWARD;\n }\n}\nfunction wakuStore(init = {}) {\n return (libp2p)=>new StoreSDK(libp2p, init);\n} //# sourceMappingURL=store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvcHJvdG9jb2xzL3N0b3JlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEM7QUFDUDtBQUNVO0FBQzhCO0FBQ3BDO0FBQ0Q7QUFDVztBQUM5QyxNQUFNUyxrQkFBa0IsR0FBRztBQUNsQyxNQUFNQyxvQkFBb0I7QUFDMUIsTUFBTUMsTUFBTSxJQUFJTiwrQ0FBTUEsQ0FBQztBQUNoQixNQUFNTyxpQkFBaUJKLDhEQUFlQTtJQUV6Q0ssWUFBWUMsTUFBTSxFQUFFQyxPQUFPLENBQUU7UUFDekIsOEZBQThGO1FBQzlGLEtBQUssQ0FBQztZQUFFQyxlQUFlTjtRQUFrQjtRQUN6QyxJQUFJLENBQUNPLFFBQVEsR0FBRyxJQUFJaEIsaURBQVNBLENBQUNhLFFBQVFDO0lBQzFDO0lBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FtQkMsR0FDRCxPQUFPRyxlQUFlQyxRQUFRLEVBQUVKLE9BQU8sRUFBRTtRQUNyQyxNQUFNLEVBQUVLLFdBQVcsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUNDLDhCQUE4QixDQUFDSixVQUFVSjtRQUNwRyxNQUFNUyxZQUFZLElBQUksQ0FBQ0MsZ0JBQWdCLENBQUNMLGFBQWFDLGVBQWVOO1FBQ3BFLE1BQU1XLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQ1QsUUFBUSxDQUFDVSxRQUFRLENBQUM7WUFDdkNDLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCQyxtQkFBbUI7UUFDdkIsRUFBQyxDQUFFLENBQUMsRUFBRTtRQUNOLElBQUksQ0FBQ0gsTUFDRCxNQUFNLElBQUlJLE1BQU07UUFDcEIsTUFBTUMsb0JBQW9CLElBQUksQ0FBQ2QsUUFBUSxDQUFDZSxZQUFZLENBQUNSLFdBQVdGLGVBQWVJO1FBQy9FLFdBQVcsTUFBTU8sWUFBWUYsa0JBQW1CO1lBQzVDLE1BQU1FO1FBQ1Y7SUFDSjtJQUNBOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JDLEdBQ0Qs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O0tBT0MsR0FDRDhDLG1CQUFtQnRFLE9BQU8sRUFBRTtRQUN4QixPQUFRLE9BQU9BLFNBQVNpRSxrQkFBa0IsZUFDdENqRSxTQUFTaUUsa0JBQWtCOUUsMkRBQWFBLENBQUMrRSxRQUFRO0lBQ3pEO0FBQ0o7QUFDTyxTQUFTTyxVQUFVQyxPQUFPLENBQUMsQ0FBQztJQUMvQixPQUFPLENBQUMzRSxTQUFXLElBQUlGLFNBQVNFLFFBQVEyRTtBQUM1QyxFQUNBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9kaXN0L3Byb3RvY29scy9zdG9yZS5qcz9hMjUxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYTI1NiB9IGZyb20gXCJAbm9ibGUvaGFzaGVzL3NoYTI1NlwiO1xuaW1wb3J0IHsgU3RvcmVDb3JlIH0gZnJvbSBcIkB3YWt1L2NvcmVcIjtcbmltcG9ydCB7IFBhZ2VEaXJlY3Rpb24gfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgZW5zdXJlUHVic3ViVG9waWNJc0NvbmZpZ3VyZWQsIGlzRGVmaW5lZCwgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBjb25jYXQgfSBmcm9tIFwiQHdha3UvdXRpbHMvYnl0ZXNcIjtcbmltcG9ydCB7IHV0ZjhUb0J5dGVzIH0gZnJvbSBcIi4uL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBCYXNlUHJvdG9jb2xTREsgfSBmcm9tIFwiLi9iYXNlX3Byb3RvY29sLmpzXCI7XG5leHBvcnQgY29uc3QgRGVmYXVsdFBhZ2VTaXplID0gMTA7XG5jb25zdCBERUZBVUxUX05VTV9QRUVSUyA9IDE7XG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKFwid2FrdTpzdG9yZTpwcm90b2NvbFwiKTtcbmV4cG9ydCBjbGFzcyBTdG9yZVNESyBleHRlbmRzIEJhc2VQcm90b2NvbFNESyB7XG4gICAgcHJvdG9jb2w7XG4gICAgY29uc3RydWN0b3IobGlicDJwLCBvcHRpb25zKSB7XG4gICAgICAgIC8vIFRPRE86IG9wdGlvbnMubnVtUGVlcnNUb1VzZSBpcyBkaXNyZWdhcmRlZDogaHR0cHM6Ly9naXRodWIuY29tL3dha3Utb3JnL2pzLXdha3UvaXNzdWVzLzE2ODVcbiAgICAgICAgc3VwZXIoeyBudW1QZWVyc1RvVXNlOiBERUZBVUxUX05VTV9QRUVSUyB9KTtcbiAgICAgICAgdGhpcy5wcm90b2NvbCA9IG5ldyBTdG9yZUNvcmUobGlicDJwLCBvcHRpb25zKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRG8gYSBxdWVyeSB0byBhIFdha3UgU3RvcmUgdG8gcmV0cmlldmUgaGlzdG9yaWNhbC9taXNzZWQgbWVzc2FnZXMuXG4gICAgICpcbiAgICAgKiBUaGlzIGlzIGEgZ2VuZXJhdG9yLCB1c2VmdWwgaWYgeW91IHdhbnQgbW9zdCBjb250cm9sIG9uIGhvdyBtZXNzYWdlc1xuICAgICAqIGFyZSBwcm9jZXNzZWQuXG4gICAgICpcbiAgICAgKiBUaGUgb3JkZXIgb2YgdGhlIG1lc3NhZ2VzIHJldHVybmVkIGJ5IHRoZSByZW1vdGUgV2FrdSBub2RlIFNIT1VMRCBCRVxuICAgICAqIGFzIGZvbGxvd3M6XG4gICAgICogLSB3aXRoaW4gYSBwYWdlLCBtZXNzYWdlcyBTSE9VTEQgYmUgb3JkZXJlZCBmcm9tIG9sZGVzdCB0byBtb3N0IHJlY2VudFxuICAgICAqIC0gcGFnZXMgZGlyZWN0aW9uIGRlcGVuZHMgb24geyBAbGluayBRdWVyeU9wdGlvbnMucGFnZURpcmVjdGlvbiB9XG4gICAgICogQHRocm93cyBJZiBub3QgYWJsZSB0byByZWFjaCBhIFdha3UgU3RvcmUgcGVlciB0byBxdWVyeSxcbiAgICAgKiBvciBpZiBhbiBlcnJvciBpcyBlbmNvdW50ZXJlZCB3aGVuIHByb2Nlc3NpbmcgdGhlIHJlcGx5LFxuICAgICAqIG9yIGlmIHR3byBkZWNvZGVycyB3aXRoIHRoZSBzYW1lIGNvbnRlbnQgdG9waWMgYXJlIHBhc3NlZC5cbiAgICAgKlxuICAgICAqIFRoaXMgQVBJIG9ubHkgc3VwcG9ydHMgcXVlcnlpbmcgYSBzaW5nbGUgcHVic3ViIHRvcGljIGF0IGEgdGltZS5cbiAgICAgKiBJZiBtdWx0aXBsZSBkZWNvZGVycyBhcmUgcHJvdmlkZWQsIHRoZXkgbXVzdCBhbGwgaGF2ZSB0aGUgc2FtZSBwdWJzdWIgdG9waWMuXG4gICAgICogQHRocm93cyBJZiBtdWx0aXBsZSBkZWNvZGVycyB3aXRoIGRpZmZlcmVudCBwdWJzdWIgdG9waWNzIGFyZSBwcm92aWRlZC5cbiAgICAgKiBAdGhyb3dzIElmIG5vIGRlY29kZXJzIGFyZSBwcm92aWRlZC5cbiAgICAgKiBAdGhyb3dzIElmIG5vIGRlY29kZXJzIGFyZSBmb3VuZCBmb3IgdGhlIHByb3ZpZGVkIHB1YnN1YiB0b3BpYy5cbiAgICAgKi9cbiAgICBhc3luYyAqcXVlcnlHZW5lcmF0b3IoZGVjb2RlcnMsIG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBwdWJzdWJUb3BpYywgY29udGVudFRvcGljcywgZGVjb2RlcnNBc01hcCB9ID0gdGhpcy52YWxpZGF0ZURlY29kZXJzQW5kUHVic3ViVG9waWMoZGVjb2RlcnMsIG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBxdWVyeU9wdHMgPSB0aGlzLmNvbnN0cnVjdE9wdGlvbnMocHVic3ViVG9waWMsIGNvbnRlbnRUb3BpY3MsIG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBwZWVyID0gKGF3YWl0IHRoaXMucHJvdG9jb2wuZ2V0UGVlcnMoe1xuICAgICAgICAgICAgbnVtUGVlcnM6IHRoaXMubnVtUGVlcnMsXG4gICAgICAgICAgICBtYXhCb290c3RyYXBQZWVyczogMVxuICAgICAgICB9KSlbMF07XG4gICAgICAgIGlmICghcGVlcilcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHBlZXJzIGF2YWlsYWJsZSB0byBxdWVyeVwiKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2VHZW5lcmF0b3IgPSB0aGlzLnByb3RvY29sLnF1ZXJ5UGVyUGFnZShxdWVyeU9wdHMsIGRlY29kZXJzQXNNYXAsIHBlZXIpO1xuICAgICAgICBmb3IgYXdhaXQgKGNvbnN0IG1lc3NhZ2VzIG9mIHJlc3BvbnNlR2VuZXJhdG9yKSB7XG4gICAgICAgICAgICB5aWVsZCBtZXNzYWdlcztcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBEbyBhIHF1ZXJ5IHRvIGEgV2FrdSBTdG9yZSB0byByZXRyaWV2ZSBoaXN0b3JpY2FsL21pc3NlZCBtZXNzYWdlcy5cbiAgICAgKlxuICAgICAqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0YWtlcyBhIGBXYWt1TWVzc2FnZWAgaW4gaW5wdXQsXG4gICAgICogbWVzc2FnZXMgYXJlIHByb2Nlc3NlZCBpbiBvcmRlcjpcbiAgICAgKiAtIG9sZGVzdCB0byBsYXRlc3QgaWYgYG9wdGlvbnMucGFnZURpcmVjdGlvbmAgPT0geyBAbGluayBQYWdlRGlyZWN0aW9uLkZPUldBUkQgfVxuICAgICAqIC0gbGF0ZXN0IHRvIG9sZGVzdCBpZiBgb3B0aW9ucy5wYWdlRGlyZWN0aW9uYCA9PSB7IEBsaW5rIFBhZ2VEaXJlY3Rpb24uQkFDS1dBUkQgfVxuICAgICAqXG4gICAgICogVGhlIG9yZGVyaW5nIG1heSBhZmZlY3QgcGVyZm9ybWFuY2UuXG4gICAgICogVGhlIG9yZGVyaW5nIGRlcGVuZHMgb24gdGhlIGJlaGF2aW9yIG9mIHRoZSByZW1vdGUgc3RvcmUgbm9kZS5cbiAgICAgKiBJZiBzdHJvbmcgb3JkZXJpbmcgaXMgbmVlZGVkLCB5b3UgbWF5IG5lZWQgdG8gaGFuZGxlIHRoaXMgYXQgYXBwbGljYXRpb24gbGV2ZWxcbiAgICAgKiBhbmQgc2V0IHlvdXIgb3duIHRpbWVzdGFtcHMgdG9vICh0aGUgV2FrdU1lc3NhZ2UgdGltZXN0YW1wcyBhcmUgbm90IGNlcnRpZmllZCkuXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIElmIG5vdCBhYmxlIHRvIHJlYWNoIGEgV2FrdSBTdG9yZSBwZWVyIHRvIHF1ZXJ5LFxuICAgICAqIG9yIGlmIGFuIGVycm9yIGlzIGVuY291bnRlcmVkIHdoZW4gcHJvY2Vzc2luZyB0aGUgcmVwbHksXG4gICAgICogb3IgaWYgdHdvIGRlY29kZXJzIHdpdGggdGhlIHNhbWUgY29udGVudCB0b3BpYyBhcmUgcGFzc2VkLlxuICAgICAqL1xuICAgIGFzeW5jIHF1ZXJ5V2l0aE9yZGVyZWRDYWxsYmFjayhkZWNvZGVycywgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgICAgICAgZm9yIGF3YWl0IChjb25zdCBwcm9taXNlcyBvZiB0aGlzLnF1ZXJ5R2VuZXJhdG9yKGRlY29kZXJzLCBvcHRpb25zKSkge1xuICAgICAgICAgICAgaWYgKGF3YWl0IHRoaXMucHJvY2Vzc01lc3NhZ2VzKHByb21pc2VzLCBjYWxsYmFjaywgb3B0aW9ucykpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogRG8gYSBxdWVyeSB0byBhIFdha3UgU3RvcmUgdG8gcmV0cmlldmUgaGlzdG9yaWNhbC9taXNzZWQgbWVzc2FnZXMuXG4gICAgICogVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRha2VzIGEgYFByb21pc2U8V2FrdU1lc3NhZ2U+YCBpbiBpbnB1dCxcbiAgICAgKiB1c2VmdWwgaWYgbWVzc2FnZXMgbmVlZCB0byBiZSBkZWNyeXB0ZWQgYW5kIHBlcmZvcm1hbmNlIG1hdHRlcnMuXG4gICAgICpcbiAgICAgKiBUaGUgb3JkZXIgb2YgdGhlIG1lc3NhZ2VzIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgaXMgYXMgZm9sbG93czpcbiAgICAgKiAtIHdpdGhpbiBhIHBhZ2UsIG1lc3NhZ2VzIGFyZSBleHBlY3RlZCB0byBiZSBvcmRlcmVkIGZyb20gb2xkZXN0IHRvIG1vc3QgcmVjZW50XG4gICAgICogLSBwYWdlcyBkaXJlY3Rpb24gZGVwZW5kcyBvbiB7IEBsaW5rIFF1ZXJ5T3B0aW9ucy5wYWdlRGlyZWN0aW9uIH1cbiAgICAgKlxuICAgICAqIERvIG5vdGUgdGhhdCB0aGUgcmVzb2x1dGlvbiBvZiB0aGUgYFByb21pc2U8V2FrdU1lc3NhZ2UgfCB1bmRlZmluZWRgIG1heVxuICAgICAqIGJyZWFrIHRoZSBvcmRlciBhcyBpdCBtYXkgcmVseSBvbiB0aGUgYnJvd3NlciBkZWNyeXB0aW9uIEFQSSwgd2hpY2ggaW4gdHVybixcbiAgICAgKiBtYXkgaGF2ZSBhIGRpZmZlcmVudCBzcGVlZCBkZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgZGVjcnlwdGlvbi5cbiAgICAgKlxuICAgICAqIEB0aHJvd3MgSWYgbm90IGFibGUgdG8gcmVhY2ggYSBXYWt1IFN0b3JlIHBlZXIgdG8gcXVlcnksXG4gICAgICogb3IgaWYgYW4gZXJyb3IgaXMgZW5jb3VudGVyZWQgd2hlbiBwcm9jZXNzaW5nIHRoZSByZXBseSxcbiAgICAgKiBvciBpZiB0d28gZGVjb2RlcnMgd2l0aCB0aGUgc2FtZSBjb250ZW50IHRvcGljIGFyZSBwYXNzZWQuXG4gICAgICovXG4gICAgYXN5bmMgcXVlcnlXaXRoUHJvbWlzZUNhbGxiYWNrKGRlY29kZXJzLCBjYWxsYmFjaywgb3B0aW9ucykge1xuICAgICAgICBsZXQgYWJvcnQgPSBmYWxzZTtcbiAgICAgICAgZm9yIGF3YWl0IChjb25zdCBwYWdlIG9mIHRoaXMucXVlcnlHZW5lcmF0b3IoZGVjb2RlcnMsIG9wdGlvbnMpKSB7XG4gICAgICAgICAgICBjb25zdCBfcHJvbWlzZXMgPSBwYWdlLm1hcChhc3luYyAobXNnUHJvbWlzZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhYm9ydClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGFib3J0ID0gQm9vbGVhbihhd2FpdCBjYWxsYmFjayhtc2dQcm9taXNlKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKF9wcm9taXNlcyk7XG4gICAgICAgICAgICBpZiAoYWJvcnQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY3JlYXRlQ3Vyc29yKG1lc3NhZ2UpIHtcbiAgICAgICAgaWYgKCFtZXNzYWdlIHx8XG4gICAgICAgICAgICAhbWVzc2FnZS50aW1lc3RhbXAgfHxcbiAgICAgICAgICAgICFtZXNzYWdlLnBheWxvYWQgfHxcbiAgICAgICAgICAgICFtZXNzYWdlLmNvbnRlbnRUb3BpYykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWVzc2FnZSBpcyBtaXNzaW5nIHJlcXVpcmVkIGZpZWxkc1wiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250ZW50VG9waWNCeXRlcyA9IHV0ZjhUb0J5dGVzKG1lc3NhZ2UuY29udGVudFRvcGljKTtcbiAgICAgICAgY29uc3QgZGlnZXN0ID0gc2hhMjU2KGNvbmNhdChbY29udGVudFRvcGljQnl0ZXMsIG1lc3NhZ2UucGF5bG9hZF0pKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZVRpbWUgPSBCaWdJbnQobWVzc2FnZS50aW1lc3RhbXAuZ2V0VGltZSgpKSAqIEJpZ0ludCgxMDAwMDAwKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRpZ2VzdCxcbiAgICAgICAgICAgIHB1YnN1YlRvcGljOiBtZXNzYWdlLnB1YnN1YlRvcGljLFxuICAgICAgICAgICAgc2VuZGVyVGltZTogbWVzc2FnZVRpbWUsXG4gICAgICAgICAgICByZWNlaXZlclRpbWU6IG1lc3NhZ2VUaW1lXG4gICAgICAgIH07XG4gICAgfVxuICAgIHZhbGlkYXRlRGVjb2RlcnNBbmRQdWJzdWJUb3BpYyhkZWNvZGVycywgb3B0aW9ucykge1xuICAgICAgICBpZiAoZGVjb2RlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBkZWNvZGVycyBwcm92aWRlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb252ZXJ0IGFycmF5IHRvIHNldCB0byByZW1vdmUgZHVwbGljYXRlc1xuICAgICAgICBjb25zdCB1bmlxdWVQdWJzdWJUb3BpY3NJblF1ZXJ5ID0gQXJyYXkuZnJvbShuZXcgU2V0KGRlY29kZXJzLm1hcCgoZGVjb2RlcikgPT4gZGVjb2Rlci5wdWJzdWJUb3BpYykpKTtcbiAgICAgICAgLy8gSWYgbXVsdGlwbGUgcHVic3ViIHRvcGljcyBhcmUgcHJvdmlkZWQsIHRocm93IGFuIGVycm9yXG4gICAgICAgIGlmICh1bmlxdWVQdWJzdWJUb3BpY3NJblF1ZXJ5Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkFQSSBkb2VzIG5vdCBzdXBwb3J0IHF1ZXJ5aW5nIG11bHRpcGxlIHB1YnN1YiB0b3BpY3MgYXQgb25jZVwiKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB3ZSBjYW4gYmUgY2VydGFpbiB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIHB1YnN1YiB0b3BpYyBpbiB0aGUgcXVlcnlcbiAgICAgICAgY29uc3QgcHVic3ViVG9waWNGb3JRdWVyeSA9IHVuaXF1ZVB1YnN1YlRvcGljc0luUXVlcnlbMF07XG4gICAgICAgIGVuc3VyZVB1YnN1YlRvcGljSXNDb25maWd1cmVkKHB1YnN1YlRvcGljRm9yUXVlcnksIHRoaXMucHJvdG9jb2wucHVic3ViVG9waWNzKTtcbiAgICAgICAgLy8gY2hlY2sgdGhhdCB0aGUgcHVic3ViVG9waWMgZnJvbSB0aGUgQ3Vyc29yIGFuZCBEZWNvZGVyIG1hdGNoXG4gICAgICAgIGlmIChvcHRpb25zPy5jdXJzb3I/LnB1YnN1YlRvcGljICYmXG4gICAgICAgICAgICBvcHRpb25zLmN1cnNvci5wdWJzdWJUb3BpYyAhPT0gcHVic3ViVG9waWNGb3JRdWVyeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDdXJzb3IgcHVic3ViIHRvcGljICgke29wdGlvbnM/LmN1cnNvcj8ucHVic3ViVG9waWN9KSBkb2VzIG5vdCBtYXRjaCBkZWNvZGVyIHB1YnN1YiB0b3BpYyAoJHtwdWJzdWJUb3BpY0ZvclF1ZXJ5fSlgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkZWNvZGVyc0FzTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICBkZWNvZGVycy5mb3JFYWNoKChkZWMpID0+IHtcbiAgICAgICAgICAgIGlmIChkZWNvZGVyc0FzTWFwLmhhcyhkZWMuY29udGVudFRvcGljKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkFQSSBkb2VzIG5vdCBzdXBwb3J0IGRpZmZlcmVudCBkZWNvZGVyIHBlciBjb250ZW50IHRvcGljXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVjb2RlcnNBc01hcC5zZXQoZGVjLmNvbnRlbnRUb3BpYywgZGVjKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRUb3BpY3MgPSBkZWNvZGVyc1xuICAgICAgICAgICAgLmZpbHRlcigoZGVjb2RlcikgPT4gZGVjb2Rlci5wdWJzdWJUb3BpYyA9PT0gcHVic3ViVG9waWNGb3JRdWVyeSlcbiAgICAgICAgICAgIC5tYXAoKGRlYykgPT4gZGVjLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgIGlmIChjb250ZW50VG9waWNzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gZGVjb2RlcnMgZm91bmQgZm9yIHRvcGljIFwiICsgcHVic3ViVG9waWNGb3JRdWVyeSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHB1YnN1YlRvcGljOiBwdWJzdWJUb3BpY0ZvclF1ZXJ5LFxuICAgICAgICAgICAgY29udGVudFRvcGljcyxcbiAgICAgICAgICAgIGRlY29kZXJzQXNNYXBcbiAgICAgICAgfTtcbiAgICB9XG4gICAgY29uc3RydWN0T3B0aW9ucyhwdWJzdWJUb3BpYywgY29udGVudFRvcGljcywgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGxldCBzdGFydFRpbWUsIGVuZFRpbWU7XG4gICAgICAgIGlmIChvcHRpb25zPy50aW1lRmlsdGVyKSB7XG4gICAgICAgICAgICBzdGFydFRpbWUgPSBvcHRpb25zLnRpbWVGaWx0ZXIuc3RhcnRUaW1lO1xuICAgICAgICAgICAgZW5kVGltZSA9IG9wdGlvbnMudGltZUZpbHRlci5lbmRUaW1lO1xuICAgICAgICB9XG4gICAgICAgIGlmICghc3RhcnRUaW1lKSB7XG4gICAgICAgICAgICBsb2cud2FybihcIk5vIHN0YXJ0IHRpbWUgcHJvdmlkZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFlbmRUaW1lKSB7XG4gICAgICAgICAgICBsb2cud2FybihcIk5vIGVuZCB0aW1lIHByb3ZpZGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHF1ZXJ5T3B0cyA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgcHVic3ViVG9waWM6IHB1YnN1YlRvcGljLFxuICAgICAgICAgICAgcGFnZURpcmVjdGlvbjogUGFnZURpcmVjdGlvbi5CQUNLV0FSRCxcbiAgICAgICAgICAgIHBhZ2VTaXplOiBEZWZhdWx0UGFnZVNpemVcbiAgICAgICAgfSwgb3B0aW9ucywgeyBjb250ZW50VG9waWNzLCBzdGFydFRpbWUsIGVuZFRpbWUgfSk7XG4gICAgICAgIHJldHVybiBxdWVyeU9wdHM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBtZXNzYWdlcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY2FsbGJhY2sgYW5kIG9wdGlvbnMuXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBhc3luYyBwcm9jZXNzTWVzc2FnZXMobWVzc2FnZXMsIGNhbGxiYWNrLCBvcHRpb25zKSB7XG4gICAgICAgIGxldCBhYm9ydCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBtZXNzYWdlc09yVW5kZWYgPSBhd2FpdCBQcm9taXNlLmFsbChtZXNzYWdlcyk7XG4gICAgICAgIGxldCBwcm9jZXNzZWRNZXNzYWdlcyA9IG1lc3NhZ2VzT3JVbmRlZi5maWx0ZXIoaXNEZWZpbmVkKTtcbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkUmV2ZXJzZU9yZGVyKG9wdGlvbnMpKSB7XG4gICAgICAgICAgICBwcm9jZXNzZWRNZXNzYWdlcyA9IHByb2Nlc3NlZE1lc3NhZ2VzLnJldmVyc2UoKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9jZXNzZWRNZXNzYWdlcy5tYXAoYXN5bmMgKG1zZykgPT4ge1xuICAgICAgICAgICAgaWYgKG1zZyAmJiAhYWJvcnQpIHtcbiAgICAgICAgICAgICAgICBhYm9ydCA9IEJvb2xlYW4oYXdhaXQgY2FsbGJhY2sobXNnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICAgICAgcmV0dXJuIGFib3J0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gcmV2ZXJzZSB0aGUgb3JkZXIgb2YgbWVzc2FnZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIG9wdGlvbnMuXG4gICAgICpcbiAgICAgKiBNZXNzYWdlcyBpbiBwYWdlcyBhcmUgb3JkZXJlZCBmcm9tIG9sZGVzdCAoZmlyc3QpIHRvIG1vc3QgcmVjZW50IChsYXN0KS5cbiAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vdmFjcDJwL3JmYy9pc3N1ZXMvNTMzXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHNob3VsZFJldmVyc2VPcmRlcihvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiAodHlwZW9mIG9wdGlvbnM/LnBhZ2VEaXJlY3Rpb24gPT09IFwidW5kZWZpbmVkXCIgfHxcbiAgICAgICAgICAgIG9wdGlvbnM/LnBhZ2VEaXJlY3Rpb24gPT09IFBhZ2VEaXJlY3Rpb24uQkFDS1dBUkQpO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiB3YWt1U3RvcmUoaW5pdCA9IHt9KSB7XG4gICAgcmV0dXJuIChsaWJwMnApID0+IG5ldyBTdG9yZVNESyhsaWJwMnAsIGluaXQpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RvcmUuanMubWFwIl0sIm5hbWVzIjpbInNoYTI1NiIsIlN0b3JlQ29yZSIsIlBhZ2VEaXJlY3Rpb24iLCJlbnN1cmVQdWJzdWJUb3BpY0lzQ29uZmlndXJlZCIsImlzRGVmaW5lZCIsIkxvZ2dlciIsImNvbmNhdCIsInV0ZjhUb0J5dGVzIiwiQmFzZVByb3RvY29sU0RLIiwiRGVmYXVsdFBhZ2VTaXplIiwiREVGQVVMVF9OVU1fUEVFUlMiLCJsb2ciLCJTdG9yZVNESyIsImNvbnN0cnVjdG9yIiwibGlicDJwIiwib3B0aW9ucyIsIm51bVBlZXJzVG9Vc2UiLCJwcm90b2NvbCIsInF1ZXJ5R2VuZXJhdG9yIiwiZGVjb2RlcnMiLCJwdWJzdWJUb3BpYyIsImNvbnRlbnRUb3BpY3MiLCJkZWNvZGVyc0FzTWFwIiwidmFsaWRhdGVEZWNvZGVyc0FuZFB1YnN1YlRvcGljIiwicXVlcnlPcHRzIiwiY29uc3RydWN0T3B0aW9ucyIsInBlZXIiLCJnZXRQZWVycyIsIm51bVBlZXJzIiwibWF4Qm9vdHN0cmFwUGVlcnMiLCJFcnJvciIsInJlc3BvbnNlR2VuZXJhdG9yIiwicXVlcnlQZXJQYWdlIiwibWVzc2FnZXMiLCJxdWVyeVdpdGhPcmRlcmVkQ2FsbGJhY2siLCJjYWxsYmFjayIsInByb21pc2VzIiwicHJvY2Vzc01lc3NhZ2VzIiwicXVlcnlXaXRoUHJvbWlzZUNhbGxiYWNrIiwiYWJvcnQiLCJwYWdlIiwiX3Byb21pc2VzIiwibWFwIiwibXNnUHJvbWlzZSIsIkJvb2xlYW4iLCJQcm9taXNlIiwiYWxsIiwiY3JlYXRlQ3Vyc29yIiwibWVzc2FnZSIsInRpbWVzdGFtcCIsInBheWxvYWQiLCJjb250ZW50VG9waWMiLCJjb250ZW50VG9waWNCeXRlcyIsImRpZ2VzdCIsIm1lc3NhZ2VUaW1lIiwiQmlnSW50IiwiZ2V0VGltZSIsInNlbmRlclRpbWUiLCJyZWNlaXZlclRpbWUiLCJsZW5ndGgiLCJ1bmlxdWVQdWJzdWJUb3BpY3NJblF1ZXJ5IiwiQXJyYXkiLCJmcm9tIiwiU2V0IiwiZGVjb2RlciIsInB1YnN1YlRvcGljRm9yUXVlcnkiLCJwdWJzdWJUb3BpY3MiLCJjdXJzb3IiLCJNYXAiLCJmb3JFYWNoIiwiZGVjIiwiaGFzIiwic2V0IiwiZmlsdGVyIiwic3RhcnRUaW1lIiwiZW5kVGltZSIsInRpbWVGaWx0ZXIiLCJ3YXJuIiwiT2JqZWN0IiwiYXNzaWduIiwicGFnZURpcmVjdGlvbiIsIkJBQ0tXQVJEIiwicGFnZVNpemUiLCJtZXNzYWdlc09yVW5kZWYiLCJwcm9jZXNzZWRNZXNzYWdlcyIsInNob3VsZFJldmVyc2VPcmRlciIsInJldmVyc2UiLCJtc2ciLCJ3YWt1U3RvcmUiLCJpbml0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/dist/protocols/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/dist/utils/content_topic.js":
/*!************************************************************!*\
!*** ./node_modules/@waku/sdk/dist/utils/content_topic.js ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ streamContentTopic: () => (/* binding */ streamContentTopic),\n/* harmony export */ subscribeToContentTopic: () => (/* binding */ subscribeToContentTopic)\n/* harmony export */ });\n/* harmony import */ var _waku_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/core */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/index.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _light_node_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../light-node/index.js */ \"(ssr)/./node_modules/@waku/sdk/dist/light-node/index.js\");\n\n\n\n\n// Given a Waku node, peer Multiaddr, and content topic, creates a decoder and\n// subscription for that content topic.\nasync function prepareSubscription(waku, contentTopic, peer) {\n // Validate that the Waku node matches assumptions\n if (!waku.filter) {\n throw new Error(\"Filter protocol missing from Waku node\");\n }\n const { shardInfo } = waku.libp2p.components.metadata;\n if (!shardInfo) {\n throw new Error(\"Shard info missing from Waku node.\");\n }\n // Validate content topic and ensure node is configured for its corresponding pubsub topic\n const pubsubTopics = (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.shardInfoToPubsubTopics)(shardInfo);\n const pubsubTopic = (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.contentTopicToPubsubTopic)(contentTopic);\n if (!pubsubTopics.includes(pubsubTopic)) throw new Error(\"Content topic does not match any pubsub topic in shard info.\");\n await waku.dial(peer);\n await (0,_waku_core__WEBPACK_IMPORTED_MODULE_0__.waitForRemotePeer)(waku, [\n _waku_interfaces__WEBPACK_IMPORTED_MODULE_1__.Protocols.Filter\n ]);\n // Create decoder and subscription\n let decoder = (0,_waku_core__WEBPACK_IMPORTED_MODULE_0__.createDecoder)(contentTopic, pubsubTopic);\n if (decoder) decoder = decoder ?? decoder;\n const subscription = await waku.filter.createSubscription(pubsubTopic);\n return {\n decoder,\n subscription\n };\n}\n/**\n * Creates a subscription and streams all new messages for a content topic.\n * Will create a light node configured for the content topic with default settings if a node is not provided in `opts`.\n * Assumes node is using autosharding.\n * @param contentTopic\n * @param opts\n */ async function streamContentTopic(contentTopic, opts) {\n opts.waku = opts.waku ?? await (0,_light_node_index_js__WEBPACK_IMPORTED_MODULE_3__.createLightNode)({\n shardInfo: {\n contentTopics: [\n contentTopic\n ]\n }\n });\n const { decoder, subscription } = await prepareSubscription(opts.waku, contentTopic, opts.peer);\n // Create a ReadableStream that receives any messages for the content topic\n const messageStream = new ReadableStream({\n async start (controller) {\n await subscription.subscribe(decoder, (message)=>{\n controller.enqueue(message);\n });\n },\n cancel () {\n return subscription.unsubscribe([\n contentTopic\n ]);\n }\n });\n return [\n messageStream,\n opts.waku\n ];\n}\n/**\n * Subscribes to new messages for a content topic via callback function.\n * Will create a light node configured for the content topic with default settings if a node is not provided in `opts`.\n * Assumes node is using autosharding.\n * @param contentTopic\n * @param callback Called every time a new message is received on the content topic\n * @param opts\n */ async function subscribeToContentTopic(contentTopic, callback, opts) {\n opts.waku = opts.waku ?? await (0,_light_node_index_js__WEBPACK_IMPORTED_MODULE_3__.createLightNode)({\n shardInfo: {\n contentTopics: [\n contentTopic\n ]\n }\n });\n const { decoder, subscription } = await prepareSubscription(opts.waku, contentTopic, opts.peer);\n await subscription.subscribe(decoder, callback);\n return {\n subscription,\n waku: opts.waku\n };\n} //# sourceMappingURL=content_topic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvdXRpbHMvY29udGVudF90b3BpYy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBOEQ7QUFDakI7QUFDb0M7QUFDeEI7QUFDekQsOEVBQThFO0FBQzlFLHVDQUF1QztBQUN2QyxlQUFlTSxvQkFBb0JDLElBQUksRUFBRUMsWUFBWSxFQUFFQyxJQUFJO0lBQ3ZELGtEQUFrRDtJQUNsRCxJQUFJLENBQUNGLEtBQUtHLE1BQU0sRUFBRTtRQUNkLE1BQU0sSUFBSUMsTUFBTTtJQUNwQjtJQUNBLE1BQU0sRUFBRUMsU0FBUyxFQUFFLEdBQUdMLEtBQUtNLE1BQU0sQ0FBQ0MsVUFBVSxDQUFDQyxRQUFRO0lBQ3JELElBQUksQ0FBQ0gsV0FBVztRQUNaLE1BQU0sSUFBSUQsTUFBTTtJQUNwQjtJQUNBLDBGQUEwRjtJQUMxRixNQUFNSyxlQUFlWixvRUFBdUJBLENBQUNRO0lBQzdDLE1BQU1LLGNBQWNkLHNFQUF5QkEsQ0FBQ0s7SUFDOUMsSUFBSSxDQUFDUSxhQUFhRSxRQUFRLENBQUNELGNBQ3ZCLE1BQU0sSUFBSU4sTUFBTTtJQUNwQixNQUFNSixLQUFLWSxJQUFJLENBQUNWO0lBQ2hCLE1BQU1SLDZEQUFpQkEsQ0FBQ00sTUFBTTtRQUFDTCx1REFBU0EsQ0FBQ2tCLE1BQU07S0FBQztJQUNoRCxrQ0FBa0M7SUFDbEMsSUFBSUMsVUFBVXJCLHlEQUFhQSxDQUFDUSxjQUFjUztJQUMxQyxJQUFJSSxTQUNBQSxVQUFVQSxXQUFXQTtJQUN6QixNQUFNQyxlQUFlLE1BQU1mLEtBQUtHLE1BQU0sQ0FBQ2Esa0JBQWtCLENBQUNOO0lBQzFELE9BQU87UUFBRUk7UUFBU0M7SUFBYTtBQUNuQztBQUNBOzs7Ozs7Q0FNQyxHQUNNLGVBQWVFLG1CQUFtQmhCLFlBQVksRUFBRWlCLElBQUk7SUFDdkRBLEtBQUtsQixJQUFJLEdBQ0xrQixLQUFLbEIsSUFBSSxJQUNKLE1BQU1GLHFFQUFlQSxDQUFDO1FBQ25CTyxXQUFXO1lBQUVjLGVBQWU7Z0JBQUNsQjthQUFhO1FBQUM7SUFDL0M7SUFDUixNQUFNLEVBQUVhLE9BQU8sRUFBRUMsWUFBWSxFQUFFLEdBQUcsTUFBTWhCLG9CQUFvQm1CLEtBQUtsQixJQUFJLEVBQUVDLGNBQWNpQixLQUFLaEIsSUFBSTtJQUM5RiwyRUFBMkU7SUFDM0UsTUFBTWtCLGdCQUFnQixJQUFJQyxlQUFlO1FBQ3JDLE1BQU1DLE9BQU1DLFVBQVU7WUFDbEIsTUFBTVIsYUFBYVMsU0FBUyxDQUFDVixTQUFTLENBQUNXO2dCQUNuQ0YsV0FBV0csT0FBTyxDQUFDRDtZQUN2QjtRQUNKO1FBQ0FFO1lBQ0ksT0FBT1osYUFBYWEsV0FBVyxDQUFDO2dCQUFDM0I7YUFBYTtRQUNsRDtJQUNKO0lBQ0EsT0FBTztRQUFDbUI7UUFBZUYsS0FBS2xCLElBQUk7S0FBQztBQUNyQztBQUNBOzs7Ozs7O0NBT0MsR0FDTSxlQUFlNkIsd0JBQXdCNUIsWUFBWSxFQUFFNkIsUUFBUSxFQUFFWixJQUFJO0lBQ3RFQSxLQUFLbEIsSUFBSSxHQUNMa0IsS0FBS2xCLElBQUksSUFDSixNQUFNRixxRUFBZUEsQ0FBQztRQUNuQk8sV0FBVztZQUFFYyxlQUFlO2dCQUFDbEI7YUFBYTtRQUFDO0lBQy9DO0lBQ1IsTUFBTSxFQUFFYSxPQUFPLEVBQUVDLFlBQVksRUFBRSxHQUFHLE1BQU1oQixvQkFBb0JtQixLQUFLbEIsSUFBSSxFQUFFQyxjQUFjaUIsS0FBS2hCLElBQUk7SUFDOUYsTUFBTWEsYUFBYVMsU0FBUyxDQUFDVixTQUFTZ0I7SUFDdEMsT0FBTztRQUFFZjtRQUFjZixNQUFNa0IsS0FBS2xCLElBQUk7SUFBQztBQUMzQyxFQUNBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9kaXN0L3V0aWxzL2NvbnRlbnRfdG9waWMuanM/NDU3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVEZWNvZGVyLCB3YWl0Rm9yUmVtb3RlUGVlciB9IGZyb20gXCJAd2FrdS9jb3JlXCI7XG5pbXBvcnQgeyBQcm90b2NvbHMgfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgY29udGVudFRvcGljVG9QdWJzdWJUb3BpYywgc2hhcmRJbmZvVG9QdWJzdWJUb3BpY3MgfSBmcm9tIFwiQHdha3UvdXRpbHNcIjtcbmltcG9ydCB7IGNyZWF0ZUxpZ2h0Tm9kZSB9IGZyb20gXCIuLi9saWdodC1ub2RlL2luZGV4LmpzXCI7XG4vLyBHaXZlbiBhIFdha3Ugbm9kZSwgcGVlciBNdWx0aWFkZHIsIGFuZCBjb250ZW50IHRvcGljLCBjcmVhdGVzIGEgZGVjb2RlciBhbmRcbi8vIHN1YnNjcmlwdGlvbiBmb3IgdGhhdCBjb250ZW50IHRvcGljLlxuYXN5bmMgZnVuY3Rpb24gcHJlcGFyZVN1YnNjcmlwdGlvbih3YWt1LCBjb250ZW50VG9waWMsIHBlZXIpIHtcbiAgICAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBXYWt1IG5vZGUgbWF0Y2hlcyBhc3N1bXB0aW9uc1xuICAgIGlmICghd2FrdS5maWx0ZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmlsdGVyIHByb3RvY29sIG1pc3NpbmcgZnJvbSBXYWt1IG5vZGVcIik7XG4gICAgfVxuICAgIGNvbnN0IHsgc2hhcmRJbmZvIH0gPSB3YWt1LmxpYnAycC5jb21wb25lbnRzLm1ldGFkYXRhO1xuICAgIGlmICghc2hhcmRJbmZvKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlNoYXJkIGluZm8gbWlzc2luZyBmcm9tIFdha3Ugbm9kZS5cIik7XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIGNvbnRlbnQgdG9waWMgYW5kIGVuc3VyZSBub2RlIGlzIGNvbmZpZ3VyZWQgZm9yIGl0cyBjb3JyZXNwb25kaW5nIHB1YnN1YiB0b3BpY1xuICAgIGNvbnN0IHB1YnN1YlRvcGljcyA9IHNoYXJkSW5mb1RvUHVic3ViVG9waWNzKHNoYXJkSW5mbyk7XG4gICAgY29uc3QgcHVic3ViVG9waWMgPSBjb250ZW50VG9waWNUb1B1YnN1YlRvcGljKGNvbnRlbnRUb3BpYyk7XG4gICAgaWYgKCFwdWJzdWJUb3BpY3MuaW5jbHVkZXMocHVic3ViVG9waWMpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb250ZW50IHRvcGljIGRvZXMgbm90IG1hdGNoIGFueSBwdWJzdWIgdG9waWMgaW4gc2hhcmQgaW5mby5cIik7XG4gICAgYXdhaXQgd2FrdS5kaWFsKHBlZXIpO1xuICAgIGF3YWl0IHdhaXRGb3JSZW1vdGVQZWVyKHdha3UsIFtQcm90b2NvbHMuRmlsdGVyXSk7XG4gICAgLy8gQ3JlYXRlIGRlY29kZXIgYW5kIHN1YnNjcmlwdGlvblxuICAgIGxldCBkZWNvZGVyID0gY3JlYXRlRGVjb2Rlcihjb250ZW50VG9waWMsIHB1YnN1YlRvcGljKTtcbiAgICBpZiAoZGVjb2RlcilcbiAgICAgICAgZGVjb2RlciA9IGRlY29kZXIgPz8gZGVjb2RlcjtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBhd2FpdCB3YWt1LmZpbHRlci5jcmVhdGVTdWJzY3JpcHRpb24ocHVic3ViVG9waWMpO1xuICAgIHJldHVybiB7IGRlY29kZXIsIHN1YnNjcmlwdGlvbiB9O1xufVxuLyoqXG4gKiBDcmVhdGVzIGEgc3Vic2NyaXB0aW9uIGFuZCBzdHJlYW1zIGFsbCBuZXcgbWVzc2FnZXMgZm9yIGEgY29udGVudCB0b3BpYy5cbiAqIFdpbGwgY3JlYXRlIGEgbGlnaHQgbm9kZSBjb25maWd1cmVkIGZvciB0aGUgY29udGVudCB0b3BpYyB3aXRoIGRlZmF1bHQgc2V0dGluZ3MgaWYgYSBub2RlIGlzIG5vdCBwcm92aWRlZCBpbiBgb3B0c2AuXG4gKiBBc3N1bWVzIG5vZGUgaXMgdXNpbmcgYXV0b3NoYXJkaW5nLlxuICogQHBhcmFtIGNvbnRlbnRUb3BpY1xuICogQHBhcmFtIG9wdHNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN0cmVhbUNvbnRlbnRUb3BpYyhjb250ZW50VG9waWMsIG9wdHMpIHtcbiAgICBvcHRzLndha3UgPVxuICAgICAgICBvcHRzLndha3UgPz9cbiAgICAgICAgICAgIChhd2FpdCBjcmVhdGVMaWdodE5vZGUoe1xuICAgICAgICAgICAgICAgIHNoYXJkSW5mbzogeyBjb250ZW50VG9waWNzOiBbY29udGVudFRvcGljXSB9XG4gICAgICAgICAgICB9KSk7XG4gICAgY29uc3QgeyBkZWNvZGVyLCBzdWJzY3JpcHRpb24gfSA9IGF3YWl0IHByZXBhcmVTdWJzY3JpcHRpb24ob3B0cy53YWt1LCBjb250ZW50VG9waWMsIG9wdHMucGVlcik7XG4gICAgLy8gQ3JlYXRlIGEgUmVhZGFibGVTdHJlYW0gdGhhdCByZWNlaXZlcyBhbnkgbWVzc2FnZXMgZm9yIHRoZSBjb250ZW50IHRvcGljXG4gICAgY29uc3QgbWVzc2FnZVN0cmVhbSA9IG5ldyBSZWFkYWJsZVN0cmVhbSh7XG4gICAgICAgIGFzeW5jIHN0YXJ0KGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgIGF3YWl0IHN1YnNjcmlwdGlvbi5zdWJzY3JpYmUoZGVjb2RlciwgKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUobWVzc2FnZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgY2FuY2VsKCkge1xuICAgICAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZShbY29udGVudFRvcGljXSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gW21lc3NhZ2VTdHJlYW0sIG9wdHMud2FrdV07XG59XG4vKipcbiAqIFN1YnNjcmliZXMgdG8gbmV3IG1lc3NhZ2VzIGZvciBhIGNvbnRlbnQgdG9waWMgdmlhIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICogV2lsbCBjcmVhdGUgYSBsaWdodCBub2RlIGNvbmZpZ3VyZWQgZm9yIHRoZSBjb250ZW50IHRvcGljIHdpdGggZGVmYXVsdCBzZXR0aW5ncyBpZiBhIG5vZGUgaXMgbm90IHByb3ZpZGVkIGluIGBvcHRzYC5cbiAqIEFzc3VtZXMgbm9kZSBpcyB1c2luZyBhdXRvc2hhcmRpbmcuXG4gKiBAcGFyYW0gY29udGVudFRvcGljXG4gKiBAcGFyYW0gY2FsbGJhY2sgQ2FsbGVkIGV2ZXJ5IHRpbWUgYSBuZXcgbWVzc2FnZSBpcyByZWNlaXZlZCBvbiB0aGUgY29udGVudCB0b3BpY1xuICogQHBhcmFtIG9wdHNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN1YnNjcmliZVRvQ29udGVudFRvcGljKGNvbnRlbnRUb3BpYywgY2FsbGJhY2ssIG9wdHMpIHtcbiAgICBvcHRzLndha3UgPVxuICAgICAgICBvcHRzLndha3UgPz9cbiAgICAgICAgICAgIChhd2FpdCBjcmVhdGVMaWdodE5vZGUoe1xuICAgICAgICAgICAgICAgIHNoYXJkSW5mbzogeyBjb250ZW50VG9waWNzOiBbY29udGVudFRvcGljXSB9XG4gICAgICAgICAgICB9KSk7XG4gICAgY29uc3QgeyBkZWNvZGVyLCBzdWJzY3JpcHRpb24gfSA9IGF3YWl0IHByZXBhcmVTdWJzY3JpcHRpb24ob3B0cy53YWt1LCBjb250ZW50VG9waWMsIG9wdHMucGVlcik7XG4gICAgYXdhaXQgc3Vic2NyaXB0aW9uLnN1YnNjcmliZShkZWNvZGVyLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHsgc3Vic2NyaXB0aW9uLCB3YWt1OiBvcHRzLndha3UgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnRlbnRfdG9waWMuanMubWFwIl0sIm5hbWVzIjpbImNyZWF0ZURlY29kZXIiLCJ3YWl0Rm9yUmVtb3RlUGVlciIsIlByb3RvY29scyIsImNvbnRlbnRUb3BpY1RvUHVic3ViVG9waWMiLCJzaGFyZEluZm9Ub1B1YnN1YlRvcGljcyIsImNyZWF0ZUxpZ2h0Tm9kZSIsInByZXBhcmVTdWJzY3JpcHRpb24iLCJ3YWt1IiwiY29udGVudFRvcGljIiwicGVlciIsImZpbHRlciIsIkVycm9yIiwic2hhcmRJbmZvIiwibGlicDJwIiwiY29tcG9uZW50cyIsIm1ldGFkYXRhIiwicHVic3ViVG9waWNzIiwicHVic3ViVG9waWMiLCJpbmNsdWRlcyIsImRpYWwiLCJGaWx0ZXIiLCJkZWNvZGVyIiwic3Vic2NyaXB0aW9uIiwiY3JlYXRlU3Vic2NyaXB0aW9uIiwic3RyZWFtQ29udGVudFRvcGljIiwib3B0cyIsImNvbnRlbnRUb3BpY3MiLCJtZXNzYWdlU3RyZWFtIiwiUmVhZGFibGVTdHJlYW0iLCJzdGFydCIsImNvbnRyb2xsZXIiLCJzdWJzY3JpYmUiLCJtZXNzYWdlIiwiZW5xdWV1ZSIsImNhbmNlbCIsInVuc3Vic2NyaWJlIiwic3Vic2NyaWJlVG9Db250ZW50VG9waWMiLCJjYWxsYmFjayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/dist/utils/content_topic.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/dist/utils/discovery.js":
/*!********************************************************!*\
!*** ./node_modules/@waku/sdk/dist/utils/discovery.js ***!
\********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultPeerDiscoveries: () => (/* binding */ defaultPeerDiscoveries)\n/* harmony export */ });\n/* harmony import */ var _waku_discovery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/discovery */ \"(ssr)/./node_modules/@waku/discovery/dist/index.js\");\n\nconst DEFAULT_NODE_REQUIREMENTS = {\n lightPush: 1,\n filter: 1,\n store: 1\n};\nfunction defaultPeerDiscoveries(pubsubTopics) {\n const discoveries = [\n (0,_waku_discovery__WEBPACK_IMPORTED_MODULE_0__.wakuDnsDiscovery)([\n _waku_discovery__WEBPACK_IMPORTED_MODULE_0__.enrTree[\"SANDBOX\"]\n ], DEFAULT_NODE_REQUIREMENTS),\n (0,_waku_discovery__WEBPACK_IMPORTED_MODULE_0__.wakuLocalPeerCacheDiscovery)(),\n (0,_waku_discovery__WEBPACK_IMPORTED_MODULE_0__.wakuPeerExchangeDiscovery)(pubsubTopics)\n ];\n return discoveries;\n} //# sourceMappingURL=discovery.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvdXRpbHMvZGlzY292ZXJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQW9IO0FBQ3BILE1BQU1JLDRCQUE0QjtJQUM5QkMsV0FBVztJQUNYQyxRQUFRO0lBQ1JDLE9BQU87QUFDWDtBQUNPLFNBQVNDLHVCQUF1QkMsWUFBWTtJQUMvQyxNQUFNQyxjQUFjO1FBQ2hCVCxpRUFBZ0JBLENBQUM7WUFBQ0Qsb0RBQU8sQ0FBQyxVQUFVO1NBQUMsRUFBRUk7UUFDdkNGLDRFQUEyQkE7UUFDM0JDLDBFQUF5QkEsQ0FBQ007S0FDN0I7SUFDRCxPQUFPQztBQUNYLEVBQ0EscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvdXRpbHMvZGlzY292ZXJ5LmpzPzg5NDgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5yVHJlZSwgd2FrdURuc0Rpc2NvdmVyeSwgd2FrdUxvY2FsUGVlckNhY2hlRGlzY292ZXJ5LCB3YWt1UGVlckV4Y2hhbmdlRGlzY292ZXJ5IH0gZnJvbSBcIkB3YWt1L2Rpc2NvdmVyeVwiO1xuY29uc3QgREVGQVVMVF9OT0RFX1JFUVVJUkVNRU5UUyA9IHtcbiAgICBsaWdodFB1c2g6IDEsXG4gICAgZmlsdGVyOiAxLFxuICAgIHN0b3JlOiAxXG59O1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRQZWVyRGlzY292ZXJpZXMocHVic3ViVG9waWNzKSB7XG4gICAgY29uc3QgZGlzY292ZXJpZXMgPSBbXG4gICAgICAgIHdha3VEbnNEaXNjb3ZlcnkoW2VuclRyZWVbXCJTQU5EQk9YXCJdXSwgREVGQVVMVF9OT0RFX1JFUVVJUkVNRU5UUyksXG4gICAgICAgIHdha3VMb2NhbFBlZXJDYWNoZURpc2NvdmVyeSgpLFxuICAgICAgICB3YWt1UGVlckV4Y2hhbmdlRGlzY292ZXJ5KHB1YnN1YlRvcGljcylcbiAgICBdO1xuICAgIHJldHVybiBkaXNjb3Zlcmllcztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRpc2NvdmVyeS5qcy5tYXAiXSwibmFtZXMiOlsiZW5yVHJlZSIsIndha3VEbnNEaXNjb3ZlcnkiLCJ3YWt1TG9jYWxQZWVyQ2FjaGVEaXNjb3ZlcnkiLCJ3YWt1UGVlckV4Y2hhbmdlRGlzY292ZXJ5IiwiREVGQVVMVF9OT0RFX1JFUVVJUkVNRU5UUyIsImxpZ2h0UHVzaCIsImZpbHRlciIsInN0b3JlIiwiZGVmYXVsdFBlZXJEaXNjb3ZlcmllcyIsInB1YnN1YlRvcGljcyIsImRpc2NvdmVyaWVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/dist/utils/discovery.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/dist/utils/libp2p.js":
/*!*****************************************************!*\
!*** ./node_modules/@waku/sdk/dist/utils/libp2p.js ***!
\*****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createLibp2pAndUpdateOptions: () => (/* binding */ createLibp2pAndUpdateOptions),\n/* harmony export */ defaultLibp2p: () => (/* binding */ defaultLibp2p)\n/* harmony export */ });\n/* harmony import */ var _chainsafe_libp2p_noise__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @chainsafe/libp2p-noise */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/index.js\");\n/* harmony import */ var _libp2p_bootstrap__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @libp2p/bootstrap */ \"(ssr)/./node_modules/@libp2p/bootstrap/dist/src/index.js\");\n/* harmony import */ var _libp2p_identify__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @libp2p/identify */ \"(ssr)/./node_modules/@libp2p/identify/dist/src/index.js\");\n/* harmony import */ var _libp2p_mplex__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @libp2p/mplex */ \"(ssr)/./node_modules/@libp2p/mplex/dist/src/index.js\");\n/* harmony import */ var _libp2p_ping__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @libp2p/ping */ \"(ssr)/./node_modules/@libp2p/ping/dist/src/index.js\");\n/* harmony import */ var _libp2p_websockets__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @libp2p/websockets */ \"(ssr)/./node_modules/@libp2p/websockets/dist/src/index.js\");\n/* harmony import */ var _libp2p_websockets_filters__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @libp2p/websockets/filters */ \"(ssr)/./node_modules/@libp2p/websockets/dist/src/filters.js\");\n/* harmony import */ var _waku_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/core */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/index.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_relay__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @waku/relay */ \"(ssr)/./node_modules/@waku/relay/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var libp2p__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! libp2p */ \"(ssr)/./node_modules/libp2p/dist/src/index.js\");\n/* harmony import */ var _waku_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../waku.js */ \"(ssr)/./node_modules/@waku/sdk/dist/waku.js\");\n/* harmony import */ var _discovery_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./discovery.js */ \"(ssr)/./node_modules/@waku/sdk/dist/utils/discovery.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nasync function defaultLibp2p(shardInfo, wakuGossipSub, options, userAgent) {\n if (!options?.hideWebSocketInfo && \"development\" !== \"test\") {\n /* eslint-disable no-console */ console.info(\"%cIgnore WebSocket connection failures\", \"background: gray; color: white; font-size: x-large\");\n console.info(\"%cWaku tries to discover peers and some of them are expected to fail\", \"background: gray; color: white; font-size: x-large\");\n /* eslint-enable no-console */ }\n const pubsubService = wakuGossipSub ? {\n pubsub: wakuGossipSub\n } : {};\n const metadataService = shardInfo ? {\n metadata: (0,_waku_core__WEBPACK_IMPORTED_MODULE_1__.wakuMetadata)(shardInfo)\n } : {};\n return (0,libp2p__WEBPACK_IMPORTED_MODULE_7__.createLibp2p)({\n connectionManager: {\n minConnections: 1\n },\n transports: [\n (0,_libp2p_websockets__WEBPACK_IMPORTED_MODULE_8__.webSockets)({\n filter: _libp2p_websockets_filters__WEBPACK_IMPORTED_MODULE_9__.all\n })\n ],\n streamMuxers: [\n (0,_libp2p_mplex__WEBPACK_IMPORTED_MODULE_10__.mplex)()\n ],\n connectionEncryption: [\n (0,_chainsafe_libp2p_noise__WEBPACK_IMPORTED_MODULE_0__.noise)()\n ],\n ...options,\n services: {\n identify: (0,_libp2p_identify__WEBPACK_IMPORTED_MODULE_11__.identify)({\n agentVersion: userAgent ?? _waku_js__WEBPACK_IMPORTED_MODULE_5__.DefaultUserAgent\n }),\n ping: (0,_libp2p_ping__WEBPACK_IMPORTED_MODULE_12__.ping)(),\n ...metadataService,\n ...pubsubService,\n ...options?.services\n }\n }); // TODO: make libp2p include it;\n}\nasync function createLibp2pAndUpdateOptions(options) {\n const shardInfo = options.shardInfo ? (0,_waku_utils__WEBPACK_IMPORTED_MODULE_4__.ensureShardingConfigured)(options.shardInfo) : undefined;\n options.pubsubTopics = shardInfo?.pubsubTopics ?? options.pubsubTopics ?? [\n _waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.DefaultPubsubTopic\n ];\n const libp2pOptions = options?.libp2p ?? {};\n const peerDiscovery = libp2pOptions.peerDiscovery ?? [];\n if (options?.defaultBootstrap) {\n peerDiscovery.push(...(0,_discovery_js__WEBPACK_IMPORTED_MODULE_6__.defaultPeerDiscoveries)(options.pubsubTopics));\n }\n if (options?.bootstrapPeers) {\n peerDiscovery.push((0,_libp2p_bootstrap__WEBPACK_IMPORTED_MODULE_13__.bootstrap)({\n list: options.bootstrapPeers\n }));\n }\n libp2pOptions.peerDiscovery = peerDiscovery;\n const libp2p = await defaultLibp2p(shardInfo?.shardInfo, (0,_waku_relay__WEBPACK_IMPORTED_MODULE_3__.wakuGossipSub)(options), libp2pOptions, options?.userAgent);\n return libp2p;\n} //# sourceMappingURL=libp2p.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvdXRpbHMvbGlicDJwLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBZ0Q7QUFDRjtBQUNGO0FBQ047QUFDRjtBQUNZO0FBQ2M7QUFDcEI7QUFDWTtBQUNWO0FBQ1c7QUFDakI7QUFDUTtBQUNVO0FBQ2pELGVBQWVlLGNBQWNDLFNBQVMsRUFBRU4sYUFBYSxFQUFFTyxPQUFPLEVBQUVDLFNBQVM7SUFDNUUsSUFBSSxDQUFDRCxTQUFTRSxxQkFBcUJDLGFBQXNCRSxLQUFLLFFBQVE7UUFDbEUsNkJBQTZCLEdBQzdCQyxRQUFRQyxJQUFJLENBQUMsMENBQTBDO1FBQ3ZERCxRQUFRQyxJQUFJLENBQUMsd0VBQXdFO0lBQ3JGLDRCQUE0QixHQUNoQztJQUNBLE1BQU1DLGdCQUFnQmYsZ0JBQ2hCO1FBQUVnQixRQUFRaEI7SUFBYyxJQUN4QixDQUFDO0lBQ1AsTUFBTWlCLGtCQUFrQlgsWUFDbEI7UUFBRVksVUFBVXBCLHdEQUFZQSxDQUFDUTtJQUFXLElBQ3BDLENBQUM7SUFDUCxPQUFPSixvREFBWUEsQ0FBQztRQUNoQmlCLG1CQUFtQjtZQUNmQyxnQkFBZ0I7UUFDcEI7UUFDQUMsWUFBWTtZQUFDMUIsOERBQVVBLENBQUM7Z0JBQUUyQixRQUFRekIsMkRBQVNBO1lBQUM7U0FBRztRQUMvQzBCLGNBQWM7WUFBQzlCLHFEQUFLQTtTQUFHO1FBQ3ZCK0Isc0JBQXNCO1lBQUNsQyw4REFBS0E7U0FBRztRQUMvQixHQUFHaUIsT0FBTztRQUNWa0IsVUFBVTtZQUNOakMsVUFBVUEsMkRBQVFBLENBQUM7Z0JBQ2ZrQyxjQUFjbEIsYUFBYUwsc0RBQWdCQTtZQUMvQztZQUNBVCxNQUFNQSxtREFBSUE7WUFDVixHQUFHdUIsZUFBZTtZQUNsQixHQUFHRixhQUFhO1lBQ2hCLEdBQUdSLFNBQVNrQixRQUFRO1FBQ3hCO0lBQ0osSUFBSSxnQ0FBZ0M7QUFDeEM7QUFDTyxlQUFlRSw2QkFBNkJwQixPQUFPO0lBQ3RELE1BQU1ELFlBQVlDLFFBQVFELFNBQVMsR0FDN0JMLHFFQUF3QkEsQ0FBQ00sUUFBUUQsU0FBUyxJQUMxQ3NCO0lBQ05yQixRQUFRc0IsWUFBWSxHQUFHdkIsV0FBV3VCLGdCQUM5QnRCLFFBQVFzQixZQUFZLElBQUk7UUFBQzlCLGdFQUFrQkE7S0FBQztJQUNoRCxNQUFNK0IsZ0JBQWdCdkIsU0FBU3dCLFVBQVUsQ0FBQztJQUMxQyxNQUFNQyxnQkFBZ0JGLGNBQWNFLGFBQWEsSUFBSSxFQUFFO0lBQ3ZELElBQUl6QixTQUFTMEIsa0JBQWtCO1FBQzNCRCxjQUFjRSxJQUFJLElBQUk5QixxRUFBc0JBLENBQUNHLFFBQVFzQixZQUFZO0lBQ3JFO0lBQ0EsSUFBSXRCLFNBQVM0QixnQkFBZ0I7UUFDekJILGNBQWNFLElBQUksQ0FBQzNDLDZEQUFTQSxDQUFDO1lBQUU2QyxNQUFNN0IsUUFBUTRCLGNBQWM7UUFBQztJQUNoRTtJQUNBTCxjQUFjRSxhQUFhLEdBQUdBO0lBQzlCLE1BQU1ELFNBQVMsTUFBTTFCLGNBQWNDLFdBQVdBLFdBQVdOLDBEQUFhQSxDQUFDTyxVQUFVdUIsZUFBZXZCLFNBQVNDO0lBQ3pHLE9BQU91QjtBQUNYLEVBQ0Esa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3QvdXRpbHMvbGlicDJwLmpzPzY1YjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9pc2UgfSBmcm9tIFwiQGNoYWluc2FmZS9saWJwMnAtbm9pc2VcIjtcbmltcG9ydCB7IGJvb3RzdHJhcCB9IGZyb20gXCJAbGlicDJwL2Jvb3RzdHJhcFwiO1xuaW1wb3J0IHsgaWRlbnRpZnkgfSBmcm9tIFwiQGxpYnAycC9pZGVudGlmeVwiO1xuaW1wb3J0IHsgbXBsZXggfSBmcm9tIFwiQGxpYnAycC9tcGxleFwiO1xuaW1wb3J0IHsgcGluZyB9IGZyb20gXCJAbGlicDJwL3BpbmdcIjtcbmltcG9ydCB7IHdlYlNvY2tldHMgfSBmcm9tIFwiQGxpYnAycC93ZWJzb2NrZXRzXCI7XG5pbXBvcnQgeyBhbGwgYXMgZmlsdGVyQWxsIH0gZnJvbSBcIkBsaWJwMnAvd2Vic29ja2V0cy9maWx0ZXJzXCI7XG5pbXBvcnQgeyB3YWt1TWV0YWRhdGEgfSBmcm9tIFwiQHdha3UvY29yZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFB1YnN1YlRvcGljIH0gZnJvbSBcIkB3YWt1L2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IHdha3VHb3NzaXBTdWIgfSBmcm9tIFwiQHdha3UvcmVsYXlcIjtcbmltcG9ydCB7IGVuc3VyZVNoYXJkaW5nQ29uZmlndXJlZCB9IGZyb20gXCJAd2FrdS91dGlsc1wiO1xuaW1wb3J0IHsgY3JlYXRlTGlicDJwIH0gZnJvbSBcImxpYnAycFwiO1xuaW1wb3J0IHsgRGVmYXVsdFVzZXJBZ2VudCB9IGZyb20gXCIuLi93YWt1LmpzXCI7XG5pbXBvcnQgeyBkZWZhdWx0UGVlckRpc2NvdmVyaWVzIH0gZnJvbSBcIi4vZGlzY292ZXJ5LmpzXCI7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVmYXVsdExpYnAycChzaGFyZEluZm8sIHdha3VHb3NzaXBTdWIsIG9wdGlvbnMsIHVzZXJBZ2VudCkge1xuICAgIGlmICghb3B0aW9ucz8uaGlkZVdlYlNvY2tldEluZm8gJiYgcHJvY2Vzcz8uZW52Py5OT0RFX0VOViAhPT0gXCJ0ZXN0XCIpIHtcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuICAgICAgICBjb25zb2xlLmluZm8oXCIlY0lnbm9yZSBXZWJTb2NrZXQgY29ubmVjdGlvbiBmYWlsdXJlc1wiLCBcImJhY2tncm91bmQ6IGdyYXk7IGNvbG9yOiB3aGl0ZTsgZm9udC1zaXplOiB4LWxhcmdlXCIpO1xuICAgICAgICBjb25zb2xlLmluZm8oXCIlY1dha3UgdHJpZXMgdG8gZGlzY292ZXIgcGVlcnMgYW5kIHNvbWUgb2YgdGhlbSBhcmUgZXhwZWN0ZWQgdG8gZmFpbFwiLCBcImJhY2tncm91bmQ6IGdyYXk7IGNvbG9yOiB3aGl0ZTsgZm9udC1zaXplOiB4LWxhcmdlXCIpO1xuICAgICAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLWNvbnNvbGUgKi9cbiAgICB9XG4gICAgY29uc3QgcHVic3ViU2VydmljZSA9IHdha3VHb3NzaXBTdWJcbiAgICAgICAgPyB7IHB1YnN1Yjogd2FrdUdvc3NpcFN1YiB9XG4gICAgICAgIDoge307XG4gICAgY29uc3QgbWV0YWRhdGFTZXJ2aWNlID0gc2hhcmRJbmZvXG4gICAgICAgID8geyBtZXRhZGF0YTogd2FrdU1ldGFkYXRhKHNoYXJkSW5mbykgfVxuICAgICAgICA6IHt9O1xuICAgIHJldHVybiBjcmVhdGVMaWJwMnAoe1xuICAgICAgICBjb25uZWN0aW9uTWFuYWdlcjoge1xuICAgICAgICAgICAgbWluQ29ubmVjdGlvbnM6IDFcbiAgICAgICAgfSxcbiAgICAgICAgdHJhbnNwb3J0czogW3dlYlNvY2tldHMoeyBmaWx0ZXI6IGZpbHRlckFsbCB9KV0sXG4gICAgICAgIHN0cmVhbU11eGVyczogW21wbGV4KCldLFxuICAgICAgICBjb25uZWN0aW9uRW5jcnlwdGlvbjogW25vaXNlKCldLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBzZXJ2aWNlczoge1xuICAgICAgICAgICAgaWRlbnRpZnk6IGlkZW50aWZ5KHtcbiAgICAgICAgICAgICAgICBhZ2VudFZlcnNpb246IHVzZXJBZ2VudCA/PyBEZWZhdWx0VXNlckFnZW50XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHBpbmc6IHBpbmcoKSxcbiAgICAgICAgICAgIC4uLm1ldGFkYXRhU2VydmljZSxcbiAgICAgICAgICAgIC4uLnB1YnN1YlNlcnZpY2UsXG4gICAgICAgICAgICAuLi5vcHRpb25zPy5zZXJ2aWNlc1xuICAgICAgICB9XG4gICAgfSk7IC8vIFRPRE86IG1ha2UgbGlicDJwIGluY2x1ZGUgaXQ7XG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlTGlicDJwQW5kVXBkYXRlT3B0aW9ucyhvcHRpb25zKSB7XG4gICAgY29uc3Qgc2hhcmRJbmZvID0gb3B0aW9ucy5zaGFyZEluZm9cbiAgICAgICAgPyBlbnN1cmVTaGFyZGluZ0NvbmZpZ3VyZWQob3B0aW9ucy5zaGFyZEluZm8pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIG9wdGlvbnMucHVic3ViVG9waWNzID0gc2hhcmRJbmZvPy5wdWJzdWJUb3BpY3MgPz9cbiAgICAgICAgb3B0aW9ucy5wdWJzdWJUb3BpY3MgPz8gW0RlZmF1bHRQdWJzdWJUb3BpY107XG4gICAgY29uc3QgbGlicDJwT3B0aW9ucyA9IG9wdGlvbnM/LmxpYnAycCA/PyB7fTtcbiAgICBjb25zdCBwZWVyRGlzY292ZXJ5ID0gbGlicDJwT3B0aW9ucy5wZWVyRGlzY292ZXJ5ID8/IFtdO1xuICAgIGlmIChvcHRpb25zPy5kZWZhdWx0Qm9vdHN0cmFwKSB7XG4gICAgICAgIHBlZXJEaXNjb3ZlcnkucHVzaCguLi5kZWZhdWx0UGVlckRpc2NvdmVyaWVzKG9wdGlvbnMucHVic3ViVG9waWNzKSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5ib290c3RyYXBQZWVycykge1xuICAgICAgICBwZWVyRGlzY292ZXJ5LnB1c2goYm9vdHN0cmFwKHsgbGlzdDogb3B0aW9ucy5ib290c3RyYXBQZWVycyB9KSk7XG4gICAgfVxuICAgIGxpYnAycE9wdGlvbnMucGVlckRpc2NvdmVyeSA9IHBlZXJEaXNjb3Zlcnk7XG4gICAgY29uc3QgbGlicDJwID0gYXdhaXQgZGVmYXVsdExpYnAycChzaGFyZEluZm8/LnNoYXJkSW5mbywgd2FrdUdvc3NpcFN1YihvcHRpb25zKSwgbGlicDJwT3B0aW9ucywgb3B0aW9ucz8udXNlckFnZW50KTtcbiAgICByZXR1cm4gbGlicDJwO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGlicDJwLmpzLm1hcCJdLCJuYW1lcyI6WyJub2lzZSIsImJvb3RzdHJhcCIsImlkZW50aWZ5IiwibXBsZXgiLCJwaW5nIiwid2ViU29ja2V0cyIsImFsbCIsImZpbHRlckFsbCIsIndha3VNZXRhZGF0YSIsIkRlZmF1bHRQdWJzdWJUb3BpYyIsIndha3VHb3NzaXBTdWIiLCJlbnN1cmVTaGFyZGluZ0NvbmZpZ3VyZWQiLCJjcmVhdGVMaWJwMnAiLCJEZWZhdWx0VXNlckFnZW50IiwiZGVmYXVsdFBlZXJEaXNjb3ZlcmllcyIsImRlZmF1bHRMaWJwMnAiLCJzaGFyZEluZm8iLCJvcHRpb25zIiwidXNlckFnZW50IiwiaGlkZVdlYlNvY2tldEluZm8iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwiaW5mbyIsInB1YnN1YlNlcnZpY2UiLCJwdWJzdWIiLCJtZXRhZGF0YVNlcnZpY2UiLCJtZXRhZGF0YSIsImNvbm5lY3Rpb25NYW5hZ2VyIiwibWluQ29ubmVjdGlvbnMiLCJ0cmFuc3BvcnRzIiwiZmlsdGVyIiwic3RyZWFtTXV4ZXJzIiwiY29ubmVjdGlvbkVuY3J5cHRpb24iLCJzZXJ2aWNlcyIsImFnZW50VmVyc2lvbiIsImNyZWF0ZUxpYnAycEFuZFVwZGF0ZU9wdGlvbnMiLCJ1bmRlZmluZWQiLCJwdWJzdWJUb3BpY3MiLCJsaWJwMnBPcHRpb25zIiwibGlicDJwIiwicGVlckRpc2NvdmVyeSIsImRlZmF1bHRCb290c3RyYXAiLCJwdXNoIiwiYm9vdHN0cmFwUGVlcnMiLCJsaXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/dist/utils/libp2p.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/dist/waku.js":
/*!*********************************************!*\
!*** ./node_modules/@waku/sdk/dist/waku.js ***!
\*********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultPingKeepAliveValueSecs: () => (/* binding */ DefaultPingKeepAliveValueSecs),\n/* harmony export */ DefaultRelayKeepAliveValueSecs: () => (/* binding */ DefaultRelayKeepAliveValueSecs),\n/* harmony export */ DefaultUserAgent: () => (/* binding */ DefaultUserAgent),\n/* harmony export */ WakuNode: () => (/* binding */ WakuNode)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/peer-id/index.js\");\n/* harmony import */ var _multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiformats/multiaddr */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/index.js\");\n/* harmony import */ var _waku_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/core */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/index.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _utils_content_topic_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/content_topic.js */ \"(ssr)/./node_modules/@waku/sdk/dist/utils/content_topic.js\");\n\n\n\n\n\n\nconst DefaultPingKeepAliveValueSecs = 5 * 60;\nconst DefaultRelayKeepAliveValueSecs = 5 * 60;\nconst DefaultUserAgent = \"js-waku\";\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_3__.Logger(\"waku\");\nclass WakuNode {\n constructor(options, libp2p, store, lightPush, filter, relay){\n if (options.pubsubTopics.length == 0) {\n throw new Error(\"At least one pubsub topic must be provided\");\n }\n this.pubsubTopics = options.pubsubTopics;\n this.libp2p = libp2p;\n if (store) {\n this.store = store(libp2p);\n }\n if (filter) {\n this.filter = filter(libp2p);\n }\n if (lightPush) {\n this.lightPush = lightPush(libp2p);\n }\n if (relay) {\n this.relay = relay(libp2p);\n }\n const pingKeepAlive = options.pingKeepAlive || DefaultPingKeepAliveValueSecs;\n const relayKeepAlive = this.relay ? options.relayKeepAlive || DefaultRelayKeepAliveValueSecs : 0;\n const peerId = this.libp2p.peerId.toString();\n this.connectionManager = _waku_core__WEBPACK_IMPORTED_MODULE_1__.ConnectionManager.create(peerId, libp2p, {\n pingKeepAlive,\n relayKeepAlive\n }, this.pubsubTopics, this.relay);\n log.info(\"Waku node created\", peerId, `relay: ${!!this.relay}, store: ${!!this.store}, light push: ${!!this.lightPush}, filter: ${!!this.filter}`);\n }\n /**\n * Dials to the provided peer.\n *\n * @param peer The peer to dial\n * @param protocols Waku protocols we expect from the peer; Defaults to mounted protocols\n */ async dial(peer, protocols) {\n const _protocols = protocols ?? [];\n const peerId = mapToPeerIdOrMultiaddr(peer);\n if (typeof protocols === \"undefined\") {\n this.relay && _protocols.push(_waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.Protocols.Relay);\n this.store && _protocols.push(_waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.Protocols.Store);\n this.filter && _protocols.push(_waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.Protocols.Filter);\n this.lightPush && _protocols.push(_waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.Protocols.LightPush);\n }\n const codecs = [];\n if (_protocols.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.Protocols.Relay)) {\n if (this.relay) {\n this.relay.gossipSub.multicodecs.forEach((codec)=>codecs.push(codec));\n } else {\n log.error(\"Relay codec not included in dial codec: protocol not mounted locally\");\n }\n }\n if (_protocols.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.Protocols.Store)) {\n if (this.store) {\n codecs.push(this.store.protocol.multicodec);\n } else {\n log.error(\"Store codec not included in dial codec: protocol not mounted locally\");\n }\n }\n if (_protocols.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.Protocols.LightPush)) {\n if (this.lightPush) {\n codecs.push(this.lightPush.protocol.multicodec);\n } else {\n log.error(\"Light Push codec not included in dial codec: protocol not mounted locally\");\n }\n }\n if (_protocols.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_2__.Protocols.Filter)) {\n if (this.filter) {\n codecs.push(this.filter.multicodec);\n } else {\n log.error(\"Filter codec not included in dial codec: protocol not mounted locally\");\n }\n }\n log.info(`Dialing to ${peerId.toString()} with protocols ${_protocols}`);\n return this.libp2p.dialProtocol(peerId, codecs);\n }\n async start() {\n await this.libp2p.start();\n }\n async stop() {\n this.connectionManager.stop();\n await this.libp2p.stop();\n }\n async subscribeToContentTopic(contentTopic, peer, callback) {\n return (await (0,_utils_content_topic_js__WEBPACK_IMPORTED_MODULE_4__.subscribeToContentTopic)(contentTopic, callback, {\n waku: this,\n peer\n })).subscription;\n }\n isStarted() {\n return this.libp2p.status == \"started\";\n }\n isConnected() {\n return this.connectionManager.isConnected();\n }\n /**\n * Return the local multiaddr with peer id on which libp2p is listening.\n *\n * @throws if libp2p is not listening on localhost.\n */ getLocalMultiaddrWithID() {\n const localMultiaddr = this.libp2p.getMultiaddrs().find((addr)=>addr.toString().match(/127\\.0\\.0\\.1/));\n if (!localMultiaddr || localMultiaddr.toString() === \"\") {\n throw \"Not listening on localhost\";\n }\n return localMultiaddr + \"/p2p/\" + this.libp2p.peerId.toString();\n }\n}\nfunction mapToPeerIdOrMultiaddr(peerId) {\n return (0,_libp2p_interface__WEBPACK_IMPORTED_MODULE_5__.isPeerId)(peerId) ? peerId : (0,_multiformats_multiaddr__WEBPACK_IMPORTED_MODULE_0__.multiaddr)(peerId);\n} //# sourceMappingURL=waku.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL2Rpc3Qvd2FrdS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQTZDO0FBQ087QUFDTDtBQUNGO0FBQ1I7QUFDOEI7QUFDNUQsTUFBTU0sZ0NBQWdDLElBQUksR0FBRztBQUM3QyxNQUFNQyxpQ0FBaUMsSUFBSSxHQUFHO0FBQzlDLE1BQU1DLG1CQUFtQixVQUFVO0FBQzFDLE1BQU1DLE1BQU0sSUFBSUwsK0NBQU1BLENBQUM7QUFDaEIsTUFBTU07SUFRVEMsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLEtBQUssRUFBRUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLEtBQUssQ0FBRTtRQUMxRCxJQUFJTCxRQUFRTSxZQUFZLENBQUNDLE1BQU0sSUFBSSxHQUFHO1lBQ2xDLE1BQU0sSUFBSUMsTUFBTTtRQUNwQjtRQUNBLElBQUksQ0FBQ0YsWUFBWSxHQUFHTixRQUFRTSxZQUFZO1FBQ3hDLElBQUksQ0FBQ0wsTUFBTSxHQUFHQTtRQUNkLElBQUlDLE9BQU87WUFDUCxJQUFJLENBQUNBLEtBQUssR0FBR0EsTUFBTUQ7UUFDdkI7UUFDQSxJQUFJRyxRQUFRO1lBQ1IsSUFBSSxDQUFDQSxNQUFNLEdBQUdBLE9BQU9IO1FBQ3pCO1FBQ0EsSUFBSUUsV0FBVztZQUNYLElBQUksQ0FBQ0EsU0FBUyxHQUFHQSxVQUFVRjtRQUMvQjtRQUNBLElBQUlJLE9BQU87WUFDUCxJQUFJLENBQUNBLEtBQUssR0FBR0EsTUFBTUo7UUFDdkI7UUFDQSxNQUFNUSxnQkFBZ0JULFFBQVFTLGFBQWEsSUFBSWY7UUFDL0MsTUFBTWdCLGlCQUFpQixJQUFJLENBQUNMLEtBQUssR0FDM0JMLFFBQVFVLGNBQWMsSUFBSWYsaUNBQzFCO1FBQ04sTUFBTWdCLFNBQVMsSUFBSSxDQUFDVixNQUFNLENBQUNVLE1BQU0sQ0FBQ0MsUUFBUTtRQUMxQyxJQUFJLENBQUNDLGlCQUFpQixHQUFHdkIseURBQWlCQSxDQUFDd0IsTUFBTSxDQUFD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QyxJQUFJO0lBQzFCO0lBQ0EsTUFBTTVDLHdCQUF3QjZDLFlBQVksRUFBRXJCLElBQUksRUFBRXNCLFFBQVEsRUFBRTtRQUN4RCxPQUFPLENBQUMsTUFBTTlDLGdGQUF1QkEsQ0FBQzZDLGNBQWNDLFVBQVU7WUFDMURDLE1BQU0sSUFBSTtZQUNWdkI7UUFDSixFQUFDLEVBQUd3QixZQUFZO0lBQ3BCO0lBQ0FDLFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQ3pDLE1BQU0sQ0FBQzBDLE1BQU0sSUFBSTtJQUNqQztJQUNBQyxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUMvQixpQkFBaUIsQ0FBQytCLFdBQVc7SUFDN0M7SUFDQTs7OztLQUlDLEdBQ0RDLDBCQUEwQjtRQUN0QixNQUFNQyxpQkFBaUIsSUFBSSxDQUFDN0MsTUFBTSxDQUM3QjhDLGFBQWEsR0FDYkMsSUFBSSxDQUFDLENBQUNDLE9BQVNBLEtBQUtyQyxRQUFRLEdBQUdzQyxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDSixrQkFBa0JBLGVBQWVsQyxRQUFRLE9BQU8sSUFBSTtZQUNyRCxNQUFNO1FBQ1Y7UUFDQSxPQUFPa0MsaUJBQWlCLFVBQVUsSUFBSSxDQUFDN0MsTUFBTSxDQUFDVSxNQUFNLENBQUNDLFFBQVE7SUFDakU7QUFDSjtBQUNBLFNBQVNRLHVCQUF1QlQsTUFBTTtJQUNsQyxPQUFPdkIsMkRBQVFBLENBQUN1QixVQUFVQSxTQUFTdEIsa0VBQVNBLENBQUNzQjtBQUNqRCxFQUNBLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9kaXN0L3dha3UuanM/NDlkOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BlZXJJZCB9IGZyb20gXCJAbGlicDJwL2ludGVyZmFjZVwiO1xuaW1wb3J0IHsgbXVsdGlhZGRyIH0gZnJvbSBcIkBtdWx0aWZvcm1hdHMvbXVsdGlhZGRyXCI7XG5pbXBvcnQgeyBDb25uZWN0aW9uTWFuYWdlciB9IGZyb20gXCJAd2FrdS9jb3JlXCI7XG5pbXBvcnQgeyBQcm90b2NvbHMgfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBzdWJzY3JpYmVUb0NvbnRlbnRUb3BpYyB9IGZyb20gXCIuL3V0aWxzL2NvbnRlbnRfdG9waWMuanNcIjtcbmV4cG9ydCBjb25zdCBEZWZhdWx0UGluZ0tlZXBBbGl2ZVZhbHVlU2VjcyA9IDUgKiA2MDtcbmV4cG9ydCBjb25zdCBEZWZhdWx0UmVsYXlLZWVwQWxpdmVWYWx1ZVNlY3MgPSA1ICogNjA7XG5leHBvcnQgY29uc3QgRGVmYXVsdFVzZXJBZ2VudCA9IFwianMtd2FrdVwiO1xuY29uc3QgbG9nID0gbmV3IExvZ2dlcihcIndha3VcIik7XG5leHBvcnQgY2xhc3MgV2FrdU5vZGUge1xuICAgIGxpYnAycDtcbiAgICByZWxheTtcbiAgICBzdG9yZTtcbiAgICBmaWx0ZXI7XG4gICAgbGlnaHRQdXNoO1xuICAgIGNvbm5lY3Rpb25NYW5hZ2VyO1xuICAgIHB1YnN1YlRvcGljcztcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zLCBsaWJwMnAsIHN0b3JlLCBsaWdodFB1c2gsIGZpbHRlciwgcmVsYXkpIHtcbiAgICAgICAgaWYgKG9wdGlvbnMucHVic3ViVG9waWNzLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBdCBsZWFzdCBvbmUgcHVic3ViIHRvcGljIG11c3QgYmUgcHJvdmlkZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wdWJzdWJUb3BpY3MgPSBvcHRpb25zLnB1YnN1YlRvcGljcztcbiAgICAgICAgdGhpcy5saWJwMnAgPSBsaWJwMnA7XG4gICAgICAgIGlmIChzdG9yZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZSA9IHN0b3JlKGxpYnAycCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIgPSBmaWx0ZXIobGlicDJwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGlnaHRQdXNoKSB7XG4gICAgICAgICAgICB0aGlzLmxpZ2h0UHVzaCA9IGxpZ2h0UHVzaChsaWJwMnApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWxheSkge1xuICAgICAgICAgICAgdGhpcy5yZWxheSA9IHJlbGF5KGxpYnAycCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGluZ0tlZXBBbGl2ZSA9IG9wdGlvbnMucGluZ0tlZXBBbGl2ZSB8fCBEZWZhdWx0UGluZ0tlZXBBbGl2ZVZhbHVlU2VjcztcbiAgICAgICAgY29uc3QgcmVsYXlLZWVwQWxpdmUgPSB0aGlzLnJlbGF5XG4gICAgICAgICAgICA/IG9wdGlvbnMucmVsYXlLZWVwQWxpdmUgfHwgRGVmYXVsdFJlbGF5S2VlcEFsaXZlVmFsdWVTZWNzXG4gICAgICAgICAgICA6IDA7XG4gICAgICAgIGNvbnN0IHBlZXJJZCA9IHRoaXMubGlicDJwLnBlZXJJZC50b1N0cmluZygpO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25NYW5hZ2VyID0gQ29ubmVjdGlvbk1hbmFnZXIuY3JlYXRlKHBlZXJJZCwgbGlicDJwLCB7IHBpbmdLZWVwQWxpdmUsIHJlbGF5S2VlcEFsaXZlIH0sIHRoaXMucHVic3ViVG9waWNzLCB0aGlzLnJlbGF5KTtcbiAgICAgICAgbG9nLmluZm8oXCJXYWt1IG5vZGUgY3JlYXRlZFwiLCBwZWVySWQsIGByZWxheTogJHshIXRoaXMucmVsYXl9LCBzdG9yZTogJHshIXRoaXMuc3RvcmV9LCBsaWdodCBwdXNoOiAkeyEhdGhpc1xuICAgICAgICAgICAgLmxpZ2h0UHVzaH0sIGZpbHRlcjogJHshIXRoaXMuZmlsdGVyfWApO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEaWFscyB0byB0aGUgcHJvdmlkZWQgcGVlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwZWVyIFRoZSBwZWVyIHRvIGRpYWxcbiAgICAgKiBAcGFyYW0gcHJvdG9jb2xzIFdha3UgcHJvdG9jb2xzIHdlIGV4cGVjdCBmcm9tIHRoZSBwZWVyOyBEZWZhdWx0cyB0byBtb3VudGVkIHByb3RvY29sc1xuICAgICAqL1xuICAgIGFzeW5jIGRpYWwocGVlciwgcHJvdG9jb2xzKSB7XG4gICAgICAgIGNvbnN0IF9wcm90b2NvbHMgPSBwcm90b2NvbHMgPz8gW107XG4gICAgICAgIGNvbnN0IHBlZXJJZCA9IG1hcFRvUGVlcklkT3JNdWx0aWFkZHIocGVlcik7XG4gICAgICAgIGlmICh0eXBlb2YgcHJvdG9jb2xzID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICB0aGlzLnJlbGF5ICYmIF9wcm90b2NvbHMucHVzaChQcm90b2NvbHMuUmVsYXkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZSAmJiBfcHJvdG9jb2xzLnB1c2goUHJvdG9jb2xzLlN0b3JlKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyICYmIF9wcm90b2NvbHMucHVzaChQcm90b2NvbHMuRmlsdGVyKTtcbiAgICAgICAgICAgIHRoaXMubGlnaHRQdXNoICYmIF9wcm90b2NvbHMucHVzaChQcm90b2NvbHMuTGlnaHRQdXNoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb2RlY3MgPSBbXTtcbiAgICAgICAgaWYgKF9wcm90b2NvbHMuaW5jbHVkZXMoUHJvdG9jb2xzLlJlbGF5KSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucmVsYXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbGF5Lmdvc3NpcFN1Yi5tdWx0aWNvZGVjcy5mb3JFYWNoKChjb2RlYykgPT4gY29kZWNzLnB1c2goY29kZWMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcIlJlbGF5IGNvZGVjIG5vdCBpbmNsdWRlZCBpbiBkaWFsIGNvZGVjOiBwcm90b2NvbCBub3QgbW91bnRlZCBsb2NhbGx5XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChfcHJvdG9jb2xzLmluY2x1ZGVzKFByb3RvY29scy5TdG9yZSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0b3JlKSB7XG4gICAgICAgICAgICAgICAgY29kZWNzLnB1c2godGhpcy5zdG9yZS5wcm90b2NvbC5tdWx0aWNvZGVjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcIlN0b3JlIGNvZGVjIG5vdCBpbmNsdWRlZCBpbiBkaWFsIGNvZGVjOiBwcm90b2NvbCBub3QgbW91bnRlZCBsb2NhbGx5XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChfcHJvdG9jb2xzLmluY2x1ZGVzKFByb3RvY29scy5MaWdodFB1c2gpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5saWdodFB1c2gpIHtcbiAgICAgICAgICAgICAgICBjb2RlY3MucHVzaCh0aGlzLmxpZ2h0UHVzaC5wcm90b2NvbC5tdWx0aWNvZGVjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcIkxpZ2h0IFB1c2ggY29kZWMgbm90IGluY2x1ZGVkIGluIGRpYWwgY29kZWM6IHByb3RvY29sIG5vdCBtb3VudGVkIGxvY2FsbHlcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKF9wcm90b2NvbHMuaW5jbHVkZXMoUHJvdG9jb2xzLkZpbHRlcikpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcikge1xuICAgICAgICAgICAgICAgIGNvZGVjcy5wdXNoKHRoaXMuZmlsdGVyLm11bHRpY29kZWMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKFwiRmlsdGVyIGNvZGVjIG5vdCBpbmNsdWRlZCBpbiBkaWFsIGNvZGVjOiBwcm90b2NvbCBub3QgbW91bnRlZCBsb2NhbGx5XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxvZy5pbmZvKGBEaWFsaW5nIHRvICR7cGVlcklkLnRvU3RyaW5nKCl9IHdpdGggcHJvdG9jb2xzICR7X3Byb3RvY29sc31gKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlicDJwLmRpYWxQcm90b2NvbChwZWVySWQsIGNvZGVjcyk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXJ0KCkge1xuICAgICAgICBhd2FpdCB0aGlzLmxpYnAycC5zdGFydCgpO1xuICAgIH1cbiAgICBhc3luYyBzdG9wKCkge1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25NYW5hZ2VyLnN0b3AoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5saWJwMnAuc3RvcCgpO1xuICAgIH1cbiAgICBhc3luYyBzdWJzY3JpYmVUb0NvbnRlbnRUb3BpYyhjb250ZW50VG9waWMsIHBlZXIsIGNhbGxiYWNrKSB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgc3Vic2NyaWJlVG9Db250ZW50VG9waWMoY29udGVudFRvcGljLCBjYWxsYmFjaywge1xuICAgICAgICAgICAgd2FrdTogdGhpcyxcbiAgICAgICAgICAgIHBlZXJcbiAgICAgICAgfSkpLnN1YnNjcmlwdGlvbjtcbiAgICB9XG4gICAgaXNTdGFydGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5saWJwMnAuc3RhdHVzID09IFwic3RhcnRlZFwiO1xuICAgIH1cbiAgICBpc0Nvbm5lY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbk1hbmFnZXIuaXNDb25uZWN0ZWQoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBsb2NhbCBtdWx0aWFkZHIgd2l0aCBwZWVyIGlkIG9uIHdoaWNoIGxpYnAycCBpcyBsaXN0ZW5pbmcuXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIGlmIGxpYnAycCBpcyBub3QgbGlzdGVuaW5nIG9uIGxvY2FsaG9zdC5cbiAgICAgKi9cbiAgICBnZXRMb2NhbE11bHRpYWRkcldpdGhJRCgpIHtcbiAgICAgICAgY29uc3QgbG9jYWxNdWx0aWFkZHIgPSB0aGlzLmxpYnAycFxuICAgICAgICAgICAgLmdldE11bHRpYWRkcnMoKVxuICAgICAgICAgICAgLmZpbmQoKGFkZHIpID0+IGFkZHIudG9TdHJpbmcoKS5tYXRjaCgvMTI3XFwuMFxcLjBcXC4xLykpO1xuICAgICAgICBpZiAoIWxvY2FsTXVsdGlhZGRyIHx8IGxvY2FsTXVsdGlhZGRyLnRvU3RyaW5nKCkgPT09IFwiXCIpIHtcbiAgICAgICAgICAgIHRocm93IFwiTm90IGxpc3RlbmluZyBvbiBsb2NhbGhvc3RcIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbG9jYWxNdWx0aWFkZHIgKyBcIi9wMnAvXCIgKyB0aGlzLmxpYnAycC5wZWVySWQudG9TdHJpbmcoKTtcbiAgICB9XG59XG5mdW5jdGlvbiBtYXBUb1BlZXJJZE9yTXVsdGlhZGRyKHBlZXJJZCkge1xuICAgIHJldHVybiBpc1BlZXJJZChwZWVySWQpID8gcGVlcklkIDogbXVsdGlhZGRyKHBlZXJJZCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YWt1LmpzLm1hcCJdLCJuYW1lcyI6WyJpc1BlZXJJZCIsIm11bHRpYWRkciIsIkNvbm5lY3Rpb25NYW5hZ2VyIiwiUHJvdG9jb2xzIiwiTG9nZ2VyIiwic3Vic2NyaWJlVG9Db250ZW50VG9waWMiLCJEZWZhdWx0UGluZ0tlZXBBbGl2ZVZhbHVlU2VjcyIsIkRlZmF1bHRSZWxheUtlZXBBbGl2ZVZhbHVlU2VjcyIsIkRlZmF1bHRVc2VyQWdlbnQiLCJsb2ciLCJXYWt1Tm9kZSIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImxpYnAycCIsInN0b3JlIiwibGlnaHRQdXNoIiwiZmlsdGVyIiwicmVsYXkiLCJwdWJzdWJUb3BpY3MiLCJsZW5ndGgiLCJFcnJvciIsInBpbmdLZWVwQWxpdmUiLCJyZWxheUtlZXBBbGl2ZSIsInBlZXJJZCIsInRvU3RyaW5nIiwiY29ubmVjdGlvbk1hbmFnZXIiLCJjcmVhdGUiLCJpbmZvIiwiZGlhbCIsInBlZXIiLCJwcm90b2NvbHMiLCJfcHJvdG9jb2xzIiwibWFwVG9QZWVySWRPck11bHRpYWRkciIsInB1c2giLCJSZWxheSIsIlN0b3JlIiwiRmlsdGVyIiwiTGlnaHRQdXNoIiwiY29kZWNzIiwiaW5jbHVkZXMiLCJnb3NzaXBTdWIiLCJtdWx0aWNvZGVjcyIsImZvckVhY2giLCJjb2RlYyIsImVycm9yIiwicHJvdG9jb2wiLCJtdWx0aWNvZGVjIiwiZGlhbFByb3RvY29sIiwic3RhcnQiLCJzdG9wIiwiY29udGVudFRvcGljIiwiY2FsbGJhY2siLCJ3YWt1Iiwic3Vic2NyaXB0aW9uIiwiaXNTdGFydGVkIiwic3RhdHVzIiwiaXNDb25uZWN0ZWQiLCJnZXRMb2NhbE11bHRpYWRkcldpdGhJRCIsImxvY2FsTXVsdGlhZGRyIiwiZ2V0TXVsdGlhZGRycyIsImZpbmQiLCJhZGRyIiwibWF0Y2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/dist/waku.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/index.js":
/*!**********************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/index.js ***!
\**********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConnectionManager: () => (/* reexport safe */ _lib_connection_manager_js__WEBPACK_IMPORTED_MODULE_6__.ConnectionManager),\n/* harmony export */ FilterCodecs: () => (/* reexport safe */ _lib_filter_index_js__WEBPACK_IMPORTED_MODULE_2__.FilterCodecs),\n/* harmony export */ KeepAliveManager: () => (/* reexport safe */ _lib_keep_alive_manager_js__WEBPACK_IMPORTED_MODULE_7__.KeepAliveManager),\n/* harmony export */ LightPushCodec: () => (/* reexport safe */ _lib_light_push_index_js__WEBPACK_IMPORTED_MODULE_3__.LightPushCodec),\n/* harmony export */ LightPushCore: () => (/* reexport safe */ _lib_light_push_index_js__WEBPACK_IMPORTED_MODULE_3__.LightPushCore),\n/* harmony export */ MetadataCodec: () => (/* reexport safe */ _lib_metadata_index_js__WEBPACK_IMPORTED_MODULE_9__.MetadataCodec),\n/* harmony export */ PageDirection: () => (/* reexport safe */ _lib_store_index_js__WEBPACK_IMPORTED_MODULE_4__.PageDirection),\n/* harmony export */ StoreCore: () => (/* reexport safe */ _lib_store_index_js__WEBPACK_IMPORTED_MODULE_4__.StoreCore),\n/* harmony export */ StreamManager: () => (/* reexport safe */ _lib_stream_manager_js__WEBPACK_IMPORTED_MODULE_8__.StreamManager),\n/* harmony export */ createDecoder: () => (/* reexport safe */ _lib_message_version_0_js__WEBPACK_IMPORTED_MODULE_0__.createDecoder),\n/* harmony export */ createEncoder: () => (/* reexport safe */ _lib_message_version_0_js__WEBPACK_IMPORTED_MODULE_0__.createEncoder),\n/* harmony export */ message: () => (/* reexport module object */ _lib_message_index_js__WEBPACK_IMPORTED_MODULE_1__),\n/* harmony export */ waitForRemotePeer: () => (/* reexport safe */ _lib_wait_for_remote_peer_js__WEBPACK_IMPORTED_MODULE_5__.waitForRemotePeer),\n/* harmony export */ wakuFilter: () => (/* reexport safe */ _lib_filter_index_js__WEBPACK_IMPORTED_MODULE_2__.wakuFilter),\n/* harmony export */ wakuMetadata: () => (/* reexport safe */ _lib_metadata_index_js__WEBPACK_IMPORTED_MODULE_9__.wakuMetadata),\n/* harmony export */ waku_filter: () => (/* reexport module object */ _lib_filter_index_js__WEBPACK_IMPORTED_MODULE_2__),\n/* harmony export */ waku_light_push: () => (/* reexport module object */ _lib_light_push_index_js__WEBPACK_IMPORTED_MODULE_3__),\n/* harmony export */ waku_store: () => (/* reexport module object */ _lib_store_index_js__WEBPACK_IMPORTED_MODULE_4__)\n/* harmony export */ });\n/* harmony import */ var _lib_message_version_0_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/message/version_0.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/version_0.js\");\n/* harmony import */ var _lib_message_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/message/index.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/index.js\");\n/* harmony import */ var _lib_filter_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/filter/index.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filter/index.js\");\n/* harmony import */ var _lib_light_push_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/light_push/index.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/light_push/index.js\");\n/* harmony import */ var _lib_store_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/store/index.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/store/index.js\");\n/* harmony import */ var _lib_wait_for_remote_peer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/wait_for_remote_peer.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/wait_for_remote_peer.js\");\n/* harmony import */ var _lib_connection_manager_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/connection_manager.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/connection_manager.js\");\n/* harmony import */ var _lib_keep_alive_manager_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lib/keep_alive_manager.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/keep_alive_manager.js\");\n/* harmony import */ var _lib_stream_manager_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lib/stream_manager.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/stream_manager.js\");\n/* harmony import */ var _lib_metadata_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./lib/metadata/index.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/metadata/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwRTtBQUN4QjtBQUNHO0FBQ1k7QUFDSjtBQUNhO0FBQ3ZCO0FBQ0Y7QUFDSTtBQUNhO0FBQ0Y7QUFDRDtBQUNQO0FBQ2MsQ0FDdEUsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvaW5kZXguanM/OGU5YiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBjcmVhdGVFbmNvZGVyLCBjcmVhdGVEZWNvZGVyIH0gZnJvbSBcIi4vbGliL21lc3NhZ2UvdmVyc2lvbl8wLmpzXCI7XG5leHBvcnQgKiBhcyBtZXNzYWdlIGZyb20gXCIuL2xpYi9tZXNzYWdlL2luZGV4LmpzXCI7XG5leHBvcnQgKiBhcyB3YWt1X2ZpbHRlciBmcm9tIFwiLi9saWIvZmlsdGVyL2luZGV4LmpzXCI7XG5leHBvcnQgeyB3YWt1RmlsdGVyLCBGaWx0ZXJDb2RlY3MgfSBmcm9tIFwiLi9saWIvZmlsdGVyL2luZGV4LmpzXCI7XG5leHBvcnQgKiBhcyB3YWt1X2xpZ2h0X3B1c2ggZnJvbSBcIi4vbGliL2xpZ2h0X3B1c2gvaW5kZXguanNcIjtcbmV4cG9ydCB7IExpZ2h0UHVzaENvZGVjLCBMaWdodFB1c2hDb3JlIH0gZnJvbSBcIi4vbGliL2xpZ2h0X3B1c2gvaW5kZXguanNcIjtcbmV4cG9ydCAqIGFzIHdha3Vfc3RvcmUgZnJvbSBcIi4vbGliL3N0b3JlL2luZGV4LmpzXCI7XG5leHBvcnQgeyBTdG9yZUNvcmUgfSBmcm9tIFwiLi9saWIvc3RvcmUvaW5kZXguanNcIjtcbmV4cG9ydCB7IFBhZ2VEaXJlY3Rpb24gfSBmcm9tIFwiLi9saWIvc3RvcmUvaW5kZXguanNcIjtcbmV4cG9ydCB7IHdhaXRGb3JSZW1vdGVQZWVyIH0gZnJvbSBcIi4vbGliL3dhaXRfZm9yX3JlbW90ZV9wZWVyLmpzXCI7XG5leHBvcnQgeyBDb25uZWN0aW9uTWFuYWdlciB9IGZyb20gXCIuL2xpYi9jb25uZWN0aW9uX21hbmFnZXIuanNcIjtcbmV4cG9ydCB7IEtlZXBBbGl2ZU1hbmFnZXIgfSBmcm9tIFwiLi9saWIva2VlcF9hbGl2ZV9tYW5hZ2VyLmpzXCI7XG5leHBvcnQgeyBTdHJlYW1NYW5hZ2VyIH0gZnJvbSBcIi4vbGliL3N0cmVhbV9tYW5hZ2VyLmpzXCI7XG5leHBvcnQgeyBNZXRhZGF0YUNvZGVjLCB3YWt1TWV0YWRhdGEgfSBmcm9tIFwiLi9saWIvbWV0YWRhdGEvaW5kZXguanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJjcmVhdGVFbmNvZGVyIiwiY3JlYXRlRGVjb2RlciIsIm1lc3NhZ2UiLCJ3YWt1X2ZpbHRlciIsIndha3VGaWx0ZXIiLCJGaWx0ZXJDb2RlY3MiLCJ3YWt1X2xpZ2h0X3B1c2giLCJMaWdodFB1c2hDb2RlYyIsIkxpZ2h0UHVzaENvcmUiLCJ3YWt1X3N0b3JlIiwiU3RvcmVDb3JlIiwiUGFnZURpcmVjdGlvbiIsIndhaXRGb3JSZW1vdGVQZWVyIiwiQ29ubmVjdGlvbk1hbmFnZXIiLCJLZWVwQWxpdmVNYW5hZ2VyIiwiU3RyZWFtTWFuYWdlciIsIk1ldGFkYXRhQ29kZWMiLCJ3YWt1TWV0YWRhdGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/base_protocol.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/base_protocol.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseProtocol: () => (/* binding */ BaseProtocol)\n/* harmony export */ });\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/libp2p */ \"(ssr)/./node_modules/@waku/utils/dist/libp2p/index.js\");\n/* harmony import */ var _filterPeers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./filterPeers.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filterPeers.js\");\n/* harmony import */ var _stream_manager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stream_manager.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/stream_manager.js\");\n\n\n\n\n/**\n * A class with predefined helpers, to be used as a base to implement Waku\n * Protocols.\n */ class BaseProtocol {\n constructor(multicodec, components, log, pubsubTopics, options){\n this.multicodec = multicodec;\n this.components = components;\n this.log = log;\n this.pubsubTopics = pubsubTopics;\n this.options = options;\n this.addLibp2pEventListener = components.events.addEventListener.bind(components.events);\n this.removeLibp2pEventListener = components.events.removeEventListener.bind(components.events);\n this.streamManager = new _stream_manager_js__WEBPACK_IMPORTED_MODULE_3__.StreamManager(multicodec, components.connectionManager.getConnections.bind(components.connectionManager), this.addLibp2pEventListener);\n }\n async getStream(peer) {\n return this.streamManager.getStream(peer);\n }\n get peerStore() {\n return this.components.peerStore;\n }\n /**\n * Returns known peers from the address book (`libp2p.peerStore`) that support\n * the class protocol. Waku may or may not be currently connected to these\n * peers.\n */ async allPeers() {\n return (0,_waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__.getPeersForProtocol)(this.peerStore, [\n this.multicodec\n ]);\n }\n async connectedPeers() {\n const peers = await this.allPeers();\n return peers.filter((peer)=>{\n return this.components.connectionManager.getConnections(peer.id).length > 0;\n });\n }\n /**\n * Retrieves a list of connected peers that support the protocol. The list is sorted by latency.\n *\n * @param numPeers - The total number of peers to retrieve. If 0, all peers are returned.\n * @param maxBootstrapPeers - The maximum number of bootstrap peers to retrieve.\n \n * @returns A list of peers that support the protocol sorted by latency.\n */ async getPeers({ numPeers, maxBootstrapPeers } = {\n maxBootstrapPeers: 1,\n numPeers: 0\n }) {\n // Retrieve all connected peers that support the protocol & shard (if configured)\n const connectedPeersForProtocolAndShard = await (0,_waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__.getConnectedPeersForProtocolAndShard)(this.components.connectionManager.getConnections(), this.peerStore, [\n this.multicodec\n ], this.options?.shardInfo ? (0,_waku_utils__WEBPACK_IMPORTED_MODULE_0__.ensureShardingConfigured)(this.options.shardInfo).shardInfo : undefined);\n // Filter the peers based on discovery & number of peers requested\n const filteredPeers = (0,_filterPeers_js__WEBPACK_IMPORTED_MODULE_2__.filterPeersByDiscovery)(connectedPeersForProtocolAndShard, numPeers, maxBootstrapPeers);\n // Sort the peers by latency\n const sortedFilteredPeers = await (0,_waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__.sortPeersByLatency)(this.peerStore, filteredPeers);\n if (sortedFilteredPeers.length === 0) {\n this.log.warn(\"No peers found. Ensure you have a connection to the network.\");\n }\n if (sortedFilteredPeers.length < numPeers) {\n this.log.warn(`Only ${sortedFilteredPeers.length} peers found. Requested ${numPeers}.`);\n }\n return sortedFilteredPeers;\n }\n} //# sourceMappingURL=base_protocol.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2Jhc2VfcHJvdG9jb2wuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBdUQ7QUFDNEQ7QUFDekQ7QUFDTjtBQUNwRDs7O0NBR0MsR0FDTSxNQUFNTTtJQVNUQyxZQUFZQyxVQUFVLEVBQUVDLFVBQVUsRUFBRUMsR0FBRyxFQUFFQyxZQUFZLEVBQUVDLE9BQU8sQ0FBRTtRQUM1RCxJQUFJLENBQUNKLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsR0FBRyxHQUFHQTtRQUNYLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtRQUNwQixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLHNCQUFzQixHQUFHSixXQUFXSyxNQUFNLENBQUNDLGdCQUFnQixDQUFDQyxJQUFJLENBQUNQLFdBQVdLLE1BQU07UUFDdkYsSUFBSSxDQUFDRyx5QkFBeUIsR0FBR1IsV0FBV0ssTUFBTSxDQUFDSSxtQkFBbUIsQ0FBQ0YsSUFBSSxDQUFDUCxXQUFXSyxNQUFNO1FBQzdGLElBQUksQ0FBQ0ssYUFBYSxHQUFHLElBQUlkLDZEQUFhQSxDQUFDRyxZQUFZQyxXQUFXVyxpQkFBaUIsQ0FBQ0MsY0FBYyxDQUFDTCxJQUFJLENBQUNQLFdBQVdXLGlCQUFpQixHQUFHLElBQUksQ0FBQ1Asc0JBQXNCO0lBQ2xLO0lBQ0EsTUFBTVMsVUFBVUMsSUFBSSxFQUFFO1FBQ2xCLE9BQU8sSUFBSSxDQUFDSixhQUFhLENBQUNHLFNBQVMsQ0FBQ0M7SUFDeEM7SUFDQSxJQUFJQyxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUNmLFVBQVUsQ0FBQ2UsU0FBUztJQUNwQztJQUNBOzs7O0tBSUMsR0FDRCxNQUFNQyxXQUFXO1FBQ2IsT0FBT3ZCLHVFQUFtQkEsQ0FBQyxJQUFJLENBQUNzQixTQUFTLEVBQUU7WUFBQyxJQUFJLENBQUNoQixVQUFVO1NBQUM7SUFDaEU7SUFDQSxNQUFNa0IsaUJBQWlCO1FBQ25CLE1BQU1DLFFBQVEsTUFBTSxJQUFJLENBQUNGLFFBQVE7UUFDakMsT0FBT0UsTUFBTUMsTUFBTSxDQUFDLENBQUNMO1lBQ2pCLE9BQVEsSUFBSSxDQUFDZCxVQUFVLENBQUNXLGlCQUFpQixDQUFDQyxjQUFjLENBQUNFLEtBQUtNLEVBQUUsRUFBRUMsTUFBTSxHQUFHO1FBQy9FO0lBQ0o7SUFDQTs7Ozs7OztJQU9BLEdBQ0EsTUFBTUMsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLGlCQUFpQixFQUFFLEdBQUc7UUFDN0NBLG1CQUFtQjtRQUNuQkQsVUFBVTtJQUNkLENBQUMsRUFBRTtRQUNDLGlGQUFpRjtRQUNqRixNQUFNRSxvQ0FBb0MsTUFBTWpDLHdGQUFvQ0EsQ0FBQyxJQUFJLENBQUNRLFVBQVUsQ0FBQ1csaUJBQWlCLENBQUNDLGNBQWMsSUFBSSxJQUFJLENBQUNHLFNBQVMsRUFBRTtZQUFDLElBQUksQ0FBQ2hCLFVBQVU7U0FBQyxFQUFFLElBQUksQ0FBQ0ksT0FBTyxFQUFFdUIsWUFDcExuQyxxRUFBd0JBLENBQUMsSUFBSSxDQUFDWSxPQUFPLENBQUN1QixTQUFTLEVBQUVBLFNBQVMsR0FDMURDO1FBQ04sa0VBQWtFO1FBQ2xFLE1BQU1DLGdCQUFnQmpDLHVFQUFzQkEsQ0FBQzhCLG1DQUFtQ0YsVUFBVUM7UUFDMUYsNEJBQTRCO1FBQzVCLE1BQU1LLHNCQUFzQixNQUFNbkMsc0VBQWtCQSxDQUFDLElBQUksQ0FBQ3FCLFNBQVMsRUFBRWE7UUFDckUsSUFBSUMsb0JBQW9CUixNQUFNLEtBQUssR0FBRztZQUNsQyxJQUFJLENBQUNwQixHQUFHLENBQUM2QixJQUFJLENBQUM7UUFDbEI7UUFDQSxJQUFJRCxvQkFBb0JSLE1BQU0sR0FBR0UsVUFBVTtZQUN2QyxJQUFJLENBQUN0QixHQUFHLENBQUM2QixJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUVELG9CQUFvQlIsTUFBTSxDQUFDLHdCQUF3QixFQUFFRSxTQUFTLENBQUMsQ0FBQztRQUMxRjtRQUNBLE9BQU9NO0lBQ1g7QUFDSixFQUNBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9kaXN0L2xpYi9iYXNlX3Byb3RvY29sLmpzPzExNzAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5zdXJlU2hhcmRpbmdDb25maWd1cmVkIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBnZXRDb25uZWN0ZWRQZWVyc0ZvclByb3RvY29sQW5kU2hhcmQsIGdldFBlZXJzRm9yUHJvdG9jb2wsIHNvcnRQZWVyc0J5TGF0ZW5jeSB9IGZyb20gXCJAd2FrdS91dGlscy9saWJwMnBcIjtcbmltcG9ydCB7IGZpbHRlclBlZXJzQnlEaXNjb3ZlcnkgfSBmcm9tIFwiLi9maWx0ZXJQZWVycy5qc1wiO1xuaW1wb3J0IHsgU3RyZWFtTWFuYWdlciB9IGZyb20gXCIuL3N0cmVhbV9tYW5hZ2VyLmpzXCI7XG4vKipcbiAqIEEgY2xhc3Mgd2l0aCBwcmVkZWZpbmVkIGhlbHBlcnMsIHRvIGJlIHVzZWQgYXMgYSBiYXNlIHRvIGltcGxlbWVudCBXYWt1XG4gKiBQcm90b2NvbHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXNlUHJvdG9jb2wge1xuICAgIG11bHRpY29kZWM7XG4gICAgY29tcG9uZW50cztcbiAgICBsb2c7XG4gICAgcHVic3ViVG9waWNzO1xuICAgIG9wdGlvbnM7XG4gICAgYWRkTGlicDJwRXZlbnRMaXN0ZW5lcjtcbiAgICByZW1vdmVMaWJwMnBFdmVudExpc3RlbmVyO1xuICAgIHN0cmVhbU1hbmFnZXI7XG4gICAgY29uc3RydWN0b3IobXVsdGljb2RlYywgY29tcG9uZW50cywgbG9nLCBwdWJzdWJUb3BpY3MsIG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5tdWx0aWNvZGVjID0gbXVsdGljb2RlYztcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gY29tcG9uZW50cztcbiAgICAgICAgdGhpcy5sb2cgPSBsb2c7XG4gICAgICAgIHRoaXMucHVic3ViVG9waWNzID0gcHVic3ViVG9waWNzO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLmFkZExpYnAycEV2ZW50TGlzdGVuZXIgPSBjb21wb25lbnRzLmV2ZW50cy5hZGRFdmVudExpc3RlbmVyLmJpbmQoY29tcG9uZW50cy5ldmVudHMpO1xuICAgICAgICB0aGlzLnJlbW92ZUxpYnAycEV2ZW50TGlzdGVuZXIgPSBjb21wb25lbnRzLmV2ZW50cy5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQoY29tcG9uZW50cy5ldmVudHMpO1xuICAgICAgICB0aGlzLnN0cmVhbU1hbmFnZXIgPSBuZXcgU3RyZWFtTWFuYWdlcihtdWx0aWNvZGVjLCBjb21wb25lbnRzLmNvbm5lY3Rpb25NYW5hZ2VyLmdldENvbm5lY3Rpb25zLmJpbmQoY29tcG9uZW50cy5jb25uZWN0aW9uTWFuYWdlciksIHRoaXMuYWRkTGlicDJwRXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuICAgIGFzeW5jIGdldFN0cmVhbShwZWVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0cmVhbU1hbmFnZXIuZ2V0U3RyZWFtKHBlZXIpO1xuICAgIH1cbiAgICBnZXQgcGVlclN0b3JlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRzLnBlZXJTdG9yZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBrbm93biBwZWVycyBmcm9tIHRoZSBhZGRyZXNzIGJvb2sgKGBsaWJwMnAucGVlclN0b3JlYCkgdGhhdCBzdXBwb3J0XG4gICAgICogdGhlIGNsYXNzIHByb3RvY29sLiBXYWt1IG1heSBvciBtYXkgbm90IGJlIGN1cnJlbnRseSBjb25uZWN0ZWQgdG8gdGhlc2VcbiAgICAgKiBwZWVycy5cbiAgICAgKi9cbiAgICBhc3luYyBhbGxQZWVycygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBlZXJzRm9yUHJvdG9jb2wodGhpcy5wZWVyU3RvcmUsIFt0aGlzLm11bHRpY29kZWNdKTtcbiAgICB9XG4gICAgYXN5bmMgY29ubmVjdGVkUGVlcnMoKSB7XG4gICAgICAgIGNvbnN0IHBlZXJzID0gYXdhaXQgdGhpcy5hbGxQZWVycygpO1xuICAgICAgICByZXR1cm4gcGVlcnMuZmlsdGVyKChwZWVyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuY29tcG9uZW50cy5jb25uZWN0aW9uTWFuYWdlci5nZXRDb25uZWN0aW9ucyhwZWVyLmlkKS5sZW5ndGggPiAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgY29ubmVjdGVkIHBlZXJzIHRoYXQgc3VwcG9ydCB0aGUgcHJvdG9jb2wuIFRoZSBsaXN0IGlzIHNvcnRlZCBieSBsYXRlbmN5LlxuICAgICAqXG4gICAgICogQHBhcmFtIG51bVBlZXJzIC0gVGhlIHRvdGFsIG51bWJlciBvZiBwZWVycyB0byByZXRyaWV2ZS4gSWYgMCwgYWxsIHBlZXJzIGFyZSByZXR1cm5lZC5cbiAgICAgKiBAcGFyYW0gbWF4Qm9vdHN0cmFwUGVlcnMgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgYm9vdHN0cmFwIHBlZXJzIHRvIHJldHJpZXZlLlxuICBcbiAgICAqIEByZXR1cm5zIEEgbGlzdCBvZiBwZWVycyB0aGF0IHN1cHBvcnQgdGhlIHByb3RvY29sIHNvcnRlZCBieSBsYXRlbmN5LlxuICAgICovXG4gICAgYXN5bmMgZ2V0UGVlcnMoeyBudW1QZWVycywgbWF4Qm9vdHN0cmFwUGVlcnMgfSA9IHtcbiAgICAgICAgbWF4Qm9vdHN0cmFwUGVlcnM6IDEsXG4gICAgICAgIG51bVBlZXJzOiAwXG4gICAgfSkge1xuICAgICAgICAvLyBSZXRyaWV2ZSBhbGwgY29ubmVjdGVkIHBlZXJzIHRoYXQgc3VwcG9ydCB0aGUgcHJvdG9jb2wgJiBzaGFyZCAoaWYgY29uZmlndXJlZClcbiAgICAgICAgY29uc3QgY29ubmVjdGVkUGVlcnNGb3JQcm90b2NvbEFuZFNoYXJkID0gYXdhaXQgZ2V0Q29ubmVjdGVkUGVlcnNGb3JQcm90b2NvbEFuZFNoYXJkKHRoaXMuY29tcG9uZW50cy5jb25uZWN0aW9uTWFuYWdlci5nZXRDb25uZWN0aW9ucygpLCB0aGlzLnBlZXJTdG9yZSwgW3RoaXMubXVsdGljb2RlY10sIHRoaXMub3B0aW9ucz8uc2hhcmRJbmZvXG4gICAgICAgICAgICA/IGVuc3VyZVNoYXJkaW5nQ29uZmlndXJlZCh0aGlzLm9wdGlvbnMuc2hhcmRJbmZvKS5zaGFyZEluZm9cbiAgICAgICAgICAgIDogdW5kZWZpbmVkKTtcbiAgICAgICAgLy8gRmlsdGVyIHRoZSBwZWVycyBiYXNlZCBvbiBkaXNjb3ZlcnkgJiBudW1iZXIgb2YgcGVlcnMgcmVxdWVzdGVkXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkUGVlcnMgPSBmaWx0ZXJQZWVyc0J5RGlzY292ZXJ5KGNvbm5lY3RlZFBlZXJzRm9yUHJvdG9jb2xBbmRTaGFyZCwgbnVtUGVlcnMsIG1heEJvb3RzdHJhcFBlZXJzKTtcbiAgICAgICAgLy8gU29ydCB0aGUgcGVlcnMgYnkgbGF0ZW5jeVxuICAgICAgICBjb25zdCBzb3J0ZWRGaWx0ZXJlZFBlZXJzID0gYXdhaXQgc29ydFBlZXJzQnlMYXRlbmN5KHRoaXMucGVlclN0b3JlLCBmaWx0ZXJlZFBlZXJzKTtcbiAgICAgICAgaWYgKHNvcnRlZEZpbHRlcmVkUGVlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmxvZy53YXJuKFwiTm8gcGVlcnMgZm91bmQuIEVuc3VyZSB5b3UgaGF2ZSBhIGNvbm5lY3Rpb24gdG8gdGhlIG5ldHdvcmsuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0ZWRGaWx0ZXJlZFBlZXJzLmxlbmd0aCA8IG51bVBlZXJzKSB7XG4gICAgICAgICAgICB0aGlzLmxvZy53YXJuKGBPbmx5ICR7c29ydGVkRmlsdGVyZWRQZWVycy5sZW5ndGh9IHBlZXJzIGZvdW5kLiBSZXF1ZXN0ZWQgJHtudW1QZWVyc30uYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNvcnRlZEZpbHRlcmVkUGVlcnM7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YmFzZV9wcm90b2NvbC5qcy5tYXAiXSwibmFtZXMiOlsiZW5zdXJlU2hhcmRpbmdDb25maWd1cmVkIiwiZ2V0Q29ubmVjdGVkUGVlcnNGb3JQcm90b2NvbEFuZFNoYXJkIiwiZ2V0UGVlcnNGb3JQcm90b2NvbCIsInNvcnRQZWVyc0J5TGF0ZW5jeSIsImZpbHRlclBlZXJzQnlEaXNjb3ZlcnkiLCJTdHJlYW1NYW5hZ2VyIiwiQmFzZVByb3RvY29sIiwiY29uc3RydWN0b3IiLCJtdWx0aWNvZGVjIiwiY29tcG9uZW50cyIsImxvZyIsInB1YnN1YlRvcGljcyIsIm9wdGlvbnMiLCJhZGRMaWJwMnBFdmVudExpc3RlbmVyIiwiZXZlbnRzIiwiYWRkRXZlbnRMaXN0ZW5lciIsImJpbmQiLCJyZW1vdmVMaWJwMnBFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInN0cmVhbU1hbmFnZXIiLCJjb25uZWN0aW9uTWFuYWdlciIsImdldENvbm5lY3Rpb25zIiwiZ2V0U3RyZWFtIiwicGVlciIsInBlZXJTdG9yZSIsImFsbFBlZXJzIiwiY29ubmVjdGVkUGVlcnMiLCJwZWVycyIsImZpbHRlciIsImlkIiwibGVuZ3RoIiwiZ2V0UGVlcnMiLCJudW1QZWVycyIsIm1heEJvb3RzdHJhcFBlZXJzIiwiY29ubmVjdGVkUGVlcnNGb3JQcm90b2NvbEFuZFNoYXJkIiwic2hhcmRJbmZvIiwidW5kZWZpbmVkIiwiZmlsdGVyZWRQZWVycyIsInNvcnRlZEZpbHRlcmVkUGVlcnMiLCJ3YXJuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/base_protocol.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/connection_manager.js":
/*!***************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/connection_manager.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConnectionManager: () => (/* binding */ ConnectionManager),\n/* harmony export */ DEFAULT_MAX_BOOTSTRAP_PEERS_ALLOWED: () => (/* binding */ DEFAULT_MAX_BOOTSTRAP_PEERS_ALLOWED),\n/* harmony export */ DEFAULT_MAX_DIAL_ATTEMPTS_FOR_PEER: () => (/* binding */ DEFAULT_MAX_DIAL_ATTEMPTS_FOR_PEER),\n/* harmony export */ DEFAULT_MAX_PARALLEL_DIALS: () => (/* binding */ DEFAULT_MAX_PARALLEL_DIALS)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/event-target.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _keep_alive_manager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keep_alive_manager.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/keep_alive_manager.js\");\n\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_1__.Logger(\"connection-manager\");\nconst DEFAULT_MAX_BOOTSTRAP_PEERS_ALLOWED = 1;\nconst DEFAULT_MAX_DIAL_ATTEMPTS_FOR_PEER = 3;\nconst DEFAULT_MAX_PARALLEL_DIALS = 3;\nclass ConnectionManager extends _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.TypedEventEmitter {\n static{\n this.instances = new Map();\n }\n isConnected() {\n return this.online;\n }\n toggleOnline() {\n if (!this.online) {\n this.online = true;\n this.dispatchEvent(new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CustomEvent(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.EConnectionStateEvents.CONNECTION_STATUS, {\n detail: this.online\n }));\n }\n }\n toggleOffline() {\n if (this.online && this.libp2p.getConnections().length == 0) {\n this.online = false;\n this.dispatchEvent(new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CustomEvent(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.EConnectionStateEvents.CONNECTION_STATUS, {\n detail: this.online\n }));\n }\n }\n static create(peerId, libp2p, keepAliveOptions, pubsubTopics, relay, options) {\n let instance = ConnectionManager.instances.get(peerId);\n if (!instance) {\n instance = new ConnectionManager(libp2p, keepAliveOptions, pubsubTopics, relay, options);\n ConnectionManager.instances.set(peerId, instance);\n }\n return instance;\n }\n async getPeersByDiscovery() {\n const peersDiscovered = await this.libp2p.peerStore.all();\n const peersConnected = this.libp2p.getConnections().map((conn)=>conn.remotePeer);\n const peersDiscoveredByBootstrap = [];\n const peersDiscoveredByPeerExchange = [];\n const peersDiscoveredByLocal = [];\n const peersConnectedByBootstrap = [];\n const peersConnectedByPeerExchange = [];\n const peersConnectedByLocal = [];\n for (const peer of peersDiscovered){\n const tags = await this.getTagNamesForPeer(peer.id);\n if (tags.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP)) {\n peersDiscoveredByBootstrap.push(peer);\n } else if (tags.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.PEER_EXCHANGE)) {\n peersDiscoveredByPeerExchange.push(peer);\n } else if (tags.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.LOCAL)) {\n peersDiscoveredByLocal.push(peer);\n }\n }\n for (const peerId of peersConnected){\n const peer = await this.libp2p.peerStore.get(peerId);\n const tags = await this.getTagNamesForPeer(peerId);\n if (tags.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP)) {\n peersConnectedByBootstrap.push(peer);\n } else if (tags.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.PEER_EXCHANGE)) {\n peersConnectedByPeerExchange.push(peer);\n } else if (tags.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.LOCAL)) {\n peersConnectedByLocal.push(peer);\n }\n }\n return {\n DISCOVERED: {\n [_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP]: peersDiscoveredByBootstrap,\n [_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.PEER_EXCHANGE]: peersDiscoveredByPeerExchange,\n [_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.LOCAL]: peersDiscoveredByLocal\n },\n CONNECTED: {\n [_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP]: peersConnectedByBootstrap,\n [_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.PEER_EXCHANGE]: peersConnectedByPeerExchange,\n [_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.LOCAL]: peersConnectedByLocal\n }\n };\n }\n constructor(libp2p, keepAliveOptions, configuredPubsubTopics, relay, options){\n super();\n this.dialAttemptsForPeer = new Map();\n this.dialErrorsForPeer = new Map();\n this.currentActiveParallelDialCount = 0;\n this.pendingPeerDialQueue = [];\n this.online = false;\n this.onEventHandlers = {\n \"peer:discovery\": (evt)=>{\n void (async ()=>{\n const { id: peerId } = evt.detail;\n await this.dispatchDiscoveryEvent(peerId);\n try {\n await this.attemptDial(peerId);\n } catch (error) {\n log.error(`Error dialing peer ${peerId.toString()} : ${error}`);\n }\n })();\n },\n \"peer:connect\": (evt)=>{\n void (async ()=>{\n log.info(`Connected to peer ${evt.detail.toString()}`);\n const peerId = evt.detail;\n this.keepAliveManager.start(peerId, this.libp2p.services.ping, this.libp2p.peerStore);\n const isBootstrap = (await this.getTagNamesForPeer(peerId)).includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP);\n if (isBootstrap) {\n const bootstrapConnections = this.libp2p.getConnections().filter((conn)=>conn.tags.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP));\n // If we have too many bootstrap connections, drop one\n if (bootstrapConnections.length > this.options.maxBootstrapPeersAllowed) {\n await this.dropConnection(peerId);\n } else {\n this.dispatchEvent(new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CustomEvent(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.EPeersByDiscoveryEvents.PEER_CONNECT_BOOTSTRAP, {\n detail: peerId\n }));\n }\n } else {\n this.dispatchEvent(new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CustomEvent(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.EPeersByDiscoveryEvents.PEER_CONNECT_PEER_EXCHANGE, {\n detail: peerId\n }));\n }\n this.toggleOnline();\n })();\n },\n \"peer:disconnect\": (evt)=>{\n void (async ()=>{\n this.keepAliveManager.stop(evt.detail);\n this.toggleOffline();\n })();\n }\n };\n this.configuredPubsubTopics = configuredPubsubTopics;\n this.libp2p = libp2p;\n this.configuredPubsubTopics = configuredPubsubTopics;\n this.options = {\n maxDialAttemptsForPeer: DEFAULT_MAX_DIAL_ATTEMPTS_FOR_PEER,\n maxBootstrapPeersAllowed: DEFAULT_MAX_BOOTSTRAP_PEERS_ALLOWED,\n maxParallelDials: DEFAULT_MAX_PARALLEL_DIALS,\n ...options\n };\n this.keepAliveManager = new _keep_alive_manager_js__WEBPACK_IMPORTED_MODULE_2__.KeepAliveManager(keepAliveOptions, relay);\n this.run().then(()=>log.info(`Connection Manager is now running`)).catch((error)=>log.error(`Unexpected error while running service`, error));\n // libp2p emits `peer:discovery` events during its initialization\n // which means that before the ConnectionManager is initialized, some peers may have been discovered\n // we will dial the peers in peerStore ONCE before we start to listen to the `peer:discovery` events within the ConnectionManager\n this.dialPeerStorePeers().catch((error)=>log.error(`Unexpected error while dialing peer store peers`, error));\n }\n async dialPeerStorePeers() {\n const peerInfos = await this.libp2p.peerStore.all();\n const dialPromises = [];\n for (const peerInfo of peerInfos){\n if (this.libp2p.getConnections().find((c)=>c.remotePeer === peerInfo.id)) continue;\n dialPromises.push(this.attemptDial(peerInfo.id));\n }\n try {\n await Promise.all(dialPromises);\n } catch (error) {\n log.error(`Unexpected error while dialing peer store peers`, error);\n }\n }\n async run() {\n // start event listeners\n this.startPeerDiscoveryListener();\n this.startPeerConnectionListener();\n this.startPeerDisconnectionListener();\n }\n stop() {\n this.keepAliveManager.stopAll();\n this.libp2p.removeEventListener(\"peer:connect\", this.onEventHandlers[\"peer:connect\"]);\n this.libp2p.removeEventListener(\"peer:disconnect\", this.onEventHandlers[\"peer:disconnect\"]);\n this.libp2p.removeEventListener(\"peer:discovery\", this.onEventHandlers[\"peer:discovery\"]);\n }\n async dialPeer(peerId) {\n this.currentActiveParallelDialCount += 1;\n let dialAttempt = 0;\n while(dialAttempt < this.options.maxDialAttemptsForPeer){\n try {\n log.info(`Dialing peer ${peerId.toString()} on attempt ${dialAttempt + 1}`);\n await this.libp2p.dial(peerId);\n const tags = await this.getTagNamesForPeer(peerId);\n // add tag to connection describing discovery mechanism\n // don't add duplicate tags\n this.libp2p.getConnections(peerId).forEach((conn)=>{\n conn.tags = Array.from(new Set([\n ...conn.tags,\n ...tags\n ]));\n });\n // instead of deleting the peer from the peer store, we set the dial attempt to -1\n // this helps us keep track of peers that have been dialed before\n this.dialAttemptsForPeer.set(peerId.toString(), -1);\n break;\n } catch (error) {\n if (error instanceof AggregateError) {\n // Handle AggregateError\n log.error(`Error dialing peer ${peerId.toString()} - ${error.errors}`);\n } else {\n // Handle generic error\n log.error(`Error dialing peer ${peerId.toString()} - ${error.message}`);\n }\n this.dialErrorsForPeer.set(peerId.toString(), error);\n dialAttempt++;\n this.dialAttemptsForPeer.set(peerId.toString(), dialAttempt);\n }\n }\n // Always decrease the active dial count and process the dial queue\n this.currentActiveParallelDialCount--;\n this.processDialQueue();\n // If max dial attempts reached and dialing failed, delete the peer\n if (dialAttempt === this.options.maxDialAttemptsForPeer) {\n try {\n const error = this.dialErrorsForPeer.get(peerId.toString());\n if (error) {\n let errorMessage;\n if (error instanceof AggregateError) {\n if (!error.errors) {\n log.warn(`No errors array found for AggregateError`);\n } else if (error.errors.length === 0) {\n log.warn(`Errors array is empty for AggregateError`);\n } else {\n errorMessage = JSON.stringify(error.errors[0]);\n }\n } else {\n errorMessage = error.message;\n }\n log.info(`Deleting undialable peer ${peerId.toString()} from peer store. Reason: ${errorMessage}`);\n }\n this.dialErrorsForPeer.delete(peerId.toString());\n await this.libp2p.peerStore.delete(peerId);\n } catch (error) {\n throw new Error(`Error deleting undialable peer ${peerId.toString()} from peer store - ${error}`);\n }\n }\n }\n async dropConnection(peerId) {\n try {\n this.keepAliveManager.stop(peerId);\n await this.libp2p.hangUp(peerId);\n log.info(`Dropped connection with peer ${peerId.toString()}`);\n } catch (error) {\n log.error(`Error dropping connection with peer ${peerId.toString()} - ${error}`);\n }\n }\n processDialQueue() {\n if (this.pendingPeerDialQueue.length > 0 && this.currentActiveParallelDialCount < this.options.maxParallelDials) {\n const peerId = this.pendingPeerDialQueue.shift();\n if (!peerId) return;\n this.attemptDial(peerId).catch((error)=>{\n log.error(error);\n });\n }\n }\n startPeerDiscoveryListener() {\n this.libp2p.addEventListener(\"peer:discovery\", this.onEventHandlers[\"peer:discovery\"]);\n }\n startPeerConnectionListener() {\n this.libp2p.addEventListener(\"peer:connect\", this.onEventHandlers[\"peer:connect\"]);\n }\n startPeerDisconnectionListener() {\n // TODO: ensure that these following issues are updated and confirmed\n /**\n * NOTE: Event is not being emitted on closing nor losing a connection.\n * @see https://github.com/libp2p/js-libp2p/issues/939\n * @see https://github.com/status-im/js-waku/issues/252\n *\n * >This event will be triggered anytime we are disconnected from another peer,\n * >regardless of the circumstances of that disconnection.\n * >If we happen to have multiple connections to a peer,\n * >this event will **only** be triggered when the last connection is closed.\n * @see https://github.com/libp2p/js-libp2p/blob/bad9e8c0ff58d60a78314077720c82ae331cc55b/doc/API.md?plain=1#L2100\n */ this.libp2p.addEventListener(\"peer:disconnect\", this.onEventHandlers[\"peer:disconnect\"]);\n }\n async attemptDial(peerId) {\n if (!await this.shouldDialPeer(peerId)) return;\n if (this.currentActiveParallelDialCount >= this.options.maxParallelDials) {\n this.pendingPeerDialQueue.push(peerId);\n return;\n }\n this.dialPeer(peerId).catch((err)=>{\n log.error(`Error dialing peer ${peerId.toString()} : ${err}`);\n });\n }\n /**\n * Checks if the peer should be dialed based on the following conditions:\n * 1. If the peer is already connected, don't dial\n * 2. If the peer is not part of any of the configured pubsub topics, don't dial\n * 3. If the peer is not dialable based on bootstrap status, don't dial\n * 4. If the peer is already has an active dial attempt, or has been dialed before, don't dial it\n * @returns true if the peer should be dialed, false otherwise\n */ async shouldDialPeer(peerId) {\n // if we're already connected to the peer, don't dial\n const isConnected = this.libp2p.getConnections(peerId).length > 0;\n if (isConnected) {\n log.warn(`Already connected to peer ${peerId.toString()}. Not dialing.`);\n return false;\n }\n // if the peer is not part of any of the configured pubsub topics, don't dial\n if (!await this.isPeerTopicConfigured(peerId)) {\n const shardInfo = await this.getPeerShardInfo(peerId, this.libp2p.peerStore);\n log.warn(`Discovered peer ${peerId.toString()} with ShardInfo ${shardInfo} is not part of any of the configured pubsub topics (${this.configuredPubsubTopics}).\n Not dialing.`);\n return false;\n }\n // if the peer is not dialable based on bootstrap status, don't dial\n if (!await this.isPeerDialableBasedOnBootstrapStatus(peerId)) {\n log.warn(`Peer ${peerId.toString()} is not dialable based on bootstrap status. Not dialing.`);\n return false;\n }\n // If the peer is already already has an active dial attempt, or has been dialed before, don't dial it\n if (this.dialAttemptsForPeer.has(peerId.toString())) {\n log.warn(`Peer ${peerId.toString()} has already been attempted dial before, or already has a dial attempt in progress, skipping dial`);\n return false;\n }\n return true;\n }\n /**\n * Checks if the peer is dialable based on the following conditions:\n * 1. If the peer is a bootstrap peer, it is only dialable if the number of current bootstrap connections is less than the max allowed.\n * 2. If the peer is not a bootstrap peer\n */ async isPeerDialableBasedOnBootstrapStatus(peerId) {\n const tagNames = await this.getTagNamesForPeer(peerId);\n const isBootstrap = tagNames.some((tagName)=>tagName === _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP);\n if (isBootstrap) {\n const currentBootstrapConnections = this.libp2p.getConnections().filter((conn)=>{\n return conn.tags.find((name)=>name === _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP);\n }).length;\n if (currentBootstrapConnections < this.options.maxBootstrapPeersAllowed) return true;\n } else {\n return true;\n }\n return false;\n }\n async dispatchDiscoveryEvent(peerId) {\n const isBootstrap = (await this.getTagNamesForPeer(peerId)).includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP);\n this.dispatchEvent(new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CustomEvent(isBootstrap ? _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.EPeersByDiscoveryEvents.PEER_DISCOVERY_BOOTSTRAP : _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.EPeersByDiscoveryEvents.PEER_DISCOVERY_PEER_EXCHANGE, {\n detail: peerId\n }));\n }\n /**\n * Fetches the tag names for a given peer\n */ async getTagNamesForPeer(peerId) {\n try {\n const peer = await this.libp2p.peerStore.get(peerId);\n return Array.from(peer.tags.keys());\n } catch (error) {\n log.error(`Failed to get peer ${peerId}, error: ${error}`);\n return [];\n }\n }\n async isPeerTopicConfigured(peerId) {\n const shardInfo = await this.getPeerShardInfo(peerId, this.libp2p.peerStore);\n // If there's no shard information, simply return true\n if (!shardInfo) return true;\n const pubsubTopics = (0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.shardInfoToPubsubTopics)(shardInfo);\n const isTopicConfigured = pubsubTopics.some((topic)=>this.configuredPubsubTopics.includes(topic));\n return isTopicConfigured;\n }\n async getPeerShardInfo(peerId, peerStore) {\n const peer = await peerStore.get(peerId);\n const shardInfoBytes = peer.metadata.get(\"shardInfo\");\n if (!shardInfoBytes) return undefined;\n return (0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.decodeRelayShard)(shardInfoBytes);\n }\n} //# sourceMappingURL=connection_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2Nvbm5lY3Rpb25fbWFuYWdlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFtRTtBQUNnQjtBQUMzQztBQUNnQztBQUNuQztBQUNzQjtBQUMzRCxNQUFNUyxNQUFNLElBQUlGLCtDQUFNQSxDQUFDO0FBQ2hCLE1BQU1HLHNDQUFzQyxFQUFFO0FBQzlDLE1BQU1DLHFDQUFxQyxFQUFFO0FBQzdDLE1BQU1DLDZCQUE2QixFQUFFO0FBQ3JDLE1BQU1DLDBCQUEwQlosZ0VBQWlCQTs7YUFFN0NhLFlBQVksSUFBSUM7O0lBU3ZCQyxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUNDLE1BQU07SUFDdEI7SUFDQUMsZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUNELE1BQU0sRUFBRTtZQUNkLElBQUksQ0FBQ0EsTUFBTSxHQUFHO1lBQ2QsSUFBSSxDQUFDRSxhQUFhLENBQUMsSUFBSW5CLDBEQUFXQSxDQUFDRSxvRUFBc0JBLENBQUNrQixpQkFBaUIsRUFBRTtnQkFDekVDLFFBQVEsSUFBSSxDQUFDSixNQUFNO1lBQ3ZCO1FBQ0o7SUFDSjtJQUNBSyxnQkFBZ0I7UUFDWixJQUFJLElBQUksQ0FBQ0wsTUFBTSxJQUFJLElBQUksQ0FBQ00sTUFBTSxDQUFDQyxjQUFjLEdBQUdDLE1BQU0sSUFBSSxHQUFHO1lBQ3pELElBQUksQ0FBQ1IsTUFBTSxHQUFHO1lBQ2QsSUFBSSxDQUFDRSxhQUFhLENBQUMsSUFBSW5CLDBEQUFXQSxDQUFDRSxvRUFBc0JBLENBQUNrQixpQkFBaUIsRUFBRTtnQkFDekVDLFFBQVEsSUFBSSxDQUFDSixNQUFNO1lBQ3ZCO1FBQ0o7SUFDSjtJQUNBLE9BQU9TLE9BQU9DLE1BQU0sRUFBRUosTUFBTSxFQUFFSyxnQkFBZ0IsRUFBRUMsWUFBWSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRTtRQUMxRSxJQUFJQyxXQUFXbkIsa0JB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LGdCQUNELE9BQU9FO1FBQ1gsT0FBT3hJLDZEQUFnQkEsQ0FBQ3NJO0lBQzVCO0FBQ0osRUFDQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2NvcmUvZGlzdC9saWIvY29ubmVjdGlvbl9tYW5hZ2VyLmpzPzc5OGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tRXZlbnQsIFR5cGVkRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBsaWJwMnAvaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBFQ29ubmVjdGlvblN0YXRlRXZlbnRzLCBFUGVlcnNCeURpc2NvdmVyeUV2ZW50cyB9IGZyb20gXCJAd2FrdS9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBUYWdzIH0gZnJvbSBcIkB3YWt1L2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IGRlY29kZVJlbGF5U2hhcmQsIHNoYXJkSW5mb1RvUHVic3ViVG9waWNzIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tIFwiQHdha3UvdXRpbHNcIjtcbmltcG9ydCB7IEtlZXBBbGl2ZU1hbmFnZXIgfSBmcm9tIFwiLi9rZWVwX2FsaXZlX21hbmFnZXIuanNcIjtcbmNvbnN0IGxvZyA9IG5ldyBMb2dnZXIoXCJjb25uZWN0aW9uLW1hbmFnZXJcIik7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVhfQk9PVFNUUkFQX1BFRVJTX0FMTE9XRUQgPSAxO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFYX0RJQUxfQVRURU1QVFNfRk9SX1BFRVIgPSAzO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFYX1BBUkFMTEVMX0RJQUxTID0gMztcbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uTWFuYWdlciBleHRlbmRzIFR5cGVkRXZlbnRFbWl0dGVyIHtcbiAgICBjb25maWd1cmVkUHVic3ViVG9waWNzO1xuICAgIHN0YXRpYyBpbnN0YW5jZXMgPSBuZXcgTWFwKCk7XG4gICAga2VlcEFsaXZlTWFuYWdlcjtcbiAgICBvcHRpb25zO1xuICAgIGxpYnAycDtcbiAgICBkaWFsQXR0ZW1wdHNGb3JQZWVyID0gbmV3IE1hcCgpO1xuICAgIGRpYWxFcnJvcnNGb3JQZWVyID0gbmV3IE1hcCgpO1xuICAgIGN1cnJlbnRBY3RpdmVQYXJhbGxlbERpYWxDb3VudCA9IDA7XG4gICAgcGVuZGluZ1BlZXJEaWFsUXVldWUgPSBbXTtcbiAgICBvbmxpbmUgPSBmYWxzZTtcbiAgICBpc0Nvbm5lY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub25saW5lO1xuICAgIH1cbiAgICB0b2dnbGVPbmxpbmUoKSB7XG4gICAgICAgIGlmICghdGhpcy5vbmxpbmUpIHtcbiAgICAgICAgICAgIHRoaXMub25saW5lID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoRUNvbm5lY3Rpb25TdGF0ZUV2ZW50cy5DT05ORUNUSU9OX1NUQVRVUywge1xuICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy5vbmxpbmVcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0b2dnbGVPZmZsaW5lKCkge1xuICAgICAgICBpZiAodGhpcy5vbmxpbmUgJiYgdGhpcy5saWJwMnAuZ2V0Q29ubmVjdGlvbnMoKS5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5vbmxpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoRUNvbm5lY3Rpb25TdGF0ZUV2ZW50cy5DT05ORUNUSU9OX1NUQVRVUywge1xuICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy5vbmxpbmVcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlKHBlZXJJZCwgbGlicDJwLCBrZWVwQWxpdmVPcHRpb25zLCBwdWJzdWJUb3BpY3MsIHJlbGF5LCBvcHRpb25zKSB7XG4gICAgICAgIGxldCBpbnN0YW5jZSA9IENvbm5lY3Rpb25NYW5hZ2VyLmluc3RhbmNlcy5nZXQocGVlcklkKTtcbiAgICAgICAgaWYgKCFpbnN0YW5jZSkge1xuICAgICAgICAgICAgaW5zdGFuY2UgPSBuZXcgQ29ubmVjdGlvbk1hbmFnZXIobGlicDJwLCBrZWVwQWxpdmVPcHRpb25zLCBwdWJzdWJUb3BpY3MsIHJlbGF5LCBvcHRpb25zKTtcbiAgICAgICAgICAgIENvbm5lY3Rpb25NYW5hZ2VyLmluc3RhbmNlcy5zZXQocGVlcklkLCBpbnN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgIH1cbiAgICBhc3luYyBnZXRQZWVyc0J5RGlzY292ZXJ5KCkge1xuICAgICAgICBjb25zdCBwZWVyc0Rpc2NvdmVyZWQgPSBhd2FpdCB0aGlzLmxpYnAycC5wZWVyU3RvcmUuYWxsKCk7XG4gICAgICAgIGNvbnN0IHBlZXJzQ29ubmVjdGVkID0gdGhpcy5saWJwMnBcbiAgICAgICAgICAgIC5nZXRDb25uZWN0aW9ucygpXG4gICAgICAgICAgICAubWFwKChjb25uKSA9PiBjb25uLnJlbW90ZVBlZXIpO1xuICAgICAgICBjb25zdCBwZWVyc0Rpc2NvdmVyZWRCeUJvb3RzdHJhcCA9IFtdO1xuICAgICAgICBjb25zdCBwZWVyc0Rpc2NvdmVyZWRCeVBlZXJFeGNoYW5nZSA9IFtdO1xuICAgICAgICBjb25zdCBwZWVyc0Rpc2NvdmVyZWRCeUxvY2FsID0gW107XG4gICAgICAgIGNvbnN0IHBlZXJzQ29ubmVjdGVkQnlCb290c3RyYXAgPSBbXTtcbiAgICAgICAgY29uc3QgcGVlcnNDb25uZWN0ZWRCeVBlZXJFeGNoYW5nZSA9IFtdO1xuICAgICAgICBjb25zdCBwZWVyc0Nvbm5lY3RlZEJ5TG9jYWwgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBwZWVyIG9mIHBlZXJzRGlzY292ZXJlZCkge1xuICAgICAgICAgICAgY29uc3QgdGFncyA9IGF3YWl0IHRoaXMuZ2V0VGFnTmFtZXNGb3JQZWVyKHBlZXIuaWQpO1xuICAgICAgICAgICAgaWYgKHRhZ3MuaW5jbHVkZXMoVGFncy5CT09UU1RSQVApKSB7XG4gICAgICAgICAgICAgICAgcGVlcnNEaXNjb3ZlcmVkQnlCb290c3RyYXAucHVzaChwZWVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHRhZ3MuaW5jbHVkZXMoVGFncy5QRUVSX0VYQ0hBTkdFKSkge1xuICAgICAgICAgICAgICAgIHBlZXJzRGlzY292ZXJlZEJ5UGVlckV4Y2hhbmdlLnB1c2gocGVlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh0YWdzLmluY2x1ZGVzKFRhZ3MuTE9DQUwpKSB7XG4gICAgICAgICAgICAgICAgcGVlcnNEaXNjb3ZlcmVkQnlMb2NhbC5wdXNoKHBlZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgcGVlcklkIG9mIHBlZXJzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgICBjb25zdCBwZWVyID0gYXdhaXQgdGhpcy5saWJwMnAucGVlclN0b3JlLmdldChwZWVySWQpO1xuICAgICAgICAgICAgY29uc3QgdGFncyA9IGF3YWl0IHRoaXMuZ2V0VGFnTmFtZXNGb3JQZWVyKHBlZXJJZCk7XG4gICAgICAgICAgICBpZiAodGFncy5pbmNsdWRlcyhUYWdzLkJPT1RTVFJBUCkpIHtcbiAgICAgICAgICAgICAgICBwZWVyc0Nvbm5lY3RlZEJ5Qm9vdHN0cmFwLnB1c2gocGVlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh0YWdzLmluY2x1ZGVzKFRhZ3MuUEVFUl9FWENIQU5HRSkpIHtcbiAgICAgICAgICAgICAgICBwZWVyc0Nvbm5lY3RlZEJ5UGVlckV4Y2hhbmdlLnB1c2gocGVlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh0YWdzLmluY2x1ZGVzKFRhZ3MuTE9DQUwpKSB7XG4gICAgICAgICAgICAgICAgcGVlcnNDb25uZWN0ZWRCeUxvY2FsLnB1c2gocGVlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIERJU0NPVkVSRUQ6IHtcbiAgICAgICAgICAgICAgICBbVGFncy5CT09UU1RSQVBdOiBwZWVyc0Rpc2NvdmVyZWRCeUJvb3RzdHJhcCxcbiAgICAgICAgICAgICAgICBbVGFncy5QRUVSX0VYQ0hBTkdFXTogcGVlcnNEaXNjb3ZlcmVkQnlQZWVyRXhjaGFuZ2UsXG4gICAgICAgICAgICAgICAgW1RhZ3MuTE9DQUxdOiBwZWVyc0Rpc2NvdmVyZWRCeUxvY2FsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgQ09OTkVDVEVEOiB7XG4gICAgICAgICAgICAgICAgW1RhZ3MuQk9PVFNUUkFQXTogcGVlcnNDb25uZWN0ZWRCeUJvb3RzdHJhcCxcbiAgICAgICAgICAgICAgICBbVGFncy5QRUVSX0VYQ0hBTkdFXTogcGVlcnNDb25uZWN0ZWRCeVBlZXJFeGNoYW5nZSxcbiAgICAgICAgICAgICAgICBbVGFncy5MT0NBTF06IHBlZXJzQ29ubmVjdGVkQnlMb2NhbFxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihsaWJwMnAsIGtlZXBBbGl2ZU9wdGlvbnMsIGNvbmZpZ3VyZWRQdWJzdWJUb3BpY3MsIHJlbGF5LCBvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29uZmlndXJlZFB1YnN1YlRvcGljcyA9IGNvbmZpZ3VyZWRQdWJzdWJUb3BpY3M7XG4gICAgICAgIHRoaXMubGlicDJwID0gbGlicDJwO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyZWRQdWJzdWJUb3BpY3MgPSBjb25maWd1cmVkUHVic3ViVG9waWNzO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAgICAgICBtYXhEaWFsQXR0ZW1wdHNGb3JQZWVyOiBERUZBVUxUX01BWF9ESUFMX0FUVEVNUFRTX0ZPUl9QRUVSLFxuICAgICAgICAgICAgbWF4Qm9vdHN0cmFwUGVlcnNBbGxvd2VkOiBERUZBVUxUX01BWF9CT09UU1RSQVBfUEVFUlNfQUxMT1dFRCxcbiAgICAgICAgICAgIG1heFBhcmFsbGVsRGlhbHM6IERFRkFVTFRfTUFYX1BBUkFMTEVMX0RJQUxTLFxuICAgICAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmtlZXBBbGl2ZU1hbmFnZXIgPSBuZXcgS2VlcEFsaXZlTWFuYWdlcihrZWVwQWxpdmVPcHRpb25zLCByZWxheSk7XG4gICAgICAgIHRoaXMucnVuKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IGxvZy5pbmZvKGBDb25uZWN0aW9uIE1hbmFnZXIgaXMgbm93IHJ1bm5pbmdgKSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGxvZy5lcnJvcihgVW5leHBlY3RlZCBlcnJvciB3aGlsZSBydW5uaW5nIHNlcnZpY2VgLCBlcnJvcikpO1xuICAgICAgICAvLyBsaWJwMnAgZW1pdHMgYHBlZXI6ZGlzY292ZXJ5YCBldmVudHMgZHVyaW5nIGl0cyBpbml0aWFsaXphdGlvblxuICAgICAgICAvLyB3aGljaCBtZWFucyB0aGF0IGJlZm9yZSB0aGUgQ29ubmVjdGlvbk1hbmFnZXIgaXMgaW5pdGlhbGl6ZWQsIHNvbWUgcGVlcnMgbWF5IGhhdmUgYmVlbiBkaXNjb3ZlcmVkXG4gICAgICAgIC8vIHdlIHdpbGwgZGlhbCB0aGUgcGVlcnMgaW4gcGVlclN0b3JlIE9OQ0UgYmVmb3JlIHdlIHN0YXJ0IHRvIGxpc3RlbiB0byB0aGUgYHBlZXI6ZGlzY292ZXJ5YCBldmVudHMgd2l0aGluIHRoZSBDb25uZWN0aW9uTWFuYWdlclxuICAgICAgICB0aGlzLmRpYWxQZWVyU3RvcmVQZWVycygpLmNhdGNoKChlcnJvcikgPT4gbG9nLmVycm9yKGBVbmV4cGVjdGVkIGVycm9yIHdoaWxlIGRpYWxpbmcgcGVlciBzdG9yZSBwZWVyc2AsIGVycm9yKSk7XG4gICAgfVxuICAgIGFzeW5jIGRpYWxQZWVyU3RvcmVQZWVycygpIHtcbiAgICAgICAgY29uc3QgcGVlckluZm9zID0gYXdhaXQgdGhpcy5saWJwMnAucGVlclN0b3JlLmFsbCgpO1xuICAgICAgICBjb25zdCBkaWFsUHJvbWlzZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBwZWVySW5mbyBvZiBwZWVySW5mb3MpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxpYnAycC5nZXRDb25uZWN0aW9ucygpLmZpbmQoKGMpID0+IGMucmVtb3RlUGVlciA9PT0gcGVlckluZm8uaWQpKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgZGlhbFByb21pc2VzLnB1c2godGhpcy5hdHRlbXB0RGlhbChwZWVySW5mby5pZCkpO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChkaWFsUHJvbWlzZXMpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgbG9nLmVycm9yKGBVbmV4cGVjdGVkIGVycm9yIHdoaWxlIGRpYWxpbmcgcGVlciBzdG9yZSBwZWVyc2AsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBydW4oKSB7XG4gICAgICAgIC8vIHN0YXJ0IGV2ZW50IGxpc3RlbmVyc1xuICAgICAgICB0aGlzLnN0YXJ0UGVlckRpc2NvdmVyeUxpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMuc3RhcnRQZWVyQ29ubmVjdGlvbkxpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMuc3RhcnRQZWVyRGlzY29ubmVjdGlvbkxpc3RlbmVyKCk7XG4gICAgfVxuICAgIHN0b3AoKSB7XG4gICAgICAgIHRoaXMua2VlcEFsaXZlTWFuYWdlci5zdG9wQWxsKCk7XG4gICAgICAgIHRoaXMubGlicDJwLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwZWVyOmNvbm5lY3RcIiwgdGhpcy5vbkV2ZW50SGFuZGxlcnNbXCJwZWVyOmNvbm5lY3RcIl0pO1xuICAgICAgICB0aGlzLmxpYnAycC5yZW1vdmVFdmVudExpc3RlbmVyKFwicGVlcjpkaXNjb25uZWN0XCIsIHRoaXMub25FdmVudEhhbmRsZXJzW1wicGVlcjpkaXNjb25uZWN0XCJdKTtcbiAgICAgICAgdGhpcy5saWJwMnAucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBlZXI6ZGlzY292ZXJ5XCIsIHRoaXMub25FdmVudEhhbmRsZXJzW1wicGVlcjpkaXNjb3ZlcnlcIl0pO1xuICAgIH1cbiAgICBhc3luYyBkaWFsUGVlcihwZWVySWQpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50QWN0aXZlUGFyYWxsZWxEaWFsQ291bnQgKz0gMTtcbiAgICAgICAgbGV0IGRpYWxBdHRlbXB0ID0gMDtcbiAgICAgICAgd2hpbGUgKGRpYWxBdHRlbXB0IDwgdGhpcy5vcHRpb25zLm1heERpYWxBdHRlbXB0c0ZvclBlZXIpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbG9nLmluZm8oYERpYWxpbmcgcGVlciAke3BlZXJJZC50b1N0cmluZygpfSBvbiBhdHRlbXB0ICR7ZGlhbEF0dGVtcHQgKyAxfWApO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubGlicDJwLmRpYWwocGVlcklkKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWdzID0gYXdhaXQgdGhpcy5nZXRUYWdOYW1lc0ZvclBlZXIocGVlcklkKTtcbiAgICAgICAgICAgICAgICAvLyBhZGQgdGFnIHRvIGNvbm5lY3Rpb24gZGVzY3JpYmluZyBkaXNjb3ZlcnkgbWVjaGFuaXNtXG4gICAgICAgICAgICAgICAgLy8gZG9uJ3QgYWRkIGR1cGxpY2F0ZSB0YWdzXG4gICAgICAgICAgICAgICAgdGhpcy5saWJwMnAuZ2V0Q29ubmVjdGlvbnMocGVlcklkKS5mb3JFYWNoKChjb25uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbm4udGFncyA9IEFycmF5LmZyb20obmV3IFNldChbLi4uY29ubi50YWdzLCAuLi50YWdzXSkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIGluc3RlYWQgb2YgZGVsZXRpbmcgdGhlIHBlZXIgZnJvbSB0aGUgcGVlciBzdG9yZSwgd2Ugc2V0IHRoZSBkaWFsIGF0dGVtcHQgdG8gLTFcbiAgICAgICAgICAgICAgICAvLyB0aGlzIGhlbHBzIHVzIGtlZXAgdHJhY2sgb2YgcGVlcnMgdGhhdCBoYXZlIGJlZW4gZGlhbGVkIGJlZm9yZVxuICAgICAgICAgICAgICAgIHRoaXMuZGlhbEF0dGVtcHRzRm9yUGVlci5zZXQocGVlcklkLnRvU3RyaW5nKCksIC0xKTtcbiAgICAgICAgICAgICAgICAvLyBEaWFsaW5nIHN1Y2NlZWRlZCwgYnJlYWsgdGhlIGxvb3BcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFnZ3JlZ2F0ZUVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBBZ2dyZWdhdGVFcnJvclxuICAgICAgICAgICAgICAgICAgICBsb2cuZXJyb3IoYEVycm9yIGRpYWxpbmcgcGVlciAke3BlZXJJZC50b1N0cmluZygpfSAtICR7ZXJyb3IuZXJyb3JzfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSGFuZGxlIGdlbmVyaWMgZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgbG9nLmVycm9yKGBFcnJvciBkaWFsaW5nIHBlZXIgJHtwZWVySWQudG9TdHJpbmcoKX0gLSAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZGlhbEVycm9yc0ZvclBlZXIuc2V0KHBlZXJJZC50b1N0cmluZygpLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgZGlhbEF0dGVtcHQrKztcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxBdHRlbXB0c0ZvclBlZXIuc2V0KHBlZXJJZC50b1N0cmluZygpLCBkaWFsQXR0ZW1wdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWx3YXlzIGRlY3JlYXNlIHRoZSBhY3RpdmUgZGlhbCBjb3VudCBhbmQgcHJvY2VzcyB0aGUgZGlhbCBxdWV1ZVxuICAgICAgICB0aGlzLmN1cnJlbnRBY3RpdmVQYXJhbGxlbERpYWxDb3VudC0tO1xuICAgICAgICB0aGlzLnByb2Nlc3NEaWFsUXVldWUoKTtcbiAgICAgICAgLy8gSWYgbWF4IGRpYWwgYXR0ZW1wdHMgcmVhY2hlZCBhbmQgZGlhbGluZyBmYWlsZWQsIGRlbGV0ZSB0aGUgcGVlclxuICAgICAgICBpZiAoZGlhbEF0dGVtcHQgPT09IHRoaXMub3B0aW9ucy5tYXhEaWFsQXR0ZW1wdHNGb3JQZWVyKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5kaWFsRXJyb3JzRm9yUGVlci5nZXQocGVlcklkLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZXJyb3JNZXNzYWdlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBZ2dyZWdhdGVFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlcnJvci5lcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2cud2FybihgTm8gZXJyb3JzIGFycmF5IGZvdW5kIGZvciBBZ2dyZWdhdGVFcnJvcmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZXJyb3IuZXJyb3JzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZy53YXJuKGBFcnJvcnMgYXJyYXkgaXMgZW1wdHkgZm9yIEFnZ3JlZ2F0ZUVycm9yYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShlcnJvci5lcnJvcnNbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsb2cuaW5mbyhgRGVsZXRpbmcgdW5kaWFsYWJsZSBwZWVyICR7cGVlcklkLnRvU3RyaW5nKCl9IGZyb20gcGVlciBzdG9yZS4gUmVhc29uOiAke2Vycm9yTWVzc2FnZX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsRXJyb3JzRm9yUGVlci5kZWxldGUocGVlcklkLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubGlicDJwLnBlZXJTdG9yZS5kZWxldGUocGVlcklkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IgZGVsZXRpbmcgdW5kaWFsYWJsZSBwZWVyICR7cGVlcklkLnRvU3RyaW5nKCl9IGZyb20gcGVlciBzdG9yZSAtICR7ZXJyb3J9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgZHJvcENvbm5lY3Rpb24ocGVlcklkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmtlZXBBbGl2ZU1hbmFnZXIuc3RvcChwZWVySWQpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5saWJwMnAuaGFuZ1VwKHBlZXJJZCk7XG4gICAgICAgICAgICBsb2cuaW5mbyhgRHJvcHBlZCBjb25uZWN0aW9uIHdpdGggcGVlciAke3BlZXJJZC50b1N0cmluZygpfWApO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgbG9nLmVycm9yKGBFcnJvciBkcm9wcGluZyBjb25uZWN0aW9uIHdpdGggcGVlciAke3BlZXJJZC50b1N0cmluZygpfSAtICR7ZXJyb3J9YCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvY2Vzc0RpYWxRdWV1ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMucGVuZGluZ1BlZXJEaWFsUXVldWUubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWN0aXZlUGFyYWxsZWxEaWFsQ291bnQgPCB0aGlzLm9wdGlvbnMubWF4UGFyYWxsZWxEaWFscykge1xuICAgICAgICAgICAgY29uc3QgcGVlcklkID0gdGhpcy5wZW5kaW5nUGVlckRpYWxRdWV1ZS5zaGlmdCgpO1xuICAgICAgICAgICAgaWYgKCFwZWVySWQpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5hdHRlbXB0RGlhbChwZWVySWQpLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGFydFBlZXJEaXNjb3ZlcnlMaXN0ZW5lcigpIHtcbiAgICAgICAgdGhpcy5saWJwMnAuYWRkRXZlbnRMaXN0ZW5lcihcInBlZXI6ZGlzY292ZXJ5XCIsIHRoaXMub25FdmVudEhhbmRsZXJzW1wicGVlcjpkaXNjb3ZlcnlcIl0pO1xuICAgIH1cbiAgICBzdGFydFBlZXJDb25uZWN0aW9uTGlzdGVuZXIoKSB7XG4gICAgICAgIHRoaXMubGlicDJwLmFkZEV2ZW50TGlzdGVuZXIoXCJwZWVyOmNvbm5lY3RcIiwgdGhpcy5vbkV2ZW50SGFuZGxlcnNbXCJwZWVyOmNvbm5lY3RcIl0pO1xuICAgIH1cbiAgICBzdGFydFBlZXJEaXNjb25uZWN0aW9uTGlzdGVuZXIoKSB7XG4gICAgICAgIC8vIFRPRE86IGVuc3VyZSB0aGF0IHRoZXNlIGZvbGxvd2luZyBpc3N1ZXMgYXJlIHVwZGF0ZWQgYW5kIGNvbmZpcm1lZFxuICAgICAgICAvKipcbiAgICAgICAgICogTk9URTogRXZlbnQgaXMgbm90IGJlaW5nIGVtaXR0ZWQgb24gY2xvc2luZyBub3IgbG9zaW5nIGEgY29ubmVjdGlvbi5cbiAgICAgICAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbGlicDJwL2pzLWxpYnAycC9pc3N1ZXMvOTM5XG4gICAgICAgICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3N0YXR1cy1pbS9qcy13YWt1L2lzc3Vlcy8yNTJcbiAgICAgICAgICpcbiAgICAgICAgICogPlRoaXMgZXZlbnQgd2lsbCBiZSB0cmlnZ2VyZWQgYW55dGltZSB3ZSBhcmUgZGlzY29ubmVjdGVkIGZyb20gYW5vdGhlciBwZWVyLFxuICAgICAgICAgKiA+cmVnYXJkbGVzcyBvZiB0aGUgY2lyY3Vtc3RhbmNlcyBvZiB0aGF0IGRpc2Nvbm5lY3Rpb24uXG4gICAgICAgICAqID5JZiB3ZSBoYXBwZW4gdG8gaGF2ZSBtdWx0aXBsZSBjb25uZWN0aW9ucyB0byBhIHBlZXIsXG4gICAgICAgICAqID50aGlzIGV2ZW50IHdpbGwgKipvbmx5KiogYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIGxhc3QgY29ubmVjdGlvbiBpcyBjbG9zZWQuXG4gICAgICAgICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2xpYnAycC9qcy1saWJwMnAvYmxvYi9iYWQ5ZThjMGZmNThkNjBhNzgzMTQwNzc3MjBjODJhZTMzMWNjNTViL2RvYy9BUEkubWQ/cGxhaW49MSNMMjEwMFxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5saWJwMnAuYWRkRXZlbnRMaXN0ZW5lcihcInBlZXI6ZGlzY29ubmVjdFwiLCB0aGlzLm9uRXZlbnRIYW5kbGVyc1tcInBlZXI6ZGlzY29ubmVjdFwiXSk7XG4gICAgfVxuICAgIGFzeW5jIGF0dGVtcHREaWFsKHBlZXJJZCkge1xuICAgICAgICBpZiAoIShhd2FpdCB0aGlzLnNob3VsZERpYWxQZWVyKHBlZXJJZCkpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50QWN0aXZlUGFyYWxsZWxEaWFsQ291bnQgPj0gdGhpcy5vcHRpb25zLm1heFBhcmFsbGVsRGlhbHMpIHtcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ1BlZXJEaWFsUXVldWUucHVzaChwZWVySWQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlhbFBlZXIocGVlcklkKS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoYEVycm9yIGRpYWxpbmcgcGVlciAke3BlZXJJZC50b1N0cmluZygpfSA6ICR7ZXJyfWApO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgb25FdmVudEhhbmRsZXJzID0ge1xuICAgICAgICBcInBlZXI6ZGlzY292ZXJ5XCI6IChldnQpID0+IHtcbiAgICAgICAgICAgIHZvaWQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGlkOiBwZWVySWQgfSA9IGV2dC5kZXRhaWw7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5kaXNwYXRjaERpc2NvdmVyeUV2ZW50KHBlZXJJZCk7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5hdHRlbXB0RGlhbChwZWVySWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgbG9nLmVycm9yKGBFcnJvciBkaWFsaW5nIHBlZXIgJHtwZWVySWQudG9TdHJpbmcoKX0gOiAke2Vycm9yfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCk7XG4gICAgICAgIH0sXG4gICAgICAgIFwicGVlcjpjb25uZWN0XCI6IChldnQpID0+IHtcbiAgICAgICAgICAgIHZvaWQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBsb2cuaW5mbyhgQ29ubmVjdGVkIHRvIHBlZXIgJHtldnQuZGV0YWlsLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGVlcklkID0gZXZ0LmRldGFpbDtcbiAgICAgICAgICAgICAgICB0aGlzLmtlZXBBbGl2ZU1hbmFnZXIuc3RhcnQocGVlcklkLCB0aGlzLmxpYnAycC5zZXJ2aWNlcy5waW5nLCB0aGlzLmxpYnAycC5wZWVyU3RvcmUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzQm9vdHN0cmFwID0gKGF3YWl0IHRoaXMuZ2V0VGFnTmFtZXNGb3JQZWVyKHBlZXJJZCkpLmluY2x1ZGVzKFRhZ3MuQk9PVFNUUkFQKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNCb290c3RyYXApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vdHN0cmFwQ29ubmVjdGlvbnMgPSB0aGlzLmxpYnAycFxuICAgICAgICAgICAgICAgICAgICAgICAgLmdldENvbm5lY3Rpb25zKClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGNvbm4pID0+IGNvbm4udGFncy5pbmNsdWRlcyhUYWdzLkJPT1RTVFJBUCkpO1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIHRvbyBtYW55IGJvb3RzdHJhcCBjb25uZWN0aW9ucywgZHJvcCBvbmVcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJvb3RzdHJhcENvbm5lY3Rpb25zLmxlbmd0aCA+IHRoaXMub3B0aW9ucy5tYXhCb290c3RyYXBQZWVyc0FsbG93ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZHJvcENvbm5lY3Rpb24ocGVlcklkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHMuUEVFUl9DT05ORUNUX0JPT1RTVFJBUCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogcGVlcklkXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHMuUEVFUl9DT05ORUNUX1BFRVJfRVhDSEFOR0UsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogcGVlcklkXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy50b2dnbGVPbmxpbmUoKTtcbiAgICAgICAgICAgIH0pKCk7XG4gICAgICAgIH0sXG4gICAgICAgIFwicGVlcjpkaXNjb25uZWN0XCI6IChldnQpID0+IHtcbiAgICAgICAgICAgIHZvaWQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmtlZXBBbGl2ZU1hbmFnZXIuc3RvcChldnQuZGV0YWlsKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZU9mZmxpbmUoKTtcbiAgICAgICAgICAgIH0pKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgcGVlciBzaG91bGQgYmUgZGlhbGVkIGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAgICAgKiAxLiBJZiB0aGUgcGVlciBpcyBhbHJlYWR5IGNvbm5lY3RlZCwgZG9uJ3QgZGlhbFxuICAgICAqIDIuIElmIHRoZSBwZWVyIGlzIG5vdCBwYXJ0IG9mIGFueSBvZiB0aGUgY29uZmlndXJlZCBwdWJzdWIgdG9waWNzLCBkb24ndCBkaWFsXG4gICAgICogMy4gSWYgdGhlIHBlZXIgaXMgbm90IGRpYWxhYmxlIGJhc2VkIG9uIGJvb3RzdHJhcCBzdGF0dXMsIGRvbid0IGRpYWxcbiAgICAgKiA0LiBJZiB0aGUgcGVlciBpcyBhbHJlYWR5IGhhcyBhbiBhY3RpdmUgZGlhbCBhdHRlbXB0LCBvciBoYXMgYmVlbiBkaWFsZWQgYmVmb3JlLCBkb24ndCBkaWFsIGl0XG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgcGVlciBzaG91bGQgYmUgZGlhbGVkLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBhc3luYyBzaG91bGREaWFsUGVlcihwZWVySWQpIHtcbiAgICAgICAgLy8gaWYgd2UncmUgYWxyZWFkeSBjb25uZWN0ZWQgdG8gdGhlIHBlZXIsIGRvbid0IGRpYWxcbiAgICAgICAgY29uc3QgaXNDb25uZWN0ZWQgPSB0aGlzLmxpYnAycC5nZXRDb25uZWN0aW9ucyhwZWVySWQpLmxlbmd0aCA+IDA7XG4gICAgICAgIGlmIChpc0Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgbG9nLndhcm4oYEFscmVhZHkgY29ubmVjdGVkIHRvIHBlZXIgJHtwZWVySWQudG9TdHJpbmcoKX0uIE5vdCBkaWFsaW5nLmApO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIHRoZSBwZWVyIGlzIG5vdCBwYXJ0IG9mIGFueSBvZiB0aGUgY29uZmlndXJlZCBwdWJzdWIgdG9waWNzLCBkb24ndCBkaWFsXG4gICAgICAgIGlmICghKGF3YWl0IHRoaXMuaXNQZWVyVG9waWNDb25maWd1cmVkKHBlZXJJZCkpKSB7XG4gICAgICAgICAgICBjb25zdCBzaGFyZEluZm8gPSBhd2FpdCB0aGlzLmdldFBlZXJTaGFyZEluZm8ocGVlcklkLCB0aGlzLmxpYnAycC5wZWVyU3RvcmUpO1xuICAgICAgICAgICAgbG9nLndhcm4oYERpc2NvdmVyZWQgcGVlciAke3BlZXJJZC50b1N0cmluZygpfSB3aXRoIFNoYXJkSW5mbyAke3NoYXJkSW5mb30gaXMgbm90IHBhcnQgb2YgYW55IG9mIHRoZSBjb25maWd1cmVkIHB1YnN1YiB0b3BpY3MgKCR7dGhpcy5jb25maWd1cmVkUHVic3ViVG9waWNzfSkuXG4gICAgICAgICAgICBOb3QgZGlhbGluZy5gKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpZiB0aGUgcGVlciBpcyBub3QgZGlhbGFibGUgYmFzZWQgb24gYm9vdHN0cmFwIHN0YXR1cywgZG9uJ3QgZGlhbFxuICAgICAgICBpZiAoIShhd2FpdCB0aGlzLmlzUGVlckRpYWxhYmxlQmFzZWRPbkJvb3RzdHJhcFN0YXR1cyhwZWVySWQpKSkge1xuICAgICAgICAgICAgbG9nLndhcm4oYFBlZXIgJHtwZWVySWQudG9TdHJpbmcoKX0gaXMgbm90IGRpYWxhYmxlIGJhc2VkIG9uIGJvb3RzdHJhcCBzdGF0dXMuIE5vdCBkaWFsaW5nLmApO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIHRoZSBwZWVyIGlzIGFscmVhZHkgYWxyZWFkeSBoYXMgYW4gYWN0aXZlIGRpYWwgYXR0ZW1wdCwgb3IgaGFzIGJlZW4gZGlhbGVkIGJlZm9yZSwgZG9uJ3QgZGlhbCBpdFxuICAgICAgICBpZiAodGhpcy5kaWFsQXR0ZW1wdHNGb3JQZWVyLmhhcyhwZWVySWQudG9TdHJpbmcoKSkpIHtcbiAgICAgICAgICAgIGxvZy53YXJuKGBQZWVyICR7cGVlcklkLnRvU3RyaW5nKCl9IGhhcyBhbHJlYWR5IGJlZW4gYXR0ZW1wdGVkIGRpYWwgYmVmb3JlLCBvciBhbHJlYWR5IGhhcyBhIGRpYWwgYXR0ZW1wdCBpbiBwcm9ncmVzcywgc2tpcHBpbmcgZGlhbGApO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHBlZXIgaXMgZGlhbGFibGUgYmFzZWQgb24gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICAgICAqIDEuIElmIHRoZSBwZWVyIGlzIGEgYm9vdHN0cmFwIHBlZXIsIGl0IGlzIG9ubHkgZGlhbGFibGUgaWYgdGhlIG51bWJlciBvZiBjdXJyZW50IGJvb3RzdHJhcCBjb25uZWN0aW9ucyBpcyBsZXNzIHRoYW4gdGhlIG1heCBhbGxvd2VkLlxuICAgICAqIDIuIElmIHRoZSBwZWVyIGlzIG5vdCBhIGJvb3RzdHJhcCBwZWVyXG4gICAgICovXG4gICAgYXN5bmMgaXNQZWVyRGlhbGFibGVCYXNlZE9uQm9vdHN0cmFwU3RhdHVzKHBlZXJJZCkge1xuICAgICAgICBjb25zdCB0YWdOYW1lcyA9IGF3YWl0IHRoaXMuZ2V0VGFnTmFtZXNGb3JQZWVyKHBlZXJJZCk7XG4gICAgICAgIGNvbnN0IGlzQm9vdHN0cmFwID0gdGFnTmFtZXMuc29tZSgodGFnTmFtZSkgPT4gdGFnTmFtZSA9PT0gVGFncy5CT09UU1RSQVApO1xuICAgICAgICBpZiAoaXNCb290c3RyYXApIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRCb290c3RyYXBDb25uZWN0aW9ucyA9IHRoaXMubGlicDJwXG4gICAgICAgICAgICAgICAgLmdldENvbm5lY3Rpb25zKClcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChjb25uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbm4udGFncy5maW5kKChuYW1lKSA9PiBuYW1lID09PSBUYWdzLkJPT1RTVFJBUCk7XG4gICAgICAgICAgICB9KS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAoY3VycmVudEJvb3RzdHJhcENvbm5lY3Rpb25zIDwgdGhpcy5vcHRpb25zLm1heEJvb3RzdHJhcFBlZXJzQWxsb3dlZClcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgYXN5bmMgZGlzcGF0Y2hEaXNjb3ZlcnlFdmVudChwZWVySWQpIHtcbiAgICAgICAgY29uc3QgaXNCb290c3RyYXAgPSAoYXdhaXQgdGhpcy5nZXRUYWdOYW1lc0ZvclBlZXIocGVlcklkKSkuaW5jbHVkZXMoVGFncy5CT09UU1RSQVApO1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGlzQm9vdHN0cmFwXG4gICAgICAgICAgICA/IEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzLlBFRVJfRElTQ09WRVJZX0JPT1RTVFJBUFxuICAgICAgICAgICAgOiBFUGVlcnNCeURpc2NvdmVyeUV2ZW50cy5QRUVSX0RJU0NPVkVSWV9QRUVSX0VYQ0hBTkdFLCB7XG4gICAgICAgICAgICBkZXRhaWw6IHBlZXJJZFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEZldGNoZXMgdGhlIHRhZyBuYW1lcyBmb3IgYSBnaXZlbiBwZWVyXG4gICAgICovXG4gICAgYXN5bmMgZ2V0VGFnTmFtZXNGb3JQZWVyKHBlZXJJZCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcGVlciA9IGF3YWl0IHRoaXMubGlicDJwLnBlZXJTdG9yZS5nZXQocGVlcklkKTtcbiAgICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKHBlZXIudGFncy5rZXlzKCkpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgbG9nLmVycm9yKGBGYWlsZWQgdG8gZ2V0IHBlZXIgJHtwZWVySWR9LCBlcnJvcjogJHtlcnJvcn1gKTtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBpc1BlZXJUb3BpY0NvbmZpZ3VyZWQocGVlcklkKSB7XG4gICAgICAgIGNvbnN0IHNoYXJkSW5mbyA9IGF3YWl0IHRoaXMuZ2V0UGVlclNoYXJkSW5mbyhwZWVySWQsIHRoaXMubGlicDJwLnBlZXJTdG9yZSk7XG4gICAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gc2hhcmQgaW5mb3JtYXRpb24sIHNpbXBseSByZXR1cm4gdHJ1ZVxuICAgICAgICBpZiAoIXNoYXJkSW5mbylcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBjb25zdCBwdWJzdWJUb3BpY3MgPSBzaGFyZEluZm9Ub1B1YnN1YlRvcGljcyhzaGFyZEluZm8pO1xuICAgICAgICBjb25zdCBpc1RvcGljQ29uZmlndXJlZCA9IHB1YnN1YlRvcGljcy5zb21lKCh0b3BpYykgPT4gdGhpcy5jb25maWd1cmVkUHVic3ViVG9waWNzLmluY2x1ZGVzKHRvcGljKSk7XG4gICAgICAgIHJldHVybiBpc1RvcGljQ29uZmlndXJlZDtcbiAgICB9XG4gICAgYXN5bmMgZ2V0UGVlclNoYXJkSW5mbyhwZWVySWQsIHBlZXJTdG9yZSkge1xuICAgICAgICBjb25zdCBwZWVyID0gYXdhaXQgcGVlclN0b3JlLmdldChwZWVySWQpO1xuICAgICAgICBjb25zdCBzaGFyZEluZm9CeXRlcyA9IHBlZXIubWV0YWRhdGEuZ2V0KFwic2hhcmRJbmZvXCIpO1xuICAgICAgICBpZiAoIXNoYXJkSW5mb0J5dGVzKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIGRlY29kZVJlbGF5U2hhcmQoc2hhcmRJbmZvQnl0ZXMpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbm5lY3Rpb25fbWFuYWdlci5qcy5tYXAiXSwibmFtZXMiOlsiQ3VzdG9tRXZlbnQiLCJUeXBlZEV2ZW50RW1pdHRlciIsIkVDb25uZWN0aW9uU3RhdGVFdmVudHMiLCJFUGVlcnNCeURpc2NvdmVyeUV2ZW50cyIsIlRhZ3MiLCJkZWNvZGVSZWxheVNoYXJkIiwic2hhcmRJbmZvVG9QdWJzdWJUb3BpY3MiLCJMb2dnZXIiLCJLZWVwQWxpdmVNYW5hZ2VyIiwibG9nIiwiREVGQVVMVF9NQVhfQk9PVFNUUkFQX1BFRVJTX0FMTE9XRUQiLCJERUZBVUxUX01BWF9ESUFMX0FUVEVNUFRTX0ZPUl9QRUVSIiwiREVGQVVMVF9NQVhfUEFSQUxMRUxfRElBTFMiLCJDb25uZWN0aW9uTWFuYWdlciIsImluc3RhbmNlcyIsIk1hcCIsImlzQ29ubmVjdGVkIiwib25saW5lIiwidG9nZ2xlT25saW5lIiwiZGlzcGF0Y2hFdmVudCIsIkNPTk5FQ1RJT05fU1RBVFVTIiwiZGV0YWlsIiwidG9nZ2xlT2ZmbGluZSIsImxpYnAycCIsImdldENvbm5lY3Rpb25zIiwibGVuZ3RoIiwiY3JlYXRlIiwicGVlcklkIiwia2VlcEFsaXZlT3B0aW9ucyIsInB1YnN1YlRvcGljcyIsInJlbGF5Iiwib3B0aW9ucyIsImluc3RhbmNlIiwiZ2V0Iiwic2V0IiwiZ2V0UGVlcnNCeURpc2NvdmVyeSIsInBlZXJzRGlzY292ZXJlZCIsInBlZXJTdG9yZSIsImFsbCIsInBlZXJzQ29ubmVjdGVkIiwibWFwIiwiY29ubiIsInJlbW90ZVBlZXIiLCJwZWVyc0Rpc2NvdmVyZWRCeUJvb3RzdHJhcCIsInBlZXJzRGlzY292ZXJlZEJ5UGVlckV4Y2hhbmdlIiwicGVlcnNEaXNjb3ZlcmVkQnlMb2NhbCIsInBlZXJzQ29ubmVjdGVkQnlCb290c3RyYXAiLCJwZWVyc0Nvbm5lY3RlZEJ5UGVlckV4Y2hhbmdlIiwicGVlcnNDb25uZWN0ZWRCeUxvY2FsIiwicGVlciIsInRhZ3MiLCJnZXRUYWdOYW1lc0ZvclBlZXIiLCJpZCIsImluY2x1ZGVzIiwiQk9PVFNUUkFQIiwicHVzaCIsIlBFRVJfRVhDSEFOR0UiLCJMT0NBTCIsIkRJU0NPVkVSRUQiLCJDT05ORUNURUQiLCJjb25zdHJ1Y3RvciIsImNvbmZpZ3VyZWRQdWJzdWJUb3BpY3MiLCJkaWFsQXR0ZW1wdHNGb3JQZWVyIiwiZGlhbEVycm9yc0ZvclBlZXIiLCJjdXJyZW50QWN0aXZlUGFyYWxsZWxEaWFsQ291bnQiLCJwZW5kaW5nUGVlckRpYWxRdWV1ZSIsIm9uRXZlbnRIYW5kbGVycyIsImV2dCIsImRpc3BhdGNoRGlzY292ZXJ5RXZlbnQiLCJhdHRlbXB0RGlhbCIsImVycm9yIiwidG9TdHJpbmciLCJpbmZvIiwia2VlcEFsaXZlTWFuYWdlciIsInN0YXJ0Iiwic2VydmljZXMiLCJwaW5nIiwiaXNCb290c3RyYXAiLCJib290c3RyYXBDb25uZWN0aW9ucyIsImZpbHRlciIsIm1heEJvb3RzdHJhcFBlZXJzQWxsb3dlZCIsImRyb3BDb25uZWN0aW9uIiwiUEVFUl9DT05ORUNUX0JPT1RTVFJBUCIsIlBFRVJfQ09OTkVDVF9QRUVSX0VYQ0hBTkdFIiwic3RvcCIsIm1heERpYWxBdHRlbXB0c0ZvclBlZXIiLCJtYXhQYXJhbGxlbERpYWxzIiwicnVuIiwidGhlbiIsImNhdGNoIiwiZGlhbFBlZXJTdG9yZVBlZXJzIiwicGVlckluZm9zIiwiZGlhbFByb21pc2VzIiwicGVlckluZm8iLCJmaW5kIiwiYyIsIlByb21pc2UiLCJzdGFydFBlZXJEaXNjb3ZlcnlMaXN0ZW5lciIsInN0YXJ0UGVlckNvbm5lY3Rpb25MaXN0ZW5lciIsInN0YXJ0UGVlckRpc2Nvbm5lY3Rpb25MaXN0ZW5lciIsInN0b3BBbGwiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZGlhbFBlZXIiLCJkaWFsQXR0ZW1wdCIsImRpYWwiLCJmb3JFYWNoIiwiQXJyYXkiLCJmcm9tIiwiU2V0IiwiQWdncmVnYXRlRXJyb3IiLCJlcnJvcnMiLCJtZXNzYWdlIiwicHJvY2Vzc0RpYWxRdWV1ZSIsImVycm9yTWVzc2FnZSIsIndhcm4iLCJKU09OIiwic3RyaW5naWZ5IiwiZGVsZXRlIiwiRXJyb3IiLCJoYW5nVXAiLCJzaGlmdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJzaG91bGREaWFsUGVlciIsImVyciIsImlzUGVlclRvcGljQ29uZmlndXJlZCIsInNoYXJkSW5mbyIsImdldFBlZXJTaGFyZEluZm8iLCJpc1BlZXJEaWFsYWJsZUJhc2VkT25Cb290c3RyYXBTdGF0dXMiLCJoYXMiLCJ0YWdOYW1lcyIsInNvbWUiLCJ0YWdOYW1lIiwiY3VycmVudEJvb3RzdHJhcENvbm5lY3Rpb25zIiwibmFtZSIsIlBFRVJfRElTQ09WRVJZX0JPT1RTVFJBUCIsIlBFRVJfRElTQ09WRVJZX1BFRVJfRVhDSEFOR0UiLCJrZXlzIiwiaXNUb3BpY0NvbmZpZ3VyZWQiLCJ0b3BpYyIsInNoYXJkSW5mb0J5dGVzIiwibWV0YWRhdGEiLCJ1bmRlZmluZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/connection_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filter/filter_rpc.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filter/filter_rpc.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterPushRpc: () => (/* binding */ FilterPushRpc),\n/* harmony export */ FilterSubscribeResponse: () => (/* binding */ FilterSubscribeResponse),\n/* harmony export */ FilterSubscribeRpc: () => (/* binding */ FilterSubscribeRpc)\n/* harmony export */ });\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/index.js\");\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uuid */ \"(ssr)/./node_modules/uuid/dist/esm-node/v4.js\");\n\n\n/**\n * FilterPushRPC represents a message conforming to the Waku FilterPush protocol.\n * Protocol documentation: https://rfc.vac.dev/spec/12/\n */ class FilterPushRpc {\n constructor(proto){\n this.proto = proto;\n }\n static decode(bytes) {\n const res = _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_filter_v2.MessagePush.decode(bytes);\n return new FilterPushRpc(res);\n }\n encode() {\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_filter_v2.MessagePush.encode(this.proto);\n }\n get wakuMessage() {\n return this.proto.wakuMessage;\n }\n /**\n * Get the pubsub topic from the FilterPushRpc object.\n * @returns string\n */ get pubsubTopic() {\n return this.proto.pubsubTopic;\n }\n}\nclass FilterSubscribeRpc {\n constructor(proto){\n this.proto = proto;\n }\n static createSubscribeRequest(pubsubTopic, contentTopics) {\n return new FilterSubscribeRpc({\n requestId: (0,uuid__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n filterSubscribeType: _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_filter_v2.FilterSubscribeRequest.FilterSubscribeType.SUBSCRIBE,\n pubsubTopic,\n contentTopics\n });\n }\n static createUnsubscribeRequest(pubsubTopic, contentTopics) {\n return new FilterSubscribeRpc({\n requestId: (0,uuid__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n filterSubscribeType: _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_filter_v2.FilterSubscribeRequest.FilterSubscribeType.UNSUBSCRIBE,\n pubsubTopic,\n contentTopics\n });\n }\n static createUnsubscribeAllRequest(pubsubTopic) {\n return new FilterSubscribeRpc({\n requestId: (0,uuid__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n filterSubscribeType: _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_filter_v2.FilterSubscribeRequest.FilterSubscribeType.UNSUBSCRIBE_ALL,\n pubsubTopic,\n contentTopics: []\n });\n }\n static createSubscriberPingRequest() {\n return new FilterSubscribeRpc({\n requestId: (0,uuid__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n filterSubscribeType: _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_filter_v2.FilterSubscribeRequest.FilterSubscribeType.SUBSCRIBER_PING,\n pubsubTopic: \"\",\n contentTopics: []\n });\n }\n static decode(bytes) {\n const res = _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_filter_v2.FilterSubscribeRequest.decode(bytes);\n return new FilterSubscribeRpc(res);\n }\n encode() {\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_filter_v2.FilterSubscribeRequest.encode(this.proto);\n }\n get filterSubscribeType() {\n return this.proto.filterSubscribeType;\n }\n get requestId() {\n return this.proto.requestId;\n }\n get pubsubTopic() {\n return this.proto.pubsubTopic;\n }\n get contentTopics() {\n return this.proto.contentTopics;\n }\n}\nclass FilterSubscribeResponse {\n constructor(proto){\n this.proto = proto;\n }\n static decode(bytes) {\n const res = _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_filter_v2.FilterSubscribeResponse.decode(bytes);\n return new FilterSubscribeResponse(res);\n }\n encode() {\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_filter_v2.FilterSubscribeResponse.encode(this.proto);\n }\n get statusCode() {\n return this.proto.statusCode;\n }\n get statusDesc() {\n return this.proto.statusDesc;\n }\n get requestId() {\n return this.proto.requestId;\n }\n} //# sourceMappingURL=filter_rpc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2ZpbHRlci9maWx0ZXJfcnBjLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXVEO0FBQ3JCO0FBQ2xDOzs7Q0FHQyxHQUNNLE1BQU1JO0lBRVRDLFlBQVlKLEtBQUssQ0FBRTtRQUNmLElBQUksQ0FBQ0EsS0FBSyxHQUFHQTtJQUNqQjtJQUNBLE9BQU9LLE9BQU9DLEtBQUssRUFBRTtRQUNqQixNQUFNQyxNQUFNUCxvRUFBaUIsQ0FBQ0ssTUFBTSxDQUFDQztRQUNyQyxPQUFPLElBQUlILGNBQWNJO0lBQzdCO0lBQ0FFLFNBQVM7UUFDTCxPQUFPVCxvRUFBaUIsQ0FBQ1MsTUFBTSxDQUFDLElBQUksQ0FBQ1QsS0FBSztJQUM5QztJQUNBLElBQUlVLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQ1YsS0FBSyxDQUFDVSxXQUFXO0lBQ2pDO0lBQ0E7OztLQUdDLEdBQ0QsSUFBSUMsY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDWCxLQUFLLENBQUNXLFdBQVc7SUFDakM7QUFDSjtBQUNPLE1BQU1DO0lBRVRSLFlBQVlKLEtBQUssQ0FBRTtRQUNmLElBQUksQ0FBQ0EsS0FBSyxHQUFHQTtJQUNqQjtJQUNBLE9BQU9hLHVCQUF1QkYsV0FBVyxFQUFFRyxhQUFhLEVBQUU7UUFDdEQsT0FBTyxJQUFJRixtQkFBbUI7WUFDMUJHLFdBQVdiLGdEQUFJQTtZQUNmYyxxQkFBcUJoQiwrRUFBNEIsQ0FBQ2tCLG1CQUFtQixDQUFDQyxTQUFTO1lBQy9FUjtZQUNBRztRQUNKO0lBQ0o7SUFDQSxPQUFPTSx5QkFBeUJULFdBQVcsRUFBRUcsYUFBYSxFQUFFO1FBQ3hELE9BQU8sSUFBSUYsbUJBQW1CO1lBQzFCRyxXQUFXYixnREFBSUE7WUFDZmMscUJBQXFCaEIsK0VBQTRCLENBQUNrQixtQkFBbUIsQ0FBQ0csV0FBVztZQUNqRlY7WUFDQUc7UUFDSjtJQUNKO0lBQ0EsT0FBT1EsNEJBQTRCWCxXQUFXLEVBQUU7UUFDNUMsT0FBTyxJQUFJQyxtQkFBbUI7WUFDMUJHLFdBQVdiLGdEQUFJQTtZQUNmYyxxQkFBcUJoQiwrRUFBNEIsQ0FBQ2tCLG1CQUFtQixDQUFDSyxlQUFlO1lBQ3JGWjtZQUNBRyxlQUFlLEVBQUU7UUFDckI7SUFDSjtJQUNBLE9BQU9VLDhCQUE4QjtRQUNqQyxPQUFPLElBQUlaLG1CQUFtQjtZQUMxQkcsV0FBV2IsZ0RBQUlBO1lBQ2ZjLHFCQUFxQmhCLCtFQUE0QixDQUFDa0IsbUJBQW1CLENBQUNPLGVBQWU7WUFDckZkLGFBQWE7WUFDYkcsZUFBZSxFQUFFO1FBQ3JCO0lBQ0o7SUFDQSxPQUFPVCxPQUFPQyxLQUFLLEVBQUU7UUFDakIsTUFBTUMsTUFBTVAsK0VBQTRCLENBQUNLLE1BQU0sQ0FBQ0M7UUFDaEQsT0FBTyxJQUFJTSxtQkFBbUJMO0lBQ2xDO0lBQ0FFLFNBQVM7UUFDTCxPQUFPVCwrRUFBNEIsQ0FBQ1MsTUFBTSxDQUFDLElBQUksQ0FBQ1QsS0FBSztJQUN6RDtJQUNBLElBQUlnQixzQkFBc0I7UUFDdEIsT0FBTyxJQUFJLENBQUNoQixLQUFLLENBQUNnQixtQkFBbUI7SUFDekM7SUFDQSxJQUFJRCxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUNmLEtBQUssQ0FBQ2UsU0FBUztJQUMvQjtJQUNBLElBQUlKLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQ1gsS0FBSyxDQUFDVyxXQUFXO0lBQ2pDO0lBQ0EsSUFBSUcsZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDZCxLQUFLLENBQUNjLGFBQWE7SUFDbkM7QUFDSjtBQUNPLE1BQU1ZO0lBRVR0QixZQUFZSixLQUFLLENBQUU7UUFDZixJQUFJLENBQUNBLEtBQUssR0FBR0E7SUFDakI7SUFDQSxPQUFPSyxPQUFPQyxLQUFLLEVBQUU7UUFDakIsTUFBTUMsTUFBTVAsZ0ZBQTZCLENBQUNLLE1BQU0sQ0FBQ0M7UUFDakQsT0FBTyxJQUFJb0Isd0JBQXdCbkI7SUFDdkM7SUFDQUUsU0FBUztRQUNMLE9BQU9ULGdGQUE2QixDQUFDUyxNQUFNLENBQUMsSUFBSSxDQUFDVCxLQUFLO0lBQzFEO0lBQ0EsSUFBSTJCLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQzNCLEtBQUssQ0FBQzJCLFVBQVU7SUFDaEM7SUFDQSxJQUFJQyxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUM1QixLQUFLLENBQUM0QixVQUFVO0lBQ2hDO0lBQ0EsSUFBSWIsWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDZixLQUFLLENBQUNlLFNBQVM7SUFDL0I7QUFDSixFQUNBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9kaXN0L2xpYi9maWx0ZXIvZmlsdGVyX3JwYy5qcz8xYTZkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb3RvX2ZpbHRlcl92MiBhcyBwcm90byB9IGZyb20gXCJAd2FrdS9wcm90b1wiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gXCJ1dWlkXCI7XG4vKipcbiAqIEZpbHRlclB1c2hSUEMgcmVwcmVzZW50cyBhIG1lc3NhZ2UgY29uZm9ybWluZyB0byB0aGUgV2FrdSBGaWx0ZXJQdXNoIHByb3RvY29sLlxuICogUHJvdG9jb2wgZG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzEyL1xuICovXG5leHBvcnQgY2xhc3MgRmlsdGVyUHVzaFJwYyB7XG4gICAgcHJvdG87XG4gICAgY29uc3RydWN0b3IocHJvdG8pIHtcbiAgICAgICAgdGhpcy5wcm90byA9IHByb3RvO1xuICAgIH1cbiAgICBzdGF0aWMgZGVjb2RlKGJ5dGVzKSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IHByb3RvLk1lc3NhZ2VQdXNoLmRlY29kZShieXRlcyk7XG4gICAgICAgIHJldHVybiBuZXcgRmlsdGVyUHVzaFJwYyhyZXMpO1xuICAgIH1cbiAgICBlbmNvZGUoKSB7XG4gICAgICAgIHJldHVybiBwcm90by5NZXNzYWdlUHVzaC5lbmNvZGUodGhpcy5wcm90byk7XG4gICAgfVxuICAgIGdldCB3YWt1TWVzc2FnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG8ud2FrdU1lc3NhZ2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgcHVic3ViIHRvcGljIGZyb20gdGhlIEZpbHRlclB1c2hScGMgb2JqZWN0LlxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIGdldCBwdWJzdWJUb3BpYygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG8ucHVic3ViVG9waWM7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEZpbHRlclN1YnNjcmliZVJwYyB7XG4gICAgcHJvdG87XG4gICAgY29uc3RydWN0b3IocHJvdG8pIHtcbiAgICAgICAgdGhpcy5wcm90byA9IHByb3RvO1xuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlU3Vic2NyaWJlUmVxdWVzdChwdWJzdWJUb3BpYywgY29udGVudFRvcGljcykge1xuICAgICAgICByZXR1cm4gbmV3IEZpbHRlclN1YnNjcmliZVJwYyh7XG4gICAgICAgICAgICByZXF1ZXN0SWQ6IHV1aWQoKSxcbiAgICAgICAgICAgIGZpbHRlclN1YnNjcmliZVR5cGU6IHByb3RvLkZpbHRlclN1YnNjcmliZVJlcXVlc3QuRmlsdGVyU3Vic2NyaWJlVHlwZS5TVUJTQ1JJQkUsXG4gICAgICAgICAgICBwdWJzdWJUb3BpYyxcbiAgICAgICAgICAgIGNvbnRlbnRUb3BpY3NcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGVVbnN1YnNjcmliZVJlcXVlc3QocHVic3ViVG9waWMsIGNvbnRlbnRUb3BpY3MpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJTdWJzY3JpYmVScGMoe1xuICAgICAgICAgICAgcmVxdWVzdElkOiB1dWlkKCksXG4gICAgICAgICAgICBmaWx0ZXJTdWJzY3JpYmVUeXBlOiBwcm90by5GaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUuVU5TVUJTQ1JJQkUsXG4gICAgICAgICAgICBwdWJzdWJUb3BpYyxcbiAgICAgICAgICAgIGNvbnRlbnRUb3BpY3NcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGVVbnN1YnNjcmliZUFsbFJlcXVlc3QocHVic3ViVG9waWMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJTdWJzY3JpYmVScGMoe1xuICAgICAgICAgICAgcmVxdWVzdElkOiB1dWlkKCksXG4gICAgICAgICAgICBmaWx0ZXJTdWJzY3JpYmVUeXBlOiBwcm90by5GaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUuVU5TVUJTQ1JJQkVfQUxMLFxuICAgICAgICAgICAgcHVic3ViVG9waWMsXG4gICAgICAgICAgICBjb250ZW50VG9waWNzOiBbXVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZVN1YnNjcmliZXJQaW5nUmVxdWVzdCgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJTdWJzY3JpYmVScGMoe1xuICAgICAgICAgICAgcmVxdWVzdElkOiB1dWlkKCksXG4gICAgICAgICAgICBmaWx0ZXJTdWJzY3JpYmVUeXBlOiBwcm90by5GaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUuU1VCU0NSSUJFUl9QSU5HLFxuICAgICAgICAgICAgcHVic3ViVG9waWM6IFwiXCIsXG4gICAgICAgICAgICBjb250ZW50VG9waWNzOiBbXVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3RhdGljIGRlY29kZShieXRlcykge1xuICAgICAgICBjb25zdCByZXMgPSBwcm90by5GaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LmRlY29kZShieXRlcyk7XG4gICAgICAgIHJldHVybiBuZXcgRmlsdGVyU3Vic2NyaWJlUnBjKHJlcyk7XG4gICAgfVxuICAgIGVuY29kZSgpIHtcbiAgICAgICAgcmV0dXJuIHByb3RvLkZpbHRlclN1YnNjcmliZVJlcXVlc3QuZW5jb2RlKHRoaXMucHJvdG8pO1xuICAgIH1cbiAgICBnZXQgZmlsdGVyU3Vic2NyaWJlVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG8uZmlsdGVyU3Vic2NyaWJlVHlwZTtcbiAgICB9XG4gICAgZ2V0IHJlcXVlc3RJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG8ucmVxdWVzdElkO1xuICAgIH1cbiAgICBnZXQgcHVic3ViVG9waWMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvLnB1YnN1YlRvcGljO1xuICAgIH1cbiAgICBnZXQgY29udGVudFRvcGljcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG8uY29udGVudFRvcGljcztcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2Uge1xuICAgIHByb3RvO1xuICAgIGNvbnN0cnVjdG9yKHByb3RvKSB7XG4gICAgICAgIHRoaXMucHJvdG8gPSBwcm90bztcbiAgICB9XG4gICAgc3RhdGljIGRlY29kZShieXRlcykge1xuICAgICAgICBjb25zdCByZXMgPSBwcm90by5GaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5kZWNvZGUoYnl0ZXMpO1xuICAgICAgICByZXR1cm4gbmV3IEZpbHRlclN1YnNjcmliZVJlc3BvbnNlKHJlcyk7XG4gICAgfVxuICAgIGVuY29kZSgpIHtcbiAgICAgICAgcmV0dXJuIHByb3RvLkZpbHRlclN1YnNjcmliZVJlc3BvbnNlLmVuY29kZSh0aGlzLnByb3RvKTtcbiAgICB9XG4gICAgZ2V0IHN0YXR1c0NvZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvLnN0YXR1c0NvZGU7XG4gICAgfVxuICAgIGdldCBzdGF0dXNEZXNjKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm90by5zdGF0dXNEZXNjO1xuICAgIH1cbiAgICBnZXQgcmVxdWVzdElkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm90by5yZXF1ZXN0SWQ7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmlsdGVyX3JwYy5qcy5tYXAiXSwibmFtZXMiOlsicHJvdG9fZmlsdGVyX3YyIiwicHJvdG8iLCJ2NCIsInV1aWQiLCJGaWx0ZXJQdXNoUnBjIiwiY29uc3RydWN0b3IiLCJkZWNvZGUiLCJieXRlcyIsInJlcyIsIk1lc3NhZ2VQdXNoIiwiZW5jb2RlIiwid2FrdU1lc3NhZ2UiLCJwdWJzdWJUb3BpYyIsIkZpbHRlclN1YnNjcmliZVJwYyIsImNyZWF0ZVN1YnNjcmliZVJlcXVlc3QiLCJjb250ZW50VG9waWNzIiwicmVxdWVzdElkIiwiZmlsdGVyU3Vic2NyaWJlVHlwZSIsIkZpbHRlclN1YnNjcmliZVJlcXVlc3QiLCJGaWx0ZXJTdWJzY3JpYmVUeXBlIiwiU1VCU0NSSUJFIiwiY3JlYXRlVW5zdWJzY3JpYmVSZXF1ZXN0IiwiVU5TVUJTQ1JJQkUiLCJjcmVhdGVVbnN1YnNjcmliZUFsbFJlcXVlc3QiLCJVTlNVQlNDUklCRV9BTEwiLCJjcmVhdGVTdWJzY3JpYmVyUGluZ1JlcXVlc3QiLCJTVUJTQ1JJQkVSX1BJTkciLCJGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZSIsInN0YXR1c0NvZGUiLCJzdGF0dXNEZXNjIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filter/filter_rpc.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filter/index.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filter/index.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterCodecs: () => (/* binding */ FilterCodecs),\n/* harmony export */ wakuFilter: () => (/* binding */ wakuFilter)\n/* harmony export */ });\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_message_hash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/message-hash */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/message-hash/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var it_all__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! it-all */ \"(ssr)/./node_modules/it-all/dist/src/index.js\");\n/* harmony import */ var it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! it-length-prefixed */ \"(ssr)/./node_modules/it-length-prefixed/dist/src/index.js\");\n/* harmony import */ var it_pipe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! it-pipe */ \"(ssr)/./node_modules/it-pipe/dist/src/index.js\");\n/* harmony import */ var _base_protocol_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base_protocol.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/base_protocol.js\");\n/* harmony import */ var _filter_rpc_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./filter_rpc.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filter/filter_rpc.js\");\n\n\n\n\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_2__.Logger(\"filter:v2\");\nconst FilterCodecs = {\n SUBSCRIBE: \"/vac/waku/filter-subscribe/2.0.0-beta1\",\n PUSH: \"/vac/waku/filter-push/2.0.0-beta1\"\n};\n/**\n * A subscription object refers to a subscription to a given pubsub topic.\n */ class Subscription {\n constructor(pubsubTopic, remotePeers, newStream){\n this.receivedMessagesHashStr = [];\n this.peers = remotePeers;\n this.pubsubTopic = pubsubTopic;\n this.newStream = newStream;\n this.subscriptionCallbacks = new Map();\n }\n async subscribe(decoders, callback) {\n const decodersArray = Array.isArray(decoders) ? decoders : [\n decoders\n ];\n // check that all decoders are configured for the same pubsub topic as this subscription\n decodersArray.forEach((decoder)=>{\n if (decoder.pubsubTopic !== this.pubsubTopic) {\n throw new Error(`Pubsub topic not configured: decoder is configured for pubsub topic ${decoder.pubsubTopic} but this subscription is for pubsub topic ${this.pubsubTopic}. Please create a new Subscription for the different pubsub topic.`);\n }\n });\n const decodersGroupedByCT = (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.groupByContentTopic)(decodersArray);\n const contentTopics = Array.from(decodersGroupedByCT.keys());\n const promises = this.peers.map(async (peer)=>{\n const stream = await this.newStream(peer);\n const request = _filter_rpc_js__WEBPACK_IMPORTED_MODULE_7__.FilterSubscribeRpc.createSubscribeRequest(this.pubsubTopic, contentTopics);\n try {\n const res = await (0,it_pipe__WEBPACK_IMPORTED_MODULE_5__.pipe)([\n request.encode()\n ], it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.encode, stream, it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.decode, async (source)=>await (0,it_all__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(source));\n if (!res || !res.length) {\n throw Error(`No response received for request ${request.requestId}: ${res}`);\n }\n const { statusCode, requestId, statusDesc } = _filter_rpc_js__WEBPACK_IMPORTED_MODULE_7__.FilterSubscribeResponse.decode(res[0].slice());\n if (statusCode < 200 || statusCode >= 300) {\n throw new Error(`Filter subscribe request ${requestId} failed with status code ${statusCode}: ${statusDesc}`);\n }\n log.info(\"Subscribed to peer \", peer.id.toString(), \"for content topics\", contentTopics);\n } catch (e) {\n throw new Error(\"Error subscribing to peer: \" + peer.id.toString() + \" for content topics: \" + contentTopics + \": \" + e);\n }\n });\n const results = await Promise.allSettled(promises);\n this.handleErrors(results, \"subscribe\");\n // Save the callback functions by content topics so they\n // can easily be removed (reciprocally replaced) if `unsubscribe` (reciprocally `subscribe`)\n // is called for those content topics\n decodersGroupedByCT.forEach((decoders, contentTopic)=>{\n // Cast the type because a given `subscriptionCallbacks` map may hold\n // Decoder that decode to different implementations of `IDecodedMessage`\n const subscriptionCallback = {\n decoders,\n callback\n };\n // The callback and decoder may override previous values, this is on\n // purpose as the user may call `subscribe` to refresh the subscription\n this.subscriptionCallbacks.set(contentTopic, subscriptionCallback);\n });\n }\n async unsubscribe(contentTopics) {\n const promises = this.peers.map(async (peer)=>{\n const stream = await this.newStream(peer);\n const unsubscribeRequest = _filter_rpc_js__WEBPACK_IMPORTED_MODULE_7__.FilterSubscribeRpc.createUnsubscribeRequest(this.pubsubTopic, contentTopics);\n try {\n await (0,it_pipe__WEBPACK_IMPORTED_MODULE_5__.pipe)([\n unsubscribeRequest.encode()\n ], it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.encode, stream.sink);\n } catch (error) {\n throw new Error(\"Error unsubscribing: \" + error);\n }\n contentTopics.forEach((contentTopic)=>{\n this.subscriptionCallbacks.delete(contentTopic);\n });\n });\n const results = await Promise.allSettled(promises);\n this.handleErrors(results, \"unsubscribe\");\n }\n async ping() {\n const promises = this.peers.map(async (peer)=>{\n const stream = await this.newStream(peer);\n const request = _filter_rpc_js__WEBPACK_IMPORTED_MODULE_7__.FilterSubscribeRpc.createSubscriberPingRequest();\n try {\n const res = await (0,it_pipe__WEBPACK_IMPORTED_MODULE_5__.pipe)([\n request.encode()\n ], it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.encode, stream, it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.decode, async (source)=>await (0,it_all__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(source));\n if (!res || !res.length) {\n throw Error(`No response received for request ${request.requestId}: ${res}`);\n }\n const { statusCode, requestId, statusDesc } = _filter_rpc_js__WEBPACK_IMPORTED_MODULE_7__.FilterSubscribeResponse.decode(res[0].slice());\n if (statusCode < 200 || statusCode >= 300) {\n throw new Error(`Filter ping request ${requestId} failed with status code ${statusCode}: ${statusDesc}`);\n }\n log.info(`Ping successful for peer ${peer.id.toString()}`);\n } catch (error) {\n log.error(\"Error pinging: \", error);\n throw error; // Rethrow the actual error instead of wrapping it\n }\n });\n const results = await Promise.allSettled(promises);\n this.handleErrors(results, \"ping\");\n }\n async unsubscribeAll() {\n const promises = this.peers.map(async (peer)=>{\n const stream = await this.newStream(peer);\n const request = _filter_rpc_js__WEBPACK_IMPORTED_MODULE_7__.FilterSubscribeRpc.createUnsubscribeAllRequest(this.pubsubTopic);\n try {\n const res = await (0,it_pipe__WEBPACK_IMPORTED_MODULE_5__.pipe)([\n request.encode()\n ], it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.encode, stream, it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.decode, async (source)=>await (0,it_all__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(source));\n if (!res || !res.length) {\n throw Error(`No response received for request ${request.requestId}: ${res}`);\n }\n const { statusCode, requestId, statusDesc } = _filter_rpc_js__WEBPACK_IMPORTED_MODULE_7__.FilterSubscribeResponse.decode(res[0].slice());\n if (statusCode < 200 || statusCode >= 300) {\n throw new Error(`Filter unsubscribe all request ${requestId} failed with status code ${statusCode}: ${statusDesc}`);\n }\n this.subscriptionCallbacks.clear();\n log.info(`Unsubscribed from all content topics for pubsub topic ${this.pubsubTopic}`);\n } catch (error) {\n throw new Error(\"Error unsubscribing from all content topics: \" + error);\n }\n });\n const results = await Promise.allSettled(promises);\n this.handleErrors(results, \"unsubscribeAll\");\n }\n async processMessage(message) {\n const hashedMessageStr = (0,_waku_message_hash__WEBPACK_IMPORTED_MODULE_1__.messageHashStr)(this.pubsubTopic, message);\n if (this.receivedMessagesHashStr.includes(hashedMessageStr)) {\n log.info(\"Message already received, skipping\");\n return;\n }\n this.receivedMessagesHashStr.push(hashedMessageStr);\n const { contentTopic } = message;\n const subscriptionCallback = this.subscriptionCallbacks.get(contentTopic);\n if (!subscriptionCallback) {\n log.error(\"No subscription callback available for \", contentTopic);\n return;\n }\n log.info(\"Processing message with content topic \", contentTopic, \" on pubsub topic \", this.pubsubTopic);\n await pushMessage(subscriptionCallback, this.pubsubTopic, message);\n }\n // Filter out only the rejected promises and extract & handle their reasons\n handleErrors(results, type) {\n const errors = results.filter((result)=>result.status === \"rejected\").map((rejectedResult)=>rejectedResult.reason);\n if (errors.length === this.peers.length) {\n const errorCounts = new Map();\n // TODO: streamline error logging with https://github.com/orgs/waku-org/projects/2/views/1?pane=issue&itemId=42849952\n errors.forEach((error)=>{\n const message = error instanceof Error ? error.message : String(error);\n errorCounts.set(message, (errorCounts.get(message) || 0) + 1);\n });\n const uniqueErrorMessages = Array.from(errorCounts, ([message, count])=>`${message} (occurred ${count} times)`).join(\", \");\n throw new Error(`Error ${type} all peers: ${uniqueErrorMessages}`);\n } else if (errors.length > 0) {\n // TODO: handle renewing faulty peers with new peers (https://github.com/waku-org/js-waku/issues/1463)\n log.warn(`Some ${type} failed. These will be refreshed with new peers`, errors);\n } else {\n log.info(`${type} successful for all peers`);\n }\n }\n}\nconst DEFAULT_NUM_PEERS = 3;\nclass Filter extends _base_protocol_js__WEBPACK_IMPORTED_MODULE_6__.BaseProtocol {\n getActiveSubscription(pubsubTopic) {\n return this.activeSubscriptions.get(pubsubTopic);\n }\n setActiveSubscription(pubsubTopic, subscription) {\n this.activeSubscriptions.set(pubsubTopic, subscription);\n return subscription;\n }\n constructor(libp2p, options){\n super(FilterCodecs.SUBSCRIBE, libp2p.components, log, options.pubsubTopics, options);\n this.activeSubscriptions = new Map();\n this.numPeersToUse = options?.numPeersToUse ?? DEFAULT_NUM_PEERS;\n libp2p.handle(FilterCodecs.PUSH, this.onRequest.bind(this)).catch((e)=>{\n log.error(\"Failed to register \", FilterCodecs.PUSH, e);\n });\n this.activeSubscriptions = new Map();\n }\n /**\n * Creates a new subscription to the given pubsub topic.\n * The subscription is made to multiple peers for decentralization.\n * @param pubsubTopicShardInfo The pubsub topic to subscribe to.\n * @returns The subscription object.\n */ async createSubscription(pubsubTopicShardInfo = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DefaultPubsubTopic) {\n const pubsubTopic = typeof pubsubTopicShardInfo == \"string\" ? pubsubTopicShardInfo : (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.singleShardInfoToPubsubTopic)(pubsubTopicShardInfo);\n (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.ensurePubsubTopicIsConfigured)(pubsubTopic, this.pubsubTopics);\n const peers = await this.getPeers({\n maxBootstrapPeers: 1,\n numPeers: this.numPeersToUse\n });\n if (peers.length === 0) {\n throw new Error(\"No peer found to initiate subscription.\");\n }\n log.info(`Creating filter subscription with ${peers.length} peers: `, peers.map((peer)=>peer.id.toString()));\n const subscription = this.getActiveSubscription(pubsubTopic) ?? this.setActiveSubscription(pubsubTopic, new Subscription(pubsubTopic, peers, this.getStream.bind(this)));\n return subscription;\n }\n toSubscriptionIterator(decoders) {\n return (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.toAsyncIterator)(this, decoders);\n }\n /**\n * This method is used to satisfy the `IReceiver` interface.\n *\n * @hidden\n *\n * @param decoders The decoders to use for the subscription.\n * @param callback The callback function to use for the subscription.\n * @param opts Optional protocol options for the subscription.\n *\n * @returns A Promise that resolves to a function that unsubscribes from the subscription.\n *\n * @remarks\n * This method should not be used directly.\n * Instead, use `createSubscription` to create a new subscription.\n */ async subscribe(decoders, callback) {\n const pubsubTopics = this.getPubsubTopics(decoders);\n if (pubsubTopics.length === 0) {\n throw Error(\"Failed to subscribe: no pubsubTopic found on decoders provided.\");\n }\n if (pubsubTopics.length > 1) {\n throw Error(\"Failed to subscribe: all decoders should have the same pubsub topic. Use createSubscription to be more agile.\");\n }\n const subscription = await this.createSubscription(pubsubTopics[0]);\n await subscription.subscribe(decoders, callback);\n const contentTopics = Array.from((0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.groupByContentTopic)(Array.isArray(decoders) ? decoders : [\n decoders\n ]).keys());\n return async ()=>{\n await subscription.unsubscribe(contentTopics);\n };\n }\n onRequest(streamData) {\n const { connection, stream } = streamData;\n const { remotePeer } = connection;\n log.info(`Received message from ${remotePeer.toString()}`);\n try {\n (0,it_pipe__WEBPACK_IMPORTED_MODULE_5__.pipe)(stream, it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.decode, async (source)=>{\n for await (const bytes of source){\n const response = _filter_rpc_js__WEBPACK_IMPORTED_MODULE_7__.FilterPushRpc.decode(bytes.slice());\n const { pubsubTopic, wakuMessage } = response;\n if (!wakuMessage) {\n log.error(\"Received empty message\");\n return;\n }\n if (!pubsubTopic) {\n log.error(\"Pubsub topic missing from push message\");\n return;\n }\n const subscription = this.getActiveSubscription(pubsubTopic);\n if (!subscription) {\n log.error(`No subscription locally registered for topic ${pubsubTopic}`);\n return;\n }\n await subscription.processMessage(wakuMessage);\n }\n }).then(()=>{\n log.info(\"Receiving pipe closed.\");\n }, (e)=>{\n log.error(\"Error with receiving pipe\", e);\n });\n } catch (e) {\n log.error(\"Error decoding message\", e);\n }\n }\n getPubsubTopics(decoders) {\n if (!Array.isArray(decoders)) {\n return [\n decoders.pubsubTopic\n ];\n }\n if (decoders.length === 0) {\n return [];\n }\n const pubsubTopics = new Set(decoders.map((d)=>d.pubsubTopic));\n return [\n ...pubsubTopics\n ];\n }\n}\nfunction wakuFilter(init = {\n pubsubTopics: []\n}) {\n return (libp2p)=>new Filter(libp2p, init);\n}\nasync function pushMessage(subscriptionCallback, pubsubTopic, message) {\n const { decoders, callback } = subscriptionCallback;\n const { contentTopic } = message;\n if (!contentTopic) {\n log.warn(\"Message has no content topic, skipping\");\n return;\n }\n try {\n const decodePromises = decoders.map((dec)=>dec.fromProtoObj(pubsubTopic, message).then((decoded)=>decoded || Promise.reject(\"Decoding failed\")));\n const decodedMessage = await Promise.any(decodePromises);\n await callback(decodedMessage);\n } catch (e) {\n log.error(\"Error decoding message\", e);\n }\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2ZpbHRlci9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQXNEO0FBQ0Y7QUFDNEU7QUFDM0Y7QUFDWjtBQUNnQjtBQUNWO0FBQ29CO0FBQzBDO0FBQzdGLE1BQU1jLE1BQU0sSUFBSVIsK0NBQU1BLENBQUM7QUFDaEIsTUFBTVMsZUFBZTtJQUN4QkMsV0FBVztJQUNYQyxNQUFNO0FBQ1YsRUFBRTtBQUNGOztDQUVDLEdBQ0QsTUFBTUM7SUFNRkMsWUFBWUMsV0FBVyxFQUFFQyxXQUFXLEVBQUVDLFNBQVMsQ0FBRTthQUZqREMsMEJBQTBCLEVBQUU7UUFHeEIsSUFBSSxDQUFDQyxLQUFLLEdBQUdIO1FBQ2IsSUFBSSxDQUFDRCxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0UsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNHLHFCQUFxQixHQUFHLElBQUlDO0lBQ3JDO0lBQ0EsTUFBTUMsVUFBVUMsUUFBUSxFQUFFQyxRQUFRLEVBQUU7UUFDaEMsTUFBTUMsZ0JBQWdCQyxNQUFNQyxPQUFPLENBQUNKLFlBQVlBLFdBQVc7WUFBQ0E7U0FBUztRQUNyRSx3RkFBd0Y7UUFDeEZFLGNBQWNHLE9BQU8sQ0FBQyxDQUFDQztZQUNuQixJQUFJQSxRQUFRZCxXQUFXLEtBQUssSUFBSSxDQUFDQSxXQUFXLEVBQUU7Z0JBQzFDLE1BQU0sSUFBSWUsTUFBTSxDQUFDLG9FQUFvRSxFQUFFRCxRQUFRZCxXQUFXLENBQUMsMkNBQTJDLEVBQUUsSUFBSSxDQUFDQSxXQUFXLENBQUMsa0VBQWtFLENBQUM7WUFDaFA7UUFDSjtRQUNBLE1BQU1nQixzQkFBc0JqQyxnRUFBbUJBLENBQUMyQjtRQUNoRCxNQUFNTyxnQkFBZ0JOLE1BQU1PLElBQUksQ0FBQ0Ysb0JBQW9CRyxJQUFJO1FBQ3pELE1BQU1DLFdBQVcsSUFBSSxDQUFDaEIsS0FBSyxDQUFDaUIs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RyxDQUFDTjtRQUN6QyxNQUFNdEcsU0FBUzJHO0lBQ25CLEVBQ0EsT0FBTzlFLEdBQUc7UUFDTjVDLElBQUl3RCxLQUFLLENBQUMsMEJBQTBCWjtJQUN4QztBQUNKLEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2ZpbHRlci9pbmRleC5qcz9iYzQxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRQdWJzdWJUb3BpYyB9IGZyb20gXCJAd2FrdS9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBtZXNzYWdlSGFzaFN0ciB9IGZyb20gXCJAd2FrdS9tZXNzYWdlLWhhc2hcIjtcbmltcG9ydCB7IGVuc3VyZVB1YnN1YlRvcGljSXNDb25maWd1cmVkLCBncm91cEJ5Q29udGVudFRvcGljLCBzaW5nbGVTaGFyZEluZm9Ub1B1YnN1YlRvcGljLCB0b0FzeW5jSXRlcmF0b3IgfSBmcm9tIFwiQHdha3UvdXRpbHNcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCJAd2FrdS91dGlsc1wiO1xuaW1wb3J0IGFsbCBmcm9tIFwiaXQtYWxsXCI7XG5pbXBvcnQgKiBhcyBscCBmcm9tIFwiaXQtbGVuZ3RoLXByZWZpeGVkXCI7XG5pbXBvcnQgeyBwaXBlIH0gZnJvbSBcIml0LXBpcGVcIjtcbmltcG9ydCB7IEJhc2VQcm90b2NvbCB9IGZyb20gXCIuLi9iYXNlX3Byb3RvY29sLmpzXCI7XG5pbXBvcnQgeyBGaWx0ZXJQdXNoUnBjLCBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZSwgRmlsdGVyU3Vic2NyaWJlUnBjIH0gZnJvbSBcIi4vZmlsdGVyX3JwYy5qc1wiO1xuY29uc3QgbG9nID0gbmV3IExvZ2dlcihcImZpbHRlcjp2MlwiKTtcbmV4cG9ydCBjb25zdCBGaWx0ZXJDb2RlY3MgPSB7XG4gICAgU1VCU0NSSUJFOiBcIi92YWMvd2FrdS9maWx0ZXItc3Vic2NyaWJlLzIuMC4wLWJldGExXCIsXG4gICAgUFVTSDogXCIvdmFjL3dha3UvZmlsdGVyLXB1c2gvMi4wLjAtYmV0YTFcIlxufTtcbi8qKlxuICogQSBzdWJzY3JpcHRpb24gb2JqZWN0IHJlZmVycyB0byBhIHN1YnNjcmlwdGlvbiB0byBhIGdpdmVuIHB1YnN1YiB0b3BpYy5cbiAqL1xuY2xhc3MgU3Vic2NyaXB0aW9uIHtcbiAgICBwZWVycztcbiAgICBwdWJzdWJUb3BpYztcbiAgICBuZXdTdHJlYW07XG4gICAgcmVjZWl2ZWRNZXNzYWdlc0hhc2hTdHIgPSBbXTtcbiAgICBzdWJzY3JpcHRpb25DYWxsYmFja3M7XG4gICAgY29uc3RydWN0b3IocHVic3ViVG9waWMsIHJlbW90ZVBlZXJzLCBuZXdTdHJlYW0pIHtcbiAgICAgICAgdGhpcy5wZWVycyA9IHJlbW90ZVBlZXJzO1xuICAgICAgICB0aGlzLnB1YnN1YlRvcGljID0gcHVic3ViVG9waWM7XG4gICAgICAgIHRoaXMubmV3U3RyZWFtID0gbmV3U3RyZWFtO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkNhbGxiYWNrcyA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgYXN5bmMgc3Vic2NyaWJlKGRlY29kZXJzLCBjYWxsYmFjaykge1xuICAgICAgICBjb25zdCBkZWNvZGVyc0FycmF5ID0gQXJyYXkuaXNBcnJheShkZWNvZGVycykgPyBkZWNvZGVycyA6IFtkZWNvZGVyc107XG4gICAgICAgIC8vIGNoZWNrIHRoYXQgYWxsIGRlY29kZXJzIGFyZSBjb25maWd1cmVkIGZvciB0aGUgc2FtZSBwdWJzdWIgdG9waWMgYXMgdGhpcyBzdWJzY3JpcHRpb25cbiAgICAgICAgZGVjb2RlcnNBcnJheS5mb3JFYWNoKChkZWNvZGVyKSA9PiB7XG4gICAgICAgICAgICBpZiAoZGVjb2Rlci5wdWJzdWJUb3BpYyAhPT0gdGhpcy5wdWJzdWJUb3BpYykge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUHVic3ViIHRvcGljIG5vdCBjb25maWd1cmVkOiBkZWNvZGVyIGlzIGNvbmZpZ3VyZWQgZm9yIHB1YnN1YiB0b3BpYyAke2RlY29kZXIucHVic3ViVG9waWN9IGJ1dCB0aGlzIHN1YnNjcmlwdGlvbiBpcyBmb3IgcHVic3ViIHRvcGljICR7dGhpcy5wdWJzdWJUb3BpY30uIFBsZWFzZSBjcmVhdGUgYSBuZXcgU3Vic2NyaXB0aW9uIGZvciB0aGUgZGlmZmVyZW50IHB1YnN1YiB0b3BpYy5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGRlY29kZXJzR3JvdXBlZEJ5Q1QgPSBncm91cEJ5Q29udGVudFRvcGljKGRlY29kZXJzQXJyYXkpO1xuICAgICAgICBjb25zdCBjb250ZW50VG9waWNzID0gQXJyYXkuZnJvbShkZWNvZGVyc0dyb3VwZWRCeUNULmtleXMoKSk7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gdGhpcy5wZWVycy5tYXAoYXN5bmMgKHBlZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IHRoaXMubmV3U3RyZWFtKHBlZXIpO1xuICAgICAgICAgICAgY29uc3QgcmVxdWVzdCA9IEZpbHRlclN1YnNjcmliZVJwYy5jcmVhdGVTdWJzY3JpYmVSZXF1ZXN0KHRoaXMucHVic3ViVG9waWMsIGNvbnRlbnRUb3BpY3MpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBwaXBlKFtyZXF1ZXN0LmVuY29kZSgpXSwgbHAuZW5jb2RlLCBzdHJlYW0sIGxwLmRlY29kZSwgYXN5bmMgKHNvdXJjZSkgPT4gYXdhaXQgYWxsKHNvdXJjZSkpO1xuICAgICAgICAgICAgICAgIGlmICghcmVzIHx8ICFyZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKGBObyByZXNwb25zZSByZWNlaXZlZCBmb3IgcmVxdWVzdCAke3JlcXVlc3QucmVxdWVzdElkfTogJHtyZXN9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHsgc3RhdHVzQ29kZSwgcmVxdWVzdElkLCBzdGF0dXNEZXNjIH0gPSBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5kZWNvZGUocmVzWzBdLnNsaWNlKCkpO1xuICAgICAgICAgICAgICAgIGlmIChzdGF0dXNDb2RlIDwgMjAwIHx8IHN0YXR1c0NvZGUgPj0gMzAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmlsdGVyIHN1YnNjcmliZSByZXF1ZXN0ICR7cmVxdWVzdElkfSBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAke3N0YXR1c0NvZGV9OiAke3N0YXR1c0Rlc2N9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxvZy5pbmZvKFwiU3Vic2NyaWJlZCB0byBwZWVyIFwiLCBwZWVyLmlkLnRvU3RyaW5nKCksIFwiZm9yIGNvbnRlbnQgdG9waWNzXCIsIGNvbnRlbnRUb3BpY3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFcnJvciBzdWJzY3JpYmluZyB0byBwZWVyOiBcIiArXG4gICAgICAgICAgICAgICAgICAgIHBlZXIuaWQudG9TdHJpbmcoKSArXG4gICAgICAgICAgICAgICAgICAgIFwiIGZvciBjb250ZW50IHRvcGljczogXCIgK1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWNzICtcbiAgICAgICAgICAgICAgICAgICAgXCI6IFwiICtcbiAgICAgICAgICAgICAgICAgICAgZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKHByb21pc2VzKTtcbiAgICAgICAgdGhpcy5oYW5kbGVFcnJvcnMocmVzdWx0cywgXCJzdWJzY3JpYmVcIik7XG4gICAgICAgIC8vIFNhdmUgdGhlIGNhbGxiYWNrIGZ1bmN0aW9ucyBieSBjb250ZW50IHRvcGljcyBzbyB0aGV5XG4gICAgICAgIC8vIGNhbiBlYXNpbHkgYmUgcmVtb3ZlZCAocmVjaXByb2NhbGx5IHJlcGxhY2VkKSBpZiBgdW5zdWJzY3JpYmVgIChyZWNpcHJvY2FsbHkgYHN1YnNjcmliZWApXG4gICAgICAgIC8vIGlzIGNhbGxlZCBmb3IgdGhvc2UgY29udGVudCB0b3BpY3NcbiAgICAgICAgZGVjb2RlcnNHcm91cGVkQnlDVC5mb3JFYWNoKChkZWNvZGVycywgY29udGVudFRvcGljKSA9PiB7XG4gICAgICAgICAgICAvLyBDYXN0IHRoZSB0eXBlIGJlY2F1c2UgYSBnaXZlbiBgc3Vic2NyaXB0aW9uQ2FsbGJhY2tzYCBtYXAgbWF5IGhvbGRcbiAgICAgICAgICAgIC8vIERlY29kZXIgdGhhdCBkZWNvZGUgdG8gZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBvZiBgSURlY29kZWRNZXNzYWdlYFxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uQ2FsbGJhY2sgPSB7XG4gICAgICAgICAgICAgICAgZGVjb2RlcnMsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2tcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvLyBUaGUgY2FsbGJhY2sgYW5kIGRlY29kZXIgbWF5IG92ZXJyaWRlIHByZXZpb3VzIHZhbHVlcywgdGhpcyBpcyBvblxuICAgICAgICAgICAgLy8gcHVycG9zZSBhcyB0aGUgdXNlciBtYXkgY2FsbCBgc3Vic2NyaWJlYCB0byByZWZyZXNoIHRoZSBzdWJzY3JpcHRpb25cbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uQ2FsbGJhY2tzLnNldChjb250ZW50VG9waWMsIHN1YnNjcmlwdGlvbkNhbGxiYWNrKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIHVuc3Vic2NyaWJlKGNvbnRlbnRUb3BpY3MpIHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSB0aGlzLnBlZXJzLm1hcChhc3luYyAocGVlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgdGhpcy5uZXdTdHJlYW0ocGVlcik7XG4gICAgICAgICAgICBjb25zdCB1bnN1YnNjcmliZVJlcXVlc3QgPSBGaWx0ZXJTdWJzY3JpYmVScGMuY3JlYXRlVW5zdWJzY3JpYmVSZXF1ZXN0KHRoaXMucHVic3ViVG9waWMsIGNvbnRlbnRUb3BpY3MpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhd2FpdCBwaXBlKFt1bnN1YnNjcmliZVJlcXVlc3QuZW5jb2RlKCldLCBscC5lbmNvZGUsIHN0cmVhbS5zaW5rKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVycm9yIHVuc3Vic2NyaWJpbmc6IFwiICsgZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29udGVudFRvcGljcy5mb3JFYWNoKChjb250ZW50VG9waWMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkNhbGxiYWNrcy5kZWxldGUoY29udGVudFRvcGljKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChwcm9taXNlcyk7XG4gICAgICAgIHRoaXMuaGFuZGxlRXJyb3JzKHJlc3VsdHMsIFwidW5zdWJzY3JpYmVcIik7XG4gICAgfVxuICAgIGFzeW5jIHBpbmcoKSB7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gdGhpcy5wZWVycy5tYXAoYXN5bmMgKHBlZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IHRoaXMubmV3U3RyZWFtKHBlZXIpO1xuICAgICAgICAgICAgY29uc3QgcmVxdWVzdCA9IEZpbHRlclN1YnNjcmliZVJwYy5jcmVhdGVTdWJzY3JpYmVyUGluZ1JlcXVlc3QoKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcGlwZShbcmVxdWVzdC5lbmNvZGUoKV0sIGxwLmVuY29kZSwgc3RyZWFtLCBscC5kZWNvZGUsIGFzeW5jIChzb3VyY2UpID0+IGF3YWl0IGFsbChzb3VyY2UpKTtcbiAgICAgICAgICAgICAgICBpZiAoIXJlcyB8fCAhcmVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihgTm8gcmVzcG9uc2UgcmVjZWl2ZWQgZm9yIHJlcXVlc3QgJHtyZXF1ZXN0LnJlcXVlc3RJZH06ICR7cmVzfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB7IHN0YXR1c0NvZGUsIHJlcXVlc3RJZCwgc3RhdHVzRGVzYyB9ID0gRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UuZGVjb2RlKHJlc1swXS5zbGljZSgpKTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdHVzQ29kZSA8IDIwMCB8fCBzdGF0dXNDb2RlID49IDMwMCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZpbHRlciBwaW5nIHJlcXVlc3QgJHtyZXF1ZXN0SWR9IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICR7c3RhdHVzQ29kZX06ICR7c3RhdHVzRGVzY31gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbG9nLmluZm8oYFBpbmcgc3VjY2Vzc2Z1bCBmb3IgcGVlciAke3BlZXIuaWQudG9TdHJpbmcoKX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcIkVycm9yIHBpbmdpbmc6IFwiLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7IC8vIFJldGhyb3cgdGhlIGFjdHVhbCBlcnJvciBpbnN0ZWFkIG9mIHdyYXBwaW5nIGl0XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKHByb21pc2VzKTtcbiAgICAgICAgdGhpcy5oYW5kbGVFcnJvcnMocmVzdWx0cywgXCJwaW5nXCIpO1xuICAgIH1cbiAgICBhc3luYyB1bnN1YnNjcmliZUFsbCgpIHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSB0aGlzLnBlZXJzLm1hcChhc3luYyAocGVlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgdGhpcy5uZXdTdHJlYW0ocGVlcik7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0gRmlsdGVyU3Vic2NyaWJlUnBjLmNyZWF0ZVVuc3Vic2NyaWJlQWxsUmVxdWVzdCh0aGlzLnB1YnN1YlRvcGljKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcGlwZShbcmVxdWVzdC5lbmNvZGUoKV0sIGxwLmVuY29kZSwgc3RyZWFtLCBscC5kZWNvZGUsIGFzeW5jIChzb3VyY2UpID0+IGF3YWl0IGFsbChzb3VyY2UpKTtcbiAgICAgICAgICAgICAgICBpZiAoIXJlcyB8fCAhcmVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihgTm8gcmVzcG9uc2UgcmVjZWl2ZWQgZm9yIHJlcXVlc3QgJHtyZXF1ZXN0LnJlcXVlc3RJZH06ICR7cmVzfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB7IHN0YXR1c0NvZGUsIHJlcXVlc3RJZCwgc3RhdHVzRGVzYyB9ID0gRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UuZGVjb2RlKHJlc1swXS5zbGljZSgpKTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdHVzQ29kZSA8IDIwMCB8fCBzdGF0dXNDb2RlID49IDMwMCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZpbHRlciB1bnN1YnNjcmliZSBhbGwgcmVxdWVzdCAke3JlcXVlc3RJZH0gZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgJHtzdGF0dXNDb2RlfTogJHtzdGF0dXNEZXNjfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkNhbGxiYWNrcy5jbGVhcigpO1xuICAgICAgICAgICAgICAgIGxvZy5pbmZvKGBVbnN1YnNjcmliZWQgZnJvbSBhbGwgY29udGVudCB0b3BpY3MgZm9yIHB1YnN1YiB0b3BpYyAke3RoaXMucHVic3ViVG9waWN9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFcnJvciB1bnN1YnNjcmliaW5nIGZyb20gYWxsIGNvbnRlbnQgdG9waWNzOiBcIiArIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQocHJvbWlzZXMpO1xuICAgICAgICB0aGlzLmhhbmRsZUVycm9ycyhyZXN1bHRzLCBcInVuc3Vic2NyaWJlQWxsXCIpO1xuICAgIH1cbiAgICBhc3luYyBwcm9jZXNzTWVzc2FnZShtZXNzYWdlKSB7XG4gICAgICAgIGNvbnN0IGhhc2hlZE1lc3NhZ2VTdHIgPSBtZXNzYWdlSGFzaFN0cih0aGlzLnB1YnN1YlRvcGljLCBtZXNzYWdlKTtcbiAgICAgICAgaWYgKHRoaXMucmVjZWl2ZWRNZXNzYWdlc0hhc2hTdHIuaW5jbHVkZXMoaGFzaGVkTWVzc2FnZVN0cikpIHtcbiAgICAgICAgICAgIGxvZy5pbmZvKFwiTWVzc2FnZSBhbHJlYWR5IHJlY2VpdmVkLCBza2lwcGluZ1wiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlY2VpdmVkTWVzc2FnZXNIYXNoU3RyLnB1c2goaGFzaGVkTWVzc2FnZVN0cik7XG4gICAgICAgIGNvbnN0IHsgY29udGVudFRvcGljIH0gPSBtZXNzYWdlO1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25DYWxsYmFjayA9IHRoaXMuc3Vic2NyaXB0aW9uQ2FsbGJhY2tzLmdldChjb250ZW50VG9waWMpO1xuICAgICAgICBpZiAoIXN1YnNjcmlwdGlvbkNhbGxiYWNrKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoXCJObyBzdWJzY3JpcHRpb24gY2FsbGJhY2sgYXZhaWxhYmxlIGZvciBcIiwgY29udGVudFRvcGljKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsb2cuaW5mbyhcIlByb2Nlc3NpbmcgbWVzc2FnZSB3aXRoIGNvbnRlbnQgdG9waWMgXCIsIGNvbnRlbnRUb3BpYywgXCIgb24gcHVic3ViIHRvcGljIFwiLCB0aGlzLnB1YnN1YlRvcGljKTtcbiAgICAgICAgYXdhaXQgcHVzaE1lc3NhZ2Uoc3Vic2NyaXB0aW9uQ2FsbGJhY2ssIHRoaXMucHVic3ViVG9waWMsIG1lc3NhZ2UpO1xuICAgIH1cbiAgICAvLyBGaWx0ZXIgb3V0IG9ubHkgdGhlIHJlamVjdGVkIHByb21pc2VzIGFuZCBleHRyYWN0ICYgaGFuZGxlIHRoZWlyIHJlYXNvbnNcbiAgICBoYW5kbGVFcnJvcnMocmVzdWx0cywgdHlwZSkge1xuICAgICAgICBjb25zdCBlcnJvcnMgPSByZXN1bHRzXG4gICAgICAgICAgICAuZmlsdGVyKChyZXN1bHQpID0+IHJlc3VsdC5zdGF0dXMgPT09IFwicmVqZWN0ZWRcIilcbiAgICAgICAgICAgIC5tYXAoKHJlamVjdGVkUmVzdWx0KSA9PiByZWplY3RlZFJlc3VsdC5yZWFzb24pO1xuICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCA9PT0gdGhpcy5wZWVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yQ291bnRzID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgLy8gVE9ETzogc3RyZWFtbGluZSBlcnJvciBsb2dnaW5nIHdpdGggaHR0cHM6Ly9naXRodWIuY29tL29yZ3Mvd2FrdS1vcmcvcHJvamVjdHMvMi92aWV3cy8xP3BhbmU9aXNzdWUmaXRlbUlkPTQyODQ5OTUyXG4gICAgICAgICAgICBlcnJvcnMuZm9yRWFjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuICAgICAgICAgICAgICAgIGVycm9yQ291bnRzLnNldChtZXNzYWdlLCAoZXJyb3JDb3VudHMuZ2V0KG1lc3NhZ2UpIHx8IDApICsgMSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHVuaXF1ZUVycm9yTWVzc2FnZXMgPSBBcnJheS5mcm9tKGVycm9yQ291bnRzLCAoW21lc3NhZ2UsIGNvdW50XSkgPT4gYCR7bWVzc2FnZX0gKG9jY3VycmVkICR7Y291bnR9IHRpbWVzKWApLmpvaW4oXCIsIFwiKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IgJHt0eXBlfSBhbGwgcGVlcnM6ICR7dW5pcXVlRXJyb3JNZXNzYWdlc31gKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gVE9ETzogaGFuZGxlIHJlbmV3aW5nIGZhdWx0eSBwZWVycyB3aXRoIG5ldyBwZWVycyAoaHR0cHM6Ly9naXRodWIuY29tL3dha3Utb3JnL2pzLXdha3UvaXNzdWVzLzE0NjMpXG4gICAgICAgICAgICBsb2cud2FybihgU29tZSAke3R5cGV9IGZhaWxlZC4gVGhlc2Ugd2lsbCBiZSByZWZyZXNoZWQgd2l0aCBuZXcgcGVlcnNgLCBlcnJvcnMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbG9nLmluZm8oYCR7dHlwZX0gc3VjY2Vzc2Z1bCBmb3IgYWxsIHBlZXJzYCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5jb25zdCBERUZBVUxUX05VTV9QRUVSUyA9IDM7XG5jbGFzcyBGaWx0ZXIgZXh0ZW5kcyBCYXNlUHJvdG9jb2wge1xuICAgIGFjdGl2ZVN1YnNjcmlwdGlvbnMgPSBuZXcgTWFwKCk7XG4gICAgZ2V0QWN0aXZlU3Vic2NyaXB0aW9uKHB1YnN1YlRvcGljKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMuZ2V0KHB1YnN1YlRvcGljKTtcbiAgICB9XG4gICAgc2V0QWN0aXZlU3Vic2NyaXB0aW9uKHB1YnN1YlRvcGljLCBzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgdGhpcy5hY3RpdmVTdWJzY3JpcHRpb25zLnNldChwdWJzdWJUb3BpYywgc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgICB9XG4gICAgLy9UT0RPOiBSZW1vdmUgd2hlbiBGaWx0ZXJDb3JlIGFuZCBGaWx0ZXJTREsgYXJlIGludHJvZHVjZWRcbiAgICBudW1QZWVyc1RvVXNlO1xuICAgIGNvbnN0cnVjdG9yKGxpYnAycCwgb3B0aW9ucykge1xuICAgICAgICBzdXBlcihGaWx0ZXJDb2RlY3MuU1VCU0NSSUJFLCBsaWJwMnAuY29tcG9uZW50cywgbG9nLCBvcHRpb25zLnB1YnN1YlRvcGljcywgb3B0aW9ucyk7XG4gICAgICAgIHRoaXMubnVtUGVlcnNUb1VzZSA9IG9wdGlvbnM/Lm51bVBlZXJzVG9Vc2UgPz8gREVGQVVMVF9OVU1fUEVFUlM7XG4gICAgICAgIGxpYnAycC5oYW5kbGUoRmlsdGVyQ29kZWNzLlBVU0gsIHRoaXMub25SZXF1ZXN0LmJpbmQodGhpcykpLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoXCJGYWlsZWQgdG8gcmVnaXN0ZXIgXCIsIEZpbHRlckNvZGVjcy5QVVNILCBlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWN0aXZlU3Vic2NyaXB0aW9ucyA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBzdWJzY3JpcHRpb24gdG8gdGhlIGdpdmVuIHB1YnN1YiB0b3BpYy5cbiAgICAgKiBUaGUgc3Vic2NyaXB0aW9uIGlzIG1hZGUgdG8gbXVsdGlwbGUgcGVlcnMgZm9yIGRlY2VudHJhbGl6YXRpb24uXG4gICAgICogQHBhcmFtIHB1YnN1YlRvcGljU2hhcmRJbmZvIFRoZSBwdWJzdWIgdG9waWMgdG8gc3Vic2NyaWJlIHRvLlxuICAgICAqIEByZXR1cm5zIFRoZSBzdWJzY3JpcHRpb24gb2JqZWN0LlxuICAgICAqL1xuICAgIGFzeW5jIGNyZWF0ZVN1YnNjcmlwdGlvbihwdWJzdWJUb3BpY1NoYXJkSW5mbyA9IERlZmF1bHRQdWJzdWJUb3BpYykge1xuICAgICAgICBjb25zdCBwdWJzdWJUb3BpYyA9IHR5cGVvZiBwdWJzdWJUb3BpY1NoYXJkSW5mbyA9PSBcInN0cmluZ1wiXG4gICAgICAgICAgICA/IHB1YnN1YlRvcGljU2hhcmRJbmZvXG4gICAgICAgICAgICA6IHNpbmdsZVNoYXJkSW5mb1RvUHVic3ViVG9waWMocHVic3ViVG9waWNTaGFyZEluZm8pO1xuICAgICAgICBlbnN1cmVQdWJzdWJUb3BpY0lzQ29uZmlndXJlZChwdWJzdWJUb3BpYywgdGhpcy5wdWJzdWJUb3BpY3MpO1xuICAgICAgICBjb25zdCBwZWVycyA9IGF3YWl0IHRoaXMuZ2V0UGVlcnMoe1xuICAgICAgICAgICAgbWF4Qm9vdHN0cmFwUGVlcnM6IDEsXG4gICAgICAgICAgICBudW1QZWVyczogdGhpcy5udW1QZWVyc1RvVXNlXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocGVlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBwZWVyIGZvdW5kIHRvIGluaXRpYXRlIHN1YnNjcmlwdGlvbi5cIik7XG4gICAgICAgIH1cbiAgICAgICAgbG9nLmluZm8oYENyZWF0aW5nIGZpbHRlciBzdWJzY3JpcHRpb24gd2l0aCAke3BlZXJzLmxlbmd0aH0gcGVlcnM6IGAsIHBlZXJzLm1hcCgocGVlcikgPT4gcGVlci5pZC50b1N0cmluZygpKSk7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuZ2V0QWN0aXZlU3Vic2NyaXB0aW9uKHB1YnN1YlRvcGljKSA/P1xuICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmVTdWJzY3JpcHRpb24ocHVic3ViVG9waWMsIG5ldyBTdWJzY3JpcHRpb24ocHVic3ViVG9waWMsIHBlZXJzLCB0aGlzLmdldFN0cmVhbS5iaW5kKHRoaXMpKSk7XG4gICAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gICAgfVxuICAgIHRvU3Vic2NyaXB0aW9uSXRlcmF0b3IoZGVjb2RlcnMpIHtcbiAgICAgICAgcmV0dXJuIHRvQXN5bmNJdGVyYXRvcih0aGlzLCBkZWNvZGVycyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gc2F0aXNmeSB0aGUgYElSZWNlaXZlcmAgaW50ZXJmYWNlLlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqXG4gICAgICogQHBhcmFtIGRlY29kZXJzIFRoZSBkZWNvZGVycyB0byB1c2UgZm9yIHRoZSBzdWJzY3JpcHRpb24uXG4gICAgICogQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byB1c2UgZm9yIHRoZSBzdWJzY3JpcHRpb24uXG4gICAgICogQHBhcmFtIG9wdHMgT3B0aW9uYWwgcHJvdG9jb2wgb3B0aW9ucyBmb3IgdGhlIHN1YnNjcmlwdGlvbi5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgZnVuY3Rpb24gdGhhdCB1bnN1YnNjcmliZXMgZnJvbSB0aGUgc3Vic2NyaXB0aW9uLlxuICAgICAqXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBUaGlzIG1ldGhvZCBzaG91bGQgbm90IGJlIHVzZWQgZGlyZWN0bHkuXG4gICAgICogSW5zdGVhZCwgdXNlIGBjcmVhdGVTdWJzY3JpcHRpb25gIHRvIGNyZWF0ZSBhIG5ldyBzdWJzY3JpcHRpb24uXG4gICAgICovXG4gICAgYXN5bmMgc3Vic2NyaWJlKGRlY29kZXJzLCBjYWxsYmFjaykge1xuICAgICAgICBjb25zdCBwdWJzdWJUb3BpY3MgPSB0aGlzLmdldFB1YnN1YlRvcGljcyhkZWNvZGVycyk7XG4gICAgICAgIGlmIChwdWJzdWJUb3BpY3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcIkZhaWxlZCB0byBzdWJzY3JpYmU6IG5vIHB1YnN1YlRvcGljIGZvdW5kIG9uIGRlY29kZXJzIHByb3ZpZGVkLlwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHVic3ViVG9waWNzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKFwiRmFpbGVkIHRvIHN1YnNjcmliZTogYWxsIGRlY29kZXJzIHNob3VsZCBoYXZlIHRoZSBzYW1lIHB1YnN1YiB0b3BpYy4gVXNlIGNyZWF0ZVN1YnNjcmlwdGlvbiB0byBiZSBtb3JlIGFnaWxlLlwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBhd2FpdCB0aGlzLmNyZWF0ZVN1YnNjcmlwdGlvbihwdWJzdWJUb3BpY3NbMF0pO1xuICAgICAgICBhd2FpdCBzdWJzY3JpcHRpb24uc3Vic2NyaWJlKGRlY29kZXJzLCBjYWxsYmFjayk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRUb3BpY3MgPSBBcnJheS5mcm9tKGdyb3VwQnlDb250ZW50VG9waWMoQXJyYXkuaXNBcnJheShkZWNvZGVycykgPyBkZWNvZGVycyA6IFtkZWNvZGVyc10pLmtleXMoKSk7XG4gICAgICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoY29udGVudFRvcGljcyk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIG9uUmVxdWVzdChzdHJlYW1EYXRhKSB7XG4gICAgICAgIGNvbnN0IHsgY29ubmVjdGlvbiwgc3RyZWFtIH0gPSBzdHJlYW1EYXRhO1xuICAgICAgICBjb25zdCB7IHJlbW90ZVBlZXIgfSA9IGNvbm5lY3Rpb247XG4gICAgICAgIGxvZy5pbmZvKGBSZWNlaXZlZCBtZXNzYWdlIGZyb20gJHtyZW1vdGVQZWVyLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBwaXBlKHN0cmVhbSwgbHAuZGVjb2RlLCBhc3luYyAoc291cmNlKSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIGF3YWl0IChjb25zdCBieXRlcyBvZiBzb3VyY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBGaWx0ZXJQdXNoUnBjLmRlY29kZShieXRlcy5zbGljZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBwdWJzdWJUb3BpYywgd2FrdU1lc3NhZ2UgfSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXdha3VNZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2cuZXJyb3IoXCJSZWNlaXZlZCBlbXB0eSBtZXNzYWdlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghcHVic3ViVG9waWMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcIlB1YnN1YiB0b3BpYyBtaXNzaW5nIGZyb20gcHVzaCBtZXNzYWdlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuZ2V0QWN0aXZlU3Vic2NyaXB0aW9uKHB1YnN1YlRvcGljKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZy5lcnJvcihgTm8gc3Vic2NyaXB0aW9uIGxvY2FsbHkgcmVnaXN0ZXJlZCBmb3IgdG9waWMgJHtwdWJzdWJUb3BpY31gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzdWJzY3JpcHRpb24ucHJvY2Vzc01lc3NhZ2Uod2FrdU1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxvZy5pbmZvKFwiUmVjZWl2aW5nIHBpcGUgY2xvc2VkLlwiKTtcbiAgICAgICAgICAgIH0sIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKFwiRXJyb3Igd2l0aCByZWNlaXZpbmcgcGlwZVwiLCBlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoXCJFcnJvciBkZWNvZGluZyBtZXNzYWdlXCIsIGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldFB1YnN1YlRvcGljcyhkZWNvZGVycykge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGVjb2RlcnMpKSB7XG4gICAgICAgICAgICByZXR1cm4gW2RlY29kZXJzLnB1YnN1YlRvcGljXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVjb2RlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcHVic3ViVG9waWNzID0gbmV3IFNldChkZWNvZGVycy5tYXAoKGQpID0+IGQucHVic3ViVG9waWMpKTtcbiAgICAgICAgcmV0dXJuIFsuLi5wdWJzdWJUb3BpY3NdO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiB3YWt1RmlsdGVyKGluaXQgPSB7IHB1YnN1YlRvcGljczogW10gfSkge1xuICAgIHJldHVybiAobGlicDJwKSA9PiBuZXcgRmlsdGVyKGxpYnAycCwgaW5pdCk7XG59XG5hc3luYyBmdW5jdGlvbiBwdXNoTWVzc2FnZShzdWJzY3JpcHRpb25DYWxsYmFjaywgcHVic3ViVG9waWMsIG1lc3NhZ2UpIHtcbiAgICBjb25zdCB7IGRlY29kZXJzLCBjYWxsYmFjayB9ID0gc3Vic2NyaXB0aW9uQ2FsbGJhY2s7XG4gICAgY29uc3QgeyBjb250ZW50VG9waWMgfSA9IG1lc3NhZ2U7XG4gICAgaWYgKCFjb250ZW50VG9waWMpIHtcbiAgICAgICAgbG9nLndhcm4oXCJNZXNzYWdlIGhhcyBubyBjb250ZW50IHRvcGljLCBza2lwcGluZ1wiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBjb25zdCBkZWNvZGVQcm9taXNlcyA9IGRlY29kZXJzLm1hcCgoZGVjKSA9PiBkZWNcbiAgICAgICAgICAgIC5mcm9tUHJvdG9PYmoocHVic3ViVG9waWMsIG1lc3NhZ2UpXG4gICAgICAgICAgICAudGhlbigoZGVjb2RlZCkgPT4gZGVjb2RlZCB8fCBQcm9taXNlLnJlamVjdChcIkRlY29kaW5nIGZhaWxlZFwiKSkpO1xuICAgICAgICBjb25zdCBkZWNvZGVkTWVzc2FnZSA9IGF3YWl0IFByb21pc2UuYW55KGRlY29kZVByb21pc2VzKTtcbiAgICAgICAgYXdhaXQgY2FsbGJhY2soZGVjb2RlZE1lc3NhZ2UpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICBsb2cuZXJyb3IoXCJFcnJvciBkZWNvZGluZyBtZXNzYWdlXCIsIGUpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJEZWZhdWx0UHVic3ViVG9waWMiLCJtZXNzYWdlSGFzaFN0ciIsImVuc3VyZVB1YnN1YlRvcGljSXNDb25maWd1cmVkIiwiZ3JvdXBCeUNvbnRlbnRUb3BpYyIsInNpbmdsZVNoYXJkSW5mb1RvUHVic3ViVG9waWMiLCJ0b0FzeW5jSXRlcmF0b3IiLCJMb2dnZXIiLCJhbGwiLCJscCIsInBpcGUiLCJCYXNlUHJvdG9jb2wiLCJGaWx0ZXJQdXNoUnBjIiwiRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UiLCJGaWx0ZXJTdWJzY3JpYmVScGMiLCJsb2ciLCJGaWx0ZXJDb2RlY3MiLCJTVUJTQ1JJQkUiLCJQVVNIIiwiU3Vic2NyaXB0aW9uIiwiY29uc3RydWN0b3IiLCJwdWJzdWJUb3BpYyIsInJlbW90ZVBlZXJzIiwibmV3U3RyZWFtIiwicmVjZWl2ZWRNZXNzYWdlc0hhc2hTdHIiLCJwZWVycyIsInN1YnNjcmlwdGlvbkNhbGxiYWNrcyIsIk1hcCIsInN1YnNjcmliZSIsImRlY29kZXJzIiwiY2FsbGJhY2siLCJkZWNvZGVyc0FycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZm9yRWFjaCIsImRlY29kZXIiLCJFcnJvciIsImRlY29kZXJzR3JvdXBlZEJ5Q1QiLCJjb250ZW50VG9waWNzIiwiZnJvbSIsImtleXMiLCJwcm9taXNlcyIsIm1hcCIsInBlZXIiLCJzdHJlYW0iLCJyZXF1ZXN0IiwiY3JlYXRlU3Vic2NyaWJlUmVxdWVzdCIsInJlcyIsImVuY29kZSIsImRlY29kZSIsInNvdXJjZSIsImxlbmd0aCIsInJlcXVlc3RJZCIsInN0YXR1c0NvZGUiLCJzdGF0dXNEZXNjIiwic2xpY2UiLCJpbmZvIiwiaWQiLCJ0b1N0cmluZyIsImUiLCJyZXN1bHRzIiwiUHJvbWlzZSIsImFsbFNldHRsZWQiLCJoYW5kbGVFcnJvcnMiLCJjb250ZW50VG9waWMiLCJzdWJzY3JpcHRpb25DYWxsYmFjayIsInNldCIsInVuc3Vic2NyaWJlIiwidW5zdWJzY3JpYmVSZXF1ZXN0IiwiY3JlYXRlVW5zdWJzY3JpYmVSZXF1ZXN0Iiwic2luayIsImVycm9yIiwiZGVsZXRlIiwicGluZyIsImNyZWF0ZVN1YnNjcmliZXJQaW5nUmVxdWVzdCIsInVuc3Vic2NyaWJlQWxsIiwiY3JlYXRlVW5zdWJzY3JpYmVBbGxSZXF1ZXN0IiwiY2xlYXIiLCJwcm9jZXNzTWVzc2FnZSIsIm1lc3NhZ2UiLCJoYXNoZWRNZXNzYWdlU3RyIiwiaW5jbHVkZXMiLCJwdXNoIiwiZ2V0IiwicHVzaE1lc3NhZ2UiLCJ0eXBlIiwiZXJyb3JzIiwiZmlsdGVyIiwicmVzdWx0Iiwic3RhdHVzIiwicmVqZWN0ZWRSZXN1bHQiLCJyZWFzb24iLCJlcnJvckNvdW50cyIsIlN0cmluZyIsInVuaXF1ZUVycm9yTWVzc2FnZXMiLCJjb3VudCIsImpvaW4iLCJ3YXJuIiwiREVGQVVMVF9OVU1fUEVFUlMiLCJGaWx0ZXIiLCJnZXRBY3RpdmVTdWJzY3JpcHRpb24iLCJhY3RpdmVTdWJzY3JpcHRpb25zIiwic2V0QWN0aXZlU3Vic2NyaXB0aW9uIiwic3Vic2NyaXB0aW9uIiwibGlicDJwIiwib3B0aW9ucyIsImNvbXBvbmVudHMiLCJwdWJzdWJUb3BpY3MiLCJudW1QZWVyc1RvVXNlIiwiaGFuZGxlIiwib25SZXF1ZXN0IiwiYmluZCIsImNhdGNoIiwiY3JlYXRlU3Vic2NyaXB0aW9uIiwicHVic3ViVG9waWNTaGFyZEluZm8iLCJnZXRQZWVycyIsIm1heEJvb3RzdHJhcFBlZXJzIiwibnVtUGVlcnMiLCJnZXRTdHJlYW0iLCJ0b1N1YnNjcmlwdGlvbkl0ZXJhdG9yIiwiZ2V0UHVic3ViVG9waWNzIiwic3RyZWFtRGF0YSIsImNvbm5lY3Rpb24iLCJyZW1vdGVQZWVyIiwiYnl0ZXMiLCJyZXNwb25zZSIsIndha3VNZXNzYWdlIiwidGhlbiIsIlNldCIsImQiLCJ3YWt1RmlsdGVyIiwiaW5pdCIsImRlY29kZVByb21pc2VzIiwiZGVjIiwiZnJvbVByb3RvT2JqIiwiZGVjb2RlZCIsInJlamVjdCIsImRlY29kZWRNZXNzYWdlIiwiYW55Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filter/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filterPeers.js":
/*!********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filterPeers.js ***!
\********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterPeersByDiscovery: () => (/* binding */ filterPeersByDiscovery)\n/* harmony export */ });\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n\n/**\n * Retrieves a list of peers based on the specified criteria:\n * 1. If numPeers is 0, return all peers\n * 2. Bootstrap peers are prioritized\n * 3. Non-bootstrap peers are randomly selected to fill up to numPeers\n *\n * @param peers - The list of peers to filter from.\n * @param numPeers - The total number of peers to retrieve. If 0, all peers are returned, irrespective of `maxBootstrapPeers`.\n * @param maxBootstrapPeers - The maximum number of bootstrap peers to retrieve.\n * @returns An array of peers based on the specified criteria.\n */ function filterPeersByDiscovery(peers, numPeers, maxBootstrapPeers) {\n // Collect the bootstrap peers up to the specified maximum\n let bootstrapPeers = peers.filter((peer)=>peer.tags.has(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP)).slice(0, maxBootstrapPeers);\n // If numPeers is less than the number of bootstrap peers, adjust the bootstrapPeers array\n if (numPeers > 0 && numPeers < bootstrapPeers.length) {\n bootstrapPeers = bootstrapPeers.slice(0, numPeers);\n }\n // Collect non-bootstrap peers\n const nonBootstrapPeers = peers.filter((peer)=>!peer.tags.has(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Tags.BOOTSTRAP));\n // If numPeers is 0, return all peers\n if (numPeers === 0) {\n return [\n ...bootstrapPeers,\n ...nonBootstrapPeers\n ];\n }\n // Initialize the list of selected peers with the bootstrap peers\n const selectedPeers = [\n ...bootstrapPeers\n ];\n // Fill up to numPeers with remaining random peers if needed\n while(selectedPeers.length < numPeers && nonBootstrapPeers.length > 0){\n const randomIndex = Math.floor(Math.random() * nonBootstrapPeers.length);\n const randomPeer = nonBootstrapPeers.splice(randomIndex, 1)[0];\n selectedPeers.push(randomPeer);\n }\n return selectedPeers;\n} //# sourceMappingURL=filterPeers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2ZpbHRlclBlZXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXdDO0FBQ3hDOzs7Ozs7Ozs7O0NBVUMsR0FDTSxTQUFTQyx1QkFBdUJDLEtBQUssRUFBRUMsUUFBUSxFQUFFQyxpQkFBaUI7SUFDckUsMERBQTBEO0lBQzFELElBQUlDLGlCQUFpQkgsTUFDaEJJLE1BQU0sQ0FBQyxDQUFDQyxPQUFTQSxLQUFLQyxJQUFJLENBQUNDLEdBQUcsQ0FBQ1Qsa0RBQUlBLENBQUNVLFNBQVMsR0FDN0NDLEtBQUssQ0FBQyxHQUFHUDtJQUNkLDBGQUEwRjtJQUMxRixJQUFJRCxXQUFXLEtBQUtBLFdBQVdFLGVBQWVPLE1BQU0sRUFBRTtRQUNsRFAsaUJBQWlCQSxlQUFlTSxLQUFLLENBQUMsR0FBR1I7SUFDN0M7SUFDQSw4QkFBOEI7SUFDOUIsTUFBTVUsb0JBQW9CWCxNQUFNSSxNQUFNLENBQUMsQ0FBQ0MsT0FBUyxDQUFDQSxLQUFLQyxJQUFJLENBQUNDLEdBQUcsQ0FBQ1Qsa0RBQUlBLENBQUNVLFNBQVM7SUFDOUUscUNBQXFDO0lBQ3JDLElBQUlQLGFBQWEsR0FBRztRQUNoQixPQUFPO2VBQUlFO2VBQW1CUTtTQUFrQjtJQUNwRDtJQUNBLGlFQUFpRTtJQUNqRSxNQUFNQyxnQkFBZ0I7V0FBSVQ7S0FBZTtJQUN6Qyw0REFBNEQ7SUFDNUQsTUFBT1MsY0FBY0YsTUFBTSxHQUFHVCxZQUFZVSxrQkFBa0JELE1BQU0sR0FBRyxFQUFHO1FBQ3BFLE1BQU1HLGNBQWNDLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsTUFBTSxLQUFLTCxrQkFBa0JELE1BQU07UUFDdkUsTUFBTU8sYUFBYU4sa0JBQWtCTyxNQUFNLENBQUNMLGFBQWEsRUFBRSxDQUFDLEVBQUU7UUFDOURELGNBQWNPLElBQUksQ0FBQ0Y7SUFDdkI7SUFDQSxPQUFPTDtBQUNYLEVBQ0EsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2ZpbHRlclBlZXJzLmpzP2Y1MzYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFncyB9IGZyb20gXCJAd2FrdS9pbnRlcmZhY2VzXCI7XG4vKipcbiAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgcGVlcnMgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBjcml0ZXJpYTpcbiAqIDEuIElmIG51bVBlZXJzIGlzIDAsIHJldHVybiBhbGwgcGVlcnNcbiAqIDIuIEJvb3RzdHJhcCBwZWVycyBhcmUgcHJpb3JpdGl6ZWRcbiAqIDMuIE5vbi1ib290c3RyYXAgcGVlcnMgYXJlIHJhbmRvbWx5IHNlbGVjdGVkIHRvIGZpbGwgdXAgdG8gbnVtUGVlcnNcbiAqXG4gKiBAcGFyYW0gcGVlcnMgLSBUaGUgbGlzdCBvZiBwZWVycyB0byBmaWx0ZXIgZnJvbS5cbiAqIEBwYXJhbSBudW1QZWVycyAtIFRoZSB0b3RhbCBudW1iZXIgb2YgcGVlcnMgdG8gcmV0cmlldmUuIElmIDAsIGFsbCBwZWVycyBhcmUgcmV0dXJuZWQsIGlycmVzcGVjdGl2ZSBvZiBgbWF4Qm9vdHN0cmFwUGVlcnNgLlxuICogQHBhcmFtIG1heEJvb3RzdHJhcFBlZXJzIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIGJvb3RzdHJhcCBwZWVycyB0byByZXRyaWV2ZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBlZXJzIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgY3JpdGVyaWEuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJQZWVyc0J5RGlzY292ZXJ5KHBlZXJzLCBudW1QZWVycywgbWF4Qm9vdHN0cmFwUGVlcnMpIHtcbiAgICAvLyBDb2xsZWN0IHRoZSBib290c3RyYXAgcGVlcnMgdXAgdG8gdGhlIHNwZWNpZmllZCBtYXhpbXVtXG4gICAgbGV0IGJvb3RzdHJhcFBlZXJzID0gcGVlcnNcbiAgICAgICAgLmZpbHRlcigocGVlcikgPT4gcGVlci50YWdzLmhhcyhUYWdzLkJPT1RTVFJBUCkpXG4gICAgICAgIC5zbGljZSgwLCBtYXhCb290c3RyYXBQZWVycyk7XG4gICAgLy8gSWYgbnVtUGVlcnMgaXMgbGVzcyB0aGFuIHRoZSBudW1iZXIgb2YgYm9vdHN0cmFwIHBlZXJzLCBhZGp1c3QgdGhlIGJvb3RzdHJhcFBlZXJzIGFycmF5XG4gICAgaWYgKG51bVBlZXJzID4gMCAmJiBudW1QZWVycyA8IGJvb3RzdHJhcFBlZXJzLmxlbmd0aCkge1xuICAgICAgICBib290c3RyYXBQZWVycyA9IGJvb3RzdHJhcFBlZXJzLnNsaWNlKDAsIG51bVBlZXJzKTtcbiAgICB9XG4gICAgLy8gQ29sbGVjdCBub24tYm9vdHN0cmFwIHBlZXJzXG4gICAgY29uc3Qgbm9uQm9vdHN0cmFwUGVlcnMgPSBwZWVycy5maWx0ZXIoKHBlZXIpID0+ICFwZWVyLnRhZ3MuaGFzKFRhZ3MuQk9PVFNUUkFQKSk7XG4gICAgLy8gSWYgbnVtUGVlcnMgaXMgMCwgcmV0dXJuIGFsbCBwZWVyc1xuICAgIGlmIChudW1QZWVycyA9PT0gMCkge1xuICAgICAgICByZXR1cm4gWy4uLmJvb3RzdHJhcFBlZXJzLCAuLi5ub25Cb290c3RyYXBQZWVyc107XG4gICAgfVxuICAgIC8vIEluaXRpYWxpemUgdGhlIGxpc3Qgb2Ygc2VsZWN0ZWQgcGVlcnMgd2l0aCB0aGUgYm9vdHN0cmFwIHBlZXJzXG4gICAgY29uc3Qgc2VsZWN0ZWRQZWVycyA9IFsuLi5ib290c3RyYXBQZWVyc107XG4gICAgLy8gRmlsbCB1cCB0byBudW1QZWVycyB3aXRoIHJlbWFpbmluZyByYW5kb20gcGVlcnMgaWYgbmVlZGVkXG4gICAgd2hpbGUgKHNlbGVjdGVkUGVlcnMubGVuZ3RoIDwgbnVtUGVlcnMgJiYgbm9uQm9vdHN0cmFwUGVlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIG5vbkJvb3RzdHJhcFBlZXJzLmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IHJhbmRvbVBlZXIgPSBub25Cb290c3RyYXBQZWVycy5zcGxpY2UocmFuZG9tSW5kZXgsIDEpWzBdO1xuICAgICAgICBzZWxlY3RlZFBlZXJzLnB1c2gocmFuZG9tUGVlcik7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RlZFBlZXJzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmlsdGVyUGVlcnMuanMubWFwIl0sIm5hbWVzIjpbIlRhZ3MiLCJmaWx0ZXJQZWVyc0J5RGlzY292ZXJ5IiwicGVlcnMiLCJudW1QZWVycyIsIm1heEJvb3RzdHJhcFBlZXJzIiwiYm9vdHN0cmFwUGVlcnMiLCJmaWx0ZXIiLCJwZWVyIiwidGFncyIsImhhcyIsIkJPT1RTVFJBUCIsInNsaWNlIiwibGVuZ3RoIiwibm9uQm9vdHN0cmFwUGVlcnMiLCJzZWxlY3RlZFBlZXJzIiwicmFuZG9tSW5kZXgiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJyYW5kb21QZWVyIiwic3BsaWNlIiwicHVzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/filterPeers.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/keep_alive_manager.js":
/*!***************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/keep_alive_manager.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ KeepAliveManager: () => (/* binding */ KeepAliveManager),\n/* harmony export */ RelayPingContentTopic: () => (/* binding */ RelayPingContentTopic)\n/* harmony export */ });\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var _message_version_0_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./message/version_0.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/version_0.js\");\n\n\n\nconst RelayPingContentTopic = \"/relay-ping/1/ping/null\";\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_0__.Logger(\"keep-alive\");\nclass KeepAliveManager {\n constructor(options, relay){\n this.pingKeepAliveTimers = new Map();\n this.relayKeepAliveTimers = new Map();\n this.options = options;\n this.relay = relay;\n }\n start(peerId, libp2pPing, peerStore) {\n // Just in case a timer already exists for this peer\n this.stop(peerId);\n const { pingKeepAlive: pingPeriodSecs, relayKeepAlive: relayPeriodSecs } = this.options;\n const peerIdStr = peerId.toString();\n // Ping the peer every pingPeriodSecs seconds\n // if pingPeriodSecs is 0, don't ping the peer\n if (pingPeriodSecs !== 0) {\n const interval = setInterval(()=>{\n void (async ()=>{\n let ping;\n try {\n // ping the peer for keep alive\n // also update the peer store with the latency\n try {\n ping = await libp2pPing.ping(peerId);\n log.info(`Ping succeeded (${peerIdStr})`, ping);\n } catch (error) {\n log.error(`Ping failed for peer (${peerIdStr}).\n Next ping will be attempted in ${pingPeriodSecs} seconds.\n `);\n return;\n }\n try {\n await peerStore.patch(peerId, {\n metadata: {\n ping: (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)(ping.toString())\n }\n });\n } catch (e) {\n log.error(\"Failed to update ping\", e);\n }\n } catch (e) {\n log.error(`Ping failed (${peerIdStr})`, e);\n }\n })();\n }, pingPeriodSecs * 1000);\n this.pingKeepAliveTimers.set(peerIdStr, interval);\n }\n const relay = this.relay;\n if (relay && relayPeriodSecs !== 0) {\n const intervals = this.scheduleRelayPings(relay, relayPeriodSecs, peerId.toString());\n this.relayKeepAliveTimers.set(peerId, intervals);\n }\n }\n stop(peerId) {\n const peerIdStr = peerId.toString();\n if (this.pingKeepAliveTimers.has(peerIdStr)) {\n clearInterval(this.pingKeepAliveTimers.get(peerIdStr));\n this.pingKeepAliveTimers.delete(peerIdStr);\n }\n if (this.relayKeepAliveTimers.has(peerId)) {\n this.relayKeepAliveTimers.get(peerId)?.map(clearInterval);\n this.relayKeepAliveTimers.delete(peerId);\n }\n }\n stopAll() {\n for (const timer of [\n ...Object.values(this.pingKeepAliveTimers),\n ...Object.values(this.relayKeepAliveTimers)\n ]){\n clearInterval(timer);\n }\n this.pingKeepAliveTimers.clear();\n this.relayKeepAliveTimers.clear();\n }\n connectionsExist() {\n return this.pingKeepAliveTimers.size > 0 || this.relayKeepAliveTimers.size > 0;\n }\n scheduleRelayPings(relay, relayPeriodSecs, peerIdStr) {\n // send a ping message to each PubsubTopic the peer is part of\n const intervals = [];\n for (const topic of relay.pubsubTopics){\n const meshPeers = relay.getMeshPeers(topic);\n if (!meshPeers.includes(peerIdStr)) continue;\n const encoder = (0,_message_version_0_js__WEBPACK_IMPORTED_MODULE_2__.createEncoder)({\n pubsubTopicShardInfo: (0,_waku_utils__WEBPACK_IMPORTED_MODULE_0__.pubsubTopicToSingleShardInfo)(topic),\n contentTopic: RelayPingContentTopic,\n ephemeral: true\n });\n const interval = setInterval(()=>{\n log.info(\"Sending Waku Relay ping message\");\n relay.send(encoder, {\n payload: new Uint8Array([\n 1\n ])\n }).catch((e)=>log.error(\"Failed to send relay ping\", e));\n }, relayPeriodSecs * 1000);\n intervals.push(interval);\n }\n return intervals;\n }\n} //# sourceMappingURL=keep_alive_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2tlZXBfYWxpdmVfbWFuYWdlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFtRTtBQUNuQjtBQUNPO0FBQ2hELE1BQU1JLHdCQUF3QiwwQkFBMEI7QUFDL0QsTUFBTUMsTUFBTSxJQUFJTCwrQ0FBTUEsQ0FBQztBQUNoQixNQUFNTTtJQUtUQyxZQUFZQyxPQUFPLEVBQUVDLEtBQUssQ0FBRTtRQUN4QixJQUFJLENBQUNDLG1CQUFtQixHQUFHLElBQUlDO1FBQy9CLElBQUksQ0FBQ0Msb0JBQW9CLEdBQUcsSUFBSUQ7UUFDaEMsSUFBSSxDQUFDSCxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO0lBQ2pCO0lBQ0FJLE1BQU1DLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUU7UUFDakMsb0RBQW9EO1FBQ3BELElBQUksQ0FBQ0MsSUFBSSxDQUFDSDtRQUNWLE1BQU0sRUFBRUksZUFBZUMsY0FBYyxFQUFFQyxnQkFBZ0JDLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQ2IsT0FBTztRQUN2RixNQUFNYyxZQUFZUixPQUFPUyxRQUFRO1FBQ2pDLDZDQUE2QztRQUM3Qyw4Q0FBOEM7UUFDOUMsSUFBSUosbUJBQW1CLEdBQUc7WUFDdEIsTUFBTUssV0FBV0MsWUFBWTtnQkFDekIsS0FBSyxDQUFDO29CQUNGLElBQUlDO29CQUNKLElBQUk7d0JBQ0EsK0JBQStCO3dCQUMvQiw4Q0FBOEM7d0JBQzlDLElBQUk7NEJBQ0FBLE9BQU8sTUFBTVgsV0FBV1csSUFBSSxDQUFDWjs0QkFDN0JULElBQUlzQixJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUwsVUFBVSxDQUFDLENBQUMsRUFBRUk7d0JBQzlDLEVBQ0EsT0FBT0UsT0FBTzs0QkFDVnZCLElBQUl1QixLQUFLLENBQUMsQ0FBQyxzQkFBc0IsRUFBRU4sVUFBVTsrQ0FDMUIsRUFB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O0FBQ0osRUFDQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2NvcmUvZGlzdC9saWIva2VlcF9hbGl2ZV9tYW5hZ2VyLmpzPzIxMTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VyLCBwdWJzdWJUb3BpY1RvU2luZ2xlU2hhcmRJbmZvIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyB1dGY4VG9CeXRlcyB9IGZyb20gXCJAd2FrdS91dGlscy9ieXRlc1wiO1xuaW1wb3J0IHsgY3JlYXRlRW5jb2RlciB9IGZyb20gXCIuL21lc3NhZ2UvdmVyc2lvbl8wLmpzXCI7XG5leHBvcnQgY29uc3QgUmVsYXlQaW5nQ29udGVudFRvcGljID0gXCIvcmVsYXktcGluZy8xL3BpbmcvbnVsbFwiO1xuY29uc3QgbG9nID0gbmV3IExvZ2dlcihcImtlZXAtYWxpdmVcIik7XG5leHBvcnQgY2xhc3MgS2VlcEFsaXZlTWFuYWdlciB7XG4gICAgcGluZ0tlZXBBbGl2ZVRpbWVycztcbiAgICByZWxheUtlZXBBbGl2ZVRpbWVycztcbiAgICBvcHRpb25zO1xuICAgIHJlbGF5O1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMsIHJlbGF5KSB7XG4gICAgICAgIHRoaXMucGluZ0tlZXBBbGl2ZVRpbWVycyA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5yZWxheUtlZXBBbGl2ZVRpbWVycyA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5yZWxheSA9IHJlbGF5O1xuICAgIH1cbiAgICBzdGFydChwZWVySWQsIGxpYnAycFBpbmcsIHBlZXJTdG9yZSkge1xuICAgICAgICAvLyBKdXN0IGluIGNhc2UgYSB0aW1lciBhbHJlYWR5IGV4aXN0cyBmb3IgdGhpcyBwZWVyXG4gICAgICAgIHRoaXMuc3RvcChwZWVySWQpO1xuICAgICAgICBjb25zdCB7IHBpbmdLZWVwQWxpdmU6IHBpbmdQZXJpb2RTZWNzLCByZWxheUtlZXBBbGl2ZTogcmVsYXlQZXJpb2RTZWNzIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHBlZXJJZFN0ciA9IHBlZXJJZC50b1N0cmluZygpO1xuICAgICAgICAvLyBQaW5nIHRoZSBwZWVyIGV2ZXJ5IHBpbmdQZXJpb2RTZWNzIHNlY29uZHNcbiAgICAgICAgLy8gaWYgcGluZ1BlcmlvZFNlY3MgaXMgMCwgZG9uJ3QgcGluZyB0aGUgcGVlclxuICAgICAgICBpZiAocGluZ1BlcmlvZFNlY3MgIT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHZvaWQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBpbmc7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwaW5nIHRoZSBwZWVyIGZvciBrZWVwIGFsaXZlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhbHNvIHVwZGF0ZSB0aGUgcGVlciBzdG9yZSB3aXRoIHRoZSBsYXRlbmN5XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpbmcgPSBhd2FpdCBsaWJwMnBQaW5nLnBpbmcocGVlcklkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2cuaW5mbyhgUGluZyBzdWNjZWVkZWQgKCR7cGVlcklkU3RyfSlgLCBwaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZy5lcnJvcihgUGluZyBmYWlsZWQgZm9yIHBlZXIgKCR7cGVlcklkU3RyfSkuXG4gICAgICAgICAgICAgICAgTmV4dCBwaW5nIHdpbGwgYmUgYXR0ZW1wdGVkIGluICR7cGluZ1BlcmlvZFNlY3N9IHNlY29uZHMuXG4gICAgICAgICAgICAgIGApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgcGVlclN0b3JlLnBhdGNoKHBlZXJJZCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluZzogdXRmOFRvQnl0ZXMocGluZy50b1N0cmluZygpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byB1cGRhdGUgcGluZ1wiLCBlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9nLmVycm9yKGBQaW5nIGZhaWxlZCAoJHtwZWVySWRTdHJ9KWAsIGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSkoKTtcbiAgICAgICAgICAgIH0sIHBpbmdQZXJpb2RTZWNzICogMTAwMCk7XG4gICAgICAgICAgICB0aGlzLnBpbmdLZWVwQWxpdmVUaW1lcnMuc2V0KHBlZXJJZFN0ciwgaW50ZXJ2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlbGF5ID0gdGhpcy5yZWxheTtcbiAgICAgICAgaWYgKHJlbGF5ICYmIHJlbGF5UGVyaW9kU2VjcyAhPT0gMCkge1xuICAgICAgICAgICAgY29uc3QgaW50ZXJ2YWxzID0gdGhpcy5zY2hlZHVsZVJlbGF5UGluZ3MocmVsYXksIHJlbGF5UGVyaW9kU2VjcywgcGVlcklkLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgdGhpcy5yZWxheUtlZXBBbGl2ZVRpbWVycy5zZXQocGVlcklkLCBpbnRlcnZhbHMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0b3AocGVlcklkKSB7XG4gICAgICAgIGNvbnN0IHBlZXJJZFN0ciA9IHBlZXJJZC50b1N0cmluZygpO1xuICAgICAgICBpZiAodGhpcy5waW5nS2VlcEFsaXZlVGltZXJzLmhhcyhwZWVySWRTdHIpKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMucGluZ0tlZXBBbGl2ZVRpbWVycy5nZXQocGVlcklkU3RyKSk7XG4gICAgICAgICAgICB0aGlzLnBpbmdLZWVwQWxpdmVUaW1lcnMuZGVsZXRlKHBlZXJJZFN0cik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVsYXlLZWVwQWxpdmVUaW1lcnMuaGFzKHBlZXJJZCkpIHtcbiAgICAgICAgICAgIHRoaXMucmVsYXlLZWVwQWxpdmVUaW1lcnMuZ2V0KHBlZXJJZCk/Lm1hcChjbGVhckludGVydmFsKTtcbiAgICAgICAgICAgIHRoaXMucmVsYXlLZWVwQWxpdmVUaW1lcnMuZGVsZXRlKHBlZXJJZCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RvcEFsbCgpIHtcbiAgICAgICAgZm9yIChjb25zdCB0aW1lciBvZiBbXG4gICAgICAgICAgICAuLi5PYmplY3QudmFsdWVzKHRoaXMucGluZ0tlZXBBbGl2ZVRpbWVycyksXG4gICAgICAgICAgICAuLi5PYmplY3QudmFsdWVzKHRoaXMucmVsYXlLZWVwQWxpdmVUaW1lcnMpXG4gICAgICAgIF0pIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGluZ0tlZXBBbGl2ZVRpbWVycy5jbGVhcigpO1xuICAgICAgICB0aGlzLnJlbGF5S2VlcEFsaXZlVGltZXJzLmNsZWFyKCk7XG4gICAgfVxuICAgIGNvbm5lY3Rpb25zRXhpc3QoKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5waW5nS2VlcEFsaXZlVGltZXJzLnNpemUgPiAwIHx8IHRoaXMucmVsYXlLZWVwQWxpdmVUaW1lcnMuc2l6ZSA+IDApO1xuICAgIH1cbiAgICBzY2hlZHVsZVJlbGF5UGluZ3MocmVsYXksIHJlbGF5UGVyaW9kU2VjcywgcGVlcklkU3RyKSB7XG4gICAgICAgIC8vIHNlbmQgYSBwaW5nIG1lc3NhZ2UgdG8gZWFjaCBQdWJzdWJUb3BpYyB0aGUgcGVlciBpcyBwYXJ0IG9mXG4gICAgICAgIGNvbnN0IGludGVydmFscyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHRvcGljIG9mIHJlbGF5LnB1YnN1YlRvcGljcykge1xuICAgICAgICAgICAgY29uc3QgbWVzaFBlZXJzID0gcmVsYXkuZ2V0TWVzaFBlZXJzKHRvcGljKTtcbiAgICAgICAgICAgIGlmICghbWVzaFBlZXJzLmluY2x1ZGVzKHBlZXJJZFN0cikpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBjb25zdCBlbmNvZGVyID0gY3JlYXRlRW5jb2Rlcih7XG4gICAgICAgICAgICAgICAgcHVic3ViVG9waWNTaGFyZEluZm86IHB1YnN1YlRvcGljVG9TaW5nbGVTaGFyZEluZm8odG9waWMpLFxuICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogUmVsYXlQaW5nQ29udGVudFRvcGljLFxuICAgICAgICAgICAgICAgIGVwaGVtZXJhbDogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgICAgICBsb2cuaW5mbyhcIlNlbmRpbmcgV2FrdSBSZWxheSBwaW5nIG1lc3NhZ2VcIik7XG4gICAgICAgICAgICAgICAgcmVsYXlcbiAgICAgICAgICAgICAgICAgICAgLnNlbmQoZW5jb2RlciwgeyBwYXlsb2FkOiBuZXcgVWludDhBcnJheShbMV0pIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4gbG9nLmVycm9yKFwiRmFpbGVkIHRvIHNlbmQgcmVsYXkgcGluZ1wiLCBlKSk7XG4gICAgICAgICAgICB9LCByZWxheVBlcmlvZFNlY3MgKiAxMDAwKTtcbiAgICAgICAgICAgIGludGVydmFscy5wdXNoKGludGVydmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW50ZXJ2YWxzO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWtlZXBfYWxpdmVfbWFuYWdlci5qcy5tYXAiXSwibmFtZXMiOlsiTG9nZ2VyIiwicHVic3ViVG9waWNUb1NpbmdsZVNoYXJkSW5mbyIsInV0ZjhUb0J5dGVzIiwiY3JlYXRlRW5jb2RlciIsIlJlbGF5UGluZ0NvbnRlbnRUb3BpYyIsImxvZyIsIktlZXBBbGl2ZU1hbmFnZXIiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJyZWxheSIsInBpbmdLZWVwQWxpdmVUaW1lcnMiLCJNYXAiLCJyZWxheUtlZXBBbGl2ZVRpbWVycyIsInN0YXJ0IiwicGVlcklkIiwibGlicDJwUGluZyIsInBlZXJTdG9yZSIsInN0b3AiLCJwaW5nS2VlcEFsaXZlIiwicGluZ1BlcmlvZFNlY3MiLCJyZWxheUtlZXBBbGl2ZSIsInJlbGF5UGVyaW9kU2VjcyIsInBlZXJJZFN0ciIsInRvU3RyaW5nIiwiaW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsInBpbmciLCJpbmZvIiwiZXJyb3IiLCJwYXRjaCIsIm1ldGFkYXRhIiwiZSIsInNldCIsImludGVydmFscyIsInNjaGVkdWxlUmVsYXlQaW5ncyIsImhhcyIsImNsZWFySW50ZXJ2YWwiLCJnZXQiLCJkZWxldGUiLCJtYXAiLCJzdG9wQWxsIiwidGltZXIiLCJPYmplY3QiLCJ2YWx1ZXMiLCJjbGVhciIsImNvbm5lY3Rpb25zRXhpc3QiLCJzaXplIiwidG9waWMiLCJwdWJzdWJUb3BpY3MiLCJtZXNoUGVlcnMiLCJnZXRNZXNoUGVlcnMiLCJpbmNsdWRlcyIsImVuY29kZXIiLCJwdWJzdWJUb3BpY1NoYXJkSW5mbyIsImNvbnRlbnRUb3BpYyIsImVwaGVtZXJhbCIsInNlbmQiLCJwYXlsb2FkIiwiVWludDhBcnJheSIsImNhdGNoIiwicHVzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/keep_alive_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/light_push/index.js":
/*!*************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/light_push/index.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LightPushCodec: () => (/* binding */ LightPushCodec),\n/* harmony export */ LightPushCore: () => (/* binding */ LightPushCore),\n/* harmony export */ PushResponse: () => (/* reexport safe */ _waku_proto__WEBPACK_IMPORTED_MODULE_1__.PushResponse)\n/* harmony export */ });\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var it_all__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! it-all */ \"(ssr)/./node_modules/it-all/dist/src/index.js\");\n/* harmony import */ var it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! it-length-prefixed */ \"(ssr)/./node_modules/it-length-prefixed/dist/src/index.js\");\n/* harmony import */ var it_pipe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! it-pipe */ \"(ssr)/./node_modules/it-pipe/dist/src/index.js\");\n/* harmony import */ var uint8arraylist__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! uint8arraylist */ \"(ssr)/./node_modules/uint8arraylist/dist/src/index.js\");\n/* harmony import */ var _base_protocol_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../base_protocol.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/base_protocol.js\");\n/* harmony import */ var _push_rpc_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./push_rpc.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/light_push/push_rpc.js\");\n\n\n\n\n\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_2__.Logger(\"light-push\");\nconst LightPushCodec = \"/vac/waku/lightpush/2.0.0-beta1\";\n\n/**\n * Implements the [Waku v2 Light Push protocol](https://rfc.vac.dev/spec/19/).\n */ class LightPushCore extends _base_protocol_js__WEBPACK_IMPORTED_MODULE_7__.BaseProtocol {\n constructor(libp2p, options){\n super(LightPushCodec, libp2p.components, log, options.pubsubTopics, options);\n }\n async preparePushMessage(encoder, message) {\n try {\n if (!message.payload || message.payload.length === 0) {\n log.error(\"Failed to send waku light push: payload is empty\");\n return {\n query: null,\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.EMPTY_PAYLOAD\n };\n }\n if (!await (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.isMessageSizeUnderCap)(encoder, message)) {\n log.error(\"Failed to send waku light push: message is bigger than 1MB\");\n return {\n query: null,\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.SIZE_TOO_BIG\n };\n }\n const protoMessage = await encoder.toProtoObj(message);\n if (!protoMessage) {\n log.error(\"Failed to encode to protoMessage, aborting push\");\n return {\n query: null,\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.ENCODE_FAILED\n };\n }\n const query = _push_rpc_js__WEBPACK_IMPORTED_MODULE_8__.PushRpc.createRequest(protoMessage, encoder.pubsubTopic);\n return {\n query,\n error: null\n };\n } catch (error) {\n log.error(\"Failed to prepare push message\", error);\n return {\n query: null,\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.GENERIC_FAIL\n };\n }\n }\n async send(encoder, message, peer) {\n const { query, error: preparationError } = await this.preparePushMessage(encoder, message);\n if (preparationError || !query) {\n return {\n success: null,\n failure: {\n error: preparationError,\n peerId: peer.id\n }\n };\n }\n let stream;\n try {\n stream = await this.getStream(peer);\n } catch (err) {\n log.error(`Failed to get a stream for remote peer${peer.id.toString()}`, err);\n return {\n success: null,\n failure: {\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.REMOTE_PEER_FAULT,\n peerId: peer.id\n }\n };\n }\n let res;\n try {\n res = await (0,it_pipe__WEBPACK_IMPORTED_MODULE_5__.pipe)([\n query.encode()\n ], it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.encode, stream, it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.decode, async (source)=>await (0,it_all__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(source));\n } catch (err) {\n log.error(\"Failed to send waku light push request\", err);\n return {\n success: null,\n failure: {\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.GENERIC_FAIL,\n peerId: peer.id\n }\n };\n }\n const bytes = new uint8arraylist__WEBPACK_IMPORTED_MODULE_6__.Uint8ArrayList();\n res.forEach((chunk)=>{\n bytes.append(chunk);\n });\n let response;\n try {\n response = _push_rpc_js__WEBPACK_IMPORTED_MODULE_8__.PushRpc.decode(bytes).response;\n } catch (err) {\n log.error(\"Failed to decode push reply\", err);\n return {\n success: null,\n failure: {\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.DECODE_FAILED,\n peerId: peer.id\n }\n };\n }\n if (!response) {\n log.error(\"Remote peer fault: No response in PushRPC\");\n return {\n success: null,\n failure: {\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.REMOTE_PEER_FAULT,\n peerId: peer.id\n }\n };\n }\n if (!response.isSuccess) {\n log.error(\"Remote peer rejected the message: \", response.info);\n return {\n success: null,\n failure: {\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.REMOTE_PEER_REJECTED,\n peerId: peer.id\n }\n };\n }\n return {\n success: peer.id,\n failure: null\n };\n }\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2xpZ2h0X3B1c2gvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQWlEO0FBQ047QUFDUztBQUNmO0FBQ1o7QUFDZ0I7QUFDVjtBQUNpQjtBQUNHO0FBQ1g7QUFDeEMsTUFBTVUsTUFBTSxJQUFJUCwrQ0FBTUEsQ0FBQztBQUNoQixNQUFNUSxpQkFBaUIsa0NBQWtDO0FBQ3hDO0FBQ3hCOztDQUVDLEdBQ00sTUFBTUMsc0JBQXNCSiwyREFBWUE7SUFDM0NLLFlBQVlDLE1BQU0sRUFBRUMsT0FBTyxDQUFFO1FBQ3pCLEtBQUssQ0FBQ0osZ0JBQWdCRyxPQUFPRSxVQUFVLEVBQUVOLEtBQUtLLFFBQVFFLFlBQVksRUFBRUY7SUFDeEU7SUFDQSxNQUFNRyxtQkFBbUJDLE9BQU8sRUFBRUMsT0FBTyxFQUFFO1FBQ3ZDLElBQUk7WUFDQSxJQUFJLENBQUNBLFFBQVFDLE9BQU8sSUFBSUQsUUFBUUMsT0FBTyxDQUFDQyxNQUFNLEtBQUssR0FBRztnQkFDbERaLElBQUlhLEtBQUssQ0FBQztnQkFDVixPQUFPO29CQUFFQyxPQUFPO29CQUFNRCxPQUFPdkIsMkRBQWFBLENBQUN5QixhQUFhO2dCQUFDO1lBQzdEO1lBQ0EsSUFBSSxDQUFFLE1BQU12QixrRUFBcUJBLENBQUNpQixTQUFTQyxVQUFXO2dCQUNsRFYsSUFBSWEsS0FBSyxDQUFDO2dCQUNWLE9BQU87b0JBQUVDLE9BQU87b0JBQU1ELE9BQU92QiwyREFBYUEsQ0FBQzBCLFlBQVk7Z0JBQUM7WUFDNUQ7WUFDQSxNQUFNQyxlQUFlLE1BQU1SLFFBQVFTLFVBQVUsQ0FBQ1I7WUFDOUMsSUFBSSxDQUFDTyxjQUFjO2dCQUNmakIsSUFBSWEsS0FBSyxDQUFDO2dCQUNWLE9BQU87b0JBQ0hDLE9BQU87b0JBQ1BELE9BQU92QiwyREFBYUEsQ0FBQzZCLGFBQWE7Z0JBQ3RDO1lBQ0o7WUFD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Y2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2NvcmUvZGlzdC9saWIvbGlnaHRfcHVzaC9pbmRleC5qcz9hNzhjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3RvY29sRXJyb3IgfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgUHVzaFJlc3BvbnNlIH0gZnJvbSBcIkB3YWt1L3Byb3RvXCI7XG5pbXBvcnQgeyBpc01lc3NhZ2VTaXplVW5kZXJDYXAgfSBmcm9tIFwiQHdha3UvdXRpbHNcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCJAd2FrdS91dGlsc1wiO1xuaW1wb3J0IGFsbCBmcm9tIFwiaXQtYWxsXCI7XG5pbXBvcnQgKiBhcyBscCBmcm9tIFwiaXQtbGVuZ3RoLXByZWZpeGVkXCI7XG5pbXBvcnQgeyBwaXBlIH0gZnJvbSBcIml0LXBpcGVcIjtcbmltcG9ydCB7IFVpbnQ4QXJyYXlMaXN0IH0gZnJvbSBcInVpbnQ4YXJyYXlsaXN0XCI7XG5pbXBvcnQgeyBCYXNlUHJvdG9jb2wgfSBmcm9tIFwiLi4vYmFzZV9wcm90b2NvbC5qc1wiO1xuaW1wb3J0IHsgUHVzaFJwYyB9IGZyb20gXCIuL3B1c2hfcnBjLmpzXCI7XG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKFwibGlnaHQtcHVzaFwiKTtcbmV4cG9ydCBjb25zdCBMaWdodFB1c2hDb2RlYyA9IFwiL3ZhYy93YWt1L2xpZ2h0cHVzaC8yLjAuMC1iZXRhMVwiO1xuZXhwb3J0IHsgUHVzaFJlc3BvbnNlIH07XG4vKipcbiAqIEltcGxlbWVudHMgdGhlIFtXYWt1IHYyIExpZ2h0IFB1c2ggcHJvdG9jb2xdKGh0dHBzOi8vcmZjLnZhYy5kZXYvc3BlYy8xOS8pLlxuICovXG5leHBvcnQgY2xhc3MgTGlnaHRQdXNoQ29yZSBleHRlbmRzIEJhc2VQcm90b2NvbCB7XG4gICAgY29uc3RydWN0b3IobGlicDJwLCBvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKExpZ2h0UHVzaENvZGVjLCBsaWJwMnAuY29tcG9uZW50cywgbG9nLCBvcHRpb25zLnB1YnN1YlRvcGljcywgb3B0aW9ucyk7XG4gICAgfVxuICAgIGFzeW5jIHByZXBhcmVQdXNoTWVzc2FnZShlbmNvZGVyLCBtZXNzYWdlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoIW1lc3NhZ2UucGF5bG9hZCB8fCBtZXNzYWdlLnBheWxvYWQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKFwiRmFpbGVkIHRvIHNlbmQgd2FrdSBsaWdodCBwdXNoOiBwYXlsb2FkIGlzIGVtcHR5XCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHF1ZXJ5OiBudWxsLCBlcnJvcjogUHJvdG9jb2xFcnJvci5FTVBUWV9QQVlMT0FEIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIShhd2FpdCBpc01lc3NhZ2VTaXplVW5kZXJDYXAoZW5jb2RlciwgbWVzc2FnZSkpKSB7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKFwiRmFpbGVkIHRvIHNlbmQgd2FrdSBsaWdodCBwdXNoOiBtZXNzYWdlIGlzIGJpZ2dlciB0aGFuIDFNQlwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBxdWVyeTogbnVsbCwgZXJyb3I6IFByb3RvY29sRXJyb3IuU0laRV9UT09fQklHIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwcm90b01lc3NhZ2UgPSBhd2FpdCBlbmNvZGVyLnRvUHJvdG9PYmoobWVzc2FnZSk7XG4gICAgICAgICAgICBpZiAoIXByb3RvTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byBlbmNvZGUgdG8gcHJvdG9NZXNzYWdlLCBhYm9ydGluZyBwdXNoXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogUHJvdG9jb2xFcnJvci5FTkNPREVfRkFJTEVEXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5ID0gUHVzaFJwYy5jcmVhdGVSZXF1ZXN0KHByb3RvTWVzc2FnZSwgZW5jb2Rlci5wdWJzdWJUb3BpYyk7XG4gICAgICAgICAgICByZXR1cm4geyBxdWVyeSwgZXJyb3I6IG51bGwgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byBwcmVwYXJlIHB1c2ggbWVzc2FnZVwiLCBlcnJvcik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBudWxsLFxuICAgICAgICAgICAgICAgIGVycm9yOiBQcm90b2NvbEVycm9yLkdFTkVSSUNfRkFJTFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBzZW5kKGVuY29kZXIsIG1lc3NhZ2UsIHBlZXIpIHtcbiAgICAgICAgY29uc3QgeyBxdWVyeSwgZXJyb3I6IHByZXBhcmF0aW9uRXJyb3IgfSA9IGF3YWl0IHRoaXMucHJlcGFyZVB1c2hNZXNzYWdlKGVuY29kZXIsIG1lc3NhZ2UpO1xuICAgICAgICBpZiAocHJlcGFyYXRpb25FcnJvciB8fCAhcXVlcnkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3VjY2VzczogbnVsbCxcbiAgICAgICAgICAgICAgICBmYWlsdXJlOiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBwcmVwYXJhdGlvbkVycm9yLFxuICAgICAgICAgICAgICAgICAgICBwZWVySWQ6IHBlZXIuaWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGxldCBzdHJlYW07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzdHJlYW0gPSBhd2FpdCB0aGlzLmdldFN0cmVhbShwZWVyKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoYEZhaWxlZCB0byBnZXQgYSBzdHJlYW0gZm9yIHJlbW90ZSBwZWVyJHtwZWVyLmlkLnRvU3RyaW5nKCl9YCwgZXJyKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3VjY2VzczogbnVsbCxcbiAgICAgICAgICAgICAgICBmYWlsdXJlOiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBQcm90b2NvbEVycm9yLlJFTU9URV9QRUVSX0ZBVUxULFxuICAgICAgICAgICAgICAgICAgICBwZWVySWQ6IHBlZXIuaWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGxldCByZXM7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXMgPSBhd2FpdCBwaXBlKFtxdWVyeS5lbmNvZGUoKV0sIGxwLmVuY29kZSwgc3RyZWFtLCBscC5kZWNvZGUsIGFzeW5jIChzb3VyY2UpID0+IGF3YWl0IGFsbChzb3VyY2UpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoXCJGYWlsZWQgdG8gc2VuZCB3YWt1IGxpZ2h0IHB1c2ggcmVxdWVzdFwiLCBlcnIpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBudWxsLFxuICAgICAgICAgICAgICAgIGZhaWx1cmU6IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IFByb3RvY29sRXJyb3IuR0VORVJJQ19GQUlMLFxuICAgICAgICAgICAgICAgICAgICBwZWVySWQ6IHBlZXIuaWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXlMaXN0KCk7XG4gICAgICAgIHJlcy5mb3JFYWNoKChjaHVuaykgPT4ge1xuICAgICAgICAgICAgYnl0ZXMuYXBwZW5kKGNodW5rKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCByZXNwb25zZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3BvbnNlID0gUHVzaFJwYy5kZWNvZGUoYnl0ZXMpLnJlc3BvbnNlO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcIkZhaWxlZCB0byBkZWNvZGUgcHVzaCByZXBseVwiLCBlcnIpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBudWxsLFxuICAgICAgICAgICAgICAgIGZhaWx1cmU6IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IFByb3RvY29sRXJyb3IuREVDT0RFX0ZBSUxFRCxcbiAgICAgICAgICAgICAgICAgICAgcGVlcklkOiBwZWVyLmlkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJlc3BvbnNlKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoXCJSZW1vdGUgcGVlciBmYXVsdDogTm8gcmVzcG9uc2UgaW4gUHVzaFJQQ1wiKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3VjY2VzczogbnVsbCxcbiAgICAgICAgICAgICAgICBmYWlsdXJlOiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBQcm90b2NvbEVycm9yLlJFTU9URV9QRUVSX0ZBVUxULFxuICAgICAgICAgICAgICAgICAgICBwZWVySWQ6IHBlZXIuaWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmVzcG9uc2UuaXNTdWNjZXNzKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoXCJSZW1vdGUgcGVlciByZWplY3RlZCB0aGUgbWVzc2FnZTogXCIsIHJlc3BvbnNlLmluZm8pO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBudWxsLFxuICAgICAgICAgICAgICAgIGZhaWx1cmU6IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IFByb3RvY29sRXJyb3IuUkVNT1RFX1BFRVJfUkVKRUNURUQsXG4gICAgICAgICAgICAgICAgICAgIHBlZXJJZDogcGVlci5pZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgc3VjY2VzczogcGVlci5pZCwgZmFpbHVyZTogbnVsbCB9O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJQcm90b2NvbEVycm9yIiwiUHVzaFJlc3BvbnNlIiwiaXNNZXNzYWdlU2l6ZVVuZGVyQ2FwIiwiTG9nZ2VyIiwiYWxsIiwibHAiLCJwaXBlIiwiVWludDhBcnJheUxpc3QiLCJCYXNlUHJvdG9jb2wiLCJQdXNoUnBjIiwibG9nIiwiTGlnaHRQdXNoQ29kZWMiLCJMaWdodFB1c2hDb3JlIiwiY29uc3RydWN0b3IiLCJsaWJwMnAiLCJvcHRpb25zIiwiY29tcG9uZW50cyIsInB1YnN1YlRvcGljcyIsInByZXBhcmVQdXNoTWVzc2FnZSIsImVuY29kZXIiLCJtZXNzYWdlIiwicGF5bG9hZCIsImxlbmd0aCIsImVycm9yIiwicXVlcnkiLCJFTVBUWV9QQVlMT0FEIiwiU0laRV9UT09fQklHIiwicHJvdG9NZXNzYWdlIiwidG9Qcm90b09iaiIsIkVOQ09ERV9GQUlMRUQiLCJjcmVhdGVSZXF1ZXN0IiwicHVic3ViVG9waWMiLCJHRU5FUklDX0ZBSUwiLCJzZW5kIiwicGVlciIsInByZXBhcmF0aW9uRXJyb3IiLCJzdWNjZXNzIiwiZmFpbHVyZSIsInBlZXJJZCIsImlkIiwic3RyZWFtIiwiZ2V0U3RyZWFtIiwiZXJyIiwidG9TdHJpbmciLCJSRU1PVEVfUEVFUl9GQVVMVCIsInJlcyIsImVuY29kZSIsImRlY29kZSIsInNvdXJjZSIsImJ5dGVzIiwiZm9yRWFjaCIsImNodW5rIiwiYXBwZW5kIiwicmVzcG9uc2UiLCJERUNPREVfRkFJTEVEIiwiaXNTdWNjZXNzIiwiaW5mbyIsIlJFTU9URV9QRUVSX1JFSkVDVEVEIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/light_push/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/light_push/push_rpc.js":
/*!****************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/light_push/push_rpc.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PushRpc: () => (/* binding */ PushRpc)\n/* harmony export */ });\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/index.js\");\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uuid */ \"(ssr)/./node_modules/uuid/dist/esm-node/v4.js\");\n\n\nclass PushRpc {\n constructor(proto){\n this.proto = proto;\n }\n static createRequest(message, pubsubTopic) {\n return new PushRpc({\n requestId: (0,uuid__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n request: {\n message: message,\n pubsubTopic: pubsubTopic\n },\n response: undefined\n });\n }\n static decode(bytes) {\n const res = _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_lightpush.PushRpc.decode(bytes);\n return new PushRpc(res);\n }\n encode() {\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_lightpush.PushRpc.encode(this.proto);\n }\n get query() {\n return this.proto.request;\n }\n get response() {\n return this.proto.response;\n }\n} //# sourceMappingURL=push_rpc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL2xpZ2h0X3B1c2gvcHVzaF9ycGMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQXVEO0FBQ3JCO0FBQzNCLE1BQU1JO0lBRVRDLFlBQVlKLEtBQUssQ0FBRTtRQUNmLElBQUksQ0FBQ0EsS0FBSyxHQUFHQTtJQUNqQjtJQUNBLE9BQU9LLGNBQWNDLE9BQU8sRUFBRUMsV0FBVyxFQUFFO1FBQ3ZDLE9BQU8sSUFBSUosUUFBUTtZQUNmSyxXQUFXTixnREFBSUE7WUFDZk8sU0FBUztnQkFDTEgsU0FBU0E7Z0JBQ1RDLGFBQWFBO1lBQ2pCO1lBQ0FHLFVBQVVDO1FBQ2Q7SUFDSjtJQUNBLE9BQU9DLE9BQU9DLEtBQUssRUFBRTtRQUNqQixNQUFNQyxNQUFNZCxnRUFBYSxDQUFDWSxNQUFNLENBQUNDO1FBQ2pDLE9BQU8sSUFBSVYsUUFBUVc7SUFDdkI7SUFDQUMsU0FBUztRQUNMLE9BQU9mLGdFQUFhLENBQUNlLE1BQU0sQ0FBQyxJQUFJLENBQUNmLEtBQUs7SUFDMUM7SUFDQSxJQUFJZ0IsUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDaEIsS0FBSyxDQUFDUyxPQUFPO0lBQzdCO0lBQ0EsSUFBSUMsV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDVixLQUFLLENBQUNVLFFBQVE7SUFDOUI7QUFDSixFQUNBLG9DQUFvQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9kaXN0L2xpYi9saWdodF9wdXNoL3B1c2hfcnBjLmpzP2Y1ZWMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvdG9fbGlnaHRwdXNoIGFzIHByb3RvIH0gZnJvbSBcIkB3YWt1L3Byb3RvXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSBcInV1aWRcIjtcbmV4cG9ydCBjbGFzcyBQdXNoUnBjIHtcbiAgICBwcm90bztcbiAgICBjb25zdHJ1Y3Rvcihwcm90bykge1xuICAgICAgICB0aGlzLnByb3RvID0gcHJvdG87XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGVSZXF1ZXN0KG1lc3NhZ2UsIHB1YnN1YlRvcGljKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHVzaFJwYyh7XG4gICAgICAgICAgICByZXF1ZXN0SWQ6IHV1aWQoKSxcbiAgICAgICAgICAgIHJlcXVlc3Q6IHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgICAgICAgICAgIHB1YnN1YlRvcGljOiBwdWJzdWJUb3BpY1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc3BvbnNlOiB1bmRlZmluZWRcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXRpYyBkZWNvZGUoYnl0ZXMpIHtcbiAgICAgICAgY29uc3QgcmVzID0gcHJvdG8uUHVzaFJwYy5kZWNvZGUoYnl0ZXMpO1xuICAgICAgICByZXR1cm4gbmV3IFB1c2hScGMocmVzKTtcbiAgICB9XG4gICAgZW5jb2RlKCkge1xuICAgICAgICByZXR1cm4gcHJvdG8uUHVzaFJwYy5lbmNvZGUodGhpcy5wcm90byk7XG4gICAgfVxuICAgIGdldCBxdWVyeSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG8ucmVxdWVzdDtcbiAgICB9XG4gICAgZ2V0IHJlc3BvbnNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm90by5yZXNwb25zZTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wdXNoX3JwYy5qcy5tYXAiXSwibmFtZXMiOlsicHJvdG9fbGlnaHRwdXNoIiwicHJvdG8iLCJ2NCIsInV1aWQiLCJQdXNoUnBjIiwiY29uc3RydWN0b3IiLCJjcmVhdGVSZXF1ZXN0IiwibWVzc2FnZSIsInB1YnN1YlRvcGljIiwicmVxdWVzdElkIiwicmVxdWVzdCIsInJlc3BvbnNlIiwidW5kZWZpbmVkIiwiZGVjb2RlIiwiYnl0ZXMiLCJyZXMiLCJlbmNvZGUiLCJxdWVyeSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/light_push/push_rpc.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/index.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/index.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ version_0: () => (/* reexport module object */ _version_0_js__WEBPACK_IMPORTED_MODULE_0__)\n/* harmony export */ });\n/* harmony import */ var _version_0_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./version_0.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/version_0.js\");\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL21lc3NhZ2UvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBNEMsQ0FDNUMsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL21lc3NhZ2UvaW5kZXguanM/YzhlNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyB2ZXJzaW9uXzAgZnJvbSBcIi4vdmVyc2lvbl8wLmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsidmVyc2lvbl8wIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/version_0.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/version_0.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DecodedMessage: () => (/* binding */ DecodedMessage),\n/* harmony export */ Decoder: () => (/* binding */ Decoder),\n/* harmony export */ Encoder: () => (/* binding */ Encoder),\n/* harmony export */ Version: () => (/* binding */ Version),\n/* harmony export */ createDecoder: () => (/* binding */ createDecoder),\n/* harmony export */ createEncoder: () => (/* binding */ createEncoder),\n/* harmony export */ proto: () => (/* reexport safe */ _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_message)\n/* harmony export */ });\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_1__.Logger(\"message:version-0\");\nconst OneMillion = BigInt(1000000);\nconst Version = 0;\n\nclass DecodedMessage {\n constructor(pubsubTopic, proto){\n this.pubsubTopic = pubsubTopic;\n this.proto = proto;\n }\n get ephemeral() {\n return Boolean(this.proto.ephemeral);\n }\n get payload() {\n return this.proto.payload;\n }\n get contentTopic() {\n return this.proto.contentTopic;\n }\n get _rawTimestamp() {\n return this.proto.timestamp;\n }\n get timestamp() {\n // In the case we receive a value that is bigger than JS's max number,\n // we catch the error and return undefined.\n try {\n if (this.proto.timestamp) {\n // nanoseconds 10^-9 to milliseconds 10^-3\n const timestamp = this.proto.timestamp / OneMillion;\n return new Date(Number(timestamp));\n }\n return;\n } catch (e) {\n return;\n }\n }\n get meta() {\n return this.proto.meta;\n }\n get version() {\n // https://rfc.vac.dev/spec/14/\n // > If omitted, the value SHOULD be interpreted as version 0.\n return this.proto.version ?? 0;\n }\n get rateLimitProof() {\n return this.proto.rateLimitProof;\n }\n}\nclass Encoder {\n constructor(contentTopic, ephemeral = false, pubsubTopic, metaSetter){\n this.contentTopic = contentTopic;\n this.ephemeral = ephemeral;\n this.pubsubTopic = pubsubTopic;\n this.metaSetter = metaSetter;\n if (!contentTopic || contentTopic === \"\") {\n throw new Error(\"Content topic must be specified\");\n }\n }\n async toWire(message) {\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_message.WakuMessage.encode(await this.toProtoObj(message));\n }\n async toProtoObj(message) {\n const timestamp = message.timestamp ?? new Date();\n const protoMessage = {\n payload: message.payload,\n version: Version,\n contentTopic: this.contentTopic,\n timestamp: BigInt(timestamp.valueOf()) * OneMillion,\n meta: undefined,\n rateLimitProof: message.rateLimitProof,\n ephemeral: this.ephemeral\n };\n if (this.metaSetter) {\n const meta = this.metaSetter(protoMessage);\n return {\n ...protoMessage,\n meta\n };\n }\n return protoMessage;\n }\n}\n/**\n * Creates an encoder that encode messages without Waku level encryption or signature.\n *\n * An encoder is used to encode messages in the [14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)\n * format to be sent over the Waku network. The resulting encoder can then be\n * pass to { @link @waku/interfaces!ISender.send } to automatically encode outgoing\n * messages.\n */ function createEncoder({ pubsubTopic, pubsubTopicShardInfo, contentTopic, ephemeral, metaSetter }) {\n return new Encoder(contentTopic, ephemeral, (0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.determinePubsubTopic)(contentTopic, pubsubTopic ?? pubsubTopicShardInfo), metaSetter);\n}\nclass Decoder {\n constructor(pubsubTopic, contentTopic){\n this.pubsubTopic = pubsubTopic;\n this.contentTopic = contentTopic;\n if (!contentTopic || contentTopic === \"\") {\n throw new Error(\"Content topic must be specified\");\n }\n }\n fromWireToProtoObj(bytes) {\n const protoMessage = _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_message.WakuMessage.decode(bytes);\n return Promise.resolve({\n payload: protoMessage.payload,\n contentTopic: protoMessage.contentTopic,\n version: protoMessage.version ?? undefined,\n timestamp: protoMessage.timestamp ?? undefined,\n meta: protoMessage.meta ?? undefined,\n rateLimitProof: protoMessage.rateLimitProof ?? undefined,\n ephemeral: protoMessage.ephemeral ?? false\n });\n }\n async fromProtoObj(pubsubTopic, proto) {\n // https://rfc.vac.dev/spec/14/\n // > If omitted, the value SHOULD be interpreted as version 0.\n if (proto.version ?? 0 !== Version) {\n log.error(\"Failed to decode due to incorrect version, expected:\", Version, \", actual:\", proto.version);\n return Promise.resolve(undefined);\n }\n return new DecodedMessage(pubsubTopic, proto);\n }\n}\n/**\n * Creates a decoder that decode messages without Waku level encryption.\n *\n * A decoder is used to decode messages from the [14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/)\n * format when received from the Waku network. The resulting decoder can then be\n * pass to { @link @waku/interfaces!IReceiver.subscribe } to automatically decode incoming\n * messages.\n *\n * @param contentTopic The resulting decoder will only decode messages with this content topic.\n */ function createDecoder(contentTopic, pubsubTopicShardInfo) {\n return new Decoder((0,_waku_utils__WEBPACK_IMPORTED_MODULE_1__.determinePubsubTopic)(contentTopic, pubsubTopicShardInfo), contentTopic);\n} //# sourceMappingURL=version_0.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL21lc3NhZ2UvdmVyc2lvbl8wLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFxRDtBQUNNO0FBQzNELE1BQU1JLE1BQU0sSUFBSUQsK0NBQU1BLENBQUM7QUFDdkIsTUFBTUUsYUFBYUMsT0FBTztBQUNuQixNQUFNQyxVQUFVLEVBQUU7QUFDUjtBQUNWLE1BQU1DO0lBR1RDLFlBQVlDLFdBQVcsRUFBRVQsS0FBSyxDQUFFO1FBQzVCLElBQUksQ0FBQ1MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNULEtBQUssR0FBR0E7SUFDakI7SUFDQSxJQUFJVSxZQUFZO1FBQ1osT0FBT0MsUUFBUSxJQUFJLENBQUNYLEtBQUssQ0FBQ1UsU0FBUztJQUN2QztJQUNBLElBQUlFLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQ1osS0FBSyxDQUFDWSxPQUFPO0lBQzdCO0lBQ0EsSUFBSUMsZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDYixLQUFLLENBQUNhLFlBQVk7SUFDbEM7SUFDQSxJQUFJQyxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUNkLEtBQUssQ0FBQ2UsU0FBUztJQUMvQjtJQUNBLElBQUlBLFlBQVk7UUFDWixzRUFBc0U7UUFDdEUsMkNBQTJDO1FBQzNDLElBQUk7WUFDQSxJQUFJLElBQUksQ0FBQ2YsS0FBSyxDQUFDZSxTQUFTLEVBQUU7Z0JBQ3RCLDBDQUEwQztnQkFDMUMsTUFBTUEsWUFBWSxJQUFJLENBQUNmLEtBQUssQ0FBQ2UsU0FBUyxHQUFHWDtnQkFDekMsT0FBTyxJQUFJWSxLQUFLQyxPQUFPRjtZQUMzQjtZQUNBO1FBQ0osRUFDQSxPQUFPRyxHQUFHO1lBQ047UUFDSjtJQUNKO0lBQ0EsSUFBSUMsT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDbkIsS0FBSyxDQUFDbUIsSUFBSTtJQUMxQjtJQUNBLElBQUlDLFVBQVU7UUFDViwrQkFBK0I7UUFDL0IsOERBQThEO1FBQzlELE9BQU8sSUFBSSxDQUFDcEIsS0FBSyxDQUFDb0IsT0FBTyxJQUFJO0lBQ2pDO0lBQ0EsSUFBSUMsaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDckIsS0FBSyxDQUFDcUIsY0FBYztJQUNwQztBQUNKO0FBQ08sTUFBTUM7SUFLVGQsWUFBWUssWUFBWSxFQUFFSCxZQUFZLEtBQUssRUFBRUQsV0FBVyxFQUFFYyxVQUFVLENBQUU7UUFDbEUsSUFBSSxDQUFDVixZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0gsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNELFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDYyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ1YsZ0JBQWdCQSxpQkFBaUIsSUFBSTtZQUN0QyxNQUFNLElBQUlXLE1BQU07UUFDcEI7SUFDSjtJQUNBLE1BQU1DLE9BQU9DLE9BQU8sRUFBRTtRQUNsQixPQUFPMUIsa0VBQWlCLENBQUM0QixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUNDLFVBQVUsQ0FBQ0g7SUFDMUQ7SUFDQSxNQUFNRyxXQUFXSCxPQUFPLEVBQUU7UUFDdEIsTUFBTVgsWUFBWVcsUUFBUVgsU0FBUyxJQUFJLElBQUlDO1FBQzNDLE1BQU1jLGVBQWU7WUFDakJsQixTQUFTYyxRQUFRZCxPQUFPO1lBQ3hCUSxTQUFTZDtZQUNUTyxjQUFjLElBQUksQ0FBQ0EsWUFBWTtZQUMvQkUsV0FBV1YsT0FBT1UsVUFBVWdCLE9BQU8sTUFBTTNCO1lBQ3pDZSxNQUFNYTtZQUNOWCxnQkFBZ0JLLFFBQVFMLGNBQWM7WUFDdENYLFdBQVcsSUFBSSxDQUFDQSxTQUFTO1FBQzdCO1FBQ0EsSUFBSSxJQUFJLENBQUNhLFVBQVUsRUFBRTtZQUNqQixNQUFNSixPQUFPLElBQUksQ0FBQ0ksVUFBVSxDQUFDTztZQUM3QixPQUFPO2dCQUFFLEdBQUdBLFlBQVk7Z0JBQUVYO1lBQUs7UUFDbkM7UUFDQSxPQUFPVztJQUNYO0FBQ0o7QUFDQTs7Ozs7OztDQU9DLEdBQ00sU0FBU0csY0FBYyxFQUFFeEIsV0FBVyxFQUFFeUIsb0JBQW9CLEVBQUVyQixZQUFZLEVBQUVILFNBQVMsRUFBRWEsVUFBVSxFQUFFO0lBQ3BHLE9BQU8sSUFBSUQsUUFBUVQsY0FBY0gsV0FBV1QsaUVBQW9CQSxDQUFDWSxjQUFjSixlQUFleUIsdUJBQXVCWDtBQUN6SDtBQUNPLE1BQU1ZO0lBR1QzQixZQUFZQyxXQUFXLEVBQUVJLFlBQVksQ0FBRTtRQUNuQyxJQUFJLENBQUNKLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDSSxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0EsZ0JBQWdCQSxpQkFBaUIsSUFBSTtZQUN0QyxNQUFNLElBQUlXLE1BQU07UUFDcEI7SUFDSjtJQUNBWSxtQkFBbUJDLEtBQUssRUFBRTtRQUN0QixNQUFNUCxlQUFlOUIsa0VBQWlCLENBQUNzQyxNQUFNLENBQUNEO1FBQzlDLE9BQU9FLFFBQVFDLE9BQU8sQ0FBQztZQUNuQjVCLFNBQVNrQixhQUFhbEIsT0FBTztZQUM3QkMsY0FBY2lCLGFBQWFqQixZQUFZO1lBQ3ZDTyxTQUFTVSxhQUFhVixPQUFPLElBQUlZO1lBQ2pDakIsV0FBV2UsYUFBYWYsU0FBUyxJQUFJaUI7WUFDckNiLE1BQU1XLGFBQWFYLElBQUksSUFBSWE7WUFDM0JYLGdCQUFnQlMsYUFBYVQsY0FBYyxJQUFJVztZQUMvQ3RCLFdBQVdvQixhQUFhcEIsU0FBUyxJQUFJO1FBQ3pDO0lBQ0o7SUFDQSxNQUFNK0IsYUFBYWhDLFdBQVcsRUFBRVQsS0FBSyxFQUFFO1FBQ25DLCtCQUErQjtRQUMvQiw4REFBOEQ7UUFDOUQsSUFBSUEsTUFBTW9CLE9BQU8sSUFBSSxNQUFNZCxTQUFTO1lBQ2hDSCxJQUFJdUMsS0FBSyxDQUFDLHdEQUF3RHBDLFNBQVMsYUFBYU4sTUFBTW9CLE9BQU87WUFDckcsT0FBT21CLFFBQVFDLE9BQU8sQ0FBQ1I7UUFDM0I7UUFDQSxPQUFPLElBQUl6QixlQUFlRSxhQUFhVDtJQUMzQztBQUNKO0FBQ0E7Ozs7Ozs7OztDQVNDLEdBQ00sU0FBUzJDLGNBQWM5QixZQUFZLEVBQUVxQixvQkFBb0I7SUFDNUQsT0FBTyxJQUFJQyxRQUFRbEMsaUVBQW9CQSxDQUFDWSxjQUFjcUIsdUJBQXVCckI7QUFDakYsRUFDQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2NvcmUvZGlzdC9saWIvbWVzc2FnZS92ZXJzaW9uXzAuanM/NDVlMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm90b19tZXNzYWdlIGFzIHByb3RvIH0gZnJvbSBcIkB3YWt1L3Byb3RvXCI7XG5pbXBvcnQgeyBkZXRlcm1pbmVQdWJzdWJUb3BpYywgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKFwibWVzc2FnZTp2ZXJzaW9uLTBcIik7XG5jb25zdCBPbmVNaWxsaW9uID0gQmlnSW50KDFfMDAwXzAwMCk7XG5leHBvcnQgY29uc3QgVmVyc2lvbiA9IDA7XG5leHBvcnQgeyBwcm90byB9O1xuZXhwb3J0IGNsYXNzIERlY29kZWRNZXNzYWdlIHtcbiAgICBwdWJzdWJUb3BpYztcbiAgICBwcm90bztcbiAgICBjb25zdHJ1Y3RvcihwdWJzdWJUb3BpYywgcHJvdG8pIHtcbiAgICAgICAgdGhpcy5wdWJzdWJUb3BpYyA9IHB1YnN1YlRvcGljO1xuICAgICAgICB0aGlzLnByb3RvID0gcHJvdG87XG4gICAgfVxuICAgIGdldCBlcGhlbWVyYWwoKSB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMucHJvdG8uZXBoZW1lcmFsKTtcbiAgICB9XG4gICAgZ2V0IHBheWxvYWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvLnBheWxvYWQ7XG4gICAgfVxuICAgIGdldCBjb250ZW50VG9waWMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvLmNvbnRlbnRUb3BpYztcbiAgICB9XG4gICAgZ2V0IF9yYXdUaW1lc3RhbXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvLnRpbWVzdGFtcDtcbiAgICB9XG4gICAgZ2V0IHRpbWVzdGFtcCgpIHtcbiAgICAgICAgLy8gSW4gdGhlIGNhc2Ugd2UgcmVjZWl2ZSBhIHZhbHVlIHRoYXQgaXMgYmlnZ2VyIHRoYW4gSlMncyBtYXggbnVtYmVyLFxuICAgICAgICAvLyB3ZSBjYXRjaCB0aGUgZXJyb3IgYW5kIHJldHVybiB1bmRlZmluZWQuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm90by50aW1lc3RhbXApIHtcbiAgICAgICAgICAgICAgICAvLyBuYW5vc2Vjb25kcyAxMF4tOSB0byBtaWxsaXNlY29uZHMgMTBeLTNcbiAgICAgICAgICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSB0aGlzLnByb3RvLnRpbWVzdGFtcCAvIE9uZU1pbGxpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKE51bWJlcih0aW1lc3RhbXApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBtZXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm90by5tZXRhO1xuICAgIH1cbiAgICBnZXQgdmVyc2lvbigpIHtcbiAgICAgICAgLy8gaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzE0L1xuICAgICAgICAvLyA+IElmIG9taXR0ZWQsIHRoZSB2YWx1ZSBTSE9VTEQgYmUgaW50ZXJwcmV0ZWQgYXMgdmVyc2lvbiAwLlxuICAgICAgICByZXR1cm4gdGhpcy5wcm90by52ZXJzaW9uID8/IDA7XG4gICAgfVxuICAgIGdldCByYXRlTGltaXRQcm9vZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG8ucmF0ZUxpbWl0UHJvb2Y7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEVuY29kZXIge1xuICAgIGNvbnRlbnRUb3BpYztcbiAgICBlcGhlbWVyYWw7XG4gICAgcHVic3ViVG9waWM7XG4gICAgbWV0YVNldHRlcjtcbiAgICBjb25zdHJ1Y3Rvcihjb250ZW50VG9waWMsIGVwaGVtZXJhbCA9IGZhbHNlLCBwdWJzdWJUb3BpYywgbWV0YVNldHRlcikge1xuICAgICAgICB0aGlzLmNvbnRlbnRUb3BpYyA9IGNvbnRlbnRUb3BpYztcbiAgICAgICAgdGhpcy5lcGhlbWVyYWwgPSBlcGhlbWVyYWw7XG4gICAgICAgIHRoaXMucHVic3ViVG9waWMgPSBwdWJzdWJUb3BpYztcbiAgICAgICAgdGhpcy5tZXRhU2V0dGVyID0gbWV0YVNldHRlcjtcbiAgICAgICAgaWYgKCFjb250ZW50VG9waWMgfHwgY29udGVudFRvcGljID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb250ZW50IHRvcGljIG11c3QgYmUgc3BlY2lmaWVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIHRvV2lyZShtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiBwcm90by5XYWt1TWVzc2FnZS5lbmNvZGUoYXdhaXQgdGhpcy50b1Byb3RvT2JqKG1lc3NhZ2UpKTtcbiAgICB9XG4gICAgYXN5bmMgdG9Qcm90b09iaihtZXNzYWdlKSB7XG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG1lc3NhZ2UudGltZXN0YW1wID8/IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IHByb3RvTWVzc2FnZSA9IHtcbiAgICAgICAgICAgIHBheWxvYWQ6IG1lc3NhZ2UucGF5bG9hZCxcbiAgICAgICAgICAgIHZlcnNpb246IFZlcnNpb24sXG4gICAgICAgICAgICBjb250ZW50VG9waWM6IHRoaXMuY29udGVudFRvcGljLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBCaWdJbnQodGltZXN0YW1wLnZhbHVlT2YoKSkgKiBPbmVNaWxsaW9uLFxuICAgICAgICAgICAgbWV0YTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgcmF0ZUxpbWl0UHJvb2Y6IG1lc3NhZ2UucmF0ZUxpbWl0UHJvb2YsXG4gICAgICAgICAgICBlcGhlbWVyYWw6IHRoaXMuZXBoZW1lcmFsXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLm1ldGFTZXR0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IG1ldGEgPSB0aGlzLm1ldGFTZXR0ZXIocHJvdG9NZXNzYWdlKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnByb3RvTWVzc2FnZSwgbWV0YSB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcm90b01lc3NhZ2U7XG4gICAgfVxufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGVuY29kZXIgdGhhdCBlbmNvZGUgbWVzc2FnZXMgd2l0aG91dCBXYWt1IGxldmVsIGVuY3J5cHRpb24gb3Igc2lnbmF0dXJlLlxuICpcbiAqIEFuIGVuY29kZXIgaXMgdXNlZCB0byBlbmNvZGUgbWVzc2FnZXMgaW4gdGhlIFsxNC9XQUtVMi1NRVNTQUdFXShodHRwczovL3JmYy52YWMuZGV2L3NwZWMvMTQvKVxuICogZm9ybWF0IHRvIGJlIHNlbnQgb3ZlciB0aGUgV2FrdSBuZXR3b3JrLiBUaGUgcmVzdWx0aW5nIGVuY29kZXIgY2FuIHRoZW4gYmVcbiAqIHBhc3MgdG8geyBAbGluayBAd2FrdS9pbnRlcmZhY2VzIUlTZW5kZXIuc2VuZCB9IHRvIGF1dG9tYXRpY2FsbHkgZW5jb2RlIG91dGdvaW5nXG4gKiBtZXNzYWdlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVuY29kZXIoeyBwdWJzdWJUb3BpYywgcHVic3ViVG9waWNTaGFyZEluZm8sIGNvbnRlbnRUb3BpYywgZXBoZW1lcmFsLCBtZXRhU2V0dGVyIH0pIHtcbiAgICByZXR1cm4gbmV3IEVuY29kZXIoY29udGVudFRvcGljLCBlcGhlbWVyYWwsIGRldGVybWluZVB1YnN1YlRvcGljKGNvbnRlbnRUb3BpYywgcHVic3ViVG9waWMgPz8gcHVic3ViVG9waWNTaGFyZEluZm8pLCBtZXRhU2V0dGVyKTtcbn1cbmV4cG9ydCBjbGFzcyBEZWNvZGVyIHtcbiAgICBwdWJzdWJUb3BpYztcbiAgICBjb250ZW50VG9waWM7XG4gICAgY29uc3RydWN0b3IocHVic3ViVG9waWMsIGNvbnRlbnRUb3BpYykge1xuICAgICAgICB0aGlzLnB1YnN1YlRvcGljID0gcHVic3ViVG9waWM7XG4gICAgICAgIHRoaXMuY29udGVudFRvcGljID0gY29udGVudFRvcGljO1xuICAgICAgICBpZiAoIWNvbnRlbnRUb3BpYyB8fCBjb250ZW50VG9waWMgPT09IFwiXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvbnRlbnQgdG9waWMgbXVzdCBiZSBzcGVjaWZpZWRcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnJvbVdpcmVUb1Byb3RvT2JqKGJ5dGVzKSB7XG4gICAgICAgIGNvbnN0IHByb3RvTWVzc2FnZSA9IHByb3RvLldha3VNZXNzYWdlLmRlY29kZShieXRlcyk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgICAgcGF5bG9hZDogcHJvdG9NZXNzYWdlLnBheWxvYWQsXG4gICAgICAgICAgICBjb250ZW50VG9waWM6IHByb3RvTWVzc2FnZS5jb250ZW50VG9waWMsXG4gICAgICAgICAgICB2ZXJzaW9uOiBwcm90b01lc3NhZ2UudmVyc2lvbiA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICB0aW1lc3RhbXA6IHByb3RvTWVzc2FnZS50aW1lc3RhbXAgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgbWV0YTogcHJvdG9NZXNzYWdlLm1ldGEgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgcmF0ZUxpbWl0UHJvb2Y6IHByb3RvTWVzc2FnZS5yYXRlTGltaXRQcm9vZiA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICBlcGhlbWVyYWw6IHByb3RvTWVzc2FnZS5lcGhlbWVyYWwgPz8gZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIGZyb21Qcm90b09iaihwdWJzdWJUb3BpYywgcHJvdG8pIHtcbiAgICAgICAgLy8gaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzE0L1xuICAgICAgICAvLyA+IElmIG9taXR0ZWQsIHRoZSB2YWx1ZSBTSE9VTEQgYmUgaW50ZXJwcmV0ZWQgYXMgdmVyc2lvbiAwLlxuICAgICAgICBpZiAocHJvdG8udmVyc2lvbiA/PyAwICE9PSBWZXJzaW9uKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoXCJGYWlsZWQgdG8gZGVjb2RlIGR1ZSB0byBpbmNvcnJlY3QgdmVyc2lvbiwgZXhwZWN0ZWQ6XCIsIFZlcnNpb24sIFwiLCBhY3R1YWw6XCIsIHByb3RvLnZlcnNpb24pO1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgRGVjb2RlZE1lc3NhZ2UocHVic3ViVG9waWMsIHByb3RvKTtcbiAgICB9XG59XG4vKipcbiAqIENyZWF0ZXMgYSBkZWNvZGVyIHRoYXQgZGVjb2RlIG1lc3NhZ2VzIHdpdGhvdXQgV2FrdSBsZXZlbCBlbmNyeXB0aW9uLlxuICpcbiAqIEEgZGVjb2RlciBpcyB1c2VkIHRvIGRlY29kZSBtZXNzYWdlcyBmcm9tIHRoZSBbMTQvV0FLVTItTUVTU0FHRV0oaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzE0LylcbiAqIGZvcm1hdCB3aGVuIHJlY2VpdmVkIGZyb20gdGhlIFdha3UgbmV0d29yay4gVGhlIHJlc3VsdGluZyBkZWNvZGVyIGNhbiB0aGVuIGJlXG4gKiBwYXNzIHRvIHsgQGxpbmsgQHdha3UvaW50ZXJmYWNlcyFJUmVjZWl2ZXIuc3Vic2NyaWJlIH0gdG8gYXV0b21hdGljYWxseSBkZWNvZGUgaW5jb21pbmdcbiAqIG1lc3NhZ2VzLlxuICpcbiAqIEBwYXJhbSBjb250ZW50VG9waWMgVGhlIHJlc3VsdGluZyBkZWNvZGVyIHdpbGwgb25seSBkZWNvZGUgbWVzc2FnZXMgd2l0aCB0aGlzIGNvbnRlbnQgdG9waWMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEZWNvZGVyKGNvbnRlbnRUb3BpYywgcHVic3ViVG9waWNTaGFyZEluZm8pIHtcbiAgICByZXR1cm4gbmV3IERlY29kZXIoZGV0ZXJtaW5lUHVic3ViVG9waWMoY29udGVudFRvcGljLCBwdWJzdWJUb3BpY1NoYXJkSW5mbyksIGNvbnRlbnRUb3BpYyk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZXJzaW9uXzAuanMubWFwIl0sIm5hbWVzIjpbInByb3RvX21lc3NhZ2UiLCJwcm90byIsImRldGVybWluZVB1YnN1YlRvcGljIiwiTG9nZ2VyIiwibG9nIiwiT25lTWlsbGlvbiIsIkJpZ0ludCIsIlZlcnNpb24iLCJEZWNvZGVkTWVzc2FnZSIsImNvbnN0cnVjdG9yIiwicHVic3ViVG9waWMiLCJlcGhlbWVyYWwiLCJCb29sZWFuIiwicGF5bG9hZCIsImNvbnRlbnRUb3BpYyIsIl9yYXdUaW1lc3RhbXAiLCJ0aW1lc3RhbXAiLCJEYXRlIiwiTnVtYmVyIiwiZSIsIm1ldGEiLCJ2ZXJzaW9uIiwicmF0ZUxpbWl0UHJvb2YiLCJFbmNvZGVyIiwibWV0YVNldHRlciIsIkVycm9yIiwidG9XaXJlIiwibWVzc2FnZSIsIldha3VNZXNzYWdlIiwiZW5jb2RlIiwidG9Qcm90b09iaiIsInByb3RvTWVzc2FnZSIsInZhbHVlT2YiLCJ1bmRlZmluZWQiLCJjcmVhdGVFbmNvZGVyIiwicHVic3ViVG9waWNTaGFyZEluZm8iLCJEZWNvZGVyIiwiZnJvbVdpcmVUb1Byb3RvT2JqIiwiYnl0ZXMiLCJkZWNvZGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsImZyb21Qcm90b09iaiIsImVycm9yIiwiY3JlYXRlRGVjb2RlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/message/version_0.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/metadata/index.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/metadata/index.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MetadataCodec: () => (/* binding */ MetadataCodec),\n/* harmony export */ wakuMetadata: () => (/* binding */ wakuMetadata)\n/* harmony export */ });\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var it_all__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! it-all */ \"(ssr)/./node_modules/it-all/dist/src/index.js\");\n/* harmony import */ var it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! it-length-prefixed */ \"(ssr)/./node_modules/it-length-prefixed/dist/src/index.js\");\n/* harmony import */ var it_pipe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! it-pipe */ \"(ssr)/./node_modules/it-pipe/dist/src/index.js\");\n/* harmony import */ var uint8arraylist__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! uint8arraylist */ \"(ssr)/./node_modules/uint8arraylist/dist/src/index.js\");\n/* harmony import */ var _base_protocol_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../base_protocol.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/base_protocol.js\");\n\n\n\n\n\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_2__.Logger(\"metadata\");\nconst MetadataCodec = \"/vac/waku/metadata/1.0.0\";\nclass Metadata extends _base_protocol_js__WEBPACK_IMPORTED_MODULE_7__.BaseProtocol {\n constructor(shardInfo, libp2p){\n super(MetadataCodec, libp2p.components, log, (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.shardInfoToPubsubTopics)(shardInfo));\n this.handshakesConfirmed = new Map();\n this.shardInfo = shardInfo;\n this.libp2pComponents = libp2p;\n void libp2p.registrar.handle(MetadataCodec, (streamData)=>{\n void this.onRequest(streamData);\n });\n }\n /**\n * Handle an incoming metadata request\n */ async onRequest(streamData) {\n try {\n const { stream, connection } = streamData;\n const encodedShardInfo = _waku_proto__WEBPACK_IMPORTED_MODULE_1__.proto_metadata.WakuMetadataResponse.encode(this.shardInfo);\n const encodedResponse = await (0,it_pipe__WEBPACK_IMPORTED_MODULE_5__.pipe)([\n encodedShardInfo\n ], it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.encode, stream, it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.decode, async (source)=>await (0,it_all__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(source));\n const { error, shardInfo } = this.decodeMetadataResponse(encodedResponse);\n if (error) {\n return;\n }\n await this.savePeerShardInfo(connection.remotePeer, shardInfo);\n } catch (error) {\n log.error(\"Error handling metadata request\", error);\n }\n }\n /**\n * Make a metadata query to a peer\n */ async query(peerId) {\n const request = _waku_proto__WEBPACK_IMPORTED_MODULE_1__.proto_metadata.WakuMetadataRequest.encode(this.shardInfo);\n const peer = await this.peerStore.get(peerId);\n if (!peer) {\n return {\n shardInfo: null,\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.NO_PEER_AVAILABLE\n };\n }\n const stream = await this.getStream(peer);\n const encodedResponse = await (0,it_pipe__WEBPACK_IMPORTED_MODULE_5__.pipe)([\n request\n ], it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.encode, stream, it_length_prefixed__WEBPACK_IMPORTED_MODULE_4__.decode, async (source)=>await (0,it_all__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(source));\n const { error, shardInfo } = this.decodeMetadataResponse(encodedResponse);\n if (error) {\n return {\n shardInfo: null,\n error\n };\n }\n await this.savePeerShardInfo(peerId, shardInfo);\n return {\n shardInfo,\n error: null\n };\n }\n async confirmOrAttemptHandshake(peerId) {\n const shardInfo = this.handshakesConfirmed.get(peerId.toString());\n if (shardInfo) {\n return {\n shardInfo,\n error: null\n };\n }\n return await this.query(peerId);\n }\n decodeMetadataResponse(encodedResponse) {\n const bytes = new uint8arraylist__WEBPACK_IMPORTED_MODULE_6__.Uint8ArrayList();\n encodedResponse.forEach((chunk)=>{\n bytes.append(chunk);\n });\n const response = _waku_proto__WEBPACK_IMPORTED_MODULE_1__.proto_metadata.WakuMetadataResponse.decode(bytes);\n if (!response) {\n log.error(\"Error decoding metadata response\");\n return {\n shardInfo: null,\n error: _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.ProtocolError.DECODE_FAILED\n };\n }\n return {\n shardInfo: response,\n error: null\n };\n }\n async savePeerShardInfo(peerId, shardInfo) {\n // add or update the shardInfo to peer store\n await this.libp2pComponents.peerStore.merge(peerId, {\n metadata: {\n shardInfo: (0,_waku_utils__WEBPACK_IMPORTED_MODULE_2__.encodeRelayShard)(shardInfo)\n }\n });\n this.handshakesConfirmed.set(peerId.toString(), shardInfo);\n }\n}\nfunction wakuMetadata(shardInfo) {\n return (components)=>new Metadata(shardInfo, components);\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL21ldGFkYXRhL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBaUQ7QUFDSjtBQUNtQztBQUN2RDtBQUNnQjtBQUNWO0FBQ2lCO0FBQ0c7QUFDbkQsTUFBTVUsTUFBTSxJQUFJUCwrQ0FBTUEsQ0FBQztBQUNoQixNQUFNUSxnQkFBZ0IsMkJBQTJCO0FBQ3hELE1BQU1DLGlCQUFpQkgsMkRBQVlBO0lBSS9CSSxZQUFZQyxTQUFTLEVBQUVDLE1BQU0sQ0FBRTtRQUMzQixLQUFLLENBQUNKLGVBQWVJLE9BQU9DLFVBQVUsRUFBRU4sS0FBS04sb0VBQXVCQSxDQUFDVTthQUZ6RUcsc0JBQXNCLElBQUlDO1FBR3RCLElBQUksQ0FBQ0osU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNLLGdCQUFnQixHQUFHSjtRQUN4QixLQUFLQSxPQUFPSyxTQUFTLENBQUNDLE1BQU0sQ0FBQ1YsZUFBZSxDQUFDVztZQUN6QyxLQUFLLElBQUksQ0FBQ0MsU0FBUyxDQUFDRDtRQUN4QjtJQUNKO0lBQ0E7O0tBRUMsR0FDRCxNQUFNQyxVQUFVRCxVQUFVLEVBQUU7UUFDeEIsSUFBSTtZQUNBLE1BQU0sRUFBRUUsTUFBTSxFQUFFQyxVQUFVLEVBQUUsR0FBR0g7WUFDL0IsTUFBTUksbUJBQW1CekIsNEVBQW1DLENBQUMyQixNQUFNLENBQUMsSUFBSSxDQUFDZCxTQUFTO1lBQ2xGLE1BQU1lLGtCQUFrQixNQUFNdEIsNkNBQUlBLENBQUM7Z0JBQUNtQjthQUFpQixFQUFFcEIsc0RBQVMsRUFBRWtCLFFBQVFsQixzREFBUyxFQUFFLE9BQU95QixTQUFXLE1BQU0xQixrREFBR0EsQ0FBQzBCO1lBQ2pILE1BQU0sRUFBRUMsS0FBSyxFQUFFbEIsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDbUIsc0JBQXNCLENBQUNKO1lBQ3pELElBQUlHLE9BQU87Z0JBQ1A7WUFDSjtZQUNBLE1BQU0sSUFBSSxDQUFDRSxpQkFBaUIsQ0FBQ1QsV0FBV1UsVUFBVSxFQUFFckI7UUFDeEQsRUFDQSxPQUFPa0IsT0FBTztZQUNWdEIsSUFBSXNCLEtBQUssQ0FBQyxtQ0FBbUNBO1FBQ2pEO0lBQ0o7SUFDQTs7S0FFQyxHQUNELE1BQU1JLE1BQU1DLE1BQU0sRUFBRTtRQUNoQixNQUFNQyxVQUFVckMsMkVBQWtDLENBQUMyQixNQUFNLENBQUMsSUFBSSxDQUFDZCxTQUFTO1FBQ3hFLE1BQU0wQixPQUFPLE1BQU0sSUFBSSxDQUFDQyxTQUFTLENBQUNDLEdBQUcsQ0FBQ0w7UUFDdEMsSUFBSSxDQUFDRyxNQUFNO1lBQ1AsT0FBTztnQkFDSDFCLFdBQVc7Z0JBQ1hrQixPQUFPaEMsMkRBQWFBLENBQUMyQyxpQkFBaUI7WUFDMUM7UUFDSjtRQUNBLE1BQU1uQixTQUFTLE1BQU0sSUFBSSxDQUFDb0IsU0FBUyxDQUFDSjtRQUNwQyxNQUFNWCxrQkFBa0IsTUFBTXRCLDZDQUFJQSxDQUFDO1lBQUMrQjtTQUFRLEVBQUVoQyxzREFBUyxFQUFFa0IsUUFBUWxCLHNEQUFTLEVBQUUsT0FBT3lCLFNBQVcsTUFBTTFCLGtEQUFHQSxDQUFDMEI7UUFDeEcsTUFBTSxFQUFFQyxLQUFLLEVBQUVsQixTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUNtQixzQkFBc0IsQ0FBQ0o7UUFDekQsSUFBSUcsT0FBTztZQUNQLE9BQU87Z0JBQ0hsQixXQUFXO2dCQUNYa0I7WUFDSjtRQUNKO1FBQ0EsTUFBTSxJQUFJLENBQUNFLGlCQUFpQixDQUFDRyxRQUFRdkI7UUFDckMsT0FBTztZQUNIQTtZQUNBa0IsT0FBTztRQUNYO0lBQ0o7SUFDQSxNQUFNYSwwQkFBMEJSLE1BQU0sRUFBRTtRQUNwQyxNQUFNdkIsWUFBWSxJQUFJLENBQUNHLG1CQUFtQixDQUFDeUIsR0FBRyxDQUFDTCxPQUFPUyxRQUFRO1FBQzlELElBQUloQyxXQUFXO1lBQ1gsT0FBTztnQkFDSEE7Z0JBQ0FrQixPQUFPO1lBQ1g7UUFDSjtRQUNBLE9BQU8sTUFBTSxJQUFJLENBQUNJLEtBQUssQ0FBQ0M7SUFDNUI7SUFDQUosdUJBQXVCSixlQUFlLEVBQUU7UUFDcEMsTUFBTWtCLFFBQVEsSUFBSXZDLDBEQUFjQTtRQUNoQ3FCLGdCQUFnQm1CLE9BQU8sQ0FBQyxDQUFDQztZQUNyQkYsTUFBTUcsTUFBTSxDQUFDRDtRQUNqQjtRQUNBLE1BQU1FLFdBQVdsRCw0RUFBbUMsQ0FBQzZCLE1BQU0sQ0FBQ2lCO1FBQzVELElBQUksQ0FBQ0ksVUFBVTtZQUNYekMsSUFBSXNCLEtBQUssQ0FBQztZQUNWLE9BQU87Z0JBQ0hsQixXQUFXO2dCQUNYa0IsT0FBT2hDLDJEQUFhQSxDQUFDb0QsYUFBYTtZQUN0QztRQUNKO1FBQ0EsT0FBTztZQUNIdEMsV0FBV3FDO1lBQ1huQixPQUFPO1FBQ1g7SUFDSjtJQUNBLE1BQU1FLGtCQUFrQkcsTUFBTSxFQUFFdkIsU0FBUyxFQUFFO1FBQ3ZDLDRDQUE0QztRQUM1QyxNQUFNLElBQUksQ0FBQ0ssZ0JBQWdCLENBQUNzQixTQUFTLENBQUNZLEtBQUssQ0FBQ2hCLFFBQVE7WUFDaERpQixVQUFVO2dCQUNOeEMsV0FBV1osNkRBQWdCQSxDQUFDWTtZQUNoQztRQUNKO1FBQ0EsSUFBSSxDQUFDRyxtQkFBbUIsQ0FBQ3NDLEdBQUcsQ0FBQ2xCLE9BQU9TLFFBQVEsSUFBSWhDO0lBQ3BEO0FBQ0o7QUFDTyxTQUFTMEMsYUFBYTFDLFNBQVM7SUFDbEMsT0FBTyxDQUFDRSxhQUFlLElBQUlKLFNBQVNFLFdBQVdFO0FBQ25ELEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL21ldGFkYXRhL2luZGV4LmpzP2Q0NzQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdG9jb2xFcnJvciB9IGZyb20gXCJAd2FrdS9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBwcm90b19tZXRhZGF0YSB9IGZyb20gXCJAd2FrdS9wcm90b1wiO1xuaW1wb3J0IHsgZW5jb2RlUmVsYXlTaGFyZCwgTG9nZ2VyLCBzaGFyZEluZm9Ub1B1YnN1YlRvcGljcyB9IGZyb20gXCJAd2FrdS91dGlsc1wiO1xuaW1wb3J0IGFsbCBmcm9tIFwiaXQtYWxsXCI7XG5pbXBvcnQgKiBhcyBscCBmcm9tIFwiaXQtbGVuZ3RoLXByZWZpeGVkXCI7XG5pbXBvcnQgeyBwaXBlIH0gZnJvbSBcIml0LXBpcGVcIjtcbmltcG9ydCB7IFVpbnQ4QXJyYXlMaXN0IH0gZnJvbSBcInVpbnQ4YXJyYXlsaXN0XCI7XG5pbXBvcnQgeyBCYXNlUHJvdG9jb2wgfSBmcm9tIFwiLi4vYmFzZV9wcm90b2NvbC5qc1wiO1xuY29uc3QgbG9nID0gbmV3IExvZ2dlcihcIm1ldGFkYXRhXCIpO1xuZXhwb3J0IGNvbnN0IE1ldGFkYXRhQ29kZWMgPSBcIi92YWMvd2FrdS9tZXRhZGF0YS8xLjAuMFwiO1xuY2xhc3MgTWV0YWRhdGEgZXh0ZW5kcyBCYXNlUHJvdG9jb2wge1xuICAgIHNoYXJkSW5mbztcbiAgICBsaWJwMnBDb21wb25lbnRzO1xuICAgIGhhbmRzaGFrZXNDb25maXJtZWQgPSBuZXcgTWFwKCk7XG4gICAgY29uc3RydWN0b3Ioc2hhcmRJbmZvLCBsaWJwMnApIHtcbiAgICAgICAgc3VwZXIoTWV0YWRhdGFDb2RlYywgbGlicDJwLmNvbXBvbmVudHMsIGxvZywgc2hhcmRJbmZvVG9QdWJzdWJUb3BpY3Moc2hhcmRJbmZvKSk7XG4gICAgICAgIHRoaXMuc2hhcmRJbmZvID0gc2hhcmRJbmZvO1xuICAgICAgICB0aGlzLmxpYnAycENvbXBvbmVudHMgPSBsaWJwMnA7XG4gICAgICAgIHZvaWQgbGlicDJwLnJlZ2lzdHJhci5oYW5kbGUoTWV0YWRhdGFDb2RlYywgKHN0cmVhbURhdGEpID0+IHtcbiAgICAgICAgICAgIHZvaWQgdGhpcy5vblJlcXVlc3Qoc3RyZWFtRGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgYW4gaW5jb21pbmcgbWV0YWRhdGEgcmVxdWVzdFxuICAgICAqL1xuICAgIGFzeW5jIG9uUmVxdWVzdChzdHJlYW1EYXRhKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IHN0cmVhbSwgY29ubmVjdGlvbiB9ID0gc3RyZWFtRGF0YTtcbiAgICAgICAgICAgIGNvbnN0IGVuY29kZWRTaGFyZEluZm8gPSBwcm90b19tZXRhZGF0YS5XYWt1TWV0YWRhdGFSZXNwb25zZS5lbmNvZGUodGhpcy5zaGFyZEluZm8pO1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlZFJlc3BvbnNlID0gYXdhaXQgcGlwZShbZW5jb2RlZFNoYXJkSW5mb10sIGxwLmVuY29kZSwgc3RyZWFtLCBscC5kZWNvZGUsIGFzeW5jIChzb3VyY2UpID0+IGF3YWl0IGFsbChzb3VyY2UpKTtcbiAgICAgICAgICAgIGNvbnN0IHsgZXJyb3IsIHNoYXJkSW5mbyB9ID0gdGhpcy5kZWNvZGVNZXRhZGF0YVJlc3BvbnNlKGVuY29kZWRSZXNwb25zZSk7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNhdmVQZWVyU2hhcmRJbmZvKGNvbm5lY3Rpb24ucmVtb3RlUGVlciwgc2hhcmRJbmZvKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcihcIkVycm9yIGhhbmRsaW5nIG1ldGFkYXRhIHJlcXVlc3RcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1ha2UgYSBtZXRhZGF0YSBxdWVyeSB0byBhIHBlZXJcbiAgICAgKi9cbiAgICBhc3luYyBxdWVyeShwZWVySWQpIHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHByb3RvX21ldGFkYXRhLldha3VNZXRhZGF0YVJlcXVlc3QuZW5jb2RlKHRoaXMuc2hhcmRJbmZvKTtcbiAgICAgICAgY29uc3QgcGVlciA9IGF3YWl0IHRoaXMucGVlclN0b3JlLmdldChwZWVySWQpO1xuICAgICAgICBpZiAoIXBlZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc2hhcmRJbmZvOiBudWxsLFxuICAgICAgICAgICAgICAgIGVycm9yOiBQcm90b2NvbEVycm9yLk5PX1BFRVJfQVZBSUxBQkxFXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IHRoaXMuZ2V0U3RyZWFtKHBlZXIpO1xuICAgICAgICBjb25zdCBlbmNvZGVkUmVzcG9uc2UgPSBhd2FpdCBwaXBlKFtyZXF1ZXN0XSwgbHAuZW5jb2RlLCBzdHJlYW0sIGxwLmRlY29kZSwgYXN5bmMgKHNvdXJjZSkgPT4gYXdhaXQgYWxsKHNvdXJjZSkpO1xuICAgICAgICBjb25zdCB7IGVycm9yLCBzaGFyZEluZm8gfSA9IHRoaXMuZGVjb2RlTWV0YWRhdGFSZXNwb25zZShlbmNvZGVkUmVzcG9uc2UpO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc2hhcmRJbmZvOiBudWxsLFxuICAgICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZVBlZXJTaGFyZEluZm8ocGVlcklkLCBzaGFyZEluZm8pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2hhcmRJbmZvLFxuICAgICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgYXN5bmMgY29uZmlybU9yQXR0ZW1wdEhhbmRzaGFrZShwZWVySWQpIHtcbiAgICAgICAgY29uc3Qgc2hhcmRJbmZvID0gdGhpcy5oYW5kc2hha2VzQ29uZmlybWVkLmdldChwZWVySWQudG9TdHJpbmcoKSk7XG4gICAgICAgIGlmIChzaGFyZEluZm8pIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc2hhcmRJbmZvLFxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnF1ZXJ5KHBlZXJJZCk7XG4gICAgfVxuICAgIGRlY29kZU1ldGFkYXRhUmVzcG9uc2UoZW5jb2RlZFJlc3BvbnNlKSB7XG4gICAgICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXlMaXN0KCk7XG4gICAgICAgIGVuY29kZWRSZXNwb25zZS5mb3JFYWNoKChjaHVuaykgPT4ge1xuICAgICAgICAgICAgYnl0ZXMuYXBwZW5kKGNodW5rKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gcHJvdG9fbWV0YWRhdGEuV2FrdU1ldGFkYXRhUmVzcG9uc2UuZGVjb2RlKGJ5dGVzKTtcbiAgICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICAgICAgbG9nLmVycm9yKFwiRXJyb3IgZGVjb2RpbmcgbWV0YWRhdGEgcmVzcG9uc2VcIik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHNoYXJkSW5mbzogbnVsbCxcbiAgICAgICAgICAgICAgICBlcnJvcjogUHJvdG9jb2xFcnJvci5ERUNPREVfRkFJTEVEXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaGFyZEluZm86IHJlc3BvbnNlLFxuICAgICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgYXN5bmMgc2F2ZVBlZXJTaGFyZEluZm8ocGVlcklkLCBzaGFyZEluZm8pIHtcbiAgICAgICAgLy8gYWRkIG9yIHVwZGF0ZSB0aGUgc2hhcmRJbmZvIHRvIHBlZXIgc3RvcmVcbiAgICAgICAgYXdhaXQgdGhpcy5saWJwMnBDb21wb25lbnRzLnBlZXJTdG9yZS5tZXJnZShwZWVySWQsIHtcbiAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgc2hhcmRJbmZvOiBlbmNvZGVSZWxheVNoYXJkKHNoYXJkSW5mbylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaGFuZHNoYWtlc0NvbmZpcm1lZC5zZXQocGVlcklkLnRvU3RyaW5nKCksIHNoYXJkSW5mbyk7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIHdha3VNZXRhZGF0YShzaGFyZEluZm8pIHtcbiAgICByZXR1cm4gKGNvbXBvbmVudHMpID0+IG5ldyBNZXRhZGF0YShzaGFyZEluZm8sIGNvbXBvbmVudHMpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIlByb3RvY29sRXJyb3IiLCJwcm90b19tZXRhZGF0YSIsImVuY29kZVJlbGF5U2hhcmQiLCJMb2dnZXIiLCJzaGFyZEluZm9Ub1B1YnN1YlRvcGljcyIsImFsbCIsImxwIiwicGlwZSIsIlVpbnQ4QXJyYXlMaXN0IiwiQmFzZVByb3RvY29sIiwibG9nIiwiTWV0YWRhdGFDb2RlYyIsIk1ldGFkYXRhIiwiY29uc3RydWN0b3IiLCJzaGFyZEluZm8iLCJsaWJwMnAiLCJjb21wb25lbnRzIiwiaGFuZHNoYWtlc0NvbmZpcm1lZCIsIk1hcCIsImxpYnAycENvbXBvbmVudHMiLCJyZWdpc3RyYXIiLCJoYW5kbGUiLCJzdHJlYW1EYXRhIiwib25SZXF1ZXN0Iiwic3RyZWFtIiwiY29ubmVjdGlvbiIsImVuY29kZWRTaGFyZEluZm8iLCJXYWt1TWV0YWRhdGFSZXNwb25zZSIsImVuY29kZSIsImVuY29kZWRSZXNwb25zZSIsImRlY29kZSIsInNvdXJjZSIsImVycm9yIiwiZGVjb2RlTWV0YWRhdGFSZXNwb25zZSIsInNhdmVQZWVyU2hhcmRJbmZvIiwicmVtb3RlUGVlciIsInF1ZXJ5IiwicGVlcklkIiwicmVxdWVzdCIsIldha3VNZXRhZGF0YVJlcXVlc3QiLCJwZWVyIiwicGVlclN0b3JlIiwiZ2V0IiwiTk9fUEVFUl9BVkFJTEFCTEUiLCJnZXRTdHJlYW0iLCJjb25maXJtT3JBdHRlbXB0SGFuZHNoYWtlIiwidG9TdHJpbmciLCJieXRlcyIsImZvckVhY2giLCJjaHVuayIsImFwcGVuZCIsInJlc3BvbnNlIiwiREVDT0RFX0ZBSUxFRCIsIm1lcmdlIiwibWV0YWRhdGEiLCJzZXQiLCJ3YWt1TWV0YWRhdGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/metadata/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/store/history_rpc.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/store/history_rpc.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HistoryRpc: () => (/* binding */ HistoryRpc),\n/* harmony export */ PageDirection: () => (/* binding */ PageDirection)\n/* harmony export */ });\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/index.js\");\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uuid */ \"(ssr)/./node_modules/uuid/dist/esm-node/v4.js\");\n\n\nconst OneMillion = BigInt(1000000);\nvar PageDirection;\n(function(PageDirection) {\n PageDirection[\"BACKWARD\"] = \"backward\";\n PageDirection[\"FORWARD\"] = \"forward\";\n})(PageDirection || (PageDirection = {}));\nclass HistoryRpc {\n constructor(proto){\n this.proto = proto;\n }\n get query() {\n return this.proto.query;\n }\n get response() {\n return this.proto.response;\n }\n /**\n * Create History Query.\n */ static createQuery(params) {\n const contentFilters = params.contentTopics.map((contentTopic)=>{\n return {\n contentTopic\n };\n });\n const direction = directionToProto(params.pageDirection);\n const pagingInfo = {\n pageSize: BigInt(params.pageSize),\n cursor: params.cursor,\n direction\n };\n let startTime, endTime;\n if (params.startTime) {\n // milliseconds 10^-3 to nanoseconds 10^-9\n startTime = BigInt(params.startTime.valueOf()) * OneMillion;\n }\n if (params.endTime) {\n // milliseconds 10^-3 to nanoseconds 10^-9\n endTime = BigInt(params.endTime.valueOf()) * OneMillion;\n }\n return new HistoryRpc({\n requestId: (0,uuid__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n query: {\n pubsubTopic: params.pubsubTopic,\n contentFilters,\n pagingInfo,\n startTime,\n endTime\n },\n response: undefined\n });\n }\n decode(bytes) {\n const res = _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_store.HistoryRpc.decode(bytes);\n return new HistoryRpc(res);\n }\n encode() {\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_store.HistoryRpc.encode(this.proto);\n }\n}\nfunction directionToProto(pageDirection) {\n switch(pageDirection){\n case PageDirection.BACKWARD:\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_store.PagingInfo.Direction.BACKWARD;\n case PageDirection.FORWARD:\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_store.PagingInfo.Direction.FORWARD;\n default:\n return _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_store.PagingInfo.Direction.BACKWARD;\n }\n} //# sourceMappingURL=history_rpc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL3N0b3JlL2hpc3RvcnlfcnBjLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBbUQ7QUFDakI7QUFDbEMsTUFBTUksYUFBYUMsT0FBTztBQUNuQixJQUFJQyxjQUFjO0FBQ3hCLFVBQVVBLGFBQWE7SUFDcEJBLGFBQWEsQ0FBQyxXQUFXLEdBQUc7SUFDNUJBLGFBQWEsQ0FBQyxVQUFVLEdBQUc7QUFDL0IsR0FBR0EsaUJBQWtCQSxDQUFBQSxnQkFBZ0IsQ0FBQztBQUMvQixNQUFNQztJQUVUQyxZQUFZUCxLQUFLLENBQUU7UUFDZixJQUFJLENBQUNBLEtBQUssR0FBR0E7SUFDakI7SUFDQSxJQUFJUSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUNSLEtBQUssQ0FBQ1EsS0FBSztJQUMzQjtJQUNBLElBQUlDLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQ1QsS0FBSyxDQUFDUyxRQUFRO0lBQzlCO0lBQ0E7O0tBRUMsR0FDRCxPQUFPQyxZQUFZQyxNQUFNLEVBQUU7UUFDdkIsTUFBTUMsaUJBQWlCRCxPQUFPRSxhQUFhLENBQUNDLEdBQUcsQ0FBQyxDQUFDQztZQUM3QyxPQUFPO2dCQUFFQTtZQUFhO1FBQzFCO1FBQ0EsTUFBTUMsWUFBWUMsaUJBQWlCTixPQUFPTyxhQUFhO1FBQ3ZELE1BQU1DLGFBQWE7WUFDZkMsVUFBVWhCLE9BQU9PLE9BQU9TLFFBQVE7WUFDaENDLFFBQVFWLE9BQU9VLE1BQU07WUFDckJMO1FBQ0o7UUFDQSxJQUFJTSxXQUFXQztRQUNmLElBQUlaLE9BQU9XLFNBQVMsRUFBRTtZQUNsQiwwQ0FBMEM7WUFDMUNBLFlBQVlsQixPQUFPTyxPQUFPVyxTQUFTLENBQUNFLE9BQU8sTUFBTXJCO1FBQ3JEO1FBQ0EsSUFBSVEsT0FBT1ksT0FBTyxFQUFFO1lBQ2hCLDBDQUEwQztZQUMxQ0EsVUFBVW5CLE9BQU9PLE9BQU9ZLE9BQU8sQ0FBQ0MsT0FBTyxNQUFNckI7UUFDakQ7UUFDQSxPQUFPLElBQUlHLFdBQVc7WUFDbEJtQixXQUFXdkIsZ0RBQUlBO1lBQ2ZNLE9BQU87Z0JBQ0hrQixhQUFhZixPQUFPZSxXQUFXO2dCQUMvQmQ7Z0JBQ0FPO2dCQUNBRztnQkFDQUM7WUFDSjtZQUNBZCxVQUFVa0I7UUFDZDtJQUNKO0lBQ0FDLE9BQU9DLEtBQUssRUFBRTtRQUNWLE1BQU1DLE1BQU05QiwrREFBZ0IsQ0FBQzRCLE1BQU0sQ0FBQ0M7UUFDcEMsT0FBTyxJQUFJdkIsV0FBV3dCO0lBQzFCO0lBQ0FDLFNBQVM7UUFDTCxPQUFPL0IsK0RBQWdCLENBQUMrQixNQUFNLENBQUMsSUFBSSxDQUFDL0IsS0FBSztJQUM3QztBQUNKO0FBQ0EsU0FBU2lCLGlCQUFpQkMsYUFBYTtJQUNuQyxPQUFRQTtRQUNKLEtBQUtiLGNBQWMyQixRQUFRO1lBQ3ZCLE9BQU9oQywrREFBZ0IsQ0FBQ2tDLFNBQVMsQ0FBQ0YsUUFBUTtRQUM5QyxLQUFLM0IsY0FBYzhCLE9BQU87WUFDdEIsT0FBT25DLCtEQUFnQixDQUFDa0MsU0FBUyxDQUFDQyxPQUFPO1FBQzdDO1lBQ0ksT0FBT25DLCtEQUFnQixDQUFDa0MsU0FBUyxDQUFDRixRQUFRO0lBQ2xEO0FBQ0osRUFDQSx1Q0FBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2NvcmUvZGlzdC9saWIvc3RvcmUvaGlzdG9yeV9ycGMuanM/N2FiOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm90b19zdG9yZSBhcyBwcm90byB9IGZyb20gXCJAd2FrdS9wcm90b1wiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gXCJ1dWlkXCI7XG5jb25zdCBPbmVNaWxsaW9uID0gQmlnSW50KDFfMDAwXzAwMCk7XG5leHBvcnQgdmFyIFBhZ2VEaXJlY3Rpb247XG4oZnVuY3Rpb24gKFBhZ2VEaXJlY3Rpb24pIHtcbiAgICBQYWdlRGlyZWN0aW9uW1wiQkFDS1dBUkRcIl0gPSBcImJhY2t3YXJkXCI7XG4gICAgUGFnZURpcmVjdGlvbltcIkZPUldBUkRcIl0gPSBcImZvcndhcmRcIjtcbn0pKFBhZ2VEaXJlY3Rpb24gfHwgKFBhZ2VEaXJlY3Rpb24gPSB7fSkpO1xuZXhwb3J0IGNsYXNzIEhpc3RvcnlScGMge1xuICAgIHByb3RvO1xuICAgIGNvbnN0cnVjdG9yKHByb3RvKSB7XG4gICAgICAgIHRoaXMucHJvdG8gPSBwcm90bztcbiAgICB9XG4gICAgZ2V0IHF1ZXJ5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm90by5xdWVyeTtcbiAgICB9XG4gICAgZ2V0IHJlc3BvbnNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm90by5yZXNwb25zZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIEhpc3RvcnkgUXVlcnkuXG4gICAgICovXG4gICAgc3RhdGljIGNyZWF0ZVF1ZXJ5KHBhcmFtcykge1xuICAgICAgICBjb25zdCBjb250ZW50RmlsdGVycyA9IHBhcmFtcy5jb250ZW50VG9waWNzLm1hcCgoY29udGVudFRvcGljKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4geyBjb250ZW50VG9waWMgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IGRpcmVjdGlvblRvUHJvdG8ocGFyYW1zLnBhZ2VEaXJlY3Rpb24pO1xuICAgICAgICBjb25zdCBwYWdpbmdJbmZvID0ge1xuICAgICAgICAgICAgcGFnZVNpemU6IEJpZ0ludChwYXJhbXMucGFnZVNpemUpLFxuICAgICAgICAgICAgY3Vyc29yOiBwYXJhbXMuY3Vyc29yLFxuICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgIH07XG4gICAgICAgIGxldCBzdGFydFRpbWUsIGVuZFRpbWU7XG4gICAgICAgIGlmIChwYXJhbXMuc3RhcnRUaW1lKSB7XG4gICAgICAgICAgICAvLyBtaWxsaXNlY29uZHMgMTBeLTMgdG8gbmFub3NlY29uZHMgMTBeLTlcbiAgICAgICAgICAgIHN0YXJ0VGltZSA9IEJpZ0ludChwYXJhbXMuc3RhcnRUaW1lLnZhbHVlT2YoKSkgKiBPbmVNaWxsaW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJhbXMuZW5kVGltZSkge1xuICAgICAgICAgICAgLy8gbWlsbGlzZWNvbmRzIDEwXi0zIHRvIG5hbm9zZWNvbmRzIDEwXi05XG4gICAgICAgICAgICBlbmRUaW1lID0gQmlnSW50KHBhcmFtcy5lbmRUaW1lLnZhbHVlT2YoKSkgKiBPbmVNaWxsaW9uO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgSGlzdG9yeVJwYyh7XG4gICAgICAgICAgICByZXF1ZXN0SWQ6IHV1aWQoKSxcbiAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgICAgcHVic3ViVG9waWM6IHBhcmFtcy5wdWJzdWJUb3BpYyxcbiAgICAgICAgICAgICAgICBjb250ZW50RmlsdGVycyxcbiAgICAgICAgICAgICAgICBwYWdpbmdJbmZvLFxuICAgICAgICAgICAgICAgIHN0YXJ0VGltZSxcbiAgICAgICAgICAgICAgICBlbmRUaW1lXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzcG9uc2U6IHVuZGVmaW5lZFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZGVjb2RlKGJ5dGVzKSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IHByb3RvLkhpc3RvcnlScGMuZGVjb2RlKGJ5dGVzKTtcbiAgICAgICAgcmV0dXJuIG5ldyBIaXN0b3J5UnBjKHJlcyk7XG4gICAgfVxuICAgIGVuY29kZSgpIHtcbiAgICAgICAgcmV0dXJuIHByb3RvLkhpc3RvcnlScGMuZW5jb2RlKHRoaXMucHJvdG8pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGRpcmVjdGlvblRvUHJvdG8ocGFnZURpcmVjdGlvbikge1xuICAgIHN3aXRjaCAocGFnZURpcmVjdGlvbikge1xuICAgICAgICBjYXNlIFBhZ2VEaXJlY3Rpb24uQkFDS1dBUkQ6XG4gICAgICAgICAgICByZXR1cm4gcHJvdG8uUGFnaW5nSW5mby5EaXJlY3Rpb24uQkFDS1dBUkQ7XG4gICAgICAgIGNhc2UgUGFnZURpcmVjdGlvbi5GT1JXQVJEOlxuICAgICAgICAgICAgcmV0dXJuIHByb3RvLlBhZ2luZ0luZm8uRGlyZWN0aW9uLkZPUldBUkQ7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gcHJvdG8uUGFnaW5nSW5mby5EaXJlY3Rpb24uQkFDS1dBUkQ7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGlzdG9yeV9ycGMuanMubWFwIl0sIm5hbWVzIjpbInByb3RvX3N0b3JlIiwicHJvdG8iLCJ2NCIsInV1aWQiLCJPbmVNaWxsaW9uIiwiQmlnSW50IiwiUGFnZURpcmVjdGlvbiIsIkhpc3RvcnlScGMiLCJjb25zdHJ1Y3RvciIsInF1ZXJ5IiwicmVzcG9uc2UiLCJjcmVhdGVRdWVyeSIsInBhcmFtcyIsImNvbnRlbnRGaWx0ZXJzIiwiY29udGVudFRvcGljcyIsIm1hcCIsImNvbnRlbnRUb3BpYyIsImRpcmVjdGlvbiIsImRpcmVjdGlvblRvUHJvdG8iLCJwYWdlRGlyZWN0aW9uIiwicGFnaW5nSW5mbyIsInBhZ2VTaXplIiwiY3Vyc29yIiwic3RhcnRUaW1lIiwiZW5kVGltZSIsInZhbHVlT2YiLCJyZXF1ZXN0SWQiLCJwdWJzdWJUb3BpYyIsInVuZGVmaW5lZCIsImRlY29kZSIsImJ5dGVzIiwicmVzIiwiZW5jb2RlIiwiQkFDS1dBUkQiLCJQYWdpbmdJbmZvIiwiRGlyZWN0aW9uIiwiRk9SV0FSRCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/store/history_rpc.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/store/index.js":
/*!********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/store/index.js ***!
\********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PageDirection: () => (/* reexport safe */ _history_rpc_js__WEBPACK_IMPORTED_MODULE_8__.PageDirection),\n/* harmony export */ StoreCodec: () => (/* binding */ StoreCodec),\n/* harmony export */ StoreCore: () => (/* binding */ StoreCore)\n/* harmony export */ });\n/* harmony import */ var _waku_proto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/proto */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var it_all__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! it-all */ \"(ssr)/./node_modules/it-all/dist/src/index.js\");\n/* harmony import */ var it_length_prefixed__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! it-length-prefixed */ \"(ssr)/./node_modules/it-length-prefixed/dist/src/index.js\");\n/* harmony import */ var it_pipe__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! it-pipe */ \"(ssr)/./node_modules/it-pipe/dist/src/index.js\");\n/* harmony import */ var uint8arraylist__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! uint8arraylist */ \"(ssr)/./node_modules/uint8arraylist/dist/src/index.js\");\n/* harmony import */ var _base_protocol_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../base_protocol.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/base_protocol.js\");\n/* harmony import */ var _to_proto_message_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../to_proto_message.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/to_proto_message.js\");\n/* harmony import */ var _history_rpc_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./history_rpc.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/store/history_rpc.js\");\n\n\n\n\n\n\n\n\n\nvar HistoryError = _waku_proto__WEBPACK_IMPORTED_MODULE_0__.proto_store.HistoryResponse.HistoryError;\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_1__.Logger(\"store\");\nconst StoreCodec = \"/vac/waku/store/2.0.0-beta4\";\n\n/**\n * Implements the [Waku v2 Store protocol](https://rfc.vac.dev/spec/13/).\n *\n * The Waku Store protocol can be used to retrieved historical messages.\n */ class StoreCore extends _base_protocol_js__WEBPACK_IMPORTED_MODULE_6__.BaseProtocol {\n constructor(libp2p, options){\n super(StoreCodec, libp2p.components, log, options.pubsubTopics, options);\n }\n async *queryPerPage(queryOpts, decoders, peer) {\n if (queryOpts.contentTopics.toString() !== Array.from(decoders.keys()).toString()) {\n throw new Error(\"Internal error, the decoders should match the query's content topics\");\n }\n let currentCursor = queryOpts.cursor;\n while(true){\n queryOpts.cursor = currentCursor;\n const historyRpcQuery = _history_rpc_js__WEBPACK_IMPORTED_MODULE_8__.HistoryRpc.createQuery(queryOpts);\n const stream = await this.getStream(peer);\n const res = await (0,it_pipe__WEBPACK_IMPORTED_MODULE_4__.pipe)([\n historyRpcQuery.encode()\n ], it_length_prefixed__WEBPACK_IMPORTED_MODULE_3__.encode, stream, it_length_prefixed__WEBPACK_IMPORTED_MODULE_3__.decode, async (source)=>await (0,it_all__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source));\n const bytes = new uint8arraylist__WEBPACK_IMPORTED_MODULE_5__.Uint8ArrayList();\n res.forEach((chunk)=>{\n bytes.append(chunk);\n });\n const reply = historyRpcQuery.decode(bytes);\n if (!reply.response) {\n log.warn(\"Stopping pagination due to store `response` field missing\");\n break;\n }\n const response = reply.response;\n if (response.error && response.error !== HistoryError.NONE) {\n throw \"History response contains an Error: \" + response.error;\n }\n if (!response.messages || !response.messages.length) {\n log.warn(\"Stopping pagination due to store `response.messages` field missing or empty\");\n break;\n }\n log.error(`${response.messages.length} messages retrieved from store`);\n yield response.messages.map((protoMsg)=>{\n const contentTopic = protoMsg.contentTopic;\n if (typeof contentTopic !== \"undefined\") {\n const decoder = decoders.get(contentTopic);\n if (decoder) {\n return decoder.fromProtoObj(queryOpts.pubsubTopic, (0,_to_proto_message_js__WEBPACK_IMPORTED_MODULE_7__.toProtoMessage)(protoMsg));\n }\n }\n return Promise.resolve(undefined);\n });\n const nextCursor = response.pagingInfo?.cursor;\n if (typeof nextCursor === \"undefined\") {\n // If the server does not return cursor then there is an issue,\n // Need to abort, or we end up in an infinite loop\n log.warn(\"Stopping pagination due to `response.pagingInfo.cursor` missing from store response\");\n break;\n }\n currentCursor = nextCursor;\n const responsePageSize = response.pagingInfo?.pageSize;\n const queryPageSize = historyRpcQuery.query?.pagingInfo?.pageSize;\n if (// Response page size smaller than query, meaning this is the last page\n responsePageSize && queryPageSize && responsePageSize < queryPageSize) {\n break;\n }\n }\n }\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL3N0b3JlL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFtRDtBQUNkO0FBQ1o7QUFDZ0I7QUFDVjtBQUNpQjtBQUNHO0FBQ0s7QUFDSztBQUM3RCxJQUFJVyxlQUFlVixvRUFBcUIsQ0FBQ1UsWUFBWTtBQUNyRCxNQUFNRSxNQUFNLElBQUlYLCtDQUFNQSxDQUFDO0FBQ2hCLE1BQU1ZLGFBQWEsOEJBQThCO0FBQy9CO0FBQ3pCOzs7O0NBSUMsR0FDTSxNQUFNQyxrQkFBa0JSLDJEQUFZQTtJQUN2Q1MsWUFBWUMsTUFBTSxFQUFFQyxPQUFPLENBQUU7UUFDekIsS0FBSyxDQUFDSixZQUFZRyxPQUFPRSxVQUFVLEVBQUVOLEtBQUtLLFFBQVFFLFlBQVksRUFBRUY7SUFDcEU7SUFDQSxPQUFPRyxhQUFhQyxTQUFTLEVBQUVDLFFBQVEsRUFBRUMsSUFBSSxFQUFFO1FBQzNDLElBQUlGLFVBQVVHLGFBQWEsQ0FBQ0MsUUFBUSxPQUNoQ0MsTUFBTUMsSUFBSSxDQUFDTCxTQUFTTSxJQUFJLElBQUlILFFBQVEsSUFBSTtZQUN4QyxNQUFNLElBQUlJLE1BQU07UUFDcEI7UUFDQSxJQUFJQyxnQkFBZ0JULFVBQVVVLE1BQU07UUFDcEMsTUFBTyxLQUFNO1lBQ1RWLFVBQVVVLE1BQU0sR0FBR0Q7WUFDbkIsTUFBTUUsa0JBQWtCeEIsdURBQVVBLENBQUN5QixXQUFXLENBQUNaO1lBQy9DLE1BQU1hLFNBQVMsTUFBTSxJQUFJLENBQUNDLFNBQVMsQ0FBQ1o7WUFDcEMsTUFBTWEsTUFBTSxNQUFNaEMsNkNBQUlBLENBQUM7Z0JBQUM0QixnQkFBZ0JLLE1BQU07YUFBRyxFQUFFbEMsc0RBQVMsRUFBRStCLFFBQVEvQixzREFBUyxFQUFFLE9BQU9vQyxTQUFXLE1BQU1yQyxrREFBR0EsQ0FBQ3FDO1lBQzdHLE1BQU1DLFFBQVEsSUFBSW5DLDBEQUFjQTtZQUNoQytCLElBQUlLLE9BQU8sQ0FBQyxDQUFDQztnQkFDVEYsTUFBTUcsTUFBTSxDQUFDRDtZQUNqQjtZQUNBLE1BQU1FLFFBQVFaLGdCQUFnQk0sTUFBTSxDQUFDRTtZQUNyQyxJQUFJLENBQUNJLE1BQU1DLFFBQVEsRUFBRTtnQkFDakJqQyxJQUFJa0MsSUFBSSxDQUFDO2dCQUNUO1lBQ0o7WUFDQSxNQUFNRCxXQUFXRCxNQUFNQyxRQUFRO1lBQy9CLElBQUlBLFNBQVNFLEtBQUssSUFBSUYsU0FBU0UsS0FBSyxLQUFLckMsYUFBYXNDLElBQUksRUFBRTtnQkFDeEQsTUFBTSx5Q0FBeUNILFNBQVNFLEtBQUs7WUFDakU7WUFDQSxJQUFJLENBQUNGLFNBQVNJLFFBQVEsSUFBSSxDQUFDSixTQUFTSSxRQUFRLENBQUNDLE1BQU0sRUFBRTtnQkFDakR0QyxJQUFJa0MsSUFBSSxDQUFDO2dCQUNUO1lBQ0o7WUFDQWxDLElBQUltQyxLQUFLLENBQUMsQ0FBQyxFQUFFRixTQUFTSSxRQUFRLENBQUNDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQztZQUNyRSxNQUFNTCxTQUFTSSxRQUFRLENBQUNFLEdBQUcsQ0FBQyxDQUFDQztnQkFDekIsTUFBTUMsZUFBZUQsU0FBU0MsWUFBWTtnQkFDMUMsSUFBSSxPQUFPQSxpQkFBaUIsYUFBYTtvQkFDckMsTUFBTUMsVUFBVWhDLFNBQVNpQyxHQUFHLENBQUNGO29CQUM3QixJQUFJQyxTQUFTO3dCQUNULE9BQU9BLFFBQVFFLFlBQVksQ0FBQ25DLFVBQVVvQyxXQUFXLEVBQUVsRCxvRUFBY0EsQ0FBQzZDO29CQUN0RTtnQkFDSjtnQkFDQSxPQUFPTSxRQUFRQyxPQUFPLENBQUNDO1lBQzNCO1lBQ0EsTUFBTUMsYUFBYWhCLFNBQVNpQixVQUFVLEVBQUUvQjtZQUN4QyxJQUFJLE9BQU84QixlQUFlLGFBQWE7Z0JBQ25DLCtEQUErRDtnQkFDL0Qsa0RBQWtEO2dCQUNsRGpELElBQUlrQyxJQUFJLENBQUM7Z0JBQ1Q7WUFDSjtZQUNBaEIsZ0JBQWdCK0I7WUFDaEIsTUFBTUUsbUJBQW1CbEIsU0FBU2lCLFVBQVUsRUFBRUU7WUFDOUMsTUFBTUMsZ0JBQWdCakMsZ0JBQWdCa0MsS0FBSyxFQUFFSixZQUFZRTtZQUN6RCxJQUNBLHVFQUF1RTtZQUN2RUQsb0JBQ0lFLGlCQUNBRixtQkFBbUJFLGVBQWU7Z0JBQ2xDO1lBQ0o7UUFDSjtJQUNKO0FBQ0osRUFDQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2NvcmUvZGlzdC9saWIvc3RvcmUvaW5kZXguanM/NTkzMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm90b19zdG9yZSBhcyBwcm90byB9IGZyb20gXCJAd2FrdS9wcm90b1wiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgYWxsIGZyb20gXCJpdC1hbGxcIjtcbmltcG9ydCAqIGFzIGxwIGZyb20gXCJpdC1sZW5ndGgtcHJlZml4ZWRcIjtcbmltcG9ydCB7IHBpcGUgfSBmcm9tIFwiaXQtcGlwZVwiO1xuaW1wb3J0IHsgVWludDhBcnJheUxpc3QgfSBmcm9tIFwidWludDhhcnJheWxpc3RcIjtcbmltcG9ydCB7IEJhc2VQcm90b2NvbCB9IGZyb20gXCIuLi9iYXNlX3Byb3RvY29sLmpzXCI7XG5pbXBvcnQgeyB0b1Byb3RvTWVzc2FnZSB9IGZyb20gXCIuLi90b19wcm90b19tZXNzYWdlLmpzXCI7XG5pbXBvcnQgeyBIaXN0b3J5UnBjLCBQYWdlRGlyZWN0aW9uIH0gZnJvbSBcIi4vaGlzdG9yeV9ycGMuanNcIjtcbnZhciBIaXN0b3J5RXJyb3IgPSBwcm90by5IaXN0b3J5UmVzcG9uc2UuSGlzdG9yeUVycm9yO1xuY29uc3QgbG9nID0gbmV3IExvZ2dlcihcInN0b3JlXCIpO1xuZXhwb3J0IGNvbnN0IFN0b3JlQ29kZWMgPSBcIi92YWMvd2FrdS9zdG9yZS8yLjAuMC1iZXRhNFwiO1xuZXhwb3J0IHsgUGFnZURpcmVjdGlvbiB9O1xuLyoqXG4gKiBJbXBsZW1lbnRzIHRoZSBbV2FrdSB2MiBTdG9yZSBwcm90b2NvbF0oaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzEzLykuXG4gKlxuICogVGhlIFdha3UgU3RvcmUgcHJvdG9jb2wgY2FuIGJlIHVzZWQgdG8gcmV0cmlldmVkIGhpc3RvcmljYWwgbWVzc2FnZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdG9yZUNvcmUgZXh0ZW5kcyBCYXNlUHJvdG9jb2wge1xuICAgIGNvbnN0cnVjdG9yKGxpYnAycCwgb3B0aW9ucykge1xuICAgICAgICBzdXBlcihTdG9yZUNvZGVjLCBsaWJwMnAuY29tcG9uZW50cywgbG9nLCBvcHRpb25zLnB1YnN1YlRvcGljcywgb3B0aW9ucyk7XG4gICAgfVxuICAgIGFzeW5jICpxdWVyeVBlclBhZ2UocXVlcnlPcHRzLCBkZWNvZGVycywgcGVlcikge1xuICAgICAgICBpZiAocXVlcnlPcHRzLmNvbnRlbnRUb3BpY3MudG9TdHJpbmcoKSAhPT1cbiAgICAgICAgICAgIEFycmF5LmZyb20oZGVjb2RlcnMua2V5cygpKS50b1N0cmluZygpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnRlcm5hbCBlcnJvciwgdGhlIGRlY29kZXJzIHNob3VsZCBtYXRjaCB0aGUgcXVlcnkncyBjb250ZW50IHRvcGljc1wiKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3VycmVudEN1cnNvciA9IHF1ZXJ5T3B0cy5jdXJzb3I7XG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBxdWVyeU9wdHMuY3Vyc29yID0gY3VycmVudEN1cnNvcjtcbiAgICAgICAgICAgIGNvbnN0IGhpc3RvcnlScGNRdWVyeSA9IEhpc3RvcnlScGMuY3JlYXRlUXVlcnkocXVlcnlPcHRzKTtcbiAgICAgICAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IHRoaXMuZ2V0U3RyZWFtKHBlZXIpO1xuICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcGlwZShbaGlzdG9yeVJwY1F1ZXJ5LmVuY29kZSgpXSwgbHAuZW5jb2RlLCBzdHJlYW0sIGxwLmRlY29kZSwgYXN5bmMgKHNvdXJjZSkgPT4gYXdhaXQgYWxsKHNvdXJjZSkpO1xuICAgICAgICAgICAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheUxpc3QoKTtcbiAgICAgICAgICAgIHJlcy5mb3JFYWNoKChjaHVuaykgPT4ge1xuICAgICAgICAgICAgICAgIGJ5dGVzLmFwcGVuZChjaHVuayk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHJlcGx5ID0gaGlzdG9yeVJwY1F1ZXJ5LmRlY29kZShieXRlcyk7XG4gICAgICAgICAgICBpZiAoIXJlcGx5LnJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgbG9nLndhcm4oXCJTdG9wcGluZyBwYWdpbmF0aW9uIGR1ZSB0byBzdG9yZSBgcmVzcG9uc2VgIGZpZWxkIG1pc3NpbmdcIik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IHJlcGx5LnJlc3BvbnNlO1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yICYmIHJlc3BvbnNlLmVycm9yICE9PSBIaXN0b3J5RXJyb3IuTk9ORSkge1xuICAgICAgICAgICAgICAgIHRocm93IFwiSGlzdG9yeSByZXNwb25zZSBjb250YWlucyBhbiBFcnJvcjogXCIgKyByZXNwb25zZS5lcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcmVzcG9uc2UubWVzc2FnZXMgfHwgIXJlc3BvbnNlLm1lc3NhZ2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGxvZy53YXJuKFwiU3RvcHBpbmcgcGFnaW5hdGlvbiBkdWUgdG8gc3RvcmUgYHJlc3BvbnNlLm1lc3NhZ2VzYCBmaWVsZCBtaXNzaW5nIG9yIGVtcHR5XCIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbG9nLmVycm9yKGAke3Jlc3BvbnNlLm1lc3NhZ2VzLmxlbmd0aH0gbWVzc2FnZXMgcmV0cmlldmVkIGZyb20gc3RvcmVgKTtcbiAgICAgICAgICAgIHlpZWxkIHJlc3BvbnNlLm1lc3NhZ2VzLm1hcCgocHJvdG9Nc2cpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50VG9waWMgPSBwcm90b01zZy5jb250ZW50VG9waWM7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50VG9waWMgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVjb2RlciA9IGRlY29kZXJzLmdldChjb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGVjb2Rlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRlY29kZXIuZnJvbVByb3RvT2JqKHF1ZXJ5T3B0cy5wdWJzdWJUb3BpYywgdG9Qcm90b01lc3NhZ2UocHJvdG9Nc2cpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRDdXJzb3IgPSByZXNwb25zZS5wYWdpbmdJbmZvPy5jdXJzb3I7XG4gICAgICAgICAgICBpZiAodHlwZW9mIG5leHRDdXJzb3IgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgc2VydmVyIGRvZXMgbm90IHJldHVybiBjdXJzb3IgdGhlbiB0aGVyZSBpcyBhbiBpc3N1ZSxcbiAgICAgICAgICAgICAgICAvLyBOZWVkIHRvIGFib3J0LCBvciB3ZSBlbmQgdXAgaW4gYW4gaW5maW5pdGUgbG9vcFxuICAgICAgICAgICAgICAgIGxvZy53YXJuKFwiU3RvcHBpbmcgcGFnaW5hdGlvbiBkdWUgdG8gYHJlc3BvbnNlLnBhZ2luZ0luZm8uY3Vyc29yYCBtaXNzaW5nIGZyb20gc3RvcmUgcmVzcG9uc2VcIik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjdXJyZW50Q3Vyc29yID0gbmV4dEN1cnNvcjtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlUGFnZVNpemUgPSByZXNwb25zZS5wYWdpbmdJbmZvPy5wYWdlU2l6ZTtcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFnZVNpemUgPSBoaXN0b3J5UnBjUXVlcnkucXVlcnk/LnBhZ2luZ0luZm8/LnBhZ2VTaXplO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgLy8gUmVzcG9uc2UgcGFnZSBzaXplIHNtYWxsZXIgdGhhbiBxdWVyeSwgbWVhbmluZyB0aGlzIGlzIHRoZSBsYXN0IHBhZ2VcbiAgICAgICAgICAgIHJlc3BvbnNlUGFnZVNpemUgJiZcbiAgICAgICAgICAgICAgICBxdWVyeVBhZ2VTaXplICYmXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VQYWdlU2l6ZSA8IHF1ZXJ5UGFnZVNpemUpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJwcm90b19zdG9yZSIsInByb3RvIiwiTG9nZ2VyIiwiYWxsIiwibHAiLCJwaXBlIiwiVWludDhBcnJheUxpc3QiLCJCYXNlUHJvdG9jb2wiLCJ0b1Byb3RvTWVzc2FnZSIsIkhpc3RvcnlScGMiLCJQYWdlRGlyZWN0aW9uIiwiSGlzdG9yeUVycm9yIiwiSGlzdG9yeVJlc3BvbnNlIiwibG9nIiwiU3RvcmVDb2RlYyIsIlN0b3JlQ29yZSIsImNvbnN0cnVjdG9yIiwibGlicDJwIiwib3B0aW9ucyIsImNvbXBvbmVudHMiLCJwdWJzdWJUb3BpY3MiLCJxdWVyeVBlclBhZ2UiLCJxdWVyeU9wdHMiLCJkZWNvZGVycyIsInBlZXIiLCJjb250ZW50VG9waWNzIiwidG9TdHJpbmciLCJBcnJheSIsImZyb20iLCJrZXlzIiwiRXJyb3IiLCJjdXJyZW50Q3Vyc29yIiwiY3Vyc29yIiwiaGlzdG9yeVJwY1F1ZXJ5IiwiY3JlYXRlUXVlcnkiLCJzdHJlYW0iLCJnZXRTdHJlYW0iLCJyZXMiLCJlbmNvZGUiLCJkZWNvZGUiLCJzb3VyY2UiLCJieXRlcyIsImZvckVhY2giLCJjaHVuayIsImFwcGVuZCIsInJlcGx5IiwicmVzcG9uc2UiLCJ3YXJuIiwiZXJyb3IiLCJOT05FIiwibWVzc2FnZXMiLCJsZW5ndGgiLCJtYXAiLCJwcm90b01zZyIsImNvbnRlbnRUb3BpYyIsImRlY29kZXIiLCJnZXQiLCJmcm9tUHJvdG9PYmoiLCJwdWJzdWJUb3BpYyIsIlByb21pc2UiLCJyZXNvbHZlIiwidW5kZWZpbmVkIiwibmV4dEN1cnNvciIsInBhZ2luZ0luZm8iLCJyZXNwb25zZVBhZ2VTaXplIiwicGFnZVNpemUiLCJxdWVyeVBhZ2VTaXplIiwicXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/store/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/stream_manager.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/stream_manager.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StreamManager: () => (/* binding */ StreamManager)\n/* harmony export */ });\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var _waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils/libp2p */ \"(ssr)/./node_modules/@waku/utils/dist/libp2p/index.js\");\n\n\nclass StreamManager {\n constructor(multicodec, getConnections, addEventListener){\n this.handlePeerUpdateStreamPool = (evt)=>{\n const peer = evt.detail.peer;\n if (peer.protocols.includes(this.multicodec)) {\n this.log.info(`Preemptively opening a stream to ${peer.id.toString()}`);\n this.prepareNewStream(peer);\n }\n };\n this.multicodec = multicodec;\n this.getConnections = getConnections;\n this.addEventListener = addEventListener;\n this.log = new _waku_utils__WEBPACK_IMPORTED_MODULE_0__.Logger(`stream-manager:${multicodec}`);\n this.addEventListener(\"peer:update\", this.handlePeerUpdateStreamPool.bind(this));\n this.getStream = this.getStream.bind(this);\n this.streamPool = new Map();\n }\n async getStream(peer) {\n const peerIdStr = peer.id.toString();\n const streamPromise = this.streamPool.get(peerIdStr);\n if (!streamPromise) {\n return this.newStream(peer); // fallback by creating a new stream on the spot\n }\n // We have the stream, let's remove it from the map\n this.streamPool.delete(peerIdStr);\n this.prepareNewStream(peer);\n const stream = await streamPromise;\n if (!stream || stream.status === \"closed\") {\n return this.newStream(peer); // fallback by creating a new stream on the spot\n }\n return stream;\n }\n async newStream(peer) {\n const connections = this.getConnections(peer.id);\n const connection = (0,_waku_utils_libp2p__WEBPACK_IMPORTED_MODULE_1__.selectConnection)(connections);\n if (!connection) {\n throw new Error(\"Failed to get a connection to the peer\");\n }\n return connection.newStream(this.multicodec);\n }\n prepareNewStream(peer) {\n const streamPromise = this.newStream(peer).catch(()=>{\n // No error thrown as this call is not triggered by the user\n this.log.error(`Failed to prepare a new stream for ${peer.id.toString()}`);\n });\n this.streamPool.set(peer.id.toString(), streamPromise);\n }\n} //# sourceMappingURL=stream_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL3N0cmVhbV9tYW5hZ2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFxQztBQUNpQjtBQUMvQyxNQUFNRTtJQU1UQyxZQUFZQyxVQUFVLEVBQUVDLGNBQWMsRUFBRUMsZ0JBQWdCLENBQUU7YUF1QzFEQyw2QkFBNkIsQ0FBQ0M7WUFDMUIsTUFBTUMsT0FBT0QsSUFBSUUsTUFBTSxDQUFDRCxJQUFJO1lBQzVCLElBQUlBLEtBQUtFLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDLElBQUksQ0FBQ1IsVUFBVSxHQUFHO2dCQUMxQyxJQUFJLENBQUNTLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDLENBQUMsaUNBQWlDLEVBQUVMLEtBQUtNLEVBQUUsQ0FBQ0MsUUFBUSxHQUFHLENBQUM7Z0JBQ3RFLElBQUksQ0FBQ0MsZ0JBQWdCLENBQUNSO1lBQzFCO1FBQ0o7UUE1Q0ksSUFBSSxDQUFDTCxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQTtRQUN0QixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTtRQUN4QixJQUFJLENBQUNPLEdBQUcsR0FBRyxJQUFJYiwrQ0FBTUEsQ0FBQyxDQUFDLGVBQWUsRUFBRUksV0FBVyxDQUFDO1FBQ3BELElBQUksQ0FBQ0UsZ0JBQWdCLENBQUMsZUFBZSxJQUFJLENBQUNDLDBCQUEwQixDQUFDVyxJQUFJLENBQUMsSUFBSTtRQUM5RSxJQUFJLENBQUNDLFNBQVMsR0FBRyxJQUFJLENBQUNBLFNBQVMsQ0FBQ0QsSUFBSSxDQUFDLElBQUk7UUFDekMsSUFBSSxDQUFDRSxVQUFVLEdBQUcsSUFBSUM7SUFDMUI7SUFDQSxNQUFNRixVQUFVVixJQUFJLEVBQUU7UUFDbEIsTUFBTWEsWUFBWWIsS0FBS00sRUFBRSxDQUFDQyxRQUFRO1FBQ2xDLE1BQU1PLGdCQUFnQixJQUFJLENBQUNILFVBQVUsQ0FBQ0ksR0FBRyxDQUFDRjtRQUMxQyxJQUFJLENBQUNDLGVBQWU7WUFDaEIsT0FBTyxJQUFJLENBQUNFLFNBQVMsQ0FBQ2hCLE9BQU8sZ0RBQWdEO1FBQ2pGO1FBQ0EsbURBQW1EO1FBQ25ELElBQUksQ0FBQ1csVUFBVSxDQUFDTSxNQUFNLENBQUNKO1FBQ3ZCLElBQUksQ0FBQ0wsZ0JBQWdCLENBQUNSO1FBQ3RCLE1BQU1rQixTQUFTLE1BQU1KO1FBQ3JCLElBQUksQ0FBQ0ksVUFBVUEsT0FBT0MsTUFBTSxLQUFLLFVBQVU7WUFDdkMsT0FBTyxJQUFJLENBQUNILFNBQVMsQ0FBQ2hCLE9BQU8sZ0RBQWdEO1FBQ2pGO1FBQ0EsT0FBT2tCO0lBQ1g7SUFDQSxNQUFNRixVQUFVaEIsSUFBSSxFQUFFO1FBQ2xCLE1BQU1vQixjQUFjLElBQUksQ0FBQ3hCLGNBQWMsQ0FBQ0ksS0FBS00sRUFBRTtRQUMvQyxNQUFNZSxhQUFhN0Isb0VBQWdCQSxDQUFDNEI7UUFDcEMsSUFBSSxDQUFDQyxZQUFZO1lBQ2IsTUFBTSxJQUFJQyxNQUFNO1FBQ3BCO1FBQ0EsT0FBT0QsV0FBV0wsU0FBUyxDQUFDLElBQUksQ0FBQ3JCLFVBQVU7SUFDL0M7SUFDQWEsaUJBQWlCUixJQUFJLEVBQUU7UUFDbkIsTUFBTWMsZ0JBQWdCLElBQUksQ0FBQ0UsU0FBUyxDQUFDaEIsTUFBTXVCLEtBQUssQ0FBQztZQUM3Qyw0REFBNEQ7WUFDNUQsSUFBSSxDQUFDbkIsR0FBRyxDQUFDb0IsS0FBSyxDQUFDLENBQUMsbUNBQW1DLEVBQUV4QixLQUFLTSxFQUFFLENBQUNDLFFBQVEsR0FBRyxDQUFDO1FBQzdFO1FBQ0EsSUFBSSxDQUFDSSxVQUFVLENBQUNjLEdBQUcsQ0FBQ3pCLEtBQUtNLEVBQUUsQ0FBQ0MsUUFBUSxJQUFJTztJQUM1QztBQVFKLEVBQ0EsMENBQTBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL3N0cmVhbV9tYW5hZ2VyLmpzPzRiZjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBzZWxlY3RDb25uZWN0aW9uIH0gZnJvbSBcIkB3YWt1L3V0aWxzL2xpYnAycFwiO1xuZXhwb3J0IGNsYXNzIFN0cmVhbU1hbmFnZXIge1xuICAgIG11bHRpY29kZWM7XG4gICAgZ2V0Q29ubmVjdGlvbnM7XG4gICAgYWRkRXZlbnRMaXN0ZW5lcjtcbiAgICBzdHJlYW1Qb29sO1xuICAgIGxvZztcbiAgICBjb25zdHJ1Y3RvcihtdWx0aWNvZGVjLCBnZXRDb25uZWN0aW9ucywgYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICB0aGlzLm11bHRpY29kZWMgPSBtdWx0aWNvZGVjO1xuICAgICAgICB0aGlzLmdldENvbm5lY3Rpb25zID0gZ2V0Q29ubmVjdGlvbnM7XG4gICAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lciA9IGFkZEV2ZW50TGlzdGVuZXI7XG4gICAgICAgIHRoaXMubG9nID0gbmV3IExvZ2dlcihgc3RyZWFtLW1hbmFnZXI6JHttdWx0aWNvZGVjfWApO1xuICAgICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXCJwZWVyOnVwZGF0ZVwiLCB0aGlzLmhhbmRsZVBlZXJVcGRhdGVTdHJlYW1Qb29sLmJpbmQodGhpcykpO1xuICAgICAgICB0aGlzLmdldFN0cmVhbSA9IHRoaXMuZ2V0U3RyZWFtLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuc3RyZWFtUG9vbCA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0U3RyZWFtKHBlZXIpIHtcbiAgICAgICAgY29uc3QgcGVlcklkU3RyID0gcGVlci5pZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCBzdHJlYW1Qcm9taXNlID0gdGhpcy5zdHJlYW1Qb29sLmdldChwZWVySWRTdHIpO1xuICAgICAgICBpZiAoIXN0cmVhbVByb21pc2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5ld1N0cmVhbShwZWVyKTsgLy8gZmFsbGJhY2sgYnkgY3JlYXRpbmcgYSBuZXcgc3RyZWFtIG9uIHRoZSBzcG90XG4gICAgICAgIH1cbiAgICAgICAgLy8gV2UgaGF2ZSB0aGUgc3RyZWFtLCBsZXQncyByZW1vdmUgaXQgZnJvbSB0aGUgbWFwXG4gICAgICAgIHRoaXMuc3RyZWFtUG9vbC5kZWxldGUocGVlcklkU3RyKTtcbiAgICAgICAgdGhpcy5wcmVwYXJlTmV3U3RyZWFtKHBlZXIpO1xuICAgICAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBzdHJlYW1Qcm9taXNlO1xuICAgICAgICBpZiAoIXN0cmVhbSB8fCBzdHJlYW0uc3RhdHVzID09PSBcImNsb3NlZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uZXdTdHJlYW0ocGVlcik7IC8vIGZhbGxiYWNrIGJ5IGNyZWF0aW5nIGEgbmV3IHN0cmVhbSBvbiB0aGUgc3BvdFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHJlYW07XG4gICAgfVxuICAgIGFzeW5jIG5ld1N0cmVhbShwZWVyKSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25zID0gdGhpcy5nZXRDb25uZWN0aW9ucyhwZWVyLmlkKTtcbiAgICAgICAgY29uc3QgY29ubmVjdGlvbiA9IHNlbGVjdENvbm5lY3Rpb24oY29ubmVjdGlvbnMpO1xuICAgICAgICBpZiAoIWNvbm5lY3Rpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZhaWxlZCB0byBnZXQgYSBjb25uZWN0aW9uIHRvIHRoZSBwZWVyXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb25uZWN0aW9uLm5ld1N0cmVhbSh0aGlzLm11bHRpY29kZWMpO1xuICAgIH1cbiAgICBwcmVwYXJlTmV3U3RyZWFtKHBlZXIpIHtcbiAgICAgICAgY29uc3Qgc3RyZWFtUHJvbWlzZSA9IHRoaXMubmV3U3RyZWFtKHBlZXIpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIC8vIE5vIGVycm9yIHRocm93biBhcyB0aGlzIGNhbGwgaXMgbm90IHRyaWdnZXJlZCBieSB0aGUgdXNlclxuICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IoYEZhaWxlZCB0byBwcmVwYXJlIGEgbmV3IHN0cmVhbSBmb3IgJHtwZWVyLmlkLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN0cmVhbVBvb2wuc2V0KHBlZXIuaWQudG9TdHJpbmcoKSwgc3RyZWFtUHJvbWlzZSk7XG4gICAgfVxuICAgIGhhbmRsZVBlZXJVcGRhdGVTdHJlYW1Qb29sID0gKGV2dCkgPT4ge1xuICAgICAgICBjb25zdCBwZWVyID0gZXZ0LmRldGFpbC5wZWVyO1xuICAgICAgICBpZiAocGVlci5wcm90b2NvbHMuaW5jbHVkZXModGhpcy5tdWx0aWNvZGVjKSkge1xuICAgICAgICAgICAgdGhpcy5sb2cuaW5mbyhgUHJlZW1wdGl2ZWx5IG9wZW5pbmcgYSBzdHJlYW0gdG8gJHtwZWVyLmlkLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgICAgICB0aGlzLnByZXBhcmVOZXdTdHJlYW0ocGVlcik7XG4gICAgICAgIH1cbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RyZWFtX21hbmFnZXIuanMubWFwIl0sIm5hbWVzIjpbIkxvZ2dlciIsInNlbGVjdENvbm5lY3Rpb24iLCJTdHJlYW1NYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJtdWx0aWNvZGVjIiwiZ2V0Q29ubmVjdGlvbnMiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlUGVlclVwZGF0ZVN0cmVhbVBvb2wiLCJldnQiLCJwZWVyIiwiZGV0YWlsIiwicHJvdG9jb2xzIiwiaW5jbHVkZXMiLCJsb2ciLCJpbmZvIiwiaWQiLCJ0b1N0cmluZyIsInByZXBhcmVOZXdTdHJlYW0iLCJiaW5kIiwiZ2V0U3RyZWFtIiwic3RyZWFtUG9vbCIsIk1hcCIsInBlZXJJZFN0ciIsInN0cmVhbVByb21pc2UiLCJnZXQiLCJuZXdTdHJlYW0iLCJkZWxldGUiLCJzdHJlYW0iLCJzdGF0dXMiLCJjb25uZWN0aW9ucyIsImNvbm5lY3Rpb24iLCJFcnJvciIsImNhdGNoIiwiZXJyb3IiLCJzZXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/stream_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/to_proto_message.js":
/*!*************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/to_proto_message.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toProtoMessage: () => (/* binding */ toProtoMessage)\n/* harmony export */ });\nconst EmptyMessage = {\n payload: new Uint8Array(),\n contentTopic: \"\",\n version: undefined,\n timestamp: undefined,\n meta: undefined,\n rateLimitProof: undefined,\n ephemeral: undefined\n};\nfunction toProtoMessage(wire) {\n return {\n ...EmptyMessage,\n ...wire\n };\n} //# sourceMappingURL=to_proto_message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL3RvX3Byb3RvX21lc3NhZ2UuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU1BLGVBQWU7SUFDakJDLFNBQVMsSUFBSUM7SUFDYkMsY0FBYztJQUNkQyxTQUFTQztJQUNUQyxXQUFXRDtJQUNYRSxNQUFNRjtJQUNORyxnQkFBZ0JIO0lBQ2hCSSxXQUFXSjtBQUNmO0FBQ08sU0FBU0ssZUFBZUMsSUFBSTtJQUMvQixPQUFPO1FBQUUsR0FBR1gsWUFBWTtRQUFFLEdBQUdXLElBQUk7SUFBQztBQUN0QyxFQUNBLDRDQUE0QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvY29yZS9kaXN0L2xpYi90b19wcm90b19tZXNzYWdlLmpzPzU5MTMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgRW1wdHlNZXNzYWdlID0ge1xuICAgIHBheWxvYWQ6IG5ldyBVaW50OEFycmF5KCksXG4gICAgY29udGVudFRvcGljOiBcIlwiLFxuICAgIHZlcnNpb246IHVuZGVmaW5lZCxcbiAgICB0aW1lc3RhbXA6IHVuZGVmaW5lZCxcbiAgICBtZXRhOiB1bmRlZmluZWQsXG4gICAgcmF0ZUxpbWl0UHJvb2Y6IHVuZGVmaW5lZCxcbiAgICBlcGhlbWVyYWw6IHVuZGVmaW5lZFxufTtcbmV4cG9ydCBmdW5jdGlvbiB0b1Byb3RvTWVzc2FnZSh3aXJlKSB7XG4gICAgcmV0dXJuIHsgLi4uRW1wdHlNZXNzYWdlLCAuLi53aXJlIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD10b19wcm90b19tZXNzYWdlLmpzLm1hcCJdLCJuYW1lcyI6WyJFbXB0eU1lc3NhZ2UiLCJwYXlsb2FkIiwiVWludDhBcnJheSIsImNvbnRlbnRUb3BpYyIsInZlcnNpb24iLCJ1bmRlZmluZWQiLCJ0aW1lc3RhbXAiLCJtZXRhIiwicmF0ZUxpbWl0UHJvb2YiLCJlcGhlbWVyYWwiLCJ0b1Byb3RvTWVzc2FnZSIsIndpcmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/to_proto_message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/wait_for_remote_peer.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/wait_for_remote_peer.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ waitForRemotePeer: () => (/* binding */ waitForRemotePeer)\n/* harmony export */ });\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _waku_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @waku/utils */ \"(ssr)/./node_modules/@waku/utils/dist/index.js\");\n/* harmony import */ var p_event__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! p-event */ \"(ssr)/./node_modules/p-event/index.js\");\n\n\n\nconst log = new _waku_utils__WEBPACK_IMPORTED_MODULE_1__.Logger(\"wait-for-remote-peer\");\n//TODO: move this function within the Waku class: https://github.com/waku-org/js-waku/issues/1761\n/**\n * Wait for a remote peer to be ready given the passed protocols.\n * Must be used after attempting to connect to nodes, using\n * {@link @waku/sdk!WakuNode.dial} or a bootstrap method with\n * {@link @waku/sdk!createLightNode}.\n *\n * If the passed protocols is a GossipSub protocol, then it resolves only once\n * a peer is in a mesh, to help ensure that other peers will send and receive\n * message to us.\n *\n * @param waku The Waku Node\n * @param protocols The protocols that need to be enabled by remote peers.\n * @param timeoutMs A timeout value in milliseconds..\n *\n * @returns A promise that **resolves** if all desired protocols are fulfilled by\n * remote nodes, **rejects** if the timeoutMs is reached.\n * @throws If passing a protocol that is not mounted\n * @default Wait for remote peers with protocols enabled locally and no time out is applied.\n */ async function waitForRemotePeer(waku, protocols, timeoutMs) {\n protocols = protocols ?? getEnabledProtocols(waku);\n if (!waku.isStarted()) return Promise.reject(\"Waku node is not started\");\n const promises = [];\n if (protocols.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Protocols.Relay)) {\n if (!waku.relay) throw new Error(\"Cannot wait for Relay peer: protocol not mounted\");\n promises.push(waitForGossipSubPeerInMesh(waku.relay));\n }\n if (protocols.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Protocols.Store)) {\n if (!waku.store) throw new Error(\"Cannot wait for Store peer: protocol not mounted\");\n promises.push(waitForConnectedPeer(waku.store.protocol, waku.libp2p.services.metadata));\n }\n if (protocols.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Protocols.LightPush)) {\n if (!waku.lightPush) throw new Error(\"Cannot wait for LightPush peer: protocol not mounted\");\n promises.push(waitForConnectedPeer(waku.lightPush.protocol, waku.libp2p.services.metadata));\n }\n if (protocols.includes(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Protocols.Filter)) {\n if (!waku.filter) throw new Error(\"Cannot wait for Filter peer: protocol not mounted\");\n promises.push(waitForConnectedPeer(waku.filter, waku.libp2p.services.metadata));\n }\n if (timeoutMs) {\n await rejectOnTimeout(Promise.all(promises), timeoutMs, \"Timed out waiting for a remote peer.\");\n } else {\n await Promise.all(promises);\n }\n}\n//TODO: move this function within protocol SDK class: https://github.com/waku-org/js-waku/issues/1761\n/**\n * Wait for a peer with the given protocol to be connected.\n * If sharding is enabled on the node, it will also wait for the peer to be confirmed by the metadata service.\n */ async function waitForConnectedPeer(protocol, metadataService) {\n const codec = protocol.multicodec;\n const peers = await protocol.connectedPeers();\n if (peers.length) {\n if (!metadataService) {\n log.info(`${codec} peer found: `, peers[0].id.toString());\n return;\n }\n // once a peer is connected, we need to confirm the metadata handshake with at least one of those peers if sharding is enabled\n try {\n await Promise.any(peers.map((peer)=>metadataService.confirmOrAttemptHandshake(peer.id)));\n return;\n } catch (e) {\n if (e.code === \"ERR_CONNECTION_BEING_CLOSED\") log.error(`Connection with the peer was closed and possibly because it's on a different shard. Error: ${e}`);\n log.error(`Error waiting for handshake confirmation: ${e}`);\n }\n }\n log.info(`Waiting for ${codec} peer`);\n // else we'll just wait for the next peer to connect\n await new Promise((resolve)=>{\n const cb = (evt)=>{\n if (evt.detail?.protocols?.includes(codec)) {\n if (metadataService) {\n metadataService.confirmOrAttemptHandshake(evt.detail.peerId).then(()=>{\n protocol.removeLibp2pEventListener(\"peer:identify\", cb);\n resolve();\n }).catch((e)=>{\n if (e.code === \"ERR_CONNECTION_BEING_CLOSED\") log.error(`Connection with the peer was closed and possibly because it's on a different shard. Error: ${e}`);\n log.error(`Error waiting for handshake confirmation: ${e}`);\n });\n } else {\n protocol.removeLibp2pEventListener(\"peer:identify\", cb);\n resolve();\n }\n }\n };\n protocol.addLibp2pEventListener(\"peer:identify\", cb);\n });\n}\n/**\n * Wait for at least one peer with the given protocol to be connected and in the gossipsub\n * mesh for all pubsubTopics.\n */ async function waitForGossipSubPeerInMesh(waku) {\n let peers = waku.getMeshPeers();\n const pubsubTopics = waku.pubsubTopics;\n for (const topic of pubsubTopics){\n while(peers.length == 0){\n await (0,p_event__WEBPACK_IMPORTED_MODULE_2__.pEvent)(waku.gossipSub, \"gossipsub:heartbeat\");\n peers = waku.getMeshPeers(topic);\n }\n }\n}\nconst awaitTimeout = (ms, rejectReason)=>new Promise((_resolve, reject)=>setTimeout(()=>reject(rejectReason), ms));\nasync function rejectOnTimeout(promise, timeoutMs, rejectReason) {\n await Promise.race([\n promise,\n awaitTimeout(timeoutMs, rejectReason)\n ]);\n}\nfunction getEnabledProtocols(waku) {\n const protocols = [];\n if (waku.relay) {\n protocols.push(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Protocols.Relay);\n }\n if (waku.filter) {\n protocols.push(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Protocols.Filter);\n }\n if (waku.store) {\n protocols.push(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Protocols.Store);\n }\n if (waku.lightPush) {\n protocols.push(_waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.Protocols.LightPush);\n }\n return protocols;\n} //# sourceMappingURL=wait_for_remote_peer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9jb3JlL2Rpc3QvbGliL3dhaXRfZm9yX3JlbW90ZV9wZWVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBNkM7QUFDUjtBQUNKO0FBQ2pDLE1BQU1HLE1BQU0sSUFBSUYsK0NBQU1BLENBQUM7QUFDdkIsaUdBQWlHO0FBQ2pHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FrQkMsR0FDTSxlQUFlRyxrQkFBa0JDLElBQUksRUFBRUMsU0FBUyxFQUFFQyxTQUFTO0lBQzlERCxZQUFZQSxhQUFhRSxvQkFBb0JIO0lBQzdDLElBQUksQ0FBQ0EsS0FBS0ksU0FBUyxJQUNmLE9BQU9DLFFBQVFDLE1BQU0sQ0FBQztJQUMxQixNQUFNQyxXQUFXLEVBQUU7SUFDbkIsSUFBSU4sVUFBVU8sUUFBUSxDQUFDYix1REFBU0EsQ0FBQ2MsS0FBSyxHQUFHO1FBQ3JDLElBQUksQ0FBQ1QsS0FBS1UsS0FBSyxFQUNYLE1BQU0sSUFBSUMsTUFBTTtRQUNwQkosU0FBU0ssSUFBSSxDQUFDQywyQkFBMkJiLEtBQUtVLEtBQUs7SUFDdkQ7SUFDQSxJQUFJVCxVQUFVTyxRQUFRLENBQUNiLHVEQUFTQSxDQUFDbUIsS0FBSyxHQUFHO1FBQ3JDLElBQUksQ0FBQ2QsS0FBS2UsS0FBSyxFQUNYLE1BQU0sSUFBSUosTUFBTTtRQUNwQkosU0FBU0ssSUFBSSxDQUFDSSxxQkFBcUJoQixLQUFLZSxLQUFLLENBQUNFLFFBQVEsRUFBRWpCLEtBQUtrQixNQUFNLENBQUNDLFFBQVEsQ0FBQ0MsUUFBUTtJQUN6RjtJQUNBLElBQUluQixVQUFVTyxRQUFRLENBQUNiLHVEQUFTQSxDQUFDMEIsU0FBUyxHQUFHO1FBQ3pDLElBQUksQ0FBQ3JCLEtBQUtzQixTQUFTLEVBQ2YsTUFBTSxJQUFJWCxNQUFNO1FBQ3BCSixTQUFTSyxJQUFJLENBQUNJLHFCQUFxQmhCLEtBQUtzQixTQUFTLENBQUNMLFFBQVEsRUFBRWpCLEtBQUtrQixN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VUFBVXJELFNBQVdzRCxXQUFXLElBQU10RCxPQUFPb0QsZUFBZUQ7QUFDcEgsZUFBZWhDLGdCQUFnQm9DLE9BQU8sRUFBRTNELFNBQVMsRUFBRXdELFlBQVk7SUFDM0QsTUFBTXJELFFBQVF5RCxJQUFJLENBQUM7UUFBQ0Q7UUFBU0wsYUFBYXRELFdBQVd3RDtLQUFjO0FBQ3ZFO0FBQ0EsU0FBU3ZELG9CQUFvQkgsSUFBSTtJQUM3QixNQUFNQyxZQUFZLEVBQUU7SUFDcEIsSUFBSUQsS0FBS1UsS0FBSyxFQUFFO1FBQ1pULFVBQVVXLElBQUksQ0FBQ2pCLHVEQUFTQSxDQUFDYyxLQUFLO0lBQ2xDO0lBQ0EsSUFBSVQsS0FBS3dCLE1BQU0sRUFBRTtRQUNidkIsVUFBVVcsSUFBSSxDQUFDakIsdURBQVNBLENBQUM0QixNQUFNO0lBQ25DO0lBQ0EsSUFBSXZCLEtBQUtlLEtBQUssRUFBRTtRQUNaZCxVQUFVVyxJQUFJLENBQUNqQix1REFBU0EsQ0FBQ21CLEtBQUs7SUFDbEM7SUFDQSxJQUFJZCxLQUFLc0IsU0FBUyxFQUFFO1FBQ2hCckIsVUFBVVcsSUFBSSxDQUFDakIsdURBQVNBLENBQUMwQixTQUFTO0lBQ3RDO0lBQ0EsT0FBT3BCO0FBQ1gsRUFDQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2NvcmUvZGlzdC9saWIvd2FpdF9mb3JfcmVtb3RlX3BlZXIuanM/ZThhOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm90b2NvbHMgfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIkB3YWt1L3V0aWxzXCI7XG5pbXBvcnQgeyBwRXZlbnQgfSBmcm9tIFwicC1ldmVudFwiO1xuY29uc3QgbG9nID0gbmV3IExvZ2dlcihcIndhaXQtZm9yLXJlbW90ZS1wZWVyXCIpO1xuLy9UT0RPOiBtb3ZlIHRoaXMgZnVuY3Rpb24gd2l0aGluIHRoZSBXYWt1IGNsYXNzOiBodHRwczovL2dpdGh1Yi5jb20vd2FrdS1vcmcvanMtd2FrdS9pc3N1ZXMvMTc2MVxuLyoqXG4gKiBXYWl0IGZvciBhIHJlbW90ZSBwZWVyIHRvIGJlIHJlYWR5IGdpdmVuIHRoZSBwYXNzZWQgcHJvdG9jb2xzLlxuICogTXVzdCBiZSB1c2VkIGFmdGVyIGF0dGVtcHRpbmcgdG8gY29ubmVjdCB0byBub2RlcywgdXNpbmdcbiAqIHtAbGluayBAd2FrdS9zZGshV2FrdU5vZGUuZGlhbH0gb3IgYSBib290c3RyYXAgbWV0aG9kIHdpdGhcbiAqIHtAbGluayBAd2FrdS9zZGshY3JlYXRlTGlnaHROb2RlfS5cbiAqXG4gKiBJZiB0aGUgcGFzc2VkIHByb3RvY29scyBpcyBhIEdvc3NpcFN1YiBwcm90b2NvbCwgdGhlbiBpdCByZXNvbHZlcyBvbmx5IG9uY2VcbiAqIGEgcGVlciBpcyBpbiBhIG1lc2gsIHRvIGhlbHAgZW5zdXJlIHRoYXQgb3RoZXIgcGVlcnMgd2lsbCBzZW5kIGFuZCByZWNlaXZlXG4gKiBtZXNzYWdlIHRvIHVzLlxuICpcbiAqIEBwYXJhbSB3YWt1IFRoZSBXYWt1IE5vZGVcbiAqIEBwYXJhbSBwcm90b2NvbHMgVGhlIHByb3RvY29scyB0aGF0IG5lZWQgdG8gYmUgZW5hYmxlZCBieSByZW1vdGUgcGVlcnMuXG4gKiBAcGFyYW0gdGltZW91dE1zIEEgdGltZW91dCB2YWx1ZSBpbiBtaWxsaXNlY29uZHMuLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0ICoqcmVzb2x2ZXMqKiBpZiBhbGwgZGVzaXJlZCBwcm90b2NvbHMgYXJlIGZ1bGZpbGxlZCBieVxuICogcmVtb3RlIG5vZGVzLCAqKnJlamVjdHMqKiBpZiB0aGUgdGltZW91dE1zIGlzIHJlYWNoZWQuXG4gKiBAdGhyb3dzIElmIHBhc3NpbmcgYSBwcm90b2NvbCB0aGF0IGlzIG5vdCBtb3VudGVkXG4gKiBAZGVmYXVsdCBXYWl0IGZvciByZW1vdGUgcGVlcnMgd2l0aCBwcm90b2NvbHMgZW5hYmxlZCBsb2NhbGx5IGFuZCBubyB0aW1lIG91dCBpcyBhcHBsaWVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdEZvclJlbW90ZVBlZXIod2FrdSwgcHJvdG9jb2xzLCB0aW1lb3V0TXMpIHtcbiAgICBwcm90b2NvbHMgPSBwcm90b2NvbHMgPz8gZ2V0RW5hYmxlZFByb3RvY29scyh3YWt1KTtcbiAgICBpZiAoIXdha3UuaXNTdGFydGVkKCkpXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcIldha3Ugbm9kZSBpcyBub3Qgc3RhcnRlZFwiKTtcbiAgICBjb25zdCBwcm9taXNlcyA9IFtdO1xuICAgIGlmIChwcm90b2NvbHMuaW5jbHVkZXMoUHJvdG9jb2xzLlJlbGF5KSkge1xuICAgICAgICBpZiAoIXdha3UucmVsYXkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3Qgd2FpdCBmb3IgUmVsYXkgcGVlcjogcHJvdG9jb2wgbm90IG1vdW50ZWRcIik7XG4gICAgICAgIHByb21pc2VzLnB1c2god2FpdEZvckdvc3NpcFN1YlBlZXJJbk1lc2god2FrdS5yZWxheSkpO1xuICAgIH1cbiAgICBpZiAocHJvdG9jb2xzLmluY2x1ZGVzKFByb3RvY29scy5TdG9yZSkpIHtcbiAgICAgICAgaWYgKCF3YWt1LnN0b3JlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IHdhaXQgZm9yIFN0b3JlIHBlZXI6IHByb3RvY29sIG5vdCBtb3VudGVkXCIpO1xuICAgICAgICBwcm9taXNlcy5wdXNoKHdhaXRGb3JDb25uZWN0ZWRQZWVyKHdha3Uuc3RvcmUucHJvdG9jb2wsIHdha3UubGlicDJwLnNlcnZpY2VzLm1ldGFkYXRhKSk7XG4gICAgfVxuICAgIGlmIChwcm90b2NvbHMuaW5jbHVkZXMoUHJvdG9jb2xzLkxpZ2h0UHVzaCkpIHtcbiAgICAgICAgaWYgKCF3YWt1LmxpZ2h0UHVzaClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCB3YWl0IGZvciBMaWdodFB1c2ggcGVlcjogcHJvdG9jb2wgbm90IG1vdW50ZWRcIik7XG4gICAgICAgIHByb21pc2VzLnB1c2god2FpdEZvckNvbm5lY3RlZFBlZXIod2FrdS5saWdodFB1c2gucHJvdG9jb2wsIHdha3UubGlicDJwLnNlcnZpY2VzLm1ldGFkYXRhKSk7XG4gICAgfVxuICAgIGlmIChwcm90b2NvbHMuaW5jbHVkZXMoUHJvdG9jb2xzLkZpbHRlcikpIHtcbiAgICAgICAgaWYgKCF3YWt1LmZpbHRlcilcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCB3YWl0IGZvciBGaWx0ZXIgcGVlcjogcHJvdG9jb2wgbm90IG1vdW50ZWRcIik7XG4gICAgICAgIHByb21pc2VzLnB1c2god2FpdEZvckNvbm5lY3RlZFBlZXIod2FrdS5maWx0ZXIsIHdha3UubGlicDJwLnNlcnZpY2VzLm1ldGFkYXRhKSk7XG4gICAgfVxuICAgIGlmICh0aW1lb3V0TXMpIHtcbiAgICAgICAgYXdhaXQgcmVqZWN0T25UaW1lb3V0KFByb21pc2UuYWxsKHByb21pc2VzKSwgdGltZW91dE1zLCBcIlRpbWVkIG91dCB3YWl0aW5nIGZvciBhIHJlbW90ZSBwZWVyLlwiKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICB9XG59XG4vL1RPRE86IG1vdmUgdGhpcyBmdW5jdGlvbiB3aXRoaW4gcHJvdG9jb2wgU0RLIGNsYXNzOiBodHRwczovL2dpdGh1Yi5jb20vd2FrdS1vcmcvanMtd2FrdS9pc3N1ZXMvMTc2MVxuLyoqXG4gKiBXYWl0IGZvciBhIHBlZXIgd2l0aCB0aGUgZ2l2ZW4gcHJvdG9jb2wgdG8gYmUgY29ubmVjdGVkLlxuICogSWYgc2hhcmRpbmcgaXMgZW5hYmxlZCBvbiB0aGUgbm9kZSwgaXQgd2lsbCBhbHNvIHdhaXQgZm9yIHRoZSBwZWVyIHRvIGJlIGNvbmZpcm1lZCBieSB0aGUgbWV0YWRhdGEgc2VydmljZS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gd2FpdEZvckNvbm5lY3RlZFBlZXIocHJvdG9jb2wsIG1ldGFkYXRhU2VydmljZSkge1xuICAgIGNvbnN0IGNvZGVjID0gcHJvdG9jb2wubXVsdGljb2RlYztcbiAgICBjb25zdCBwZWVycyA9IGF3YWl0IHByb3RvY29sLmNvbm5lY3RlZFBlZXJzKCk7XG4gICAgaWYgKHBlZXJzLmxlbmd0aCkge1xuICAgICAgICBpZiAoIW1ldGFkYXRhU2VydmljZSkge1xuICAgICAgICAgICAgbG9nLmluZm8oYCR7Y29kZWN9IHBlZXIgZm91bmQ6IGAsIHBlZXJzWzBdLmlkLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9uY2UgYSBwZWVyIGlzIGNvbm5lY3RlZCwgd2UgbmVlZCB0byBjb25maXJtIHRoZSBtZXRhZGF0YSBoYW5kc2hha2Ugd2l0aCBhdCBsZWFzdCBvbmUgb2YgdGhvc2UgcGVlcnMgaWYgc2hhcmRpbmcgaXMgZW5hYmxlZFxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbnkocGVlcnMubWFwKChwZWVyKSA9PiBtZXRhZGF0YVNlcnZpY2UuY29uZmlybU9yQXR0ZW1wdEhhbmRzaGFrZShwZWVyLmlkKSkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBpZiAoZS5jb2RlID09PSBcIkVSUl9DT05ORUNUSU9OX0JFSU5HX0NMT1NFRFwiKVxuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihgQ29ubmVjdGlvbiB3aXRoIHRoZSBwZWVyIHdhcyBjbG9zZWQgYW5kIHBvc3NpYmx5IGJlY2F1c2UgaXQncyBvbiBhIGRpZmZlcmVudCBzaGFyZC4gRXJyb3I6ICR7ZX1gKTtcbiAgICAgICAgICAgIGxvZy5lcnJvcihgRXJyb3Igd2FpdGluZyBmb3IgaGFuZHNoYWtlIGNvbmZpcm1hdGlvbjogJHtlfWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGxvZy5pbmZvKGBXYWl0aW5nIGZvciAke2NvZGVjfSBwZWVyYCk7XG4gICAgLy8gZWxzZSB3ZSdsbCBqdXN0IHdhaXQgZm9yIHRoZSBuZXh0IHBlZXIgdG8gY29ubmVjdFxuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNiID0gKGV2dCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2dC5kZXRhaWw/LnByb3RvY29scz8uaW5jbHVkZXMoY29kZWMpKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1ldGFkYXRhU2VydmljZSkge1xuICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb25maXJtT3JBdHRlbXB0SGFuZHNoYWtlKGV2dC5kZXRhaWwucGVlcklkKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdG9jb2wucmVtb3ZlTGlicDJwRXZlbnRMaXN0ZW5lcihcInBlZXI6aWRlbnRpZnlcIiwgY2IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5jb2RlID09PSBcIkVSUl9DT05ORUNUSU9OX0JFSU5HX0NMT1NFRFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZy5lcnJvcihgQ29ubmVjdGlvbiB3aXRoIHRoZSBwZWVyIHdhcyBjbG9zZWQgYW5kIHBvc3NpYmx5IGJlY2F1c2UgaXQncyBvbiBhIGRpZmZlcmVudCBzaGFyZC4gRXJyb3I6ICR7ZX1gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZy5lcnJvcihgRXJyb3Igd2FpdGluZyBmb3IgaGFuZHNoYWtlIGNvbmZpcm1hdGlvbjogJHtlfWApO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHByb3RvY29sLnJlbW92ZUxpYnAycEV2ZW50TGlzdGVuZXIoXCJwZWVyOmlkZW50aWZ5XCIsIGNiKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcHJvdG9jb2wuYWRkTGlicDJwRXZlbnRMaXN0ZW5lcihcInBlZXI6aWRlbnRpZnlcIiwgY2IpO1xuICAgIH0pO1xufVxuLyoqXG4gKiBXYWl0IGZvciBhdCBsZWFzdCBvbmUgcGVlciB3aXRoIHRoZSBnaXZlbiBwcm90b2NvbCB0byBiZSBjb25uZWN0ZWQgYW5kIGluIHRoZSBnb3NzaXBzdWJcbiAqIG1lc2ggZm9yIGFsbCBwdWJzdWJUb3BpY3MuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JHb3NzaXBTdWJQZWVySW5NZXNoKHdha3UpIHtcbiAgICBsZXQgcGVlcnMgPSB3YWt1LmdldE1lc2hQZWVycygpO1xuICAgIGNvbnN0IHB1YnN1YlRvcGljcyA9IHdha3UucHVic3ViVG9waWNzO1xuICAgIGZvciAoY29uc3QgdG9waWMgb2YgcHVic3ViVG9waWNzKSB7XG4gICAgICAgIHdoaWxlIChwZWVycy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgYXdhaXQgcEV2ZW50KHdha3UuZ29zc2lwU3ViLCBcImdvc3NpcHN1YjpoZWFydGJlYXRcIik7XG4gICAgICAgICAgICBwZWVycyA9IHdha3UuZ2V0TWVzaFBlZXJzKHRvcGljKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmNvbnN0IGF3YWl0VGltZW91dCA9IChtcywgcmVqZWN0UmVhc29uKSA9PiBuZXcgUHJvbWlzZSgoX3Jlc29sdmUsIHJlamVjdCkgPT4gc2V0VGltZW91dCgoKSA9PiByZWplY3QocmVqZWN0UmVhc29uKSwgbXMpKTtcbmFzeW5jIGZ1bmN0aW9uIHJlamVjdE9uVGltZW91dChwcm9taXNlLCB0aW1lb3V0TXMsIHJlamVjdFJlYXNvbikge1xuICAgIGF3YWl0IFByb21pc2UucmFjZShbcHJvbWlzZSwgYXdhaXRUaW1lb3V0KHRpbWVvdXRNcywgcmVqZWN0UmVhc29uKV0pO1xufVxuZnVuY3Rpb24gZ2V0RW5hYmxlZFByb3RvY29scyh3YWt1KSB7XG4gICAgY29uc3QgcHJvdG9jb2xzID0gW107XG4gICAgaWYgKHdha3UucmVsYXkpIHtcbiAgICAgICAgcHJvdG9jb2xzLnB1c2goUHJvdG9jb2xzLlJlbGF5KTtcbiAgICB9XG4gICAgaWYgKHdha3UuZmlsdGVyKSB7XG4gICAgICAgIHByb3RvY29scy5wdXNoKFByb3RvY29scy5GaWx0ZXIpO1xuICAgIH1cbiAgICBpZiAod2FrdS5zdG9yZSkge1xuICAgICAgICBwcm90b2NvbHMucHVzaChQcm90b2NvbHMuU3RvcmUpO1xuICAgIH1cbiAgICBpZiAod2FrdS5saWdodFB1c2gpIHtcbiAgICAgICAgcHJvdG9jb2xzLnB1c2goUHJvdG9jb2xzLkxpZ2h0UHVzaCk7XG4gICAgfVxuICAgIHJldHVybiBwcm90b2NvbHM7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD13YWl0X2Zvcl9yZW1vdGVfcGVlci5qcy5tYXAiXSwibmFtZXMiOlsiUHJvdG9jb2xzIiwiTG9nZ2VyIiwicEV2ZW50IiwibG9nIiwid2FpdEZvclJlbW90ZVBlZXIiLCJ3YWt1IiwicHJvdG9jb2xzIiwidGltZW91dE1zIiwiZ2V0RW5hYmxlZFByb3RvY29scyIsImlzU3RhcnRlZCIsIlByb21pc2UiLCJyZWplY3QiLCJwcm9taXNlcyIsImluY2x1ZGVzIiwiUmVsYXkiLCJyZWxheSIsIkVycm9yIiwicHVzaCIsIndhaXRGb3JHb3NzaXBTdWJQZWVySW5NZXNoIiwiU3RvcmUiLCJzdG9yZSIsIndhaXRGb3JDb25uZWN0ZWRQZWVyIiwicHJvdG9jb2wiLCJsaWJwMnAiLCJzZXJ2aWNlcyIsIm1ldGFkYXRhIiwiTGlnaHRQdXNoIiwibGlnaHRQdXNoIiwiRmlsdGVyIiwiZmlsdGVyIiwicmVqZWN0T25UaW1lb3V0IiwiYWxsIiwibWV0YWRhdGFTZXJ2aWNlIiwiY29kZWMiLCJtdWx0aWNvZGVjIiwicGVlcnMiLCJjb25uZWN0ZWRQZWVycyIsImxlbmd0aCIsImluZm8iLCJpZCIsInRvU3RyaW5nIiwiYW55IiwibWFwIiwicGVlciIsImNvbmZpcm1PckF0dGVtcHRIYW5kc2hha2UiLCJlIiwiY29kZSIsImVycm9yIiwicmVzb2x2ZSIsImNiIiwiZXZ0IiwiZGV0YWlsIiwicGVlcklkIiwidGhlbiIsInJlbW92ZUxpYnAycEV2ZW50TGlzdGVuZXIiLCJjYXRjaCIsImFkZExpYnAycEV2ZW50TGlzdGVuZXIiLCJnZXRNZXNoUGVlcnMiLCJwdWJzdWJUb3BpY3MiLCJ0b3BpYyIsImdvc3NpcFN1YiIsImF3YWl0VGltZW91dCIsIm1zIiwicmVqZWN0UmVhc29uIiwiX3Jlc29sdmUiLCJzZXRUaW1lb3V0IiwicHJvbWlzZSIsInJhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/core/dist/lib/wait_for_remote_peer.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/connection_manager.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/connection_manager.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EConnectionStateEvents: () => (/* binding */ EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* binding */ EPeersByDiscoveryEvents),\n/* harmony export */ Tags: () => (/* binding */ Tags)\n/* harmony export */ });\nvar Tags;\n(function(Tags) {\n Tags[\"BOOTSTRAP\"] = \"bootstrap\";\n Tags[\"PEER_EXCHANGE\"] = \"peer-exchange\";\n Tags[\"LOCAL\"] = \"local-peer-cache\";\n})(Tags || (Tags = {}));\nvar EPeersByDiscoveryEvents;\n(function(EPeersByDiscoveryEvents) {\n EPeersByDiscoveryEvents[\"PEER_DISCOVERY_BOOTSTRAP\"] = \"peer:discovery:bootstrap\";\n EPeersByDiscoveryEvents[\"PEER_DISCOVERY_PEER_EXCHANGE\"] = \"peer:discovery:peer-exchange\";\n EPeersByDiscoveryEvents[\"PEER_CONNECT_BOOTSTRAP\"] = \"peer:connected:bootstrap\";\n EPeersByDiscoveryEvents[\"PEER_CONNECT_PEER_EXCHANGE\"] = \"peer:connected:peer-exchange\";\n})(EPeersByDiscoveryEvents || (EPeersByDiscoveryEvents = {}));\nvar EConnectionStateEvents;\n(function(EConnectionStateEvents) {\n EConnectionStateEvents[\"CONNECTION_STATUS\"] = \"waku:connection\";\n})(EConnectionStateEvents || (EConnectionStateEvents = {})); //# sourceMappingURL=connection_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvY29ubmVjdGlvbl9tYW5hZ2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLElBQUlBLEtBQUs7QUFDZixVQUFVQSxJQUFJO0lBQ1hBLElBQUksQ0FBQyxZQUFZLEdBQUc7SUFDcEJBLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztJQUN4QkEsSUFBSSxDQUFDLFFBQVEsR0FBRztBQUNwQixHQUFHQSxRQUFTQSxDQUFBQSxPQUFPLENBQUM7QUFDYixJQUFJQyx3QkFBd0I7QUFDbEMsVUFBVUEsdUJBQXVCO0lBQzlCQSx1QkFBdUIsQ0FBQywyQkFBMkIsR0FBRztJQUN0REEsdUJBQXVCLENBQUMsK0JBQStCLEdBQUc7SUFDMURBLHVCQUF1QixDQUFDLHlCQUF5QixHQUFHO0lBQ3BEQSx1QkFBdUIsQ0FBQyw2QkFBNkIsR0FBRztBQUM1RCxHQUFHQSwyQkFBNEJBLENBQUFBLDBCQUEwQixDQUFDO0FBQ25ELElBQUlDLHVCQUF1QjtBQUNqQyxVQUFVQSxzQkFBc0I7SUFDN0JBLHNCQUFzQixDQUFDLG9CQUFvQixHQUFHO0FBQ2xELEdBQUdBLDBCQUEyQkEsQ0FBQUEseUJBQXlCLENBQUMsS0FDeEQsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvY29ubmVjdGlvbl9tYW5hZ2VyLmpzP2VmNjQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHZhciBUYWdzO1xuKGZ1bmN0aW9uIChUYWdzKSB7XG4gICAgVGFnc1tcIkJPT1RTVFJBUFwiXSA9IFwiYm9vdHN0cmFwXCI7XG4gICAgVGFnc1tcIlBFRVJfRVhDSEFOR0VcIl0gPSBcInBlZXItZXhjaGFuZ2VcIjtcbiAgICBUYWdzW1wiTE9DQUxcIl0gPSBcImxvY2FsLXBlZXItY2FjaGVcIjtcbn0pKFRhZ3MgfHwgKFRhZ3MgPSB7fSkpO1xuZXhwb3J0IHZhciBFUGVlcnNCeURpc2NvdmVyeUV2ZW50cztcbihmdW5jdGlvbiAoRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHMpIHtcbiAgICBFUGVlcnNCeURpc2NvdmVyeUV2ZW50c1tcIlBFRVJfRElTQ09WRVJZX0JPT1RTVFJBUFwiXSA9IFwicGVlcjpkaXNjb3Zlcnk6Ym9vdHN0cmFwXCI7XG4gICAgRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHNbXCJQRUVSX0RJU0NPVkVSWV9QRUVSX0VYQ0hBTkdFXCJdID0gXCJwZWVyOmRpc2NvdmVyeTpwZWVyLWV4Y2hhbmdlXCI7XG4gICAgRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHNbXCJQRUVSX0NPTk5FQ1RfQk9PVFNUUkFQXCJdID0gXCJwZWVyOmNvbm5lY3RlZDpib290c3RyYXBcIjtcbiAgICBFUGVlcnNCeURpc2NvdmVyeUV2ZW50c1tcIlBFRVJfQ09OTkVDVF9QRUVSX0VYQ0hBTkdFXCJdID0gXCJwZWVyOmNvbm5lY3RlZDpwZWVyLWV4Y2hhbmdlXCI7XG59KShFUGVlcnNCeURpc2NvdmVyeUV2ZW50cyB8fCAoRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHMgPSB7fSkpO1xuZXhwb3J0IHZhciBFQ29ubmVjdGlvblN0YXRlRXZlbnRzO1xuKGZ1bmN0aW9uIChFQ29ubmVjdGlvblN0YXRlRXZlbnRzKSB7XG4gICAgRUNvbm5lY3Rpb25TdGF0ZUV2ZW50c1tcIkNPTk5FQ1RJT05fU1RBVFVTXCJdID0gXCJ3YWt1OmNvbm5lY3Rpb25cIjtcbn0pKEVDb25uZWN0aW9uU3RhdGVFdmVudHMgfHwgKEVDb25uZWN0aW9uU3RhdGVFdmVudHMgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29ubmVjdGlvbl9tYW5hZ2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJUYWdzIiwiRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHMiLCJFQ29ubmVjdGlvblN0YXRlRXZlbnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/connection_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/constants.js":
/*!********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/constants.js ***!
\********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* binding */ DEFAULT_CLUSTER_ID),\n/* harmony export */ DefaultPubsubTopic: () => (/* binding */ DefaultPubsubTopic)\n/* harmony export */ });\n/**\n * DefaultPubsubTopic is the default gossipsub topic to use for Waku.\n */ const DefaultPubsubTopic = \"/waku/2/default-waku/proto\";\n/**\n * The default cluster ID for The Waku Network\n */ const DEFAULT_CLUSTER_ID = 1; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7O0NBRUMsR0FDTSxNQUFNQSxxQkFBcUIsNkJBQTZCO0FBQy9EOztDQUVDLEdBQ00sTUFBTUMscUJBQXFCLEVBQUUsQ0FDcEMscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvY29uc3RhbnRzLmpzPzUwNDQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEZWZhdWx0UHVic3ViVG9waWMgaXMgdGhlIGRlZmF1bHQgZ29zc2lwc3ViIHRvcGljIHRvIHVzZSBmb3IgV2FrdS5cbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRQdWJzdWJUb3BpYyA9IFwiL3dha3UvMi9kZWZhdWx0LXdha3UvcHJvdG9cIjtcbi8qKlxuICogVGhlIGRlZmF1bHQgY2x1c3RlciBJRCBmb3IgVGhlIFdha3UgTmV0d29ya1xuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DTFVTVEVSX0lEID0gMTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOlsiRGVmYXVsdFB1YnN1YlRvcGljIiwiREVGQVVMVF9DTFVTVEVSX0lEIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/constants.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/dns_discovery.js":
/*!************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/dns_discovery.js ***!
\************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=dns_discovery.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvZG5zX2Rpc2NvdmVyeS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVix5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9kbnNfZGlzY292ZXJ5LmpzP2IyYmEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZG5zX2Rpc2NvdmVyeS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/dns_discovery.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/enr.js":
/*!**************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/enr.js ***!
\**************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=enr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvZW5yLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLCtCQUErQiIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2Vuci5qcz81OWMyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/enr.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/filter.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/filter.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvZmlsdGVyLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2ZpbHRlci5qcz9jYWE2Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZpbHRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/filter.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js":
/*!****************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js ***!
\****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_17__.DEFAULT_CLUSTER_ID),\n/* harmony export */ DefaultPubsubTopic: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_17__.DefaultPubsubTopic),\n/* harmony export */ EConnectionStateEvents: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.EPeersByDiscoveryEvents),\n/* harmony export */ PageDirection: () => (/* reexport safe */ _store_js__WEBPACK_IMPORTED_MODULE_7__.PageDirection),\n/* harmony export */ ProtocolError: () => (/* reexport safe */ _protocols_js__WEBPACK_IMPORTED_MODULE_5__.ProtocolError),\n/* harmony export */ Protocols: () => (/* reexport safe */ _protocols_js__WEBPACK_IMPORTED_MODULE_5__.Protocols),\n/* harmony export */ Tags: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.Tags)\n/* harmony export */ });\n/* harmony import */ var _enr_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enr.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/enr.js\");\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./filter.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/filter.js\");\n/* harmony import */ var _light_push_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./light_push.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/light_push.js\");\n/* harmony import */ var _message_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./message.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/message.js\");\n/* harmony import */ var _peer_exchange_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./peer_exchange.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/peer_exchange.js\");\n/* harmony import */ var _protocols_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protocols.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/protocols.js\");\n/* harmony import */ var _relay_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./relay.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/relay.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./store.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/store.js\");\n/* harmony import */ var _waku_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./waku.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/waku.js\");\n/* harmony import */ var _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./connection_manager.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/connection_manager.js\");\n/* harmony import */ var _sender_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./sender.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/sender.js\");\n/* harmony import */ var _receiver_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./receiver.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/receiver.js\");\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./misc.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/misc.js\");\n/* harmony import */ var _libp2p_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./libp2p.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/libp2p.js\");\n/* harmony import */ var _keep_alive_manager_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./keep_alive_manager.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/keep_alive_manager.js\");\n/* harmony import */ var _dns_discovery_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./dns_discovery.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/dns_discovery.js\");\n/* harmony import */ var _metadata_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./metadata.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/metadata.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/constants.js\");\n/* harmony import */ var _local_storage_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./local_storage.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/local_storage.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXlCO0FBQ0c7QUFDSTtBQUNIO0FBQ007QUFDSjtBQUNKO0FBQ0E7QUFDRDtBQUNjO0FBQ1o7QUFDRTtBQUNKO0FBQ0U7QUFDWTtBQUNMO0FBQ0w7QUFDQztBQUNJLENBQ25DLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2luZGV4LmpzPzU5YjAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZW5yLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maWx0ZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpZ2h0X3B1c2guanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lc3NhZ2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BlZXJfZXhjaGFuZ2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3RvY29scy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVsYXkuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0b3JlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93YWt1LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25uZWN0aW9uX21hbmFnZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlbmRlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVjZWl2ZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pc2MuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYnAycC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4va2VlcF9hbGl2ZV9tYW5hZ2VyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kbnNfZGlzY292ZXJ5LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZXRhZGF0YS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2NhbF9zdG9yYWdlLmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/keep_alive_manager.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/keep_alive_manager.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=keep_alive_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qva2VlcF9hbGl2ZV9tYW5hZ2VyLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2tlZXBfYWxpdmVfbWFuYWdlci5qcz9hMGJkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWtlZXBfYWxpdmVfbWFuYWdlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/keep_alive_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/libp2p.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/libp2p.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=libp2p.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbGlicDJwLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2xpYnAycC5qcz85MDFiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpYnAycC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/libp2p.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/light_push.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/light_push.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=light_push.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbGlnaHRfcHVzaC5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9saWdodF9wdXNoLmpzP2UwMTIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGlnaHRfcHVzaC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/light_push.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/local_storage.js":
/*!************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/local_storage.js ***!
\************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=local_storage.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbG9jYWxfc3RvcmFnZS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVix5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9sb2NhbF9zdG9yYWdlLmpzPzE2NmUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bG9jYWxfc3RvcmFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/local_storage.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/message.js":
/*!******************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/message.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWVzc2FnZS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9tZXNzYWdlLmpzPzgzNzgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVzc2FnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/metadata.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/metadata.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=metadata.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWV0YWRhdGEuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWV0YWRhdGEuanM/NGU1MSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tZXRhZGF0YS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/metadata.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/misc.js":
/*!***************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/misc.js ***!
\***************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=misc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWlzYy5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9taXNjLmpzPzYwOTkiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWlzYy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/misc.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/peer_exchange.js":
/*!************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/peer_exchange.js ***!
\************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=peer_exchange.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcGVlcl9leGNoYW5nZS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVix5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9wZWVyX2V4Y2hhbmdlLmpzPzMwYmMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGVlcl9leGNoYW5nZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/peer_exchange.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/protocols.js":
/*!********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/protocols.js ***!
\********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ProtocolError: () => (/* binding */ ProtocolError),\n/* harmony export */ Protocols: () => (/* binding */ Protocols)\n/* harmony export */ });\nvar Protocols;\n(function(Protocols) {\n Protocols[\"Relay\"] = \"relay\";\n Protocols[\"Store\"] = \"store\";\n Protocols[\"LightPush\"] = \"lightpush\";\n Protocols[\"Filter\"] = \"filter\";\n})(Protocols || (Protocols = {}));\nvar ProtocolError;\n(function(ProtocolError) {\n /** Could not determine the origin of the fault. Best to check connectivity and try again */ ProtocolError[\"GENERIC_FAIL\"] = \"Generic error\";\n /**\n * Failure to protobuf encode the message. This is not recoverable and needs\n * further investigation.\n */ ProtocolError[\"ENCODE_FAILED\"] = \"Failed to encode\";\n /**\n * Failure to protobuf decode the message. May be due to a remote peer issue,\n * ensuring that messages are sent via several peer enable mitigation of this error.\n */ ProtocolError[\"DECODE_FAILED\"] = \"Failed to decode\";\n /**\n * The message payload is empty, making the message invalid. Ensure that a non-empty\n * payload is set on the outgoing message.\n */ ProtocolError[\"EMPTY_PAYLOAD\"] = \"Payload is empty\";\n /**\n * The message size is above the maximum message size allowed on the Waku Network.\n * Compressing the message or using an alternative strategy for large messages is recommended.\n */ ProtocolError[\"SIZE_TOO_BIG\"] = \"Size is too big\";\n /**\n * The PubsubTopic passed to the send function is not configured on the Waku node.\n * Please ensure that the PubsubTopic is used when initializing the Waku node.\n */ ProtocolError[\"TOPIC_NOT_CONFIGURED\"] = \"Topic not configured\";\n /**\n * Failure to find a peer with suitable protocols. This may due to a connection issue.\n * Mitigation can be: retrying after a given time period, display connectivity issue\n * to user or listening for `peer:connected:bootstrap` or `peer:connected:peer-exchange`\n * on the connection manager before retrying.\n */ ProtocolError[\"NO_PEER_AVAILABLE\"] = \"No peer available\";\n /**\n * The remote peer did not behave as expected. Mitigation for `NO_PEER_AVAILABLE`\n * or `DECODE_FAILED` can be used.\n */ ProtocolError[\"REMOTE_PEER_FAULT\"] = \"Remote peer fault\";\n /**\n * The remote peer rejected the message. Information provided by the remote peer\n * is logged. Review message validity, or mitigation for `NO_PEER_AVAILABLE`\n * or `DECODE_FAILED` can be used.\n */ ProtocolError[\"REMOTE_PEER_REJECTED\"] = \"Remote peer rejected\";\n /**\n * The protocol request timed out without a response. This may be due to a connection issue.\n * Mitigation can be: retrying after a given time period\n */ ProtocolError[\"REQUEST_TIMEOUT\"] = \"Request timeout\";\n})(ProtocolError || (ProtocolError = {})); //# sourceMappingURL=protocols.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcHJvdG9jb2xzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU8sSUFBSUEsVUFBVTtBQUNwQixVQUFVQSxTQUFTO0lBQ2hCQSxTQUFTLENBQUMsUUFBUSxHQUFHO0lBQ3JCQSxTQUFTLENBQUMsUUFBUSxHQUFHO0lBQ3JCQSxTQUFTLENBQUMsWUFBWSxHQUFHO0lBQ3pCQSxTQUFTLENBQUMsU0FBUyxHQUFHO0FBQzFCLEdBQUdBLGFBQWNBLENBQUFBLFlBQVksQ0FBQztBQUN2QixJQUFJQyxjQUFjO0FBQ3hCLFVBQVVBLGFBQWE7SUFDcEIsMEZBQTBGLEdBQzFGQSxhQUFhLENBQUMsZUFBZSxHQUFHO0lBQ2hDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsZ0JBQWdCLEdBQUc7SUFDakM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRztJQUNqQzs7O0tBR0MsR0FDREEsYUFBYSxDQUFDLGdCQUFnQixHQUFHO0lBQ2pDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsZUFBZSxHQUFHO0lBQ2hDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsdUJBQXVCLEdBQUc7SUFDeEM7Ozs7O0tBS0MsR0FDREEsYUFBYSxDQUFDLG9CQUFvQixHQUFHO0lBQ3JDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsb0JBQW9CLEdBQUc7SUFDckM7Ozs7S0FJQyxHQUNEQSxhQUFhLENBQUMsdUJBQXVCLEdBQUc7SUFDeEM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxrQkFBa0IsR0FBRztBQUN2QyxHQUFHQSxpQkFBa0JBLENBQUFBLGdCQUFnQixDQUFDLEtBQ3RDLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3Byb3RvY29scy5qcz8yZTI0Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgUHJvdG9jb2xzO1xuKGZ1bmN0aW9uIChQcm90b2NvbHMpIHtcbiAgICBQcm90b2NvbHNbXCJSZWxheVwiXSA9IFwicmVsYXlcIjtcbiAgICBQcm90b2NvbHNbXCJTdG9yZVwiXSA9IFwic3RvcmVcIjtcbiAgICBQcm90b2NvbHNbXCJMaWdodFB1c2hcIl0gPSBcImxpZ2h0cHVzaFwiO1xuICAgIFByb3RvY29sc1tcIkZpbHRlclwiXSA9IFwiZmlsdGVyXCI7XG59KShQcm90b2NvbHMgfHwgKFByb3RvY29scyA9IHt9KSk7XG5leHBvcnQgdmFyIFByb3RvY29sRXJyb3I7XG4oZnVuY3Rpb24gKFByb3RvY29sRXJyb3IpIHtcbiAgICAvKiogQ291bGQgbm90IGRldGVybWluZSB0aGUgb3JpZ2luIG9mIHRoZSBmYXVsdC4gQmVzdCB0byBjaGVjayBjb25uZWN0aXZpdHkgYW5kIHRyeSBhZ2FpbiAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJHRU5FUklDX0ZBSUxcIl0gPSBcIkdlbmVyaWMgZXJyb3JcIjtcbiAgICAvKipcbiAgICAgKiBGYWlsdXJlIHRvIHByb3RvYnVmIGVuY29kZSB0aGUgbWVzc2FnZS4gVGhpcyBpcyBub3QgcmVjb3ZlcmFibGUgYW5kIG5lZWRzXG4gICAgICogZnVydGhlciBpbnZlc3RpZ2F0aW9uLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJFTkNPREVfRkFJTEVEXCJdID0gXCJGYWlsZWQgdG8gZW5jb2RlXCI7XG4gICAgLyoqXG4gICAgICogRmFpbHVyZSB0byBwcm90b2J1ZiBkZWNvZGUgdGhlIG1lc3NhZ2UuIE1heSBiZSBkdWUgdG8gYSByZW1vdGUgcGVlciBpc3N1ZSxcbiAgICAgKiBlbnN1cmluZyB0aGF0IG1lc3NhZ2VzIGFyZSBzZW50IHZpYSBzZXZlcmFsIHBlZXIgZW5hYmxlIG1pdGlnYXRpb24gb2YgdGhpcyBlcnJvci5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiREVDT0RFX0ZBSUxFRFwiXSA9IFwiRmFpbGVkIHRvIGRlY29kZVwiO1xuICAgIC8qKlxuICAgICAqIFRoZSBtZXNzYWdlIHBheWxvYWQgaXMgZW1wdHksIG1ha2luZyB0aGUgbWVzc2FnZSBpbnZhbGlkLiBFbnN1cmUgdGhhdCBhIG5vbi1lbXB0eVxuICAgICAqIHBheWxvYWQgaXMgc2V0IG9uIHRoZSBvdXRnb2luZyBtZXNzYWdlLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJFTVBUWV9QQVlMT0FEXCJdID0gXCJQYXlsb2FkIGlzIGVtcHR5XCI7XG4gICAgLyoqXG4gICAgICogVGhlIG1lc3NhZ2Ugc2l6ZSBpcyBhYm92ZSB0aGUgbWF4aW11bSBtZXNzYWdlIHNpemUgYWxsb3dlZCBvbiB0aGUgV2FrdSBOZXR3b3JrLlxuICAgICAqIENvbXByZXNzaW5nIHRoZSBtZXNzYWdlIG9yIHVzaW5nIGFuIGFsdGVybmF0aXZlIHN0cmF0ZWd5IGZvciBsYXJnZSBtZXNzYWdlcyBpcyByZWNvbW1lbmRlZC5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiU0laRV9UT09fQklHXCJdID0gXCJTaXplIGlzIHRvbyBiaWdcIjtcbiAgICAvKipcbiAgICAgKiBUaGUgUHVic3ViVG9waWMgcGFzc2VkIHRvIHRoZSBzZW5kIGZ1bmN0aW9uIGlzIG5vdCBjb25maWd1cmVkIG9uIHRoZSBXYWt1IG5vZGUuXG4gICAgICogUGxlYXNlIGVuc3VyZSB0aGF0IHRoZSBQdWJzdWJUb3BpYyBpcyB1c2VkIHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBXYWt1IG5vZGUuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIlRPUElDX05PVF9DT05GSUdVUkVEXCJdID0gXCJUb3BpYyBub3QgY29uZmlndXJlZFwiO1xuICAgIC8qKlxuICAgICAqIEZhaWx1cmUgdG8gZmluZCBhIHBlZXIgd2l0aCBzdWl0YWJsZSBwcm90b2NvbHMuIFRoaXMgbWF5IGR1ZSB0byBhIGNvbm5lY3Rpb24gaXNzdWUuXG4gICAgICogTWl0aWdhdGlvbiBjYW4gYmU6IHJldHJ5aW5nIGFmdGVyIGEgZ2l2ZW4gdGltZSBwZXJpb2QsIGRpc3BsYXkgY29ubmVjdGl2aXR5IGlzc3VlXG4gICAgICogdG8gdXNlciBvciBsaXN0ZW5pbmcgZm9yIGBwZWVyOmNvbm5lY3RlZDpib290c3RyYXBgIG9yIGBwZWVyOmNvbm5lY3RlZDpwZWVyLWV4Y2hhbmdlYFxuICAgICAqIG9uIHRoZSBjb25uZWN0aW9uIG1hbmFnZXIgYmVmb3JlIHJldHJ5aW5nLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJOT19QRUVSX0FWQUlMQUJMRVwiXSA9IFwiTm8gcGVlciBhdmFpbGFibGVcIjtcbiAgICAvKipcbiAgICAgKiBUaGUgcmVtb3RlIHBlZXIgZGlkIG5vdCBiZWhhdmUgYXMgZXhwZWN0ZWQuIE1pdGlnYXRpb24gZm9yIGBOT19QRUVSX0FWQUlMQUJMRWBcbiAgICAgKiBvciBgREVDT0RFX0ZBSUxFRGAgY2FuIGJlIHVzZWQuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIlJFTU9URV9QRUVSX0ZBVUxUXCJdID0gXCJSZW1vdGUgcGVlciBmYXVsdFwiO1xuICAgIC8qKlxuICAgICAqIFRoZSByZW1vdGUgcGVlciByZWplY3RlZCB0aGUgbWVzc2FnZS4gSW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgdGhlIHJlbW90ZSBwZWVyXG4gICAgICogaXMgbG9nZ2VkLiBSZXZpZXcgbWVzc2FnZSB2YWxpZGl0eSwgb3IgbWl0aWdhdGlvbiBmb3IgYE5PX1BFRVJfQVZBSUxBQkxFYFxuICAgICAqIG9yIGBERUNPREVfRkFJTEVEYCBjYW4gYmUgdXNlZC5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiUkVNT1RFX1BFRVJfUkVKRUNURURcIl0gPSBcIlJlbW90ZSBwZWVyIHJlamVjdGVkXCI7XG4gICAgLyoqXG4gICAgICogVGhlIHByb3RvY29sIHJlcXVlc3QgdGltZWQgb3V0IHdpdGhvdXQgYSByZXNwb25zZS4gVGhpcyBtYXkgYmUgZHVlIHRvIGEgY29ubmVjdGlvbiBpc3N1ZS5cbiAgICAgKiBNaXRpZ2F0aW9uIGNhbiBiZTogcmV0cnlpbmcgYWZ0ZXIgYSBnaXZlbiB0aW1lIHBlcmlvZFxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJSRVFVRVNUX1RJTUVPVVRcIl0gPSBcIlJlcXVlc3QgdGltZW91dFwiO1xufSkoUHJvdG9jb2xFcnJvciB8fCAoUHJvdG9jb2xFcnJvciA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcm90b2NvbHMuanMubWFwIl0sIm5hbWVzIjpbIlByb3RvY29scyIsIlByb3RvY29sRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/protocols.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/receiver.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/receiver.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=receiver.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcmVjZWl2ZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcmVjZWl2ZXIuanM/OTg1MiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWNlaXZlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/receiver.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/relay.js":
/*!****************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/relay.js ***!
\****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=relay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcmVsYXkuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcmVsYXkuanM/MjlhNyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWxheS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/relay.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/sender.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/sender.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=sender.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qvc2VuZGVyLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3NlbmRlci5qcz9kOWE3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlbmRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/sender.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/store.js":
/*!****************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/store.js ***!
\****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PageDirection: () => (/* binding */ PageDirection)\n/* harmony export */ });\nvar PageDirection;\n(function(PageDirection) {\n PageDirection[\"BACKWARD\"] = \"backward\";\n PageDirection[\"FORWARD\"] = \"forward\";\n})(PageDirection || (PageDirection = {})); //# sourceMappingURL=store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qvc3RvcmUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPLElBQUlBLGNBQWM7QUFDeEIsVUFBVUEsYUFBYTtJQUNwQkEsYUFBYSxDQUFDLFdBQVcsR0FBRztJQUM1QkEsYUFBYSxDQUFDLFVBQVUsR0FBRztBQUMvQixHQUFHQSxpQkFBa0JBLENBQUFBLGdCQUFnQixDQUFDLEtBQ3RDLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3N0b3JlLmpzP2I0ZTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHZhciBQYWdlRGlyZWN0aW9uO1xuKGZ1bmN0aW9uIChQYWdlRGlyZWN0aW9uKSB7XG4gICAgUGFnZURpcmVjdGlvbltcIkJBQ0tXQVJEXCJdID0gXCJiYWNrd2FyZFwiO1xuICAgIFBhZ2VEaXJlY3Rpb25bXCJGT1JXQVJEXCJdID0gXCJmb3J3YXJkXCI7XG59KShQYWdlRGlyZWN0aW9uIHx8IChQYWdlRGlyZWN0aW9uID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0b3JlLmpzLm1hcCJdLCJuYW1lcyI6WyJQYWdlRGlyZWN0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/waku.js":
/*!***************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/waku.js ***!
\***************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=waku.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qvd2FrdS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC93YWt1LmpzPzQ2MTMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2FrdS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/interfaces/dist/waku.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/message-hash/dist/index.js":
/*!******************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/message-hash/dist/index.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ messageHash: () => (/* binding */ messageHash),\n/* harmony export */ messageHashStr: () => (/* binding */ messageHashStr)\n/* harmony export */ });\n/* harmony import */ var _noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @noble/hashes/sha256 */ \"(ssr)/./node_modules/@noble/hashes/esm/sha256.js\");\n/* harmony import */ var _waku_utils_bytes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/utils/bytes */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n\n\n/**\n * Deterministic Message Hashing as defined in\n * [14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14/#deterministic-message-hashing)\n */ function messageHash(pubsubTopic, message) {\n const pubsubTopicBytes = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_0__.utf8ToBytes)(pubsubTopic);\n const contentTopicBytes = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_0__.utf8ToBytes)(message.contentTopic);\n let bytes;\n if (message.meta) {\n bytes = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_0__.concat)([\n pubsubTopicBytes,\n message.payload,\n contentTopicBytes,\n message.meta\n ]);\n } else {\n bytes = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_0__.concat)([\n pubsubTopicBytes,\n message.payload,\n contentTopicBytes\n ]);\n }\n return (0,_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_1__.sha256)(bytes);\n}\nfunction messageHashStr(pubsubTopic, message) {\n const hash = messageHash(pubsubTopic, message);\n const hashStr = (0,_waku_utils_bytes__WEBPACK_IMPORTED_MODULE_0__.bytesToUtf8)(hash);\n return hashStr;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9tZXNzYWdlLWhhc2gvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQThDO0FBQ3VCO0FBQ3JFOzs7Q0FHQyxHQUNNLFNBQVNJLFlBQVlDLFdBQVcsRUFBRUMsT0FBTztJQUM1QyxNQUFNQyxtQkFBbUJKLDhEQUFXQSxDQUFDRTtJQUNyQyxNQUFNRyxvQkFBb0JMLDhEQUFXQSxDQUFDRyxRQUFRRyxZQUFZO0lBQzFELElBQUlDO0lBQ0osSUFBSUosUUFBUUssSUFBSSxFQUFFO1FBQ2RELFFBQVFSLHlEQUFNQSxDQUFDO1lBQ1hLO1lBQ0FELFFBQVFNLE9BQU87WUFDZko7WUFDQUYsUUFBUUssSUFBSTtTQUNmO0lBQ0wsT0FDSztRQUNERCxRQUFRUix5REFBTUEsQ0FBQztZQUFDSztZQUFrQkQsUUFBUU0sT0FBTztZQUFFSjtTQUFrQjtJQUN6RTtJQUNBLE9BQU9SLDREQUFNQSxDQUFDVTtBQUNsQjtBQUNPLFNBQVNHLGVBQWVSLFdBQVcsRUFBRUMsT0FBTztJQUMvQyxNQUFNUSxPQUFPVixZQUFZQyxhQUFhQztJQUN0QyxNQUFNUyxVQUFVZCw4REFBV0EsQ0FBQ2E7SUFDNUIsT0FBT0M7QUFDWCxFQUNBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvbWVzc2FnZS1oYXNoL2Rpc3QvaW5kZXguanM/NzI0ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGEyNTYgfSBmcm9tIFwiQG5vYmxlL2hhc2hlcy9zaGEyNTZcIjtcbmltcG9ydCB7IGJ5dGVzVG9VdGY4LCBjb25jYXQsIHV0ZjhUb0J5dGVzIH0gZnJvbSBcIkB3YWt1L3V0aWxzL2J5dGVzXCI7XG4vKipcbiAqIERldGVybWluaXN0aWMgTWVzc2FnZSBIYXNoaW5nIGFzIGRlZmluZWQgaW5cbiAqIFsxNC9XQUtVMi1NRVNTQUdFXShodHRwczovL3JmYy52YWMuZGV2L3NwZWMvMTQvI2RldGVybWluaXN0aWMtbWVzc2FnZS1oYXNoaW5nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVzc2FnZUhhc2gocHVic3ViVG9waWMsIG1lc3NhZ2UpIHtcbiAgICBjb25zdCBwdWJzdWJUb3BpY0J5dGVzID0gdXRmOFRvQnl0ZXMocHVic3ViVG9waWMpO1xuICAgIGNvbnN0IGNvbnRlbnRUb3BpY0J5dGVzID0gdXRmOFRvQnl0ZXMobWVzc2FnZS5jb250ZW50VG9waWMpO1xuICAgIGxldCBieXRlcztcbiAgICBpZiAobWVzc2FnZS5tZXRhKSB7XG4gICAgICAgIGJ5dGVzID0gY29uY2F0KFtcbiAgICAgICAgICAgIHB1YnN1YlRvcGljQnl0ZXMsXG4gICAgICAgICAgICBtZXNzYWdlLnBheWxvYWQsXG4gICAgICAgICAgICBjb250ZW50VG9waWNCeXRlcyxcbiAgICAgICAgICAgIG1lc3NhZ2UubWV0YVxuICAgICAgICBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGJ5dGVzID0gY29uY2F0KFtwdWJzdWJUb3BpY0J5dGVzLCBtZXNzYWdlLnBheWxvYWQsIGNvbnRlbnRUb3BpY0J5dGVzXSk7XG4gICAgfVxuICAgIHJldHVybiBzaGEyNTYoYnl0ZXMpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1lc3NhZ2VIYXNoU3RyKHB1YnN1YlRvcGljLCBtZXNzYWdlKSB7XG4gICAgY29uc3QgaGFzaCA9IG1lc3NhZ2VIYXNoKHB1YnN1YlRvcGljLCBtZXNzYWdlKTtcbiAgICBjb25zdCBoYXNoU3RyID0gYnl0ZXNUb1V0ZjgoaGFzaCk7XG4gICAgcmV0dXJuIGhhc2hTdHI7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsic2hhMjU2IiwiYnl0ZXNUb1V0ZjgiLCJjb25jYXQiLCJ1dGY4VG9CeXRlcyIsIm1lc3NhZ2VIYXNoIiwicHVic3ViVG9waWMiLCJtZXNzYWdlIiwicHVic3ViVG9waWNCeXRlcyIsImNvbnRlbnRUb3BpY0J5dGVzIiwiY29udGVudFRvcGljIiwiYnl0ZXMiLCJtZXRhIiwicGF5bG9hZCIsIm1lc3NhZ2VIYXNoU3RyIiwiaGFzaCIsImhhc2hTdHIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/message-hash/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/filter.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/filter.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterRequest: () => (/* binding */ FilterRequest),\n/* harmony export */ FilterRpc: () => (/* binding */ FilterRpc),\n/* harmony export */ MessagePush: () => (/* binding */ MessagePush),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar FilterRequest;\n(function(FilterRequest) {\n let ContentFilter;\n (function(ContentFilter) {\n let _codec;\n ContentFilter.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(10);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.contentTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n ContentFilter.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, ContentFilter.codec());\n };\n ContentFilter.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, ContentFilter.codec(), opts);\n };\n })(ContentFilter = FilterRequest.ContentFilter || (FilterRequest.ContentFilter = {}));\n let _codec;\n FilterRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.subscribe != null && obj.subscribe !== false) {\n w.uint32(8);\n w.bool(obj.subscribe);\n }\n if (obj.topic != null && obj.topic !== \"\") {\n w.uint32(18);\n w.string(obj.topic);\n }\n if (obj.contentFilters != null) {\n for (const value of obj.contentFilters){\n w.uint32(26);\n FilterRequest.ContentFilter.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n subscribe: false,\n topic: \"\",\n contentFilters: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.subscribe = reader.bool();\n break;\n }\n case 2:\n {\n obj.topic = reader.string();\n break;\n }\n case 3:\n {\n if (opts.limits?.contentFilters != null && obj.contentFilters.length === opts.limits.contentFilters) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"contentFilters\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.contentFilters.push(FilterRequest.ContentFilter.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.contentFilters$\n }));\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterRequest.codec());\n };\n FilterRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterRequest.codec(), opts);\n };\n})(FilterRequest || (FilterRequest = {}));\nvar MessagePush;\n(function(MessagePush) {\n let _codec;\n MessagePush.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.messages != null) {\n for (const value of obj.messages){\n w.uint32(10);\n WakuMessage.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n messages: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"messages\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.messages.push(WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.messages$\n }));\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n MessagePush.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, MessagePush.codec());\n };\n MessagePush.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, MessagePush.codec(), opts);\n };\n})(MessagePush || (MessagePush = {}));\nvar FilterRpc;\n(function(FilterRpc) {\n let _codec;\n FilterRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.request != null) {\n w.uint32(18);\n FilterRequest.codec().encode(obj.request, w);\n }\n if (obj.push != null) {\n w.uint32(26);\n MessagePush.codec().encode(obj.push, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.request = FilterRequest.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.request\n });\n break;\n }\n case 3:\n {\n obj.push = MessagePush.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.push\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterRpc.codec());\n };\n FilterRpc.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterRpc.codec(), opts);\n };\n})(FilterRpc || (FilterRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9maWx0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDMkI7QUFDdEI7QUFDdEQsSUFBSU0sY0FBYztBQUN4QixVQUFVQSxhQUFhO0lBQ3BCLElBQUlDO0lBQ0gsVUFBVUEsYUFBYTtRQUNwQixJQUFJQztRQUNKRCxjQUFjRSxLQUFLLEdBQUc7WUFDbEIsSUFBSUQsVUFBVSxNQUFNO2dCQUNoQkEsU0FBU0wsd0RBQU9BLENBQUMsQ0FBQ08sS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7b0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO3dCQUNoQ0YsRUFBRUcsSUFBSTtvQkFDVjtvQkFDQSxJQUFLSixJQUFJSyxZQUFZLElBQUksUUFBUUwsSUFBSUssWUFBWSxLQUFLLElBQUs7d0JBQ3ZESixFQUFFSyxNQUFNLENBQUM7d0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSUssWUFBWTtvQkFDN0I7b0JBQ0EsSUFBSUgsS0FBS0MsZUFBZSxLQUFLLE9BQU87d0JBQ2hDRixFQUFFTyxNQUFNO29CQUNaO2dCQUNKLEdBQUcsQ0FBQ0MsUUFBUUMsUUFBUVIsT0FBTyxDQUFDLENBQUM7b0JBQ3pCLE1BQU1GLE1BQU07d0JBQ1JLLGNBQWM7b0JBQ2xCO29CQUNBLE1BQU1NLE1BQU1ELFVBQVUsT0FBT0QsT0FBT0csR0FBRyxHQUFHSCxPQUFPSSxHQUFHLEdBQUdIO29CQUN2RCxNQUFPRCxPQUFPSSxHQUFHLEdBQUdGLElBQUs7d0JBQ3JCLE1BQU1HLE1BQU1MLE9BQU9ILE1BQU07d0JBQ3pCLE9BQVFRLFFBQVE7NEJBQ1osS0FBSztnQ0FBRztvQ0FDSmQsSUFBSUssWUFBWSxHQUFHSSxPQUFPRixNQUFNO29DQUNo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QUFlbkMsS0FBSyxHQUFHa0IsTUFBTSxDQUFDUixRQUFRQSxPQUFPSCxNQUFNLElBQUk7b0NBQ3hFa0IsUUFBUXRCLEtBQUtzQixNQUFNLEVBQUV5QjtnQ0FDekI7Z0NBQ0E7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTGpELElBQUlrRCxTQUFTLEdBQUd6QyxPQUFPVyxJQUFJO2dDQUMzQjs0QkFDSjt3QkFDQTs0QkFBUztnQ0FDTFgsT0FBT00sUUFBUSxDQUFDRCxNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPZDtZQUNYO1FBQ0o7UUFDQSxPQUFPRjtJQUNYO0lBQ0ErQixZQUFZYixNQUFNLEdBQUcsQ0FBQ2hCO1FBQ2xCLE9BQU9SLDhEQUFhQSxDQUFDUSxLQUFLNkIsWUFBWTlCLEtBQUs7SUFDL0M7SUFDQThCLFlBQVlaLE1BQU0sR0FBRyxDQUFDQyxLQUFLaEI7UUFDdkIsT0FBT1gsOERBQWFBLENBQUMyQixLQUFLVyxZQUFZOUIsS0FBSyxJQUFJRztJQUNuRDtBQUNKLEdBQUcyQixlQUFnQkEsQ0FBQUEsY0FBYyxDQUFDLEtBQ2xDLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9nZW5lcmF0ZWQvZmlsdGVyLmpzPzEyNDYiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBDb2RlRXJyb3IsIGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuaW1wb3J0IHsgYWxsb2MgYXMgdWludDhBcnJheUFsbG9jIH0gZnJvbSAndWludDhhcnJheXMvYWxsb2MnO1xuZXhwb3J0IHZhciBGaWx0ZXJSZXF1ZXN0O1xuKGZ1bmN0aW9uIChGaWx0ZXJSZXF1ZXN0KSB7XG4gICAgbGV0IENvbnRlbnRGaWx0ZXI7XG4gICAgKGZ1bmN0aW9uIChDb250ZW50RmlsdGVyKSB7XG4gICAgICAgIGxldCBfY29kZWM7XG4gICAgICAgIENvbnRlbnRGaWx0ZXIuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoKG9iai5jb250ZW50VG9waWMgIT0gbnVsbCAmJiBvYmouY29udGVudFRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICAgICAgfTtcbiAgICAgICAgQ29udGVudEZpbHRlci5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIENvbnRlbnRGaWx0ZXIuY29kZWMoKSk7XG4gICAgICAgIH07XG4gICAgICAgIENvbnRlbnRGaWx0ZXIuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBDb250ZW50RmlsdGVyLmNvZGVjKCksIG9wdHMpO1xuICAgICAgICB9O1xuICAgIH0pKENvbnRlbnRGaWx0ZXIgPSBGaWx0ZXJSZXF1ZXN0LkNvbnRlbnRGaWx0ZXIgfHwgKEZpbHRlclJlcXVlc3QuQ29udGVudEZpbHRlciA9IHt9KSk7XG4gICAgbGV0IF9jb2RlYztcbiAgICBGaWx0ZXJSZXF1ZXN0LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc3Vic2NyaWJlICE9IG51bGwgJiYgb2JqLnN1YnNjcmliZSAhPT0gZmFsc2UpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLnN1YnNjcmliZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnRvcGljICE9IG51bGwgJiYgb2JqLnRvcGljICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoudG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmNvbnRlbnRGaWx0ZXJzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmouY29udGVudEZpbHRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlclJlcXVlc3QuQ29udGVudEZpbHRlci5jb2RlYygpLmVuY29kZSh2YWx1ZSwgdyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB0b3BpYzogJycsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRGaWx0ZXJzOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc3Vic2NyaWJlID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai50b3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxpbWl0cz8uY29udGVudEZpbHRlcnMgIT0gbnVsbCAmJiBvYmouY29udGVudEZpbHRlcnMubGVuZ3RoID09PSBvcHRzLmxpbWl0cy5jb250ZW50RmlsdGVycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdkZWNvZGUgZXJyb3IgLSBtYXAgZmllbGQgXCJjb250ZW50RmlsdGVyc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudEZpbHRlcnMucHVzaChGaWx0ZXJSZXF1ZXN0LkNvbnRlbnRGaWx0ZXIuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8uY29udGVudEZpbHRlcnMkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEZpbHRlclJlcXVlc3QuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIEZpbHRlclJlcXVlc3QuY29kZWMoKSk7XG4gICAgfTtcbiAgICBGaWx0ZXJSZXF1ZXN0LmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBGaWx0ZXJSZXF1ZXN0LmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShGaWx0ZXJSZXF1ZXN0IHx8IChGaWx0ZXJSZXF1ZXN0ID0ge30pKTtcbmV4cG9ydCB2YXIgTWVzc2FnZVB1c2g7XG4oZnVuY3Rpb24gKE1lc3NhZ2VQdXNoKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBNZXNzYWdlUHVzaC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWVzc2FnZXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5tZXNzYWdlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgV2FrdU1lc3NhZ2UuY29kZWMoKS5lbmNvZGUodmFsdWUsIHcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXM6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxpbWl0cz8ubWVzc2FnZXMgIT0gbnVsbCAmJiBvYmoubWVzc2FnZXMubGVuZ3RoID09PSBvcHRzLmxpbWl0cy5tZXNzYWdlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdkZWNvZGUgZXJyb3IgLSBtYXAgZmllbGQgXCJtZXNzYWdlc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVzc2FnZXMucHVzaChXYWt1TWVzc2FnZS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5tZXNzYWdlcyRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgTWVzc2FnZVB1c2guZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIE1lc3NhZ2VQdXNoLmNvZGVjKCkpO1xuICAgIH07XG4gICAgTWVzc2FnZVB1c2guZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIE1lc3NhZ2VQdXNoLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShNZXNzYWdlUHVzaCB8fCAoTWVzc2FnZVB1c2ggPSB7fSkpO1xuZXhwb3J0IHZhciBGaWx0ZXJScGM7XG4oZnVuY3Rpb24gKEZpbHRlclJwYykge1xuICAgIGxldCBfY29kZWM7XG4gICAgRmlsdGVyUnBjLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmVxdWVzdElkICE9IG51bGwgJiYgb2JqLnJlcXVlc3RJZCAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmVxdWVzdCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgRmlsdGVyUmVxdWVzdC5jb2RlYygpLmVuY29kZShvYmoucmVxdWVzdCwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucHVzaCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVB1c2guY29kZWMoKS5lbmNvZGUob2JqLnB1c2gsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RJZDogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3RJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yZXF1ZXN0ID0gRmlsdGVyUmVxdWVzdC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5yZXF1ZXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHVzaCA9IE1lc3NhZ2VQdXNoLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnB1c2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBGaWx0ZXJScGMuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIEZpbHRlclJwYy5jb2RlYygpKTtcbiAgICB9O1xuICAgIEZpbHRlclJwYy5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgRmlsdGVyUnBjLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShGaWx0ZXJScGMgfHwgKEZpbHRlclJwYyA9IHt9KSk7XG5leHBvcnQgdmFyIFJhdGVMaW1pdFByb29mO1xuKGZ1bmN0aW9uIChSYXRlTGltaXRQcm9vZikge1xuICAgIGxldCBfY29kZWM7XG4gICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wcm9vZiAhPSBudWxsICYmIG9iai5wcm9vZi5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wcm9vZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm1lcmtsZVJvb3QgIT0gbnVsbCAmJiBvYmoubWVya2xlUm9vdC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5tZXJrbGVSb290KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouZXBvY2ggIT0gbnVsbCAmJiBvYmouZXBvY2guYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouZXBvY2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVggIT0gbnVsbCAmJiBvYmouc2hhcmVYLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWSAhPSBudWxsICYmIG9iai5zaGFyZVkuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDQyKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVZKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubnVsbGlmaWVyICE9IG51bGwgJiYgb2JqLm51bGxpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5udWxsaWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5ybG5JZGVudGlmaWVyICE9IG51bGwgJiYgb2JqLnJsbklkZW50aWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDU4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucmxuSWRlbnRpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvb2Y6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgbWVya2xlUm9vdDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVg6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVZOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBybG5JZGVudGlmaWVyOiB1aW50OEFycmF5QWxsb2MoMClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnByb29mID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwb2NoID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVYID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVsbGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmxuSWRlbnRpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBheWxvYWQgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudGltZXN0YW1wID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmF0ZUxpbWl0UHJvb2ZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1lc3NhZ2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1lc3NhZ2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFdha3VNZXNzYWdlIHx8IChXYWt1TWVzc2FnZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1maWx0ZXIuanMubWFwIl0sIm5hbWVzIjpbIkNvZGVFcnJvciIsImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwibWVzc2FnZSIsImFsbG9jIiwidWludDhBcnJheUFsbG9jIiwiRmlsdGVyUmVxdWVzdCIsIkNvbnRlbnRGaWx0ZXIiLCJfY29kZWMiLCJjb2RlYyIsIm9iaiIsInciLCJvcHRzIiwibGVuZ3RoRGVsaW1pdGVkIiwiZm9yayIsImNvbnRlbnRUb3BpYyIsInVpbnQzMiIsInN0cmluZyIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsImVuZCIsImxlbiIsInBvcyIsInRhZyIsInNraXBUeXBlIiwiZW5jb2RlIiwiZGVjb2RlIiwiYnVmIiwic3Vic2NyaWJlIiwiYm9vbCIsInRvcGljIiwiY29udGVudEZpbHRlcnMiLCJ2YWx1ZSIsImxpbWl0cyIsInB1c2giLCJjb250ZW50RmlsdGVycyQiLCJNZXNzYWdlUHVzaCIsIm1lc3NhZ2VzIiwiV2FrdU1lc3NhZ2UiLCJtZXNzYWdlcyQiLCJGaWx0ZXJScGMiLCJyZXF1ZXN0SWQiLCJyZXF1ZXN0IiwiUmF0ZUxpbWl0UHJvb2YiLCJwcm9vZiIsImJ5dGVMZW5ndGgiLCJieXRlcyIsIm1lcmtsZVJvb3QiLCJlcG9jaCIsInNoYXJlWCIsInNoYXJlWSIsIm51bGxpZmllciIsInJsbklkZW50aWZpZXIiLCJwYXlsb2FkIiwidmVyc2lvbiIsInRpbWVzdGFtcCIsInNpbnQ2NCIsIm1ldGEiLCJyYXRlTGltaXRQcm9vZiIsImVwaGVtZXJhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/filter.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/filter_v2.js":
/*!*************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/filter_v2.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FilterSubscribeRequest: () => (/* binding */ FilterSubscribeRequest),\n/* harmony export */ FilterSubscribeResponse: () => (/* binding */ FilterSubscribeResponse),\n/* harmony export */ MessagePush: () => (/* binding */ MessagePush),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar FilterSubscribeRequest;\n(function(FilterSubscribeRequest) {\n let FilterSubscribeType;\n (function(FilterSubscribeType) {\n FilterSubscribeType[\"SUBSCRIBER_PING\"] = \"SUBSCRIBER_PING\";\n FilterSubscribeType[\"SUBSCRIBE\"] = \"SUBSCRIBE\";\n FilterSubscribeType[\"UNSUBSCRIBE\"] = \"UNSUBSCRIBE\";\n FilterSubscribeType[\"UNSUBSCRIBE_ALL\"] = \"UNSUBSCRIBE_ALL\";\n })(FilterSubscribeType = FilterSubscribeRequest.FilterSubscribeType || (FilterSubscribeRequest.FilterSubscribeType = {}));\n let __FilterSubscribeTypeValues;\n (function(__FilterSubscribeTypeValues) {\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"SUBSCRIBER_PING\"] = 0] = \"SUBSCRIBER_PING\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"SUBSCRIBE\"] = 1] = \"SUBSCRIBE\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"UNSUBSCRIBE\"] = 2] = \"UNSUBSCRIBE\";\n __FilterSubscribeTypeValues[__FilterSubscribeTypeValues[\"UNSUBSCRIBE_ALL\"] = 3] = \"UNSUBSCRIBE_ALL\";\n })(__FilterSubscribeTypeValues || (__FilterSubscribeTypeValues = {}));\n (function(FilterSubscribeType) {\n FilterSubscribeType.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__FilterSubscribeTypeValues);\n };\n })(FilterSubscribeType = FilterSubscribeRequest.FilterSubscribeType || (FilterSubscribeRequest.FilterSubscribeType = {}));\n let _codec;\n FilterSubscribeRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.filterSubscribeType != null && __FilterSubscribeTypeValues[obj.filterSubscribeType] !== 0) {\n w.uint32(16);\n FilterSubscribeRequest.FilterSubscribeType.codec().encode(obj.filterSubscribeType, w);\n }\n if (obj.pubsubTopic != null) {\n w.uint32(82);\n w.string(obj.pubsubTopic);\n }\n if (obj.contentTopics != null) {\n for (const value of obj.contentTopics){\n w.uint32(90);\n w.string(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\",\n filterSubscribeType: FilterSubscribeType.SUBSCRIBER_PING,\n contentTopics: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.filterSubscribeType = FilterSubscribeRequest.FilterSubscribeType.codec().decode(reader);\n break;\n }\n case 10:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n case 11:\n {\n if (opts.limits?.contentTopics != null && obj.contentTopics.length === opts.limits.contentTopics) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"contentTopics\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.contentTopics.push(reader.string());\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterSubscribeRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterSubscribeRequest.codec());\n };\n FilterSubscribeRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterSubscribeRequest.codec(), opts);\n };\n})(FilterSubscribeRequest || (FilterSubscribeRequest = {}));\nvar FilterSubscribeResponse;\n(function(FilterSubscribeResponse) {\n let _codec;\n FilterSubscribeResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.statusCode != null && obj.statusCode !== 0) {\n w.uint32(80);\n w.uint32(obj.statusCode);\n }\n if (obj.statusDesc != null) {\n w.uint32(90);\n w.string(obj.statusDesc);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\",\n statusCode: 0\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 10:\n {\n obj.statusCode = reader.uint32();\n break;\n }\n case 11:\n {\n obj.statusDesc = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n FilterSubscribeResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, FilterSubscribeResponse.codec());\n };\n FilterSubscribeResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, FilterSubscribeResponse.codec(), opts);\n };\n})(FilterSubscribeResponse || (FilterSubscribeResponse = {}));\nvar MessagePush;\n(function(MessagePush) {\n let _codec;\n MessagePush.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.wakuMessage != null) {\n w.uint32(10);\n WakuMessage.codec().encode(obj.wakuMessage, w);\n }\n if (obj.pubsubTopic != null) {\n w.uint32(18);\n w.string(obj.pubsubTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.wakuMessage = WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.wakuMessage\n });\n break;\n }\n case 2:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n MessagePush.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, MessagePush.codec());\n };\n MessagePush.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, MessagePush.codec(), opts);\n };\n})(MessagePush || (MessagePush = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=filter_v2.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9maWx0ZXJfdjIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLGdDQUFnQyxHQUNoQyw2QkFBNkIsR0FDN0Isa0RBQWtELEdBQ2xELDRFQUE0RSxHQUM1RSx3REFBd0QsR0FDd0M7QUFDbkM7QUFDdEQsSUFBSU8sdUJBQXVCO0FBQ2pDLFVBQVVBLHNCQUFzQjtJQUM3QixJQUFJQztJQUNILFVBQVVBLG1CQUFtQjtRQUMxQkEsbUJBQW1CLENBQUMsa0JBQWtCLEdBQUc7UUFDekNBLG1CQUFtQixDQUFDLFlBQVksR0FBRztRQUNuQ0EsbUJBQW1CLENBQUMsY0FBYyxHQUFHO1FBQ3JDQSxtQkFBbUIsQ0FBQyxrQkFBa0IsR0FBRztJQUM3QyxHQUFHQSxzQkFBc0JELHVCQUF1QkMsbUJBQW1CLElBQUtELENBQUFBLHVCQUF1QkMsbUJBQW1CLEdBQUcsQ0FBQztJQUN0SCxJQUFJQztJQUNILFVBQVVBLDJCQUEyQjtRQUNsQ0EsMkJBQTJCLENBQUNBLDJCQUEyQixDQUFDLGtCQUFrQixHQUFHLEVBQUUsR0FBRztRQUNsRkEsMkJBQTJCLENBQUNBLDJCQUEyQixDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUc7UUFDNUVBLDJCQUEyQixDQUFDQSwyQkFBMkIsQ0FBQyxjQUFjLEdBQUcsRUFBRSxHQUFHO1FBQzlFQSwyQkFBMkIsQ0FBQ0EsMkJBQTJCLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxHQUFHO0lBQ3RGLEdBQUdBLCtCQUFnQ0EsQ0FBQUEsOEJBQThCLENBQUM7SUFDakUsVUFBVUQsbUJBQW1CO1FBQzFCQSxvQkFBb0JFLEtBQUssR0FBRztZQUN4QixPQUFPUCw0REFBV0EsQ0FBQ007UUFDdkI7SUFDSixHQUFHRCxzQkFBc0JELHVCQUF1QkMsbUJBQW1CLElBQUtELENBQUFBLHVCQUF1QkMsbUJBQW1CLEdBQUcsQ0FBQztJQUN0SCxJQUFJRztJQUNKSix1QkFBdUJHLEtBQUssR0FBRztRQUMzQixJQUFJQyxVQUFVLE1BQU07WUFDaEJBLFNBQVNQLHdEQUFPQSxDQUFDLENBQUNRLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSUssU0FBUyxJQUFJLFFBQVFMLElBQUlLLFNBQVMsS0FBSyxJQUFLO29CQUNqREosRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFTSxNQUFNLENBQUNQLElBQUlLLFNBQVM7Z0JBQzFCO2dCQUNBLElBQUlMLElBQUlRLG1CQUFtQixJQUFJLFFBQVFYLDJCQUEyQixDQUFDRyxJQUFJUSxtQkFBbUIsQ0FBQyxLQUFLLEdBQUc7b0JBQy9GUCxFQUFFSyxNQUFNLENBQUM7b0JBQ1RYLHVCQUF1QkMsbUJBQW1CLENBQUNFLEtBQUssR0FBR1csTUFBTSxDQUFDVCxJQUFJUSxtQkFBbUIsRUFBRVA7Z0JBQ3ZGO2dCQUNBLElBQUlELElBQUlVLFdBQVcsSUFBSSxNQUFNO29CQUN6QlQsRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFTSxNQUFNLENBQUNQLElBQUlVLFdBQVc7Z0JBQzVCO2dCQUNBLElBQUlWLElBQUlXLGFBQWEsSUFBSSxNQUFNO29CQUMzQixLQUFLLE1BQU1DLFNBQVNaLElBQUlXLGFBQWEsQ0FBRTt3QkFDbkNWLEVBQUVLLE1BQU0sQ0FBQzt3QkFDVEwsRUFBRU0sTUFBTSxDQUFDSztvQkFDYjtnQkFDSjtnQkFDQSxJQUFJVixLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVZLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFiLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSSyxXQUFXO29CQUNYRyxxQkFBcUJaLG9CQUFvQm9CLGVBQWU7b0JBQ3hETCxlQUFlLEVBQUU7Z0JBQ3JCO2dCQUNBLE1BQU1NLE1BQU1GLFVBQVUsT0FBT0QsT0FBT0ksR0FBRyxHQUFHSixPQUFPSyxHQUFHLEdBQUdKO2dCQUN2RCxNQUFPRCxPQUFPSyxHQUFHLEdBQUdGLElBQUs7b0JBQ3JCLE1BQU1HLE1BQU1OLE9BQU9SLE1BQU07b0JBQ3pCLE9BQVFjLFFBQVE7d0JBQ1osS0FBSzs0QkFBRztnQ0FDSnBCLElBQUlLLFNBQVMsR0FBR1MsT0FBT1AsTUFBTTtnQ0FDN0I7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBRztnQ0FDSlAsSUFBSVEsbUJBQW1CLEdBQUdiLHVCQUF1QkMsbUJBQW1CLENBQUNFLEtBQUssR0FBR3VCLE1BQU0sQ0FBQ1A7Z0NBQ3BGOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUk7Z0NBQ0xkLElBQUlVLFdBQVcsR0FBR0ksT0FBT1AsTUFBTTtnQ0FDL0I7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTCxJQUFJTCxLQUFLb0IsTUFBTSxFQUFFWCxpQkFBaUIsUUFBUVgsSUFBSVcsYUFBYSxDQUFDSSxNQUFNLEtBQUtiLEtBQUtvQixNQUFNLENBQUNYLGFBQWEsRUFBRTtvQ0FDOUYsTUFBTSxJQUFJdkIsc0RBQVNBLENBQUMsa0VBQWtFO2dDQUMxRjtnQ0FDQVksSUFBSVcsYUFBYSxDQUFDWSxJQUFJLENBQUNULE9BQU9QLE1BQU07Z0NBQ3BDOzRCQUNKO3dCQUNBOzRCQUFTO2dDQUNMTyxPQUFPVSxRQUFRLENBQUNKLE1BQU07Z0NBQ3RCOzRCQUNKO29CQUNKO2dCQUNKO2dCQUNBLE9BQU9wQjtZQUNYO1FBQ0o7UUFDQSxPQUFPRDtJQUNYO0lBQ0FKLHVCQUF1QmMsTUFBTSxHQUFHLENBQUNUO1FBQzdCLE9BQU9WLDhEQUFhQSxDQUFDVSxLQUFLTCx1QkFBdUJHLEtBQUs7SUFDMUQ7SUFDQUgsdUJBQXVCMEIsTUFBTSxHQUFHLENBQUNJLEtBQUt2QjtRQUNsQyxPQUFPYiw4REFBYUEsQ0FBQ29DLEtBQUs5Qix1QkFBdUJHLEtBQUssSUFBSUk7SUFDOUQ7QUFDSixHQUFHUCwwQkFBMkJBLENBQUFBLHlCQUF5QixDQUFDO0FBQ2pELElBQUkrQix3QkFBd0I7QUFDbEMsVUFBVUEsdUJBQXVCO0lBQzlCLElBQUkzQjtJQUNKMkIsd0JBQXdCNUIsS0FBSyxHQUFHO1FBQzVCLElBQUlDLFVBQVUsTUFBTTtZQUNoQkEsU0FBU1Asd0RBQU9BLENBQUMsQ0FBQ1EsS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFLSixJQUFJSyxTQUFTLElBQUksUUFBUUwsSUFBSUssU0FBUyxLQUFLLElBQUs7b0JBQ2pESixFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSUssU0FBUztnQkFDMUI7Z0JBQ0EsSUFBS0wsSUFBSTJCLFVBQVUsSUFBSSxRQUFRM0IsSUFBSTJCLFVBQVUsS0FBSyxHQUFJO29CQUNsRDFCLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRUssTUFBTSxDQUFDTixJQUFJMkIsVUFBVTtnQkFDM0I7Z0JBQ0EsSUFBSTNCLElBQUk0QixVQUFVLElBQUksTUFBTTtvQkFDeEIzQixFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSTRCLFVBQVU7Z0JBQzNCO2dCQUNBLElBQUkxQixLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVZLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFiLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSSyxXQUFXO29CQUNYc0IsWUFBWTtnQkFDaEI7Z0JBQ0EsTUFBTVYsTUFBTUYsVUFBVSxPQUFPRCxPQUFPSSxHQUFHLEdBQUdKLE9BQU9LLEdBQUcsR0FBR0o7Z0JBQ3ZELE1BQU9ELE9BQU9LLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFBTUcsTUFBTU4sT0FBT1IsTUFBTTtvQkFDekIsT0FBUWMsUUFBUTt3QkFDWixLQUFLOzRCQUFHO2dDQUNKcEIsSUFBSUssU0FBUyxHQUFHUyxPQUFPUCxNQUFNO2dDQUM3Qjs0QkFDSjt3QkFDQSxLQUFLOzRCQUFJO2dDQUNMUCxJQUFJMkIsVUFBVSxHQUFHYixPQUFPUixNQUFNO2dDQUM5Qjs0QkFDSjt3QkFDQSxLQUFLOzRCQUFJO2dDQUNMTixJQUFJNEIsVUFBVSxHQUFHZCxPQUFPUCxNQUFNO2dDQUM5Qjs0QkFDSjt3QkFDQTs0QkFBUztnQ0FDTE8sT0FBT1UsUUFBUSxDQUFDSixNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPcEI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Q7SUFDWDtJQUNBMkIsd0JBQXdCakIsTUFBTSxHQUFHLENBQUNUO1FBQzlCLE9BQU9WLDhEQUFhQSxDQUFDVSxLQUFLMEIsd0JBQXdCNUIsS0FBSztJQUMzRDtJQUNBNEIsd0JBQXdCTCxNQUFNLEdBQUcsQ0FBQ0ksS0FBS3ZCO1FBQ25DLE9BQU9iLDhEQUFhQSxDQUFDb0MsS0FBS0Msd0JBQXdCNUIsS0FBSyxJQUFJSTtJQUMvRDtBQUNKLEdBQUd3QiwyQkFBNEJBLENBQUFBLDBCQUEwQixDQUFDO0FBQ25ELElBQUlHLFlBQVk7QUFDdEIsVUFBVUEsV0FBVztJQUNsQixJQUFJOUI7SUFDSjhCLFlBQVkvQixLQUFLLEdBQUc7UUFDaEIsSUFBSUMsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTUCx3REFBT0EsQ0FBQyxDQUFDUSxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUlKLElBQUk4QixXQUFXLElBQUksTUFBTTtvQkFDekI3QixFQUFFSyxNQUFNLENBQUM7b0JBQ1R5QixZQUFZakMsS0FBSyxHQUFHVyxNQUFNLENBQUNULElBQUk4QixXQUFXLEVBQUU3QjtnQkFDaEQ7Z0JBQ0EsSUFBSUQsSUFBSVUsV0FBVyxJQUFJLE1BQU07b0JBQ3pCVCxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSVUsV0FBVztnQkFDNUI7Z0JBQ0EsSUFBSVIsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFWSxNQUFNO2dCQUNaO1lBQ0osR0FBRyxDQUFDQyxRQUFRQyxRQUFRYixPQUFPLENBQUMsQ0FBQztnQkFDekIsTUFBTUYsTUFBTSxDQUFDO2dCQUNiLE1BQU1pQixNQUFNRixVQUFVLE9BQU9ELE9BQU9JLEdBQUcsR0FBR0osT0FBT0ssR0FBRyxHQUFHSjtnQkFDdkQsTUFBT0QsT0FBT0ssR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTixPQUFPUixNQUFNO29CQUN6QixPQUFRYyxRQUFRO3dCQUNaLEtBQUs7NEJBQUc7Z0NBQ0pwQixJQUFJOEIsV0FBVyxHQUFHQyxZQUFZakMsS0FBSyxHQUFHdUIsTUFBTSxDQUFDUCxRQUFRQSxPQUFPUixNQUFNLElBQUk7b0NBQ2xFZ0IsUUFBUXBCLEtBQUtvQixNQUFNLEVBQUVRO2dDQUN6QjtnQ0FDQTs0QkFDSjt3QkFDQSxLQUFLOzRCQUFHO2dDQUNKOUIsSUFBSVUsV0FBVyxHQUFHSSxPQUFPUCxNQUFNO2dDQUMvQjs0QkFDSjt3QkFDQTs0QkFBUztnQ0FDTE8sT0FBT1UsUUFBUSxDQUFDSixNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPcEI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Q7SUFDWDtJQUNBOEIsWUFBWXBCLE1BQU0sR0FBRyxDQUFDVDtRQUNsQixPQUFPViw4REFBYUEsQ0FBQ1UsS0FBSzZCLFlBQVkvQixLQUFLO0lBQy9DO0lBQ0ErQixZQUFZUixNQUFNLEdBQUcsQ0FBQ0ksS0FBS3ZCO1FBQ3ZCLE9BQU9iLDhEQUFhQSxDQUFDb0MsS0FBS0ksWUFBWS9CLEtBQUssSUFBSUk7SUFDbkQ7QUFDSixHQUFHMkIsZUFBZ0JBLENBQUFBLGNBQWMsQ0FBQztBQUMzQixJQUFJRyxlQUFlO0FBQ3pCLFVBQVVBLGNBQWM7SUFDckIsSUFBSWpDO0lBQ0ppQyxlQUFlbEMsS0FBSyxHQUFHO1FBQ25CLElBQUlDLFVBQVUsTUFBTTtZQUNoQkEsU0FBU1Asd0RBQU9BLENBQUMsQ0FBQ1EsS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFLSixJQUFJaUMsS0FBSyxJQUFJLFFBQVFqQyxJQUFJaUMsS0FBSyxDQUFDQyxVQUFVLEdBQUcsR0FBSTtvQkFDakRqQyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVrQyxLQUFLLENBQUNuQyxJQUFJaUMsS0FBSztnQkFDckI7Z0JBQ0EsSUFBS2pDLElBQUlvQyxVQUFVLElBQUksUUFBUXBDLElBQUlvQyxVQUFVLENBQUNGLFVBQVUsR0FBRyxHQUFJO29CQUMzRGpDLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRWtDLEtBQUssQ0FBQ25DLElBQUlvQyxVQUFVO2dCQUMxQjtnQkFDQSxJQUFLcEMsSUFBSXFDLEtBQUssSUFBSSxRQUFRckMsSUFBSXFDLEtBQUssQ0FBQ0gsVUFBVSxHQUFHLEdBQUk7b0JBQ2pEakMsRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFa0MsS0FBSyxDQUFDbkMsSUFBSXFDLEtBQUs7Z0JBQ3JCO2dCQUNBLElBQUtyQyxJQUFJc0MsTUFBTSxJQUFJLFFBQVF0QyxJQUFJc0MsTUFBTSxDQUFDSixVQUFVLEdBQUcsR0FBSTtvQkFDbkRqQyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVrQyxLQUFLLENBQUNuQyxJQUFJc0MsTUFBTTtnQkFDdEI7Z0JBQ0EsSUFBS3RDLElBQUl1QyxNQUFNLElBQUksUUFBUXZDLElBQUl1QyxNQUFNLENBQUNMLFVBQVUsR0FBRyxHQUFJO29CQUNuRGpDLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRWtDLEtBQUssQ0FBQ25DLElBQUl1QyxNQUFNO2dCQUN0QjtnQkFDQSxJQUFLdkMsSUFBSXdDLFNBQVMsSUFBSSxRQUFReEMsSUFBSXdDLFNBQVMsQ0FBQ04sVUFBVSxHQUFHLEdBQUk7b0JBQ3pEakMsRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFa0MsS0FBSyxDQUFDbkMsSUFBSXdDLFNBQVM7Z0JBQ3pCO2dCQUNBLElBQUt4QyxJQUFJeUMsYUFBYSxJQUFJLFFBQVF6QyxJQUFJeUMsYUFBYSxDQUFDUCxVQUFVLEdBQUcsR0FBSTtvQkFDakVqQyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVrQyxLQUFLLENBQUNuQyxJQUFJeUMsYUFBYTtnQkFDN0I7Z0JBQ0EsSUFBSXZDLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRVksTUFBTTtnQkFDWjtZQUNKLEdBQUcsQ0FBQ0MsUUFBUUMsUUFBUWIsT0FBTyxDQUFDLENBQUM7Z0JBQ3pCLE1BQU1GLE1BQU07b0JBQ1JpQyxPQUFPdkMsd0RBQWVBLENBQUM7b0JBQ3ZCMEMsWUFBWTFDLHdEQUFlQSxDQUFDO29CQUM1QjJDLE9BQU8zQyx3REFBZUEsQ0FBQztvQkFDdkI0QyxRQUFRNUMsd0RBQWVBLENBQUM7b0JBQ3hCNkMsUUFBUTdDLHdEQUFlQSxDQUFDO29CQUN4QjhDLFdBQVc5Qyx3REFBZUEsQ0FBQztvQkFDM0IrQyxlQUFlL0Msd0RBQWVBLENBQUM7Z0JBQ25DO2dCQUNBLE1BQU11QixNQUFNRixVQUFVLE9BQU9ELE9BQU9JLEdBQUcsR0FBR0osT0FBT0ssR0FBRyxHQUFHSjtnQkFDdkQsTUFBT0QsT0FBT0ssR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTixPQUFPUixNQUFNO29CQUN6QixPQUFRYyxRQUFRO3dCQUNaLEtBQUs7NEJBQUc7Z0NBQ0pwQixJQUFJaUMsS0FBSyxHQUFHbkIsT0FBT3FCLEtBQUs7Z0NBQ3hCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJb0MsVUFBVSxHQUFHdEIsT0FBT3FCLEtBQUs7Z0NBQzdCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJcUMsS0FBSyxHQUFHdkIsT0FBT3FCLEtBQUs7Z0NBQ3hCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJc0MsTUFBTSxHQUFHeEIsT0FBT3FCLEtBQUs7Z0NBQ3pCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJdUMsTUFBTSxHQUFHekIsT0FBT3FCLEtBQUs7Z0NBQ3pCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJd0MsU0FBUyxHQUFHMUIsT0FBT3FCLEtBQUs7Z0NBQzVCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJeUMsYUFBYSxHQUFHM0IsT0FBT3FCLEtBQUs7Z0NBQ2hDOzRCQUNKO3dCQUNBOzRCQUFTO2dDQUNMckIsT0FBT1UsUUFBUSxDQUFDSixNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPcEI7WUFDWDtRQUNKO1FBQ0EsT0FBT0Q7SUFDWDtJQUNBaUMsZUFBZXZCLE1BQU0sR0FBRyxDQUFDVDtRQUNyQixPQUFPViw4REFBYUEsQ0FBQ1UsS0FBS2dDLGVBQWVsQyxLQUFLO0lBQ2xEO0lBQ0FrQyxlQUFlWCxNQUFNLEdBQUcsQ0FBQ0ksS0FBS3ZCO1FBQzFCLE9BQU9iLDhEQUFhQSxDQUFDb0MsS0FBS08sZUFBZWxDLEtBQUssSUFBSUk7SUFDdEQ7QUFDSixHQUFHOEIsa0JBQW1CQSxDQUFBQSxpQkFBaUIsQ0FBQztBQUNqQyxJQUFJRCxZQUFZO0FBQ3RCLFVBQVVBLFdBQVc7SUFDbEIsSUFBSWhDO0lBQ0pnQyxZQUFZakMsS0FBSyxHQUFHO1FBQ2hCLElBQUlDLFVBQVUsTUFBTTtZQUNoQkEsU0FBU1Asd0RBQU9BLENBQUMsQ0FBQ1EsS0FBS0MsR0FBR0MsT0FBTyxDQUFDLENBQUM7Z0JBQy9CLElBQUlBLEtBQUtDLGVBQWUsS0FBSyxPQUFPO29CQUNoQ0YsRUFBRUcsSUFBSTtnQkFDVjtnQkFDQSxJQUFLSixJQUFJMEMsT0FBTyxJQUFJLFFBQVExQyxJQUFJMEMsT0FBTyxDQUFDUixVQUFVLEdBQUcsR0FBSTtvQkFDckRqQyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVrQyxLQUFLLENBQUNuQyxJQUFJMEMsT0FBTztnQkFDdkI7Z0JBQ0EsSUFBSzFDLElBQUkyQyxZQUFZLElBQUksUUFBUTNDLElBQUkyQyxZQUFZLEtBQUssSUFBSztvQkFDdkQxQyxFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLE1BQU0sQ0FBQ1AsSUFBSTJDLFlBQVk7Z0JBQzdCO2dCQUNBLElBQUkzQyxJQUFJNEMsT0FBTyxJQUFJLE1BQU07b0JBQ3JCM0MsRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFSyxNQUFNLENBQUNOLElBQUk0QyxPQUFPO2dCQUN4QjtnQkFDQSxJQUFJNUMsSUFBSTZDLFNBQVMsSUFBSSxNQUFNO29CQUN2QjVDLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRTZDLE1BQU0sQ0FBQzlDLElBQUk2QyxTQUFTO2dCQUMxQjtnQkFDQSxJQUFJN0MsSUFBSStDLElBQUksSUFBSSxNQUFNO29CQUNsQjlDLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRWtDLEtBQUssQ0FBQ25DLElBQUkrQyxJQUFJO2dCQUNwQjtnQkFDQSxJQUFJL0MsSUFBSWdELGNBQWMsSUFBSSxNQUFNO29CQUM1Qi9DLEVBQUVLLE1BQU0sQ0FBQztvQkFDVDBCLGVBQWVsQyxLQUFLLEdBQUdXLE1BQU0sQ0FBQ1QsSUFBSWdELGNBQWMsRUFBRS9DO2dCQUN0RDtnQkFDQSxJQUFJRCxJQUFJaUQsU0FBUyxJQUFJLE1BQU07b0JBQ3ZCaEQsRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFaUQsSUFBSSxDQUFDbEQsSUFBSWlELFNBQVM7Z0JBQ3hCO2dCQUNBLElBQUkvQyxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVZLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFiLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSMEMsU0FBU2hELHdEQUFlQSxDQUFDO29CQUN6QmlELGNBQWM7Z0JBQ2xCO2dCQUNBLE1BQU0xQixNQUFNRixVQUFVLE9BQU9ELE9BQU9JLEdBQUcsR0FBR0osT0FBT0ssR0FBRyxHQUFHSjtnQkFDdkQsTUFBT0QsT0FBT0ssR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTixPQUFPUixNQUFNO29CQUN6QixPQUFRYyxRQUFRO3dCQUNaLEtBQUs7NEJBQUc7Z0NBQ0pwQixJQUFJMEMsT0FBTyxHQUFHNUIsT0FBT3FCLEtBQUs7Z0NBQzFCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUc7Z0NBQ0puQyxJQUFJMkMsWUFBWSxHQUFHN0IsT0FBT1AsTUFBTTtnQ0FDaEM7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBRztnQ0FDSlAsSUFBSTRDLE9BQU8sR0FBRzlCLE9BQU9SLE1BQU07Z0NBQzNCOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUk7Z0NBQ0xOLElBQUk2QyxTQUFTLEdBQUcvQixPQUFPZ0MsTUFBTTtnQ0FDN0I7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTDlDLElBQUkrQyxJQUFJLEdBQUdqQyxPQUFPcUIsS0FBSztnQ0FDdkI7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTG5DLElBQUlnRCxjQUFjLEdBQUdoQixlQUFlbEMsS0FBSyxHQUFHdUIsTUFBTSxDQUFDUCxRQUFRQSxPQUFPUixNQUFNLElBQUk7b0NBQ3hFZ0IsUUFBUXBCLEtBQUtvQixNQUFNLEVBQUUwQjtnQ0FDekI7Z0NBQ0E7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTGhELElBQUlpRCxTQUFTLEdBQUduQyxPQUFPb0MsSUFBSTtnQ0FDM0I7NEJBQ0o7d0JBQ0E7NEJBQVM7Z0NBQ0xwQyxPQUFPVSxRQUFRLENBQUNKLE1BQU07Z0NBQ3RCOzRCQUNKO29CQUNKO2dCQUNKO2dCQUNBLE9BQU9wQjtZQUNYO1FBQ0o7UUFDQSxPQUFPRDtJQUNYO0lBQ0FnQyxZQUFZdEIsTUFBTSxHQUFHLENBQUNUO1FBQ2xCLE9BQU9WLDhEQUFhQSxDQUFDVSxLQUFLK0IsWUFBWWpDLEtBQUs7SUFDL0M7SUFDQWlDLFlBQVlWLE1BQU0sR0FBRyxDQUFDSSxLQUFLdkI7UUFDdkIsT0FBT2IsOERBQWFBLENBQUNvQyxLQUFLTSxZQUFZakMsS0FBSyxJQUFJSTtJQUNuRDtBQUNKLEdBQUc2QixlQUFnQkEsQ0FBQUEsY0FBYyxDQUFDLEtBQ2xDLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9nZW5lcmF0ZWQvZmlsdGVyX3YyLmpzPzYwMmEiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBDb2RlRXJyb3IsIGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIGVudW1lcmF0aW9uLCBtZXNzYWdlIH0gZnJvbSAncHJvdG9ucy1ydW50aW1lJztcbmltcG9ydCB7IGFsbG9jIGFzIHVpbnQ4QXJyYXlBbGxvYyB9IGZyb20gJ3VpbnQ4YXJyYXlzL2FsbG9jJztcbmV4cG9ydCB2YXIgRmlsdGVyU3Vic2NyaWJlUmVxdWVzdDtcbihmdW5jdGlvbiAoRmlsdGVyU3Vic2NyaWJlUmVxdWVzdCkge1xuICAgIGxldCBGaWx0ZXJTdWJzY3JpYmVUeXBlO1xuICAgIChmdW5jdGlvbiAoRmlsdGVyU3Vic2NyaWJlVHlwZSkge1xuICAgICAgICBGaWx0ZXJTdWJzY3JpYmVUeXBlW1wiU1VCU0NSSUJFUl9QSU5HXCJdID0gXCJTVUJTQ1JJQkVSX1BJTkdcIjtcbiAgICAgICAgRmlsdGVyU3Vic2NyaWJlVHlwZVtcIlNVQlNDUklCRVwiXSA9IFwiU1VCU0NSSUJFXCI7XG4gICAgICAgIEZpbHRlclN1YnNjcmliZVR5cGVbXCJVTlNVQlNDUklCRVwiXSA9IFwiVU5TVUJTQ1JJQkVcIjtcbiAgICAgICAgRmlsdGVyU3Vic2NyaWJlVHlwZVtcIlVOU1VCU0NSSUJFX0FMTFwiXSA9IFwiVU5TVUJTQ1JJQkVfQUxMXCI7XG4gICAgfSkoRmlsdGVyU3Vic2NyaWJlVHlwZSA9IEZpbHRlclN1YnNjcmliZVJlcXVlc3QuRmlsdGVyU3Vic2NyaWJlVHlwZSB8fCAoRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5GaWx0ZXJTdWJzY3JpYmVUeXBlID0ge30pKTtcbiAgICBsZXQgX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzO1xuICAgIChmdW5jdGlvbiAoX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzKSB7XG4gICAgICAgIF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbXCJTVUJTQ1JJQkVSX1BJTkdcIl0gPSAwXSA9IFwiU1VCU0NSSUJFUl9QSU5HXCI7XG4gICAgICAgIF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbXCJTVUJTQ1JJQkVcIl0gPSAxXSA9IFwiU1VCU0NSSUJFXCI7XG4gICAgICAgIF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbXCJVTlNVQlNDUklCRVwiXSA9IDJdID0gXCJVTlNVQlNDUklCRVwiO1xuICAgICAgICBfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXNbX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzW1wiVU5TVUJTQ1JJQkVfQUxMXCJdID0gM10gPSBcIlVOU1VCU0NSSUJFX0FMTFwiO1xuICAgIH0pKF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlcyB8fCAoX19GaWx0ZXJTdWJzY3JpYmVUeXBlVmFsdWVzID0ge30pKTtcbiAgICAoZnVuY3Rpb24gKEZpbHRlclN1YnNjcmliZVR5cGUpIHtcbiAgICAgICAgRmlsdGVyU3Vic2NyaWJlVHlwZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbnVtZXJhdGlvbihfX0ZpbHRlclN1YnNjcmliZVR5cGVWYWx1ZXMpO1xuICAgICAgICB9O1xuICAgIH0pKEZpbHRlclN1YnNjcmliZVR5cGUgPSBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUgfHwgKEZpbHRlclN1YnNjcmliZVJlcXVlc3QuRmlsdGVyU3Vic2NyaWJlVHlwZSA9IHt9KSk7XG4gICAgbGV0IF9jb2RlYztcbiAgICBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmVxdWVzdElkICE9IG51bGwgJiYgb2JqLnJlcXVlc3RJZCAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLnJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouZmlsdGVyU3Vic2NyaWJlVHlwZSAhPSBudWxsICYmIF9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlc1tvYmouZmlsdGVyU3Vic2NyaWJlVHlwZV0gIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTYpO1xuICAgICAgICAgICAgICAgICAgICBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LkZpbHRlclN1YnNjcmliZVR5cGUuY29kZWMoKS5lbmNvZGUob2JqLmZpbHRlclN1YnNjcmliZVR5cGUsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnB1YnN1YlRvcGljICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoODIpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmNvbnRlbnRUb3BpY3MgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5jb250ZW50VG9waWNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6ICcnLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJTdWJzY3JpYmVUeXBlOiBGaWx0ZXJTdWJzY3JpYmVUeXBlLlNVQlNDUklCRVJfUElORyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFRvcGljczogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3RJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5maWx0ZXJTdWJzY3JpYmVUeXBlID0gRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5GaWx0ZXJTdWJzY3JpYmVUeXBlLmNvZGVjKCkuZGVjb2RlKHJlYWRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnB1YnN1YlRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxpbWl0cz8uY29udGVudFRvcGljcyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWNzLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMuY29udGVudFRvcGljcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdkZWNvZGUgZXJyb3IgLSBtYXAgZmllbGQgXCJjb250ZW50VG9waWNzXCIgaGFkIHRvbyBtYW55IGVsZW1lbnRzJywgJ0VSUl9NQVhfTEVOR1RIJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWNzLnB1c2gocmVhZGVyLnN0cmluZygpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0LmNvZGVjKCkpO1xuICAgIH07XG4gICAgRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgRmlsdGVyU3Vic2NyaWJlUmVxdWVzdC5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoRmlsdGVyU3Vic2NyaWJlUmVxdWVzdCB8fCAoRmlsdGVyU3Vic2NyaWJlUmVxdWVzdCA9IHt9KSk7XG5leHBvcnQgdmFyIEZpbHRlclN1YnNjcmliZVJlc3BvbnNlO1xuKGZ1bmN0aW9uIChGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5yZXF1ZXN0SWQgIT0gbnVsbCAmJiBvYmoucmVxdWVzdElkICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucmVxdWVzdElkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc3RhdHVzQ29kZSAhPSBudWxsICYmIG9iai5zdGF0dXNDb2RlICE9PSAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4MCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai5zdGF0dXNDb2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5zdGF0dXNEZXNjICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmouc3RhdHVzRGVzYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElkOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzQ29kZTogMFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmVxdWVzdElkID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zdGF0dXNDb2RlID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zdGF0dXNEZXNjID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEZpbHRlclN1YnNjcmliZVJlc3BvbnNlLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIEZpbHRlclN1YnNjcmliZVJlc3BvbnNlLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBGaWx0ZXJTdWJzY3JpYmVSZXNwb25zZS5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UgfHwgKEZpbHRlclN1YnNjcmliZVJlc3BvbnNlID0ge30pKTtcbmV4cG9ydCB2YXIgTWVzc2FnZVB1c2g7XG4oZnVuY3Rpb24gKE1lc3NhZ2VQdXNoKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBNZXNzYWdlUHVzaC5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoud2FrdU1lc3NhZ2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIFdha3VNZXNzYWdlLmNvZGVjKCkuZW5jb2RlKG9iai53YWt1TWVzc2FnZSwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucHVic3ViVG9waWMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5wdWJzdWJUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLndha3VNZXNzYWdlID0gV2FrdU1lc3NhZ2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ud2FrdU1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wdWJzdWJUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBNZXNzYWdlUHVzaC5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgTWVzc2FnZVB1c2guY29kZWMoKSk7XG4gICAgfTtcbiAgICBNZXNzYWdlUHVzaC5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgTWVzc2FnZVB1c2guY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKE1lc3NhZ2VQdXNoIHx8IChNZXNzYWdlUHVzaCA9IHt9KSk7XG5leHBvcnQgdmFyIFJhdGVMaW1pdFByb29mO1xuKGZ1bmN0aW9uIChSYXRlTGltaXRQcm9vZikge1xuICAgIGxldCBfY29kZWM7XG4gICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wcm9vZiAhPSBudWxsICYmIG9iai5wcm9vZi5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wcm9vZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm1lcmtsZVJvb3QgIT0gbnVsbCAmJiBvYmoubWVya2xlUm9vdC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5tZXJrbGVSb290KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouZXBvY2ggIT0gbnVsbCAmJiBvYmouZXBvY2guYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouZXBvY2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVggIT0gbnVsbCAmJiBvYmouc2hhcmVYLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWSAhPSBudWxsICYmIG9iai5zaGFyZVkuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDQyKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVZKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubnVsbGlmaWVyICE9IG51bGwgJiYgb2JqLm51bGxpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5udWxsaWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5ybG5JZGVudGlmaWVyICE9IG51bGwgJiYgb2JqLnJsbklkZW50aWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDU4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucmxuSWRlbnRpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvb2Y6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgbWVya2xlUm9vdDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVg6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVZOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBybG5JZGVudGlmaWVyOiB1aW50OEFycmF5QWxsb2MoMClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnByb29mID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwb2NoID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVYID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVsbGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmxuSWRlbnRpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBheWxvYWQgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudGltZXN0YW1wID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmF0ZUxpbWl0UHJvb2ZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1lc3NhZ2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1lc3NhZ2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFdha3VNZXNzYWdlIHx8IChXYWt1TWVzc2FnZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1maWx0ZXJfdjIuanMubWFwIl0sIm5hbWVzIjpbIkNvZGVFcnJvciIsImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwiZW51bWVyYXRpb24iLCJtZXNzYWdlIiwiYWxsb2MiLCJ1aW50OEFycmF5QWxsb2MiLCJGaWx0ZXJTdWJzY3JpYmVSZXF1ZXN0IiwiRmlsdGVyU3Vic2NyaWJlVHlwZSIsIl9fRmlsdGVyU3Vic2NyaWJlVHlwZVZhbHVlcyIsImNvZGVjIiwiX2NvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwicmVxdWVzdElkIiwidWludDMyIiwic3RyaW5nIiwiZmlsdGVyU3Vic2NyaWJlVHlwZSIsImVuY29kZSIsInB1YnN1YlRvcGljIiwiY29udGVudFRvcGljcyIsInZhbHVlIiwibGRlbGltIiwicmVhZGVyIiwibGVuZ3RoIiwiU1VCU0NSSUJFUl9QSU5HIiwiZW5kIiwibGVuIiwicG9zIiwidGFnIiwiZGVjb2RlIiwibGltaXRzIiwicHVzaCIsInNraXBUeXBlIiwiYnVmIiwiRmlsdGVyU3Vic2NyaWJlUmVzcG9uc2UiLCJzdGF0dXNDb2RlIiwic3RhdHVzRGVzYyIsIk1lc3NhZ2VQdXNoIiwid2FrdU1lc3NhZ2UiLCJXYWt1TWVzc2FnZSIsIlJhdGVMaW1pdFByb29mIiwicHJvb2YiLCJieXRlTGVuZ3RoIiwiYnl0ZXMiLCJtZXJrbGVSb290IiwiZXBvY2giLCJzaGFyZVgiLCJzaGFyZVkiLCJudWxsaWZpZXIiLCJybG5JZGVudGlmaWVyIiwicGF5bG9hZCIsImNvbnRlbnRUb3BpYyIsInZlcnNpb24iLCJ0aW1lc3RhbXAiLCJzaW50NjQiLCJtZXRhIiwicmF0ZUxpbWl0UHJvb2YiLCJlcGhlbWVyYWwiLCJib29sIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/filter_v2.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/light_push.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/light_push.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PushRequest: () => (/* binding */ PushRequest),\n/* harmony export */ PushResponse: () => (/* binding */ PushResponse),\n/* harmony export */ PushRpc: () => (/* binding */ PushRpc),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar PushRequest;\n(function(PushRequest) {\n let _codec;\n PushRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pubsubTopic != null && obj.pubsubTopic !== \"\") {\n w.uint32(10);\n w.string(obj.pubsubTopic);\n }\n if (obj.message != null) {\n w.uint32(18);\n WakuMessage.codec().encode(obj.message, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n pubsubTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n case 2:\n {\n obj.message = WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.message\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushRequest.codec());\n };\n PushRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushRequest.codec(), opts);\n };\n})(PushRequest || (PushRequest = {}));\nvar PushResponse;\n(function(PushResponse) {\n let _codec;\n PushResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.isSuccess != null && obj.isSuccess !== false) {\n w.uint32(8);\n w.bool(obj.isSuccess);\n }\n if (obj.info != null) {\n w.uint32(18);\n w.string(obj.info);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n isSuccess: false\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.isSuccess = reader.bool();\n break;\n }\n case 2:\n {\n obj.info = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushResponse.codec());\n };\n PushResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushResponse.codec(), opts);\n };\n})(PushResponse || (PushResponse = {}));\nvar PushRpc;\n(function(PushRpc) {\n let _codec;\n PushRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.request != null) {\n w.uint32(18);\n PushRequest.codec().encode(obj.request, w);\n }\n if (obj.response != null) {\n w.uint32(26);\n PushResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.request = PushRequest.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.request\n });\n break;\n }\n case 3:\n {\n obj.response = PushResponse.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.response\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PushRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PushRpc.codec());\n };\n PushRpc.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PushRpc.codec(), opts);\n };\n})(PushRpc || (PushRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=light_push.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9saWdodF9wdXNoLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQ2dCO0FBQ1g7QUFDdEQsSUFBSUssWUFBWTtBQUN0QixVQUFVQSxXQUFXO0lBQ2xCLElBQUlDO0lBQ0pELFlBQVlFLEtBQUssR0FBRztRQUNoQixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNKLHdEQUFPQSxDQUFDLENBQUNNLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSUssV0FBVyxJQUFJLFFBQVFMLElBQUlLLFdBQVcsS0FBSyxJQUFLO29CQUNyREosRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFTSxNQUFNLENBQUNQLElBQUlLLFdBQVc7Z0JBQzVCO2dCQUNBLElBQUlMLElBQUlOLE9BQU8sSUFBSSxNQUFNO29CQUNyQk8sRUFBRUssTUFBTSxDQUFDO29CQUNURSxZQUFZVCxLQUFLLEdBQUdVLE1BQU0sQ0FBQ1QsSUFBSU4sT0FBTyxFQUFFTztnQkFDNUM7Z0JBQ0EsSUFBSUMsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFUyxNQUFNO2dCQUNaO1lBQ0osR0FBRyxDQUFDQyxRQUFRQyxRQUFRVixPQUFPLENBQUMsQ0FBQztnQkFDekIsTUFBTUYsTUFBTTtvQkFDUkssYUFBYTtnQkFDakI7Z0JBQ0EsTUFBTVEsTUFBTUQsVUFBVSxPQUFPRCxPQUFPRyxHQUFHLEdBQUdILE9BQU9JLEdBQUcsR0FBR0g7Z0JBQ3ZELE1BQU9ELE9BQU9JLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFBTUcsTUFB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UCxJQUFJeUMsT0FBTyxHQUFHOUIsT0FBT0wsTUFBTTtnQ0FDM0I7NEJBQ0o7d0JBQ0EsS0FBSzs0QkFBSTtnQ0FDTE4sSUFBSTBDLFNBQVMsR0FBRy9CLE9BQU9nQyxNQUFNO2dDQUM3Qjs0QkFDSjt3QkFDQSxLQUFLOzRCQUFJO2dDQUNMM0MsSUFBSTRDLElBQUksR0FBR2pDLE9BQU9xQixLQUFLO2dDQUN2Qjs0QkFDSjt3QkFDQSxLQUFLOzRCQUFJO2dDQUNMaEMsSUFBSTZDLGNBQWMsR0FBR2hCLGVBQWU5QixLQUFLLEdBQUdrQixNQUFNLENBQUNOLFFBQVFBLE9BQU9MLE1BQU0sSUFBSTtvQ0FDeEVZLFFBQVFoQixLQUFLZ0IsTUFBTSxFQUFFMkI7Z0NBQ3pCO2dDQUNBOzRCQUNKO3dCQUNBLEtBQUs7NEJBQUk7Z0NBQ0w3QyxJQUFJOEMsU0FBUyxHQUFHbkMsT0FBT1ksSUFBSTtnQ0FDM0I7NEJBQ0o7d0JBQ0E7NEJBQVM7Z0NBQ0xaLE9BQU9RLFFBQVEsQ0FBQ0gsTUFBTTtnQ0FDdEI7NEJBQ0o7b0JBQ0o7Z0JBQ0o7Z0JBQ0EsT0FBT2hCO1lBQ1g7UUFDSjtRQUNBLE9BQU9GO0lBQ1g7SUFDQVUsWUFBWUMsTUFBTSxHQUFHLENBQUNUO1FBQ2xCLE9BQU9QLDhEQUFhQSxDQUFDTyxLQUFLUSxZQUFZVCxLQUFLO0lBQy9DO0lBQ0FTLFlBQVlTLE1BQU0sR0FBRyxDQUFDRyxLQUFLbEI7UUFDdkIsT0FBT1YsOERBQWFBLENBQUM0QixLQUFLWixZQUFZVCxLQUFLLElBQUlHO0lBQ25EO0FBQ0osR0FBR00sZUFBZ0JBLENBQUFBLGNBQWMsQ0FBQyxLQUNsQyxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL2xpZ2h0X3B1c2guanM/YjBkMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvZXhwb3J0ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktYm9vbGVhbi1saXRlcmFsLWNvbXBhcmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UgKi9cbmltcG9ydCB7IGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuaW1wb3J0IHsgYWxsb2MgYXMgdWludDhBcnJheUFsbG9jIH0gZnJvbSAndWludDhhcnJheXMvYWxsb2MnO1xuZXhwb3J0IHZhciBQdXNoUmVxdWVzdDtcbihmdW5jdGlvbiAoUHVzaFJlcXVlc3QpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFB1c2hSZXF1ZXN0LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHVic3ViVG9waWMgIT0gbnVsbCAmJiBvYmoucHVic3ViVG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5wdWJzdWJUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWVzc2FnZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgV2FrdU1lc3NhZ2UuY29kZWMoKS5lbmNvZGUob2JqLm1lc3NhZ2UsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHB1YnN1YlRvcGljOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucHVic3ViVG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVzc2FnZSA9IFdha3VNZXNzYWdlLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/Lm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQdXNoUmVxdWVzdC5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUHVzaFJlcXVlc3QuY29kZWMoKSk7XG4gICAgfTtcbiAgICBQdXNoUmVxdWVzdC5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUHVzaFJlcXVlc3QuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFB1c2hSZXF1ZXN0IHx8IChQdXNoUmVxdWVzdCA9IHt9KSk7XG5leHBvcnQgdmFyIFB1c2hSZXNwb25zZTtcbihmdW5jdGlvbiAoUHVzaFJlc3BvbnNlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQdXNoUmVzcG9uc2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5pc1N1Y2Nlc3MgIT0gbnVsbCAmJiBvYmouaXNTdWNjZXNzICE9PSBmYWxzZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouaXNTdWNjZXNzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5pbmZvICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmouaW5mbyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgaXNTdWNjZXNzOiBmYWxzZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouaXNTdWNjZXNzID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5pbmZvID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFB1c2hSZXNwb25zZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUHVzaFJlc3BvbnNlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgUHVzaFJlc3BvbnNlLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQdXNoUmVzcG9uc2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFB1c2hSZXNwb25zZSB8fCAoUHVzaFJlc3BvbnNlID0ge30pKTtcbmV4cG9ydCB2YXIgUHVzaFJwYztcbihmdW5jdGlvbiAoUHVzaFJwYykge1xuICAgIGxldCBfY29kZWM7XG4gICAgUHVzaFJwYy5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJlcXVlc3RJZCAhPSBudWxsICYmIG9iai5yZXF1ZXN0SWQgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5yZXF1ZXN0SWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJlcXVlc3QgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIFB1c2hSZXF1ZXN0LmNvZGVjKCkuZW5jb2RlKG9iai5yZXF1ZXN0LCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5yZXNwb25zZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgUHVzaFJlc3BvbnNlLmNvZGVjKCkuZW5jb2RlKG9iai5yZXNwb25zZSwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdElkOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmVxdWVzdElkID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3QgPSBQdXNoUmVxdWVzdC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5yZXF1ZXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmVzcG9uc2UgPSBQdXNoUmVzcG9uc2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQdXNoUnBjLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBQdXNoUnBjLmNvZGVjKCkpO1xuICAgIH07XG4gICAgUHVzaFJwYy5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUHVzaFJwYy5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUHVzaFJwYyB8fCAoUHVzaFJwYyA9IHt9KSk7XG5leHBvcnQgdmFyIFJhdGVMaW1pdFByb29mO1xuKGZ1bmN0aW9uIChSYXRlTGltaXRQcm9vZikge1xuICAgIGxldCBfY29kZWM7XG4gICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wcm9vZiAhPSBudWxsICYmIG9iai5wcm9vZi5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wcm9vZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm1lcmtsZVJvb3QgIT0gbnVsbCAmJiBvYmoubWVya2xlUm9vdC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5tZXJrbGVSb290KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouZXBvY2ggIT0gbnVsbCAmJiBvYmouZXBvY2guYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouZXBvY2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVggIT0gbnVsbCAmJiBvYmouc2hhcmVYLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWSAhPSBudWxsICYmIG9iai5zaGFyZVkuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDQyKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVZKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubnVsbGlmaWVyICE9IG51bGwgJiYgb2JqLm51bGxpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5udWxsaWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5ybG5JZGVudGlmaWVyICE9IG51bGwgJiYgb2JqLnJsbklkZW50aWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDU4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucmxuSWRlbnRpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvb2Y6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgbWVya2xlUm9vdDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVg6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVZOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBybG5JZGVudGlmaWVyOiB1aW50OEFycmF5QWxsb2MoMClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnByb29mID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwb2NoID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVYID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVsbGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmxuSWRlbnRpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBheWxvYWQgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudGltZXN0YW1wID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmF0ZUxpbWl0UHJvb2ZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1lc3NhZ2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1lc3NhZ2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFdha3VNZXNzYWdlIHx8IChXYWt1TWVzc2FnZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1saWdodF9wdXNoLmpzLm1hcCJdLCJuYW1lcyI6WyJkZWNvZGVNZXNzYWdlIiwiZW5jb2RlTWVzc2FnZSIsIm1lc3NhZ2UiLCJhbGxvYyIsInVpbnQ4QXJyYXlBbGxvYyIsIlB1c2hSZXF1ZXN0IiwiX2NvZGVjIiwiY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJwdWJzdWJUb3BpYyIsInVpbnQzMiIsInN0cmluZyIsIldha3VNZXNzYWdlIiwiZW5jb2RlIiwibGRlbGltIiwicmVhZGVyIiwibGVuZ3RoIiwiZW5kIiwibGVuIiwicG9zIiwidGFnIiwiZGVjb2RlIiwibGltaXRzIiwic2tpcFR5cGUiLCJidWYiLCJQdXNoUmVzcG9uc2UiLCJpc1N1Y2Nlc3MiLCJib29sIiwiaW5mbyIsIlB1c2hScGMiLCJyZXF1ZXN0SWQiLCJyZXF1ZXN0IiwicmVzcG9uc2UiLCJSYXRlTGltaXRQcm9vZiIsInByb29mIiwiYnl0ZUxlbmd0aCIsImJ5dGVzIiwibWVya2xlUm9vdCIsImVwb2NoIiwic2hhcmVYIiwic2hhcmVZIiwibnVsbGlmaWVyIiwicmxuSWRlbnRpZmllciIsInBheWxvYWQiLCJjb250ZW50VG9waWMiLCJ2ZXJzaW9uIiwidGltZXN0YW1wIiwic2ludDY0IiwibWV0YSIsInJhdGVMaW1pdFByb29mIiwiZXBoZW1lcmFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/light_push.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/message.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/message.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9tZXNzYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQ2dCO0FBQ1g7QUFDdEQsSUFBSUssZUFBZTtBQUN6QixVQUFVQSxjQUFjO0lBQ3JCLElBQUlDO0lBQ0pELGVBQWVFLEtBQUssR0FBRztRQUNuQixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNKLHdEQUFPQSxDQUFDLENBQUNNLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSUssS0FBSyxJQUFJLFFBQVFMLElBQUlLLEtBQUssQ0FBQ0MsVUFBVSxHQUFHLEdBQUk7b0JBQ2pETCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVPLEtBQUssQ0FBQ1IsSUFBSUssS0FBSztnQkFDckI7Z0JBQ0EsSUFBS0wsSUFBSVMsVUFBVSxJQUFJLFFBQVFULElBQUlTLFVBQVUsQ0FBQ0gsVUFBVSxHQUFHLEdBQUk7b0JBQzNETCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVPLEtBQUssQ0FBQ1IsSUFBSVMsVUFBVTtnQkFDMUI7Z0JBQ0EsSUFBS1QsSUFBSVUsS0FBSyxJQUFJLFFBQVFWLElBQUlVLEtBQUssQ0FBQ0osVUFBVSxHQUFHLEdBQUk7b0JBQ2pETCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVPLEtBQUssQ0FBQ1IsSUFBSVUsS0FBSztnQkFDckI7Z0JBQ0EsSUFBS1YsSUFBSVcsTUFBTSxJQUFJLFFBQVFYLElBQUlXLE1BQU0sQ0FBQ0wsVUFBVSxHQUFHLEdBQUk7b0JBQ25ETCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVB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QUNKO2dCQUNBLE9BQU9yQjtZQUNYO1FBQ0o7UUFDQSxPQUFPRjtJQUNYO0lBQ0E0QixZQUFZSCxNQUFNLEdBQUcsQ0FBQ3ZCO1FBQ2xCLE9BQU9QLDhEQUFhQSxDQUFDTyxLQUFLMEIsWUFBWTNCLEtBQUs7SUFDL0M7SUFDQTJCLFlBQVlGLE1BQU0sR0FBRyxDQUFDQyxLQUFLdkI7UUFDdkIsT0FBT1YsOERBQWFBLENBQUNpQyxLQUFLQyxZQUFZM0IsS0FBSyxJQUFJRztJQUNuRDtBQUNKLEdBQUd3QixlQUFnQkEsQ0FBQUEsY0FBYyxDQUFDLEtBQ2xDLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9nZW5lcmF0ZWQvbWVzc2FnZS5qcz9jMDhmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgZGVjb2RlTWVzc2FnZSwgZW5jb2RlTWVzc2FnZSwgbWVzc2FnZSB9IGZyb20gJ3Byb3RvbnMtcnVudGltZSc7XG5pbXBvcnQgeyBhbGxvYyBhcyB1aW50OEFycmF5QWxsb2MgfSBmcm9tICd1aW50OGFycmF5cy9hbGxvYyc7XG5leHBvcnQgdmFyIFJhdGVMaW1pdFByb29mO1xuKGZ1bmN0aW9uIChSYXRlTGltaXRQcm9vZikge1xuICAgIGxldCBfY29kZWM7XG4gICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wcm9vZiAhPSBudWxsICYmIG9iai5wcm9vZi5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wcm9vZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm1lcmtsZVJvb3QgIT0gbnVsbCAmJiBvYmoubWVya2xlUm9vdC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5tZXJrbGVSb290KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouZXBvY2ggIT0gbnVsbCAmJiBvYmouZXBvY2guYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouZXBvY2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVggIT0gbnVsbCAmJiBvYmouc2hhcmVYLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnNoYXJlWSAhPSBudWxsICYmIG9iai5zaGFyZVkuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDQyKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmouc2hhcmVZKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoubnVsbGlmaWVyICE9IG51bGwgJiYgb2JqLm51bGxpZmllci5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5udWxsaWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5ybG5JZGVudGlmaWVyICE9IG51bGwgJiYgb2JqLnJsbklkZW50aWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDU4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucmxuSWRlbnRpZmllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvb2Y6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgbWVya2xlUm9vdDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBlcG9jaDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZVg6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVZOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllcjogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBybG5JZGVudGlmaWVyOiB1aW50OEFycmF5QWxsb2MoMClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnByb29mID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWVya2xlUm9vdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwb2NoID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVYID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmVZID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVsbGlmaWVyID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmxuSWRlbnRpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpKTtcbiAgICB9O1xuICAgIFJhdGVMaW1pdFByb29mLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBSYXRlTGltaXRQcm9vZi5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUmF0ZUxpbWl0UHJvb2YgfHwgKFJhdGVMaW1pdFByb29mID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1lc3NhZ2U7XG4oZnVuY3Rpb24gKFdha3VNZXNzYWdlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnBheWxvYWQgIT0gbnVsbCAmJiBvYmoucGF5bG9hZC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5wYXlsb2FkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouY29udGVudFRvcGljICE9IG51bGwgJiYgb2JqLmNvbnRlbnRUb3BpYyAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5zdHJpbmcob2JqLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoudmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnRpbWVzdGFtcCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDgwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5zaW50NjQob2JqLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubWV0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDkwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWV0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmF0ZUxpbWl0UHJvb2YgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNzApO1xuICAgICAgICAgICAgICAgICAgICBSYXRlTGltaXRQcm9vZi5jb2RlYygpLmVuY29kZShvYmoucmF0ZUxpbWl0UHJvb2YsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVwaGVtZXJhbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI0OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYm9vbChvYmouZXBoZW1lcmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBheWxvYWQgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jb250ZW50VG9waWMgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudmVyc2lvbiA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoudGltZXN0YW1wID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5tZXRhID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDIxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJhdGVMaW1pdFByb29mID0gUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucmF0ZUxpbWl0UHJvb2ZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouZXBoZW1lcmFsID0gcmVhZGVyLmJvb2woKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1lc3NhZ2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWVzc2FnZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1lc3NhZ2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFdha3VNZXNzYWdlIHx8IChXYWt1TWVzc2FnZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tZXNzYWdlLmpzLm1hcCJdLCJuYW1lcyI6WyJkZWNvZGVNZXNzYWdlIiwiZW5jb2RlTWVzc2FnZSIsIm1lc3NhZ2UiLCJhbGxvYyIsInVpbnQ4QXJyYXlBbGxvYyIsIlJhdGVMaW1pdFByb29mIiwiX2NvZGVjIiwiY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJwcm9vZiIsImJ5dGVMZW5ndGgiLCJ1aW50MzIiLCJieXRlcyIsIm1lcmtsZVJvb3QiLCJlcG9jaCIsInNoYXJlWCIsInNoYXJlWSIsIm51bGxpZmllciIsInJsbklkZW50aWZpZXIiLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJza2lwVHlwZSIsImVuY29kZSIsImRlY29kZSIsImJ1ZiIsIldha3VNZXNzYWdlIiwicGF5bG9hZCIsImNvbnRlbnRUb3BpYyIsInN0cmluZyIsInZlcnNpb24iLCJ0aW1lc3RhbXAiLCJzaW50NjQiLCJtZXRhIiwicmF0ZUxpbWl0UHJvb2YiLCJlcGhlbWVyYWwiLCJib29sIiwibGltaXRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/metadata.js":
/*!************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/metadata.js ***!
\************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WakuMetadataRequest: () => (/* binding */ WakuMetadataRequest),\n/* harmony export */ WakuMetadataResponse: () => (/* binding */ WakuMetadataResponse)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar WakuMetadataRequest;\n(function(WakuMetadataRequest) {\n let _codec;\n WakuMetadataRequest.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.clusterId != null) {\n w.uint32(8);\n w.uint32(obj.clusterId);\n }\n if (obj.shards != null) {\n for (const value of obj.shards){\n w.uint32(16);\n w.uint32(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n shards: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.clusterId = reader.uint32();\n break;\n }\n case 2:\n {\n if (opts.limits?.shards != null && obj.shards.length === opts.limits.shards) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"shards\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.shards.push(reader.uint32());\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMetadataRequest.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMetadataRequest.codec());\n };\n WakuMetadataRequest.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMetadataRequest.codec(), opts);\n };\n})(WakuMetadataRequest || (WakuMetadataRequest = {}));\nvar WakuMetadataResponse;\n(function(WakuMetadataResponse) {\n let _codec;\n WakuMetadataResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.clusterId != null) {\n w.uint32(8);\n w.uint32(obj.clusterId);\n }\n if (obj.shards != null) {\n for (const value of obj.shards){\n w.uint32(16);\n w.uint32(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n shards: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.clusterId = reader.uint32();\n break;\n }\n case 2:\n {\n if (opts.limits?.shards != null && obj.shards.length === opts.limits.shards) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"shards\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.shards.push(reader.uint32());\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMetadataResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMetadataResponse.codec());\n };\n WakuMetadataResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMetadataResponse.codec(), opts);\n };\n})(WakuMetadataResponse || (WakuMetadataResponse = {})); //# sourceMappingURL=metadata.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9tZXRhZGF0YS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQzJCO0FBQzVFLElBQUlJLG9CQUFvQjtBQUM5QixVQUFVQSxtQkFBbUI7SUFDMUIsSUFBSUM7SUFDSkQsb0JBQW9CRSxLQUFLLEdBQUc7UUFDeEIsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTRix3REFBT0EsQ0FBQyxDQUFDSSxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUlKLElBQUlLLFNBQVMsSUFBSSxNQUFNO29CQUN2QkosRUFBRUssTUFBTSxDQUFDO29CQUNUTCxFQUFFSyxNQUFNLENBQUNOLElBQUlLLFNBQVM7Z0JBQzFCO2dCQUNBLElBQUlMLElBQUlPLE1BQU0sSUFBSSxNQUFNO29CQUNwQixLQUFLLE1BQU1DLFNBQVNSLElBQUlPLE1BQU0sQ0FBRTt3QkFDNUJOLEVBQUVLLE1BQU0sQ0FBQzt3QkFDVEwsRUFBRUssTUFBTSxDQUFDRTtvQkFDYjtnQkFDSjtnQkFDQSxJQUFJTixLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVRLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFULE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSTyxRQUFRLEVBQUU7Z0JBQ2Q7Z0JBQ0EsTUFBTUssTUFBTUQsVUFBVSxPQUFPRCxPQUFPRyxHQUFHLEdBQUdILE9BQU9JLEdBQUcsR0FBR0g7Z0JBQ3ZELE1BQU9ELE9BQU9JLEdBQUcsR0FBR0YsSUFBSztvQkFDckIsTUFBTUcsTUFBTUwsT0FB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Q0ssS0FBS3NCLHFCQUFxQnZCLEtBQUs7SUFDeEQ7SUFDQXVCLHFCQUFxQkYsTUFBTSxHQUFHLENBQUNDLEtBQUtuQjtRQUNoQyxPQUFPUiw4REFBYUEsQ0FBQzJCLEtBQUtDLHFCQUFxQnZCLEtBQUssSUFBSUc7SUFDNUQ7QUFDSixHQUFHb0Isd0JBQXlCQSxDQUFBQSx1QkFBdUIsQ0FBQyxLQUNwRCxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS9zZGsvbm9kZV9tb2R1bGVzL0B3YWt1L3Byb3RvL2Rpc3QvZ2VuZXJhdGVkL21ldGFkYXRhLmpzP2I0ZTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBDb2RlRXJyb3IsIGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuZXhwb3J0IHZhciBXYWt1TWV0YWRhdGFSZXF1ZXN0O1xuKGZ1bmN0aW9uIChXYWt1TWV0YWRhdGFSZXF1ZXN0KSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWV0YWRhdGFSZXF1ZXN0LmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5jbHVzdGVySWQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIob2JqLmNsdXN0ZXJJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouc2hhcmRzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmouc2hhcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBzaGFyZHM6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jbHVzdGVySWQgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5saW1pdHM/LnNoYXJkcyAhPSBudWxsICYmIG9iai5zaGFyZHMubGVuZ3RoID09PSBvcHRzLmxpbWl0cy5zaGFyZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvZGVFcnJvcignZGVjb2RlIGVycm9yIC0gbWFwIGZpZWxkIFwic2hhcmRzXCIgaGFkIHRvbyBtYW55IGVsZW1lbnRzJywgJ0VSUl9NQVhfTEVOR1RIJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zaGFyZHMucHVzaChyZWFkZXIudWludDMyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFdha3VNZXRhZGF0YVJlcXVlc3QuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXRhZGF0YVJlcXVlc3QuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWV0YWRhdGFSZXF1ZXN0LmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBXYWt1TWV0YWRhdGFSZXF1ZXN0LmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShXYWt1TWV0YWRhdGFSZXF1ZXN0IHx8IChXYWt1TWV0YWRhdGFSZXF1ZXN0ID0ge30pKTtcbmV4cG9ydCB2YXIgV2FrdU1ldGFkYXRhUmVzcG9uc2U7XG4oZnVuY3Rpb24gKFdha3VNZXRhZGF0YVJlc3BvbnNlKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBXYWt1TWV0YWRhdGFSZXNwb25zZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouY2x1c3RlcklkICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai5jbHVzdGVySWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnNoYXJkcyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygb2JqLnNoYXJkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdy51aW50MzIodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgc2hhcmRzOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY2x1c3RlcklkID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMubGltaXRzPy5zaGFyZHMgIT0gbnVsbCAmJiBvYmouc2hhcmRzLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMuc2hhcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb2RlRXJyb3IoJ2RlY29kZSBlcnJvciAtIG1hcCBmaWVsZCBcInNoYXJkc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc2hhcmRzLnB1c2gocmVhZGVyLnVpbnQzMigpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBXYWt1TWV0YWRhdGFSZXNwb25zZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgV2FrdU1ldGFkYXRhUmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBXYWt1TWV0YWRhdGFSZXNwb25zZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgV2FrdU1ldGFkYXRhUmVzcG9uc2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFdha3VNZXRhZGF0YVJlc3BvbnNlIHx8IChXYWt1TWV0YWRhdGFSZXNwb25zZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tZXRhZGF0YS5qcy5tYXAiXSwibmFtZXMiOlsiQ29kZUVycm9yIiwiZGVjb2RlTWVzc2FnZSIsImVuY29kZU1lc3NhZ2UiLCJtZXNzYWdlIiwiV2FrdU1ldGFkYXRhUmVxdWVzdCIsIl9jb2RlYyIsImNvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwiY2x1c3RlcklkIiwidWludDMyIiwic2hhcmRzIiwidmFsdWUiLCJsZGVsaW0iLCJyZWFkZXIiLCJsZW5ndGgiLCJlbmQiLCJsZW4iLCJwb3MiLCJ0YWciLCJsaW1pdHMiLCJwdXNoIiwic2tpcFR5cGUiLCJlbmNvZGUiLCJkZWNvZGUiLCJidWYiLCJXYWt1TWV0YWRhdGFSZXNwb25zZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/metadata.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/peer_exchange.js":
/*!*****************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/peer_exchange.js ***!
\*****************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PeerExchangeQuery: () => (/* binding */ PeerExchangeQuery),\n/* harmony export */ PeerExchangeRPC: () => (/* binding */ PeerExchangeRPC),\n/* harmony export */ PeerExchangeResponse: () => (/* binding */ PeerExchangeResponse),\n/* harmony export */ PeerInfo: () => (/* binding */ PeerInfo)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar PeerInfo;\n(function(PeerInfo) {\n let _codec;\n PeerInfo.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.enr != null) {\n w.uint32(10);\n w.bytes(obj.enr);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.enr = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerInfo.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerInfo.codec());\n };\n PeerInfo.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerInfo.codec(), opts);\n };\n})(PeerInfo || (PeerInfo = {}));\nvar PeerExchangeQuery;\n(function(PeerExchangeQuery) {\n let _codec;\n PeerExchangeQuery.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.numPeers != null) {\n w.uint32(8);\n w.uint64(obj.numPeers);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.numPeers = reader.uint64();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeQuery.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeQuery.codec());\n };\n PeerExchangeQuery.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeQuery.codec(), opts);\n };\n})(PeerExchangeQuery || (PeerExchangeQuery = {}));\nvar PeerExchangeResponse;\n(function(PeerExchangeResponse) {\n let _codec;\n PeerExchangeResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.peerInfos != null) {\n for (const value of obj.peerInfos){\n w.uint32(10);\n PeerInfo.codec().encode(value, w);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n peerInfos: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n if (opts.limits?.peerInfos != null && obj.peerInfos.length === opts.limits.peerInfos) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"peerInfos\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.peerInfos.push(PeerInfo.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.peerInfos$\n }));\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeResponse.codec());\n };\n PeerExchangeResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeResponse.codec(), opts);\n };\n})(PeerExchangeResponse || (PeerExchangeResponse = {}));\nvar PeerExchangeRPC;\n(function(PeerExchangeRPC) {\n let _codec;\n PeerExchangeRPC.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.query != null) {\n w.uint32(10);\n PeerExchangeQuery.codec().encode(obj.query, w);\n }\n if (obj.response != null) {\n w.uint32(18);\n PeerExchangeResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.query = PeerExchangeQuery.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.query\n });\n break;\n }\n case 2:\n {\n obj.response = PeerExchangeResponse.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.response\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PeerExchangeRPC.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PeerExchangeRPC.codec());\n };\n PeerExchangeRPC.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PeerExchangeRPC.codec(), opts);\n };\n})(PeerExchangeRPC || (PeerExchangeRPC = {})); //# sourceMappingURL=peer_exchange.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9wZWVyX2V4Y2hhbmdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsZ0NBQWdDLEdBQ2hDLDZCQUE2QixHQUM3QixrREFBa0QsR0FDbEQsNEVBQTRFLEdBQzVFLHdEQUF3RCxHQUMyQjtBQUM1RSxJQUFJSSxTQUFTO0FBQ25CLFVBQVVBLFFBQVE7SUFDZixJQUFJQztJQUNKRCxTQUFTRSxLQUFLLEdBQUc7UUFDYixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNGLHdEQUFPQSxDQUFDLENBQUNJLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBSUosSUFBSUssR0FBRyxJQUFJLE1BQU07b0JBQ2pCSixFQUFFSyxNQUFNLENBQUM7b0JBQ1RMLEVBQUVNLEtBQUssQ0FBQ1AsSUFBSUssR0FBRztnQkFDbkI7Z0JBQ0EsSUFBSUgsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFTyxNQUFNO2dCQUNaO1lBQ0osR0FBRyxDQUFDQyxRQUFRQyxRQUFRUixPQUFPLENBQUMsQ0FBQztnQkFDekIsTUFBTUYsTUFBTSxDQUFDO2dCQUNiLE1BQU1XLE1BQU1ELFVBQVUsT0FBT0QsT0FBT0csR0FBRyxHQUFHSCxPQUFPSSxHQUFHLEdBQUdIO2dCQUN2RCxNQUFPRCxPQUFPSSxHQUFHLEdBQUdGLElBQUs7b0JBQ3JCLE1BQU1HLE1BQU1MLE9BQU9ILE1BQU07b0JBQ3pCLE9BQVFRLFFBQVE7d0JBQ1osS0FBSzs0QkFBRztnQ0FDSmQsSUFBSUssR0FBRyxHQUFHSSxPQUFPRixLQUFLO2dDQUN0Qjs0QkFDSjt3QkFDQTs0QkFBUztnQ0FDTEUsT0FBT00sUUFBUSxDQUFDRCxNQUFNO2dDQUN0Qjs0QkFDSjtvQkFDSjtn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SjtvQkFDSjtnQkFDSjtnQkFDQSxPQUFPZDtZQUNYO1FBQ0o7UUFDQSxPQUFPRjtJQUNYO0lBQ0E4QixnQkFBZ0JaLE1BQU0sR0FBRyxDQUFDaEI7UUFDdEIsT0FBT0wsOERBQWFBLENBQUNLLEtBQUs0QixnQkFBZ0I3QixLQUFLO0lBQ25EO0lBQ0E2QixnQkFBZ0JYLE1BQU0sR0FBRyxDQUFDQyxLQUFLaEI7UUFDM0IsT0FBT1IsOERBQWFBLENBQUN3QixLQUFLVSxnQkFBZ0I3QixLQUFLLElBQUlHO0lBQ3ZEO0FBQ0osR0FBRzBCLG1CQUFvQkEsQ0FBQUEsa0JBQWtCLENBQUMsS0FDMUMseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9wZWVyX2V4Y2hhbmdlLmpzPzFiMmIiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBDb2RlRXJyb3IsIGRlY29kZU1lc3NhZ2UsIGVuY29kZU1lc3NhZ2UsIG1lc3NhZ2UgfSBmcm9tICdwcm90b25zLXJ1bnRpbWUnO1xuZXhwb3J0IHZhciBQZWVySW5mbztcbihmdW5jdGlvbiAoUGVlckluZm8pIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFBlZXJJbmZvLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lbnIgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVucik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVuciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFBlZXJJbmZvLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBQZWVySW5mby5jb2RlYygpKTtcbiAgICB9O1xuICAgIFBlZXJJbmZvLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQZWVySW5mby5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoUGVlckluZm8gfHwgKFBlZXJJbmZvID0ge30pKTtcbmV4cG9ydCB2YXIgUGVlckV4Y2hhbmdlUXVlcnk7XG4oZnVuY3Rpb24gKFBlZXJFeGNoYW5nZVF1ZXJ5KSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQZWVyRXhjaGFuZ2VRdWVyeS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoubnVtUGVlcnMgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4KTtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50NjQob2JqLm51bVBlZXJzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubnVtUGVlcnMgPSByZWFkZXIudWludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgUGVlckV4Y2hhbmdlUXVlcnkuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFBlZXJFeGNoYW5nZVF1ZXJ5LmNvZGVjKCkpO1xuICAgIH07XG4gICAgUGVlckV4Y2hhbmdlUXVlcnkuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFBlZXJFeGNoYW5nZVF1ZXJ5LmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShQZWVyRXhjaGFuZ2VRdWVyeSB8fCAoUGVlckV4Y2hhbmdlUXVlcnkgPSB7fSkpO1xuZXhwb3J0IHZhciBQZWVyRXhjaGFuZ2VSZXNwb25zZTtcbihmdW5jdGlvbiAoUGVlckV4Y2hhbmdlUmVzcG9uc2UpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFBlZXJFeGNoYW5nZVJlc3BvbnNlLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5wZWVySW5mb3MgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai5wZWVySW5mb3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFBlZXJJbmZvLmNvZGVjKCkuZW5jb2RlKHZhbHVlLCB3KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHBlZXJJbmZvczogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMubGltaXRzPy5wZWVySW5mb3MgIT0gbnVsbCAmJiBvYmoucGVlckluZm9zLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMucGVlckluZm9zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb2RlRXJyb3IoJ2RlY29kZSBlcnJvciAtIG1hcCBmaWVsZCBcInBlZXJJbmZvc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucGVlckluZm9zLnB1c2goUGVlckluZm8uY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ucGVlckluZm9zJFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBQZWVyRXhjaGFuZ2VSZXNwb25zZS5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUGVlckV4Y2hhbmdlUmVzcG9uc2UuY29kZWMoKSk7XG4gICAgfTtcbiAgICBQZWVyRXhjaGFuZ2VSZXNwb25zZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUGVlckV4Y2hhbmdlUmVzcG9uc2UuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFBlZXJFeGNoYW5nZVJlc3BvbnNlIHx8IChQZWVyRXhjaGFuZ2VSZXNwb25zZSA9IHt9KSk7XG5leHBvcnQgdmFyIFBlZXJFeGNoYW5nZVJQQztcbihmdW5jdGlvbiAoUGVlckV4Y2hhbmdlUlBDKSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBQZWVyRXhjaGFuZ2VSUEMuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnF1ZXJ5ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICBQZWVyRXhjaGFuZ2VRdWVyeS5jb2RlYygpLmVuY29kZShvYmoucXVlcnksIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJlc3BvbnNlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICBQZWVyRXhjaGFuZ2VSZXNwb25zZS5jb2RlYygpLmVuY29kZShvYmoucmVzcG9uc2UsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5xdWVyeSA9IFBlZXJFeGNoYW5nZVF1ZXJ5LmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoucmVzcG9uc2UgPSBQZWVyRXhjaGFuZ2VSZXNwb25zZS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5yZXNwb25zZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFBlZXJFeGNoYW5nZVJQQy5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUGVlckV4Y2hhbmdlUlBDLmNvZGVjKCkpO1xuICAgIH07XG4gICAgUGVlckV4Y2hhbmdlUlBDLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQZWVyRXhjaGFuZ2VSUEMuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFBlZXJFeGNoYW5nZVJQQyB8fCAoUGVlckV4Y2hhbmdlUlBDID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBlZXJfZXhjaGFuZ2UuanMubWFwIl0sIm5hbWVzIjpbIkNvZGVFcnJvciIsImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwibWVzc2FnZSIsIlBlZXJJbmZvIiwiX2NvZGVjIiwiY29kZWMiLCJvYmoiLCJ3Iiwib3B0cyIsImxlbmd0aERlbGltaXRlZCIsImZvcmsiLCJlbnIiLCJ1aW50MzIiLCJieXRlcyIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsImVuZCIsImxlbiIsInBvcyIsInRhZyIsInNraXBUeXBlIiwiZW5jb2RlIiwiZGVjb2RlIiwiYnVmIiwiUGVlckV4Y2hhbmdlUXVlcnkiLCJudW1QZWVycyIsInVpbnQ2NCIsIlBlZXJFeGNoYW5nZVJlc3BvbnNlIiwicGVlckluZm9zIiwidmFsdWUiLCJsaW1pdHMiLCJwdXNoIiwicGVlckluZm9zJCIsIlBlZXJFeGNoYW5nZVJQQyIsInF1ZXJ5IiwicmVzcG9uc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/peer_exchange.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/store.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/store.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContentFilter: () => (/* binding */ ContentFilter),\n/* harmony export */ HistoryQuery: () => (/* binding */ HistoryQuery),\n/* harmony export */ HistoryResponse: () => (/* binding */ HistoryResponse),\n/* harmony export */ HistoryRpc: () => (/* binding */ HistoryRpc),\n/* harmony export */ Index: () => (/* binding */ Index),\n/* harmony export */ PagingInfo: () => (/* binding */ PagingInfo),\n/* harmony export */ RateLimitProof: () => (/* binding */ RateLimitProof),\n/* harmony export */ WakuMessage: () => (/* binding */ WakuMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar Index;\n(function(Index) {\n let _codec;\n Index.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.digest != null && obj.digest.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.digest);\n }\n if (obj.receiverTime != null && obj.receiverTime !== 0n) {\n w.uint32(16);\n w.sint64(obj.receiverTime);\n }\n if (obj.senderTime != null && obj.senderTime !== 0n) {\n w.uint32(24);\n w.sint64(obj.senderTime);\n }\n if (obj.pubsubTopic != null && obj.pubsubTopic !== \"\") {\n w.uint32(34);\n w.string(obj.pubsubTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n digest: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n receiverTime: 0n,\n senderTime: 0n,\n pubsubTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.digest = reader.bytes();\n break;\n }\n case 2:\n {\n obj.receiverTime = reader.sint64();\n break;\n }\n case 3:\n {\n obj.senderTime = reader.sint64();\n break;\n }\n case 4:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n Index.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, Index.codec());\n };\n Index.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, Index.codec(), opts);\n };\n})(Index || (Index = {}));\nvar PagingInfo;\n(function(PagingInfo) {\n let Direction;\n (function(Direction) {\n Direction[\"BACKWARD\"] = \"BACKWARD\";\n Direction[\"FORWARD\"] = \"FORWARD\";\n })(Direction = PagingInfo.Direction || (PagingInfo.Direction = {}));\n let __DirectionValues;\n (function(__DirectionValues) {\n __DirectionValues[__DirectionValues[\"BACKWARD\"] = 0] = \"BACKWARD\";\n __DirectionValues[__DirectionValues[\"FORWARD\"] = 1] = \"FORWARD\";\n })(__DirectionValues || (__DirectionValues = {}));\n (function(Direction) {\n Direction.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__DirectionValues);\n };\n })(Direction = PagingInfo.Direction || (PagingInfo.Direction = {}));\n let _codec;\n PagingInfo.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pageSize != null) {\n w.uint32(8);\n w.uint64(obj.pageSize);\n }\n if (obj.cursor != null) {\n w.uint32(18);\n Index.codec().encode(obj.cursor, w);\n }\n if (obj.direction != null) {\n w.uint32(24);\n PagingInfo.Direction.codec().encode(obj.direction, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.pageSize = reader.uint64();\n break;\n }\n case 2:\n {\n obj.cursor = Index.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.cursor\n });\n break;\n }\n case 3:\n {\n obj.direction = PagingInfo.Direction.codec().decode(reader);\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PagingInfo.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PagingInfo.codec());\n };\n PagingInfo.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PagingInfo.codec(), opts);\n };\n})(PagingInfo || (PagingInfo = {}));\nvar ContentFilter;\n(function(ContentFilter) {\n let _codec;\n ContentFilter.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(10);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.contentTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n ContentFilter.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, ContentFilter.codec());\n };\n ContentFilter.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, ContentFilter.codec(), opts);\n };\n})(ContentFilter || (ContentFilter = {}));\nvar HistoryQuery;\n(function(HistoryQuery) {\n let _codec;\n HistoryQuery.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.pubsubTopic != null) {\n w.uint32(18);\n w.string(obj.pubsubTopic);\n }\n if (obj.contentFilters != null) {\n for (const value of obj.contentFilters){\n w.uint32(26);\n ContentFilter.codec().encode(value, w);\n }\n }\n if (obj.pagingInfo != null) {\n w.uint32(34);\n PagingInfo.codec().encode(obj.pagingInfo, w);\n }\n if (obj.startTime != null) {\n w.uint32(40);\n w.sint64(obj.startTime);\n }\n if (obj.endTime != null) {\n w.uint32(48);\n w.sint64(obj.endTime);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentFilters: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n {\n obj.pubsubTopic = reader.string();\n break;\n }\n case 3:\n {\n if (opts.limits?.contentFilters != null && obj.contentFilters.length === opts.limits.contentFilters) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"contentFilters\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.contentFilters.push(ContentFilter.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.contentFilters$\n }));\n break;\n }\n case 4:\n {\n obj.pagingInfo = PagingInfo.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.pagingInfo\n });\n break;\n }\n case 5:\n {\n obj.startTime = reader.sint64();\n break;\n }\n case 6:\n {\n obj.endTime = reader.sint64();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryQuery.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryQuery.codec());\n };\n HistoryQuery.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryQuery.codec(), opts);\n };\n})(HistoryQuery || (HistoryQuery = {}));\nvar HistoryResponse;\n(function(HistoryResponse) {\n let HistoryError;\n (function(HistoryError) {\n HistoryError[\"NONE\"] = \"NONE\";\n HistoryError[\"INVALID_CURSOR\"] = \"INVALID_CURSOR\";\n HistoryError[\"TOO_MANY_RESULTS\"] = \"TOO_MANY_RESULTS\";\n HistoryError[\"SERVICE_UNAVAILABLE\"] = \"SERVICE_UNAVAILABLE\";\n })(HistoryError = HistoryResponse.HistoryError || (HistoryResponse.HistoryError = {}));\n let __HistoryErrorValues;\n (function(__HistoryErrorValues) {\n __HistoryErrorValues[__HistoryErrorValues[\"NONE\"] = 0] = \"NONE\";\n __HistoryErrorValues[__HistoryErrorValues[\"INVALID_CURSOR\"] = 1] = \"INVALID_CURSOR\";\n __HistoryErrorValues[__HistoryErrorValues[\"TOO_MANY_RESULTS\"] = 429] = \"TOO_MANY_RESULTS\";\n __HistoryErrorValues[__HistoryErrorValues[\"SERVICE_UNAVAILABLE\"] = 503] = \"SERVICE_UNAVAILABLE\";\n })(__HistoryErrorValues || (__HistoryErrorValues = {}));\n (function(HistoryError) {\n HistoryError.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__HistoryErrorValues);\n };\n })(HistoryError = HistoryResponse.HistoryError || (HistoryResponse.HistoryError = {}));\n let _codec;\n HistoryResponse.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.messages != null) {\n for (const value of obj.messages){\n w.uint32(18);\n WakuMessage.codec().encode(value, w);\n }\n }\n if (obj.pagingInfo != null) {\n w.uint32(26);\n PagingInfo.codec().encode(obj.pagingInfo, w);\n }\n if (obj.error != null && __HistoryErrorValues[obj.error] !== 0) {\n w.uint32(32);\n HistoryResponse.HistoryError.codec().encode(obj.error, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n messages: [],\n error: HistoryError.NONE\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n {\n if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) {\n throw new protons_runtime__WEBPACK_IMPORTED_MODULE_0__.CodeError('decode error - map field \"messages\" had too many elements', \"ERR_MAX_LENGTH\");\n }\n obj.messages.push(WakuMessage.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.messages$\n }));\n break;\n }\n case 3:\n {\n obj.pagingInfo = PagingInfo.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.pagingInfo\n });\n break;\n }\n case 4:\n {\n obj.error = HistoryResponse.HistoryError.codec().decode(reader);\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryResponse.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryResponse.codec());\n };\n HistoryResponse.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryResponse.codec(), opts);\n };\n})(HistoryResponse || (HistoryResponse = {}));\nvar HistoryRpc;\n(function(HistoryRpc) {\n let _codec;\n HistoryRpc.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.requestId != null && obj.requestId !== \"\") {\n w.uint32(10);\n w.string(obj.requestId);\n }\n if (obj.query != null) {\n w.uint32(18);\n HistoryQuery.codec().encode(obj.query, w);\n }\n if (obj.response != null) {\n w.uint32(26);\n HistoryResponse.codec().encode(obj.response, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n requestId: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.requestId = reader.string();\n break;\n }\n case 2:\n {\n obj.query = HistoryQuery.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.query\n });\n break;\n }\n case 3:\n {\n obj.response = HistoryResponse.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.response\n });\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n HistoryRpc.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, HistoryRpc.codec());\n };\n HistoryRpc.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, HistoryRpc.codec(), opts);\n };\n})(HistoryRpc || (HistoryRpc = {}));\nvar RateLimitProof;\n(function(RateLimitProof) {\n let _codec;\n RateLimitProof.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.proof != null && obj.proof.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.proof);\n }\n if (obj.merkleRoot != null && obj.merkleRoot.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.merkleRoot);\n }\n if (obj.epoch != null && obj.epoch.byteLength > 0) {\n w.uint32(26);\n w.bytes(obj.epoch);\n }\n if (obj.shareX != null && obj.shareX.byteLength > 0) {\n w.uint32(34);\n w.bytes(obj.shareX);\n }\n if (obj.shareY != null && obj.shareY.byteLength > 0) {\n w.uint32(42);\n w.bytes(obj.shareY);\n }\n if (obj.nullifier != null && obj.nullifier.byteLength > 0) {\n w.uint32(50);\n w.bytes(obj.nullifier);\n }\n if (obj.rlnIdentifier != null && obj.rlnIdentifier.byteLength > 0) {\n w.uint32(58);\n w.bytes(obj.rlnIdentifier);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n proof: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n merkleRoot: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n epoch: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareX: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n shareY: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n nullifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n rlnIdentifier: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.proof = reader.bytes();\n break;\n }\n case 2:\n {\n obj.merkleRoot = reader.bytes();\n break;\n }\n case 3:\n {\n obj.epoch = reader.bytes();\n break;\n }\n case 4:\n {\n obj.shareX = reader.bytes();\n break;\n }\n case 5:\n {\n obj.shareY = reader.bytes();\n break;\n }\n case 6:\n {\n obj.nullifier = reader.bytes();\n break;\n }\n case 7:\n {\n obj.rlnIdentifier = reader.bytes();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n RateLimitProof.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, RateLimitProof.codec());\n };\n RateLimitProof.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, RateLimitProof.codec(), opts);\n };\n})(RateLimitProof || (RateLimitProof = {}));\nvar WakuMessage;\n(function(WakuMessage) {\n let _codec;\n WakuMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.payload != null && obj.payload.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.payload);\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (obj.version != null) {\n w.uint32(24);\n w.uint32(obj.version);\n }\n if (obj.timestamp != null) {\n w.uint32(80);\n w.sint64(obj.timestamp);\n }\n if (obj.meta != null) {\n w.uint32(90);\n w.bytes(obj.meta);\n }\n if (obj.rateLimitProof != null) {\n w.uint32(170);\n RateLimitProof.codec().encode(obj.rateLimitProof, w);\n }\n if (obj.ephemeral != null) {\n w.uint32(248);\n w.bool(obj.ephemeral);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n payload: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.payload = reader.bytes();\n break;\n }\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n case 3:\n {\n obj.version = reader.uint32();\n break;\n }\n case 10:\n {\n obj.timestamp = reader.sint64();\n break;\n }\n case 11:\n {\n obj.meta = reader.bytes();\n break;\n }\n case 21:\n {\n obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32(), {\n limits: opts.limits?.rateLimitProof\n });\n break;\n }\n case 31:\n {\n obj.ephemeral = reader.bool();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n WakuMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, WakuMessage.codec());\n };\n WakuMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, WakuMessage.codec(), opts);\n };\n})(WakuMessage || (WakuMessage = {})); //# sourceMappingURL=store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9zdG9yZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsZ0NBQWdDLEdBQ2hDLDZCQUE2QixHQUM3QixrREFBa0QsR0FDbEQsNEVBQTRFLEdBQzVFLHdEQUF3RCxHQUN3QztBQUNuQztBQUN0RCxJQUFJTyxNQUFNO0FBQ2hCLFVBQVVBLEtBQUs7SUFDWixJQUFJQztJQUNKRCxNQUFNRSxLQUFLLEdBQUc7UUFDVixJQUFJRCxVQUFVLE1BQU07WUFDaEJBLFNBQVNKLHdEQUFPQSxDQUFDLENBQUNNLEtBQUtDLEdBQUdDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixJQUFJQSxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVHLElBQUk7Z0JBQ1Y7Z0JBQ0EsSUFBS0osSUFBSUssTUFBTSxJQUFJLFFBQVFMLElBQUlLLE1BQU0sQ0FBQ0MsVUFBVSxHQUFHLEdBQUk7b0JBQ25ETCxFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVPLEtBQUssQ0FBQ1IsSUFBSUssTUFBTTtnQkFDdEI7Z0JBQ0EsSUFBS0wsSUFBSVMsWUFBWSxJQUFJLFFBQVFULElBQUlTLFlBQVksS0FBSyxFQUFFLEVBQUc7b0JBQ3ZEUixFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVTLE1BQU0sQ0FBQ1YsSUFBSVMsWUFBWTtnQkFDN0I7Z0JBQ0EsSUFBS1QsSUFBSVcsVUFBVSxJQUFJLFFBQVFYLElBQUlXLFVBQVUsS0FBSyxFQUFFLEVBQUc7b0JBQ25EVixFQUFFTSxNQUFNLENBQUM7b0JBQ1ROLEVBQUVTLE1BQU0sQ0FBQ1YsSUFBSVcsVUFBVTtnQkFDM0I7Z0JBQ0EsSUFBS1gsSUFBSVksV0FBVyxJQUFJLFFBQVFaLElBQUlZLFdBQVcsS0FBSyxJQUFLO29CQUNyRFgsRUFBRU0sTUFBTSxDQUFDO29CQUNUTixFQUFFWSxNQUFNLENBQUNiLElBQUlZ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Q3RCO1FBQ2xCLE9BQU9SLDhEQUFhQSxDQUFDUSxLQUFLK0MsWUFBWWhELEtBQUs7SUFDL0M7SUFDQWdELFlBQVl4QixNQUFNLEdBQUcsQ0FBQ0MsS0FBS3RCO1FBQ3ZCLE9BQU9YLDhEQUFhQSxDQUFDaUMsS0FBS3VCLFlBQVloRCxLQUFLLElBQUlHO0lBQ25EO0FBQ0osR0FBRzZDLGVBQWdCQSxDQUFBQSxjQUFjLENBQUMsS0FDbEMsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC9zdG9yZS5qcz8wZWI3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHBvcnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSAqL1xuaW1wb3J0IHsgQ29kZUVycm9yLCBkZWNvZGVNZXNzYWdlLCBlbmNvZGVNZXNzYWdlLCBlbnVtZXJhdGlvbiwgbWVzc2FnZSB9IGZyb20gJ3Byb3RvbnMtcnVudGltZSc7XG5pbXBvcnQgeyBhbGxvYyBhcyB1aW50OEFycmF5QWxsb2MgfSBmcm9tICd1aW50OGFycmF5cy9hbGxvYyc7XG5leHBvcnQgdmFyIEluZGV4O1xuKGZ1bmN0aW9uIChJbmRleCkge1xuICAgIGxldCBfY29kZWM7XG4gICAgSW5kZXguY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5kaWdlc3QgIT0gbnVsbCAmJiBvYmouZGlnZXN0LmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmRpZ2VzdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLnJlY2VpdmVyVGltZSAhPSBudWxsICYmIG9iai5yZWNlaXZlclRpbWUgIT09IDBuKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxNik7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai5yZWNlaXZlclRpbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zZW5kZXJUaW1lICE9IG51bGwgJiYgb2JqLnNlbmRlclRpbWUgIT09IDBuKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai5zZW5kZXJUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHVic3ViVG9waWMgIT0gbnVsbCAmJiBvYmoucHVic3ViVG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzNCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5wdWJzdWJUb3BpYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgZGlnZXN0OiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIHJlY2VpdmVyVGltZTogMG4sXG4gICAgICAgICAgICAgICAgICAgIHNlbmRlclRpbWU6IDBuLFxuICAgICAgICAgICAgICAgICAgICBwdWJzdWJUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmRpZ2VzdCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlY2VpdmVyVGltZSA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zZW5kZXJUaW1lID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnB1YnN1YlRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIEluZGV4LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBJbmRleC5jb2RlYygpKTtcbiAgICB9O1xuICAgIEluZGV4LmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBJbmRleC5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoSW5kZXggfHwgKEluZGV4ID0ge30pKTtcbmV4cG9ydCB2YXIgUGFnaW5nSW5mbztcbihmdW5jdGlvbiAoUGFnaW5nSW5mbykge1xuICAgIGxldCBEaXJlY3Rpb247XG4gICAgKGZ1bmN0aW9uIChEaXJlY3Rpb24pIHtcbiAgICAgICAgRGlyZWN0aW9uW1wiQkFDS1dBUkRcIl0gPSBcIkJBQ0tXQVJEXCI7XG4gICAgICAgIERpcmVjdGlvbltcIkZPUldBUkRcIl0gPSBcIkZPUldBUkRcIjtcbiAgICB9KShEaXJlY3Rpb24gPSBQYWdpbmdJbmZvLkRpcmVjdGlvbiB8fCAoUGFnaW5nSW5mby5EaXJlY3Rpb24gPSB7fSkpO1xuICAgIGxldCBfX0RpcmVjdGlvblZhbHVlcztcbiAgICAoZnVuY3Rpb24gKF9fRGlyZWN0aW9uVmFsdWVzKSB7XG4gICAgICAgIF9fRGlyZWN0aW9uVmFsdWVzW19fRGlyZWN0aW9uVmFsdWVzW1wiQkFDS1dBUkRcIl0gPSAwXSA9IFwiQkFDS1dBUkRcIjtcbiAgICAgICAgX19EaXJlY3Rpb25WYWx1ZXNbX19EaXJlY3Rpb25WYWx1ZXNbXCJGT1JXQVJEXCJdID0gMV0gPSBcIkZPUldBUkRcIjtcbiAgICB9KShfX0RpcmVjdGlvblZhbHVlcyB8fCAoX19EaXJlY3Rpb25WYWx1ZXMgPSB7fSkpO1xuICAgIChmdW5jdGlvbiAoRGlyZWN0aW9uKSB7XG4gICAgICAgIERpcmVjdGlvbi5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbnVtZXJhdGlvbihfX0RpcmVjdGlvblZhbHVlcyk7XG4gICAgICAgIH07XG4gICAgfSkoRGlyZWN0aW9uID0gUGFnaW5nSW5mby5EaXJlY3Rpb24gfHwgKFBhZ2luZ0luZm8uRGlyZWN0aW9uID0ge30pKTtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFBhZ2luZ0luZm8uY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnBhZ2VTaXplICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoOCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDY0KG9iai5wYWdlU2l6ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouY3Vyc29yICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICBJbmRleC5jb2RlYygpLmVuY29kZShvYmouY3Vyc29yLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5kaXJlY3Rpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIFBhZ2luZ0luZm8uRGlyZWN0aW9uLmNvZGVjKCkuZW5jb2RlKG9iai5kaXJlY3Rpb24sIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYWdlU2l6ZSA9IHJlYWRlci51aW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5jdXJzb3IgPSBJbmRleC5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5jdXJzb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5kaXJlY3Rpb24gPSBQYWdpbmdJbmZvLkRpcmVjdGlvbi5jb2RlYygpLmRlY29kZShyZWFkZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9jb2RlYztcbiAgICB9O1xuICAgIFBhZ2luZ0luZm8uZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFBhZ2luZ0luZm8uY29kZWMoKSk7XG4gICAgfTtcbiAgICBQYWdpbmdJbmZvLmRlY29kZSA9IChidWYsIG9wdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZU1lc3NhZ2UoYnVmLCBQYWdpbmdJbmZvLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShQYWdpbmdJbmZvIHx8IChQYWdpbmdJbmZvID0ge30pKTtcbmV4cG9ydCB2YXIgQ29udGVudEZpbHRlcjtcbihmdW5jdGlvbiAoQ29udGVudEZpbHRlcikge1xuICAgIGxldCBfY29kZWM7XG4gICAgQ29udGVudEZpbHRlci5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxMCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBDb250ZW50RmlsdGVyLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBDb250ZW50RmlsdGVyLmNvZGVjKCkpO1xuICAgIH07XG4gICAgQ29udGVudEZpbHRlci5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgQ29udGVudEZpbHRlci5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoQ29udGVudEZpbHRlciB8fCAoQ29udGVudEZpbHRlciA9IHt9KSk7XG5leHBvcnQgdmFyIEhpc3RvcnlRdWVyeTtcbihmdW5jdGlvbiAoSGlzdG9yeVF1ZXJ5KSB7XG4gICAgbGV0IF9jb2RlYztcbiAgICBIaXN0b3J5UXVlcnkuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnB1YnN1YlRvcGljICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTgpO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucHVic3ViVG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmNvbnRlbnRGaWx0ZXJzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmouY29udGVudEZpbHRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDI2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIENvbnRlbnRGaWx0ZXIuY29kZWMoKS5lbmNvZGUodmFsdWUsIHcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucGFnaW5nSW5mbyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDM0KTtcbiAgICAgICAgICAgICAgICAgICAgUGFnaW5nSW5mby5jb2RlYygpLmVuY29kZShvYmoucGFnaW5nSW5mbywgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmouc3RhcnRUaW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNDApO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmouc3RhcnRUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lbmRUaW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LnNpbnQ2NChvYmouZW5kVGltZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudEZpbHRlcnM6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wdWJzdWJUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLmxpbWl0cz8uY29udGVudEZpbHRlcnMgIT0gbnVsbCAmJiBvYmouY29udGVudEZpbHRlcnMubGVuZ3RoID09PSBvcHRzLmxpbWl0cy5jb250ZW50RmlsdGVycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdkZWNvZGUgZXJyb3IgLSBtYXAgZmllbGQgXCJjb250ZW50RmlsdGVyc1wiIGhhZCB0b28gbWFueSBlbGVtZW50cycsICdFUlJfTUFYX0xFTkdUSCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudEZpbHRlcnMucHVzaChDb250ZW50RmlsdGVyLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LmNvbnRlbnRGaWx0ZXJzJFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYWdpbmdJbmZvID0gUGFnaW5nSW5mby5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5wYWdpbmdJbmZvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouc3RhcnRUaW1lID0gcmVhZGVyLnNpbnQ2NCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVuZFRpbWUgPSByZWFkZXIuc2ludDY0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgSGlzdG9yeVF1ZXJ5LmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBIaXN0b3J5UXVlcnkuY29kZWMoKSk7XG4gICAgfTtcbiAgICBIaXN0b3J5UXVlcnkuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIEhpc3RvcnlRdWVyeS5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoSGlzdG9yeVF1ZXJ5IHx8IChIaXN0b3J5UXVlcnkgPSB7fSkpO1xuZXhwb3J0IHZhciBIaXN0b3J5UmVzcG9uc2U7XG4oZnVuY3Rpb24gKEhpc3RvcnlSZXNwb25zZSkge1xuICAgIGxldCBIaXN0b3J5RXJyb3I7XG4gICAgKGZ1bmN0aW9uIChIaXN0b3J5RXJyb3IpIHtcbiAgICAgICAgSGlzdG9yeUVycm9yW1wiTk9ORVwiXSA9IFwiTk9ORVwiO1xuICAgICAgICBIaXN0b3J5RXJyb3JbXCJJTlZBTElEX0NVUlNPUlwiXSA9IFwiSU5WQUxJRF9DVVJTT1JcIjtcbiAgICAgICAgSGlzdG9yeUVycm9yW1wiVE9PX01BTllfUkVTVUxUU1wiXSA9IFwiVE9PX01BTllfUkVTVUxUU1wiO1xuICAgICAgICBIaXN0b3J5RXJyb3JbXCJTRVJWSUNFX1VOQVZBSUxBQkxFXCJdID0gXCJTRVJWSUNFX1VOQVZBSUxBQkxFXCI7XG4gICAgfSkoSGlzdG9yeUVycm9yID0gSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvciB8fCAoSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvciA9IHt9KSk7XG4gICAgbGV0IF9fSGlzdG9yeUVycm9yVmFsdWVzO1xuICAgIChmdW5jdGlvbiAoX19IaXN0b3J5RXJyb3JWYWx1ZXMpIHtcbiAgICAgICAgX19IaXN0b3J5RXJyb3JWYWx1ZXNbX19IaXN0b3J5RXJyb3JWYWx1ZXNbXCJOT05FXCJdID0gMF0gPSBcIk5PTkVcIjtcbiAgICAgICAgX19IaXN0b3J5RXJyb3JWYWx1ZXNbX19IaXN0b3J5RXJyb3JWYWx1ZXNbXCJJTlZBTElEX0NVUlNPUlwiXSA9IDFdID0gXCJJTlZBTElEX0NVUlNPUlwiO1xuICAgICAgICBfX0hpc3RvcnlFcnJvclZhbHVlc1tfX0hpc3RvcnlFcnJvclZhbHVlc1tcIlRPT19NQU5ZX1JFU1VMVFNcIl0gPSA0MjldID0gXCJUT09fTUFOWV9SRVNVTFRTXCI7XG4gICAgICAgIF9fSGlzdG9yeUVycm9yVmFsdWVzW19fSGlzdG9yeUVycm9yVmFsdWVzW1wiU0VSVklDRV9VTkFWQUlMQUJMRVwiXSA9IDUwM10gPSBcIlNFUlZJQ0VfVU5BVkFJTEFCTEVcIjtcbiAgICB9KShfX0hpc3RvcnlFcnJvclZhbHVlcyB8fCAoX19IaXN0b3J5RXJyb3JWYWx1ZXMgPSB7fSkpO1xuICAgIChmdW5jdGlvbiAoSGlzdG9yeUVycm9yKSB7XG4gICAgICAgIEhpc3RvcnlFcnJvci5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBlbnVtZXJhdGlvbihfX0hpc3RvcnlFcnJvclZhbHVlcyk7XG4gICAgICAgIH07XG4gICAgfSkoSGlzdG9yeUVycm9yID0gSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvciB8fCAoSGlzdG9yeVJlc3BvbnNlLkhpc3RvcnlFcnJvciA9IHt9KSk7XG4gICAgbGV0IF9jb2RlYztcbiAgICBIaXN0b3J5UmVzcG9uc2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1lc3NhZ2VzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmoubWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFdha3VNZXNzYWdlLmNvZGVjKCkuZW5jb2RlKHZhbHVlLCB3KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnBhZ2luZ0luZm8gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIFBhZ2luZ0luZm8uY29kZWMoKS5lbmNvZGUob2JqLnBhZ2luZ0luZm8sIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLmVycm9yICE9IG51bGwgJiYgX19IaXN0b3J5RXJyb3JWYWx1ZXNbb2JqLmVycm9yXSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigzMik7XG4gICAgICAgICAgICAgICAgICAgIEhpc3RvcnlSZXNwb25zZS5IaXN0b3J5RXJyb3IuY29kZWMoKS5lbmNvZGUob2JqLmVycm9yLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmxkZWxpbSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIChyZWFkZXIsIGxlbmd0aCwgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlczogW10sXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBIaXN0b3J5RXJyb3IuTk9ORVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gbGVuZ3RoID09IG51bGwgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5saW1pdHM/Lm1lc3NhZ2VzICE9IG51bGwgJiYgb2JqLm1lc3NhZ2VzLmxlbmd0aCA9PT0gb3B0cy5saW1pdHMubWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvZGVFcnJvcignZGVjb2RlIGVycm9yIC0gbWFwIGZpZWxkIFwibWVzc2FnZXNcIiBoYWQgdG9vIG1hbnkgZWxlbWVudHMnLCAnRVJSX01BWF9MRU5HVEgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lc3NhZ2VzLnB1c2goV2FrdU1lc3NhZ2UuY29kZWMoKS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiBvcHRzLmxpbWl0cz8ubWVzc2FnZXMkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnBhZ2luZ0luZm8gPSBQYWdpbmdJbmZvLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnBhZ2luZ0luZm9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcnJvciA9IEhpc3RvcnlSZXNwb25zZS5IaXN0b3J5RXJyb3IuY29kZWMoKS5kZWNvZGUocmVhZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBIaXN0b3J5UmVzcG9uc2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIEhpc3RvcnlSZXNwb25zZS5jb2RlYygpKTtcbiAgICB9O1xuICAgIEhpc3RvcnlSZXNwb25zZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgSGlzdG9yeVJlc3BvbnNlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShIaXN0b3J5UmVzcG9uc2UgfHwgKEhpc3RvcnlSZXNwb25zZSA9IHt9KSk7XG5leHBvcnQgdmFyIEhpc3RvcnlScGM7XG4oZnVuY3Rpb24gKEhpc3RvcnlScGMpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIEhpc3RvcnlScGMuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5yZXF1ZXN0SWQgIT0gbnVsbCAmJiBvYmoucmVxdWVzdElkICE9PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTApO1xuICAgICAgICAgICAgICAgICAgICB3LnN0cmluZyhvYmoucmVxdWVzdElkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5xdWVyeSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgSGlzdG9yeVF1ZXJ5LmNvZGVjKCkuZW5jb2RlKG9iai5xdWVyeSwgdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvYmoucmVzcG9uc2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIEhpc3RvcnlSZXNwb25zZS5jb2RlYygpLmVuY29kZShvYmoucmVzcG9uc2UsIHcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RJZDogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlcXVlc3RJZCA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5xdWVyeSA9IEhpc3RvcnlRdWVyeS5jb2RlYygpLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IG9wdHMubGltaXRzPy5xdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJlc3BvbnNlID0gSGlzdG9yeVJlc3BvbnNlLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnJlc3BvbnNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgSGlzdG9yeVJwYy5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgSGlzdG9yeVJwYy5jb2RlYygpKTtcbiAgICB9O1xuICAgIEhpc3RvcnlScGMuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIEhpc3RvcnlScGMuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKEhpc3RvcnlScGMgfHwgKEhpc3RvcnlScGMgPSB7fSkpO1xuZXhwb3J0IHZhciBSYXRlTGltaXRQcm9vZjtcbihmdW5jdGlvbiAoUmF0ZUxpbWl0UHJvb2YpIHtcbiAgICBsZXQgX2NvZGVjO1xuICAgIFJhdGVMaW1pdFByb29mLmNvZGVjID0gKCkgPT4ge1xuICAgICAgICBpZiAoX2NvZGVjID09IG51bGwpIHtcbiAgICAgICAgICAgIF9jb2RlYyA9IG1lc3NhZ2UoKG9iaiwgdywgb3B0cyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdHMubGVuZ3RoRGVsaW1pdGVkICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3LmZvcmsoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucHJvb2YgIT0gbnVsbCAmJiBvYmoucHJvb2YuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucHJvb2YpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5tZXJrbGVSb290ICE9IG51bGwgJiYgb2JqLm1lcmtsZVJvb3QuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubWVya2xlUm9vdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmVwb2NoICE9IG51bGwgJiYgb2JqLmVwb2NoLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLmVwb2NoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmouc2hhcmVYICE9IG51bGwgJiYgb2JqLnNoYXJlWC5ieXRlTGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMzQpO1xuICAgICAgICAgICAgICAgICAgICB3LmJ5dGVzKG9iai5zaGFyZVgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5zaGFyZVkgIT0gbnVsbCAmJiBvYmouc2hhcmVZLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig0Mik7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnNoYXJlWSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLm51bGxpZmllciAhPSBudWxsICYmIG9iai5udWxsaWZpZXIuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoubnVsbGlmaWVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChvYmoucmxuSWRlbnRpZmllciAhPSBudWxsICYmIG9iai5ybG5JZGVudGlmaWVyLmJ5dGVMZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig1OCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLnJsbklkZW50aWZpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb29mOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIG1lcmtsZVJvb3Q6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgZXBvY2g6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVYOiB1aW50OEFycmF5QWxsb2MoMCksXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlWTogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBudWxsaWZpZXI6IHVpbnQ4QXJyYXlBbGxvYygwKSxcbiAgICAgICAgICAgICAgICAgICAgcmxuSWRlbnRpZmllcjogdWludDhBcnJheUFsbG9jKDApXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wcm9vZiA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm1lcmtsZVJvb3QgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5lcG9jaCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWCA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNoYXJlWSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bGxpZmllciA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnJsbklkZW50aWZpZXIgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5lbmNvZGUgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNvZGVNZXNzYWdlKG9iaiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSk7XG4gICAgfTtcbiAgICBSYXRlTGltaXRQcm9vZi5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKSwgb3B0cyk7XG4gICAgfTtcbn0pKFJhdGVMaW1pdFByb29mIHx8IChSYXRlTGltaXRQcm9vZiA9IHt9KSk7XG5leHBvcnQgdmFyIFdha3VNZXNzYWdlO1xuKGZ1bmN0aW9uIChXYWt1TWVzc2FnZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgV2FrdU1lc3NhZ2UuY29kZWMgPSAoKSA9PiB7XG4gICAgICAgIGlmIChfY29kZWMgPT0gbnVsbCkge1xuICAgICAgICAgICAgX2NvZGVjID0gbWVzc2FnZSgob2JqLCB3LCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcuZm9yaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG9iai5wYXlsb2FkICE9IG51bGwgJiYgb2JqLnBheWxvYWQuYnl0ZUxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgdy5ieXRlcyhvYmoucGF5bG9hZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnZlcnNpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNCk7XG4gICAgICAgICAgICAgICAgICAgIHcudWludDMyKG9iai52ZXJzaW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai50aW1lc3RhbXAgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig4MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc2ludDY0KG9iai50aW1lc3RhbXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLm1ldGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMig5MCk7XG4gICAgICAgICAgICAgICAgICAgIHcuYnl0ZXMob2JqLm1ldGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob2JqLnJhdGVMaW1pdFByb29mICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdy51aW50MzIoMTcwKTtcbiAgICAgICAgICAgICAgICAgICAgUmF0ZUxpbWl0UHJvb2YuY29kZWMoKS5lbmNvZGUob2JqLnJhdGVMaW1pdFByb29mLCB3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9iai5lcGhlbWVyYWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigyNDgpO1xuICAgICAgICAgICAgICAgICAgICB3LmJvb2wob2JqLmVwaGVtZXJhbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5sZGVsaW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAocmVhZGVyLCBsZW5ndGgsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZDogdWludDhBcnJheUFsbG9jKDApLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9waWM6ICcnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBsZW5ndGggPT0gbnVsbCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5wYXlsb2FkID0gcmVhZGVyLmJ5dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmouY29udGVudFRvcGljID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnZlcnNpb24gPSByZWFkZXIudWludDMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnRpbWVzdGFtcCA9IHJlYWRlci5zaW50NjQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmoubWV0YSA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5yYXRlTGltaXRQcm9vZiA9IFJhdGVMaW1pdFByb29mLmNvZGVjKCkuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czogb3B0cy5saW1pdHM/LnJhdGVMaW1pdFByb29mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDMxOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmVwaGVtZXJhbCA9IHJlYWRlci5ib29sKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2NvZGVjO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZW5jb2RlID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gZW5jb2RlTWVzc2FnZShvYmosIFdha3VNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgV2FrdU1lc3NhZ2UuZGVjb2RlID0gKGJ1Ziwgb3B0cykgPT4ge1xuICAgICAgICByZXR1cm4gZGVjb2RlTWVzc2FnZShidWYsIFdha3VNZXNzYWdlLmNvZGVjKCksIG9wdHMpO1xuICAgIH07XG59KShXYWt1TWVzc2FnZSB8fCAoV2FrdU1lc3NhZ2UgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RvcmUuanMubWFwIl0sIm5hbWVzIjpbIkNvZGVFcnJvciIsImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwiZW51bWVyYXRpb24iLCJtZXNzYWdlIiwiYWxsb2MiLCJ1aW50OEFycmF5QWxsb2MiLCJJbmRleCIsIl9jb2RlYyIsImNvZGVjIiwib2JqIiwidyIsIm9wdHMiLCJsZW5ndGhEZWxpbWl0ZWQiLCJmb3JrIiwiZGlnZXN0IiwiYnl0ZUxlbmd0aCIsInVpbnQzMiIsImJ5dGVzIiwicmVjZWl2ZXJUaW1lIiwic2ludDY0Iiwic2VuZGVyVGltZSIsInB1YnN1YlRvcGljIiwic3RyaW5nIiwibGRlbGltIiwicmVhZGVyIiwibGVuZ3RoIiwiZW5kIiwibGVuIiwicG9zIiwidGFnIiwic2tpcFR5cGUiLCJlbmNvZGUiLCJkZWNvZGUiLCJidWYiLCJQYWdpbmdJbmZvIiwiRGlyZWN0aW9uIiwiX19EaXJlY3Rpb25WYWx1ZXMiLCJwYWdlU2l6ZSIsInVpbnQ2NCIsImN1cnNvciIsImRpcmVjdGlvbiIsImxpbWl0cyIsIkNvbnRlbnRGaWx0ZXIiLCJjb250ZW50VG9waWMiLCJIaXN0b3J5UXVlcnkiLCJjb250ZW50RmlsdGVycyIsInZhbHVlIiwicGFnaW5nSW5mbyIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJwdXNoIiwiY29udGVudEZpbHRlcnMkIiwiSGlzdG9yeVJlc3BvbnNlIiwiSGlzdG9yeUVycm9yIiwiX19IaXN0b3J5RXJyb3JWYWx1ZXMiLCJtZXNzYWdlcyIsIldha3VNZXNzYWdlIiwiZXJyb3IiLCJOT05FIiwibWVzc2FnZXMkIiwiSGlzdG9yeVJwYyIsInJlcXVlc3RJZCIsInF1ZXJ5IiwicmVzcG9uc2UiLCJSYXRlTGltaXRQcm9vZiIsInByb29mIiwibWVya2xlUm9vdCIsImVwb2NoIiwic2hhcmVYIiwic2hhcmVZIiwibnVsbGlmaWVyIiwicmxuSWRlbnRpZmllciIsInBheWxvYWQiLCJ2ZXJzaW9uIiwidGltZXN0YW1wIiwibWV0YSIsInJhdGVMaW1pdFByb29mIiwiZXBoZW1lcmFsIiwiYm9vbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/topic_only_message.js":
/*!**********************************************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/topic_only_message.js ***!
\**********************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopicOnlyMessage: () => (/* binding */ TopicOnlyMessage)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar TopicOnlyMessage;\n(function(TopicOnlyMessage) {\n let _codec;\n TopicOnlyMessage.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.contentTopic != null && obj.contentTopic !== \"\") {\n w.uint32(18);\n w.string(obj.contentTopic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {\n contentTopic: \"\"\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 2:\n {\n obj.contentTopic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n TopicOnlyMessage.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, TopicOnlyMessage.codec());\n };\n TopicOnlyMessage.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, TopicOnlyMessage.codec(), opts);\n };\n})(TopicOnlyMessage || (TopicOnlyMessage = {})); //# sourceMappingURL=topic_only_message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2dlbmVyYXRlZC90b3BpY19vbmx5X21lc3NhZ2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnQ0FBZ0MsR0FDaEMsNkJBQTZCLEdBQzdCLGtEQUFrRCxHQUNsRCw0RUFBNEUsR0FDNUUsd0RBQXdELEdBQ2dCO0FBQ2pFLElBQUlHLGlCQUFpQjtBQUMzQixVQUFVQSxnQkFBZ0I7SUFDdkIsSUFBSUM7SUFDSkQsaUJBQWlCRSxLQUFLLEdBQUc7UUFDckIsSUFBSUQsVUFBVSxNQUFNO1lBQ2hCQSxTQUFTRix3REFBT0EsQ0FBQyxDQUFDSSxLQUFLQyxHQUFHQyxPQUFPLENBQUMsQ0FBQztnQkFDL0IsSUFBSUEsS0FBS0MsZUFBZSxLQUFLLE9BQU87b0JBQ2hDRixFQUFFRyxJQUFJO2dCQUNWO2dCQUNBLElBQUtKLElBQUlLLFlBQVksSUFBSSxRQUFRTCxJQUFJSyxZQUFZLEtBQUssSUFBSztvQkFDdkRKLEVBQUVLLE1BQU0sQ0FBQztvQkFDVEwsRUFBRU0sTUFBTSxDQUFDUCxJQUFJSyxZQUFZO2dCQUM3QjtnQkFDQSxJQUFJSCxLQUFLQyxlQUFlLEtBQUssT0FBTztvQkFDaENGLEVBQUVPLE1BQU07Z0JBQ1o7WUFDSixHQUFHLENBQUNDLFFBQVFDLFFBQVFSLE9BQU8sQ0FBQyxDQUFDO2dCQUN6QixNQUFNRixNQUFNO29CQUNSSyxjQUFjO2dCQUNsQjtnQkFDQSxNQUFNTSxNQUFNRCxVQUFVLE9BQU9ELE9BQU9HLEdBQUcsR0FBR0gsT0FBT0ksR0FBRyxHQUFHSDtnQkFDdkQsTUFBT0QsT0FBT0ksR0FBRyxHQUFHRixJQUFLO29CQUNyQixNQUFNRyxNQUFNTCxPQUFPSCxNQUFNO29CQUN6QixPQUFRUSxRQUFRO3dCQUNaLEtBQUs7NEJBQUc7Z0NBQ0pkLElBQUlLLFlBQVksR0FBR0ksT0FBT0YsTUFBTTtnQ0FDaEM7NEJBQ0o7d0JBQ0E7NEJBQVM7Z0NBQ0xFLE9BQU9NLFFBQVEsQ0FBQ0QsTUFBTTtnQ0FDdEI7NEJBQ0o7b0JBQ0o7Z0JBQ0o7Z0JBQ0EsT0FBT2Q7WUFDWDtRQUNKO1FBQ0EsT0FBT0Y7SUFDWDtJQUNBRCxpQkFBaUJtQixNQUFNLEdBQUcsQ0FBQ2hCO1FBQ3ZCLE9BQU9MLDhEQUFhQSxDQUFDSyxLQUFLSCxpQkFBaUJFLEtBQUs7SUFDcEQ7SUFDQUYsaUJBQWlCb0IsTUFBTSxHQUFHLENBQUNDLEtBQUtoQjtRQUM1QixPQUFPUiw4REFBYUEsQ0FBQ3dCLEtBQUtyQixpQkFBaUJFLEtBQUssSUFBSUc7SUFDeEQ7QUFDSixHQUFHTCxvQkFBcUJBLENBQUFBLG1CQUFtQixDQUFDLEtBQzVDLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9nZW5lcmF0ZWQvdG9waWNfb25seV9tZXNzYWdlLmpzPzU4YWYiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4cG9ydCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5pbXBvcnQgeyBkZWNvZGVNZXNzYWdlLCBlbmNvZGVNZXNzYWdlLCBtZXNzYWdlIH0gZnJvbSAncHJvdG9ucy1ydW50aW1lJztcbmV4cG9ydCB2YXIgVG9waWNPbmx5TWVzc2FnZTtcbihmdW5jdGlvbiAoVG9waWNPbmx5TWVzc2FnZSkge1xuICAgIGxldCBfY29kZWM7XG4gICAgVG9waWNPbmx5TWVzc2FnZS5jb2RlYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKF9jb2RlYyA9PSBudWxsKSB7XG4gICAgICAgICAgICBfY29kZWMgPSBtZXNzYWdlKChvYmosIHcsIG9wdHMgPSB7fSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmxlbmd0aERlbGltaXRlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdy5mb3JrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgob2JqLmNvbnRlbnRUb3BpYyAhPSBudWxsICYmIG9iai5jb250ZW50VG9waWMgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgICAgICB3LnVpbnQzMigxOCk7XG4gICAgICAgICAgICAgICAgICAgIHcuc3RyaW5nKG9iai5jb250ZW50VG9waWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy5sZW5ndGhEZWxpbWl0ZWQgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHcubGRlbGltKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgKHJlYWRlciwgbGVuZ3RoLCBvcHRzID0ge30pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb3BpYzogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IGxlbmd0aCA9PSBudWxsID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLmNvbnRlbnRUb3BpYyA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfY29kZWM7XG4gICAgfTtcbiAgICBUb3BpY09ubHlNZXNzYWdlLmVuY29kZSA9IChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY29kZU1lc3NhZ2Uob2JqLCBUb3BpY09ubHlNZXNzYWdlLmNvZGVjKCkpO1xuICAgIH07XG4gICAgVG9waWNPbmx5TWVzc2FnZS5kZWNvZGUgPSAoYnVmLCBvcHRzKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWNvZGVNZXNzYWdlKGJ1ZiwgVG9waWNPbmx5TWVzc2FnZS5jb2RlYygpLCBvcHRzKTtcbiAgICB9O1xufSkoVG9waWNPbmx5TWVzc2FnZSB8fCAoVG9waWNPbmx5TWVzc2FnZSA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD10b3BpY19vbmx5X21lc3NhZ2UuanMubWFwIl0sIm5hbWVzIjpbImRlY29kZU1lc3NhZ2UiLCJlbmNvZGVNZXNzYWdlIiwibWVzc2FnZSIsIlRvcGljT25seU1lc3NhZ2UiLCJfY29kZWMiLCJjb2RlYyIsIm9iaiIsInciLCJvcHRzIiwibGVuZ3RoRGVsaW1pdGVkIiwiZm9yayIsImNvbnRlbnRUb3BpYyIsInVpbnQzMiIsInN0cmluZyIsImxkZWxpbSIsInJlYWRlciIsImxlbmd0aCIsImVuZCIsImxlbiIsInBvcyIsInRhZyIsInNraXBUeXBlIiwiZW5jb2RlIiwiZGVjb2RlIiwiYnVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/topic_only_message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/index.js":
/*!***********************************************************************!*\
!*** ./node_modules/@waku/sdk/node_modules/@waku/proto/dist/index.js ***!
\***********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PushResponse: () => (/* reexport safe */ _generated_light_push_js__WEBPACK_IMPORTED_MODULE_4__.PushResponse),\n/* harmony export */ TopicOnlyMessage: () => (/* reexport safe */ _generated_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__.TopicOnlyMessage),\n/* harmony export */ WakuMessage: () => (/* reexport safe */ _generated_filter_js__WEBPACK_IMPORTED_MODULE_1__.WakuMessage),\n/* harmony export */ proto_filter: () => (/* reexport module object */ _generated_filter_js__WEBPACK_IMPORTED_MODULE_1__),\n/* harmony export */ proto_filter_v2: () => (/* reexport module object */ _generated_filter_v2_js__WEBPACK_IMPORTED_MODULE_3__),\n/* harmony export */ proto_lightpush: () => (/* reexport module object */ _generated_light_push_js__WEBPACK_IMPORTED_MODULE_4__),\n/* harmony export */ proto_message: () => (/* reexport module object */ _generated_message_js__WEBPACK_IMPORTED_MODULE_0__),\n/* harmony export */ proto_metadata: () => (/* reexport module object */ _generated_metadata_js__WEBPACK_IMPORTED_MODULE_7__),\n/* harmony export */ proto_peer_exchange: () => (/* reexport module object */ _generated_peer_exchange_js__WEBPACK_IMPORTED_MODULE_6__),\n/* harmony export */ proto_store: () => (/* reexport module object */ _generated_store_js__WEBPACK_IMPORTED_MODULE_5__),\n/* harmony export */ proto_topic_only_message: () => (/* reexport module object */ _generated_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__)\n/* harmony export */ });\n/* harmony import */ var _generated_message_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./generated/message.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/message.js\");\n/* harmony import */ var _generated_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./generated/filter.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/filter.js\");\n/* harmony import */ var _generated_topic_only_message_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./generated/topic_only_message.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/topic_only_message.js\");\n/* harmony import */ var _generated_filter_v2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./generated/filter_v2.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/filter_v2.js\");\n/* harmony import */ var _generated_light_push_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./generated/light_push.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/light_push.js\");\n/* harmony import */ var _generated_store_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./generated/store.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/store.js\");\n/* harmony import */ var _generated_peer_exchange_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./generated/peer_exchange.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/peer_exchange.js\");\n/* harmony import */ var _generated_metadata_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./generated/metadata.js */ \"(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/generated/metadata.js\");\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3Uvc2RrL25vZGVfbW9kdWxlcy9Ad2FrdS9wcm90by9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBd0Q7QUFDSjtBQUMwQjtBQUNUO0FBQ2Y7QUFDTTtBQUNDO0FBQ0o7QUFDTDtBQUNnQjtBQUNWLENBQzFELGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3Nkay9ub2RlX21vZHVsZXMvQHdha3UvcHJvdG8vZGlzdC9pbmRleC5qcz9jYzgwIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGFzIHByb3RvX21lc3NhZ2UgZnJvbSBcIi4vZ2VuZXJhdGVkL21lc3NhZ2UuanNcIjtcbmV4cG9ydCB7IFdha3VNZXNzYWdlIH0gZnJvbSBcIi4vZ2VuZXJhdGVkL2ZpbHRlci5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fdG9waWNfb25seV9tZXNzYWdlIGZyb20gXCIuL2dlbmVyYXRlZC90b3BpY19vbmx5X21lc3NhZ2UuanNcIjtcbmV4cG9ydCB7IFRvcGljT25seU1lc3NhZ2UgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvdG9waWNfb25seV9tZXNzYWdlLmpzXCI7XG5leHBvcnQgKiBhcyBwcm90b19maWx0ZXIgZnJvbSBcIi4vZ2VuZXJhdGVkL2ZpbHRlci5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fZmlsdGVyX3YyIGZyb20gXCIuL2dlbmVyYXRlZC9maWx0ZXJfdjIuanNcIjtcbmV4cG9ydCAqIGFzIHByb3RvX2xpZ2h0cHVzaCBmcm9tIFwiLi9nZW5lcmF0ZWQvbGlnaHRfcHVzaC5qc1wiO1xuZXhwb3J0IHsgUHVzaFJlc3BvbnNlIH0gZnJvbSBcIi4vZ2VuZXJhdGVkL2xpZ2h0X3B1c2guanNcIjtcbmV4cG9ydCAqIGFzIHByb3RvX3N0b3JlIGZyb20gXCIuL2dlbmVyYXRlZC9zdG9yZS5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fcGVlcl9leGNoYW5nZSBmcm9tIFwiLi9nZW5lcmF0ZWQvcGVlcl9leGNoYW5nZS5qc1wiO1xuZXhwb3J0ICogYXMgcHJvdG9fbWV0YWRhdGEgZnJvbSAnLi9nZW5lcmF0ZWQvbWV0YWRhdGEuanMnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbInByb3RvX21lc3NhZ2UiLCJXYWt1TWVzc2FnZSIsInByb3RvX3RvcGljX29ubHlfbWVzc2FnZSIsIlRvcGljT25seU1lc3NhZ2UiLCJwcm90b19maWx0ZXIiLCJwcm90b19maWx0ZXJfdjIiLCJwcm90b19saWdodHB1c2giLCJQdXNoUmVzcG9uc2UiLCJwcm90b19zdG9yZSIsInByb3RvX3BlZXJfZXhjaGFuZ2UiLCJwcm90b19tZXRhZGF0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/sdk/node_modules/@waku/proto/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/bytes/index.js":
/*!******************************************************!*\
!*** ./node_modules/@waku/utils/dist/bytes/index.js ***!
\******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bytesToHex: () => (/* binding */ bytesToHex),\n/* harmony export */ bytesToUtf8: () => (/* binding */ bytesToUtf8),\n/* harmony export */ concat: () => (/* binding */ concat),\n/* harmony export */ hexToBytes: () => (/* binding */ hexToBytes),\n/* harmony export */ utf8ToBytes: () => (/* binding */ utf8ToBytes)\n/* harmony export */ });\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n\n\n/**\n * Convert input to a byte array.\n *\n * Handles both `0x` prefixed and non-prefixed strings.\n */ function hexToBytes(hex) {\n if (typeof hex === \"string\") {\n const _hex = hex.replace(/^0x/i, \"\");\n return (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_0__.fromString)(_hex.toLowerCase(), \"base16\");\n }\n return hex;\n}\n/**\n * Convert byte array to hex string (no `0x` prefix).\n */ const bytesToHex = (bytes)=>(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(bytes, \"base16\");\n/**\n * Decode byte array to utf-8 string.\n */ const bytesToUtf8 = (b)=>(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(b, \"utf8\");\n/**\n * Encode utf-8 string to byte array.\n */ const utf8ToBytes = (s)=>(0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_0__.fromString)(s, \"utf8\");\n/**\n * Concatenate using Uint8Arrays as `Buffer` has a different behavior with `DataView`\n */ function concat(byteArrays, totalLength) {\n const len = totalLength ?? byteArrays.reduce((acc, curr)=>acc + curr.length, 0);\n const res = new Uint8Array(len);\n let offset = 0;\n for (const bytes of byteArrays){\n res.set(bytes, offset);\n offset += bytes.length;\n }\n return res;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9ieXRlcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQXFEO0FBQ0o7QUFDakQ7Ozs7Q0FJQyxHQUNNLFNBQVNFLFdBQVdDLEdBQUc7SUFDMUIsSUFBSSxPQUFPQSxRQUFRLFVBQVU7UUFDekIsTUFBTUMsT0FBT0QsSUFBSUUsT0FBTyxDQUFDLFFBQVE7UUFDakMsT0FBT0wsbUVBQVVBLENBQUNJLEtBQUtFLFdBQVcsSUFBSTtJQUMxQztJQUNBLE9BQU9IO0FBQ1g7QUFDQTs7Q0FFQyxHQUNNLE1BQU1JLGFBQWEsQ0FBQ0MsUUFBVVAsK0RBQVFBLENBQUNPLE9BQU8sVUFBVTtBQUMvRDs7Q0FFQyxHQUNNLE1BQU1DLGNBQWMsQ0FBQ0MsSUFBTVQsK0RBQVFBLENBQUNTLEdBQUcsUUFBUTtBQUN0RDs7Q0FFQyxHQUNNLE1BQU1DLGNBQWMsQ0FBQ0MsSUFBTVosbUVBQVVBLENBQUNZLEdBQUcsUUFBUTtBQUN4RDs7Q0FFQyxHQUNNLFNBQVNDLE9BQU9DLFVBQVUsRUFBRUMsV0FBVztJQUMxQyxNQUFNQyxNQUFNRCxlQUFlRCxXQUFXRyxNQUFNLENBQUMsQ0FBQ0MsS0FBS0MsT0FBU0QsTUFBTUMsS0FBS0MsTUFBTSxFQUFFO0lBQy9FLE1BQU1DLE1BQU0sSUFBSUMsV0FBV047SUFDM0IsSUFBSU8sU0FBUztJQUNiLEtBQUssTUFBTWYsU0FBU00sV0FBWTtRQUM1Qk8sSUFBSUcsR0FBRyxDQUFDaEIsT0FBT2U7UUFDZkEsVUFBVWYsTUFBTVksTUFBTTtJQUMxQjtJQUNBLE9BQU9DO0FBQ1gsRUFDQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2J5dGVzL2luZGV4LmpzPzEwYmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbVN0cmluZyB9IGZyb20gXCJ1aW50OGFycmF5cy9mcm9tLXN0cmluZ1wiO1xuaW1wb3J0IHsgdG9TdHJpbmcgfSBmcm9tIFwidWludDhhcnJheXMvdG8tc3RyaW5nXCI7XG4vKipcbiAqIENvbnZlcnQgaW5wdXQgdG8gYSBieXRlIGFycmF5LlxuICpcbiAqIEhhbmRsZXMgYm90aCBgMHhgIHByZWZpeGVkIGFuZCBub24tcHJlZml4ZWQgc3RyaW5ncy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhleFRvQnl0ZXMoaGV4KSB7XG4gICAgaWYgKHR5cGVvZiBoZXggPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgY29uc3QgX2hleCA9IGhleC5yZXBsYWNlKC9eMHgvaSwgXCJcIik7XG4gICAgICAgIHJldHVybiBmcm9tU3RyaW5nKF9oZXgudG9Mb3dlckNhc2UoKSwgXCJiYXNlMTZcIik7XG4gICAgfVxuICAgIHJldHVybiBoZXg7XG59XG4vKipcbiAqIENvbnZlcnQgYnl0ZSBhcnJheSB0byBoZXggc3RyaW5nIChubyBgMHhgIHByZWZpeCkuXG4gKi9cbmV4cG9ydCBjb25zdCBieXRlc1RvSGV4ID0gKGJ5dGVzKSA9PiB0b1N0cmluZyhieXRlcywgXCJiYXNlMTZcIik7XG4vKipcbiAqIERlY29kZSBieXRlIGFycmF5IHRvIHV0Zi04IHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ5dGVzVG9VdGY4ID0gKGIpID0+IHRvU3RyaW5nKGIsIFwidXRmOFwiKTtcbi8qKlxuICogRW5jb2RlIHV0Zi04IHN0cmluZyB0byBieXRlIGFycmF5LlxuICovXG5leHBvcnQgY29uc3QgdXRmOFRvQnl0ZXMgPSAocykgPT4gZnJvbVN0cmluZyhzLCBcInV0ZjhcIik7XG4vKipcbiAqIENvbmNhdGVuYXRlIHVzaW5nIFVpbnQ4QXJyYXlzIGFzIGBCdWZmZXJgIGhhcyBhIGRpZmZlcmVudCBiZWhhdmlvciB3aXRoIGBEYXRhVmlld2BcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmNhdChieXRlQXJyYXlzLCB0b3RhbExlbmd0aCkge1xuICAgIGNvbnN0IGxlbiA9IHRvdGFsTGVuZ3RoID8/IGJ5dGVBcnJheXMucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYyArIGN1cnIubGVuZ3RoLCAwKTtcbiAgICBjb25zdCByZXMgPSBuZXcgVWludDhBcnJheShsZW4pO1xuICAgIGxldCBvZmZzZXQgPSAwO1xuICAgIGZvciAoY29uc3QgYnl0ZXMgb2YgYnl0ZUFycmF5cykge1xuICAgICAgICByZXMuc2V0KGJ5dGVzLCBvZmZzZXQpO1xuICAgICAgICBvZmZzZXQgKz0gYnl0ZXMubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbImZyb21TdHJpbmciLCJ0b1N0cmluZyIsImhleFRvQnl0ZXMiLCJoZXgiLCJfaGV4IiwicmVwbGFjZSIsInRvTG93ZXJDYXNlIiwiYnl0ZXNUb0hleCIsImJ5dGVzIiwiYnl0ZXNUb1V0ZjgiLCJiIiwidXRmOFRvQnl0ZXMiLCJzIiwiY29uY2F0IiwiYnl0ZUFycmF5cyIsInRvdGFsTGVuZ3RoIiwibGVuIiwicmVkdWNlIiwiYWNjIiwiY3VyciIsImxlbmd0aCIsInJlcyIsIlVpbnQ4QXJyYXkiLCJvZmZzZXQiLCJzZXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/common/group_by.js":
/*!**********************************************************!*\
!*** ./node_modules/@waku/utils/dist/common/group_by.js ***!
\**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ groupByContentTopic: () => (/* binding */ groupByContentTopic)\n/* harmony export */ });\nfunction groupByContentTopic(values) {\n const groupedDecoders = new Map();\n values.forEach((value)=>{\n let decs = groupedDecoders.get(value.contentTopic);\n if (!decs) {\n groupedDecoders.set(value.contentTopic, []);\n decs = groupedDecoders.get(value.contentTopic);\n }\n decs.push(value);\n });\n return groupedDecoders;\n} //# sourceMappingURL=group_by.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vZ3JvdXBfYnkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPLFNBQVNBLG9CQUFvQkMsTUFBTTtJQUN0QyxNQUFNQyxrQkFBa0IsSUFBSUM7SUFDNUJGLE9BQU9HLE9BQU8sQ0FBQyxDQUFDQztRQUNaLElBQUlDLE9BQU9KLGdCQUFnQkssR0FBRyxDQUFDRixNQUFNRyxZQUFZO1FBQ2pELElBQUksQ0FBQ0YsTUFBTTtZQUNQSixnQkFBZ0JPLEdBQUcsQ0FBQ0osTUFBTUcsWUFBWSxFQUFFLEVBQUU7WUFDMUNGLE9BQU9KLGdCQUFnQkssR0FBRyxDQUFDRixNQUFNRyxZQUFZO1FBQ2pEO1FBQ0FGLEtBQUtJLElBQUksQ0FBQ0w7SUFDZDtJQUNBLE9BQU9IO0FBQ1gsRUFDQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9ncm91cF9ieS5qcz8zYmJkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBncm91cEJ5Q29udGVudFRvcGljKHZhbHVlcykge1xuICAgIGNvbnN0IGdyb3VwZWREZWNvZGVycyA9IG5ldyBNYXAoKTtcbiAgICB2YWx1ZXMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgbGV0IGRlY3MgPSBncm91cGVkRGVjb2RlcnMuZ2V0KHZhbHVlLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgIGlmICghZGVjcykge1xuICAgICAgICAgICAgZ3JvdXBlZERlY29kZXJzLnNldCh2YWx1ZS5jb250ZW50VG9waWMsIFtdKTtcbiAgICAgICAgICAgIGRlY3MgPSBncm91cGVkRGVjb2RlcnMuZ2V0KHZhbHVlLmNvbnRlbnRUb3BpYyk7XG4gICAgICAgIH1cbiAgICAgICAgZGVjcy5wdXNoKHZhbHVlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZ3JvdXBlZERlY29kZXJzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z3JvdXBfYnkuanMubWFwIl0sIm5hbWVzIjpbImdyb3VwQnlDb250ZW50VG9waWMiLCJ2YWx1ZXMiLCJncm91cGVkRGVjb2RlcnMiLCJNYXAiLCJmb3JFYWNoIiwidmFsdWUiLCJkZWNzIiwiZ2V0IiwiY29udGVudFRvcGljIiwic2V0IiwicHVzaCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/common/group_by.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/common/index.js":
/*!*******************************************************!*\
!*** ./node_modules/@waku/utils/dist/common/index.js ***!
\*******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ contentTopicToPubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.contentTopicToPubsubTopic),\n/* harmony export */ contentTopicToShardIndex: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.contentTopicToShardIndex),\n/* harmony export */ contentTopicsByPubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.contentTopicsByPubsubTopic),\n/* harmony export */ decodeRelayShard: () => (/* reexport safe */ _relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_7__.decodeRelayShard),\n/* harmony export */ determinePubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.determinePubsubTopic),\n/* harmony export */ encodeRelayShard: () => (/* reexport safe */ _relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_7__.encodeRelayShard),\n/* harmony export */ ensurePubsubTopicIsConfigured: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.ensurePubsubTopicIsConfigured),\n/* harmony export */ ensureShardingConfigured: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.ensureShardingConfigured),\n/* harmony export */ ensureValidContentTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.ensureValidContentTopic),\n/* harmony export */ getPseudoRandomSubset: () => (/* reexport safe */ _random_subset_js__WEBPACK_IMPORTED_MODULE_1__.getPseudoRandomSubset),\n/* harmony export */ getWsMultiaddrFromMultiaddrs: () => (/* binding */ getWsMultiaddrFromMultiaddrs),\n/* harmony export */ groupByContentTopic: () => (/* reexport safe */ _group_by_js__WEBPACK_IMPORTED_MODULE_2__.groupByContentTopic),\n/* harmony export */ isDefined: () => (/* reexport safe */ _is_defined_js__WEBPACK_IMPORTED_MODULE_0__.isDefined),\n/* harmony export */ isMessageSizeUnderCap: () => (/* reexport safe */ _is_size_valid_js__WEBPACK_IMPORTED_MODULE_4__.isMessageSizeUnderCap),\n/* harmony export */ isWireSizeUnderCap: () => (/* reexport safe */ _is_size_valid_js__WEBPACK_IMPORTED_MODULE_4__.isWireSizeUnderCap),\n/* harmony export */ pubsubTopicToSingleShardInfo: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.pubsubTopicToSingleShardInfo),\n/* harmony export */ pushOrInitMapSet: () => (/* reexport safe */ _push_or_init_map_js__WEBPACK_IMPORTED_MODULE_6__.pushOrInitMapSet),\n/* harmony export */ removeItemFromArray: () => (/* binding */ removeItemFromArray),\n/* harmony export */ shardInfoToPubsubTopics: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.shardInfoToPubsubTopics),\n/* harmony export */ singleShardInfoToPubsubTopic: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.singleShardInfoToPubsubTopic),\n/* harmony export */ singleShardInfosToShardInfo: () => (/* reexport safe */ _sharding_js__WEBPACK_IMPORTED_MODULE_5__.singleShardInfosToShardInfo),\n/* harmony export */ toAsyncIterator: () => (/* reexport safe */ _to_async_iterator_js__WEBPACK_IMPORTED_MODULE_3__.toAsyncIterator)\n/* harmony export */ });\n/* harmony import */ var _is_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./is_defined.js */ \"(ssr)/./node_modules/@waku/utils/dist/common/is_defined.js\");\n/* harmony import */ var _random_subset_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./random_subset.js */ \"(ssr)/./node_modules/@waku/utils/dist/common/random_subset.js\");\n/* harmony import */ var _group_by_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./group_by.js */ \"(ssr)/./node_modules/@waku/utils/dist/common/group_by.js\");\n/* harmony import */ var _to_async_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./to_async_iterator.js */ \"(ssr)/./node_modules/@waku/utils/dist/common/to_async_iterator.js\");\n/* harmony import */ var _is_size_valid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./is_size_valid.js */ \"(ssr)/./node_modules/@waku/utils/dist/common/is_size_valid.js\");\n/* harmony import */ var _sharding_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sharding.js */ \"(ssr)/./node_modules/@waku/utils/dist/common/sharding.js\");\n/* harmony import */ var _push_or_init_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./push_or_init_map.js */ \"(ssr)/./node_modules/@waku/utils/dist/common/push_or_init_map.js\");\n/* harmony import */ var _relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./relay_shard_codec.js */ \"(ssr)/./node_modules/@waku/utils/dist/common/relay_shard_codec.js\");\n\n\n\n\n\n\n\n\nfunction removeItemFromArray(arr, value) {\n const index = arr.indexOf(value);\n if (index > -1) {\n arr.splice(index, 1);\n }\n return arr;\n}\nfunction getWsMultiaddrFromMultiaddrs(addresses) {\n const wsMultiaddr = addresses.find((addr)=>addr.toString().includes(\"ws\") || addr.toString().includes(\"wss\"));\n if (!wsMultiaddr) {\n throw new Error(\"No ws multiaddr found in the given addresses\");\n }\n return wsMultiaddr;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWdDO0FBQ0c7QUFDTDtBQUNTO0FBQ0o7QUFDTDtBQUNRO0FBQ0M7QUFDaEMsU0FBU0Esb0JBQW9CQyxHQUFHLEVBQUVDLEtBQUs7SUFDMUMsTUFBTUMsUUFBUUYsSUFBSUcsT0FBTyxDQUFDRjtJQUMxQixJQUFJQyxRQUFRLENBQUMsR0FBRztRQUNaRixJQUFJSSxNQUFNLENBQUNGLE9BQU87SUFDdEI7SUFDQSxPQUFPRjtBQUNYO0FBQ08sU0FBU0ssNkJBQTZCQyxTQUFTO0lBQ2xELE1BQU1DLGNBQWNELFVBQVVFLElBQUksQ0FBQyxDQUFDQyxPQUFTQSxLQUFLQyxRQUFRLEdBQUdDLFFBQVEsQ0FBQyxTQUFTRixLQUFLQyxRQUFRLEdBQUdDLFFBQVEsQ0FBQztJQUN4RyxJQUFJLENBQUNKLGFBQWE7UUFDZCxNQUFNLElBQUlLLE1BQU07SUFDcEI7SUFDQSxPQUFPTDtBQUNYLEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vaW5kZXguanM/ZjRkNyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9pc19kZWZpbmVkLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yYW5kb21fc3Vic2V0LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ncm91cF9ieS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9fYXN5bmNfaXRlcmF0b3IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lzX3NpemVfdmFsaWQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NoYXJkaW5nLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wdXNoX29yX2luaXRfbWFwLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWxheV9zaGFyZF9jb2RlYy5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUl0ZW1Gcm9tQXJyYXkoYXJyLCB2YWx1ZSkge1xuICAgIGNvbnN0IGluZGV4ID0gYXJyLmluZGV4T2YodmFsdWUpO1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGFyci5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFdzTXVsdGlhZGRyRnJvbU11bHRpYWRkcnMoYWRkcmVzc2VzKSB7XG4gICAgY29uc3Qgd3NNdWx0aWFkZHIgPSBhZGRyZXNzZXMuZmluZCgoYWRkcikgPT4gYWRkci50b1N0cmluZygpLmluY2x1ZGVzKFwid3NcIikgfHwgYWRkci50b1N0cmluZygpLmluY2x1ZGVzKFwid3NzXCIpKTtcbiAgICBpZiAoIXdzTXVsdGlhZGRyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHdzIG11bHRpYWRkciBmb3VuZCBpbiB0aGUgZ2l2ZW4gYWRkcmVzc2VzXCIpO1xuICAgIH1cbiAgICByZXR1cm4gd3NNdWx0aWFkZHI7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsicmVtb3ZlSXRlbUZyb21BcnJheSIsImFyciIsInZhbHVlIiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwiZ2V0V3NNdWx0aWFkZHJGcm9tTXVsdGlhZGRycyIsImFkZHJlc3NlcyIsIndzTXVsdGlhZGRyIiwiZmluZCIsImFkZHIiLCJ0b1N0cmluZyIsImluY2x1ZGVzIiwiRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/common/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/common/is_defined.js":
/*!************************************************************!*\
!*** ./node_modules/@waku/utils/dist/common/is_defined.js ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isDefined: () => (/* binding */ isDefined)\n/* harmony export */ });\nfunction isDefined(value) {\n return Boolean(value);\n} //# sourceMappingURL=is_defined.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vaXNfZGVmaW5lZC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sU0FBU0EsVUFBVUMsS0FBSztJQUMzQixPQUFPQyxRQUFRRDtBQUNuQixFQUNBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvY29tbW9uL2lzX2RlZmluZWQuanM/MGZmMCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNEZWZpbmVkKHZhbHVlKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odmFsdWUpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNfZGVmaW5lZC5qcy5tYXAiXSwibmFtZXMiOlsiaXNEZWZpbmVkIiwidmFsdWUiLCJCb29sZWFuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/common/is_defined.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/common/is_size_valid.js":
/*!***************************************************************!*\
!*** ./node_modules/@waku/utils/dist/common/is_size_valid.js ***!
\***************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isMessageSizeUnderCap: () => (/* binding */ isMessageSizeUnderCap),\n/* harmony export */ isWireSizeUnderCap: () => (/* binding */ isWireSizeUnderCap)\n/* harmony export */ });\nconst MB = 1024 ** 2;\nconst SIZE_CAP_IN_MB = 1;\n/**\n * Return whether the size of the message is under the upper limit for the network.\n * This performs a protobuf encoding! If you have access to the fully encoded message,\n * use {@link isSizeUnderCapBuf} instead.\n * @param message\n * @param encoder\n */ async function isMessageSizeUnderCap(encoder, message) {\n const buf = await encoder.toWire(message);\n if (!buf) return false;\n return isWireSizeUnderCap(buf);\n}\nconst isWireSizeUnderCap = (buf)=>buf.length / MB <= SIZE_CAP_IN_MB; //# sourceMappingURL=is_size_valid.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vaXNfc2l6ZV92YWxpZC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBLE1BQU1BLEtBQUssUUFBUTtBQUNuQixNQUFNQyxpQkFBaUI7QUFDdkI7Ozs7OztDQU1DLEdBQ00sZUFBZUMsc0JBQXNCQyxPQUFPLEVBQUVDLE9BQU87SUFDeEQsTUFBTUMsTUFBTSxNQUFNRixRQUFRRyxNQUFNLENBQUNGO0lBQ2pDLElBQUksQ0FBQ0MsS0FDRCxPQUFPO0lBQ1gsT0FBT0UsbUJBQW1CRjtBQUM5QjtBQUNPLE1BQU1FLHFCQUFxQixDQUFDRixNQUFRQSxJQUFJRyxNQUFNLEdBQUdSLE1BQU1DLGVBQWUsQ0FDN0UseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vaXNfc2l6ZV92YWxpZC5qcz80MGI3Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE1CID0gMTAyNCAqKiAyO1xuY29uc3QgU0laRV9DQVBfSU5fTUIgPSAxO1xuLyoqXG4gKiBSZXR1cm4gd2hldGhlciB0aGUgc2l6ZSBvZiB0aGUgbWVzc2FnZSBpcyB1bmRlciB0aGUgdXBwZXIgbGltaXQgZm9yIHRoZSBuZXR3b3JrLlxuICogVGhpcyBwZXJmb3JtcyBhIHByb3RvYnVmIGVuY29kaW5nISBJZiB5b3UgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZ1bGx5IGVuY29kZWQgbWVzc2FnZSxcbiAqIHVzZSB7QGxpbmsgaXNTaXplVW5kZXJDYXBCdWZ9IGluc3RlYWQuXG4gKiBAcGFyYW0gbWVzc2FnZVxuICogQHBhcmFtIGVuY29kZXJcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlzTWVzc2FnZVNpemVVbmRlckNhcChlbmNvZGVyLCBtZXNzYWdlKSB7XG4gICAgY29uc3QgYnVmID0gYXdhaXQgZW5jb2Rlci50b1dpcmUobWVzc2FnZSk7XG4gICAgaWYgKCFidWYpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gaXNXaXJlU2l6ZVVuZGVyQ2FwKGJ1Zik7XG59XG5leHBvcnQgY29uc3QgaXNXaXJlU2l6ZVVuZGVyQ2FwID0gKGJ1ZikgPT4gYnVmLmxlbmd0aCAvIE1CIDw9IFNJWkVfQ0FQX0lOX01CO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXNfc2l6ZV92YWxpZC5qcy5tYXAiXSwibmFtZXMiOlsiTUIiLCJTSVpFX0NBUF9JTl9NQiIsImlzTWVzc2FnZVNpemVVbmRlckNhcCIsImVuY29kZXIiLCJtZXNzYWdlIiwiYnVmIiwidG9XaXJlIiwiaXNXaXJlU2l6ZVVuZGVyQ2FwIiwibGVuZ3RoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/common/is_size_valid.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/common/push_or_init_map.js":
/*!******************************************************************!*\
!*** ./node_modules/@waku/utils/dist/common/push_or_init_map.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pushOrInitMapSet: () => (/* binding */ pushOrInitMapSet)\n/* harmony export */ });\nfunction pushOrInitMapSet(map, key, newValue) {\n let arr = map.get(key);\n if (typeof arr === \"undefined\") {\n map.set(key, new Set());\n arr = map.get(key);\n }\n arr.add(newValue);\n} //# sourceMappingURL=push_or_init_map.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcHVzaF9vcl9pbml0X21hcC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sU0FBU0EsaUJBQWlCQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsUUFBUTtJQUMvQyxJQUFJQyxNQUFNSCxJQUFJSSxHQUFHLENBQUNIO0lBQ2xCLElBQUksT0FBT0UsUUFBUSxhQUFhO1FBQzVCSCxJQUFJSyxHQUFHLENBQUNKLEtBQUssSUFBSUs7UUFDakJILE1BQU1ILElBQUlJLEdBQUcsQ0FBQ0g7SUFDbEI7SUFDQUUsSUFBSUksR0FBRyxDQUFDTDtBQUNaLEVBQ0EsNENBQTRDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcHVzaF9vcl9pbml0X21hcC5qcz8xNDFjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBwdXNoT3JJbml0TWFwU2V0KG1hcCwga2V5LCBuZXdWYWx1ZSkge1xuICAgIGxldCBhcnIgPSBtYXAuZ2V0KGtleSk7XG4gICAgaWYgKHR5cGVvZiBhcnIgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgbWFwLnNldChrZXksIG5ldyBTZXQoKSk7XG4gICAgICAgIGFyciA9IG1hcC5nZXQoa2V5KTtcbiAgICB9XG4gICAgYXJyLmFkZChuZXdWYWx1ZSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wdXNoX29yX2luaXRfbWFwLmpzLm1hcCJdLCJuYW1lcyI6WyJwdXNoT3JJbml0TWFwU2V0IiwibWFwIiwia2V5IiwibmV3VmFsdWUiLCJhcnIiLCJnZXQiLCJzZXQiLCJTZXQiLCJhZGQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/common/push_or_init_map.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/common/random_subset.js":
/*!***************************************************************!*\
!*** ./node_modules/@waku/utils/dist/common/random_subset.js ***!
\***************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getPseudoRandomSubset: () => (/* binding */ getPseudoRandomSubset)\n/* harmony export */ });\n/**\n * Return pseudo random subset of the input.\n */ function getPseudoRandomSubset(values, wantedNumber) {\n if (values.length <= wantedNumber || values.length <= 1) {\n return values;\n }\n return shuffle(values).slice(0, wantedNumber);\n}\nfunction shuffle(arr) {\n if (arr.length <= 1) {\n return arr;\n }\n const randInt = ()=>{\n return Math.floor(Math.random() * Math.floor(arr.length));\n };\n for(let i = 0; i < arr.length; i++){\n const j = randInt();\n const tmp = arr[i];\n arr[i] = arr[j];\n arr[j] = tmp;\n }\n return arr;\n} //# sourceMappingURL=random_subset.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcmFuZG9tX3N1YnNldC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0NBRUMsR0FDTSxTQUFTQSxzQkFBc0JDLE1BQU0sRUFBRUMsWUFBWTtJQUN0RCxJQUFJRCxPQUFPRSxNQUFNLElBQUlELGdCQUFnQkQsT0FBT0UsTUFBTSxJQUFJLEdBQUc7UUFDckQsT0FBT0Y7SUFDWDtJQUNBLE9BQU9HLFFBQVFILFFBQVFJLEtBQUssQ0FBQyxHQUFHSDtBQUNwQztBQUNBLFNBQVNFLFFBQVFFLEdBQUc7SUFDaEIsSUFBSUEsSUFBSUgsTUFBTSxJQUFJLEdBQUc7UUFDakIsT0FBT0c7SUFDWDtJQUNBLE1BQU1DLFVBQVU7UUFDWixPQUFPQyxLQUFLQyxLQUFLLENBQUNELEtBQUtFLE1BQU0sS0FBS0YsS0FBS0MsS0FBSyxDQUFDSCxJQUFJSCxNQUFNO0lBQzNEO0lBQ0EsSUFBSyxJQUFJUSxJQUFJLEdBQUdBLElBQUlMLElBQUlILE1BQU0sRUFBRVEsSUFBSztRQUNqQyxNQUFNQyxJQUFJTDtRQUNWLE1BQU1NLE1BQU1QLEdBQUcsQ0FBQ0ssRUFBRTtRQUNsQkwsR0FBRyxDQUFDSyxFQUFFLEdBQUdMLEdBQUcsQ0FBQ00sRUFBRTtRQUNmTixHQUFHLENBQUNNLEVBQUUsR0FBR0M7SUFDYjtJQUNBLE9BQU9QO0FBQ1gsRUFDQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2NvbW1vbi9yYW5kb21fc3Vic2V0LmpzP2M4OTQiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm4gcHNldWRvIHJhbmRvbSBzdWJzZXQgb2YgdGhlIGlucHV0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHNldWRvUmFuZG9tU3Vic2V0KHZhbHVlcywgd2FudGVkTnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggPD0gd2FudGVkTnVtYmVyIHx8IHZhbHVlcy5sZW5ndGggPD0gMSkge1xuICAgICAgICByZXR1cm4gdmFsdWVzO1xuICAgIH1cbiAgICByZXR1cm4gc2h1ZmZsZSh2YWx1ZXMpLnNsaWNlKDAsIHdhbnRlZE51bWJlcik7XG59XG5mdW5jdGlvbiBzaHVmZmxlKGFycikge1xuICAgIGlmIChhcnIubGVuZ3RoIDw9IDEpIHtcbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gICAgY29uc3QgcmFuZEludCA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1hdGguZmxvb3IoYXJyLmxlbmd0aCkpO1xuICAgIH07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaiA9IHJhbmRJbnQoKTtcbiAgICAgICAgY29uc3QgdG1wID0gYXJyW2ldO1xuICAgICAgICBhcnJbaV0gPSBhcnJbal07XG4gICAgICAgIGFycltqXSA9IHRtcDtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJhbmRvbV9zdWJzZXQuanMubWFwIl0sIm5hbWVzIjpbImdldFBzZXVkb1JhbmRvbVN1YnNldCIsInZhbHVlcyIsIndhbnRlZE51bWJlciIsImxlbmd0aCIsInNodWZmbGUiLCJzbGljZSIsImFyciIsInJhbmRJbnQiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJpIiwiaiIsInRtcCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/common/random_subset.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/common/relay_shard_codec.js":
/*!*******************************************************************!*\
!*** ./node_modules/@waku/utils/dist/common/relay_shard_codec.js ***!
\*******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeRelayShard: () => (/* binding */ decodeRelayShard),\n/* harmony export */ encodeRelayShard: () => (/* binding */ encodeRelayShard)\n/* harmony export */ });\nconst decodeRelayShard = (bytes)=>{\n // explicitly converting to Uint8Array to avoid Buffer\n // https://github.com/libp2p/js-libp2p/issues/2146\n bytes = new Uint8Array(bytes);\n if (bytes.length < 3) throw new Error(\"Insufficient data\");\n const view = new DataView(bytes.buffer);\n const clusterId = view.getUint16(0);\n const shards = [];\n if (bytes.length === 130) {\n // rsv format (Bit Vector)\n for(let i = 0; i < 1024; i++){\n const byteIndex = Math.floor(i / 8) + 2; // Adjusted for the 2-byte cluster field\n const bitIndex = 7 - i % 8;\n if (view.getUint8(byteIndex) & 1 << bitIndex) {\n shards.push(i);\n }\n }\n } else {\n // rs format (Index List)\n const numIndices = view.getUint8(2);\n for(let i = 0, offset = 3; i < numIndices; i++, offset += 2){\n if (offset + 1 >= bytes.length) throw new Error(\"Unexpected end of data\");\n shards.push(view.getUint16(offset));\n }\n }\n return {\n clusterId,\n shards\n };\n};\nconst encodeRelayShard = (shardInfo)=>{\n const { clusterId, shards } = shardInfo;\n const totalLength = shards.length >= 64 ? 130 : 3 + 2 * shards.length;\n const buffer = new ArrayBuffer(totalLength);\n const view = new DataView(buffer);\n view.setUint16(0, clusterId);\n if (shards.length >= 64) {\n // rsv format (Bit Vector)\n for (const index of shards){\n const byteIndex = Math.floor(index / 8) + 2; // Adjusted for the 2-byte cluster field\n const bitIndex = 7 - index % 8;\n view.setUint8(byteIndex, view.getUint8(byteIndex) | 1 << bitIndex);\n }\n } else {\n // rs format (Index List)\n view.setUint8(2, shards.length);\n for(let i = 0, offset = 3; i < shards.length; i++, offset += 2){\n view.setUint16(offset, shards[i]);\n }\n }\n return new Uint8Array(buffer);\n}; //# sourceMappingURL=relay_shard_codec.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcmVsYXlfc2hhcmRfY29kZWMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxNQUFNQSxtQkFBbUIsQ0FBQ0M7SUFDN0Isc0RBQXNEO0lBQ3RELGtEQUFrRDtJQUNsREEsUUFBUSxJQUFJQyxXQUFXRDtJQUN2QixJQUFJQSxNQUFNRSxNQUFNLEdBQUcsR0FDZixNQUFNLElBQUlDLE1BQU07SUFDcEIsTUFBTUMsT0FBTyxJQUFJQyxTQUFTTCxNQUFNTSxNQUFNO0lBQ3RDLE1BQU1DLFlBQVlILEtBQUtJLFNBQVMsQ0FBQztJQUNqQyxNQUFNQyxTQUFTLEVBQUU7SUFDakIsSUFBSVQsTUFBTUUsTUFBTSxLQUFLLEtBQUs7UUFDdEIsMEJBQTBCO1FBQzFCLElBQUssSUFBSVEsSUFBSSxHQUFHQSxJQUFJLE1BQU1BLElBQUs7WUFDM0IsTUFBTUMsWUFBWUMsS0FBS0MsS0FBSyxDQUFDSCxJQUFJLEtBQUssR0FBRyx3Q0FBd0M7WUFDakYsTUFBTUksV0FBVyxJQUFLSixJQUFJO1lBQzFCLElBQUlOLEtBQUtXLFFBQVEsQ0FBQ0osYUFBYyxLQUFLRyxVQUFXO2dCQUM1Q0wsT0FBT08sSUFBSSxDQUFDTjtZQUNoQjtRQUNKO0lBQ0osT0FDSztRQUNELHlCQUF5QjtRQUN6QixNQUFNTyxhQUFhYixLQUFLVyxRQUFRLENBQUM7UUFDakMsSUFBSyxJQUFJTCxJQUFJLEdBQUdRLFNBQVMsR0FBR1IsSUFBSU8sWUFBWVAsS0FBS1EsVUFBVSxFQUFHO1lBQzFELElBQUlBLFNBQVMsS0FBS2xCLE1BQU1FLE1BQU0sRUFDMUIsTUFBTSxJQUFJQyxNQUFNO1lBQ3BCTSxPQUFPTyxJQUFJLENBQUNaLEtBQUtJLFNBQVMsQ0FBQ1U7UUFDL0I7SUFDSjtJQUNBLE9BQU87UUFBRVg7UUFBV0U7SUFBTztBQUMvQixFQUFFO0FBQ0ssTUFBTVUsbUJBQW1CLENBQUNDO0lBQzdCLE1BQU0sRUFBRWIsU0FBUyxFQUFFRSxNQUFNLEVBQUUsR0FBR1c7SUFDOUIsTUFBTUMsY0FBY1osT0FBT1AsTUFBTSxJQUFJLEtBQUssTUFBTSxJQUFJLElBQUlPLE9BQU9QLE1BQU07SUFDckUsTUFBTUksU0FBUyxJQUFJZ0IsWUFBWUQ7SUFDL0IsTUFBTWpCLE9BQU8sSUFBSUMsU0FBU0M7SUFDMUJGLEtBQUttQixTQUFTLENBQUMsR0FBR2hCO0lBQ2xCLElBQUlFLE9BQU9QLE1BQU0sSUFBSSxJQUFJO1FBQ3JCLDBCQUEwQjtRQUMxQixLQUFLLE1BQU1zQixTQUFTZixPQUFRO1lBQ3hCLE1BQU1FLFlBQVlDLEtBQUtDLEtBQUssQ0FBQ1csUUFBUSxLQUFLLEdBQUcsd0NBQXdDO1lBQ3JGLE1BQU1WLFdBQVcsSUFBS1UsUUFBUTtZQUM5QnBCLEtBQUtxQixRQUFRLENBQUNkLFdBQVdQLEtBQUtXLFFBQVEsQ0FBQ0osYUFBYyxLQUFLRztRQUM5RDtJQUNKLE9BQ0s7UUFDRCx5QkFBeUI7UUFDekJWLEtBQUtxQixRQUFRLENBQUMsR0FBR2hCLE9BQU9QLE1BQU07UUFDOUIsSUFBSyxJQUFJUSxJQUFJLEdBQUdRLFNBQVMsR0FBR1IsSUFBSUQsT0FBT1AsTUFBTSxFQUFFUSxLQUFLUSxVQUFVLEVBQUc7WUFDN0RkLEtBQUttQixTQUFTLENBQUNMLFFBQVFULE1BQU0sQ0FBQ0MsRUFBRTtRQUNwQztJQUNKO0lBQ0EsT0FBTyxJQUFJVCxXQUFXSztBQUMxQixFQUFFLENBQ0YsNkNBQTZDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vcmVsYXlfc2hhcmRfY29kZWMuanM/ZGViNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZGVjb2RlUmVsYXlTaGFyZCA9IChieXRlcykgPT4ge1xuICAgIC8vIGV4cGxpY2l0bHkgY29udmVydGluZyB0byBVaW50OEFycmF5IHRvIGF2b2lkIEJ1ZmZlclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9saWJwMnAvanMtbGlicDJwL2lzc3Vlcy8yMTQ2XG4gICAgYnl0ZXMgPSBuZXcgVWludDhBcnJheShieXRlcyk7XG4gICAgaWYgKGJ5dGVzLmxlbmd0aCA8IDMpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkluc3VmZmljaWVudCBkYXRhXCIpO1xuICAgIGNvbnN0IHZpZXcgPSBuZXcgRGF0YVZpZXcoYnl0ZXMuYnVmZmVyKTtcbiAgICBjb25zdCBjbHVzdGVySWQgPSB2aWV3LmdldFVpbnQxNigwKTtcbiAgICBjb25zdCBzaGFyZHMgPSBbXTtcbiAgICBpZiAoYnl0ZXMubGVuZ3RoID09PSAxMzApIHtcbiAgICAgICAgLy8gcnN2IGZvcm1hdCAoQml0IFZlY3RvcilcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDI0OyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGJ5dGVJbmRleCA9IE1hdGguZmxvb3IoaSAvIDgpICsgMjsgLy8gQWRqdXN0ZWQgZm9yIHRoZSAyLWJ5dGUgY2x1c3RlciBmaWVsZFxuICAgICAgICAgICAgY29uc3QgYml0SW5kZXggPSA3IC0gKGkgJSA4KTtcbiAgICAgICAgICAgIGlmICh2aWV3LmdldFVpbnQ4KGJ5dGVJbmRleCkgJiAoMSA8PCBiaXRJbmRleCkpIHtcbiAgICAgICAgICAgICAgICBzaGFyZHMucHVzaChpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gcnMgZm9ybWF0IChJbmRleCBMaXN0KVxuICAgICAgICBjb25zdCBudW1JbmRpY2VzID0gdmlldy5nZXRVaW50OCgyKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIG9mZnNldCA9IDM7IGkgPCBudW1JbmRpY2VzOyBpKyssIG9mZnNldCArPSAyKSB7XG4gICAgICAgICAgICBpZiAob2Zmc2V0ICsgMSA+PSBieXRlcy5sZW5ndGgpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5leHBlY3RlZCBlbmQgb2YgZGF0YVwiKTtcbiAgICAgICAgICAgIHNoYXJkcy5wdXNoKHZpZXcuZ2V0VWludDE2KG9mZnNldCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGNsdXN0ZXJJZCwgc2hhcmRzIH07XG59O1xuZXhwb3J0IGNvbnN0IGVuY29kZVJlbGF5U2hhcmQgPSAoc2hhcmRJbmZvKSA9PiB7XG4gICAgY29uc3QgeyBjbHVzdGVySWQsIHNoYXJkcyB9ID0gc2hhcmRJbmZvO1xuICAgIGNvbnN0IHRvdGFsTGVuZ3RoID0gc2hhcmRzLmxlbmd0aCA+PSA2NCA/IDEzMCA6IDMgKyAyICogc2hhcmRzLmxlbmd0aDtcbiAgICBjb25zdCBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIodG90YWxMZW5ndGgpO1xuICAgIGNvbnN0IHZpZXcgPSBuZXcgRGF0YVZpZXcoYnVmZmVyKTtcbiAgICB2aWV3LnNldFVpbnQxNigwLCBjbHVzdGVySWQpO1xuICAgIGlmIChzaGFyZHMubGVuZ3RoID49IDY0KSB7XG4gICAgICAgIC8vIHJzdiBmb3JtYXQgKEJpdCBWZWN0b3IpXG4gICAgICAgIGZvciAoY29uc3QgaW5kZXggb2Ygc2hhcmRzKSB7XG4gICAgICAgICAgICBjb25zdCBieXRlSW5kZXggPSBNYXRoLmZsb29yKGluZGV4IC8gOCkgKyAyOyAvLyBBZGp1c3RlZCBmb3IgdGhlIDItYnl0ZSBjbHVzdGVyIGZpZWxkXG4gICAgICAgICAgICBjb25zdCBiaXRJbmRleCA9IDcgLSAoaW5kZXggJSA4KTtcbiAgICAgICAgICAgIHZpZXcuc2V0VWludDgoYnl0ZUluZGV4LCB2aWV3LmdldFVpbnQ4KGJ5dGVJbmRleCkgfCAoMSA8PCBiaXRJbmRleCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvLyBycyBmb3JtYXQgKEluZGV4IExpc3QpXG4gICAgICAgIHZpZXcuc2V0VWludDgoMiwgc2hhcmRzLmxlbmd0aCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBvZmZzZXQgPSAzOyBpIDwgc2hhcmRzLmxlbmd0aDsgaSsrLCBvZmZzZXQgKz0gMikge1xuICAgICAgICAgICAgdmlldy5zZXRVaW50MTYob2Zmc2V0LCBzaGFyZHNbaV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgVWludDhBcnJheShidWZmZXIpO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbGF5X3NoYXJkX2NvZGVjLmpzLm1hcCJdLCJuYW1lcyI6WyJkZWNvZGVSZWxheVNoYXJkIiwiYnl0ZXMiLCJVaW50OEFycmF5IiwibGVuZ3RoIiwiRXJyb3IiLCJ2aWV3IiwiRGF0YVZpZXciLCJidWZmZXIiLCJjbHVzdGVySWQiLCJnZXRVaW50MTYiLCJzaGFyZHMiLCJpIiwiYnl0ZUluZGV4IiwiTWF0aCIsImZsb29yIiwiYml0SW5kZXgiLCJnZXRVaW50OCIsInB1c2giLCJudW1JbmRpY2VzIiwib2Zmc2V0IiwiZW5jb2RlUmVsYXlTaGFyZCIsInNoYXJkSW5mbyIsInRvdGFsTGVuZ3RoIiwiQXJyYXlCdWZmZXIiLCJzZXRVaW50MTYiLCJpbmRleCIsInNldFVpbnQ4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/common/relay_shard_codec.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/common/sharding.js":
/*!**********************************************************!*\
!*** ./node_modules/@waku/utils/dist/common/sharding.js ***!
\**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ contentTopicToPubsubTopic: () => (/* binding */ contentTopicToPubsubTopic),\n/* harmony export */ contentTopicToShardIndex: () => (/* binding */ contentTopicToShardIndex),\n/* harmony export */ contentTopicsByPubsubTopic: () => (/* binding */ contentTopicsByPubsubTopic),\n/* harmony export */ determinePubsubTopic: () => (/* binding */ determinePubsubTopic),\n/* harmony export */ ensurePubsubTopicIsConfigured: () => (/* binding */ ensurePubsubTopicIsConfigured),\n/* harmony export */ ensureShardingConfigured: () => (/* binding */ ensureShardingConfigured),\n/* harmony export */ ensureValidContentTopic: () => (/* binding */ ensureValidContentTopic),\n/* harmony export */ pubsubTopicToSingleShardInfo: () => (/* binding */ pubsubTopicToSingleShardInfo),\n/* harmony export */ shardInfoToPubsubTopics: () => (/* binding */ shardInfoToPubsubTopics),\n/* harmony export */ singleShardInfoToPubsubTopic: () => (/* binding */ singleShardInfoToPubsubTopic),\n/* harmony export */ singleShardInfosToShardInfo: () => (/* binding */ singleShardInfosToShardInfo)\n/* harmony export */ });\n/* harmony import */ var _noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @noble/hashes/sha256 */ \"(ssr)/./node_modules/@noble/hashes/esm/sha256.js\");\n/* harmony import */ var _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @waku/interfaces */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/index.js\");\n/* harmony import */ var _bytes_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../bytes/index.js */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n\n\n\nconst singleShardInfoToPubsubTopic = (shardInfo)=>{\n if (shardInfo.clusterId === undefined || shardInfo.shard === undefined) throw new Error(\"Invalid shard\");\n return `/waku/2/rs/${shardInfo.clusterId}/${shardInfo.shard}`;\n};\nconst singleShardInfosToShardInfo = (singleShardInfos)=>{\n if (singleShardInfos.length === 0) throw new Error(\"Invalid shard\");\n const clusterIds = singleShardInfos.map((shardInfo)=>shardInfo.clusterId);\n if (new Set(clusterIds).size !== 1) {\n throw new Error(\"Passed shard infos have different clusterIds\");\n }\n const shards = singleShardInfos.map((shardInfo)=>shardInfo.shard).filter((shard)=>shard !== undefined);\n return {\n clusterId: singleShardInfos[0].clusterId,\n shards\n };\n};\nconst shardInfoToPubsubTopics = (shardInfo)=>{\n if (\"contentTopics\" in shardInfo && shardInfo.contentTopics) {\n // Autosharding: explicitly defined content topics\n return Array.from(new Set(shardInfo.contentTopics.map((contentTopic)=>contentTopicToPubsubTopic(contentTopic, shardInfo.clusterId))));\n } else if (\"shards\" in shardInfo) {\n // Static sharding\n if (shardInfo.shards === undefined) throw new Error(\"Invalid shard\");\n return Array.from(new Set(shardInfo.shards.map((index)=>`/waku/2/rs/${shardInfo.clusterId ?? _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID}/${index}`)));\n } else if (\"application\" in shardInfo && \"version\" in shardInfo) {\n // Autosharding: single shard from application and version\n return [\n contentTopicToPubsubTopic(`/${shardInfo.application}/${shardInfo.version}/default/default`, shardInfo.clusterId)\n ];\n } else {\n throw new Error(\"Missing required configuration in shard parameters\");\n }\n};\nconst pubsubTopicToSingleShardInfo = (pubsubTopics)=>{\n const parts = pubsubTopics.split(\"/\");\n if (parts.length != 6 || parts[1] !== \"waku\" || parts[2] !== \"2\" || parts[3] !== \"rs\") throw new Error(\"Invalid pubsub topic\");\n const clusterId = parseInt(parts[4]);\n const shard = parseInt(parts[5]);\n if (isNaN(clusterId) || isNaN(shard)) throw new Error(\"Invalid clusterId or shard\");\n return {\n clusterId,\n shard\n };\n};\n//TODO: move part of BaseProtocol instead of utils\n// return `ProtocolError.TOPIC_NOT_CONFIGURED` instead of throwing\nfunction ensurePubsubTopicIsConfigured(pubsubTopic, configuredTopics) {\n if (!configuredTopics.includes(pubsubTopic)) {\n throw new Error(`Pubsub topic ${pubsubTopic} has not been configured on this instance. Configured topics are: ${configuredTopics}. Please update your configuration by passing in the topic during Waku node instantiation.`);\n }\n}\n/**\n * Given a string, will throw an error if it is not formatted as a valid content topic for autosharding based on https://rfc.vac.dev/spec/51/\n * @param contentTopic String to validate\n * @returns Object with each content topic field as an attribute\n */ function ensureValidContentTopic(contentTopic) {\n const parts = contentTopic.split(\"/\");\n if (parts.length < 5 || parts.length > 6) {\n throw Error(\"Content topic format is invalid\");\n }\n // Validate generation field if present\n let generation = 0;\n if (parts.length == 6) {\n generation = parseInt(parts[1]);\n if (isNaN(generation)) {\n throw new Error(\"Invalid generation field in content topic\");\n }\n if (generation > 0) {\n throw new Error(\"Generation greater than 0 is not supported\");\n }\n }\n // Validate remaining fields\n const fields = parts.splice(-4);\n // Validate application field\n if (fields[0].length == 0) {\n throw new Error(\"Application field cannot be empty\");\n }\n // Validate version field\n if (fields[1].length == 0) {\n throw new Error(\"Version field cannot be empty\");\n }\n // Validate topic name field\n if (fields[2].length == 0) {\n throw new Error(\"Topic name field cannot be empty\");\n }\n // Validate encoding field\n if (fields[3].length == 0) {\n throw new Error(\"Encoding field cannot be empty\");\n }\n return {\n generation,\n application: fields[0],\n version: fields[1],\n topicName: fields[2],\n encoding: fields[3]\n };\n}\n/**\n * Given a string, determines which autoshard index to use for its pubsub topic.\n * Based on the algorithm described in the RFC: https://rfc.vac.dev/spec/51//#algorithm\n */ function contentTopicToShardIndex(contentTopic, networkShards = 8) {\n const { application, version } = ensureValidContentTopic(contentTopic);\n const digest = (0,_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_2__.sha256)((0,_bytes_index_js__WEBPACK_IMPORTED_MODULE_1__.concat)([\n (0,_bytes_index_js__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)(application),\n (0,_bytes_index_js__WEBPACK_IMPORTED_MODULE_1__.utf8ToBytes)(version)\n ]));\n const dataview = new DataView(digest.buffer.slice(-8));\n return Number(dataview.getBigUint64(0, false) % BigInt(networkShards));\n}\nfunction contentTopicToPubsubTopic(contentTopic, clusterId = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID, networkShards = 8) {\n if (!contentTopic) {\n throw Error(\"Content topic must be specified\");\n }\n const shardIndex = contentTopicToShardIndex(contentTopic, networkShards);\n return `/waku/2/rs/${clusterId}/${shardIndex}`;\n}\n/**\n * Given an array of content topics, groups them together by their Pubsub topic as derived using the algorithm for autosharding.\n * If any of the content topics are not properly formatted, the function will throw an error.\n */ function contentTopicsByPubsubTopic(contentTopics, clusterId = _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID, networkShards = 8) {\n const groupedContentTopics = new Map();\n for (const contentTopic of contentTopics){\n const pubsubTopic = contentTopicToPubsubTopic(contentTopic, clusterId, networkShards);\n let topics = groupedContentTopics.get(pubsubTopic);\n if (!topics) {\n groupedContentTopics.set(pubsubTopic, []);\n topics = groupedContentTopics.get(pubsubTopic);\n }\n topics.push(contentTopic);\n }\n return groupedContentTopics;\n}\n/**\n * Used when creating encoders/decoders to determine which pubsub topic to use\n */ function determinePubsubTopic(contentTopic, pubsubTopicShardInfo) {\n if (typeof pubsubTopicShardInfo == \"string\") {\n return pubsubTopicShardInfo;\n }\n return pubsubTopicShardInfo?.shard ? singleShardInfoToPubsubTopic(pubsubTopicShardInfo) : contentTopicToPubsubTopic(contentTopic, pubsubTopicShardInfo?.clusterId || _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID);\n}\n/**\n * Validates sharding configuration and sets defaults where possible.\n * @returns Validated sharding parameters, with any missing values set to defaults\n */ const ensureShardingConfigured = (shardInfo)=>{\n const clusterId = shardInfo.clusterId ?? _waku_interfaces__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_CLUSTER_ID;\n const shards = \"shards\" in shardInfo ? shardInfo.shards : [];\n const contentTopics = \"contentTopics\" in shardInfo ? shardInfo.contentTopics : [];\n const [application, version] = \"application\" in shardInfo && \"version\" in shardInfo ? [\n shardInfo.application,\n shardInfo.version\n ] : [\n undefined,\n undefined\n ];\n const isShardsConfigured = shards && shards.length > 0;\n const isContentTopicsConfigured = contentTopics && contentTopics.length > 0;\n const isApplicationVersionConfigured = application && version;\n if (isShardsConfigured) {\n return {\n shardingParams: {\n clusterId,\n shards\n },\n shardInfo: {\n clusterId,\n shards\n },\n pubsubTopics: shardInfoToPubsubTopics({\n clusterId,\n shards\n })\n };\n }\n if (isContentTopicsConfigured) {\n const pubsubTopics = Array.from(new Set(contentTopics.map((topic)=>contentTopicToPubsubTopic(topic, clusterId))));\n const shards = Array.from(new Set(contentTopics.map((topic)=>contentTopicToShardIndex(topic))));\n return {\n shardingParams: {\n clusterId,\n contentTopics\n },\n shardInfo: {\n clusterId,\n shards\n },\n pubsubTopics\n };\n }\n if (isApplicationVersionConfigured) {\n const pubsubTopic = contentTopicToPubsubTopic(`/${application}/${version}/default/default`, clusterId);\n return {\n shardingParams: {\n clusterId,\n application,\n version\n },\n shardInfo: {\n clusterId,\n shards: [\n pubsubTopicToSingleShardInfo(pubsubTopic).shard\n ]\n },\n pubsubTopics: [\n pubsubTopic\n ]\n };\n }\n throw new Error(\"Missing minimum required configuration options for static sharding or autosharding.\");\n}; //# sourceMappingURL=sharding.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vc2hhcmRpbmcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBOEM7QUFDUTtBQUNFO0FBQ2pELE1BQU1JLCtCQUErQixDQUFDQztJQUN6QyxJQUFJQSxVQUFVQyxTQUFTLEtBQUtDLGFBQWFGLFVBQVVHLEtBQUssS0FBS0QsV0FDekQsTUFBTSxJQUFJRSxNQUFNO0lBQ3BCLE9BQU8sQ0FBQyxXQUFXLEVBQUVKLFVBQVVDLFNBQVMsQ0FBQyxDQUFDLEVBQUVELFVBQVVHLEtBQUssQ0FBQyxDQUFDO0FBQ2pFLEVBQUU7QUFDSyxNQUFNRSw4QkFBOEIsQ0FBQ0M7SUFDeEMsSUFBSUEsaUJBQWlCQyxNQUFNLEtBQUssR0FDNUIsTUFBTSxJQUFJSCxNQUFNO0lBQ3BCLE1BQU1JLGFBQWFGLGlCQUFpQkcsR0FBRyxDQUFDLENBQUNULFlBQWNBLFVBQVVDLFNBQVM7SUFDMUUsSUFBSSxJQUFJUyxJQUFJRixZQUFZRyxJQUFJLEtBQUssR0FBRztRQUNoQyxNQUFNLElBQUlQLE1BQU07SUFDcEI7SUFDQSxNQUFNUSxTQUFTTixpQkFDVkcsR0FBRyxDQUFDLENBQUNULFlBQWNBLFVBQVVHLEtBQUssRUFDbENVLE1BQU0sQ0FBQyxDQUFDVixRQUFVQSxVQUFVRDtJQUNqQyxPQUFPO1FBQ0hELFdBQVdLLGdCQUFnQixDQUFDLEVBQUUsQ0FBQ0wsU0FBUztRQUN4Q1c7SUFDSjtBQUNKLEVBQUU7QUFDSyxNQUFNRSwwQkFBMEIsQ0FBQ2Q7SUFDcEMsSUFBSSxtQkFBbUJBLGFBQWFBLFVBQVVlLGFBQWEsRUFBRTtRQUN6RCxrREFBa0Q7UUFDbEQsT0FBT0MsTUFBTUMsSUFBSSxDQUFDLElBQUlQLElBQUlWLFVBQVVlLGFBQWEsQ0FBQ04sR0FBRyxDQUFDLENBQUNTLGVBQWlCQywwQkFBMEJELGNBQWNsQixVQUFVQyxTQUFTO0lBQ3ZJLE9BQ0ssSUFBSSxZQUFZRCxXQUFXO1FBQzVCLGtC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QUFjTixHQUFHLENBQUMsQ0FBQ3VELFFBQVU3QywwQkFBMEI2QyxPQUFPL0Q7UUFDdEcsTUFBTVcsU0FBU0ksTUFBTUMsSUFBSSxDQUFDLElBQUlQLElBQUlLLGNBQWNOLEdBQUcsQ0FBQyxDQUFDdUQsUUFBVXpCLHlCQUF5QnlCO1FBQ3hGLE9BQU87WUFDSEQsZ0JBQWdCO2dCQUFFOUQ7Z0JBQVdjO1lBQWM7WUFDM0NmLFdBQVc7Z0JBQUVDO2dCQUFXVztZQUFPO1lBQy9CWTtRQUNKO0lBQ0o7SUFDQSxJQUFJc0MsZ0NBQWdDO1FBQ2hDLE1BQU1oQyxjQUFjWCwwQkFBMEIsQ0FBQyxDQUFDLEVBQUVFLFlBQVksQ0FBQyxFQUFFQyxRQUFRLGdCQUFnQixDQUFDLEVBQUVyQjtRQUM1RixPQUFPO1lBQ0g4RCxnQkFBZ0I7Z0JBQUU5RDtnQkFBV29CO2dCQUFhQztZQUFRO1lBQ2xEdEIsV0FBVztnQkFDUEM7Z0JBQ0FXLFFBQVE7b0JBQUNXLDZCQUE2Qk8sYUFBYTNCLEtBQUs7aUJBQUM7WUFDN0Q7WUFDQXFCLGNBQWM7Z0JBQUNNO2FBQVk7UUFDL0I7SUFDSjtJQUNBLE1BQU0sSUFBSTFCLE1BQU07QUFDcEIsRUFBRSxDQUNGLG9DQUFvQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvY29tbW9uL3NoYXJkaW5nLmpzPzcxM2QiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhMjU2IH0gZnJvbSBcIkBub2JsZS9oYXNoZXMvc2hhMjU2XCI7XG5pbXBvcnQgeyBERUZBVUxUX0NMVVNURVJfSUQgfSBmcm9tIFwiQHdha3UvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgY29uY2F0LCB1dGY4VG9CeXRlcyB9IGZyb20gXCIuLi9ieXRlcy9pbmRleC5qc1wiO1xuZXhwb3J0IGNvbnN0IHNpbmdsZVNoYXJkSW5mb1RvUHVic3ViVG9waWMgPSAoc2hhcmRJbmZvKSA9PiB7XG4gICAgaWYgKHNoYXJkSW5mby5jbHVzdGVySWQgPT09IHVuZGVmaW5lZCB8fCBzaGFyZEluZm8uc2hhcmQgPT09IHVuZGVmaW5lZClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzaGFyZFwiKTtcbiAgICByZXR1cm4gYC93YWt1LzIvcnMvJHtzaGFyZEluZm8uY2x1c3RlcklkfS8ke3NoYXJkSW5mby5zaGFyZH1gO1xufTtcbmV4cG9ydCBjb25zdCBzaW5nbGVTaGFyZEluZm9zVG9TaGFyZEluZm8gPSAoc2luZ2xlU2hhcmRJbmZvcykgPT4ge1xuICAgIGlmIChzaW5nbGVTaGFyZEluZm9zLmxlbmd0aCA9PT0gMClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzaGFyZFwiKTtcbiAgICBjb25zdCBjbHVzdGVySWRzID0gc2luZ2xlU2hhcmRJbmZvcy5tYXAoKHNoYXJkSW5mbykgPT4gc2hhcmRJbmZvLmNsdXN0ZXJJZCk7XG4gICAgaWYgKG5ldyBTZXQoY2x1c3Rlcklkcykuc2l6ZSAhPT0gMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXNzZWQgc2hhcmQgaW5mb3MgaGF2ZSBkaWZmZXJlbnQgY2x1c3Rlcklkc1wiKTtcbiAgICB9XG4gICAgY29uc3Qgc2hhcmRzID0gc2luZ2xlU2hhcmRJbmZvc1xuICAgICAgICAubWFwKChzaGFyZEluZm8pID0+IHNoYXJkSW5mby5zaGFyZClcbiAgICAgICAgLmZpbHRlcigoc2hhcmQpID0+IHNoYXJkICE9PSB1bmRlZmluZWQpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGNsdXN0ZXJJZDogc2luZ2xlU2hhcmRJbmZvc1swXS5jbHVzdGVySWQsXG4gICAgICAgIHNoYXJkc1xuICAgIH07XG59O1xuZXhwb3J0IGNvbnN0IHNoYXJkSW5mb1RvUHVic3ViVG9waWNzID0gKHNoYXJkSW5mbykgPT4ge1xuICAgIGlmIChcImNvbnRlbnRUb3BpY3NcIiBpbiBzaGFyZEluZm8gJiYgc2hhcmRJbmZvLmNvbnRlbnRUb3BpY3MpIHtcbiAgICAgICAgLy8gQXV0b3NoYXJkaW5nOiBleHBsaWNpdGx5IGRlZmluZWQgY29udGVudCB0b3BpY3NcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldChzaGFyZEluZm8uY29udGVudFRvcGljcy5tYXAoKGNvbnRlbnRUb3BpYykgPT4gY29udGVudFRvcGljVG9QdWJzdWJUb3BpYyhjb250ZW50VG9waWMsIHNoYXJkSW5mby5jbHVzdGVySWQpKSkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChcInNoYXJkc1wiIGluIHNoYXJkSW5mbykge1xuICAgICAgICAvLyBTdGF0aWMgc2hhcmRpbmdcbiAgICAgICAgaWYgKHNoYXJkSW5mby5zaGFyZHMgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgc2hhcmRcIik7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoc2hhcmRJbmZvLnNoYXJkcy5tYXAoKGluZGV4KSA9PiBgL3dha3UvMi9ycy8ke3NoYXJkSW5mby5jbHVzdGVySWQgPz8gREVGQVVMVF9DTFVTVEVSX0lEfS8ke2luZGV4fWApKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKFwiYXBwbGljYXRpb25cIiBpbiBzaGFyZEluZm8gJiYgXCJ2ZXJzaW9uXCIgaW4gc2hhcmRJbmZvKSB7XG4gICAgICAgIC8vIEF1dG9zaGFyZGluZzogc2luZ2xlIHNoYXJkIGZyb20gYXBwbGljYXRpb24gYW5kIHZlcnNpb25cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGNvbnRlbnRUb3BpY1RvUHVic3ViVG9waWMoYC8ke3NoYXJkSW5mby5hcHBsaWNhdGlvbn0vJHtzaGFyZEluZm8udmVyc2lvbn0vZGVmYXVsdC9kZWZhdWx0YCwgc2hhcmRJbmZvLmNsdXN0ZXJJZClcbiAgICAgICAgXTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgcmVxdWlyZWQgY29uZmlndXJhdGlvbiBpbiBzaGFyZCBwYXJhbWV0ZXJzXCIpO1xuICAgIH1cbn07XG5leHBvcnQgY29uc3QgcHVic3ViVG9waWNUb1NpbmdsZVNoYXJkSW5mbyA9IChwdWJzdWJUb3BpY3MpID0+IHtcbiAgICBjb25zdCBwYXJ0cyA9IHB1YnN1YlRvcGljcy5zcGxpdChcIi9cIik7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCAhPSA2IHx8XG4gICAgICAgIHBhcnRzWzFdICE9PSBcIndha3VcIiB8fFxuICAgICAgICBwYXJ0c1syXSAhPT0gXCIyXCIgfHxcbiAgICAgICAgcGFydHNbM10gIT09IFwicnNcIilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBwdWJzdWIgdG9waWNcIik7XG4gICAgY29uc3QgY2x1c3RlcklkID0gcGFyc2VJbnQocGFydHNbNF0pO1xuICAgIGNvbnN0IHNoYXJkID0gcGFyc2VJbnQocGFydHNbNV0pO1xuICAgIGlmIChpc05hTihjbHVzdGVySWQpIHx8IGlzTmFOKHNoYXJkKSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjbHVzdGVySWQgb3Igc2hhcmRcIik7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY2x1c3RlcklkLFxuICAgICAgICBzaGFyZFxuICAgIH07XG59O1xuLy9UT0RPOiBtb3ZlIHBhcnQgb2YgQmFzZVByb3RvY29sIGluc3RlYWQgb2YgdXRpbHNcbi8vIHJldHVybiBgUHJvdG9jb2xFcnJvci5UT1BJQ19OT1RfQ09ORklHVVJFRGAgaW5zdGVhZCBvZiB0aHJvd2luZ1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVB1YnN1YlRvcGljSXNDb25maWd1cmVkKHB1YnN1YlRvcGljLCBjb25maWd1cmVkVG9waWNzKSB7XG4gICAgaWYgKCFjb25maWd1cmVkVG9waWNzLmluY2x1ZGVzKHB1YnN1YlRvcGljKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFB1YnN1YiB0b3BpYyAke3B1YnN1YlRvcGljfSBoYXMgbm90IGJlZW4gY29uZmlndXJlZCBvbiB0aGlzIGluc3RhbmNlLiBDb25maWd1cmVkIHRvcGljcyBhcmU6ICR7Y29uZmlndXJlZFRvcGljc30uIFBsZWFzZSB1cGRhdGUgeW91ciBjb25maWd1cmF0aW9uIGJ5IHBhc3NpbmcgaW4gdGhlIHRvcGljIGR1cmluZyBXYWt1IG5vZGUgaW5zdGFudGlhdGlvbi5gKTtcbiAgICB9XG59XG4vKipcbiAqIEdpdmVuIGEgc3RyaW5nLCB3aWxsIHRocm93IGFuIGVycm9yIGlmIGl0IGlzIG5vdCBmb3JtYXR0ZWQgYXMgYSB2YWxpZCBjb250ZW50IHRvcGljIGZvciBhdXRvc2hhcmRpbmcgYmFzZWQgb24gaHR0cHM6Ly9yZmMudmFjLmRldi9zcGVjLzUxL1xuICogQHBhcmFtIGNvbnRlbnRUb3BpYyBTdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIE9iamVjdCB3aXRoIGVhY2ggY29udGVudCB0b3BpYyBmaWVsZCBhcyBhbiBhdHRyaWJ1dGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVZhbGlkQ29udGVudFRvcGljKGNvbnRlbnRUb3BpYykge1xuICAgIGNvbnN0IHBhcnRzID0gY29udGVudFRvcGljLnNwbGl0KFwiL1wiKTtcbiAgICBpZiAocGFydHMubGVuZ3RoIDwgNSB8fCBwYXJ0cy5sZW5ndGggPiA2KSB7XG4gICAgICAgIHRocm93IEVycm9yKFwiQ29udGVudCB0b3BpYyBmb3JtYXQgaXMgaW52YWxpZFwiKTtcbiAgICB9XG4gICAgLy8gVmFsaWRhdGUgZ2VuZXJhdGlvbiBmaWVsZCBpZiBwcmVzZW50XG4gICAgbGV0IGdlbmVyYXRpb24gPSAwO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggPT0gNikge1xuICAgICAgICBnZW5lcmF0aW9uID0gcGFyc2VJbnQocGFydHNbMV0pO1xuICAgICAgICBpZiAoaXNOYU4oZ2VuZXJhdGlvbikpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZ2VuZXJhdGlvbiBmaWVsZCBpbiBjb250ZW50IHRvcGljXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChnZW5lcmF0aW9uID4gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2VuZXJhdGlvbiBncmVhdGVyIHRoYW4gMCBpcyBub3Qgc3VwcG9ydGVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIHJlbWFpbmluZyBmaWVsZHNcbiAgICBjb25zdCBmaWVsZHMgPSBwYXJ0cy5zcGxpY2UoLTQpO1xuICAgIC8vIFZhbGlkYXRlIGFwcGxpY2F0aW9uIGZpZWxkXG4gICAgaWYgKGZpZWxkc1swXS5sZW5ndGggPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcHBsaWNhdGlvbiBmaWVsZCBjYW5ub3QgYmUgZW1wdHlcIik7XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIHZlcnNpb24gZmllbGRcbiAgICBpZiAoZmllbGRzWzFdLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlZlcnNpb24gZmllbGQgY2Fubm90IGJlIGVtcHR5XCIpO1xuICAgIH1cbiAgICAvLyBWYWxpZGF0ZSB0b3BpYyBuYW1lIGZpZWxkXG4gICAgaWYgKGZpZWxkc1syXS5sZW5ndGggPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUb3BpYyBuYW1lIGZpZWxkIGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgICB9XG4gICAgLy8gVmFsaWRhdGUgZW5jb2RpbmcgZmllbGRcbiAgICBpZiAoZmllbGRzWzNdLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVuY29kaW5nIGZpZWxkIGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ2VuZXJhdGlvbixcbiAgICAgICAgYXBwbGljYXRpb246IGZpZWxkc1swXSxcbiAgICAgICAgdmVyc2lvbjogZmllbGRzWzFdLFxuICAgICAgICB0b3BpY05hbWU6IGZpZWxkc1syXSxcbiAgICAgICAgZW5jb2Rpbmc6IGZpZWxkc1szXVxuICAgIH07XG59XG4vKipcbiAqIEdpdmVuIGEgc3RyaW5nLCBkZXRlcm1pbmVzIHdoaWNoIGF1dG9zaGFyZCBpbmRleCB0byB1c2UgZm9yIGl0cyBwdWJzdWIgdG9waWMuXG4gKiBCYXNlZCBvbiB0aGUgYWxnb3JpdGhtIGRlc2NyaWJlZCBpbiB0aGUgUkZDOiBodHRwczovL3JmYy52YWMuZGV2L3NwZWMvNTEvLyNhbGdvcml0aG1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRUb3BpY1RvU2hhcmRJbmRleChjb250ZW50VG9waWMsIG5ldHdvcmtTaGFyZHMgPSA4KSB7XG4gICAgY29uc3QgeyBhcHBsaWNhdGlvbiwgdmVyc2lvbiB9ID0gZW5zdXJlVmFsaWRDb250ZW50VG9waWMoY29udGVudFRvcGljKTtcbiAgICBjb25zdCBkaWdlc3QgPSBzaGEyNTYoY29uY2F0KFt1dGY4VG9CeXRlcyhhcHBsaWNhdGlvbiksIHV0ZjhUb0J5dGVzKHZlcnNpb24pXSkpO1xuICAgIGNvbnN0IGRhdGF2aWV3ID0gbmV3IERhdGFWaWV3KGRpZ2VzdC5idWZmZXIuc2xpY2UoLTgpKTtcbiAgICByZXR1cm4gTnVtYmVyKGRhdGF2aWV3LmdldEJpZ1VpbnQ2NCgwLCBmYWxzZSkgJSBCaWdJbnQobmV0d29ya1NoYXJkcykpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRUb3BpY1RvUHVic3ViVG9waWMoY29udGVudFRvcGljLCBjbHVzdGVySWQgPSBERUZBVUxUX0NMVVNURVJfSUQsIG5ldHdvcmtTaGFyZHMgPSA4KSB7XG4gICAgaWYgKCFjb250ZW50VG9waWMpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoXCJDb250ZW50IHRvcGljIG11c3QgYmUgc3BlY2lmaWVkXCIpO1xuICAgIH1cbiAgICBjb25zdCBzaGFyZEluZGV4ID0gY29udGVudFRvcGljVG9TaGFyZEluZGV4KGNvbnRlbnRUb3BpYywgbmV0d29ya1NoYXJkcyk7XG4gICAgcmV0dXJuIGAvd2FrdS8yL3JzLyR7Y2x1c3RlcklkfS8ke3NoYXJkSW5kZXh9YDtcbn1cbi8qKlxuICogR2l2ZW4gYW4gYXJyYXkgb2YgY29udGVudCB0b3BpY3MsIGdyb3VwcyB0aGVtIHRvZ2V0aGVyIGJ5IHRoZWlyIFB1YnN1YiB0b3BpYyBhcyBkZXJpdmVkIHVzaW5nIHRoZSBhbGdvcml0aG0gZm9yIGF1dG9zaGFyZGluZy5cbiAqIElmIGFueSBvZiB0aGUgY29udGVudCB0b3BpY3MgYXJlIG5vdCBwcm9wZXJseSBmb3JtYXR0ZWQsIHRoZSBmdW5jdGlvbiB3aWxsIHRocm93IGFuIGVycm9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29udGVudFRvcGljc0J5UHVic3ViVG9waWMoY29udGVudFRvcGljcywgY2x1c3RlcklkID0gREVGQVVMVF9DTFVTVEVSX0lELCBuZXR3b3JrU2hhcmRzID0gOCkge1xuICAgIGNvbnN0IGdyb3VwZWRDb250ZW50VG9waWNzID0gbmV3IE1hcCgpO1xuICAgIGZvciAoY29uc3QgY29udGVudFRvcGljIG9mIGNvbnRlbnRUb3BpY3MpIHtcbiAgICAgICAgY29uc3QgcHVic3ViVG9waWMgPSBjb250ZW50VG9waWNUb1B1YnN1YlRvcGljKGNvbnRlbnRUb3BpYywgY2x1c3RlcklkLCBuZXR3b3JrU2hhcmRzKTtcbiAgICAgICAgbGV0IHRvcGljcyA9IGdyb3VwZWRDb250ZW50VG9waWNzLmdldChwdWJzdWJUb3BpYyk7XG4gICAgICAgIGlmICghdG9waWNzKSB7XG4gICAgICAgICAgICBncm91cGVkQ29udGVudFRvcGljcy5zZXQocHVic3ViVG9waWMsIFtdKTtcbiAgICAgICAgICAgIHRvcGljcyA9IGdyb3VwZWRDb250ZW50VG9waWNzLmdldChwdWJzdWJUb3BpYyk7XG4gICAgICAgIH1cbiAgICAgICAgdG9waWNzLnB1c2goY29udGVudFRvcGljKTtcbiAgICB9XG4gICAgcmV0dXJuIGdyb3VwZWRDb250ZW50VG9waWNzO1xufVxuLyoqXG4gKiBVc2VkIHdoZW4gY3JlYXRpbmcgZW5jb2RlcnMvZGVjb2RlcnMgdG8gZGV0ZXJtaW5lIHdoaWNoIHB1YnN1YiB0b3BpYyB0byB1c2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVybWluZVB1YnN1YlRvcGljKGNvbnRlbnRUb3BpYywgcHVic3ViVG9waWNTaGFyZEluZm8pIHtcbiAgICBpZiAodHlwZW9mIHB1YnN1YlRvcGljU2hhcmRJbmZvID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIHB1YnN1YlRvcGljU2hhcmRJbmZvO1xuICAgIH1cbiAgICByZXR1cm4gcHVic3ViVG9waWNTaGFyZEluZm8/LnNoYXJkXG4gICAgICAgID8gc2luZ2xlU2hhcmRJbmZvVG9QdWJzdWJUb3BpYyhwdWJzdWJUb3BpY1NoYXJkSW5mbylcbiAgICAgICAgOiBjb250ZW50VG9waWNUb1B1YnN1YlRvcGljKGNvbnRlbnRUb3BpYywgcHVic3ViVG9waWNTaGFyZEluZm8/LmNsdXN0ZXJJZCB8fCBERUZBVUxUX0NMVVNURVJfSUQpO1xufVxuLyoqXG4gKiBWYWxpZGF0ZXMgc2hhcmRpbmcgY29uZmlndXJhdGlvbiBhbmQgc2V0cyBkZWZhdWx0cyB3aGVyZSBwb3NzaWJsZS5cbiAqIEByZXR1cm5zIFZhbGlkYXRlZCBzaGFyZGluZyBwYXJhbWV0ZXJzLCB3aXRoIGFueSBtaXNzaW5nIHZhbHVlcyBzZXQgdG8gZGVmYXVsdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGVuc3VyZVNoYXJkaW5nQ29uZmlndXJlZCA9IChzaGFyZEluZm8pID0+IHtcbiAgICBjb25zdCBjbHVzdGVySWQgPSBzaGFyZEluZm8uY2x1c3RlcklkID8/IERFRkFVTFRfQ0xVU1RFUl9JRDtcbiAgICBjb25zdCBzaGFyZHMgPSBcInNoYXJkc1wiIGluIHNoYXJkSW5mbyA/IHNoYXJkSW5mby5zaGFyZHMgOiBbXTtcbiAgICBjb25zdCBjb250ZW50VG9waWNzID0gXCJjb250ZW50VG9waWNzXCIgaW4gc2hhcmRJbmZvID8gc2hhcmRJbmZvLmNvbnRlbnRUb3BpY3MgOiBbXTtcbiAgICBjb25zdCBbYXBwbGljYXRpb24sIHZlcnNpb25dID0gXCJhcHBsaWNhdGlvblwiIGluIHNoYXJkSW5mbyAmJiBcInZlcnNpb25cIiBpbiBzaGFyZEluZm9cbiAgICAgICAgPyBbc2hhcmRJbmZvLmFwcGxpY2F0aW9uLCBzaGFyZEluZm8udmVyc2lvbl1cbiAgICAgICAgOiBbdW5kZWZpbmVkLCB1bmRlZmluZWRdO1xuICAgIGNvbnN0IGlzU2hhcmRzQ29uZmlndXJlZCA9IHNoYXJkcyAmJiBzaGFyZHMubGVuZ3RoID4gMDtcbiAgICBjb25zdCBpc0NvbnRlbnRUb3BpY3NDb25maWd1cmVkID0gY29udGVudFRvcGljcyAmJiBjb250ZW50VG9waWNzLmxlbmd0aCA+IDA7XG4gICAgY29uc3QgaXNBcHBsaWNhdGlvblZlcnNpb25Db25maWd1cmVkID0gYXBwbGljYXRpb24gJiYgdmVyc2lvbjtcbiAgICBpZiAoaXNTaGFyZHNDb25maWd1cmVkKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaGFyZGluZ1BhcmFtczogeyBjbHVzdGVySWQsIHNoYXJkcyB9LFxuICAgICAgICAgICAgc2hhcmRJbmZvOiB7IGNsdXN0ZXJJZCwgc2hhcmRzIH0sXG4gICAgICAgICAgICBwdWJzdWJUb3BpY3M6IHNoYXJkSW5mb1RvUHVic3ViVG9waWNzKHsgY2x1c3RlcklkLCBzaGFyZHMgfSlcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGlzQ29udGVudFRvcGljc0NvbmZpZ3VyZWQpIHtcbiAgICAgICAgY29uc3QgcHVic3ViVG9waWNzID0gQXJyYXkuZnJvbShuZXcgU2V0KGNvbnRlbnRUb3BpY3MubWFwKCh0b3BpYykgPT4gY29udGVudFRvcGljVG9QdWJzdWJUb3BpYyh0b3BpYywgY2x1c3RlcklkKSkpKTtcbiAgICAgICAgY29uc3Qgc2hhcmRzID0gQXJyYXkuZnJvbShuZXcgU2V0KGNvbnRlbnRUb3BpY3MubWFwKCh0b3BpYykgPT4gY29udGVudFRvcGljVG9TaGFyZEluZGV4KHRvcGljKSkpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNoYXJkaW5nUGFyYW1zOiB7IGNsdXN0ZXJJZCwgY29udGVudFRvcGljcyB9LFxuICAgICAgICAgICAgc2hhcmRJbmZvOiB7IGNsdXN0ZXJJZCwgc2hhcmRzIH0sXG4gICAgICAgICAgICBwdWJzdWJUb3BpY3NcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGlzQXBwbGljYXRpb25WZXJzaW9uQ29uZmlndXJlZCkge1xuICAgICAgICBjb25zdCBwdWJzdWJUb3BpYyA9IGNvbnRlbnRUb3BpY1RvUHVic3ViVG9waWMoYC8ke2FwcGxpY2F0aW9ufS8ke3ZlcnNpb259L2RlZmF1bHQvZGVmYXVsdGAsIGNsdXN0ZXJJZCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaGFyZGluZ1BhcmFtczogeyBjbHVzdGVySWQsIGFwcGxpY2F0aW9uLCB2ZXJzaW9uIH0sXG4gICAgICAgICAgICBzaGFyZEluZm86IHtcbiAgICAgICAgICAgICAgICBjbHVzdGVySWQsXG4gICAgICAgICAgICAgICAgc2hhcmRzOiBbcHVic3ViVG9waWNUb1NpbmdsZVNoYXJkSW5mbyhwdWJzdWJUb3BpYykuc2hhcmRdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHVic3ViVG9waWNzOiBbcHVic3ViVG9waWNdXG4gICAgICAgIH07XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgbWluaW11bSByZXF1aXJlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHN0YXRpYyBzaGFyZGluZyBvciBhdXRvc2hhcmRpbmcuXCIpO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNoYXJkaW5nLmpzLm1hcCJdLCJuYW1lcyI6WyJzaGEyNTYiLCJERUZBVUxUX0NMVVNURVJfSUQiLCJjb25jYXQiLCJ1dGY4VG9CeXRlcyIsInNpbmdsZVNoYXJkSW5mb1RvUHVic3ViVG9waWMiLCJzaGFyZEluZm8iLCJjbHVzdGVySWQiLCJ1bmRlZmluZWQiLCJzaGFyZCIsIkVycm9yIiwic2luZ2xlU2hhcmRJbmZvc1RvU2hhcmRJbmZvIiwic2luZ2xlU2hhcmRJbmZvcyIsImxlbmd0aCIsImNsdXN0ZXJJZHMiLCJtYXAiLCJTZXQiLCJzaXplIiwic2hhcmRzIiwiZmlsdGVyIiwic2hhcmRJbmZvVG9QdWJzdWJUb3BpY3MiLCJjb250ZW50VG9waWNzIiwiQXJyYXkiLCJmcm9tIiwiY29udGVudFRvcGljIiwiY29udGVudFRvcGljVG9QdWJzdWJUb3BpYyIsImluZGV4IiwiYXBwbGljYXRpb24iLCJ2ZXJzaW9uIiwicHVic3ViVG9waWNUb1NpbmdsZVNoYXJkSW5mbyIsInB1YnN1YlRvcGljcyIsInBhcnRzIiwic3BsaXQiLCJwYXJzZUludCIsImlzTmFOIiwiZW5zdXJlUHVic3ViVG9waWNJc0NvbmZpZ3VyZWQiLCJwdWJzdWJUb3BpYyIsImNvbmZpZ3VyZWRUb3BpY3MiLCJpbmNsdWRlcyIsImVuc3VyZVZhbGlkQ29udGVudFRvcGljIiwiZ2VuZXJhdGlvbiIsImZpZWxkcyIsInNwbGljZSIsInRvcGljTmFtZSIsImVuY29kaW5nIiwiY29udGVudFRvcGljVG9TaGFyZEluZGV4IiwibmV0d29ya1NoYXJkcyIsImRpZ2VzdCIsImRhdGF2aWV3IiwiRGF0YVZpZXciLCJidWZmZXIiLCJzbGljZSIsIk51bWJlciIsImdldEJpZ1VpbnQ2NCIsIkJpZ0ludCIsInNoYXJkSW5kZXgiLCJjb250ZW50VG9waWNzQnlQdWJzdWJUb3BpYyIsImdyb3VwZWRDb250ZW50VG9waWNzIiwiTWFwIiwidG9waWNzIiwiZ2V0Iiwic2V0IiwicHVzaCIsImRldGVybWluZVB1YnN1YlRvcGljIiwicHVic3ViVG9waWNTaGFyZEluZm8iLCJlbnN1cmVTaGFyZGluZ0NvbmZpZ3VyZWQiLCJpc1NoYXJkc0NvbmZpZ3VyZWQiLCJpc0NvbnRlbnRUb3BpY3NDb25maWd1cmVkIiwiaXNBcHBsaWNhdGlvblZlcnNpb25Db25maWd1cmVkIiwic2hhcmRpbmdQYXJhbXMiLCJ0b3BpYyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/common/sharding.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/common/to_async_iterator.js":
/*!*******************************************************************!*\
!*** ./node_modules/@waku/utils/dist/common/to_async_iterator.js ***!
\*******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toAsyncIterator: () => (/* binding */ toAsyncIterator)\n/* harmony export */ });\nconst FRAME_RATE = 60;\n/**\n * Function that transforms IReceiver subscription to iterable stream of data.\n * @param receiver - object that allows to be subscribed to;\n * @param decoder - parameter to be passed to receiver for subscription;\n * @param options - options for receiver for subscription;\n * @param iteratorOptions - optional configuration for iterator;\n * @returns iterator and stop function to terminate it.\n */ async function toAsyncIterator(receiver, decoder, iteratorOptions) {\n const iteratorDelay = iteratorOptions?.iteratorDelay ?? FRAME_RATE;\n const messages = [];\n let unsubscribe;\n unsubscribe = await receiver.subscribe(decoder, (message)=>{\n messages.push(message);\n });\n const isWithTimeout = Number.isInteger(iteratorOptions?.timeoutMs);\n const timeoutMs = iteratorOptions?.timeoutMs ?? 0;\n const startTime = Date.now();\n async function* iterator() {\n while(true){\n if (isWithTimeout && Date.now() - startTime >= timeoutMs) {\n return;\n }\n await wait(iteratorDelay);\n const message = messages.shift();\n if (!unsubscribe && messages.length === 0) {\n return message;\n }\n if (!message && unsubscribe) {\n continue;\n }\n yield message;\n }\n }\n return {\n iterator: iterator(),\n async stop () {\n if (unsubscribe) {\n await unsubscribe();\n unsubscribe = undefined;\n }\n }\n };\n}\nfunction wait(ms) {\n return new Promise((resolve)=>{\n setTimeout(resolve, ms);\n });\n} //# sourceMappingURL=to_async_iterator.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vdG9fYXN5bmNfaXRlcmF0b3IuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU1BLGFBQWE7QUFDbkI7Ozs7Ozs7Q0FPQyxHQUNNLGVBQWVDLGdCQUFnQkMsUUFBUSxFQUFFQyxPQUFPLEVBQUVDLGVBQWU7SUFDcEUsTUFBTUMsZ0JBQWdCRCxpQkFBaUJDLGlCQUFpQkw7SUFDeEQsTUFBTU0sV0FBVyxFQUFFO0lBQ25CLElBQUlDO0lBQ0pBLGNBQWMsTUFBTUwsU0FBU00sU0FBUyxDQUFDTCxTQUFTLENBQUNNO1FBQzdDSCxTQUFTSSxJQUFJLENBQUNEO0lBQ2xCO0lBQ0EsTUFBTUUsZ0JBQWdCQyxPQUFPQyxTQUFTLENBQUNULGlCQUFpQlU7SUFDeEQsTUFBTUEsWUFBWVYsaUJBQWlCVSxhQUFhO0lBQ2hELE1BQU1DLFlBQVlDLEtBQUtDLEdBQUc7SUFDMUIsZ0JBQWdCQztRQUNaLE1BQU8sS0FBTTtZQUNULElBQUlQLGlCQUFpQkssS0FBS0MsR0FBRyxLQUFLRixhQUFhRCxXQUFXO2dCQUN0RDtZQUNKO1lBQ0EsTUFBTUssS0FBS2Q7WUFDWCxNQUFNSSxVQUFVSCxTQUFTYyxLQUFLO1lBQzlCLElBQUksQ0FBQ2IsZUFBZUQsU0FBU2UsTUFBTSxLQUFLLEdBQUc7Z0JBQ3ZDLE9BQU9aO1lBQ1g7WUFDQSxJQUFJLENBQUNBLFdBQVdGLGFBQWE7Z0JBQ3pCO1lBQ0o7WUFDQSxNQUFNRTtRQUNWO0lBQ0o7SUFDQSxPQUFPO1FBQ0hTLFVBQVVBO1FBQ1YsTUFBTUk7WUFDRixJQUFJZixhQUFhO2dCQUNiLE1BQU1BO2dCQUNOQSxjQUFjZ0I7WUFDbEI7UUFDSjtJQUNKO0FBQ0o7QUFDQSxTQUFTSixLQUFLSyxFQUFFO0lBQ1osT0FBTyxJQUFJQyxRQUFRLENBQUNDO1FBQ2hCQyxXQUFXRCxTQUFTRjtJQUN4QjtBQUNKLEVBQ0EsNkNBQTZDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9jb21tb24vdG9fYXN5bmNfaXRlcmF0b3IuanM/OTcwMCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBGUkFNRV9SQVRFID0gNjA7XG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgdHJhbnNmb3JtcyBJUmVjZWl2ZXIgc3Vic2NyaXB0aW9uIHRvIGl0ZXJhYmxlIHN0cmVhbSBvZiBkYXRhLlxuICogQHBhcmFtIHJlY2VpdmVyIC0gb2JqZWN0IHRoYXQgYWxsb3dzIHRvIGJlIHN1YnNjcmliZWQgdG87XG4gKiBAcGFyYW0gZGVjb2RlciAtIHBhcmFtZXRlciB0byBiZSBwYXNzZWQgdG8gcmVjZWl2ZXIgZm9yIHN1YnNjcmlwdGlvbjtcbiAqIEBwYXJhbSBvcHRpb25zIC0gb3B0aW9ucyBmb3IgcmVjZWl2ZXIgZm9yIHN1YnNjcmlwdGlvbjtcbiAqIEBwYXJhbSBpdGVyYXRvck9wdGlvbnMgLSBvcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciBpdGVyYXRvcjtcbiAqIEByZXR1cm5zIGl0ZXJhdG9yIGFuZCBzdG9wIGZ1bmN0aW9uIHRvIHRlcm1pbmF0ZSBpdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRvQXN5bmNJdGVyYXRvcihyZWNlaXZlciwgZGVjb2RlciwgaXRlcmF0b3JPcHRpb25zKSB7XG4gICAgY29uc3QgaXRlcmF0b3JEZWxheSA9IGl0ZXJhdG9yT3B0aW9ucz8uaXRlcmF0b3JEZWxheSA/PyBGUkFNRV9SQVRFO1xuICAgIGNvbnN0IG1lc3NhZ2VzID0gW107XG4gICAgbGV0IHVuc3Vic2NyaWJlO1xuICAgIHVuc3Vic2NyaWJlID0gYXdhaXQgcmVjZWl2ZXIuc3Vic2NyaWJlKGRlY29kZXIsIChtZXNzYWdlKSA9PiB7XG4gICAgICAgIG1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XG4gICAgfSk7XG4gICAgY29uc3QgaXNXaXRoVGltZW91dCA9IE51bWJlci5pc0ludGVnZXIoaXRlcmF0b3JPcHRpb25zPy50aW1lb3V0TXMpO1xuICAgIGNvbnN0IHRpbWVvdXRNcyA9IGl0ZXJhdG9yT3B0aW9ucz8udGltZW91dE1zID8/IDA7XG4gICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICBhc3luYyBmdW5jdGlvbiogaXRlcmF0b3IoKSB7XG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBpZiAoaXNXaXRoVGltZW91dCAmJiBEYXRlLm5vdygpIC0gc3RhcnRUaW1lID49IHRpbWVvdXRNcykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHdhaXQoaXRlcmF0b3JEZWxheSk7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gbWVzc2FnZXMuc2hpZnQoKTtcbiAgICAgICAgICAgIGlmICghdW5zdWJzY3JpYmUgJiYgbWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIW1lc3NhZ2UgJiYgdW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHlpZWxkIG1lc3NhZ2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaXRlcmF0b3I6IGl0ZXJhdG9yKCksXG4gICAgICAgIGFzeW5jIHN0b3AoKSB7XG4gICAgICAgICAgICBpZiAodW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB1bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHVuc3Vic2NyaWJlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn1cbmZ1bmN0aW9uIHdhaXQobXMpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgc2V0VGltZW91dChyZXNvbHZlLCBtcyk7XG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD10b19hc3luY19pdGVyYXRvci5qcy5tYXAiXSwibmFtZXMiOlsiRlJBTUVfUkFURSIsInRvQXN5bmNJdGVyYXRvciIsInJlY2VpdmVyIiwiZGVjb2RlciIsIml0ZXJhdG9yT3B0aW9ucyIsIml0ZXJhdG9yRGVsYXkiLCJtZXNzYWdlcyIsInVuc3Vic2NyaWJlIiwic3Vic2NyaWJlIiwibWVzc2FnZSIsInB1c2giLCJpc1dpdGhUaW1lb3V0IiwiTnVtYmVyIiwiaXNJbnRlZ2VyIiwidGltZW91dE1zIiwic3RhcnRUaW1lIiwiRGF0ZSIsIm5vdyIsIml0ZXJhdG9yIiwid2FpdCIsInNoaWZ0IiwibGVuZ3RoIiwic3RvcCIsInVuZGVmaW5lZCIsIm1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/common/to_async_iterator.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/index.js":
/*!************************************************!*\
!*** ./node_modules/@waku/utils/dist/index.js ***!
\************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logger: () => (/* reexport safe */ _logger_index_js__WEBPACK_IMPORTED_MODULE_1__.Logger),\n/* harmony export */ contentTopicToPubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.contentTopicToPubsubTopic),\n/* harmony export */ contentTopicToShardIndex: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.contentTopicToShardIndex),\n/* harmony export */ contentTopicsByPubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.contentTopicsByPubsubTopic),\n/* harmony export */ decodeRelayShard: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.decodeRelayShard),\n/* harmony export */ determinePubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.determinePubsubTopic),\n/* harmony export */ encodeRelayShard: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.encodeRelayShard),\n/* harmony export */ ensurePubsubTopicIsConfigured: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.ensurePubsubTopicIsConfigured),\n/* harmony export */ ensureShardingConfigured: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.ensureShardingConfigured),\n/* harmony export */ ensureValidContentTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.ensureValidContentTopic),\n/* harmony export */ getPseudoRandomSubset: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.getPseudoRandomSubset),\n/* harmony export */ getWsMultiaddrFromMultiaddrs: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.getWsMultiaddrFromMultiaddrs),\n/* harmony export */ groupByContentTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.groupByContentTopic),\n/* harmony export */ isDefined: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.isDefined),\n/* harmony export */ isMessageSizeUnderCap: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.isMessageSizeUnderCap),\n/* harmony export */ isWireSizeUnderCap: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.isWireSizeUnderCap),\n/* harmony export */ pubsubTopicToSingleShardInfo: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.pubsubTopicToSingleShardInfo),\n/* harmony export */ pushOrInitMapSet: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.pushOrInitMapSet),\n/* harmony export */ removeItemFromArray: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.removeItemFromArray),\n/* harmony export */ shardInfoToPubsubTopics: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.shardInfoToPubsubTopics),\n/* harmony export */ singleShardInfoToPubsubTopic: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.singleShardInfoToPubsubTopic),\n/* harmony export */ singleShardInfosToShardInfo: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.singleShardInfosToShardInfo),\n/* harmony export */ toAsyncIterator: () => (/* reexport safe */ _common_index_js__WEBPACK_IMPORTED_MODULE_0__.toAsyncIterator)\n/* harmony export */ });\n/* harmony import */ var _common_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common/index.js */ \"(ssr)/./node_modules/@waku/utils/dist/common/index.js\");\n/* harmony import */ var _logger_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger/index.js */ \"(ssr)/./node_modules/@waku/utils/dist/logger/index.js\");\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWtDO0FBQ1MsQ0FDM0MsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9pbmRleC5qcz8zMjRmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbW1vbi9pbmRleC5qc1wiO1xuZXhwb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyL2luZGV4LmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiTG9nZ2VyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/libp2p/index.js":
/*!*******************************************************!*\
!*** ./node_modules/@waku/utils/dist/libp2p/index.js ***!
\*******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getConnectedPeersForProtocolAndShard: () => (/* binding */ getConnectedPeersForProtocolAndShard),\n/* harmony export */ getPeersForProtocol: () => (/* binding */ getPeersForProtocol),\n/* harmony export */ selectConnection: () => (/* binding */ selectConnection),\n/* harmony export */ selectRandomPeer: () => (/* binding */ selectRandomPeer),\n/* harmony export */ sortPeersByLatency: () => (/* binding */ sortPeersByLatency)\n/* harmony export */ });\n/* harmony import */ var _bytes_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../bytes/index.js */ \"(ssr)/./node_modules/@waku/utils/dist/bytes/index.js\");\n/* harmony import */ var _common_relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/relay_shard_codec.js */ \"(ssr)/./node_modules/@waku/utils/dist/common/relay_shard_codec.js\");\n\n\n/**\n * Returns a pseudo-random peer that supports the given protocol.\n * Useful for protocols such as store and light push\n */ function selectRandomPeer(peers) {\n if (peers.length === 0) return;\n const index = Math.round(Math.random() * (peers.length - 1));\n return peers[index];\n}\n/**\n * Function to sort peers by latency from lowest to highest\n * @param peerStore - The Libp2p PeerStore\n * @param peers - The list of peers to choose from\n * @returns Sorted array of peers by latency\n */ async function sortPeersByLatency(peerStore, peers) {\n if (peers.length === 0) return [];\n const results = await Promise.all(peers.map(async (peer)=>{\n try {\n const pingBytes = (await peerStore.get(peer.id)).metadata.get(\"ping\");\n if (!pingBytes) return {\n peer,\n ping: Infinity\n };\n const ping = Number((0,_bytes_index_js__WEBPACK_IMPORTED_MODULE_0__.bytesToUtf8)(pingBytes));\n return {\n peer,\n ping\n };\n } catch (error) {\n return {\n peer,\n ping: Infinity\n };\n }\n }));\n // filter out null values\n const validResults = results.filter((result)=>result !== null);\n return validResults.sort((a, b)=>a.ping - b.ping).map((result)=>result.peer);\n}\n/**\n * Returns the list of peers that supports the given protocol.\n */ async function getPeersForProtocol(peerStore, protocols) {\n const peers = [];\n await peerStore.forEach((peer)=>{\n for(let i = 0; i < protocols.length; i++){\n if (peer.protocols.includes(protocols[i])) {\n peers.push(peer);\n break;\n }\n }\n });\n return peers;\n}\nasync function getConnectedPeersForProtocolAndShard(connections, peerStore, protocols, shardInfo) {\n const openConnections = connections.filter((connection)=>connection.status === \"open\");\n const peerPromises = openConnections.map(async (connection)=>{\n const peer = await peerStore.get(connection.remotePeer);\n const supportsProtocol = protocols.some((protocol)=>peer.protocols.includes(protocol));\n if (supportsProtocol) {\n if (shardInfo) {\n const encodedPeerShardInfo = peer.metadata.get(\"shardInfo\");\n const peerShardInfo = encodedPeerShardInfo && (0,_common_relay_shard_codec_js__WEBPACK_IMPORTED_MODULE_1__.decodeRelayShard)(encodedPeerShardInfo);\n if (peerShardInfo && shardInfo.clusterId === peerShardInfo.clusterId) {\n return peer;\n }\n } else {\n return peer;\n }\n }\n return null;\n });\n const peersWithNulls = await Promise.all(peerPromises);\n return peersWithNulls.filter((peer)=>peer !== null);\n}\nfunction selectConnection(connections) {\n if (!connections.length) return;\n if (connections.length === 1) return connections[0];\n let latestConnection;\n connections.forEach((connection)=>{\n if (connection.status === \"open\") {\n if (!latestConnection) {\n latestConnection = connection;\n } else if (connection.timeline.open > latestConnection.timeline.open) {\n latestConnection = connection;\n }\n }\n });\n return latestConnection;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9saWJwMnAvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFnRDtBQUNrQjtBQUNsRTs7O0NBR0MsR0FDTSxTQUFTRSxpQkFBaUJDLEtBQUs7SUFDbEMsSUFBSUEsTUFBTUMsTUFBTSxLQUFLLEdBQ2pCO0lBQ0osTUFBTUMsUUFBUUMsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxNQUFNLEtBQU1MLENBQUFBLE1BQU1DLE1BQU0sR0FBRztJQUN6RCxPQUFPRCxLQUFLLENBQUNFLE1BQU07QUFDdkI7QUFDQTs7Ozs7Q0FLQyxHQUNNLGVBQWVJLG1CQUFtQkMsU0FBUyxFQUFFUCxLQUFLO0lBQ3JELElBQUlBLE1BQU1DLE1BQU0sS0FBSyxHQUNqQixPQUFPLEVBQUU7SUFDYixNQUFNTyxVQUFVLE1BQU1DLFFBQVFDLEdBQUcsQ0FBQ1YsTUFBTVcsR0FBRyxDQUFDLE9BQU9DO1FBQy9DLElBQUk7WUFDQSxNQUFNQyxZQUFZLENBQUMsTUFBTU4sVUFBVU8sR0FBRyxDQUFDRixLQUFLRyxFQUFFLEdBQUdDLFFBQVEsQ0FBQ0YsR0FBRyxDQUFDO1lBQzlELElBQUksQ0FBQ0QsV0FDRCxPQUFPO2dCQUFFRDtnQkFBTUssTUFBTUM7WUFBUztZQUNsQyxNQUFNRCxPQUFPRSxPQUFPdEIsNERBQVdBLENBQUNnQjtZQUNoQyxPQUFPO2dCQUFFRDtnQkFBTUs7WUFBSztRQUN4QixFQUNBLE9BQU9HLE9BQU87WUFDVixPQUFPO2dCQUFFUjtnQkFBTUssTUFBTUM7WUFBUztRQUNsQztJQUNKO0lBQ0EseUJBQXlCO0lBQ3pCLE1BQU1HLGVBQWViLFFBQVFjLE1BQU0sQ0FBQyxDQUFDQyxTQUFXQSxXQUFXO0lBQzNELE9BQU9GLGFBQ0ZHLElBQUksQ0FBQyxDQUFDQyxHQUFHQyxJQUFNRCxFQUFFUixJQUFJLEdBQUdTLEVBQUVULElBQUksRUFDOUJOLEdBQUcsQ0FBQyxDQUFDWSxTQUFXQSxPQUFPWCxJQUFJO0FBQ3BDO0FBQ0E7O0NBRUMsR0FDTSxlQUFlZSxvQkFBb0JwQixTQUFTLEVBQUVxQixTQUFTO0lBQzFELE1BQU01QixRQUFRLEVBQUU7SUFDaEIsTUFBTU8sVUFBVXNCLE9BQU8sQ0FBQyxDQUFDakI7UUFDckIsSUFBSyxJQUFJa0IsSUFBSSxHQUFHQSxJQUFJRixVQUFVM0IsTUFBTSxFQUFFNkIsSUFBSztZQUN2QyxJQUFJbEIsS0FBS2dCLFNBQVMsQ0FBQ0csUUFBUSxDQUFDSCxTQUFTLENBQUNFLEVBQUUsR0FBRztnQkFDdkM5QixNQUFNZ0MsSUFBSSxDQUFDcEI7Z0JBQ1g7WUFDSjtRQUNKO0lBQ0o7SUFDQSxPQUFPWjtBQUNYO0FBQ08sZUFBZWlDLHFDQUFxQ0MsV0FBVyxFQUFFM0IsU0FBUyxFQUFFcUIsU0FBUyxFQUFFTyxTQUFTO0lBQ25HLE1BQU1DLGtCQUFrQkYsWUFBWVosTUFBTSxDQUFDLENBQUNlLGFBQWVBLFdBQVdDLE1BQU0sS0FBSztJQUNqRixNQUFNQyxlQUFlSCxnQkFBZ0J6QixHQUFHLENBQUMsT0FBTzBCO1FBQzVDLE1BQU16QixPQUFPLE1BQU1MLFVBQVVPLEdBQUcsQ0FBQ3VCLFdBQVdHLFVBQVU7UUFDdEQsTUFBTUMsbUJBQW1CYixVQUFVYyxJQUFJLENBQUMsQ0FBQ0MsV0FBYS9CLEtBQUtnQixTQUFTLENBQUNHLFFBQVEsQ0FBQ1k7UUFDOUUsSUFBSUYsa0JBQWtCO1lBQ2xCLElBQUlOLFdBQVc7Z0JBQ1gsTUFBTVMsdUJBQXVCaEMsS0FBS0ksUUFBUSxDQUFDRixHQUFHLENBQUM7Z0JBQy9DLE1BQU0rQixnQkFBZ0JELHdCQUF3QjlDLDhFQUFnQkEsQ0FBQzhDO2dCQUMvRCxJQUFJQyxpQkFBaUJWLFVBQVVXLFNBQVMsS0FBS0QsY0FBY0MsU0FBUyxFQUFFO29CQUNsRSxPQUFPbEM7Z0JBQ1g7WUFDSixPQUNLO2dCQUNELE9BQU9BO1lBQ1g7UUFDSjtRQUNBLE9BQU87SUFDWDtJQUNBLE1BQU1tQyxpQkFBaUIsTUFBTXRDLFFBQVFDLEdBQUcsQ0FBQzZCO0lBQ3pDLE9BQU9RLGVBQWV6QixNQUFNLENBQUMsQ0FBQ1YsT0FBU0EsU0FBUztBQUNwRDtBQUNPLFNBQVNvQyxpQkFBaUJkLFdBQVc7SUFDeEMsSUFBSSxDQUFDQSxZQUFZakMsTUFBTSxFQUNuQjtJQUNKLElBQUlpQyxZQUFZakMsTUFBTSxLQUFLLEdBQ3ZCLE9BQU9pQyxXQUFXLENBQUMsRUFBRTtJQUN6QixJQUFJZTtJQUNKZixZQUFZTCxPQUFPLENBQUMsQ0FBQ1E7UUFDakIsSUFBSUEsV0FBV0MsTUFBTSxLQUFLLFFBQVE7WUFDOUIsSUFBSSxDQUFDVyxrQkFBa0I7Z0JBQ25CQSxtQkFBbUJaO1lBQ3ZCLE9BQ0ssSUFBSUEsV0FBV2EsUUFBUSxDQUFDQyxJQUFJLEdBQUdGLGlCQUFpQkMsUUFBUSxDQUFDQyxJQUFJLEVBQUU7Z0JBQ2hFRixtQkFBbUJaO1lBQ3ZCO1FBQ0o7SUFDSjtJQUNBLE9BQU9ZO0FBQ1gsRUFDQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9kaXN0L2xpYnAycC9pbmRleC5qcz8wMTE4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJ5dGVzVG9VdGY4IH0gZnJvbSBcIi4uL2J5dGVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBkZWNvZGVSZWxheVNoYXJkIH0gZnJvbSBcIi4uL2NvbW1vbi9yZWxheV9zaGFyZF9jb2RlYy5qc1wiO1xuLyoqXG4gKiBSZXR1cm5zIGEgcHNldWRvLXJhbmRvbSBwZWVyIHRoYXQgc3VwcG9ydHMgdGhlIGdpdmVuIHByb3RvY29sLlxuICogVXNlZnVsIGZvciBwcm90b2NvbHMgc3VjaCBhcyBzdG9yZSBhbmQgbGlnaHQgcHVzaFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0UmFuZG9tUGVlcihwZWVycykge1xuICAgIGlmIChwZWVycy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBpbmRleCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIChwZWVycy5sZW5ndGggLSAxKSk7XG4gICAgcmV0dXJuIHBlZXJzW2luZGV4XTtcbn1cbi8qKlxuICogRnVuY3Rpb24gdG8gc29ydCBwZWVycyBieSBsYXRlbmN5IGZyb20gbG93ZXN0IHRvIGhpZ2hlc3RcbiAqIEBwYXJhbSBwZWVyU3RvcmUgLSBUaGUgTGlicDJwIFBlZXJTdG9yZVxuICogQHBhcmFtIHBlZXJzIC0gVGhlIGxpc3Qgb2YgcGVlcnMgdG8gY2hvb3NlIGZyb21cbiAqIEByZXR1cm5zIFNvcnRlZCBhcnJheSBvZiBwZWVycyBieSBsYXRlbmN5XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzb3J0UGVlcnNCeUxhdGVuY3kocGVlclN0b3JlLCBwZWVycykge1xuICAgIGlmIChwZWVycy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBbXTtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwocGVlcnMubWFwKGFzeW5jIChwZWVyKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBwaW5nQnl0ZXMgPSAoYXdhaXQgcGVlclN0b3JlLmdldChwZWVyLmlkKSkubWV0YWRhdGEuZ2V0KFwicGluZ1wiKTtcbiAgICAgICAgICAgIGlmICghcGluZ0J5dGVzKVxuICAgICAgICAgICAgICAgIHJldHVybiB7IHBlZXIsIHBpbmc6IEluZmluaXR5IH07XG4gICAgICAgICAgICBjb25zdCBwaW5nID0gTnVtYmVyKGJ5dGVzVG9VdGY4KHBpbmdCeXRlcykpO1xuICAgICAgICAgICAgcmV0dXJuIHsgcGVlciwgcGluZyB9O1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHsgcGVlciwgcGluZzogSW5maW5pdHkgfTtcbiAgICAgICAgfVxuICAgIH0pKTtcbiAgICAvLyBmaWx0ZXIgb3V0IG51bGwgdmFsdWVzXG4gICAgY29uc3QgdmFsaWRSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoKHJlc3VsdCkgPT4gcmVzdWx0ICE9PSBudWxsKTtcbiAgICByZXR1cm4gdmFsaWRSZXN1bHRzXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLnBpbmcgLSBiLnBpbmcpXG4gICAgICAgIC5tYXAoKHJlc3VsdCkgPT4gcmVzdWx0LnBlZXIpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBsaXN0IG9mIHBlZXJzIHRoYXQgc3VwcG9ydHMgdGhlIGdpdmVuIHByb3RvY29sLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UGVlcnNGb3JQcm90b2NvbChwZWVyU3RvcmUsIHByb3RvY29scykge1xuICAgIGNvbnN0IHBlZXJzID0gW107XG4gICAgYXdhaXQgcGVlclN0b3JlLmZvckVhY2goKHBlZXIpID0+IHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm90b2NvbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChwZWVyLnByb3RvY29scy5pbmNsdWRlcyhwcm90b2NvbHNbaV0pKSB7XG4gICAgICAgICAgICAgICAgcGVlcnMucHVzaChwZWVyKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwZWVycztcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRDb25uZWN0ZWRQZWVyc0ZvclByb3RvY29sQW5kU2hhcmQoY29ubmVjdGlvbnMsIHBlZXJTdG9yZSwgcHJvdG9jb2xzLCBzaGFyZEluZm8pIHtcbiAgICBjb25zdCBvcGVuQ29ubmVjdGlvbnMgPSBjb25uZWN0aW9ucy5maWx0ZXIoKGNvbm5lY3Rpb24pID0+IGNvbm5lY3Rpb24uc3RhdHVzID09PSBcIm9wZW5cIik7XG4gICAgY29uc3QgcGVlclByb21pc2VzID0gb3BlbkNvbm5lY3Rpb25zLm1hcChhc3luYyAoY29ubmVjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBwZWVyID0gYXdhaXQgcGVlclN0b3JlLmdldChjb25uZWN0aW9uLnJlbW90ZVBlZXIpO1xuICAgICAgICBjb25zdCBzdXBwb3J0c1Byb3RvY29sID0gcHJvdG9jb2xzLnNvbWUoKHByb3RvY29sKSA9PiBwZWVyLnByb3RvY29scy5pbmNsdWRlcyhwcm90b2NvbCkpO1xuICAgICAgICBpZiAoc3VwcG9ydHNQcm90b2NvbCkge1xuICAgICAgICAgICAgaWYgKHNoYXJkSW5mbykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuY29kZWRQZWVyU2hhcmRJbmZvID0gcGVlci5tZXRhZGF0YS5nZXQoXCJzaGFyZEluZm9cIik7XG4gICAgICAgICAgICAgICAgY29uc3QgcGVlclNoYXJkSW5mbyA9IGVuY29kZWRQZWVyU2hhcmRJbmZvICYmIGRlY29kZVJlbGF5U2hhcmQoZW5jb2RlZFBlZXJTaGFyZEluZm8pO1xuICAgICAgICAgICAgICAgIGlmIChwZWVyU2hhcmRJbmZvICYmIHNoYXJkSW5mby5jbHVzdGVySWQgPT09IHBlZXJTaGFyZEluZm8uY2x1c3RlcklkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwZWVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBwZWVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuICAgIGNvbnN0IHBlZXJzV2l0aE51bGxzID0gYXdhaXQgUHJvbWlzZS5hbGwocGVlclByb21pc2VzKTtcbiAgICByZXR1cm4gcGVlcnNXaXRoTnVsbHMuZmlsdGVyKChwZWVyKSA9PiBwZWVyICE9PSBudWxsKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RDb25uZWN0aW9uKGNvbm5lY3Rpb25zKSB7XG4gICAgaWYgKCFjb25uZWN0aW9ucy5sZW5ndGgpXG4gICAgICAgIHJldHVybjtcbiAgICBpZiAoY29ubmVjdGlvbnMubGVuZ3RoID09PSAxKVxuICAgICAgICByZXR1cm4gY29ubmVjdGlvbnNbMF07XG4gICAgbGV0IGxhdGVzdENvbm5lY3Rpb247XG4gICAgY29ubmVjdGlvbnMuZm9yRWFjaCgoY29ubmVjdGlvbikgPT4ge1xuICAgICAgICBpZiAoY29ubmVjdGlvbi5zdGF0dXMgPT09IFwib3BlblwiKSB7XG4gICAgICAgICAgICBpZiAoIWxhdGVzdENvbm5lY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBsYXRlc3RDb25uZWN0aW9uID0gY29ubmVjdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNvbm5lY3Rpb24udGltZWxpbmUub3BlbiA+IGxhdGVzdENvbm5lY3Rpb24udGltZWxpbmUub3Blbikge1xuICAgICAgICAgICAgICAgIGxhdGVzdENvbm5lY3Rpb24gPSBjb25uZWN0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGxhdGVzdENvbm5lY3Rpb247XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiYnl0ZXNUb1V0ZjgiLCJkZWNvZGVSZWxheVNoYXJkIiwic2VsZWN0UmFuZG9tUGVlciIsInBlZXJzIiwibGVuZ3RoIiwiaW5kZXgiLCJNYXRoIiwicm91bmQiLCJyYW5kb20iLCJzb3J0UGVlcnNCeUxhdGVuY3kiLCJwZWVyU3RvcmUiLCJyZXN1bHRzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsInBlZXIiLCJwaW5nQnl0ZXMiLCJnZXQiLCJpZCIsIm1ldGFkYXRhIiwicGluZyIsIkluZmluaXR5IiwiTnVtYmVyIiwiZXJyb3IiLCJ2YWxpZFJlc3VsdHMiLCJmaWx0ZXIiLCJyZXN1bHQiLCJzb3J0IiwiYSIsImIiLCJnZXRQZWVyc0ZvclByb3RvY29sIiwicHJvdG9jb2xzIiwiZm9yRWFjaCIsImkiLCJpbmNsdWRlcyIsInB1c2giLCJnZXRDb25uZWN0ZWRQZWVyc0ZvclByb3RvY29sQW5kU2hhcmQiLCJjb25uZWN0aW9ucyIsInNoYXJkSW5mbyIsIm9wZW5Db25uZWN0aW9ucyIsImNvbm5lY3Rpb24iLCJzdGF0dXMiLCJwZWVyUHJvbWlzZXMiLCJyZW1vdGVQZWVyIiwic3VwcG9ydHNQcm90b2NvbCIsInNvbWUiLCJwcm90b2NvbCIsImVuY29kZWRQZWVyU2hhcmRJbmZvIiwicGVlclNoYXJkSW5mbyIsImNsdXN0ZXJJZCIsInBlZXJzV2l0aE51bGxzIiwic2VsZWN0Q29ubmVjdGlvbiIsImxhdGVzdENvbm5lY3Rpb24iLCJ0aW1lbGluZSIsIm9wZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/libp2p/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/dist/logger/index.js":
/*!*******************************************************!*\
!*** ./node_modules/@waku/utils/dist/logger/index.js ***!
\*******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logger: () => (/* binding */ Logger)\n/* harmony export */ });\n/* harmony import */ var debug__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! debug */ \"(ssr)/./node_modules/debug/src/index.js\");\n\nconst APP_NAME = \"waku\";\nclass Logger {\n static createDebugNamespace(level, prefix) {\n return prefix ? `${APP_NAME}:${level}:${prefix}` : `${APP_NAME}:${level}`;\n }\n constructor(prefix){\n this._info = debug__WEBPACK_IMPORTED_MODULE_0__(Logger.createDebugNamespace(\"info\", prefix));\n this._warn = debug__WEBPACK_IMPORTED_MODULE_0__(Logger.createDebugNamespace(\"warn\", prefix));\n this._error = debug__WEBPACK_IMPORTED_MODULE_0__(Logger.createDebugNamespace(\"error\", prefix));\n }\n get info() {\n return this._info;\n }\n get warn() {\n return this._warn;\n }\n get error() {\n return this._error;\n }\n log(level, ...args) {\n const logger = this[level];\n logger(...args);\n }\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvZGlzdC9sb2dnZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBMEI7QUFDMUIsTUFBTUMsV0FBVztBQUNWLE1BQU1DO0lBSVQsT0FBT0MscUJBQXFCQyxLQUFLLEVBQUVDLE1BQU0sRUFBRTtRQUN2QyxPQUFPQSxTQUFTLENBQUMsRUFBRUosU0FBUyxDQUFDLEVBQUVHLE1BQU0sQ0FBQyxFQUFFQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUVKLFNBQVMsQ0FBQyxFQUFFRyxNQUFNLENBQUM7SUFDN0U7SUFDQUUsWUFBWUQsTUFBTSxDQUFFO1FBQ2hCLElBQUksQ0FBQ0UsS0FBSyxHQUFHUCxrQ0FBS0EsQ0FBQ0UsT0FBT0Msb0JBQW9CLENBQUMsUUFBUUU7UUFDdkQsSUFBSSxDQUFDRyxLQUFLLEdBQUdSLGtDQUFLQSxDQUFDRSxPQUFPQyxvQkFBb0IsQ0FBQyxRQUFRRTtRQUN2RCxJQUFJLENBQUNJLE1BQU0sR0FBR1Qsa0NBQUtBLENBQUNFLE9BQU9DLG9CQUFvQixDQUFDLFNBQVNFO0lBQzdEO0lBQ0EsSUFBSUssT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDSCxLQUFLO0lBQ3JCO0lBQ0EsSUFBSUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDSCxLQUFLO0lBQ3JCO0lBQ0EsSUFBSUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDSCxNQUFNO0lBQ3RCO0lBQ0FJLElBQUlULEtBQUssRUFBRSxHQUFHVSxJQUFJLEVBQUU7UUFDaEIsTUFBTUMsU0FBUyxJQUFJLENBQUNYLE1BQU07UUFDMUJXLFVBQVVEO0lBQ2Q7QUFDSixFQUNBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL2Rpc3QvbG9nZ2VyL2luZGV4LmpzP2VhNzciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlYnVnIGZyb20gXCJkZWJ1Z1wiO1xuY29uc3QgQVBQX05BTUUgPSBcIndha3VcIjtcbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xuICAgIF9pbmZvO1xuICAgIF93YXJuO1xuICAgIF9lcnJvcjtcbiAgICBzdGF0aWMgY3JlYXRlRGVidWdOYW1lc3BhY2UobGV2ZWwsIHByZWZpeCkge1xuICAgICAgICByZXR1cm4gcHJlZml4ID8gYCR7QVBQX05BTUV9OiR7bGV2ZWx9OiR7cHJlZml4fWAgOiBgJHtBUFBfTkFNRX06JHtsZXZlbH1gO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwcmVmaXgpIHtcbiAgICAgICAgdGhpcy5faW5mbyA9IGRlYnVnKExvZ2dlci5jcmVhdGVEZWJ1Z05hbWVzcGFjZShcImluZm9cIiwgcHJlZml4KSk7XG4gICAgICAgIHRoaXMuX3dhcm4gPSBkZWJ1ZyhMb2dnZXIuY3JlYXRlRGVidWdOYW1lc3BhY2UoXCJ3YXJuXCIsIHByZWZpeCkpO1xuICAgICAgICB0aGlzLl9lcnJvciA9IGRlYnVnKExvZ2dlci5jcmVhdGVEZWJ1Z05hbWVzcGFjZShcImVycm9yXCIsIHByZWZpeCkpO1xuICAgIH1cbiAgICBnZXQgaW5mbygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luZm87XG4gICAgfVxuICAgIGdldCB3YXJuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2FybjtcbiAgICB9XG4gICAgZ2V0IGVycm9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXJyb3I7XG4gICAgfVxuICAgIGxvZyhsZXZlbCwgLi4uYXJncykge1xuICAgICAgICBjb25zdCBsb2dnZXIgPSB0aGlzW2xldmVsXTtcbiAgICAgICAgbG9nZ2VyKC4uLmFyZ3MpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJkZWJ1ZyIsIkFQUF9OQU1FIiwiTG9nZ2VyIiwiY3JlYXRlRGVidWdOYW1lc3BhY2UiLCJsZXZlbCIsInByZWZpeCIsImNvbnN0cnVjdG9yIiwiX2luZm8iLCJfd2FybiIsIl9lcnJvciIsImluZm8iLCJ3YXJuIiwiZXJyb3IiLCJsb2ciLCJhcmdzIiwibG9nZ2VyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/dist/logger/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/connection_manager.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/connection_manager.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EConnectionStateEvents: () => (/* binding */ EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* binding */ EPeersByDiscoveryEvents),\n/* harmony export */ Tags: () => (/* binding */ Tags)\n/* harmony export */ });\nvar Tags;\n(function(Tags) {\n Tags[\"BOOTSTRAP\"] = \"bootstrap\";\n Tags[\"PEER_EXCHANGE\"] = \"peer-exchange\";\n Tags[\"LOCAL\"] = \"local-peer-cache\";\n})(Tags || (Tags = {}));\nvar EPeersByDiscoveryEvents;\n(function(EPeersByDiscoveryEvents) {\n EPeersByDiscoveryEvents[\"PEER_DISCOVERY_BOOTSTRAP\"] = \"peer:discovery:bootstrap\";\n EPeersByDiscoveryEvents[\"PEER_DISCOVERY_PEER_EXCHANGE\"] = \"peer:discovery:peer-exchange\";\n EPeersByDiscoveryEvents[\"PEER_CONNECT_BOOTSTRAP\"] = \"peer:connected:bootstrap\";\n EPeersByDiscoveryEvents[\"PEER_CONNECT_PEER_EXCHANGE\"] = \"peer:connected:peer-exchange\";\n})(EPeersByDiscoveryEvents || (EPeersByDiscoveryEvents = {}));\nvar EConnectionStateEvents;\n(function(EConnectionStateEvents) {\n EConnectionStateEvents[\"CONNECTION_STATUS\"] = \"waku:connection\";\n})(EConnectionStateEvents || (EConnectionStateEvents = {})); //# sourceMappingURL=connection_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9jb25uZWN0aW9uX21hbmFnZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQU8sSUFBSUEsS0FBSztBQUNmLFVBQVVBLElBQUk7SUFDWEEsSUFBSSxDQUFDLFlBQVksR0FBRztJQUNwQkEsSUFBSSxDQUFDLGdCQUFnQixHQUFHO0lBQ3hCQSxJQUFJLENBQUMsUUFBUSxHQUFHO0FBQ3BCLEdBQUdBLFFBQVNBLENBQUFBLE9BQU8sQ0FBQztBQUNiLElBQUlDLHdCQUF3QjtBQUNsQyxVQUFVQSx1QkFBdUI7SUFDOUJBLHVCQUF1QixDQUFDLDJCQUEyQixHQUFHO0lBQ3REQSx1QkFBdUIsQ0FBQywrQkFBK0IsR0FBRztJQUMxREEsdUJBQXVCLENBQUMseUJBQXlCLEdBQUc7SUFDcERBLHVCQUF1QixDQUFDLDZCQUE2QixHQUFHO0FBQzVELEdBQUdBLDJCQUE0QkEsQ0FBQUEsMEJBQTBCLENBQUM7QUFDbkQsSUFBSUMsdUJBQXVCO0FBQ2pDLFVBQVVBLHNCQUFzQjtJQUM3QkEsc0JBQXNCLENBQUMsb0JBQW9CLEdBQUc7QUFDbEQsR0FBR0EsMEJBQTJCQSxDQUFBQSx5QkFBeUIsQ0FBQyxLQUN4RCw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2Nvbm5lY3Rpb25fbWFuYWdlci5qcz9lNmM3Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgVGFncztcbihmdW5jdGlvbiAoVGFncykge1xuICAgIFRhZ3NbXCJCT09UU1RSQVBcIl0gPSBcImJvb3RzdHJhcFwiO1xuICAgIFRhZ3NbXCJQRUVSX0VYQ0hBTkdFXCJdID0gXCJwZWVyLWV4Y2hhbmdlXCI7XG4gICAgVGFnc1tcIkxPQ0FMXCJdID0gXCJsb2NhbC1wZWVyLWNhY2hlXCI7XG59KShUYWdzIHx8IChUYWdzID0ge30pKTtcbmV4cG9ydCB2YXIgRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHM7XG4oZnVuY3Rpb24gKEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzKSB7XG4gICAgRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHNbXCJQRUVSX0RJU0NPVkVSWV9CT09UU1RSQVBcIl0gPSBcInBlZXI6ZGlzY292ZXJ5OmJvb3RzdHJhcFwiO1xuICAgIEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzW1wiUEVFUl9ESVNDT1ZFUllfUEVFUl9FWENIQU5HRVwiXSA9IFwicGVlcjpkaXNjb3Zlcnk6cGVlci1leGNoYW5nZVwiO1xuICAgIEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzW1wiUEVFUl9DT05ORUNUX0JPT1RTVFJBUFwiXSA9IFwicGVlcjpjb25uZWN0ZWQ6Ym9vdHN0cmFwXCI7XG4gICAgRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHNbXCJQRUVSX0NPTk5FQ1RfUEVFUl9FWENIQU5HRVwiXSA9IFwicGVlcjpjb25uZWN0ZWQ6cGVlci1leGNoYW5nZVwiO1xufSkoRVBlZXJzQnlEaXNjb3ZlcnlFdmVudHMgfHwgKEVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzID0ge30pKTtcbmV4cG9ydCB2YXIgRUNvbm5lY3Rpb25TdGF0ZUV2ZW50cztcbihmdW5jdGlvbiAoRUNvbm5lY3Rpb25TdGF0ZUV2ZW50cykge1xuICAgIEVDb25uZWN0aW9uU3RhdGVFdmVudHNbXCJDT05ORUNUSU9OX1NUQVRVU1wiXSA9IFwid2FrdTpjb25uZWN0aW9uXCI7XG59KShFQ29ubmVjdGlvblN0YXRlRXZlbnRzIHx8IChFQ29ubmVjdGlvblN0YXRlRXZlbnRzID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbm5lY3Rpb25fbWFuYWdlci5qcy5tYXAiXSwibmFtZXMiOlsiVGFncyIsIkVQZWVyc0J5RGlzY292ZXJ5RXZlbnRzIiwiRUNvbm5lY3Rpb25TdGF0ZUV2ZW50cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/connection_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/constants.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/constants.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* binding */ DEFAULT_CLUSTER_ID),\n/* harmony export */ DefaultPubsubTopic: () => (/* binding */ DefaultPubsubTopic)\n/* harmony export */ });\n/**\n * DefaultPubsubTopic is the default gossipsub topic to use for Waku.\n */ const DefaultPubsubTopic = \"/waku/2/default-waku/proto\";\n/**\n * The default cluster ID for The Waku Network\n */ const DEFAULT_CLUSTER_ID = 1; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Q0FFQyxHQUNNLE1BQU1BLHFCQUFxQiw2QkFBNkI7QUFDL0Q7O0NBRUMsR0FDTSxNQUFNQyxxQkFBcUIsRUFBRSxDQUNwQyxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L2NvbnN0YW50cy5qcz84MTY1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVmYXVsdFB1YnN1YlRvcGljIGlzIHRoZSBkZWZhdWx0IGdvc3NpcHN1YiB0b3BpYyB0byB1c2UgZm9yIFdha3UuXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0UHVic3ViVG9waWMgPSBcIi93YWt1LzIvZGVmYXVsdC13YWt1L3Byb3RvXCI7XG4vKipcbiAqIFRoZSBkZWZhdWx0IGNsdXN0ZXIgSUQgZm9yIFRoZSBXYWt1IE5ldHdvcmtcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0xVU1RFUl9JRCA9IDE7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudHMuanMubWFwIl0sIm5hbWVzIjpbIkRlZmF1bHRQdWJzdWJUb3BpYyIsIkRFRkFVTFRfQ0xVU1RFUl9JRCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/constants.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/dns_discovery.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/dns_discovery.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=dns_discovery.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9kbnNfZGlzY292ZXJ5LmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvZG5zX2Rpc2NvdmVyeS5qcz9kN2IzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRuc19kaXNjb3ZlcnkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/dns_discovery.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/enr.js":
/*!****************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/enr.js ***!
\****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=enr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9lbnIuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YsK0JBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9lbnIuanM/MmZiNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/enr.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/filter.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/filter.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9maWx0ZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9maWx0ZXIuanM/ZDFiYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1maWx0ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/filter.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/index.js":
/*!******************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/index.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_CLUSTER_ID: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_17__.DEFAULT_CLUSTER_ID),\n/* harmony export */ DefaultPubsubTopic: () => (/* reexport safe */ _constants_js__WEBPACK_IMPORTED_MODULE_17__.DefaultPubsubTopic),\n/* harmony export */ EConnectionStateEvents: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.EConnectionStateEvents),\n/* harmony export */ EPeersByDiscoveryEvents: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.EPeersByDiscoveryEvents),\n/* harmony export */ PageDirection: () => (/* reexport safe */ _store_js__WEBPACK_IMPORTED_MODULE_7__.PageDirection),\n/* harmony export */ ProtocolError: () => (/* reexport safe */ _protocols_js__WEBPACK_IMPORTED_MODULE_5__.ProtocolError),\n/* harmony export */ Protocols: () => (/* reexport safe */ _protocols_js__WEBPACK_IMPORTED_MODULE_5__.Protocols),\n/* harmony export */ Tags: () => (/* reexport safe */ _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__.Tags)\n/* harmony export */ });\n/* harmony import */ var _enr_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enr.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/enr.js\");\n/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./filter.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/filter.js\");\n/* harmony import */ var _light_push_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./light_push.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/light_push.js\");\n/* harmony import */ var _message_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./message.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/message.js\");\n/* harmony import */ var _peer_exchange_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./peer_exchange.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/peer_exchange.js\");\n/* harmony import */ var _protocols_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protocols.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/protocols.js\");\n/* harmony import */ var _relay_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./relay.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/relay.js\");\n/* harmony import */ var _store_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./store.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/store.js\");\n/* harmony import */ var _waku_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./waku.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/waku.js\");\n/* harmony import */ var _connection_manager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./connection_manager.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/connection_manager.js\");\n/* harmony import */ var _sender_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./sender.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/sender.js\");\n/* harmony import */ var _receiver_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./receiver.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/receiver.js\");\n/* harmony import */ var _misc_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./misc.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/misc.js\");\n/* harmony import */ var _libp2p_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./libp2p.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/libp2p.js\");\n/* harmony import */ var _keep_alive_manager_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./keep_alive_manager.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/keep_alive_manager.js\");\n/* harmony import */ var _dns_discovery_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./dns_discovery.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/dns_discovery.js\");\n/* harmony import */ var _metadata_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./metadata.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/metadata.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/constants.js\");\n/* harmony import */ var _local_storage_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./local_storage.js */ \"(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/local_storage.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBeUI7QUFDRztBQUNJO0FBQ0g7QUFDTTtBQUNKO0FBQ0o7QUFDQTtBQUNEO0FBQ2M7QUFDWjtBQUNFO0FBQ0o7QUFDRTtBQUNZO0FBQ0w7QUFDTDtBQUNDO0FBQ0ksQ0FDbkMsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9pbmRleC5qcz9jNmYwIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2Vuci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsdGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWdodF9wdXNoLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZXNzYWdlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wZWVyX2V4Y2hhbmdlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm90b2NvbHMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlbGF5LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdG9yZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2FrdS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29ubmVjdGlvbl9tYW5hZ2VyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZW5kZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlY2VpdmVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taXNjLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWJwMnAuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2tlZXBfYWxpdmVfbWFuYWdlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZG5zX2Rpc2NvdmVyeS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWV0YWRhdGEuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxfc3RvcmFnZS5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/keep_alive_manager.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/keep_alive_manager.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=keep_alive_manager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9rZWVwX2FsaXZlX21hbmFnZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1YsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9rZWVwX2FsaXZlX21hbmFnZXIuanM/MTYyOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1rZWVwX2FsaXZlX21hbmFnZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/keep_alive_manager.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/libp2p.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/libp2p.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=libp2p.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9saWJwMnAuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9saWJwMnAuanM/MGYyZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1saWJwMnAuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/libp2p.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/light_push.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/light_push.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=light_push.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9saWdodF9wdXNoLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbGlnaHRfcHVzaC5qcz85ODFmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpZ2h0X3B1c2guanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/light_push.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/local_storage.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/local_storage.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=local_storage.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9sb2NhbF9zdG9yYWdlLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbG9jYWxfc3RvcmFnZS5qcz9kYzhkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxvY2FsX3N0b3JhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/local_storage.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/message.js":
/*!********************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/message.js ***!
\********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=message.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9tZXNzYWdlLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWVzc2FnZS5qcz85YWNiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1lc3NhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/message.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/metadata.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/metadata.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=metadata.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9tZXRhZGF0YS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L21ldGFkYXRhLmpzPzE0ZDciXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWV0YWRhdGEuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/metadata.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/misc.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/misc.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=misc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9taXNjLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvbWlzYy5qcz9lMzUwIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1pc2MuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/misc.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/peer_exchange.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/peer_exchange.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=peer_exchange.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9wZWVyX2V4Y2hhbmdlLmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3QvcGVlcl9leGNoYW5nZS5qcz8zOGNiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBlZXJfZXhjaGFuZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/peer_exchange.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/protocols.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/protocols.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ProtocolError: () => (/* binding */ ProtocolError),\n/* harmony export */ Protocols: () => (/* binding */ Protocols)\n/* harmony export */ });\nvar Protocols;\n(function(Protocols) {\n Protocols[\"Relay\"] = \"relay\";\n Protocols[\"Store\"] = \"store\";\n Protocols[\"LightPush\"] = \"lightpush\";\n Protocols[\"Filter\"] = \"filter\";\n})(Protocols || (Protocols = {}));\nvar ProtocolError;\n(function(ProtocolError) {\n /** Could not determine the origin of the fault. Best to check connectivity and try again */ ProtocolError[\"GENERIC_FAIL\"] = \"Generic error\";\n /**\n * Failure to protobuf encode the message. This is not recoverable and needs\n * further investigation.\n */ ProtocolError[\"ENCODE_FAILED\"] = \"Failed to encode\";\n /**\n * Failure to protobuf decode the message. May be due to a remote peer issue,\n * ensuring that messages are sent via several peer enable mitigation of this error.\n */ ProtocolError[\"DECODE_FAILED\"] = \"Failed to decode\";\n /**\n * The message payload is empty, making the message invalid. Ensure that a non-empty\n * payload is set on the outgoing message.\n */ ProtocolError[\"EMPTY_PAYLOAD\"] = \"Payload is empty\";\n /**\n * The message size is above the maximum message size allowed on the Waku Network.\n * Compressing the message or using an alternative strategy for large messages is recommended.\n */ ProtocolError[\"SIZE_TOO_BIG\"] = \"Size is too big\";\n /**\n * The PubsubTopic passed to the send function is not configured on the Waku node.\n * Please ensure that the PubsubTopic is used when initializing the Waku node.\n */ ProtocolError[\"TOPIC_NOT_CONFIGURED\"] = \"Topic not configured\";\n /**\n * Failure to find a peer with suitable protocols. This may due to a connection issue.\n * Mitigation can be: retrying after a given time period, display connectivity issue\n * to user or listening for `peer:connected:bootstrap` or `peer:connected:peer-exchange`\n * on the connection manager before retrying.\n */ ProtocolError[\"NO_PEER_AVAILABLE\"] = \"No peer available\";\n /**\n * The remote peer did not behave as expected. Mitigation for `NO_PEER_AVAILABLE`\n * or `DECODE_FAILED` can be used.\n */ ProtocolError[\"REMOTE_PEER_FAULT\"] = \"Remote peer fault\";\n /**\n * The remote peer rejected the message. Information provided by the remote peer\n * is logged. Review message validity, or mitigation for `NO_PEER_AVAILABLE`\n * or `DECODE_FAILED` can be used.\n */ ProtocolError[\"REMOTE_PEER_REJECTED\"] = \"Remote peer rejected\";\n /**\n * The protocol request timed out without a response. This may be due to a connection issue.\n * Mitigation can be: retrying after a given time period\n */ ProtocolError[\"REQUEST_TIMEOUT\"] = \"Request timeout\";\n})(ProtocolError || (ProtocolError = {})); //# sourceMappingURL=protocols.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9wcm90b2NvbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxJQUFJQSxVQUFVO0FBQ3BCLFVBQVVBLFNBQVM7SUFDaEJBLFNBQVMsQ0FBQyxRQUFRLEdBQUc7SUFDckJBLFNBQVMsQ0FBQyxRQUFRLEdBQUc7SUFDckJBLFNBQVMsQ0FBQyxZQUFZLEdBQUc7SUFDekJBLFNBQVMsQ0FBQyxTQUFTLEdBQUc7QUFDMUIsR0FBR0EsYUFBY0EsQ0FBQUEsWUFBWSxDQUFDO0FBQ3ZCLElBQUlDLGNBQWM7QUFDeEIsVUFBVUEsYUFBYTtJQUNwQiwwRkFBMEYsR0FDMUZBLGFBQWEsQ0FBQyxlQUFlLEdBQUc7SUFDaEM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRztJQUNqQzs7O0tBR0MsR0FDREEsYUFBYSxDQUFDLGdCQUFnQixHQUFHO0lBQ2pDOzs7S0FHQyxHQUNEQSxhQUFhLENBQUMsZ0JBQWdCLEdBQUc7SUFDakM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxlQUFlLEdBQUc7SUFDaEM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyx1QkFBdUIsR0FBRztJQUN4Qzs7Ozs7S0FLQyxHQUNEQSxhQUFhLENBQUMsb0JBQW9CLEdBQUc7SUFDckM7OztLQUdDLEdBQ0RBLGFBQWEsQ0FBQyxvQkFBb0IsR0FBRztJQUNyQzs7OztLQUlDLEdBQ0RBLGFBQWEsQ0FBQyx1QkFBdUIsR0FBRztJQUN4Qzs7O0tBR0MsR0FDREEsYUFBYSxDQUFDLGtCQUFrQixHQUFHO0FBQ3ZDLEdBQUdBLGlCQUFrQkEsQ0FBQUEsZ0JBQWdCLENBQUMsS0FDdEMscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9wcm90b2NvbHMuanM/YWNhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIFByb3RvY29scztcbihmdW5jdGlvbiAoUHJvdG9jb2xzKSB7XG4gICAgUHJvdG9jb2xzW1wiUmVsYXlcIl0gPSBcInJlbGF5XCI7XG4gICAgUHJvdG9jb2xzW1wiU3RvcmVcIl0gPSBcInN0b3JlXCI7XG4gICAgUHJvdG9jb2xzW1wiTGlnaHRQdXNoXCJdID0gXCJsaWdodHB1c2hcIjtcbiAgICBQcm90b2NvbHNbXCJGaWx0ZXJcIl0gPSBcImZpbHRlclwiO1xufSkoUHJvdG9jb2xzIHx8IChQcm90b2NvbHMgPSB7fSkpO1xuZXhwb3J0IHZhciBQcm90b2NvbEVycm9yO1xuKGZ1bmN0aW9uIChQcm90b2NvbEVycm9yKSB7XG4gICAgLyoqIENvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIG9yaWdpbiBvZiB0aGUgZmF1bHQuIEJlc3QgdG8gY2hlY2sgY29ubmVjdGl2aXR5IGFuZCB0cnkgYWdhaW4gKi9cbiAgICBQcm90b2NvbEVycm9yW1wiR0VORVJJQ19GQUlMXCJdID0gXCJHZW5lcmljIGVycm9yXCI7XG4gICAgLyoqXG4gICAgICogRmFpbHVyZSB0byBwcm90b2J1ZiBlbmNvZGUgdGhlIG1lc3NhZ2UuIFRoaXMgaXMgbm90IHJlY292ZXJhYmxlIGFuZCBuZWVkc1xuICAgICAqIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbi5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiRU5DT0RFX0ZBSUxFRFwiXSA9IFwiRmFpbGVkIHRvIGVuY29kZVwiO1xuICAgIC8qKlxuICAgICAqIEZhaWx1cmUgdG8gcHJvdG9idWYgZGVjb2RlIHRoZSBtZXNzYWdlLiBNYXkgYmUgZHVlIHRvIGEgcmVtb3RlIHBlZXIgaXNzdWUsXG4gICAgICogZW5zdXJpbmcgdGhhdCBtZXNzYWdlcyBhcmUgc2VudCB2aWEgc2V2ZXJhbCBwZWVyIGVuYWJsZSBtaXRpZ2F0aW9uIG9mIHRoaXMgZXJyb3IuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIkRFQ09ERV9GQUlMRURcIl0gPSBcIkZhaWxlZCB0byBkZWNvZGVcIjtcbiAgICAvKipcbiAgICAgKiBUaGUgbWVzc2FnZSBwYXlsb2FkIGlzIGVtcHR5LCBtYWtpbmcgdGhlIG1lc3NhZ2UgaW52YWxpZC4gRW5zdXJlIHRoYXQgYSBub24tZW1wdHlcbiAgICAgKiBwYXlsb2FkIGlzIHNldCBvbiB0aGUgb3V0Z29pbmcgbWVzc2FnZS5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiRU1QVFlfUEFZTE9BRFwiXSA9IFwiUGF5bG9hZCBpcyBlbXB0eVwiO1xuICAgIC8qKlxuICAgICAqIFRoZSBtZXNzYWdlIHNpemUgaXMgYWJvdmUgdGhlIG1heGltdW0gbWVzc2FnZSBzaXplIGFsbG93ZWQgb24gdGhlIFdha3UgTmV0d29yay5cbiAgICAgKiBDb21wcmVzc2luZyB0aGUgbWVzc2FnZSBvciB1c2luZyBhbiBhbHRlcm5hdGl2ZSBzdHJhdGVneSBmb3IgbGFyZ2UgbWVzc2FnZXMgaXMgcmVjb21tZW5kZWQuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIlNJWkVfVE9PX0JJR1wiXSA9IFwiU2l6ZSBpcyB0b28gYmlnXCI7XG4gICAgLyoqXG4gICAgICogVGhlIFB1YnN1YlRvcGljIHBhc3NlZCB0byB0aGUgc2VuZCBmdW5jdGlvbiBpcyBub3QgY29uZmlndXJlZCBvbiB0aGUgV2FrdSBub2RlLlxuICAgICAqIFBsZWFzZSBlbnN1cmUgdGhhdCB0aGUgUHVic3ViVG9waWMgaXMgdXNlZCB3aGVuIGluaXRpYWxpemluZyB0aGUgV2FrdSBub2RlLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJUT1BJQ19OT1RfQ09ORklHVVJFRFwiXSA9IFwiVG9waWMgbm90IGNvbmZpZ3VyZWRcIjtcbiAgICAvKipcbiAgICAgKiBGYWlsdXJlIHRvIGZpbmQgYSBwZWVyIHdpdGggc3VpdGFibGUgcHJvdG9jb2xzLiBUaGlzIG1heSBkdWUgdG8gYSBjb25uZWN0aW9uIGlzc3VlLlxuICAgICAqIE1pdGlnYXRpb24gY2FuIGJlOiByZXRyeWluZyBhZnRlciBhIGdpdmVuIHRpbWUgcGVyaW9kLCBkaXNwbGF5IGNvbm5lY3Rpdml0eSBpc3N1ZVxuICAgICAqIHRvIHVzZXIgb3IgbGlzdGVuaW5nIGZvciBgcGVlcjpjb25uZWN0ZWQ6Ym9vdHN0cmFwYCBvciBgcGVlcjpjb25uZWN0ZWQ6cGVlci1leGNoYW5nZWBcbiAgICAgKiBvbiB0aGUgY29ubmVjdGlvbiBtYW5hZ2VyIGJlZm9yZSByZXRyeWluZy5cbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiTk9fUEVFUl9BVkFJTEFCTEVcIl0gPSBcIk5vIHBlZXIgYXZhaWxhYmxlXCI7XG4gICAgLyoqXG4gICAgICogVGhlIHJlbW90ZSBwZWVyIGRpZCBub3QgYmVoYXZlIGFzIGV4cGVjdGVkLiBNaXRpZ2F0aW9uIGZvciBgTk9fUEVFUl9BVkFJTEFCTEVgXG4gICAgICogb3IgYERFQ09ERV9GQUlMRURgIGNhbiBiZSB1c2VkLlxuICAgICAqL1xuICAgIFByb3RvY29sRXJyb3JbXCJSRU1PVEVfUEVFUl9GQVVMVFwiXSA9IFwiUmVtb3RlIHBlZXIgZmF1bHRcIjtcbiAgICAvKipcbiAgICAgKiBUaGUgcmVtb3RlIHBlZXIgcmVqZWN0ZWQgdGhlIG1lc3NhZ2UuIEluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IHRoZSByZW1vdGUgcGVlclxuICAgICAqIGlzIGxvZ2dlZC4gUmV2aWV3IG1lc3NhZ2UgdmFsaWRpdHksIG9yIG1pdGlnYXRpb24gZm9yIGBOT19QRUVSX0FWQUlMQUJMRWBcbiAgICAgKiBvciBgREVDT0RFX0ZBSUxFRGAgY2FuIGJlIHVzZWQuXG4gICAgICovXG4gICAgUHJvdG9jb2xFcnJvcltcIlJFTU9URV9QRUVSX1JFSkVDVEVEXCJdID0gXCJSZW1vdGUgcGVlciByZWplY3RlZFwiO1xuICAgIC8qKlxuICAgICAqIFRoZSBwcm90b2NvbCByZXF1ZXN0IHRpbWVkIG91dCB3aXRob3V0IGEgcmVzcG9uc2UuIFRoaXMgbWF5IGJlIGR1ZSB0byBhIGNvbm5lY3Rpb24gaXNzdWUuXG4gICAgICogTWl0aWdhdGlvbiBjYW4gYmU6IHJldHJ5aW5nIGFmdGVyIGEgZ2l2ZW4gdGltZSBwZXJpb2RcbiAgICAgKi9cbiAgICBQcm90b2NvbEVycm9yW1wiUkVRVUVTVF9USU1FT1VUXCJdID0gXCJSZXF1ZXN0IHRpbWVvdXRcIjtcbn0pKFByb3RvY29sRXJyb3IgfHwgKFByb3RvY29sRXJyb3IgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvdG9jb2xzLmpzLm1hcCJdLCJuYW1lcyI6WyJQcm90b2NvbHMiLCJQcm90b2NvbEVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/protocols.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/receiver.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/receiver.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=receiver.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9yZWNlaXZlci5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3JlY2VpdmVyLmpzPzQ5MjEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVjZWl2ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/receiver.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/relay.js":
/*!******************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/relay.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=relay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9yZWxheS5qcyIsIm1hcHBpbmdzIjoiO0FBQVUsQ0FDVixpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9Ad2FrdS91dGlscy9ub2RlX21vZHVsZXMvQHdha3UvaW50ZXJmYWNlcy9kaXN0L3JlbGF5LmpzP2JkMjYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVsYXkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/relay.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/sender.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/sender.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=sender.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9zZW5kZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFVLENBQ1Ysa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9zZW5kZXIuanM/YTU5MCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZW5kZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/sender.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/store.js":
/*!******************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/store.js ***!
\******************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PageDirection: () => (/* binding */ PageDirection)\n/* harmony export */ });\nvar PageDirection;\n(function(PageDirection) {\n PageDirection[\"BACKWARD\"] = \"backward\";\n PageDirection[\"FORWARD\"] = \"forward\";\n})(PageDirection || (PageDirection = {})); //# sourceMappingURL=store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9zdG9yZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sSUFBSUEsY0FBYztBQUN4QixVQUFVQSxhQUFhO0lBQ3BCQSxhQUFhLENBQUMsV0FBVyxHQUFHO0lBQzVCQSxhQUFhLENBQUMsVUFBVSxHQUFHO0FBQy9CLEdBQUdBLGlCQUFrQkEsQ0FBQUEsZ0JBQWdCLENBQUMsS0FDdEMsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC9zdG9yZS5qcz9kMWViIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgUGFnZURpcmVjdGlvbjtcbihmdW5jdGlvbiAoUGFnZURpcmVjdGlvbikge1xuICAgIFBhZ2VEaXJlY3Rpb25bXCJCQUNLV0FSRFwiXSA9IFwiYmFja3dhcmRcIjtcbiAgICBQYWdlRGlyZWN0aW9uW1wiRk9SV0FSRFwiXSA9IFwiZm9yd2FyZFwiO1xufSkoUGFnZURpcmVjdGlvbiB8fCAoUGFnZURpcmVjdGlvbiA9IHt9KSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdG9yZS5qcy5tYXAiXSwibmFtZXMiOlsiUGFnZURpcmVjdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/store.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/waku.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/waku.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n //# sourceMappingURL=waku.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHdha3UvdXRpbHMvbm9kZV9tb2R1bGVzL0B3YWt1L2ludGVyZmFjZXMvZGlzdC93YWt1LmpzIiwibWFwcGluZ3MiOiI7QUFBVSxDQUNWLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0B3YWt1L3V0aWxzL25vZGVfbW9kdWxlcy9Ad2FrdS9pbnRlcmZhY2VzL2Rpc3Qvd2FrdS5qcz81NTYwIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdha3UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@waku/utils/node_modules/@waku/interfaces/dist/waku.js\n");
/***/ })
};
;