@azure/web-pubsub-client-protobuf 1.0.0-beta.1 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2700 -20
- package/dist/index.js.map +1 -1
- package/package.json +17 -15
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.3/node_modules/protobufjs/minimal.js","../dist-esm/src/generated/clientProto.js","../src/webPubSubProtobufProtocolBase.ts","../src/webPubSubProtobufProtocol.ts","../src/webPubSubProtobufReliableProtocol.ts","../src/index.ts"],"sourcesContent":["// minimal library entry point.\n\n\"use strict\";\nmodule.exports = require(\"./src/index-minimal\");\n","/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/\nimport * as $protobuf from \"protobufjs/minimal\";\n\n// Common aliases\nconst $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;\n\n// Exported root namespace\nconst $root = $protobuf.roots[\"default\"] || ($protobuf.roots[\"default\"] = {});\n\nexport const UpstreamMessage = $root.UpstreamMessage = (() => {\n\n /**\n * Properties of an UpstreamMessage.\n * @exports IUpstreamMessage\n * @interface IUpstreamMessage\n * @property {UpstreamMessage.ISendToGroupMessage|null} [sendToGroupMessage] UpstreamMessage sendToGroupMessage\n * @property {UpstreamMessage.IEventMessage|null} [eventMessage] UpstreamMessage eventMessage\n * @property {UpstreamMessage.IJoinGroupMessage|null} [joinGroupMessage] UpstreamMessage joinGroupMessage\n * @property {UpstreamMessage.ILeaveGroupMessage|null} [leaveGroupMessage] UpstreamMessage leaveGroupMessage\n * @property {UpstreamMessage.ISequenceAckMessage|null} [sequenceAckMessage] UpstreamMessage sequenceAckMessage\n */\n\n /**\n * Constructs a new UpstreamMessage.\n * @exports UpstreamMessage\n * @classdesc Represents an UpstreamMessage.\n * @implements IUpstreamMessage\n * @constructor\n * @param {IUpstreamMessage=} [properties] Properties to set\n */\n function UpstreamMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * UpstreamMessage sendToGroupMessage.\n * @member {UpstreamMessage.ISendToGroupMessage|null|undefined} sendToGroupMessage\n * @memberof UpstreamMessage\n * @instance\n */\n UpstreamMessage.prototype.sendToGroupMessage = null;\n\n /**\n * UpstreamMessage eventMessage.\n * @member {UpstreamMessage.IEventMessage|null|undefined} eventMessage\n * @memberof UpstreamMessage\n * @instance\n */\n UpstreamMessage.prototype.eventMessage = null;\n\n /**\n * UpstreamMessage joinGroupMessage.\n * @member {UpstreamMessage.IJoinGroupMessage|null|undefined} joinGroupMessage\n * @memberof UpstreamMessage\n * @instance\n */\n UpstreamMessage.prototype.joinGroupMessage = null;\n\n /**\n * UpstreamMessage leaveGroupMessage.\n * @member {UpstreamMessage.ILeaveGroupMessage|null|undefined} leaveGroupMessage\n * @memberof UpstreamMessage\n * @instance\n */\n UpstreamMessage.prototype.leaveGroupMessage = null;\n\n /**\n * UpstreamMessage sequenceAckMessage.\n * @member {UpstreamMessage.ISequenceAckMessage|null|undefined} sequenceAckMessage\n * @memberof UpstreamMessage\n * @instance\n */\n UpstreamMessage.prototype.sequenceAckMessage = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * UpstreamMessage message.\n * @member {\"sendToGroupMessage\"|\"eventMessage\"|\"joinGroupMessage\"|\"leaveGroupMessage\"|\"sequenceAckMessage\"|undefined} message\n * @memberof UpstreamMessage\n * @instance\n */\n Object.defineProperty(UpstreamMessage.prototype, \"message\", {\n get: $util.oneOfGetter($oneOfFields = [\"sendToGroupMessage\", \"eventMessage\", \"joinGroupMessage\", \"leaveGroupMessage\", \"sequenceAckMessage\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new UpstreamMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage\n * @static\n * @param {IUpstreamMessage=} [properties] Properties to set\n * @returns {UpstreamMessage} UpstreamMessage instance\n */\n UpstreamMessage.create = function create(properties) {\n return new UpstreamMessage(properties);\n };\n\n /**\n * Encodes the specified UpstreamMessage message. Does not implicitly {@link UpstreamMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage\n * @static\n * @param {IUpstreamMessage} message UpstreamMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n UpstreamMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.sendToGroupMessage != null && Object.hasOwnProperty.call(message, \"sendToGroupMessage\"))\n $root.UpstreamMessage.SendToGroupMessage.encode(message.sendToGroupMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\n if (message.eventMessage != null && Object.hasOwnProperty.call(message, \"eventMessage\"))\n $root.UpstreamMessage.EventMessage.encode(message.eventMessage, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();\n if (message.joinGroupMessage != null && Object.hasOwnProperty.call(message, \"joinGroupMessage\"))\n $root.UpstreamMessage.JoinGroupMessage.encode(message.joinGroupMessage, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();\n if (message.leaveGroupMessage != null && Object.hasOwnProperty.call(message, \"leaveGroupMessage\"))\n $root.UpstreamMessage.LeaveGroupMessage.encode(message.leaveGroupMessage, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();\n if (message.sequenceAckMessage != null && Object.hasOwnProperty.call(message, \"sequenceAckMessage\"))\n $root.UpstreamMessage.SequenceAckMessage.encode(message.sequenceAckMessage, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();\n return writer;\n };\n\n /**\n * Encodes the specified UpstreamMessage message, length delimited. Does not implicitly {@link UpstreamMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage\n * @static\n * @param {IUpstreamMessage} message UpstreamMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n UpstreamMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes an UpstreamMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage} UpstreamMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n UpstreamMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.sendToGroupMessage = $root.UpstreamMessage.SendToGroupMessage.decode(reader, reader.uint32());\n break;\n }\n case 5: {\n message.eventMessage = $root.UpstreamMessage.EventMessage.decode(reader, reader.uint32());\n break;\n }\n case 6: {\n message.joinGroupMessage = $root.UpstreamMessage.JoinGroupMessage.decode(reader, reader.uint32());\n break;\n }\n case 7: {\n message.leaveGroupMessage = $root.UpstreamMessage.LeaveGroupMessage.decode(reader, reader.uint32());\n break;\n }\n case 8: {\n message.sequenceAckMessage = $root.UpstreamMessage.SequenceAckMessage.decode(reader, reader.uint32());\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes an UpstreamMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage} UpstreamMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n UpstreamMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies an UpstreamMessage message.\n * @function verify\n * @memberof UpstreamMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n UpstreamMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.sendToGroupMessage != null && message.hasOwnProperty(\"sendToGroupMessage\")) {\n properties.message = 1;\n {\n let error = $root.UpstreamMessage.SendToGroupMessage.verify(message.sendToGroupMessage);\n if (error)\n return \"sendToGroupMessage.\" + error;\n }\n }\n if (message.eventMessage != null && message.hasOwnProperty(\"eventMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.UpstreamMessage.EventMessage.verify(message.eventMessage);\n if (error)\n return \"eventMessage.\" + error;\n }\n }\n if (message.joinGroupMessage != null && message.hasOwnProperty(\"joinGroupMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.UpstreamMessage.JoinGroupMessage.verify(message.joinGroupMessage);\n if (error)\n return \"joinGroupMessage.\" + error;\n }\n }\n if (message.leaveGroupMessage != null && message.hasOwnProperty(\"leaveGroupMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.UpstreamMessage.LeaveGroupMessage.verify(message.leaveGroupMessage);\n if (error)\n return \"leaveGroupMessage.\" + error;\n }\n }\n if (message.sequenceAckMessage != null && message.hasOwnProperty(\"sequenceAckMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.UpstreamMessage.SequenceAckMessage.verify(message.sequenceAckMessage);\n if (error)\n return \"sequenceAckMessage.\" + error;\n }\n }\n return null;\n };\n\n /**\n * Creates an UpstreamMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage} UpstreamMessage\n */\n UpstreamMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage)\n return object;\n let message = new $root.UpstreamMessage();\n if (object.sendToGroupMessage != null) {\n if (typeof object.sendToGroupMessage !== \"object\")\n throw TypeError(\".UpstreamMessage.sendToGroupMessage: object expected\");\n message.sendToGroupMessage = $root.UpstreamMessage.SendToGroupMessage.fromObject(object.sendToGroupMessage);\n }\n if (object.eventMessage != null) {\n if (typeof object.eventMessage !== \"object\")\n throw TypeError(\".UpstreamMessage.eventMessage: object expected\");\n message.eventMessage = $root.UpstreamMessage.EventMessage.fromObject(object.eventMessage);\n }\n if (object.joinGroupMessage != null) {\n if (typeof object.joinGroupMessage !== \"object\")\n throw TypeError(\".UpstreamMessage.joinGroupMessage: object expected\");\n message.joinGroupMessage = $root.UpstreamMessage.JoinGroupMessage.fromObject(object.joinGroupMessage);\n }\n if (object.leaveGroupMessage != null) {\n if (typeof object.leaveGroupMessage !== \"object\")\n throw TypeError(\".UpstreamMessage.leaveGroupMessage: object expected\");\n message.leaveGroupMessage = $root.UpstreamMessage.LeaveGroupMessage.fromObject(object.leaveGroupMessage);\n }\n if (object.sequenceAckMessage != null) {\n if (typeof object.sequenceAckMessage !== \"object\")\n throw TypeError(\".UpstreamMessage.sequenceAckMessage: object expected\");\n message.sequenceAckMessage = $root.UpstreamMessage.SequenceAckMessage.fromObject(object.sequenceAckMessage);\n }\n return message;\n };\n\n /**\n * Creates a plain object from an UpstreamMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage\n * @static\n * @param {UpstreamMessage} message UpstreamMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n UpstreamMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (message.sendToGroupMessage != null && message.hasOwnProperty(\"sendToGroupMessage\")) {\n object.sendToGroupMessage = $root.UpstreamMessage.SendToGroupMessage.toObject(message.sendToGroupMessage, options);\n if (options.oneofs)\n object.message = \"sendToGroupMessage\";\n }\n if (message.eventMessage != null && message.hasOwnProperty(\"eventMessage\")) {\n object.eventMessage = $root.UpstreamMessage.EventMessage.toObject(message.eventMessage, options);\n if (options.oneofs)\n object.message = \"eventMessage\";\n }\n if (message.joinGroupMessage != null && message.hasOwnProperty(\"joinGroupMessage\")) {\n object.joinGroupMessage = $root.UpstreamMessage.JoinGroupMessage.toObject(message.joinGroupMessage, options);\n if (options.oneofs)\n object.message = \"joinGroupMessage\";\n }\n if (message.leaveGroupMessage != null && message.hasOwnProperty(\"leaveGroupMessage\")) {\n object.leaveGroupMessage = $root.UpstreamMessage.LeaveGroupMessage.toObject(message.leaveGroupMessage, options);\n if (options.oneofs)\n object.message = \"leaveGroupMessage\";\n }\n if (message.sequenceAckMessage != null && message.hasOwnProperty(\"sequenceAckMessage\")) {\n object.sequenceAckMessage = $root.UpstreamMessage.SequenceAckMessage.toObject(message.sequenceAckMessage, options);\n if (options.oneofs)\n object.message = \"sequenceAckMessage\";\n }\n return object;\n };\n\n /**\n * Converts this UpstreamMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n UpstreamMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for UpstreamMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n UpstreamMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage\";\n };\n\n UpstreamMessage.SendToGroupMessage = (function() {\n\n /**\n * Properties of a SendToGroupMessage.\n * @memberof UpstreamMessage\n * @interface ISendToGroupMessage\n * @property {string|null} [group] SendToGroupMessage group\n * @property {number|Long|null} [ackId] SendToGroupMessage ackId\n * @property {IMessageData|null} [data] SendToGroupMessage data\n * @property {boolean|null} [noEcho] SendToGroupMessage noEcho\n */\n\n /**\n * Constructs a new SendToGroupMessage.\n * @memberof UpstreamMessage\n * @classdesc Represents a SendToGroupMessage.\n * @implements ISendToGroupMessage\n * @constructor\n * @param {UpstreamMessage.ISendToGroupMessage=} [properties] Properties to set\n */\n function SendToGroupMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * SendToGroupMessage group.\n * @member {string} group\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n SendToGroupMessage.prototype.group = \"\";\n\n /**\n * SendToGroupMessage ackId.\n * @member {number|Long|null|undefined} ackId\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n SendToGroupMessage.prototype.ackId = null;\n\n /**\n * SendToGroupMessage data.\n * @member {IMessageData|null|undefined} data\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n SendToGroupMessage.prototype.data = null;\n\n /**\n * SendToGroupMessage noEcho.\n * @member {boolean|null|undefined} noEcho\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n SendToGroupMessage.prototype.noEcho = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * SendToGroupMessage _ackId.\n * @member {\"ackId\"|undefined} _ackId\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n Object.defineProperty(SendToGroupMessage.prototype, \"_ackId\", {\n get: $util.oneOfGetter($oneOfFields = [\"ackId\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * SendToGroupMessage _noEcho.\n * @member {\"noEcho\"|undefined} _noEcho\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n Object.defineProperty(SendToGroupMessage.prototype, \"_noEcho\", {\n get: $util.oneOfGetter($oneOfFields = [\"noEcho\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new SendToGroupMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {UpstreamMessage.ISendToGroupMessage=} [properties] Properties to set\n * @returns {UpstreamMessage.SendToGroupMessage} SendToGroupMessage instance\n */\n SendToGroupMessage.create = function create(properties) {\n return new SendToGroupMessage(properties);\n };\n\n /**\n * Encodes the specified SendToGroupMessage message. Does not implicitly {@link UpstreamMessage.SendToGroupMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {UpstreamMessage.ISendToGroupMessage} message SendToGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SendToGroupMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.group != null && Object.hasOwnProperty.call(message, \"group\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.group);\n if (message.ackId != null && Object.hasOwnProperty.call(message, \"ackId\"))\n writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.ackId);\n if (message.data != null && Object.hasOwnProperty.call(message, \"data\"))\n $root.MessageData.encode(message.data, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\n if (message.noEcho != null && Object.hasOwnProperty.call(message, \"noEcho\"))\n writer.uint32(/* id 4, wireType 0 =*/32).bool(message.noEcho);\n return writer;\n };\n\n /**\n * Encodes the specified SendToGroupMessage message, length delimited. Does not implicitly {@link UpstreamMessage.SendToGroupMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {UpstreamMessage.ISendToGroupMessage} message SendToGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SendToGroupMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a SendToGroupMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage.SendToGroupMessage} SendToGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SendToGroupMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage.SendToGroupMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.group = reader.string();\n break;\n }\n case 2: {\n message.ackId = reader.uint64();\n break;\n }\n case 3: {\n message.data = $root.MessageData.decode(reader, reader.uint32());\n break;\n }\n case 4: {\n message.noEcho = reader.bool();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a SendToGroupMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage.SendToGroupMessage} SendToGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SendToGroupMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a SendToGroupMessage message.\n * @function verify\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n SendToGroupMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.group != null && message.hasOwnProperty(\"group\"))\n if (!$util.isString(message.group))\n return \"group: string expected\";\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n properties._ackId = 1;\n if (!$util.isInteger(message.ackId) && !(message.ackId && $util.isInteger(message.ackId.low) && $util.isInteger(message.ackId.high)))\n return \"ackId: integer|Long expected\";\n }\n if (message.data != null && message.hasOwnProperty(\"data\")) {\n let error = $root.MessageData.verify(message.data);\n if (error)\n return \"data.\" + error;\n }\n if (message.noEcho != null && message.hasOwnProperty(\"noEcho\")) {\n properties._noEcho = 1;\n if (typeof message.noEcho !== \"boolean\")\n return \"noEcho: boolean expected\";\n }\n return null;\n };\n\n /**\n * Creates a SendToGroupMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage.SendToGroupMessage} SendToGroupMessage\n */\n SendToGroupMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage.SendToGroupMessage)\n return object;\n let message = new $root.UpstreamMessage.SendToGroupMessage();\n if (object.group != null)\n message.group = String(object.group);\n if (object.ackId != null)\n if ($util.Long)\n (message.ackId = $util.Long.fromValue(object.ackId)).unsigned = true;\n else if (typeof object.ackId === \"string\")\n message.ackId = parseInt(object.ackId, 10);\n else if (typeof object.ackId === \"number\")\n message.ackId = object.ackId;\n else if (typeof object.ackId === \"object\")\n message.ackId = new $util.LongBits(object.ackId.low >>> 0, object.ackId.high >>> 0).toNumber(true);\n if (object.data != null) {\n if (typeof object.data !== \"object\")\n throw TypeError(\".UpstreamMessage.SendToGroupMessage.data: object expected\");\n message.data = $root.MessageData.fromObject(object.data);\n }\n if (object.noEcho != null)\n message.noEcho = Boolean(object.noEcho);\n return message;\n };\n\n /**\n * Creates a plain object from a SendToGroupMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {UpstreamMessage.SendToGroupMessage} message SendToGroupMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n SendToGroupMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.group = \"\";\n object.data = null;\n }\n if (message.group != null && message.hasOwnProperty(\"group\"))\n object.group = message.group;\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n if (typeof message.ackId === \"number\")\n object.ackId = options.longs === String ? String(message.ackId) : message.ackId;\n else\n object.ackId = options.longs === String ? $util.Long.prototype.toString.call(message.ackId) : options.longs === Number ? new $util.LongBits(message.ackId.low >>> 0, message.ackId.high >>> 0).toNumber(true) : message.ackId;\n if (options.oneofs)\n object._ackId = \"ackId\";\n }\n if (message.data != null && message.hasOwnProperty(\"data\"))\n object.data = $root.MessageData.toObject(message.data, options);\n if (message.noEcho != null && message.hasOwnProperty(\"noEcho\")) {\n object.noEcho = message.noEcho;\n if (options.oneofs)\n object._noEcho = \"noEcho\";\n }\n return object;\n };\n\n /**\n * Converts this SendToGroupMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n SendToGroupMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for SendToGroupMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n SendToGroupMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage.SendToGroupMessage\";\n };\n\n return SendToGroupMessage;\n })();\n\n UpstreamMessage.EventMessage = (function() {\n\n /**\n * Properties of an EventMessage.\n * @memberof UpstreamMessage\n * @interface IEventMessage\n * @property {string|null} [event] EventMessage event\n * @property {IMessageData|null} [data] EventMessage data\n * @property {number|Long|null} [ackId] EventMessage ackId\n */\n\n /**\n * Constructs a new EventMessage.\n * @memberof UpstreamMessage\n * @classdesc Represents an EventMessage.\n * @implements IEventMessage\n * @constructor\n * @param {UpstreamMessage.IEventMessage=} [properties] Properties to set\n */\n function EventMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * EventMessage event.\n * @member {string} event\n * @memberof UpstreamMessage.EventMessage\n * @instance\n */\n EventMessage.prototype.event = \"\";\n\n /**\n * EventMessage data.\n * @member {IMessageData|null|undefined} data\n * @memberof UpstreamMessage.EventMessage\n * @instance\n */\n EventMessage.prototype.data = null;\n\n /**\n * EventMessage ackId.\n * @member {number|Long|null|undefined} ackId\n * @memberof UpstreamMessage.EventMessage\n * @instance\n */\n EventMessage.prototype.ackId = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * EventMessage _ackId.\n * @member {\"ackId\"|undefined} _ackId\n * @memberof UpstreamMessage.EventMessage\n * @instance\n */\n Object.defineProperty(EventMessage.prototype, \"_ackId\", {\n get: $util.oneOfGetter($oneOfFields = [\"ackId\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new EventMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {UpstreamMessage.IEventMessage=} [properties] Properties to set\n * @returns {UpstreamMessage.EventMessage} EventMessage instance\n */\n EventMessage.create = function create(properties) {\n return new EventMessage(properties);\n };\n\n /**\n * Encodes the specified EventMessage message. Does not implicitly {@link UpstreamMessage.EventMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {UpstreamMessage.IEventMessage} message EventMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n EventMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.event != null && Object.hasOwnProperty.call(message, \"event\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.event);\n if (message.data != null && Object.hasOwnProperty.call(message, \"data\"))\n $root.MessageData.encode(message.data, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\n if (message.ackId != null && Object.hasOwnProperty.call(message, \"ackId\"))\n writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.ackId);\n return writer;\n };\n\n /**\n * Encodes the specified EventMessage message, length delimited. Does not implicitly {@link UpstreamMessage.EventMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {UpstreamMessage.IEventMessage} message EventMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n EventMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes an EventMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage.EventMessage} EventMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n EventMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage.EventMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.event = reader.string();\n break;\n }\n case 2: {\n message.data = $root.MessageData.decode(reader, reader.uint32());\n break;\n }\n case 3: {\n message.ackId = reader.uint64();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes an EventMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage.EventMessage} EventMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n EventMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies an EventMessage message.\n * @function verify\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n EventMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.event != null && message.hasOwnProperty(\"event\"))\n if (!$util.isString(message.event))\n return \"event: string expected\";\n if (message.data != null && message.hasOwnProperty(\"data\")) {\n let error = $root.MessageData.verify(message.data);\n if (error)\n return \"data.\" + error;\n }\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n properties._ackId = 1;\n if (!$util.isInteger(message.ackId) && !(message.ackId && $util.isInteger(message.ackId.low) && $util.isInteger(message.ackId.high)))\n return \"ackId: integer|Long expected\";\n }\n return null;\n };\n\n /**\n * Creates an EventMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage.EventMessage} EventMessage\n */\n EventMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage.EventMessage)\n return object;\n let message = new $root.UpstreamMessage.EventMessage();\n if (object.event != null)\n message.event = String(object.event);\n if (object.data != null) {\n if (typeof object.data !== \"object\")\n throw TypeError(\".UpstreamMessage.EventMessage.data: object expected\");\n message.data = $root.MessageData.fromObject(object.data);\n }\n if (object.ackId != null)\n if ($util.Long)\n (message.ackId = $util.Long.fromValue(object.ackId)).unsigned = true;\n else if (typeof object.ackId === \"string\")\n message.ackId = parseInt(object.ackId, 10);\n else if (typeof object.ackId === \"number\")\n message.ackId = object.ackId;\n else if (typeof object.ackId === \"object\")\n message.ackId = new $util.LongBits(object.ackId.low >>> 0, object.ackId.high >>> 0).toNumber(true);\n return message;\n };\n\n /**\n * Creates a plain object from an EventMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {UpstreamMessage.EventMessage} message EventMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n EventMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.event = \"\";\n object.data = null;\n }\n if (message.event != null && message.hasOwnProperty(\"event\"))\n object.event = message.event;\n if (message.data != null && message.hasOwnProperty(\"data\"))\n object.data = $root.MessageData.toObject(message.data, options);\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n if (typeof message.ackId === \"number\")\n object.ackId = options.longs === String ? String(message.ackId) : message.ackId;\n else\n object.ackId = options.longs === String ? $util.Long.prototype.toString.call(message.ackId) : options.longs === Number ? new $util.LongBits(message.ackId.low >>> 0, message.ackId.high >>> 0).toNumber(true) : message.ackId;\n if (options.oneofs)\n object._ackId = \"ackId\";\n }\n return object;\n };\n\n /**\n * Converts this EventMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage.EventMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n EventMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for EventMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n EventMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage.EventMessage\";\n };\n\n return EventMessage;\n })();\n\n UpstreamMessage.JoinGroupMessage = (function() {\n\n /**\n * Properties of a JoinGroupMessage.\n * @memberof UpstreamMessage\n * @interface IJoinGroupMessage\n * @property {string|null} [group] JoinGroupMessage group\n * @property {number|Long|null} [ackId] JoinGroupMessage ackId\n */\n\n /**\n * Constructs a new JoinGroupMessage.\n * @memberof UpstreamMessage\n * @classdesc Represents a JoinGroupMessage.\n * @implements IJoinGroupMessage\n * @constructor\n * @param {UpstreamMessage.IJoinGroupMessage=} [properties] Properties to set\n */\n function JoinGroupMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * JoinGroupMessage group.\n * @member {string} group\n * @memberof UpstreamMessage.JoinGroupMessage\n * @instance\n */\n JoinGroupMessage.prototype.group = \"\";\n\n /**\n * JoinGroupMessage ackId.\n * @member {number|Long|null|undefined} ackId\n * @memberof UpstreamMessage.JoinGroupMessage\n * @instance\n */\n JoinGroupMessage.prototype.ackId = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * JoinGroupMessage _ackId.\n * @member {\"ackId\"|undefined} _ackId\n * @memberof UpstreamMessage.JoinGroupMessage\n * @instance\n */\n Object.defineProperty(JoinGroupMessage.prototype, \"_ackId\", {\n get: $util.oneOfGetter($oneOfFields = [\"ackId\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new JoinGroupMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {UpstreamMessage.IJoinGroupMessage=} [properties] Properties to set\n * @returns {UpstreamMessage.JoinGroupMessage} JoinGroupMessage instance\n */\n JoinGroupMessage.create = function create(properties) {\n return new JoinGroupMessage(properties);\n };\n\n /**\n * Encodes the specified JoinGroupMessage message. Does not implicitly {@link UpstreamMessage.JoinGroupMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {UpstreamMessage.IJoinGroupMessage} message JoinGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n JoinGroupMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.group != null && Object.hasOwnProperty.call(message, \"group\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.group);\n if (message.ackId != null && Object.hasOwnProperty.call(message, \"ackId\"))\n writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.ackId);\n return writer;\n };\n\n /**\n * Encodes the specified JoinGroupMessage message, length delimited. Does not implicitly {@link UpstreamMessage.JoinGroupMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {UpstreamMessage.IJoinGroupMessage} message JoinGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n JoinGroupMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a JoinGroupMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage.JoinGroupMessage} JoinGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n JoinGroupMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage.JoinGroupMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.group = reader.string();\n break;\n }\n case 2: {\n message.ackId = reader.uint64();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a JoinGroupMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage.JoinGroupMessage} JoinGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n JoinGroupMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a JoinGroupMessage message.\n * @function verify\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n JoinGroupMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.group != null && message.hasOwnProperty(\"group\"))\n if (!$util.isString(message.group))\n return \"group: string expected\";\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n properties._ackId = 1;\n if (!$util.isInteger(message.ackId) && !(message.ackId && $util.isInteger(message.ackId.low) && $util.isInteger(message.ackId.high)))\n return \"ackId: integer|Long expected\";\n }\n return null;\n };\n\n /**\n * Creates a JoinGroupMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage.JoinGroupMessage} JoinGroupMessage\n */\n JoinGroupMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage.JoinGroupMessage)\n return object;\n let message = new $root.UpstreamMessage.JoinGroupMessage();\n if (object.group != null)\n message.group = String(object.group);\n if (object.ackId != null)\n if ($util.Long)\n (message.ackId = $util.Long.fromValue(object.ackId)).unsigned = true;\n else if (typeof object.ackId === \"string\")\n message.ackId = parseInt(object.ackId, 10);\n else if (typeof object.ackId === \"number\")\n message.ackId = object.ackId;\n else if (typeof object.ackId === \"object\")\n message.ackId = new $util.LongBits(object.ackId.low >>> 0, object.ackId.high >>> 0).toNumber(true);\n return message;\n };\n\n /**\n * Creates a plain object from a JoinGroupMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {UpstreamMessage.JoinGroupMessage} message JoinGroupMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n JoinGroupMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults)\n object.group = \"\";\n if (message.group != null && message.hasOwnProperty(\"group\"))\n object.group = message.group;\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n if (typeof message.ackId === \"number\")\n object.ackId = options.longs === String ? String(message.ackId) : message.ackId;\n else\n object.ackId = options.longs === String ? $util.Long.prototype.toString.call(message.ackId) : options.longs === Number ? new $util.LongBits(message.ackId.low >>> 0, message.ackId.high >>> 0).toNumber(true) : message.ackId;\n if (options.oneofs)\n object._ackId = \"ackId\";\n }\n return object;\n };\n\n /**\n * Converts this JoinGroupMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage.JoinGroupMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n JoinGroupMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for JoinGroupMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n JoinGroupMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage.JoinGroupMessage\";\n };\n\n return JoinGroupMessage;\n })();\n\n UpstreamMessage.LeaveGroupMessage = (function() {\n\n /**\n * Properties of a LeaveGroupMessage.\n * @memberof UpstreamMessage\n * @interface ILeaveGroupMessage\n * @property {string|null} [group] LeaveGroupMessage group\n * @property {number|Long|null} [ackId] LeaveGroupMessage ackId\n */\n\n /**\n * Constructs a new LeaveGroupMessage.\n * @memberof UpstreamMessage\n * @classdesc Represents a LeaveGroupMessage.\n * @implements ILeaveGroupMessage\n * @constructor\n * @param {UpstreamMessage.ILeaveGroupMessage=} [properties] Properties to set\n */\n function LeaveGroupMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * LeaveGroupMessage group.\n * @member {string} group\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @instance\n */\n LeaveGroupMessage.prototype.group = \"\";\n\n /**\n * LeaveGroupMessage ackId.\n * @member {number|Long|null|undefined} ackId\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @instance\n */\n LeaveGroupMessage.prototype.ackId = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * LeaveGroupMessage _ackId.\n * @member {\"ackId\"|undefined} _ackId\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @instance\n */\n Object.defineProperty(LeaveGroupMessage.prototype, \"_ackId\", {\n get: $util.oneOfGetter($oneOfFields = [\"ackId\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new LeaveGroupMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {UpstreamMessage.ILeaveGroupMessage=} [properties] Properties to set\n * @returns {UpstreamMessage.LeaveGroupMessage} LeaveGroupMessage instance\n */\n LeaveGroupMessage.create = function create(properties) {\n return new LeaveGroupMessage(properties);\n };\n\n /**\n * Encodes the specified LeaveGroupMessage message. Does not implicitly {@link UpstreamMessage.LeaveGroupMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {UpstreamMessage.ILeaveGroupMessage} message LeaveGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n LeaveGroupMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.group != null && Object.hasOwnProperty.call(message, \"group\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.group);\n if (message.ackId != null && Object.hasOwnProperty.call(message, \"ackId\"))\n writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.ackId);\n return writer;\n };\n\n /**\n * Encodes the specified LeaveGroupMessage message, length delimited. Does not implicitly {@link UpstreamMessage.LeaveGroupMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {UpstreamMessage.ILeaveGroupMessage} message LeaveGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n LeaveGroupMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a LeaveGroupMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage.LeaveGroupMessage} LeaveGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n LeaveGroupMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage.LeaveGroupMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.group = reader.string();\n break;\n }\n case 2: {\n message.ackId = reader.uint64();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a LeaveGroupMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage.LeaveGroupMessage} LeaveGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n LeaveGroupMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a LeaveGroupMessage message.\n * @function verify\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n LeaveGroupMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.group != null && message.hasOwnProperty(\"group\"))\n if (!$util.isString(message.group))\n return \"group: string expected\";\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n properties._ackId = 1;\n if (!$util.isInteger(message.ackId) && !(message.ackId && $util.isInteger(message.ackId.low) && $util.isInteger(message.ackId.high)))\n return \"ackId: integer|Long expected\";\n }\n return null;\n };\n\n /**\n * Creates a LeaveGroupMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage.LeaveGroupMessage} LeaveGroupMessage\n */\n LeaveGroupMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage.LeaveGroupMessage)\n return object;\n let message = new $root.UpstreamMessage.LeaveGroupMessage();\n if (object.group != null)\n message.group = String(object.group);\n if (object.ackId != null)\n if ($util.Long)\n (message.ackId = $util.Long.fromValue(object.ackId)).unsigned = true;\n else if (typeof object.ackId === \"string\")\n message.ackId = parseInt(object.ackId, 10);\n else if (typeof object.ackId === \"number\")\n message.ackId = object.ackId;\n else if (typeof object.ackId === \"object\")\n message.ackId = new $util.LongBits(object.ackId.low >>> 0, object.ackId.high >>> 0).toNumber(true);\n return message;\n };\n\n /**\n * Creates a plain object from a LeaveGroupMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {UpstreamMessage.LeaveGroupMessage} message LeaveGroupMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n LeaveGroupMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults)\n object.group = \"\";\n if (message.group != null && message.hasOwnProperty(\"group\"))\n object.group = message.group;\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n if (typeof message.ackId === \"number\")\n object.ackId = options.longs === String ? String(message.ackId) : message.ackId;\n else\n object.ackId = options.longs === String ? $util.Long.prototype.toString.call(message.ackId) : options.longs === Number ? new $util.LongBits(message.ackId.low >>> 0, message.ackId.high >>> 0).toNumber(true) : message.ackId;\n if (options.oneofs)\n object._ackId = \"ackId\";\n }\n return object;\n };\n\n /**\n * Converts this LeaveGroupMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n LeaveGroupMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for LeaveGroupMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n LeaveGroupMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage.LeaveGroupMessage\";\n };\n\n return LeaveGroupMessage;\n })();\n\n UpstreamMessage.SequenceAckMessage = (function() {\n\n /**\n * Properties of a SequenceAckMessage.\n * @memberof UpstreamMessage\n * @interface ISequenceAckMessage\n * @property {number|Long|null} [sequenceId] SequenceAckMessage sequenceId\n */\n\n /**\n * Constructs a new SequenceAckMessage.\n * @memberof UpstreamMessage\n * @classdesc Represents a SequenceAckMessage.\n * @implements ISequenceAckMessage\n * @constructor\n * @param {UpstreamMessage.ISequenceAckMessage=} [properties] Properties to set\n */\n function SequenceAckMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * SequenceAckMessage sequenceId.\n * @member {number|Long} sequenceId\n * @memberof UpstreamMessage.SequenceAckMessage\n * @instance\n */\n SequenceAckMessage.prototype.sequenceId = $util.Long ? $util.Long.fromBits(0,0,true) : 0;\n\n /**\n * Creates a new SequenceAckMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {UpstreamMessage.ISequenceAckMessage=} [properties] Properties to set\n * @returns {UpstreamMessage.SequenceAckMessage} SequenceAckMessage instance\n */\n SequenceAckMessage.create = function create(properties) {\n return new SequenceAckMessage(properties);\n };\n\n /**\n * Encodes the specified SequenceAckMessage message. Does not implicitly {@link UpstreamMessage.SequenceAckMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {UpstreamMessage.ISequenceAckMessage} message SequenceAckMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SequenceAckMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.sequenceId != null && Object.hasOwnProperty.call(message, \"sequenceId\"))\n writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.sequenceId);\n return writer;\n };\n\n /**\n * Encodes the specified SequenceAckMessage message, length delimited. Does not implicitly {@link UpstreamMessage.SequenceAckMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {UpstreamMessage.ISequenceAckMessage} message SequenceAckMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SequenceAckMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a SequenceAckMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage.SequenceAckMessage} SequenceAckMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SequenceAckMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage.SequenceAckMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.sequenceId = reader.uint64();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a SequenceAckMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage.SequenceAckMessage} SequenceAckMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SequenceAckMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a SequenceAckMessage message.\n * @function verify\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n SequenceAckMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n if (message.sequenceId != null && message.hasOwnProperty(\"sequenceId\"))\n if (!$util.isInteger(message.sequenceId) && !(message.sequenceId && $util.isInteger(message.sequenceId.low) && $util.isInteger(message.sequenceId.high)))\n return \"sequenceId: integer|Long expected\";\n return null;\n };\n\n /**\n * Creates a SequenceAckMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage.SequenceAckMessage} SequenceAckMessage\n */\n SequenceAckMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage.SequenceAckMessage)\n return object;\n let message = new $root.UpstreamMessage.SequenceAckMessage();\n if (object.sequenceId != null)\n if ($util.Long)\n (message.sequenceId = $util.Long.fromValue(object.sequenceId)).unsigned = true;\n else if (typeof object.sequenceId === \"string\")\n message.sequenceId = parseInt(object.sequenceId, 10);\n else if (typeof object.sequenceId === \"number\")\n message.sequenceId = object.sequenceId;\n else if (typeof object.sequenceId === \"object\")\n message.sequenceId = new $util.LongBits(object.sequenceId.low >>> 0, object.sequenceId.high >>> 0).toNumber(true);\n return message;\n };\n\n /**\n * Creates a plain object from a SequenceAckMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {UpstreamMessage.SequenceAckMessage} message SequenceAckMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n SequenceAckMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults)\n if ($util.Long) {\n let long = new $util.Long(0, 0, true);\n object.sequenceId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\n } else\n object.sequenceId = options.longs === String ? \"0\" : 0;\n if (message.sequenceId != null && message.hasOwnProperty(\"sequenceId\"))\n if (typeof message.sequenceId === \"number\")\n object.sequenceId = options.longs === String ? String(message.sequenceId) : message.sequenceId;\n else\n object.sequenceId = options.longs === String ? $util.Long.prototype.toString.call(message.sequenceId) : options.longs === Number ? new $util.LongBits(message.sequenceId.low >>> 0, message.sequenceId.high >>> 0).toNumber(true) : message.sequenceId;\n return object;\n };\n\n /**\n * Converts this SequenceAckMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage.SequenceAckMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n SequenceAckMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for SequenceAckMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n SequenceAckMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage.SequenceAckMessage\";\n };\n\n return SequenceAckMessage;\n })();\n\n return UpstreamMessage;\n})();\n\nexport const DownstreamMessage = $root.DownstreamMessage = (() => {\n\n /**\n * Properties of a DownstreamMessage.\n * @exports IDownstreamMessage\n * @interface IDownstreamMessage\n * @property {DownstreamMessage.IAckMessage|null} [ackMessage] DownstreamMessage ackMessage\n * @property {DownstreamMessage.IDataMessage|null} [dataMessage] DownstreamMessage dataMessage\n * @property {DownstreamMessage.ISystemMessage|null} [systemMessage] DownstreamMessage systemMessage\n */\n\n /**\n * Constructs a new DownstreamMessage.\n * @exports DownstreamMessage\n * @classdesc Represents a DownstreamMessage.\n * @implements IDownstreamMessage\n * @constructor\n * @param {IDownstreamMessage=} [properties] Properties to set\n */\n function DownstreamMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * DownstreamMessage ackMessage.\n * @member {DownstreamMessage.IAckMessage|null|undefined} ackMessage\n * @memberof DownstreamMessage\n * @instance\n */\n DownstreamMessage.prototype.ackMessage = null;\n\n /**\n * DownstreamMessage dataMessage.\n * @member {DownstreamMessage.IDataMessage|null|undefined} dataMessage\n * @memberof DownstreamMessage\n * @instance\n */\n DownstreamMessage.prototype.dataMessage = null;\n\n /**\n * DownstreamMessage systemMessage.\n * @member {DownstreamMessage.ISystemMessage|null|undefined} systemMessage\n * @memberof DownstreamMessage\n * @instance\n */\n DownstreamMessage.prototype.systemMessage = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * DownstreamMessage message.\n * @member {\"ackMessage\"|\"dataMessage\"|\"systemMessage\"|undefined} message\n * @memberof DownstreamMessage\n * @instance\n */\n Object.defineProperty(DownstreamMessage.prototype, \"message\", {\n get: $util.oneOfGetter($oneOfFields = [\"ackMessage\", \"dataMessage\", \"systemMessage\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new DownstreamMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage\n * @static\n * @param {IDownstreamMessage=} [properties] Properties to set\n * @returns {DownstreamMessage} DownstreamMessage instance\n */\n DownstreamMessage.create = function create(properties) {\n return new DownstreamMessage(properties);\n };\n\n /**\n * Encodes the specified DownstreamMessage message. Does not implicitly {@link DownstreamMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage\n * @static\n * @param {IDownstreamMessage} message DownstreamMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DownstreamMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.ackMessage != null && Object.hasOwnProperty.call(message, \"ackMessage\"))\n $root.DownstreamMessage.AckMessage.encode(message.ackMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\n if (message.dataMessage != null && Object.hasOwnProperty.call(message, \"dataMessage\"))\n $root.DownstreamMessage.DataMessage.encode(message.dataMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\n if (message.systemMessage != null && Object.hasOwnProperty.call(message, \"systemMessage\"))\n $root.DownstreamMessage.SystemMessage.encode(message.systemMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\n return writer;\n };\n\n /**\n * Encodes the specified DownstreamMessage message, length delimited. Does not implicitly {@link DownstreamMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage\n * @static\n * @param {IDownstreamMessage} message DownstreamMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DownstreamMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a DownstreamMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage} DownstreamMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DownstreamMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.ackMessage = $root.DownstreamMessage.AckMessage.decode(reader, reader.uint32());\n break;\n }\n case 2: {\n message.dataMessage = $root.DownstreamMessage.DataMessage.decode(reader, reader.uint32());\n break;\n }\n case 3: {\n message.systemMessage = $root.DownstreamMessage.SystemMessage.decode(reader, reader.uint32());\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a DownstreamMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage} DownstreamMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DownstreamMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a DownstreamMessage message.\n * @function verify\n * @memberof DownstreamMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n DownstreamMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.ackMessage != null && message.hasOwnProperty(\"ackMessage\")) {\n properties.message = 1;\n {\n let error = $root.DownstreamMessage.AckMessage.verify(message.ackMessage);\n if (error)\n return \"ackMessage.\" + error;\n }\n }\n if (message.dataMessage != null && message.hasOwnProperty(\"dataMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.DownstreamMessage.DataMessage.verify(message.dataMessage);\n if (error)\n return \"dataMessage.\" + error;\n }\n }\n if (message.systemMessage != null && message.hasOwnProperty(\"systemMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.DownstreamMessage.SystemMessage.verify(message.systemMessage);\n if (error)\n return \"systemMessage.\" + error;\n }\n }\n return null;\n };\n\n /**\n * Creates a DownstreamMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage} DownstreamMessage\n */\n DownstreamMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage)\n return object;\n let message = new $root.DownstreamMessage();\n if (object.ackMessage != null) {\n if (typeof object.ackMessage !== \"object\")\n throw TypeError(\".DownstreamMessage.ackMessage: object expected\");\n message.ackMessage = $root.DownstreamMessage.AckMessage.fromObject(object.ackMessage);\n }\n if (object.dataMessage != null) {\n if (typeof object.dataMessage !== \"object\")\n throw TypeError(\".DownstreamMessage.dataMessage: object expected\");\n message.dataMessage = $root.DownstreamMessage.DataMessage.fromObject(object.dataMessage);\n }\n if (object.systemMessage != null) {\n if (typeof object.systemMessage !== \"object\")\n throw TypeError(\".DownstreamMessage.systemMessage: object expected\");\n message.systemMessage = $root.DownstreamMessage.SystemMessage.fromObject(object.systemMessage);\n }\n return message;\n };\n\n /**\n * Creates a plain object from a DownstreamMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage\n * @static\n * @param {DownstreamMessage} message DownstreamMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n DownstreamMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (message.ackMessage != null && message.hasOwnProperty(\"ackMessage\")) {\n object.ackMessage = $root.DownstreamMessage.AckMessage.toObject(message.ackMessage, options);\n if (options.oneofs)\n object.message = \"ackMessage\";\n }\n if (message.dataMessage != null && message.hasOwnProperty(\"dataMessage\")) {\n object.dataMessage = $root.DownstreamMessage.DataMessage.toObject(message.dataMessage, options);\n if (options.oneofs)\n object.message = \"dataMessage\";\n }\n if (message.systemMessage != null && message.hasOwnProperty(\"systemMessage\")) {\n object.systemMessage = $root.DownstreamMessage.SystemMessage.toObject(message.systemMessage, options);\n if (options.oneofs)\n object.message = \"systemMessage\";\n }\n return object;\n };\n\n /**\n * Converts this DownstreamMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n DownstreamMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for DownstreamMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n DownstreamMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage\";\n };\n\n DownstreamMessage.AckMessage = (function() {\n\n /**\n * Properties of an AckMessage.\n * @memberof DownstreamMessage\n * @interface IAckMessage\n * @property {number|Long|null} [ackId] AckMessage ackId\n * @property {boolean|null} [success] AckMessage success\n * @property {DownstreamMessage.AckMessage.IErrorMessage|null} [error] AckMessage error\n */\n\n /**\n * Constructs a new AckMessage.\n * @memberof DownstreamMessage\n * @classdesc Represents an AckMessage.\n * @implements IAckMessage\n * @constructor\n * @param {DownstreamMessage.IAckMessage=} [properties] Properties to set\n */\n function AckMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * AckMessage ackId.\n * @member {number|Long} ackId\n * @memberof DownstreamMessage.AckMessage\n * @instance\n */\n AckMessage.prototype.ackId = $util.Long ? $util.Long.fromBits(0,0,true) : 0;\n\n /**\n * AckMessage success.\n * @member {boolean} success\n * @memberof DownstreamMessage.AckMessage\n * @instance\n */\n AckMessage.prototype.success = false;\n\n /**\n * AckMessage error.\n * @member {DownstreamMessage.AckMessage.IErrorMessage|null|undefined} error\n * @memberof DownstreamMessage.AckMessage\n * @instance\n */\n AckMessage.prototype.error = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * AckMessage _error.\n * @member {\"error\"|undefined} _error\n * @memberof DownstreamMessage.AckMessage\n * @instance\n */\n Object.defineProperty(AckMessage.prototype, \"_error\", {\n get: $util.oneOfGetter($oneOfFields = [\"error\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new AckMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {DownstreamMessage.IAckMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.AckMessage} AckMessage instance\n */\n AckMessage.create = function create(properties) {\n return new AckMessage(properties);\n };\n\n /**\n * Encodes the specified AckMessage message. Does not implicitly {@link DownstreamMessage.AckMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {DownstreamMessage.IAckMessage} message AckMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n AckMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.ackId != null && Object.hasOwnProperty.call(message, \"ackId\"))\n writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.ackId);\n if (message.success != null && Object.hasOwnProperty.call(message, \"success\"))\n writer.uint32(/* id 2, wireType 0 =*/16).bool(message.success);\n if (message.error != null && Object.hasOwnProperty.call(message, \"error\"))\n $root.DownstreamMessage.AckMessage.ErrorMessage.encode(message.error, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\n return writer;\n };\n\n /**\n * Encodes the specified AckMessage message, length delimited. Does not implicitly {@link DownstreamMessage.AckMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {DownstreamMessage.IAckMessage} message AckMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n AckMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes an AckMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.AckMessage} AckMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n AckMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.AckMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.ackId = reader.uint64();\n break;\n }\n case 2: {\n message.success = reader.bool();\n break;\n }\n case 3: {\n message.error = $root.DownstreamMessage.AckMessage.ErrorMessage.decode(reader, reader.uint32());\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes an AckMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.AckMessage} AckMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n AckMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies an AckMessage message.\n * @function verify\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n AckMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.ackId != null && message.hasOwnProperty(\"ackId\"))\n if (!$util.isInteger(message.ackId) && !(message.ackId && $util.isInteger(message.ackId.low) && $util.isInteger(message.ackId.high)))\n return \"ackId: integer|Long expected\";\n if (message.success != null && message.hasOwnProperty(\"success\"))\n if (typeof message.success !== \"boolean\")\n return \"success: boolean expected\";\n if (message.error != null && message.hasOwnProperty(\"error\")) {\n properties._error = 1;\n {\n let error = $root.DownstreamMessage.AckMessage.ErrorMessage.verify(message.error);\n if (error)\n return \"error.\" + error;\n }\n }\n return null;\n };\n\n /**\n * Creates an AckMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.AckMessage} AckMessage\n */\n AckMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.AckMessage)\n return object;\n let message = new $root.DownstreamMessage.AckMessage();\n if (object.ackId != null)\n if ($util.Long)\n (message.ackId = $util.Long.fromValue(object.ackId)).unsigned = true;\n else if (typeof object.ackId === \"string\")\n message.ackId = parseInt(object.ackId, 10);\n else if (typeof object.ackId === \"number\")\n message.ackId = object.ackId;\n else if (typeof object.ackId === \"object\")\n message.ackId = new $util.LongBits(object.ackId.low >>> 0, object.ackId.high >>> 0).toNumber(true);\n if (object.success != null)\n message.success = Boolean(object.success);\n if (object.error != null) {\n if (typeof object.error !== \"object\")\n throw TypeError(\".DownstreamMessage.AckMessage.error: object expected\");\n message.error = $root.DownstreamMessage.AckMessage.ErrorMessage.fromObject(object.error);\n }\n return message;\n };\n\n /**\n * Creates a plain object from an AckMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {DownstreamMessage.AckMessage} message AckMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n AckMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n if ($util.Long) {\n let long = new $util.Long(0, 0, true);\n object.ackId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\n } else\n object.ackId = options.longs === String ? \"0\" : 0;\n object.success = false;\n }\n if (message.ackId != null && message.hasOwnProperty(\"ackId\"))\n if (typeof message.ackId === \"number\")\n object.ackId = options.longs === String ? String(message.ackId) : message.ackId;\n else\n object.ackId = options.longs === String ? $util.Long.prototype.toString.call(message.ackId) : options.longs === Number ? new $util.LongBits(message.ackId.low >>> 0, message.ackId.high >>> 0).toNumber(true) : message.ackId;\n if (message.success != null && message.hasOwnProperty(\"success\"))\n object.success = message.success;\n if (message.error != null && message.hasOwnProperty(\"error\")) {\n object.error = $root.DownstreamMessage.AckMessage.ErrorMessage.toObject(message.error, options);\n if (options.oneofs)\n object._error = \"error\";\n }\n return object;\n };\n\n /**\n * Converts this AckMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.AckMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n AckMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for AckMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n AckMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.AckMessage\";\n };\n\n AckMessage.ErrorMessage = (function() {\n\n /**\n * Properties of an ErrorMessage.\n * @memberof DownstreamMessage.AckMessage\n * @interface IErrorMessage\n * @property {string|null} [name] ErrorMessage name\n * @property {string|null} [message] ErrorMessage message\n */\n\n /**\n * Constructs a new ErrorMessage.\n * @memberof DownstreamMessage.AckMessage\n * @classdesc Represents an ErrorMessage.\n * @implements IErrorMessage\n * @constructor\n * @param {DownstreamMessage.AckMessage.IErrorMessage=} [properties] Properties to set\n */\n function ErrorMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * ErrorMessage name.\n * @member {string} name\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @instance\n */\n ErrorMessage.prototype.name = \"\";\n\n /**\n * ErrorMessage message.\n * @member {string} message\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @instance\n */\n ErrorMessage.prototype.message = \"\";\n\n /**\n * Creates a new ErrorMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {DownstreamMessage.AckMessage.IErrorMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.AckMessage.ErrorMessage} ErrorMessage instance\n */\n ErrorMessage.create = function create(properties) {\n return new ErrorMessage(properties);\n };\n\n /**\n * Encodes the specified ErrorMessage message. Does not implicitly {@link DownstreamMessage.AckMessage.ErrorMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {DownstreamMessage.AckMessage.IErrorMessage} message ErrorMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n ErrorMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.name != null && Object.hasOwnProperty.call(message, \"name\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);\n if (message.message != null && Object.hasOwnProperty.call(message, \"message\"))\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.message);\n return writer;\n };\n\n /**\n * Encodes the specified ErrorMessage message, length delimited. Does not implicitly {@link DownstreamMessage.AckMessage.ErrorMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {DownstreamMessage.AckMessage.IErrorMessage} message ErrorMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n ErrorMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes an ErrorMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.AckMessage.ErrorMessage} ErrorMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n ErrorMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.AckMessage.ErrorMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.name = reader.string();\n break;\n }\n case 2: {\n message.message = reader.string();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes an ErrorMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.AckMessage.ErrorMessage} ErrorMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n ErrorMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies an ErrorMessage message.\n * @function verify\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n ErrorMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n if (message.name != null && message.hasOwnProperty(\"name\"))\n if (!$util.isString(message.name))\n return \"name: string expected\";\n if (message.message != null && message.hasOwnProperty(\"message\"))\n if (!$util.isString(message.message))\n return \"message: string expected\";\n return null;\n };\n\n /**\n * Creates an ErrorMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.AckMessage.ErrorMessage} ErrorMessage\n */\n ErrorMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.AckMessage.ErrorMessage)\n return object;\n let message = new $root.DownstreamMessage.AckMessage.ErrorMessage();\n if (object.name != null)\n message.name = String(object.name);\n if (object.message != null)\n message.message = String(object.message);\n return message;\n };\n\n /**\n * Creates a plain object from an ErrorMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {DownstreamMessage.AckMessage.ErrorMessage} message ErrorMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n ErrorMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.name = \"\";\n object.message = \"\";\n }\n if (message.name != null && message.hasOwnProperty(\"name\"))\n object.name = message.name;\n if (message.message != null && message.hasOwnProperty(\"message\"))\n object.message = message.message;\n return object;\n };\n\n /**\n * Converts this ErrorMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n ErrorMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for ErrorMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n ErrorMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.AckMessage.ErrorMessage\";\n };\n\n return ErrorMessage;\n })();\n\n return AckMessage;\n })();\n\n DownstreamMessage.DataMessage = (function() {\n\n /**\n * Properties of a DataMessage.\n * @memberof DownstreamMessage\n * @interface IDataMessage\n * @property {string|null} [from] DataMessage from\n * @property {string|null} [group] DataMessage group\n * @property {IMessageData|null} [data] DataMessage data\n * @property {number|Long|null} [sequenceId] DataMessage sequenceId\n */\n\n /**\n * Constructs a new DataMessage.\n * @memberof DownstreamMessage\n * @classdesc Represents a DataMessage.\n * @implements IDataMessage\n * @constructor\n * @param {DownstreamMessage.IDataMessage=} [properties] Properties to set\n */\n function DataMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * DataMessage from.\n * @member {string} from\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n DataMessage.prototype.from = \"\";\n\n /**\n * DataMessage group.\n * @member {string|null|undefined} group\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n DataMessage.prototype.group = null;\n\n /**\n * DataMessage data.\n * @member {IMessageData|null|undefined} data\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n DataMessage.prototype.data = null;\n\n /**\n * DataMessage sequenceId.\n * @member {number|Long|null|undefined} sequenceId\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n DataMessage.prototype.sequenceId = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * DataMessage _group.\n * @member {\"group\"|undefined} _group\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n Object.defineProperty(DataMessage.prototype, \"_group\", {\n get: $util.oneOfGetter($oneOfFields = [\"group\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * DataMessage _sequenceId.\n * @member {\"sequenceId\"|undefined} _sequenceId\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n Object.defineProperty(DataMessage.prototype, \"_sequenceId\", {\n get: $util.oneOfGetter($oneOfFields = [\"sequenceId\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new DataMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {DownstreamMessage.IDataMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.DataMessage} DataMessage instance\n */\n DataMessage.create = function create(properties) {\n return new DataMessage(properties);\n };\n\n /**\n * Encodes the specified DataMessage message. Does not implicitly {@link DownstreamMessage.DataMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {DownstreamMessage.IDataMessage} message DataMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DataMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.from != null && Object.hasOwnProperty.call(message, \"from\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.from);\n if (message.group != null && Object.hasOwnProperty.call(message, \"group\"))\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.group);\n if (message.data != null && Object.hasOwnProperty.call(message, \"data\"))\n $root.MessageData.encode(message.data, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\n if (message.sequenceId != null && Object.hasOwnProperty.call(message, \"sequenceId\"))\n writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.sequenceId);\n return writer;\n };\n\n /**\n * Encodes the specified DataMessage message, length delimited. Does not implicitly {@link DownstreamMessage.DataMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {DownstreamMessage.IDataMessage} message DataMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DataMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a DataMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.DataMessage} DataMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DataMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.DataMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.from = reader.string();\n break;\n }\n case 2: {\n message.group = reader.string();\n break;\n }\n case 3: {\n message.data = $root.MessageData.decode(reader, reader.uint32());\n break;\n }\n case 4: {\n message.sequenceId = reader.uint64();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a DataMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.DataMessage} DataMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DataMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a DataMessage message.\n * @function verify\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n DataMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.from != null && message.hasOwnProperty(\"from\"))\n if (!$util.isString(message.from))\n return \"from: string expected\";\n if (message.group != null && message.hasOwnProperty(\"group\")) {\n properties._group = 1;\n if (!$util.isString(message.group))\n return \"group: string expected\";\n }\n if (message.data != null && message.hasOwnProperty(\"data\")) {\n let error = $root.MessageData.verify(message.data);\n if (error)\n return \"data.\" + error;\n }\n if (message.sequenceId != null && message.hasOwnProperty(\"sequenceId\")) {\n properties._sequenceId = 1;\n if (!$util.isInteger(message.sequenceId) && !(message.sequenceId && $util.isInteger(message.sequenceId.low) && $util.isInteger(message.sequenceId.high)))\n return \"sequenceId: integer|Long expected\";\n }\n return null;\n };\n\n /**\n * Creates a DataMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.DataMessage} DataMessage\n */\n DataMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.DataMessage)\n return object;\n let message = new $root.DownstreamMessage.DataMessage();\n if (object.from != null)\n message.from = String(object.from);\n if (object.group != null)\n message.group = String(object.group);\n if (object.data != null) {\n if (typeof object.data !== \"object\")\n throw TypeError(\".DownstreamMessage.DataMessage.data: object expected\");\n message.data = $root.MessageData.fromObject(object.data);\n }\n if (object.sequenceId != null)\n if ($util.Long)\n (message.sequenceId = $util.Long.fromValue(object.sequenceId)).unsigned = true;\n else if (typeof object.sequenceId === \"string\")\n message.sequenceId = parseInt(object.sequenceId, 10);\n else if (typeof object.sequenceId === \"number\")\n message.sequenceId = object.sequenceId;\n else if (typeof object.sequenceId === \"object\")\n message.sequenceId = new $util.LongBits(object.sequenceId.low >>> 0, object.sequenceId.high >>> 0).toNumber(true);\n return message;\n };\n\n /**\n * Creates a plain object from a DataMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {DownstreamMessage.DataMessage} message DataMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n DataMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.from = \"\";\n object.data = null;\n }\n if (message.from != null && message.hasOwnProperty(\"from\"))\n object.from = message.from;\n if (message.group != null && message.hasOwnProperty(\"group\")) {\n object.group = message.group;\n if (options.oneofs)\n object._group = \"group\";\n }\n if (message.data != null && message.hasOwnProperty(\"data\"))\n object.data = $root.MessageData.toObject(message.data, options);\n if (message.sequenceId != null && message.hasOwnProperty(\"sequenceId\")) {\n if (typeof message.sequenceId === \"number\")\n object.sequenceId = options.longs === String ? String(message.sequenceId) : message.sequenceId;\n else\n object.sequenceId = options.longs === String ? $util.Long.prototype.toString.call(message.sequenceId) : options.longs === Number ? new $util.LongBits(message.sequenceId.low >>> 0, message.sequenceId.high >>> 0).toNumber(true) : message.sequenceId;\n if (options.oneofs)\n object._sequenceId = \"sequenceId\";\n }\n return object;\n };\n\n /**\n * Converts this DataMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.DataMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n DataMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for DataMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n DataMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.DataMessage\";\n };\n\n return DataMessage;\n })();\n\n DownstreamMessage.SystemMessage = (function() {\n\n /**\n * Properties of a SystemMessage.\n * @memberof DownstreamMessage\n * @interface ISystemMessage\n * @property {DownstreamMessage.SystemMessage.IConnectedMessage|null} [connectedMessage] SystemMessage connectedMessage\n * @property {DownstreamMessage.SystemMessage.IDisconnectedMessage|null} [disconnectedMessage] SystemMessage disconnectedMessage\n */\n\n /**\n * Constructs a new SystemMessage.\n * @memberof DownstreamMessage\n * @classdesc Represents a SystemMessage.\n * @implements ISystemMessage\n * @constructor\n * @param {DownstreamMessage.ISystemMessage=} [properties] Properties to set\n */\n function SystemMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * SystemMessage connectedMessage.\n * @member {DownstreamMessage.SystemMessage.IConnectedMessage|null|undefined} connectedMessage\n * @memberof DownstreamMessage.SystemMessage\n * @instance\n */\n SystemMessage.prototype.connectedMessage = null;\n\n /**\n * SystemMessage disconnectedMessage.\n * @member {DownstreamMessage.SystemMessage.IDisconnectedMessage|null|undefined} disconnectedMessage\n * @memberof DownstreamMessage.SystemMessage\n * @instance\n */\n SystemMessage.prototype.disconnectedMessage = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * SystemMessage message.\n * @member {\"connectedMessage\"|\"disconnectedMessage\"|undefined} message\n * @memberof DownstreamMessage.SystemMessage\n * @instance\n */\n Object.defineProperty(SystemMessage.prototype, \"message\", {\n get: $util.oneOfGetter($oneOfFields = [\"connectedMessage\", \"disconnectedMessage\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new SystemMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {DownstreamMessage.ISystemMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.SystemMessage} SystemMessage instance\n */\n SystemMessage.create = function create(properties) {\n return new SystemMessage(properties);\n };\n\n /**\n * Encodes the specified SystemMessage message. Does not implicitly {@link DownstreamMessage.SystemMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {DownstreamMessage.ISystemMessage} message SystemMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SystemMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.connectedMessage != null && Object.hasOwnProperty.call(message, \"connectedMessage\"))\n $root.DownstreamMessage.SystemMessage.ConnectedMessage.encode(message.connectedMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\n if (message.disconnectedMessage != null && Object.hasOwnProperty.call(message, \"disconnectedMessage\"))\n $root.DownstreamMessage.SystemMessage.DisconnectedMessage.encode(message.disconnectedMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\n return writer;\n };\n\n /**\n * Encodes the specified SystemMessage message, length delimited. Does not implicitly {@link DownstreamMessage.SystemMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {DownstreamMessage.ISystemMessage} message SystemMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SystemMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a SystemMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.SystemMessage} SystemMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SystemMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.SystemMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.connectedMessage = $root.DownstreamMessage.SystemMessage.ConnectedMessage.decode(reader, reader.uint32());\n break;\n }\n case 2: {\n message.disconnectedMessage = $root.DownstreamMessage.SystemMessage.DisconnectedMessage.decode(reader, reader.uint32());\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a SystemMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.SystemMessage} SystemMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SystemMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a SystemMessage message.\n * @function verify\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n SystemMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.connectedMessage != null && message.hasOwnProperty(\"connectedMessage\")) {\n properties.message = 1;\n {\n let error = $root.DownstreamMessage.SystemMessage.ConnectedMessage.verify(message.connectedMessage);\n if (error)\n return \"connectedMessage.\" + error;\n }\n }\n if (message.disconnectedMessage != null && message.hasOwnProperty(\"disconnectedMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.DownstreamMessage.SystemMessage.DisconnectedMessage.verify(message.disconnectedMessage);\n if (error)\n return \"disconnectedMessage.\" + error;\n }\n }\n return null;\n };\n\n /**\n * Creates a SystemMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.SystemMessage} SystemMessage\n */\n SystemMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.SystemMessage)\n return object;\n let message = new $root.DownstreamMessage.SystemMessage();\n if (object.connectedMessage != null) {\n if (typeof object.connectedMessage !== \"object\")\n throw TypeError(\".DownstreamMessage.SystemMessage.connectedMessage: object expected\");\n message.connectedMessage = $root.DownstreamMessage.SystemMessage.ConnectedMessage.fromObject(object.connectedMessage);\n }\n if (object.disconnectedMessage != null) {\n if (typeof object.disconnectedMessage !== \"object\")\n throw TypeError(\".DownstreamMessage.SystemMessage.disconnectedMessage: object expected\");\n message.disconnectedMessage = $root.DownstreamMessage.SystemMessage.DisconnectedMessage.fromObject(object.disconnectedMessage);\n }\n return message;\n };\n\n /**\n * Creates a plain object from a SystemMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {DownstreamMessage.SystemMessage} message SystemMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n SystemMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (message.connectedMessage != null && message.hasOwnProperty(\"connectedMessage\")) {\n object.connectedMessage = $root.DownstreamMessage.SystemMessage.ConnectedMessage.toObject(message.connectedMessage, options);\n if (options.oneofs)\n object.message = \"connectedMessage\";\n }\n if (message.disconnectedMessage != null && message.hasOwnProperty(\"disconnectedMessage\")) {\n object.disconnectedMessage = $root.DownstreamMessage.SystemMessage.DisconnectedMessage.toObject(message.disconnectedMessage, options);\n if (options.oneofs)\n object.message = \"disconnectedMessage\";\n }\n return object;\n };\n\n /**\n * Converts this SystemMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.SystemMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n SystemMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for SystemMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n SystemMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.SystemMessage\";\n };\n\n SystemMessage.ConnectedMessage = (function() {\n\n /**\n * Properties of a ConnectedMessage.\n * @memberof DownstreamMessage.SystemMessage\n * @interface IConnectedMessage\n * @property {string|null} [connectionId] ConnectedMessage connectionId\n * @property {string|null} [userId] ConnectedMessage userId\n * @property {string|null} [reconnectionToken] ConnectedMessage reconnectionToken\n */\n\n /**\n * Constructs a new ConnectedMessage.\n * @memberof DownstreamMessage.SystemMessage\n * @classdesc Represents a ConnectedMessage.\n * @implements IConnectedMessage\n * @constructor\n * @param {DownstreamMessage.SystemMessage.IConnectedMessage=} [properties] Properties to set\n */\n function ConnectedMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * ConnectedMessage connectionId.\n * @member {string} connectionId\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @instance\n */\n ConnectedMessage.prototype.connectionId = \"\";\n\n /**\n * ConnectedMessage userId.\n * @member {string} userId\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @instance\n */\n ConnectedMessage.prototype.userId = \"\";\n\n /**\n * ConnectedMessage reconnectionToken.\n * @member {string} reconnectionToken\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @instance\n */\n ConnectedMessage.prototype.reconnectionToken = \"\";\n\n /**\n * Creates a new ConnectedMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IConnectedMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.SystemMessage.ConnectedMessage} ConnectedMessage instance\n */\n ConnectedMessage.create = function create(properties) {\n return new ConnectedMessage(properties);\n };\n\n /**\n * Encodes the specified ConnectedMessage message. Does not implicitly {@link DownstreamMessage.SystemMessage.ConnectedMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IConnectedMessage} message ConnectedMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n ConnectedMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.connectionId != null && Object.hasOwnProperty.call(message, \"connectionId\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.connectionId);\n if (message.userId != null && Object.hasOwnProperty.call(message, \"userId\"))\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.userId);\n if (message.reconnectionToken != null && Object.hasOwnProperty.call(message, \"reconnectionToken\"))\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.reconnectionToken);\n return writer;\n };\n\n /**\n * Encodes the specified ConnectedMessage message, length delimited. Does not implicitly {@link DownstreamMessage.SystemMessage.ConnectedMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IConnectedMessage} message ConnectedMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n ConnectedMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a ConnectedMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.SystemMessage.ConnectedMessage} ConnectedMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n ConnectedMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.SystemMessage.ConnectedMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.connectionId = reader.string();\n break;\n }\n case 2: {\n message.userId = reader.string();\n break;\n }\n case 3: {\n message.reconnectionToken = reader.string();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a ConnectedMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.SystemMessage.ConnectedMessage} ConnectedMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n ConnectedMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a ConnectedMessage message.\n * @function verify\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n ConnectedMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n if (message.connectionId != null && message.hasOwnProperty(\"connectionId\"))\n if (!$util.isString(message.connectionId))\n return \"connectionId: string expected\";\n if (message.userId != null && message.hasOwnProperty(\"userId\"))\n if (!$util.isString(message.userId))\n return \"userId: string expected\";\n if (message.reconnectionToken != null && message.hasOwnProperty(\"reconnectionToken\"))\n if (!$util.isString(message.reconnectionToken))\n return \"reconnectionToken: string expected\";\n return null;\n };\n\n /**\n * Creates a ConnectedMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.SystemMessage.ConnectedMessage} ConnectedMessage\n */\n ConnectedMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.SystemMessage.ConnectedMessage)\n return object;\n let message = new $root.DownstreamMessage.SystemMessage.ConnectedMessage();\n if (object.connectionId != null)\n message.connectionId = String(object.connectionId);\n if (object.userId != null)\n message.userId = String(object.userId);\n if (object.reconnectionToken != null)\n message.reconnectionToken = String(object.reconnectionToken);\n return message;\n };\n\n /**\n * Creates a plain object from a ConnectedMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.ConnectedMessage} message ConnectedMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n ConnectedMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.connectionId = \"\";\n object.userId = \"\";\n object.reconnectionToken = \"\";\n }\n if (message.connectionId != null && message.hasOwnProperty(\"connectionId\"))\n object.connectionId = message.connectionId;\n if (message.userId != null && message.hasOwnProperty(\"userId\"))\n object.userId = message.userId;\n if (message.reconnectionToken != null && message.hasOwnProperty(\"reconnectionToken\"))\n object.reconnectionToken = message.reconnectionToken;\n return object;\n };\n\n /**\n * Converts this ConnectedMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n ConnectedMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for ConnectedMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n ConnectedMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.SystemMessage.ConnectedMessage\";\n };\n\n return ConnectedMessage;\n })();\n\n SystemMessage.DisconnectedMessage = (function() {\n\n /**\n * Properties of a DisconnectedMessage.\n * @memberof DownstreamMessage.SystemMessage\n * @interface IDisconnectedMessage\n * @property {string|null} [reason] DisconnectedMessage reason\n */\n\n /**\n * Constructs a new DisconnectedMessage.\n * @memberof DownstreamMessage.SystemMessage\n * @classdesc Represents a DisconnectedMessage.\n * @implements IDisconnectedMessage\n * @constructor\n * @param {DownstreamMessage.SystemMessage.IDisconnectedMessage=} [properties] Properties to set\n */\n function DisconnectedMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * DisconnectedMessage reason.\n * @member {string} reason\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @instance\n */\n DisconnectedMessage.prototype.reason = \"\";\n\n /**\n * Creates a new DisconnectedMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IDisconnectedMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.SystemMessage.DisconnectedMessage} DisconnectedMessage instance\n */\n DisconnectedMessage.create = function create(properties) {\n return new DisconnectedMessage(properties);\n };\n\n /**\n * Encodes the specified DisconnectedMessage message. Does not implicitly {@link DownstreamMessage.SystemMessage.DisconnectedMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IDisconnectedMessage} message DisconnectedMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DisconnectedMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.reason != null && Object.hasOwnProperty.call(message, \"reason\"))\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.reason);\n return writer;\n };\n\n /**\n * Encodes the specified DisconnectedMessage message, length delimited. Does not implicitly {@link DownstreamMessage.SystemMessage.DisconnectedMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IDisconnectedMessage} message DisconnectedMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DisconnectedMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a DisconnectedMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.SystemMessage.DisconnectedMessage} DisconnectedMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DisconnectedMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.SystemMessage.DisconnectedMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 2: {\n message.reason = reader.string();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a DisconnectedMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.SystemMessage.DisconnectedMessage} DisconnectedMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DisconnectedMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a DisconnectedMessage message.\n * @function verify\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n DisconnectedMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n if (message.reason != null && message.hasOwnProperty(\"reason\"))\n if (!$util.isString(message.reason))\n return \"reason: string expected\";\n return null;\n };\n\n /**\n * Creates a DisconnectedMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.SystemMessage.DisconnectedMessage} DisconnectedMessage\n */\n DisconnectedMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.SystemMessage.DisconnectedMessage)\n return object;\n let message = new $root.DownstreamMessage.SystemMessage.DisconnectedMessage();\n if (object.reason != null)\n message.reason = String(object.reason);\n return message;\n };\n\n /**\n * Creates a plain object from a DisconnectedMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.DisconnectedMessage} message DisconnectedMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n DisconnectedMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults)\n object.reason = \"\";\n if (message.reason != null && message.hasOwnProperty(\"reason\"))\n object.reason = message.reason;\n return object;\n };\n\n /**\n * Converts this DisconnectedMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n DisconnectedMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for DisconnectedMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n DisconnectedMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.SystemMessage.DisconnectedMessage\";\n };\n\n return DisconnectedMessage;\n })();\n\n return SystemMessage;\n })();\n\n return DownstreamMessage;\n})();\n\nexport const MessageData = $root.MessageData = (() => {\n\n /**\n * Properties of a MessageData.\n * @exports IMessageData\n * @interface IMessageData\n * @property {string|null} [textData] MessageData textData\n * @property {Uint8Array|null} [binaryData] MessageData binaryData\n * @property {google.protobuf.IAny|null} [protobufData] MessageData protobufData\n * @property {string|null} [jsonData] MessageData jsonData\n */\n\n /**\n * Constructs a new MessageData.\n * @exports MessageData\n * @classdesc Represents a MessageData.\n * @implements IMessageData\n * @constructor\n * @param {IMessageData=} [properties] Properties to set\n */\n function MessageData(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * MessageData textData.\n * @member {string|null|undefined} textData\n * @memberof MessageData\n * @instance\n */\n MessageData.prototype.textData = null;\n\n /**\n * MessageData binaryData.\n * @member {Uint8Array|null|undefined} binaryData\n * @memberof MessageData\n * @instance\n */\n MessageData.prototype.binaryData = null;\n\n /**\n * MessageData protobufData.\n * @member {google.protobuf.IAny|null|undefined} protobufData\n * @memberof MessageData\n * @instance\n */\n MessageData.prototype.protobufData = null;\n\n /**\n * MessageData jsonData.\n * @member {string|null|undefined} jsonData\n * @memberof MessageData\n * @instance\n */\n MessageData.prototype.jsonData = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * MessageData data.\n * @member {\"textData\"|\"binaryData\"|\"protobufData\"|\"jsonData\"|undefined} data\n * @memberof MessageData\n * @instance\n */\n Object.defineProperty(MessageData.prototype, \"data\", {\n get: $util.oneOfGetter($oneOfFields = [\"textData\", \"binaryData\", \"protobufData\", \"jsonData\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new MessageData instance using the specified properties.\n * @function create\n * @memberof MessageData\n * @static\n * @param {IMessageData=} [properties] Properties to set\n * @returns {MessageData} MessageData instance\n */\n MessageData.create = function create(properties) {\n return new MessageData(properties);\n };\n\n /**\n * Encodes the specified MessageData message. Does not implicitly {@link MessageData.verify|verify} messages.\n * @function encode\n * @memberof MessageData\n * @static\n * @param {IMessageData} message MessageData message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n MessageData.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.textData != null && Object.hasOwnProperty.call(message, \"textData\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.textData);\n if (message.binaryData != null && Object.hasOwnProperty.call(message, \"binaryData\"))\n writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.binaryData);\n if (message.protobufData != null && Object.hasOwnProperty.call(message, \"protobufData\"))\n $root.google.protobuf.Any.encode(message.protobufData, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\n if (message.jsonData != null && Object.hasOwnProperty.call(message, \"jsonData\"))\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.jsonData);\n return writer;\n };\n\n /**\n * Encodes the specified MessageData message, length delimited. Does not implicitly {@link MessageData.verify|verify} messages.\n * @function encodeDelimited\n * @memberof MessageData\n * @static\n * @param {IMessageData} message MessageData message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n MessageData.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a MessageData message from the specified reader or buffer.\n * @function decode\n * @memberof MessageData\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {MessageData} MessageData\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n MessageData.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.MessageData();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.textData = reader.string();\n break;\n }\n case 2: {\n message.binaryData = reader.bytes();\n break;\n }\n case 3: {\n message.protobufData = $root.google.protobuf.Any.decode(reader, reader.uint32());\n break;\n }\n case 4: {\n message.jsonData = reader.string();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a MessageData message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof MessageData\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {MessageData} MessageData\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n MessageData.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a MessageData message.\n * @function verify\n * @memberof MessageData\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n MessageData.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.textData != null && message.hasOwnProperty(\"textData\")) {\n properties.data = 1;\n if (!$util.isString(message.textData))\n return \"textData: string expected\";\n }\n if (message.binaryData != null && message.hasOwnProperty(\"binaryData\")) {\n if (properties.data === 1)\n return \"data: multiple values\";\n properties.data = 1;\n if (!(message.binaryData && typeof message.binaryData.length === \"number\" || $util.isString(message.binaryData)))\n return \"binaryData: buffer expected\";\n }\n if (message.protobufData != null && message.hasOwnProperty(\"protobufData\")) {\n if (properties.data === 1)\n return \"data: multiple values\";\n properties.data = 1;\n {\n let error = $root.google.protobuf.Any.verify(message.protobufData);\n if (error)\n return \"protobufData.\" + error;\n }\n }\n if (message.jsonData != null && message.hasOwnProperty(\"jsonData\")) {\n if (properties.data === 1)\n return \"data: multiple values\";\n properties.data = 1;\n if (!$util.isString(message.jsonData))\n return \"jsonData: string expected\";\n }\n return null;\n };\n\n /**\n * Creates a MessageData message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof MessageData\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {MessageData} MessageData\n */\n MessageData.fromObject = function fromObject(object) {\n if (object instanceof $root.MessageData)\n return object;\n let message = new $root.MessageData();\n if (object.textData != null)\n message.textData = String(object.textData);\n if (object.binaryData != null)\n if (typeof object.binaryData === \"string\")\n $util.base64.decode(object.binaryData, message.binaryData = $util.newBuffer($util.base64.length(object.binaryData)), 0);\n else if (object.binaryData.length >= 0)\n message.binaryData = object.binaryData;\n if (object.protobufData != null) {\n if (typeof object.protobufData !== \"object\")\n throw TypeError(\".MessageData.protobufData: object expected\");\n message.protobufData = $root.google.protobuf.Any.fromObject(object.protobufData);\n }\n if (object.jsonData != null)\n message.jsonData = String(object.jsonData);\n return message;\n };\n\n /**\n * Creates a plain object from a MessageData message. Also converts values to other types if specified.\n * @function toObject\n * @memberof MessageData\n * @static\n * @param {MessageData} message MessageData\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n MessageData.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (message.textData != null && message.hasOwnProperty(\"textData\")) {\n object.textData = message.textData;\n if (options.oneofs)\n object.data = \"textData\";\n }\n if (message.binaryData != null && message.hasOwnProperty(\"binaryData\")) {\n object.binaryData = options.bytes === String ? $util.base64.encode(message.binaryData, 0, message.binaryData.length) : options.bytes === Array ? Array.prototype.slice.call(message.binaryData) : message.binaryData;\n if (options.oneofs)\n object.data = \"binaryData\";\n }\n if (message.protobufData != null && message.hasOwnProperty(\"protobufData\")) {\n object.protobufData = $root.google.protobuf.Any.toObject(message.protobufData, options);\n if (options.oneofs)\n object.data = \"protobufData\";\n }\n if (message.jsonData != null && message.hasOwnProperty(\"jsonData\")) {\n object.jsonData = message.jsonData;\n if (options.oneofs)\n object.data = \"jsonData\";\n }\n return object;\n };\n\n /**\n * Converts this MessageData to JSON.\n * @function toJSON\n * @memberof MessageData\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n MessageData.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for MessageData\n * @function getTypeUrl\n * @memberof MessageData\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n MessageData.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/MessageData\";\n };\n\n return MessageData;\n})();\n\nexport const google = $root.google = (() => {\n\n /**\n * Namespace google.\n * @exports google\n * @namespace\n */\n const google = {};\n\n google.protobuf = (function() {\n\n /**\n * Namespace protobuf.\n * @memberof google\n * @namespace\n */\n const protobuf = {};\n\n protobuf.Any = (function() {\n\n /**\n * Properties of an Any.\n * @memberof google.protobuf\n * @interface IAny\n * @property {string|null} [type_url] Any type_url\n * @property {Uint8Array|null} [value] Any value\n */\n\n /**\n * Constructs a new Any.\n * @memberof google.protobuf\n * @classdesc Represents an Any.\n * @implements IAny\n * @constructor\n * @param {google.protobuf.IAny=} [properties] Properties to set\n */\n function Any(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * Any type_url.\n * @member {string} type_url\n * @memberof google.protobuf.Any\n * @instance\n */\n Any.prototype.type_url = \"\";\n\n /**\n * Any value.\n * @member {Uint8Array} value\n * @memberof google.protobuf.Any\n * @instance\n */\n Any.prototype.value = $util.newBuffer([]);\n\n /**\n * Creates a new Any instance using the specified properties.\n * @function create\n * @memberof google.protobuf.Any\n * @static\n * @param {google.protobuf.IAny=} [properties] Properties to set\n * @returns {google.protobuf.Any} Any instance\n */\n Any.create = function create(properties) {\n return new Any(properties);\n };\n\n /**\n * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.\n * @function encode\n * @memberof google.protobuf.Any\n * @static\n * @param {google.protobuf.IAny} message Any message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n Any.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.type_url != null && Object.hasOwnProperty.call(message, \"type_url\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.type_url);\n if (message.value != null && Object.hasOwnProperty.call(message, \"value\"))\n writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value);\n return writer;\n };\n\n /**\n * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.\n * @function encodeDelimited\n * @memberof google.protobuf.Any\n * @static\n * @param {google.protobuf.IAny} message Any message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n Any.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes an Any message from the specified reader or buffer.\n * @function decode\n * @memberof google.protobuf.Any\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {google.protobuf.Any} Any\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n Any.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.type_url = reader.string();\n break;\n }\n case 2: {\n message.value = reader.bytes();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes an Any message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof google.protobuf.Any\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {google.protobuf.Any} Any\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n Any.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies an Any message.\n * @function verify\n * @memberof google.protobuf.Any\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n Any.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n if (message.type_url != null && message.hasOwnProperty(\"type_url\"))\n if (!$util.isString(message.type_url))\n return \"type_url: string expected\";\n if (message.value != null && message.hasOwnProperty(\"value\"))\n if (!(message.value && typeof message.value.length === \"number\" || $util.isString(message.value)))\n return \"value: buffer expected\";\n return null;\n };\n\n /**\n * Creates an Any message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof google.protobuf.Any\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {google.protobuf.Any} Any\n */\n Any.fromObject = function fromObject(object) {\n if (object instanceof $root.google.protobuf.Any)\n return object;\n let message = new $root.google.protobuf.Any();\n if (object.type_url != null)\n message.type_url = String(object.type_url);\n if (object.value != null)\n if (typeof object.value === \"string\")\n $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0);\n else if (object.value.length >= 0)\n message.value = object.value;\n return message;\n };\n\n /**\n * Creates a plain object from an Any message. Also converts values to other types if specified.\n * @function toObject\n * @memberof google.protobuf.Any\n * @static\n * @param {google.protobuf.Any} message Any\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n Any.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.type_url = \"\";\n if (options.bytes === String)\n object.value = \"\";\n else {\n object.value = [];\n if (options.bytes !== Array)\n object.value = $util.newBuffer(object.value);\n }\n }\n if (message.type_url != null && message.hasOwnProperty(\"type_url\"))\n object.type_url = message.type_url;\n if (message.value != null && message.hasOwnProperty(\"value\"))\n object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value;\n return object;\n };\n\n /**\n * Converts this Any to JSON.\n * @function toJSON\n * @memberof google.protobuf.Any\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n Any.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for Any\n * @function getTypeUrl\n * @memberof google.protobuf.Any\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n Any.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/google.protobuf.Any\";\n };\n\n return Any;\n })();\n\n return protobuf;\n })();\n\n return google;\n})();\n\nexport { $root as default };\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n AckMessage,\n AckMessageError,\n ConnectedMessage,\n DisconnectedMessage,\n GroupDataMessage,\n ServerDataMessage,\n WebPubSubDataType,\n WebPubSubMessage,\n JSONTypes,\n} from \"@azure/web-pubsub-client\";\nimport {\n DownstreamMessage,\n IMessageData,\n IUpstreamMessage,\n MessageData,\n UpstreamMessage,\n google,\n} from \"./generated/clientProto\";\n\nimport Long from \"long\";\n\n/**\n * The \"protobuf.reliable.webpubsub.azure.v1\" protocol\n */\nexport class WebPubSubProtobufProtocolBase {\n /**\n * Creates WebPubSubMessage objects from the specified serialized representation.\n * @param input - The serialized representation\n */\n public static parseMessages(input: ArrayBuffer): WebPubSubMessage | null {\n const downstream = DownstreamMessage.decode(new Uint8Array(input));\n if (downstream.ackMessage) {\n const ack = {\n kind: \"ack\",\n ackId: this._getNumber(downstream.ackMessage.ackId),\n success: downstream.ackMessage.success,\n } as AckMessage;\n if (downstream.ackMessage.error) {\n ack.error = {\n name: downstream.ackMessage.error.name,\n message: downstream.ackMessage.error.message,\n } as AckMessageError;\n }\n return ack;\n } else if (downstream.systemMessage) {\n if (downstream.systemMessage.connectedMessage) {\n const msg = downstream.systemMessage.connectedMessage;\n return {\n kind: \"connected\",\n connectionId: msg.connectionId,\n userId: msg.userId,\n reconnectionToken: msg.reconnectionToken,\n } as ConnectedMessage;\n } else if (downstream.systemMessage.disconnectedMessage) {\n const msg = downstream.systemMessage.disconnectedMessage;\n return { kind: \"disconnected\", message: msg.reason } as DisconnectedMessage;\n } else {\n return null;\n }\n } else if (downstream.dataMessage) {\n const sequenceId = this._getNumber(downstream.dataMessage.sequenceId);\n const messageData = downstream.dataMessage.data!;\n let dataType: WebPubSubDataType;\n let data: string | ArrayBuffer | object;\n if (messageData.textData) {\n dataType = \"text\";\n data = messageData.textData;\n } else if (messageData.jsonData) {\n dataType = \"json\";\n data = JSON.parse(messageData.jsonData);\n } else if (messageData.binaryData) {\n dataType = \"binary\";\n data = messageData.binaryData.buffer.slice(\n messageData.binaryData.byteOffset,\n messageData.binaryData.byteLength + messageData.binaryData.byteOffset\n );\n } else if (messageData.protobufData) {\n dataType = \"protobuf\";\n data = messageData.protobufData;\n } else {\n return null;\n }\n\n if (downstream.dataMessage.from === \"group\") {\n return {\n kind: \"groupData\",\n dataType: dataType,\n data: data,\n sequenceId: sequenceId,\n group: downstream.dataMessage.group,\n } as GroupDataMessage;\n } else if (downstream.dataMessage.from === \"server\") {\n return {\n kind: \"serverData\",\n dataType: dataType,\n data: data,\n sequenceId: sequenceId,\n } as ServerDataMessage;\n } else {\n return null;\n }\n } else {\n return null;\n }\n }\n\n /**\n * Write WebPubSubMessage to string\n * @param message - The message to be written\n */\n public static writeMessage(message: WebPubSubMessage): ArrayBuffer {\n let upstream: UpstreamMessage;\n switch (message.kind) {\n case \"joinGroup\": {\n const joinGroup = UpstreamMessage.JoinGroupMessage.create({\n group: message.group,\n ackId: message.ackId,\n } as UpstreamMessage.IJoinGroupMessage);\n upstream = UpstreamMessage.create({ joinGroupMessage: joinGroup } as IUpstreamMessage);\n break;\n }\n case \"leaveGroup\": {\n const leaveGroup = UpstreamMessage.LeaveGroupMessage.create({\n group: message.group,\n ackId: message.ackId,\n } as UpstreamMessage.ILeaveGroupMessage);\n upstream = UpstreamMessage.create({ leaveGroupMessage: leaveGroup } as IUpstreamMessage);\n break;\n }\n case \"sendToGroup\": {\n const sendToGroup = UpstreamMessage.SendToGroupMessage.create({\n group: message.group,\n ackId: message.ackId,\n data: this._getIMessageData(message.data, message.dataType),\n noEcho: message.noEcho,\n } as UpstreamMessage.ISendToGroupMessage);\n upstream = UpstreamMessage.create({ sendToGroupMessage: sendToGroup } as IUpstreamMessage);\n break;\n }\n case \"sendEvent\": {\n const sendEvent = UpstreamMessage.EventMessage.create({\n event: message.event,\n ackId: message.ackId,\n data: this._getIMessageData(message.data, message.dataType),\n } as UpstreamMessage.IEventMessage);\n upstream = UpstreamMessage.create({ eventMessage: sendEvent } as IUpstreamMessage);\n break;\n }\n case \"sequenceAck\": {\n const sequenceAck = UpstreamMessage.SequenceAckMessage.create({\n sequenceId: message.sequenceId,\n } as UpstreamMessage.ISequenceAckMessage);\n upstream = UpstreamMessage.create({ sequenceAckMessage: sequenceAck } as IUpstreamMessage);\n break;\n }\n default:\n throw new TypeError(`kind is not supported: ${message.kind}`);\n }\n\n return UpstreamMessage.encode(upstream).finish();\n }\n\n private static _getIMessageData(\n data: JSONTypes | ArrayBuffer,\n dataType: WebPubSubDataType\n ): IMessageData {\n switch (dataType) {\n case \"binary\":\n if (!(data instanceof ArrayBuffer)) {\n throw new TypeError(\"Message must be a ArrayBuffer.\");\n }\n return MessageData.create({ binaryData: new Uint8Array(data) } as IMessageData);\n case \"protobuf\":\n if (WebPubSubProtobufProtocolBase._isIAny(data)) {\n return MessageData.create({\n protobufData: google.protobuf.Any.create({\n type_url: data.type_url!,\n value: new Uint8Array(data.value!),\n } as google.protobuf.IAny),\n } as IMessageData);\n }\n throw new TypeError(\"Message must be a google.protobuf.Any.\");\n case \"text\":\n if (typeof data !== \"string\") {\n throw new TypeError(\"Message must be a string.\");\n }\n return MessageData.create({ textData: data } as IMessageData);\n case \"json\":\n return MessageData.create({ jsonData: JSON.stringify(data) } as IMessageData);\n default:\n throw new TypeError(`dataType is not supported: ${dataType}`);\n }\n }\n\n private static _getNumber(value: number | Long | null | undefined): number | null | undefined {\n if (value === null || value === undefined || typeof value === \"number\") {\n return value;\n }\n return value.toNumber();\n }\n\n private static _isIAny(obj: any): obj is google.protobuf.IAny {\n return \"type_url\" in obj && \"value\" in obj;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { WebPubSubMessage, WebPubSubClientProtocol } from \"@azure/web-pubsub-client\";\n\nimport { WebPubSubProtobufProtocolBase } from \"./webPubSubProtobufProtocolBase\";\n\n/**\n * The \"protobuf.reliable.webpubsub.azure.v1\" protocol\n */\nexport class WebPubSubProtobufProtocolImpl implements WebPubSubClientProtocol {\n /**\n * True if the protocol supports reliable features\n */\n public readonly isReliableSubProtocol = false;\n\n /**\n * The name of subprotocol. Name will be used in websocket subprotocol\n */\n public readonly name = \"protobuf.webpubsub.azure.v1\";\n\n /**\n * Creates WebPubSubMessage objects from the specified serialized representation.\n * @param input - The serialized representation\n */\n public parseMessages(input: ArrayBuffer): WebPubSubMessage | null {\n return WebPubSubProtobufProtocolBase.parseMessages(input);\n }\n\n /**\n * Write WebPubSubMessage to string\n * @param message - The message to be written\n */\n public writeMessage(message: WebPubSubMessage): ArrayBuffer {\n return WebPubSubProtobufProtocolBase.writeMessage(message);\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { WebPubSubMessage, WebPubSubClientProtocol } from \"@azure/web-pubsub-client\";\n\nimport { WebPubSubProtobufProtocolBase } from \"./webPubSubProtobufProtocolBase\";\n\n/**\n * The \"protobuf.reliable.webpubsub.azure.v1\" protocol\n */\nexport class WebPubSubProtobufReliableProtocolImpl implements WebPubSubClientProtocol {\n /**\n * True if the protocol supports reliable features\n */\n public readonly isReliableSubProtocol = true;\n\n /**\n * The name of subprotocol. Name will be used in websocket subprotocol\n */\n public readonly name = \"protobuf.reliable.webpubsub.azure.v1\";\n\n /**\n * Creates WebPubSubMessage objects from the specified serialized representation.\n * @param input - The serialized representation\n */\n public parseMessages(input: ArrayBuffer): WebPubSubMessage | null {\n return WebPubSubProtobufProtocolBase.parseMessages(input);\n }\n\n /**\n * Write WebPubSubMessage to string\n * @param message - The message to be written\n */\n public writeMessage(message: WebPubSubMessage): ArrayBuffer {\n return WebPubSubProtobufProtocolBase.writeMessage(message);\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { WebPubSubClientProtocol } from \"@azure/web-pubsub-client\";\nimport { WebPubSubProtobufProtocolImpl } from \"./webPubSubProtobufProtocol\";\nimport { WebPubSubProtobufReliableProtocolImpl } from \"./webPubSubProtobufReliableProtocol\";\n\n/**\n * Return the \"protobuf.webpubsub.azure.v1\" protocol\n */\nexport const WebPubSubProtobufProtocol = (): WebPubSubClientProtocol => {\n return new WebPubSubProtobufProtocolImpl();\n};\n\n/**\n * Return the \"protobuf.reliable.webpubsub.azure.v1\" protocol\n */\nexport const WebPubSubProtobufReliableProtocol = (): WebPubSubClientProtocol => {\n return new WebPubSubProtobufReliableProtocolImpl();\n};\n"],"names":["$protobuf.Reader","$protobuf.Writer","$protobuf.util","$protobuf.roots[\"default\"]","$protobuf.util.toJSONOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../common/temp/node_modules/.pnpm/@protobufjs+aspromise@1.1.2/node_modules/@protobufjs/aspromise/index.js","../../../../common/temp/node_modules/.pnpm/@protobufjs+base64@1.1.2/node_modules/@protobufjs/base64/index.js","../../../../common/temp/node_modules/.pnpm/@protobufjs+eventemitter@1.1.0/node_modules/@protobufjs/eventemitter/index.js","../../../../common/temp/node_modules/.pnpm/@protobufjs+float@1.0.2/node_modules/@protobufjs/float/index.js","../../../../common/temp/node_modules/.pnpm/@protobufjs+inquire@1.1.0/node_modules/@protobufjs/inquire/index.js","../../../../common/temp/node_modules/.pnpm/@protobufjs+utf8@1.1.0/node_modules/@protobufjs/utf8/index.js","../../../../common/temp/node_modules/.pnpm/@protobufjs+pool@1.1.0/node_modules/@protobufjs/pool/index.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/util/longbits.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/util/minimal.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/writer.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/writer_buffer.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/reader.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/reader_buffer.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/rpc/service.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/rpc.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/roots.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/index-minimal.js","../../../../common/temp/node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/minimal.js","../dist-esm/src/generated/clientProto.js","../src/webPubSubProtobufProtocolBase.ts","../src/webPubSubProtobufProtocol.ts","../src/webPubSubProtobufReliableProtocol.ts","../src/index.ts"],"sourcesContent":["\"use strict\";\r\nmodule.exports = asPromise;\r\n\r\n/**\r\n * Callback as used by {@link util.asPromise}.\r\n * @typedef asPromiseCallback\r\n * @type {function}\r\n * @param {Error|null} error Error, if any\r\n * @param {...*} params Additional arguments\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Returns a promise from a node-style callback function.\r\n * @memberof util\r\n * @param {asPromiseCallback} fn Function to call\r\n * @param {*} ctx Function context\r\n * @param {...*} params Function arguments\r\n * @returns {Promise<*>} Promisified function\r\n */\r\nfunction asPromise(fn, ctx/*, varargs */) {\r\n var params = new Array(arguments.length - 1),\r\n offset = 0,\r\n index = 2,\r\n pending = true;\r\n while (index < arguments.length)\r\n params[offset++] = arguments[index++];\r\n return new Promise(function executor(resolve, reject) {\r\n params[offset] = function callback(err/*, varargs */) {\r\n if (pending) {\r\n pending = false;\r\n if (err)\r\n reject(err);\r\n else {\r\n var params = new Array(arguments.length - 1),\r\n offset = 0;\r\n while (offset < params.length)\r\n params[offset++] = arguments[offset];\r\n resolve.apply(null, params);\r\n }\r\n }\r\n };\r\n try {\r\n fn.apply(ctx || null, params);\r\n } catch (err) {\r\n if (pending) {\r\n pending = false;\r\n reject(err);\r\n }\r\n }\r\n });\r\n}\r\n","\"use strict\";\r\n\r\n/**\r\n * A minimal base64 implementation for number arrays.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar base64 = exports;\r\n\r\n/**\r\n * Calculates the byte length of a base64 encoded string.\r\n * @param {string} string Base64 encoded string\r\n * @returns {number} Byte length\r\n */\r\nbase64.length = function length(string) {\r\n var p = string.length;\r\n if (!p)\r\n return 0;\r\n var n = 0;\r\n while (--p % 4 > 1 && string.charAt(p) === \"=\")\r\n ++n;\r\n return Math.ceil(string.length * 3) / 4 - n;\r\n};\r\n\r\n// Base64 encoding table\r\nvar b64 = new Array(64);\r\n\r\n// Base64 decoding table\r\nvar s64 = new Array(123);\r\n\r\n// 65..90, 97..122, 48..57, 43, 47\r\nfor (var i = 0; i < 64;)\r\n s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;\r\n\r\n/**\r\n * Encodes a buffer to a base64 encoded string.\r\n * @param {Uint8Array} buffer Source buffer\r\n * @param {number} start Source start\r\n * @param {number} end Source end\r\n * @returns {string} Base64 encoded string\r\n */\r\nbase64.encode = function encode(buffer, start, end) {\r\n var parts = null,\r\n chunk = [];\r\n var i = 0, // output index\r\n j = 0, // goto index\r\n t; // temporary\r\n while (start < end) {\r\n var b = buffer[start++];\r\n switch (j) {\r\n case 0:\r\n chunk[i++] = b64[b >> 2];\r\n t = (b & 3) << 4;\r\n j = 1;\r\n break;\r\n case 1:\r\n chunk[i++] = b64[t | b >> 4];\r\n t = (b & 15) << 2;\r\n j = 2;\r\n break;\r\n case 2:\r\n chunk[i++] = b64[t | b >> 6];\r\n chunk[i++] = b64[b & 63];\r\n j = 0;\r\n break;\r\n }\r\n if (i > 8191) {\r\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\r\n i = 0;\r\n }\r\n }\r\n if (j) {\r\n chunk[i++] = b64[t];\r\n chunk[i++] = 61;\r\n if (j === 1)\r\n chunk[i++] = 61;\r\n }\r\n if (parts) {\r\n if (i)\r\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\r\n return parts.join(\"\");\r\n }\r\n return String.fromCharCode.apply(String, chunk.slice(0, i));\r\n};\r\n\r\nvar invalidEncoding = \"invalid encoding\";\r\n\r\n/**\r\n * Decodes a base64 encoded string to a buffer.\r\n * @param {string} string Source string\r\n * @param {Uint8Array} buffer Destination buffer\r\n * @param {number} offset Destination offset\r\n * @returns {number} Number of bytes written\r\n * @throws {Error} If encoding is invalid\r\n */\r\nbase64.decode = function decode(string, buffer, offset) {\r\n var start = offset;\r\n var j = 0, // goto index\r\n t; // temporary\r\n for (var i = 0; i < string.length;) {\r\n var c = string.charCodeAt(i++);\r\n if (c === 61 && j > 1)\r\n break;\r\n if ((c = s64[c]) === undefined)\r\n throw Error(invalidEncoding);\r\n switch (j) {\r\n case 0:\r\n t = c;\r\n j = 1;\r\n break;\r\n case 1:\r\n buffer[offset++] = t << 2 | (c & 48) >> 4;\r\n t = c;\r\n j = 2;\r\n break;\r\n case 2:\r\n buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;\r\n t = c;\r\n j = 3;\r\n break;\r\n case 3:\r\n buffer[offset++] = (t & 3) << 6 | c;\r\n j = 0;\r\n break;\r\n }\r\n }\r\n if (j === 1)\r\n throw Error(invalidEncoding);\r\n return offset - start;\r\n};\r\n\r\n/**\r\n * Tests if the specified string appears to be base64 encoded.\r\n * @param {string} string String to test\r\n * @returns {boolean} `true` if probably base64 encoded, otherwise false\r\n */\r\nbase64.test = function test(string) {\r\n return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);\r\n};\r\n","\"use strict\";\r\nmodule.exports = EventEmitter;\r\n\r\n/**\r\n * Constructs a new event emitter instance.\r\n * @classdesc A minimal event emitter.\r\n * @memberof util\r\n * @constructor\r\n */\r\nfunction EventEmitter() {\r\n\r\n /**\r\n * Registered listeners.\r\n * @type {Object.<string,*>}\r\n * @private\r\n */\r\n this._listeners = {};\r\n}\r\n\r\n/**\r\n * Registers an event listener.\r\n * @param {string} evt Event name\r\n * @param {function} fn Listener\r\n * @param {*} [ctx] Listener context\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.on = function on(evt, fn, ctx) {\r\n (this._listeners[evt] || (this._listeners[evt] = [])).push({\r\n fn : fn,\r\n ctx : ctx || this\r\n });\r\n return this;\r\n};\r\n\r\n/**\r\n * Removes an event listener or any matching listeners if arguments are omitted.\r\n * @param {string} [evt] Event name. Removes all listeners if omitted.\r\n * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.off = function off(evt, fn) {\r\n if (evt === undefined)\r\n this._listeners = {};\r\n else {\r\n if (fn === undefined)\r\n this._listeners[evt] = [];\r\n else {\r\n var listeners = this._listeners[evt];\r\n for (var i = 0; i < listeners.length;)\r\n if (listeners[i].fn === fn)\r\n listeners.splice(i, 1);\r\n else\r\n ++i;\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Emits an event by calling its listeners with the specified arguments.\r\n * @param {string} evt Event name\r\n * @param {...*} args Arguments\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.emit = function emit(evt) {\r\n var listeners = this._listeners[evt];\r\n if (listeners) {\r\n var args = [],\r\n i = 1;\r\n for (; i < arguments.length;)\r\n args.push(arguments[i++]);\r\n for (i = 0; i < listeners.length;)\r\n listeners[i].fn.apply(listeners[i++].ctx, args);\r\n }\r\n return this;\r\n};\r\n","\"use strict\";\r\n\r\nmodule.exports = factory(factory);\r\n\r\n/**\r\n * Reads / writes floats / doubles from / to buffers.\r\n * @name util.float\r\n * @namespace\r\n */\r\n\r\n/**\r\n * Writes a 32 bit float to a buffer using little endian byte order.\r\n * @name util.float.writeFloatLE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Writes a 32 bit float to a buffer using big endian byte order.\r\n * @name util.float.writeFloatBE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Reads a 32 bit float from a buffer using little endian byte order.\r\n * @name util.float.readFloatLE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Reads a 32 bit float from a buffer using big endian byte order.\r\n * @name util.float.readFloatBE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Writes a 64 bit double to a buffer using little endian byte order.\r\n * @name util.float.writeDoubleLE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Writes a 64 bit double to a buffer using big endian byte order.\r\n * @name util.float.writeDoubleBE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Reads a 64 bit double from a buffer using little endian byte order.\r\n * @name util.float.readDoubleLE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Reads a 64 bit double from a buffer using big endian byte order.\r\n * @name util.float.readDoubleBE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n// Factory function for the purpose of node-based testing in modified global environments\r\nfunction factory(exports) {\r\n\r\n // float: typed array\r\n if (typeof Float32Array !== \"undefined\") (function() {\r\n\r\n var f32 = new Float32Array([ -0 ]),\r\n f8b = new Uint8Array(f32.buffer),\r\n le = f8b[3] === 128;\r\n\r\n function writeFloat_f32_cpy(val, buf, pos) {\r\n f32[0] = val;\r\n buf[pos ] = f8b[0];\r\n buf[pos + 1] = f8b[1];\r\n buf[pos + 2] = f8b[2];\r\n buf[pos + 3] = f8b[3];\r\n }\r\n\r\n function writeFloat_f32_rev(val, buf, pos) {\r\n f32[0] = val;\r\n buf[pos ] = f8b[3];\r\n buf[pos + 1] = f8b[2];\r\n buf[pos + 2] = f8b[1];\r\n buf[pos + 3] = f8b[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;\r\n /* istanbul ignore next */\r\n exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;\r\n\r\n function readFloat_f32_cpy(buf, pos) {\r\n f8b[0] = buf[pos ];\r\n f8b[1] = buf[pos + 1];\r\n f8b[2] = buf[pos + 2];\r\n f8b[3] = buf[pos + 3];\r\n return f32[0];\r\n }\r\n\r\n function readFloat_f32_rev(buf, pos) {\r\n f8b[3] = buf[pos ];\r\n f8b[2] = buf[pos + 1];\r\n f8b[1] = buf[pos + 2];\r\n f8b[0] = buf[pos + 3];\r\n return f32[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;\r\n /* istanbul ignore next */\r\n exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;\r\n\r\n // float: ieee754\r\n })(); else (function() {\r\n\r\n function writeFloat_ieee754(writeUint, val, buf, pos) {\r\n var sign = val < 0 ? 1 : 0;\r\n if (sign)\r\n val = -val;\r\n if (val === 0)\r\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);\r\n else if (isNaN(val))\r\n writeUint(2143289344, buf, pos);\r\n else if (val > 3.4028234663852886e+38) // +-Infinity\r\n writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);\r\n else if (val < 1.1754943508222875e-38) // denormal\r\n writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);\r\n else {\r\n var exponent = Math.floor(Math.log(val) / Math.LN2),\r\n mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;\r\n writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);\r\n }\r\n }\r\n\r\n exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);\r\n exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);\r\n\r\n function readFloat_ieee754(readUint, buf, pos) {\r\n var uint = readUint(buf, pos),\r\n sign = (uint >> 31) * 2 + 1,\r\n exponent = uint >>> 23 & 255,\r\n mantissa = uint & 8388607;\r\n return exponent === 255\r\n ? mantissa\r\n ? NaN\r\n : sign * Infinity\r\n : exponent === 0 // denormal\r\n ? sign * 1.401298464324817e-45 * mantissa\r\n : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);\r\n }\r\n\r\n exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);\r\n exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);\r\n\r\n })();\r\n\r\n // double: typed array\r\n if (typeof Float64Array !== \"undefined\") (function() {\r\n\r\n var f64 = new Float64Array([-0]),\r\n f8b = new Uint8Array(f64.buffer),\r\n le = f8b[7] === 128;\r\n\r\n function writeDouble_f64_cpy(val, buf, pos) {\r\n f64[0] = val;\r\n buf[pos ] = f8b[0];\r\n buf[pos + 1] = f8b[1];\r\n buf[pos + 2] = f8b[2];\r\n buf[pos + 3] = f8b[3];\r\n buf[pos + 4] = f8b[4];\r\n buf[pos + 5] = f8b[5];\r\n buf[pos + 6] = f8b[6];\r\n buf[pos + 7] = f8b[7];\r\n }\r\n\r\n function writeDouble_f64_rev(val, buf, pos) {\r\n f64[0] = val;\r\n buf[pos ] = f8b[7];\r\n buf[pos + 1] = f8b[6];\r\n buf[pos + 2] = f8b[5];\r\n buf[pos + 3] = f8b[4];\r\n buf[pos + 4] = f8b[3];\r\n buf[pos + 5] = f8b[2];\r\n buf[pos + 6] = f8b[1];\r\n buf[pos + 7] = f8b[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;\r\n /* istanbul ignore next */\r\n exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;\r\n\r\n function readDouble_f64_cpy(buf, pos) {\r\n f8b[0] = buf[pos ];\r\n f8b[1] = buf[pos + 1];\r\n f8b[2] = buf[pos + 2];\r\n f8b[3] = buf[pos + 3];\r\n f8b[4] = buf[pos + 4];\r\n f8b[5] = buf[pos + 5];\r\n f8b[6] = buf[pos + 6];\r\n f8b[7] = buf[pos + 7];\r\n return f64[0];\r\n }\r\n\r\n function readDouble_f64_rev(buf, pos) {\r\n f8b[7] = buf[pos ];\r\n f8b[6] = buf[pos + 1];\r\n f8b[5] = buf[pos + 2];\r\n f8b[4] = buf[pos + 3];\r\n f8b[3] = buf[pos + 4];\r\n f8b[2] = buf[pos + 5];\r\n f8b[1] = buf[pos + 6];\r\n f8b[0] = buf[pos + 7];\r\n return f64[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;\r\n /* istanbul ignore next */\r\n exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;\r\n\r\n // double: ieee754\r\n })(); else (function() {\r\n\r\n function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {\r\n var sign = val < 0 ? 1 : 0;\r\n if (sign)\r\n val = -val;\r\n if (val === 0) {\r\n writeUint(0, buf, pos + off0);\r\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);\r\n } else if (isNaN(val)) {\r\n writeUint(0, buf, pos + off0);\r\n writeUint(2146959360, buf, pos + off1);\r\n } else if (val > 1.7976931348623157e+308) { // +-Infinity\r\n writeUint(0, buf, pos + off0);\r\n writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);\r\n } else {\r\n var mantissa;\r\n if (val < 2.2250738585072014e-308) { // denormal\r\n mantissa = val / 5e-324;\r\n writeUint(mantissa >>> 0, buf, pos + off0);\r\n writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);\r\n } else {\r\n var exponent = Math.floor(Math.log(val) / Math.LN2);\r\n if (exponent === 1024)\r\n exponent = 1023;\r\n mantissa = val * Math.pow(2, -exponent);\r\n writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);\r\n writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);\r\n }\r\n }\r\n }\r\n\r\n exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);\r\n exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);\r\n\r\n function readDouble_ieee754(readUint, off0, off1, buf, pos) {\r\n var lo = readUint(buf, pos + off0),\r\n hi = readUint(buf, pos + off1);\r\n var sign = (hi >> 31) * 2 + 1,\r\n exponent = hi >>> 20 & 2047,\r\n mantissa = 4294967296 * (hi & 1048575) + lo;\r\n return exponent === 2047\r\n ? mantissa\r\n ? NaN\r\n : sign * Infinity\r\n : exponent === 0 // denormal\r\n ? sign * 5e-324 * mantissa\r\n : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);\r\n }\r\n\r\n exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);\r\n exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);\r\n\r\n })();\r\n\r\n return exports;\r\n}\r\n\r\n// uint helpers\r\n\r\nfunction writeUintLE(val, buf, pos) {\r\n buf[pos ] = val & 255;\r\n buf[pos + 1] = val >>> 8 & 255;\r\n buf[pos + 2] = val >>> 16 & 255;\r\n buf[pos + 3] = val >>> 24;\r\n}\r\n\r\nfunction writeUintBE(val, buf, pos) {\r\n buf[pos ] = val >>> 24;\r\n buf[pos + 1] = val >>> 16 & 255;\r\n buf[pos + 2] = val >>> 8 & 255;\r\n buf[pos + 3] = val & 255;\r\n}\r\n\r\nfunction readUintLE(buf, pos) {\r\n return (buf[pos ]\r\n | buf[pos + 1] << 8\r\n | buf[pos + 2] << 16\r\n | buf[pos + 3] << 24) >>> 0;\r\n}\r\n\r\nfunction readUintBE(buf, pos) {\r\n return (buf[pos ] << 24\r\n | buf[pos + 1] << 16\r\n | buf[pos + 2] << 8\r\n | buf[pos + 3]) >>> 0;\r\n}\r\n","\"use strict\";\r\nmodule.exports = inquire;\r\n\r\n/**\r\n * Requires a module only if available.\r\n * @memberof util\r\n * @param {string} moduleName Module to require\r\n * @returns {?Object} Required module if available and not empty, otherwise `null`\r\n */\r\nfunction inquire(moduleName) {\r\n try {\r\n var mod = eval(\"quire\".replace(/^/,\"re\"))(moduleName); // eslint-disable-line no-eval\r\n if (mod && (mod.length || Object.keys(mod).length))\r\n return mod;\r\n } catch (e) {} // eslint-disable-line no-empty\r\n return null;\r\n}\r\n","\"use strict\";\r\n\r\n/**\r\n * A minimal UTF8 implementation for number arrays.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar utf8 = exports;\r\n\r\n/**\r\n * Calculates the UTF8 byte length of a string.\r\n * @param {string} string String\r\n * @returns {number} Byte length\r\n */\r\nutf8.length = function utf8_length(string) {\r\n var len = 0,\r\n c = 0;\r\n for (var i = 0; i < string.length; ++i) {\r\n c = string.charCodeAt(i);\r\n if (c < 128)\r\n len += 1;\r\n else if (c < 2048)\r\n len += 2;\r\n else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {\r\n ++i;\r\n len += 4;\r\n } else\r\n len += 3;\r\n }\r\n return len;\r\n};\r\n\r\n/**\r\n * Reads UTF8 bytes as a string.\r\n * @param {Uint8Array} buffer Source buffer\r\n * @param {number} start Source start\r\n * @param {number} end Source end\r\n * @returns {string} String read\r\n */\r\nutf8.read = function utf8_read(buffer, start, end) {\r\n var len = end - start;\r\n if (len < 1)\r\n return \"\";\r\n var parts = null,\r\n chunk = [],\r\n i = 0, // char offset\r\n t; // temporary\r\n while (start < end) {\r\n t = buffer[start++];\r\n if (t < 128)\r\n chunk[i++] = t;\r\n else if (t > 191 && t < 224)\r\n chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;\r\n else if (t > 239 && t < 365) {\r\n t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;\r\n chunk[i++] = 0xD800 + (t >> 10);\r\n chunk[i++] = 0xDC00 + (t & 1023);\r\n } else\r\n chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;\r\n if (i > 8191) {\r\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\r\n i = 0;\r\n }\r\n }\r\n if (parts) {\r\n if (i)\r\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\r\n return parts.join(\"\");\r\n }\r\n return String.fromCharCode.apply(String, chunk.slice(0, i));\r\n};\r\n\r\n/**\r\n * Writes a string as UTF8 bytes.\r\n * @param {string} string Source string\r\n * @param {Uint8Array} buffer Destination buffer\r\n * @param {number} offset Destination offset\r\n * @returns {number} Bytes written\r\n */\r\nutf8.write = function utf8_write(string, buffer, offset) {\r\n var start = offset,\r\n c1, // character 1\r\n c2; // character 2\r\n for (var i = 0; i < string.length; ++i) {\r\n c1 = string.charCodeAt(i);\r\n if (c1 < 128) {\r\n buffer[offset++] = c1;\r\n } else if (c1 < 2048) {\r\n buffer[offset++] = c1 >> 6 | 192;\r\n buffer[offset++] = c1 & 63 | 128;\r\n } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {\r\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);\r\n ++i;\r\n buffer[offset++] = c1 >> 18 | 240;\r\n buffer[offset++] = c1 >> 12 & 63 | 128;\r\n buffer[offset++] = c1 >> 6 & 63 | 128;\r\n buffer[offset++] = c1 & 63 | 128;\r\n } else {\r\n buffer[offset++] = c1 >> 12 | 224;\r\n buffer[offset++] = c1 >> 6 & 63 | 128;\r\n buffer[offset++] = c1 & 63 | 128;\r\n }\r\n }\r\n return offset - start;\r\n};\r\n","\"use strict\";\r\nmodule.exports = pool;\r\n\r\n/**\r\n * An allocator as used by {@link util.pool}.\r\n * @typedef PoolAllocator\r\n * @type {function}\r\n * @param {number} size Buffer size\r\n * @returns {Uint8Array} Buffer\r\n */\r\n\r\n/**\r\n * A slicer as used by {@link util.pool}.\r\n * @typedef PoolSlicer\r\n * @type {function}\r\n * @param {number} start Start offset\r\n * @param {number} end End offset\r\n * @returns {Uint8Array} Buffer slice\r\n * @this {Uint8Array}\r\n */\r\n\r\n/**\r\n * A general purpose buffer pool.\r\n * @memberof util\r\n * @function\r\n * @param {PoolAllocator} alloc Allocator\r\n * @param {PoolSlicer} slice Slicer\r\n * @param {number} [size=8192] Slab size\r\n * @returns {PoolAllocator} Pooled allocator\r\n */\r\nfunction pool(alloc, slice, size) {\r\n var SIZE = size || 8192;\r\n var MAX = SIZE >>> 1;\r\n var slab = null;\r\n var offset = SIZE;\r\n return function pool_alloc(size) {\r\n if (size < 1 || size > MAX)\r\n return alloc(size);\r\n if (offset + size > SIZE) {\r\n slab = alloc(SIZE);\r\n offset = 0;\r\n }\r\n var buf = slice.call(slab, offset, offset += size);\r\n if (offset & 7) // align to 32 bit\r\n offset = (offset | 7) + 1;\r\n return buf;\r\n };\r\n}\r\n","\"use strict\";\nmodule.exports = LongBits;\n\nvar util = require(\"../util/minimal\");\n\n/**\n * Constructs new long bits.\n * @classdesc Helper class for working with the low and high bits of a 64 bit value.\n * @memberof util\n * @constructor\n * @param {number} lo Low 32 bits, unsigned\n * @param {number} hi High 32 bits, unsigned\n */\nfunction LongBits(lo, hi) {\n\n // note that the casts below are theoretically unnecessary as of today, but older statically\n // generated converter code might still call the ctor with signed 32bits. kept for compat.\n\n /**\n * Low bits.\n * @type {number}\n */\n this.lo = lo >>> 0;\n\n /**\n * High bits.\n * @type {number}\n */\n this.hi = hi >>> 0;\n}\n\n/**\n * Zero bits.\n * @memberof util.LongBits\n * @type {util.LongBits}\n */\nvar zero = LongBits.zero = new LongBits(0, 0);\n\nzero.toNumber = function() { return 0; };\nzero.zzEncode = zero.zzDecode = function() { return this; };\nzero.length = function() { return 1; };\n\n/**\n * Zero hash.\n * @memberof util.LongBits\n * @type {string}\n */\nvar zeroHash = LongBits.zeroHash = \"\\0\\0\\0\\0\\0\\0\\0\\0\";\n\n/**\n * Constructs new long bits from the specified number.\n * @param {number} value Value\n * @returns {util.LongBits} Instance\n */\nLongBits.fromNumber = function fromNumber(value) {\n if (value === 0)\n return zero;\n var sign = value < 0;\n if (sign)\n value = -value;\n var lo = value >>> 0,\n hi = (value - lo) / 4294967296 >>> 0;\n if (sign) {\n hi = ~hi >>> 0;\n lo = ~lo >>> 0;\n if (++lo > 4294967295) {\n lo = 0;\n if (++hi > 4294967295)\n hi = 0;\n }\n }\n return new LongBits(lo, hi);\n};\n\n/**\n * Constructs new long bits from a number, long or string.\n * @param {Long|number|string} value Value\n * @returns {util.LongBits} Instance\n */\nLongBits.from = function from(value) {\n if (typeof value === \"number\")\n return LongBits.fromNumber(value);\n if (util.isString(value)) {\n /* istanbul ignore else */\n if (util.Long)\n value = util.Long.fromString(value);\n else\n return LongBits.fromNumber(parseInt(value, 10));\n }\n return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;\n};\n\n/**\n * Converts this long bits to a possibly unsafe JavaScript number.\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {number} Possibly unsafe number\n */\nLongBits.prototype.toNumber = function toNumber(unsigned) {\n if (!unsigned && this.hi >>> 31) {\n var lo = ~this.lo + 1 >>> 0,\n hi = ~this.hi >>> 0;\n if (!lo)\n hi = hi + 1 >>> 0;\n return -(lo + hi * 4294967296);\n }\n return this.lo + this.hi * 4294967296;\n};\n\n/**\n * Converts this long bits to a long.\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {Long} Long\n */\nLongBits.prototype.toLong = function toLong(unsigned) {\n return util.Long\n ? new util.Long(this.lo | 0, this.hi | 0, Boolean(unsigned))\n /* istanbul ignore next */\n : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };\n};\n\nvar charCodeAt = String.prototype.charCodeAt;\n\n/**\n * Constructs new long bits from the specified 8 characters long hash.\n * @param {string} hash Hash\n * @returns {util.LongBits} Bits\n */\nLongBits.fromHash = function fromHash(hash) {\n if (hash === zeroHash)\n return zero;\n return new LongBits(\n ( charCodeAt.call(hash, 0)\n | charCodeAt.call(hash, 1) << 8\n | charCodeAt.call(hash, 2) << 16\n | charCodeAt.call(hash, 3) << 24) >>> 0\n ,\n ( charCodeAt.call(hash, 4)\n | charCodeAt.call(hash, 5) << 8\n | charCodeAt.call(hash, 6) << 16\n | charCodeAt.call(hash, 7) << 24) >>> 0\n );\n};\n\n/**\n * Converts this long bits to a 8 characters long hash.\n * @returns {string} Hash\n */\nLongBits.prototype.toHash = function toHash() {\n return String.fromCharCode(\n this.lo & 255,\n this.lo >>> 8 & 255,\n this.lo >>> 16 & 255,\n this.lo >>> 24 ,\n this.hi & 255,\n this.hi >>> 8 & 255,\n this.hi >>> 16 & 255,\n this.hi >>> 24\n );\n};\n\n/**\n * Zig-zag encodes this long bits.\n * @returns {util.LongBits} `this`\n */\nLongBits.prototype.zzEncode = function zzEncode() {\n var mask = this.hi >> 31;\n this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;\n this.lo = ( this.lo << 1 ^ mask) >>> 0;\n return this;\n};\n\n/**\n * Zig-zag decodes this long bits.\n * @returns {util.LongBits} `this`\n */\nLongBits.prototype.zzDecode = function zzDecode() {\n var mask = -(this.lo & 1);\n this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;\n this.hi = ( this.hi >>> 1 ^ mask) >>> 0;\n return this;\n};\n\n/**\n * Calculates the length of this longbits when encoded as a varint.\n * @returns {number} Length\n */\nLongBits.prototype.length = function length() {\n var part0 = this.lo,\n part1 = (this.lo >>> 28 | this.hi << 4) >>> 0,\n part2 = this.hi >>> 24;\n return part2 === 0\n ? part1 === 0\n ? part0 < 16384\n ? part0 < 128 ? 1 : 2\n : part0 < 2097152 ? 3 : 4\n : part1 < 16384\n ? part1 < 128 ? 5 : 6\n : part1 < 2097152 ? 7 : 8\n : part2 < 128 ? 9 : 10;\n};\n","\"use strict\";\nvar util = exports;\n\n// used to return a Promise where callback is omitted\nutil.asPromise = require(\"@protobufjs/aspromise\");\n\n// converts to / from base64 encoded strings\nutil.base64 = require(\"@protobufjs/base64\");\n\n// base class of rpc.Service\nutil.EventEmitter = require(\"@protobufjs/eventemitter\");\n\n// float handling accross browsers\nutil.float = require(\"@protobufjs/float\");\n\n// requires modules optionally and hides the call from bundlers\nutil.inquire = require(\"@protobufjs/inquire\");\n\n// converts to / from utf8 encoded strings\nutil.utf8 = require(\"@protobufjs/utf8\");\n\n// provides a node-like buffer pool in the browser\nutil.pool = require(\"@protobufjs/pool\");\n\n// utility to work with the low and high bits of a 64 bit value\nutil.LongBits = require(\"./longbits\");\n\n/**\n * Whether running within node or not.\n * @memberof util\n * @type {boolean}\n */\nutil.isNode = Boolean(typeof global !== \"undefined\"\n && global\n && global.process\n && global.process.versions\n && global.process.versions.node);\n\n/**\n * Global object reference.\n * @memberof util\n * @type {Object}\n */\nutil.global = util.isNode && global\n || typeof window !== \"undefined\" && window\n || typeof self !== \"undefined\" && self\n || this; // eslint-disable-line no-invalid-this\n\n/**\n * An immuable empty array.\n * @memberof util\n * @type {Array.<*>}\n * @const\n */\nutil.emptyArray = Object.freeze ? Object.freeze([]) : /* istanbul ignore next */ []; // used on prototypes\n\n/**\n * An immutable empty object.\n * @type {Object}\n * @const\n */\nutil.emptyObject = Object.freeze ? Object.freeze({}) : /* istanbul ignore next */ {}; // used on prototypes\n\n/**\n * Tests if the specified value is an integer.\n * @function\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is an integer\n */\nutil.isInteger = Number.isInteger || /* istanbul ignore next */ function isInteger(value) {\n return typeof value === \"number\" && isFinite(value) && Math.floor(value) === value;\n};\n\n/**\n * Tests if the specified value is a string.\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is a string\n */\nutil.isString = function isString(value) {\n return typeof value === \"string\" || value instanceof String;\n};\n\n/**\n * Tests if the specified value is a non-null object.\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is a non-null object\n */\nutil.isObject = function isObject(value) {\n return value && typeof value === \"object\";\n};\n\n/**\n * Checks if a property on a message is considered to be present.\n * This is an alias of {@link util.isSet}.\n * @function\n * @param {Object} obj Plain object or message instance\n * @param {string} prop Property name\n * @returns {boolean} `true` if considered to be present, otherwise `false`\n */\nutil.isset =\n\n/**\n * Checks if a property on a message is considered to be present.\n * @param {Object} obj Plain object or message instance\n * @param {string} prop Property name\n * @returns {boolean} `true` if considered to be present, otherwise `false`\n */\nutil.isSet = function isSet(obj, prop) {\n var value = obj[prop];\n if (value != null && obj.hasOwnProperty(prop)) // eslint-disable-line eqeqeq, no-prototype-builtins\n return typeof value !== \"object\" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0;\n return false;\n};\n\n/**\n * Any compatible Buffer instance.\n * This is a minimal stand-alone definition of a Buffer instance. The actual type is that exported by node's typings.\n * @interface Buffer\n * @extends Uint8Array\n */\n\n/**\n * Node's Buffer class if available.\n * @type {Constructor<Buffer>}\n */\nutil.Buffer = (function() {\n try {\n var Buffer = util.inquire(\"buffer\").Buffer;\n // refuse to use non-node buffers if not explicitly assigned (perf reasons):\n return Buffer.prototype.utf8Write ? Buffer : /* istanbul ignore next */ null;\n } catch (e) {\n /* istanbul ignore next */\n return null;\n }\n})();\n\n// Internal alias of or polyfull for Buffer.from.\nutil._Buffer_from = null;\n\n// Internal alias of or polyfill for Buffer.allocUnsafe.\nutil._Buffer_allocUnsafe = null;\n\n/**\n * Creates a new buffer of whatever type supported by the environment.\n * @param {number|number[]} [sizeOrArray=0] Buffer size or number array\n * @returns {Uint8Array|Buffer} Buffer\n */\nutil.newBuffer = function newBuffer(sizeOrArray) {\n /* istanbul ignore next */\n return typeof sizeOrArray === \"number\"\n ? util.Buffer\n ? util._Buffer_allocUnsafe(sizeOrArray)\n : new util.Array(sizeOrArray)\n : util.Buffer\n ? util._Buffer_from(sizeOrArray)\n : typeof Uint8Array === \"undefined\"\n ? sizeOrArray\n : new Uint8Array(sizeOrArray);\n};\n\n/**\n * Array implementation used in the browser. `Uint8Array` if supported, otherwise `Array`.\n * @type {Constructor<Uint8Array>}\n */\nutil.Array = typeof Uint8Array !== \"undefined\" ? Uint8Array /* istanbul ignore next */ : Array;\n\n/**\n * Any compatible Long instance.\n * This is a minimal stand-alone definition of a Long instance. The actual type is that exported by long.js.\n * @interface Long\n * @property {number} low Low bits\n * @property {number} high High bits\n * @property {boolean} unsigned Whether unsigned or not\n */\n\n/**\n * Long.js's Long class if available.\n * @type {Constructor<Long>}\n */\nutil.Long = /* istanbul ignore next */ util.global.dcodeIO && /* istanbul ignore next */ util.global.dcodeIO.Long\n || /* istanbul ignore next */ util.global.Long\n || util.inquire(\"long\");\n\n/**\n * Regular expression used to verify 2 bit (`bool`) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key2Re = /^true|false|0|1$/;\n\n/**\n * Regular expression used to verify 32 bit (`int32` etc.) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key32Re = /^-?(?:0|[1-9][0-9]*)$/;\n\n/**\n * Regular expression used to verify 64 bit (`int64` etc.) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key64Re = /^(?:[\\\\x00-\\\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;\n\n/**\n * Converts a number or long to an 8 characters long hash string.\n * @param {Long|number} value Value to convert\n * @returns {string} Hash\n */\nutil.longToHash = function longToHash(value) {\n return value\n ? util.LongBits.from(value).toHash()\n : util.LongBits.zeroHash;\n};\n\n/**\n * Converts an 8 characters long hash string to a long or number.\n * @param {string} hash Hash\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {Long|number} Original value\n */\nutil.longFromHash = function longFromHash(hash, unsigned) {\n var bits = util.LongBits.fromHash(hash);\n if (util.Long)\n return util.Long.fromBits(bits.lo, bits.hi, unsigned);\n return bits.toNumber(Boolean(unsigned));\n};\n\n/**\n * Merges the properties of the source object into the destination object.\n * @memberof util\n * @param {Object.<string,*>} dst Destination object\n * @param {Object.<string,*>} src Source object\n * @param {boolean} [ifNotSet=false] Merges only if the key is not already set\n * @returns {Object.<string,*>} Destination object\n */\nfunction merge(dst, src, ifNotSet) { // used by converters\n for (var keys = Object.keys(src), i = 0; i < keys.length; ++i)\n if (dst[keys[i]] === undefined || !ifNotSet)\n dst[keys[i]] = src[keys[i]];\n return dst;\n}\n\nutil.merge = merge;\n\n/**\n * Converts the first character of a string to lower case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.lcFirst = function lcFirst(str) {\n return str.charAt(0).toLowerCase() + str.substring(1);\n};\n\n/**\n * Creates a custom error constructor.\n * @memberof util\n * @param {string} name Error name\n * @returns {Constructor<Error>} Custom error constructor\n */\nfunction newError(name) {\n\n function CustomError(message, properties) {\n\n if (!(this instanceof CustomError))\n return new CustomError(message, properties);\n\n // Error.call(this, message);\n // ^ just returns a new error instance because the ctor can be called as a function\n\n Object.defineProperty(this, \"message\", { get: function() { return message; } });\n\n /* istanbul ignore next */\n if (Error.captureStackTrace) // node\n Error.captureStackTrace(this, CustomError);\n else\n Object.defineProperty(this, \"stack\", { value: new Error().stack || \"\" });\n\n if (properties)\n merge(this, properties);\n }\n\n CustomError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: CustomError,\n writable: true,\n enumerable: false,\n configurable: true,\n },\n name: {\n get: function get() { return name; },\n set: undefined,\n enumerable: false,\n // configurable: false would accurately preserve the behavior of\n // the original, but I'm guessing that was not intentional.\n // For an actual error subclass, this property would\n // be configurable.\n configurable: true,\n },\n toString: {\n value: function value() { return this.name + \": \" + this.message; },\n writable: true,\n enumerable: false,\n configurable: true,\n },\n });\n\n return CustomError;\n}\n\nutil.newError = newError;\n\n/**\n * Constructs a new protocol error.\n * @classdesc Error subclass indicating a protocol specifc error.\n * @memberof util\n * @extends Error\n * @template T extends Message<T>\n * @constructor\n * @param {string} message Error message\n * @param {Object.<string,*>} [properties] Additional properties\n * @example\n * try {\n * MyMessage.decode(someBuffer); // throws if required fields are missing\n * } catch (e) {\n * if (e instanceof ProtocolError && e.instance)\n * console.log(\"decoded so far: \" + JSON.stringify(e.instance));\n * }\n */\nutil.ProtocolError = newError(\"ProtocolError\");\n\n/**\n * So far decoded message instance.\n * @name util.ProtocolError#instance\n * @type {Message<T>}\n */\n\n/**\n * A OneOf getter as returned by {@link util.oneOfGetter}.\n * @typedef OneOfGetter\n * @type {function}\n * @returns {string|undefined} Set field name, if any\n */\n\n/**\n * Builds a getter for a oneof's present field name.\n * @param {string[]} fieldNames Field names\n * @returns {OneOfGetter} Unbound getter\n */\nutil.oneOfGetter = function getOneOf(fieldNames) {\n var fieldMap = {};\n for (var i = 0; i < fieldNames.length; ++i)\n fieldMap[fieldNames[i]] = 1;\n\n /**\n * @returns {string|undefined} Set field name, if any\n * @this Object\n * @ignore\n */\n return function() { // eslint-disable-line consistent-return\n for (var keys = Object.keys(this), i = keys.length - 1; i > -1; --i)\n if (fieldMap[keys[i]] === 1 && this[keys[i]] !== undefined && this[keys[i]] !== null)\n return keys[i];\n };\n};\n\n/**\n * A OneOf setter as returned by {@link util.oneOfSetter}.\n * @typedef OneOfSetter\n * @type {function}\n * @param {string|undefined} value Field name\n * @returns {undefined}\n */\n\n/**\n * Builds a setter for a oneof's present field name.\n * @param {string[]} fieldNames Field names\n * @returns {OneOfSetter} Unbound setter\n */\nutil.oneOfSetter = function setOneOf(fieldNames) {\n\n /**\n * @param {string} name Field name\n * @returns {undefined}\n * @this Object\n * @ignore\n */\n return function(name) {\n for (var i = 0; i < fieldNames.length; ++i)\n if (fieldNames[i] !== name)\n delete this[fieldNames[i]];\n };\n};\n\n/**\n * Default conversion options used for {@link Message#toJSON} implementations.\n *\n * These options are close to proto3's JSON mapping with the exception that internal types like Any are handled just like messages. More precisely:\n *\n * - Longs become strings\n * - Enums become string keys\n * - Bytes become base64 encoded strings\n * - (Sub-)Messages become plain objects\n * - Maps become plain objects with all string keys\n * - Repeated fields become arrays\n * - NaN and Infinity for float and double fields become strings\n *\n * @type {IConversionOptions}\n * @see https://developers.google.com/protocol-buffers/docs/proto3?hl=en#json\n */\nutil.toJSONOptions = {\n longs: String,\n enums: String,\n bytes: String,\n json: true\n};\n\n// Sets up buffer utility according to the environment (called in index-minimal)\nutil._configure = function() {\n var Buffer = util.Buffer;\n /* istanbul ignore if */\n if (!Buffer) {\n util._Buffer_from = util._Buffer_allocUnsafe = null;\n return;\n }\n // because node 4.x buffers are incompatible & immutable\n // see: https://github.com/dcodeIO/protobuf.js/pull/665\n util._Buffer_from = Buffer.from !== Uint8Array.from && Buffer.from ||\n /* istanbul ignore next */\n function Buffer_from(value, encoding) {\n return new Buffer(value, encoding);\n };\n util._Buffer_allocUnsafe = Buffer.allocUnsafe ||\n /* istanbul ignore next */\n function Buffer_allocUnsafe(size) {\n return new Buffer(size);\n };\n};\n","\"use strict\";\nmodule.exports = Writer;\n\nvar util = require(\"./util/minimal\");\n\nvar BufferWriter; // cyclic\n\nvar LongBits = util.LongBits,\n base64 = util.base64,\n utf8 = util.utf8;\n\n/**\n * Constructs a new writer operation instance.\n * @classdesc Scheduled writer operation.\n * @constructor\n * @param {function(*, Uint8Array, number)} fn Function to call\n * @param {number} len Value byte length\n * @param {*} val Value to write\n * @ignore\n */\nfunction Op(fn, len, val) {\n\n /**\n * Function to call.\n * @type {function(Uint8Array, number, *)}\n */\n this.fn = fn;\n\n /**\n * Value byte length.\n * @type {number}\n */\n this.len = len;\n\n /**\n * Next operation.\n * @type {Writer.Op|undefined}\n */\n this.next = undefined;\n\n /**\n * Value to write.\n * @type {*}\n */\n this.val = val; // type varies\n}\n\n/* istanbul ignore next */\nfunction noop() {} // eslint-disable-line no-empty-function\n\n/**\n * Constructs a new writer state instance.\n * @classdesc Copied writer state.\n * @memberof Writer\n * @constructor\n * @param {Writer} writer Writer to copy state from\n * @ignore\n */\nfunction State(writer) {\n\n /**\n * Current head.\n * @type {Writer.Op}\n */\n this.head = writer.head;\n\n /**\n * Current tail.\n * @type {Writer.Op}\n */\n this.tail = writer.tail;\n\n /**\n * Current buffer length.\n * @type {number}\n */\n this.len = writer.len;\n\n /**\n * Next state.\n * @type {State|null}\n */\n this.next = writer.states;\n}\n\n/**\n * Constructs a new writer instance.\n * @classdesc Wire format writer using `Uint8Array` if available, otherwise `Array`.\n * @constructor\n */\nfunction Writer() {\n\n /**\n * Current length.\n * @type {number}\n */\n this.len = 0;\n\n /**\n * Operations head.\n * @type {Object}\n */\n this.head = new Op(noop, 0, 0);\n\n /**\n * Operations tail\n * @type {Object}\n */\n this.tail = this.head;\n\n /**\n * Linked forked states.\n * @type {Object|null}\n */\n this.states = null;\n\n // When a value is written, the writer calculates its byte length and puts it into a linked\n // list of operations to perform when finish() is called. This both allows us to allocate\n // buffers of the exact required size and reduces the amount of work we have to do compared\n // to first calculating over objects and then encoding over objects. In our case, the encoding\n // part is just a linked list walk calling operations with already prepared values.\n}\n\nvar create = function create() {\n return util.Buffer\n ? function create_buffer_setup() {\n return (Writer.create = function create_buffer() {\n return new BufferWriter();\n })();\n }\n /* istanbul ignore next */\n : function create_array() {\n return new Writer();\n };\n};\n\n/**\n * Creates a new writer.\n * @function\n * @returns {BufferWriter|Writer} A {@link BufferWriter} when Buffers are supported, otherwise a {@link Writer}\n */\nWriter.create = create();\n\n/**\n * Allocates a buffer of the specified size.\n * @param {number} size Buffer size\n * @returns {Uint8Array} Buffer\n */\nWriter.alloc = function alloc(size) {\n return new util.Array(size);\n};\n\n// Use Uint8Array buffer pool in the browser, just like node does with buffers\n/* istanbul ignore else */\nif (util.Array !== Array)\n Writer.alloc = util.pool(Writer.alloc, util.Array.prototype.subarray);\n\n/**\n * Pushes a new operation to the queue.\n * @param {function(Uint8Array, number, *)} fn Function to call\n * @param {number} len Value byte length\n * @param {number} val Value to write\n * @returns {Writer} `this`\n * @private\n */\nWriter.prototype._push = function push(fn, len, val) {\n this.tail = this.tail.next = new Op(fn, len, val);\n this.len += len;\n return this;\n};\n\nfunction writeByte(val, buf, pos) {\n buf[pos] = val & 255;\n}\n\nfunction writeVarint32(val, buf, pos) {\n while (val > 127) {\n buf[pos++] = val & 127 | 128;\n val >>>= 7;\n }\n buf[pos] = val;\n}\n\n/**\n * Constructs a new varint writer operation instance.\n * @classdesc Scheduled varint writer operation.\n * @extends Op\n * @constructor\n * @param {number} len Value byte length\n * @param {number} val Value to write\n * @ignore\n */\nfunction VarintOp(len, val) {\n this.len = len;\n this.next = undefined;\n this.val = val;\n}\n\nVarintOp.prototype = Object.create(Op.prototype);\nVarintOp.prototype.fn = writeVarint32;\n\n/**\n * Writes an unsigned 32 bit value as a varint.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.uint32 = function write_uint32(value) {\n // here, the call to this.push has been inlined and a varint specific Op subclass is used.\n // uint32 is by far the most frequently used operation and benefits significantly from this.\n this.len += (this.tail = this.tail.next = new VarintOp(\n (value = value >>> 0)\n < 128 ? 1\n : value < 16384 ? 2\n : value < 2097152 ? 3\n : value < 268435456 ? 4\n : 5,\n value)).len;\n return this;\n};\n\n/**\n * Writes a signed 32 bit value as a varint.\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.int32 = function write_int32(value) {\n return value < 0\n ? this._push(writeVarint64, 10, LongBits.fromNumber(value)) // 10 bytes per spec\n : this.uint32(value);\n};\n\n/**\n * Writes a 32 bit value as a varint, zig-zag encoded.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.sint32 = function write_sint32(value) {\n return this.uint32((value << 1 ^ value >> 31) >>> 0);\n};\n\nfunction writeVarint64(val, buf, pos) {\n while (val.hi) {\n buf[pos++] = val.lo & 127 | 128;\n val.lo = (val.lo >>> 7 | val.hi << 25) >>> 0;\n val.hi >>>= 7;\n }\n while (val.lo > 127) {\n buf[pos++] = val.lo & 127 | 128;\n val.lo = val.lo >>> 7;\n }\n buf[pos++] = val.lo;\n}\n\n/**\n * Writes an unsigned 64 bit value as a varint.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.uint64 = function write_uint64(value) {\n var bits = LongBits.from(value);\n return this._push(writeVarint64, bits.length(), bits);\n};\n\n/**\n * Writes a signed 64 bit value as a varint.\n * @function\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.int64 = Writer.prototype.uint64;\n\n/**\n * Writes a signed 64 bit value as a varint, zig-zag encoded.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.sint64 = function write_sint64(value) {\n var bits = LongBits.from(value).zzEncode();\n return this._push(writeVarint64, bits.length(), bits);\n};\n\n/**\n * Writes a boolish value as a varint.\n * @param {boolean} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.bool = function write_bool(value) {\n return this._push(writeByte, 1, value ? 1 : 0);\n};\n\nfunction writeFixed32(val, buf, pos) {\n buf[pos ] = val & 255;\n buf[pos + 1] = val >>> 8 & 255;\n buf[pos + 2] = val >>> 16 & 255;\n buf[pos + 3] = val >>> 24;\n}\n\n/**\n * Writes an unsigned 32 bit value as fixed 32 bits.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.fixed32 = function write_fixed32(value) {\n return this._push(writeFixed32, 4, value >>> 0);\n};\n\n/**\n * Writes a signed 32 bit value as fixed 32 bits.\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.sfixed32 = Writer.prototype.fixed32;\n\n/**\n * Writes an unsigned 64 bit value as fixed 64 bits.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.fixed64 = function write_fixed64(value) {\n var bits = LongBits.from(value);\n return this._push(writeFixed32, 4, bits.lo)._push(writeFixed32, 4, bits.hi);\n};\n\n/**\n * Writes a signed 64 bit value as fixed 64 bits.\n * @function\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.sfixed64 = Writer.prototype.fixed64;\n\n/**\n * Writes a float (32 bit).\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.float = function write_float(value) {\n return this._push(util.float.writeFloatLE, 4, value);\n};\n\n/**\n * Writes a double (64 bit float).\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.double = function write_double(value) {\n return this._push(util.float.writeDoubleLE, 8, value);\n};\n\nvar writeBytes = util.Array.prototype.set\n ? function writeBytes_set(val, buf, pos) {\n buf.set(val, pos); // also works for plain array values\n }\n /* istanbul ignore next */\n : function writeBytes_for(val, buf, pos) {\n for (var i = 0; i < val.length; ++i)\n buf[pos + i] = val[i];\n };\n\n/**\n * Writes a sequence of bytes.\n * @param {Uint8Array|string} value Buffer or base64 encoded string to write\n * @returns {Writer} `this`\n */\nWriter.prototype.bytes = function write_bytes(value) {\n var len = value.length >>> 0;\n if (!len)\n return this._push(writeByte, 1, 0);\n if (util.isString(value)) {\n var buf = Writer.alloc(len = base64.length(value));\n base64.decode(value, buf, 0);\n value = buf;\n }\n return this.uint32(len)._push(writeBytes, len, value);\n};\n\n/**\n * Writes a string.\n * @param {string} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.string = function write_string(value) {\n var len = utf8.length(value);\n return len\n ? this.uint32(len)._push(utf8.write, len, value)\n : this._push(writeByte, 1, 0);\n};\n\n/**\n * Forks this writer's state by pushing it to a stack.\n * Calling {@link Writer#reset|reset} or {@link Writer#ldelim|ldelim} resets the writer to the previous state.\n * @returns {Writer} `this`\n */\nWriter.prototype.fork = function fork() {\n this.states = new State(this);\n this.head = this.tail = new Op(noop, 0, 0);\n this.len = 0;\n return this;\n};\n\n/**\n * Resets this instance to the last state.\n * @returns {Writer} `this`\n */\nWriter.prototype.reset = function reset() {\n if (this.states) {\n this.head = this.states.head;\n this.tail = this.states.tail;\n this.len = this.states.len;\n this.states = this.states.next;\n } else {\n this.head = this.tail = new Op(noop, 0, 0);\n this.len = 0;\n }\n return this;\n};\n\n/**\n * Resets to the last state and appends the fork state's current write length as a varint followed by its operations.\n * @returns {Writer} `this`\n */\nWriter.prototype.ldelim = function ldelim() {\n var head = this.head,\n tail = this.tail,\n len = this.len;\n this.reset().uint32(len);\n if (len) {\n this.tail.next = head.next; // skip noop\n this.tail = tail;\n this.len += len;\n }\n return this;\n};\n\n/**\n * Finishes the write operation.\n * @returns {Uint8Array} Finished buffer\n */\nWriter.prototype.finish = function finish() {\n var head = this.head.next, // skip noop\n buf = this.constructor.alloc(this.len),\n pos = 0;\n while (head) {\n head.fn(head.val, buf, pos);\n pos += head.len;\n head = head.next;\n }\n // this.head = this.tail = null;\n return buf;\n};\n\nWriter._configure = function(BufferWriter_) {\n BufferWriter = BufferWriter_;\n Writer.create = create();\n BufferWriter._configure();\n};\n","\"use strict\";\nmodule.exports = BufferWriter;\n\n// extends Writer\nvar Writer = require(\"./writer\");\n(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new buffer writer instance.\n * @classdesc Wire format writer using node buffers.\n * @extends Writer\n * @constructor\n */\nfunction BufferWriter() {\n Writer.call(this);\n}\n\nBufferWriter._configure = function () {\n /**\n * Allocates a buffer of the specified size.\n * @function\n * @param {number} size Buffer size\n * @returns {Buffer} Buffer\n */\n BufferWriter.alloc = util._Buffer_allocUnsafe;\n\n BufferWriter.writeBytesBuffer = util.Buffer && util.Buffer.prototype instanceof Uint8Array && util.Buffer.prototype.set.name === \"set\"\n ? function writeBytesBuffer_set(val, buf, pos) {\n buf.set(val, pos); // faster than copy (requires node >= 4 where Buffers extend Uint8Array and set is properly inherited)\n // also works for plain array values\n }\n /* istanbul ignore next */\n : function writeBytesBuffer_copy(val, buf, pos) {\n if (val.copy) // Buffer values\n val.copy(buf, pos, 0, val.length);\n else for (var i = 0; i < val.length;) // plain array values\n buf[pos++] = val[i++];\n };\n};\n\n\n/**\n * @override\n */\nBufferWriter.prototype.bytes = function write_bytes_buffer(value) {\n if (util.isString(value))\n value = util._Buffer_from(value, \"base64\");\n var len = value.length >>> 0;\n this.uint32(len);\n if (len)\n this._push(BufferWriter.writeBytesBuffer, len, value);\n return this;\n};\n\nfunction writeStringBuffer(val, buf, pos) {\n if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions)\n util.utf8.write(val, buf, pos);\n else if (buf.utf8Write)\n buf.utf8Write(val, pos);\n else\n buf.write(val, pos);\n}\n\n/**\n * @override\n */\nBufferWriter.prototype.string = function write_string_buffer(value) {\n var len = util.Buffer.byteLength(value);\n this.uint32(len);\n if (len)\n this._push(writeStringBuffer, len, value);\n return this;\n};\n\n\n/**\n * Finishes the write operation.\n * @name BufferWriter#finish\n * @function\n * @returns {Buffer} Finished buffer\n */\n\nBufferWriter._configure();\n","\"use strict\";\nmodule.exports = Reader;\n\nvar util = require(\"./util/minimal\");\n\nvar BufferReader; // cyclic\n\nvar LongBits = util.LongBits,\n utf8 = util.utf8;\n\n/* istanbul ignore next */\nfunction indexOutOfRange(reader, writeLength) {\n return RangeError(\"index out of range: \" + reader.pos + \" + \" + (writeLength || 1) + \" > \" + reader.len);\n}\n\n/**\n * Constructs a new reader instance using the specified buffer.\n * @classdesc Wire format reader using `Uint8Array` if available, otherwise `Array`.\n * @constructor\n * @param {Uint8Array} buffer Buffer to read from\n */\nfunction Reader(buffer) {\n\n /**\n * Read buffer.\n * @type {Uint8Array}\n */\n this.buf = buffer;\n\n /**\n * Read buffer position.\n * @type {number}\n */\n this.pos = 0;\n\n /**\n * Read buffer length.\n * @type {number}\n */\n this.len = buffer.length;\n}\n\nvar create_array = typeof Uint8Array !== \"undefined\"\n ? function create_typed_array(buffer) {\n if (buffer instanceof Uint8Array || Array.isArray(buffer))\n return new Reader(buffer);\n throw Error(\"illegal buffer\");\n }\n /* istanbul ignore next */\n : function create_array(buffer) {\n if (Array.isArray(buffer))\n return new Reader(buffer);\n throw Error(\"illegal buffer\");\n };\n\nvar create = function create() {\n return util.Buffer\n ? function create_buffer_setup(buffer) {\n return (Reader.create = function create_buffer(buffer) {\n return util.Buffer.isBuffer(buffer)\n ? new BufferReader(buffer)\n /* istanbul ignore next */\n : create_array(buffer);\n })(buffer);\n }\n /* istanbul ignore next */\n : create_array;\n};\n\n/**\n * Creates a new reader using the specified buffer.\n * @function\n * @param {Uint8Array|Buffer} buffer Buffer to read from\n * @returns {Reader|BufferReader} A {@link BufferReader} if `buffer` is a Buffer, otherwise a {@link Reader}\n * @throws {Error} If `buffer` is not a valid buffer\n */\nReader.create = create();\n\nReader.prototype._slice = util.Array.prototype.subarray || /* istanbul ignore next */ util.Array.prototype.slice;\n\n/**\n * Reads a varint as an unsigned 32 bit value.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.uint32 = (function read_uint32_setup() {\n var value = 4294967295; // optimizer type-hint, tends to deopt otherwise (?!)\n return function read_uint32() {\n value = ( this.buf[this.pos] & 127 ) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 7) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 14) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 21) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 15) << 28) >>> 0; if (this.buf[this.pos++] < 128) return value;\n\n /* istanbul ignore if */\n if ((this.pos += 5) > this.len) {\n this.pos = this.len;\n throw indexOutOfRange(this, 10);\n }\n return value;\n };\n})();\n\n/**\n * Reads a varint as a signed 32 bit value.\n * @returns {number} Value read\n */\nReader.prototype.int32 = function read_int32() {\n return this.uint32() | 0;\n};\n\n/**\n * Reads a zig-zag encoded varint as a signed 32 bit value.\n * @returns {number} Value read\n */\nReader.prototype.sint32 = function read_sint32() {\n var value = this.uint32();\n return value >>> 1 ^ -(value & 1) | 0;\n};\n\n/* eslint-disable no-invalid-this */\n\nfunction readLongVarint() {\n // tends to deopt with local vars for octet etc.\n var bits = new LongBits(0, 0);\n var i = 0;\n if (this.len - this.pos > 4) { // fast route (lo)\n for (; i < 4; ++i) {\n // 1st..4th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n // 5th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << 28) >>> 0;\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) >> 4) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n i = 0;\n } else {\n for (; i < 3; ++i) {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n // 1st..3th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n // 4th\n bits.lo = (bits.lo | (this.buf[this.pos++] & 127) << i * 7) >>> 0;\n return bits;\n }\n if (this.len - this.pos > 4) { // fast route (hi)\n for (; i < 5; ++i) {\n // 6th..10th\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n } else {\n for (; i < 5; ++i) {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n // 6th..10th\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n }\n /* istanbul ignore next */\n throw Error(\"invalid varint encoding\");\n}\n\n/* eslint-enable no-invalid-this */\n\n/**\n * Reads a varint as a signed 64 bit value.\n * @name Reader#int64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a varint as an unsigned 64 bit value.\n * @name Reader#uint64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a zig-zag encoded varint as a signed 64 bit value.\n * @name Reader#sint64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a varint as a boolean.\n * @returns {boolean} Value read\n */\nReader.prototype.bool = function read_bool() {\n return this.uint32() !== 0;\n};\n\nfunction readFixed32_end(buf, end) { // note that this uses `end`, not `pos`\n return (buf[end - 4]\n | buf[end - 3] << 8\n | buf[end - 2] << 16\n | buf[end - 1] << 24) >>> 0;\n}\n\n/**\n * Reads fixed 32 bits as an unsigned 32 bit integer.\n * @returns {number} Value read\n */\nReader.prototype.fixed32 = function read_fixed32() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n return readFixed32_end(this.buf, this.pos += 4);\n};\n\n/**\n * Reads fixed 32 bits as a signed 32 bit integer.\n * @returns {number} Value read\n */\nReader.prototype.sfixed32 = function read_sfixed32() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n return readFixed32_end(this.buf, this.pos += 4) | 0;\n};\n\n/* eslint-disable no-invalid-this */\n\nfunction readFixed64(/* this: Reader */) {\n\n /* istanbul ignore if */\n if (this.pos + 8 > this.len)\n throw indexOutOfRange(this, 8);\n\n return new LongBits(readFixed32_end(this.buf, this.pos += 4), readFixed32_end(this.buf, this.pos += 4));\n}\n\n/* eslint-enable no-invalid-this */\n\n/**\n * Reads fixed 64 bits.\n * @name Reader#fixed64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads zig-zag encoded fixed 64 bits.\n * @name Reader#sfixed64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a float (32 bit) as a number.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.float = function read_float() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n var value = util.float.readFloatLE(this.buf, this.pos);\n this.pos += 4;\n return value;\n};\n\n/**\n * Reads a double (64 bit float) as a number.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.double = function read_double() {\n\n /* istanbul ignore if */\n if (this.pos + 8 > this.len)\n throw indexOutOfRange(this, 4);\n\n var value = util.float.readDoubleLE(this.buf, this.pos);\n this.pos += 8;\n return value;\n};\n\n/**\n * Reads a sequence of bytes preceeded by its length as a varint.\n * @returns {Uint8Array} Value read\n */\nReader.prototype.bytes = function read_bytes() {\n var length = this.uint32(),\n start = this.pos,\n end = this.pos + length;\n\n /* istanbul ignore if */\n if (end > this.len)\n throw indexOutOfRange(this, length);\n\n this.pos += length;\n if (Array.isArray(this.buf)) // plain array\n return this.buf.slice(start, end);\n\n if (start === end) { // fix for IE 10/Win8 and others' subarray returning array of size 1\n var nativeBuffer = util.Buffer;\n return nativeBuffer\n ? nativeBuffer.alloc(0)\n : new this.buf.constructor(0);\n }\n return this._slice.call(this.buf, start, end);\n};\n\n/**\n * Reads a string preceeded by its byte length as a varint.\n * @returns {string} Value read\n */\nReader.prototype.string = function read_string() {\n var bytes = this.bytes();\n return utf8.read(bytes, 0, bytes.length);\n};\n\n/**\n * Skips the specified number of bytes if specified, otherwise skips a varint.\n * @param {number} [length] Length if known, otherwise a varint is assumed\n * @returns {Reader} `this`\n */\nReader.prototype.skip = function skip(length) {\n if (typeof length === \"number\") {\n /* istanbul ignore if */\n if (this.pos + length > this.len)\n throw indexOutOfRange(this, length);\n this.pos += length;\n } else {\n do {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n } while (this.buf[this.pos++] & 128);\n }\n return this;\n};\n\n/**\n * Skips the next element of the specified wire type.\n * @param {number} wireType Wire type received\n * @returns {Reader} `this`\n */\nReader.prototype.skipType = function(wireType) {\n switch (wireType) {\n case 0:\n this.skip();\n break;\n case 1:\n this.skip(8);\n break;\n case 2:\n this.skip(this.uint32());\n break;\n case 3:\n while ((wireType = this.uint32() & 7) !== 4) {\n this.skipType(wireType);\n }\n break;\n case 5:\n this.skip(4);\n break;\n\n /* istanbul ignore next */\n default:\n throw Error(\"invalid wire type \" + wireType + \" at offset \" + this.pos);\n }\n return this;\n};\n\nReader._configure = function(BufferReader_) {\n BufferReader = BufferReader_;\n Reader.create = create();\n BufferReader._configure();\n\n var fn = util.Long ? \"toLong\" : /* istanbul ignore next */ \"toNumber\";\n util.merge(Reader.prototype, {\n\n int64: function read_int64() {\n return readLongVarint.call(this)[fn](false);\n },\n\n uint64: function read_uint64() {\n return readLongVarint.call(this)[fn](true);\n },\n\n sint64: function read_sint64() {\n return readLongVarint.call(this).zzDecode()[fn](false);\n },\n\n fixed64: function read_fixed64() {\n return readFixed64.call(this)[fn](true);\n },\n\n sfixed64: function read_sfixed64() {\n return readFixed64.call(this)[fn](false);\n }\n\n });\n};\n","\"use strict\";\nmodule.exports = BufferReader;\n\n// extends Reader\nvar Reader = require(\"./reader\");\n(BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new buffer reader instance.\n * @classdesc Wire format reader using node buffers.\n * @extends Reader\n * @constructor\n * @param {Buffer} buffer Buffer to read from\n */\nfunction BufferReader(buffer) {\n Reader.call(this, buffer);\n\n /**\n * Read buffer.\n * @name BufferReader#buf\n * @type {Buffer}\n */\n}\n\nBufferReader._configure = function () {\n /* istanbul ignore else */\n if (util.Buffer)\n BufferReader.prototype._slice = util.Buffer.prototype.slice;\n};\n\n\n/**\n * @override\n */\nBufferReader.prototype.string = function read_string_buffer() {\n var len = this.uint32(); // modifies pos\n return this.buf.utf8Slice\n ? this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len))\n : this.buf.toString(\"utf-8\", this.pos, this.pos = Math.min(this.pos + len, this.len));\n};\n\n/**\n * Reads a sequence of bytes preceeded by its length as a varint.\n * @name BufferReader#bytes\n * @function\n * @returns {Buffer} Value read\n */\n\nBufferReader._configure();\n","\"use strict\";\nmodule.exports = Service;\n\nvar util = require(\"../util/minimal\");\n\n// Extends EventEmitter\n(Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;\n\n/**\n * A service method callback as used by {@link rpc.ServiceMethod|ServiceMethod}.\n *\n * Differs from {@link RPCImplCallback} in that it is an actual callback of a service method which may not return `response = null`.\n * @typedef rpc.ServiceMethodCallback\n * @template TRes extends Message<TRes>\n * @type {function}\n * @param {Error|null} error Error, if any\n * @param {TRes} [response] Response message\n * @returns {undefined}\n */\n\n/**\n * A service method part of a {@link rpc.Service} as created by {@link Service.create}.\n * @typedef rpc.ServiceMethod\n * @template TReq extends Message<TReq>\n * @template TRes extends Message<TRes>\n * @type {function}\n * @param {TReq|Properties<TReq>} request Request message or plain object\n * @param {rpc.ServiceMethodCallback<TRes>} [callback] Node-style callback called with the error, if any, and the response message\n * @returns {Promise<Message<TRes>>} Promise if `callback` has been omitted, otherwise `undefined`\n */\n\n/**\n * Constructs a new RPC service instance.\n * @classdesc An RPC service as returned by {@link Service#create}.\n * @exports rpc.Service\n * @extends util.EventEmitter\n * @constructor\n * @param {RPCImpl} rpcImpl RPC implementation\n * @param {boolean} [requestDelimited=false] Whether requests are length-delimited\n * @param {boolean} [responseDelimited=false] Whether responses are length-delimited\n */\nfunction Service(rpcImpl, requestDelimited, responseDelimited) {\n\n if (typeof rpcImpl !== \"function\")\n throw TypeError(\"rpcImpl must be a function\");\n\n util.EventEmitter.call(this);\n\n /**\n * RPC implementation. Becomes `null` once the service is ended.\n * @type {RPCImpl|null}\n */\n this.rpcImpl = rpcImpl;\n\n /**\n * Whether requests are length-delimited.\n * @type {boolean}\n */\n this.requestDelimited = Boolean(requestDelimited);\n\n /**\n * Whether responses are length-delimited.\n * @type {boolean}\n */\n this.responseDelimited = Boolean(responseDelimited);\n}\n\n/**\n * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}.\n * @param {Method|rpc.ServiceMethod<TReq,TRes>} method Reflected or static method\n * @param {Constructor<TReq>} requestCtor Request constructor\n * @param {Constructor<TRes>} responseCtor Response constructor\n * @param {TReq|Properties<TReq>} request Request message or plain object\n * @param {rpc.ServiceMethodCallback<TRes>} callback Service callback\n * @returns {undefined}\n * @template TReq extends Message<TReq>\n * @template TRes extends Message<TRes>\n */\nService.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {\n\n if (!request)\n throw TypeError(\"request must be specified\");\n\n var self = this;\n if (!callback)\n return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);\n\n if (!self.rpcImpl) {\n setTimeout(function() { callback(Error(\"already ended\")); }, 0);\n return undefined;\n }\n\n try {\n return self.rpcImpl(\n method,\n requestCtor[self.requestDelimited ? \"encodeDelimited\" : \"encode\"](request).finish(),\n function rpcCallback(err, response) {\n\n if (err) {\n self.emit(\"error\", err, method);\n return callback(err);\n }\n\n if (response === null) {\n self.end(/* endedByRPC */ true);\n return undefined;\n }\n\n if (!(response instanceof responseCtor)) {\n try {\n response = responseCtor[self.responseDelimited ? \"decodeDelimited\" : \"decode\"](response);\n } catch (err) {\n self.emit(\"error\", err, method);\n return callback(err);\n }\n }\n\n self.emit(\"data\", response, method);\n return callback(null, response);\n }\n );\n } catch (err) {\n self.emit(\"error\", err, method);\n setTimeout(function() { callback(err); }, 0);\n return undefined;\n }\n};\n\n/**\n * Ends this service and emits the `end` event.\n * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation.\n * @returns {rpc.Service} `this`\n */\nService.prototype.end = function end(endedByRPC) {\n if (this.rpcImpl) {\n if (!endedByRPC) // signal end to rpcImpl\n this.rpcImpl(null, null, null);\n this.rpcImpl = null;\n this.emit(\"end\").off();\n }\n return this;\n};\n","\"use strict\";\n\n/**\n * Streaming RPC helpers.\n * @namespace\n */\nvar rpc = exports;\n\n/**\n * RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets.\n * @typedef RPCImpl\n * @type {function}\n * @param {Method|rpc.ServiceMethod<Message<{}>,Message<{}>>} method Reflected or static method being called\n * @param {Uint8Array} requestData Request data\n * @param {RPCImplCallback} callback Callback function\n * @returns {undefined}\n * @example\n * function rpcImpl(method, requestData, callback) {\n * if (protobuf.util.lcFirst(method.name) !== \"myMethod\") // compatible with static code\n * throw Error(\"no such method\");\n * asynchronouslyObtainAResponse(requestData, function(err, responseData) {\n * callback(err, responseData);\n * });\n * }\n */\n\n/**\n * Node-style callback as used by {@link RPCImpl}.\n * @typedef RPCImplCallback\n * @type {function}\n * @param {Error|null} error Error, if any, otherwise `null`\n * @param {Uint8Array|null} [response] Response data or `null` to signal end of stream, if there hasn't been an error\n * @returns {undefined}\n */\n\nrpc.Service = require(\"./rpc/service\");\n","\"use strict\";\nmodule.exports = {};\n\n/**\n * Named roots.\n * This is where pbjs stores generated structures (the option `-r, --root` specifies a name).\n * Can also be used manually to make roots available across modules.\n * @name roots\n * @type {Object.<string,Root>}\n * @example\n * // pbjs -r myroot -o compiled.js ...\n *\n * // in another module:\n * require(\"./compiled.js\");\n *\n * // in any subsequent module:\n * var root = protobuf.roots[\"myroot\"];\n */\n","\"use strict\";\nvar protobuf = exports;\n\n/**\n * Build type, one of `\"full\"`, `\"light\"` or `\"minimal\"`.\n * @name build\n * @type {string}\n * @const\n */\nprotobuf.build = \"minimal\";\n\n// Serialization\nprotobuf.Writer = require(\"./writer\");\nprotobuf.BufferWriter = require(\"./writer_buffer\");\nprotobuf.Reader = require(\"./reader\");\nprotobuf.BufferReader = require(\"./reader_buffer\");\n\n// Utility\nprotobuf.util = require(\"./util/minimal\");\nprotobuf.rpc = require(\"./rpc\");\nprotobuf.roots = require(\"./roots\");\nprotobuf.configure = configure;\n\n/* istanbul ignore next */\n/**\n * Reconfigures the library according to the environment.\n * @returns {undefined}\n */\nfunction configure() {\n protobuf.util._configure();\n protobuf.Writer._configure(protobuf.BufferWriter);\n protobuf.Reader._configure(protobuf.BufferReader);\n}\n\n// Set up buffer utility according to the environment\nconfigure();\n","// minimal library entry point.\n\n\"use strict\";\nmodule.exports = require(\"./src/index-minimal\");\n","/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/\nimport * as $protobuf from \"protobufjs/minimal\";\n\n// Common aliases\nconst $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;\n\n// Exported root namespace\nconst $root = $protobuf.roots[\"default\"] || ($protobuf.roots[\"default\"] = {});\n\nexport const UpstreamMessage = $root.UpstreamMessage = (() => {\n\n /**\n * Properties of an UpstreamMessage.\n * @exports IUpstreamMessage\n * @interface IUpstreamMessage\n * @property {UpstreamMessage.ISendToGroupMessage|null} [sendToGroupMessage] UpstreamMessage sendToGroupMessage\n * @property {UpstreamMessage.IEventMessage|null} [eventMessage] UpstreamMessage eventMessage\n * @property {UpstreamMessage.IJoinGroupMessage|null} [joinGroupMessage] UpstreamMessage joinGroupMessage\n * @property {UpstreamMessage.ILeaveGroupMessage|null} [leaveGroupMessage] UpstreamMessage leaveGroupMessage\n * @property {UpstreamMessage.ISequenceAckMessage|null} [sequenceAckMessage] UpstreamMessage sequenceAckMessage\n */\n\n /**\n * Constructs a new UpstreamMessage.\n * @exports UpstreamMessage\n * @classdesc Represents an UpstreamMessage.\n * @implements IUpstreamMessage\n * @constructor\n * @param {IUpstreamMessage=} [properties] Properties to set\n */\n function UpstreamMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * UpstreamMessage sendToGroupMessage.\n * @member {UpstreamMessage.ISendToGroupMessage|null|undefined} sendToGroupMessage\n * @memberof UpstreamMessage\n * @instance\n */\n UpstreamMessage.prototype.sendToGroupMessage = null;\n\n /**\n * UpstreamMessage eventMessage.\n * @member {UpstreamMessage.IEventMessage|null|undefined} eventMessage\n * @memberof UpstreamMessage\n * @instance\n */\n UpstreamMessage.prototype.eventMessage = null;\n\n /**\n * UpstreamMessage joinGroupMessage.\n * @member {UpstreamMessage.IJoinGroupMessage|null|undefined} joinGroupMessage\n * @memberof UpstreamMessage\n * @instance\n */\n UpstreamMessage.prototype.joinGroupMessage = null;\n\n /**\n * UpstreamMessage leaveGroupMessage.\n * @member {UpstreamMessage.ILeaveGroupMessage|null|undefined} leaveGroupMessage\n * @memberof UpstreamMessage\n * @instance\n */\n UpstreamMessage.prototype.leaveGroupMessage = null;\n\n /**\n * UpstreamMessage sequenceAckMessage.\n * @member {UpstreamMessage.ISequenceAckMessage|null|undefined} sequenceAckMessage\n * @memberof UpstreamMessage\n * @instance\n */\n UpstreamMessage.prototype.sequenceAckMessage = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * UpstreamMessage message.\n * @member {\"sendToGroupMessage\"|\"eventMessage\"|\"joinGroupMessage\"|\"leaveGroupMessage\"|\"sequenceAckMessage\"|undefined} message\n * @memberof UpstreamMessage\n * @instance\n */\n Object.defineProperty(UpstreamMessage.prototype, \"message\", {\n get: $util.oneOfGetter($oneOfFields = [\"sendToGroupMessage\", \"eventMessage\", \"joinGroupMessage\", \"leaveGroupMessage\", \"sequenceAckMessage\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new UpstreamMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage\n * @static\n * @param {IUpstreamMessage=} [properties] Properties to set\n * @returns {UpstreamMessage} UpstreamMessage instance\n */\n UpstreamMessage.create = function create(properties) {\n return new UpstreamMessage(properties);\n };\n\n /**\n * Encodes the specified UpstreamMessage message. Does not implicitly {@link UpstreamMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage\n * @static\n * @param {IUpstreamMessage} message UpstreamMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n UpstreamMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.sendToGroupMessage != null && Object.hasOwnProperty.call(message, \"sendToGroupMessage\"))\n $root.UpstreamMessage.SendToGroupMessage.encode(message.sendToGroupMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\n if (message.eventMessage != null && Object.hasOwnProperty.call(message, \"eventMessage\"))\n $root.UpstreamMessage.EventMessage.encode(message.eventMessage, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();\n if (message.joinGroupMessage != null && Object.hasOwnProperty.call(message, \"joinGroupMessage\"))\n $root.UpstreamMessage.JoinGroupMessage.encode(message.joinGroupMessage, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();\n if (message.leaveGroupMessage != null && Object.hasOwnProperty.call(message, \"leaveGroupMessage\"))\n $root.UpstreamMessage.LeaveGroupMessage.encode(message.leaveGroupMessage, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();\n if (message.sequenceAckMessage != null && Object.hasOwnProperty.call(message, \"sequenceAckMessage\"))\n $root.UpstreamMessage.SequenceAckMessage.encode(message.sequenceAckMessage, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();\n return writer;\n };\n\n /**\n * Encodes the specified UpstreamMessage message, length delimited. Does not implicitly {@link UpstreamMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage\n * @static\n * @param {IUpstreamMessage} message UpstreamMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n UpstreamMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes an UpstreamMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage} UpstreamMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n UpstreamMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.sendToGroupMessage = $root.UpstreamMessage.SendToGroupMessage.decode(reader, reader.uint32());\n break;\n }\n case 5: {\n message.eventMessage = $root.UpstreamMessage.EventMessage.decode(reader, reader.uint32());\n break;\n }\n case 6: {\n message.joinGroupMessage = $root.UpstreamMessage.JoinGroupMessage.decode(reader, reader.uint32());\n break;\n }\n case 7: {\n message.leaveGroupMessage = $root.UpstreamMessage.LeaveGroupMessage.decode(reader, reader.uint32());\n break;\n }\n case 8: {\n message.sequenceAckMessage = $root.UpstreamMessage.SequenceAckMessage.decode(reader, reader.uint32());\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes an UpstreamMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage} UpstreamMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n UpstreamMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies an UpstreamMessage message.\n * @function verify\n * @memberof UpstreamMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n UpstreamMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.sendToGroupMessage != null && message.hasOwnProperty(\"sendToGroupMessage\")) {\n properties.message = 1;\n {\n let error = $root.UpstreamMessage.SendToGroupMessage.verify(message.sendToGroupMessage);\n if (error)\n return \"sendToGroupMessage.\" + error;\n }\n }\n if (message.eventMessage != null && message.hasOwnProperty(\"eventMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.UpstreamMessage.EventMessage.verify(message.eventMessage);\n if (error)\n return \"eventMessage.\" + error;\n }\n }\n if (message.joinGroupMessage != null && message.hasOwnProperty(\"joinGroupMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.UpstreamMessage.JoinGroupMessage.verify(message.joinGroupMessage);\n if (error)\n return \"joinGroupMessage.\" + error;\n }\n }\n if (message.leaveGroupMessage != null && message.hasOwnProperty(\"leaveGroupMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.UpstreamMessage.LeaveGroupMessage.verify(message.leaveGroupMessage);\n if (error)\n return \"leaveGroupMessage.\" + error;\n }\n }\n if (message.sequenceAckMessage != null && message.hasOwnProperty(\"sequenceAckMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.UpstreamMessage.SequenceAckMessage.verify(message.sequenceAckMessage);\n if (error)\n return \"sequenceAckMessage.\" + error;\n }\n }\n return null;\n };\n\n /**\n * Creates an UpstreamMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage} UpstreamMessage\n */\n UpstreamMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage)\n return object;\n let message = new $root.UpstreamMessage();\n if (object.sendToGroupMessage != null) {\n if (typeof object.sendToGroupMessage !== \"object\")\n throw TypeError(\".UpstreamMessage.sendToGroupMessage: object expected\");\n message.sendToGroupMessage = $root.UpstreamMessage.SendToGroupMessage.fromObject(object.sendToGroupMessage);\n }\n if (object.eventMessage != null) {\n if (typeof object.eventMessage !== \"object\")\n throw TypeError(\".UpstreamMessage.eventMessage: object expected\");\n message.eventMessage = $root.UpstreamMessage.EventMessage.fromObject(object.eventMessage);\n }\n if (object.joinGroupMessage != null) {\n if (typeof object.joinGroupMessage !== \"object\")\n throw TypeError(\".UpstreamMessage.joinGroupMessage: object expected\");\n message.joinGroupMessage = $root.UpstreamMessage.JoinGroupMessage.fromObject(object.joinGroupMessage);\n }\n if (object.leaveGroupMessage != null) {\n if (typeof object.leaveGroupMessage !== \"object\")\n throw TypeError(\".UpstreamMessage.leaveGroupMessage: object expected\");\n message.leaveGroupMessage = $root.UpstreamMessage.LeaveGroupMessage.fromObject(object.leaveGroupMessage);\n }\n if (object.sequenceAckMessage != null) {\n if (typeof object.sequenceAckMessage !== \"object\")\n throw TypeError(\".UpstreamMessage.sequenceAckMessage: object expected\");\n message.sequenceAckMessage = $root.UpstreamMessage.SequenceAckMessage.fromObject(object.sequenceAckMessage);\n }\n return message;\n };\n\n /**\n * Creates a plain object from an UpstreamMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage\n * @static\n * @param {UpstreamMessage} message UpstreamMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n UpstreamMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (message.sendToGroupMessage != null && message.hasOwnProperty(\"sendToGroupMessage\")) {\n object.sendToGroupMessage = $root.UpstreamMessage.SendToGroupMessage.toObject(message.sendToGroupMessage, options);\n if (options.oneofs)\n object.message = \"sendToGroupMessage\";\n }\n if (message.eventMessage != null && message.hasOwnProperty(\"eventMessage\")) {\n object.eventMessage = $root.UpstreamMessage.EventMessage.toObject(message.eventMessage, options);\n if (options.oneofs)\n object.message = \"eventMessage\";\n }\n if (message.joinGroupMessage != null && message.hasOwnProperty(\"joinGroupMessage\")) {\n object.joinGroupMessage = $root.UpstreamMessage.JoinGroupMessage.toObject(message.joinGroupMessage, options);\n if (options.oneofs)\n object.message = \"joinGroupMessage\";\n }\n if (message.leaveGroupMessage != null && message.hasOwnProperty(\"leaveGroupMessage\")) {\n object.leaveGroupMessage = $root.UpstreamMessage.LeaveGroupMessage.toObject(message.leaveGroupMessage, options);\n if (options.oneofs)\n object.message = \"leaveGroupMessage\";\n }\n if (message.sequenceAckMessage != null && message.hasOwnProperty(\"sequenceAckMessage\")) {\n object.sequenceAckMessage = $root.UpstreamMessage.SequenceAckMessage.toObject(message.sequenceAckMessage, options);\n if (options.oneofs)\n object.message = \"sequenceAckMessage\";\n }\n return object;\n };\n\n /**\n * Converts this UpstreamMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n UpstreamMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for UpstreamMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n UpstreamMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage\";\n };\n\n UpstreamMessage.SendToGroupMessage = (function() {\n\n /**\n * Properties of a SendToGroupMessage.\n * @memberof UpstreamMessage\n * @interface ISendToGroupMessage\n * @property {string|null} [group] SendToGroupMessage group\n * @property {number|Long|null} [ackId] SendToGroupMessage ackId\n * @property {IMessageData|null} [data] SendToGroupMessage data\n * @property {boolean|null} [noEcho] SendToGroupMessage noEcho\n */\n\n /**\n * Constructs a new SendToGroupMessage.\n * @memberof UpstreamMessage\n * @classdesc Represents a SendToGroupMessage.\n * @implements ISendToGroupMessage\n * @constructor\n * @param {UpstreamMessage.ISendToGroupMessage=} [properties] Properties to set\n */\n function SendToGroupMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * SendToGroupMessage group.\n * @member {string} group\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n SendToGroupMessage.prototype.group = \"\";\n\n /**\n * SendToGroupMessage ackId.\n * @member {number|Long|null|undefined} ackId\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n SendToGroupMessage.prototype.ackId = null;\n\n /**\n * SendToGroupMessage data.\n * @member {IMessageData|null|undefined} data\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n SendToGroupMessage.prototype.data = null;\n\n /**\n * SendToGroupMessage noEcho.\n * @member {boolean|null|undefined} noEcho\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n SendToGroupMessage.prototype.noEcho = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * SendToGroupMessage _ackId.\n * @member {\"ackId\"|undefined} _ackId\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n Object.defineProperty(SendToGroupMessage.prototype, \"_ackId\", {\n get: $util.oneOfGetter($oneOfFields = [\"ackId\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * SendToGroupMessage _noEcho.\n * @member {\"noEcho\"|undefined} _noEcho\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n */\n Object.defineProperty(SendToGroupMessage.prototype, \"_noEcho\", {\n get: $util.oneOfGetter($oneOfFields = [\"noEcho\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new SendToGroupMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {UpstreamMessage.ISendToGroupMessage=} [properties] Properties to set\n * @returns {UpstreamMessage.SendToGroupMessage} SendToGroupMessage instance\n */\n SendToGroupMessage.create = function create(properties) {\n return new SendToGroupMessage(properties);\n };\n\n /**\n * Encodes the specified SendToGroupMessage message. Does not implicitly {@link UpstreamMessage.SendToGroupMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {UpstreamMessage.ISendToGroupMessage} message SendToGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SendToGroupMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.group != null && Object.hasOwnProperty.call(message, \"group\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.group);\n if (message.ackId != null && Object.hasOwnProperty.call(message, \"ackId\"))\n writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.ackId);\n if (message.data != null && Object.hasOwnProperty.call(message, \"data\"))\n $root.MessageData.encode(message.data, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\n if (message.noEcho != null && Object.hasOwnProperty.call(message, \"noEcho\"))\n writer.uint32(/* id 4, wireType 0 =*/32).bool(message.noEcho);\n return writer;\n };\n\n /**\n * Encodes the specified SendToGroupMessage message, length delimited. Does not implicitly {@link UpstreamMessage.SendToGroupMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {UpstreamMessage.ISendToGroupMessage} message SendToGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SendToGroupMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a SendToGroupMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage.SendToGroupMessage} SendToGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SendToGroupMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage.SendToGroupMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.group = reader.string();\n break;\n }\n case 2: {\n message.ackId = reader.uint64();\n break;\n }\n case 3: {\n message.data = $root.MessageData.decode(reader, reader.uint32());\n break;\n }\n case 4: {\n message.noEcho = reader.bool();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a SendToGroupMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage.SendToGroupMessage} SendToGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SendToGroupMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a SendToGroupMessage message.\n * @function verify\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n SendToGroupMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.group != null && message.hasOwnProperty(\"group\"))\n if (!$util.isString(message.group))\n return \"group: string expected\";\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n properties._ackId = 1;\n if (!$util.isInteger(message.ackId) && !(message.ackId && $util.isInteger(message.ackId.low) && $util.isInteger(message.ackId.high)))\n return \"ackId: integer|Long expected\";\n }\n if (message.data != null && message.hasOwnProperty(\"data\")) {\n let error = $root.MessageData.verify(message.data);\n if (error)\n return \"data.\" + error;\n }\n if (message.noEcho != null && message.hasOwnProperty(\"noEcho\")) {\n properties._noEcho = 1;\n if (typeof message.noEcho !== \"boolean\")\n return \"noEcho: boolean expected\";\n }\n return null;\n };\n\n /**\n * Creates a SendToGroupMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage.SendToGroupMessage} SendToGroupMessage\n */\n SendToGroupMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage.SendToGroupMessage)\n return object;\n let message = new $root.UpstreamMessage.SendToGroupMessage();\n if (object.group != null)\n message.group = String(object.group);\n if (object.ackId != null)\n if ($util.Long)\n (message.ackId = $util.Long.fromValue(object.ackId)).unsigned = true;\n else if (typeof object.ackId === \"string\")\n message.ackId = parseInt(object.ackId, 10);\n else if (typeof object.ackId === \"number\")\n message.ackId = object.ackId;\n else if (typeof object.ackId === \"object\")\n message.ackId = new $util.LongBits(object.ackId.low >>> 0, object.ackId.high >>> 0).toNumber(true);\n if (object.data != null) {\n if (typeof object.data !== \"object\")\n throw TypeError(\".UpstreamMessage.SendToGroupMessage.data: object expected\");\n message.data = $root.MessageData.fromObject(object.data);\n }\n if (object.noEcho != null)\n message.noEcho = Boolean(object.noEcho);\n return message;\n };\n\n /**\n * Creates a plain object from a SendToGroupMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {UpstreamMessage.SendToGroupMessage} message SendToGroupMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n SendToGroupMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.group = \"\";\n object.data = null;\n }\n if (message.group != null && message.hasOwnProperty(\"group\"))\n object.group = message.group;\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n if (typeof message.ackId === \"number\")\n object.ackId = options.longs === String ? String(message.ackId) : message.ackId;\n else\n object.ackId = options.longs === String ? $util.Long.prototype.toString.call(message.ackId) : options.longs === Number ? new $util.LongBits(message.ackId.low >>> 0, message.ackId.high >>> 0).toNumber(true) : message.ackId;\n if (options.oneofs)\n object._ackId = \"ackId\";\n }\n if (message.data != null && message.hasOwnProperty(\"data\"))\n object.data = $root.MessageData.toObject(message.data, options);\n if (message.noEcho != null && message.hasOwnProperty(\"noEcho\")) {\n object.noEcho = message.noEcho;\n if (options.oneofs)\n object._noEcho = \"noEcho\";\n }\n return object;\n };\n\n /**\n * Converts this SendToGroupMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage.SendToGroupMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n SendToGroupMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for SendToGroupMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage.SendToGroupMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n SendToGroupMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage.SendToGroupMessage\";\n };\n\n return SendToGroupMessage;\n })();\n\n UpstreamMessage.EventMessage = (function() {\n\n /**\n * Properties of an EventMessage.\n * @memberof UpstreamMessage\n * @interface IEventMessage\n * @property {string|null} [event] EventMessage event\n * @property {IMessageData|null} [data] EventMessage data\n * @property {number|Long|null} [ackId] EventMessage ackId\n */\n\n /**\n * Constructs a new EventMessage.\n * @memberof UpstreamMessage\n * @classdesc Represents an EventMessage.\n * @implements IEventMessage\n * @constructor\n * @param {UpstreamMessage.IEventMessage=} [properties] Properties to set\n */\n function EventMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * EventMessage event.\n * @member {string} event\n * @memberof UpstreamMessage.EventMessage\n * @instance\n */\n EventMessage.prototype.event = \"\";\n\n /**\n * EventMessage data.\n * @member {IMessageData|null|undefined} data\n * @memberof UpstreamMessage.EventMessage\n * @instance\n */\n EventMessage.prototype.data = null;\n\n /**\n * EventMessage ackId.\n * @member {number|Long|null|undefined} ackId\n * @memberof UpstreamMessage.EventMessage\n * @instance\n */\n EventMessage.prototype.ackId = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * EventMessage _ackId.\n * @member {\"ackId\"|undefined} _ackId\n * @memberof UpstreamMessage.EventMessage\n * @instance\n */\n Object.defineProperty(EventMessage.prototype, \"_ackId\", {\n get: $util.oneOfGetter($oneOfFields = [\"ackId\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new EventMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {UpstreamMessage.IEventMessage=} [properties] Properties to set\n * @returns {UpstreamMessage.EventMessage} EventMessage instance\n */\n EventMessage.create = function create(properties) {\n return new EventMessage(properties);\n };\n\n /**\n * Encodes the specified EventMessage message. Does not implicitly {@link UpstreamMessage.EventMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {UpstreamMessage.IEventMessage} message EventMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n EventMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.event != null && Object.hasOwnProperty.call(message, \"event\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.event);\n if (message.data != null && Object.hasOwnProperty.call(message, \"data\"))\n $root.MessageData.encode(message.data, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\n if (message.ackId != null && Object.hasOwnProperty.call(message, \"ackId\"))\n writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.ackId);\n return writer;\n };\n\n /**\n * Encodes the specified EventMessage message, length delimited. Does not implicitly {@link UpstreamMessage.EventMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {UpstreamMessage.IEventMessage} message EventMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n EventMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes an EventMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage.EventMessage} EventMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n EventMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage.EventMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.event = reader.string();\n break;\n }\n case 2: {\n message.data = $root.MessageData.decode(reader, reader.uint32());\n break;\n }\n case 3: {\n message.ackId = reader.uint64();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes an EventMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage.EventMessage} EventMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n EventMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies an EventMessage message.\n * @function verify\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n EventMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.event != null && message.hasOwnProperty(\"event\"))\n if (!$util.isString(message.event))\n return \"event: string expected\";\n if (message.data != null && message.hasOwnProperty(\"data\")) {\n let error = $root.MessageData.verify(message.data);\n if (error)\n return \"data.\" + error;\n }\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n properties._ackId = 1;\n if (!$util.isInteger(message.ackId) && !(message.ackId && $util.isInteger(message.ackId.low) && $util.isInteger(message.ackId.high)))\n return \"ackId: integer|Long expected\";\n }\n return null;\n };\n\n /**\n * Creates an EventMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage.EventMessage} EventMessage\n */\n EventMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage.EventMessage)\n return object;\n let message = new $root.UpstreamMessage.EventMessage();\n if (object.event != null)\n message.event = String(object.event);\n if (object.data != null) {\n if (typeof object.data !== \"object\")\n throw TypeError(\".UpstreamMessage.EventMessage.data: object expected\");\n message.data = $root.MessageData.fromObject(object.data);\n }\n if (object.ackId != null)\n if ($util.Long)\n (message.ackId = $util.Long.fromValue(object.ackId)).unsigned = true;\n else if (typeof object.ackId === \"string\")\n message.ackId = parseInt(object.ackId, 10);\n else if (typeof object.ackId === \"number\")\n message.ackId = object.ackId;\n else if (typeof object.ackId === \"object\")\n message.ackId = new $util.LongBits(object.ackId.low >>> 0, object.ackId.high >>> 0).toNumber(true);\n return message;\n };\n\n /**\n * Creates a plain object from an EventMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {UpstreamMessage.EventMessage} message EventMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n EventMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.event = \"\";\n object.data = null;\n }\n if (message.event != null && message.hasOwnProperty(\"event\"))\n object.event = message.event;\n if (message.data != null && message.hasOwnProperty(\"data\"))\n object.data = $root.MessageData.toObject(message.data, options);\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n if (typeof message.ackId === \"number\")\n object.ackId = options.longs === String ? String(message.ackId) : message.ackId;\n else\n object.ackId = options.longs === String ? $util.Long.prototype.toString.call(message.ackId) : options.longs === Number ? new $util.LongBits(message.ackId.low >>> 0, message.ackId.high >>> 0).toNumber(true) : message.ackId;\n if (options.oneofs)\n object._ackId = \"ackId\";\n }\n return object;\n };\n\n /**\n * Converts this EventMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage.EventMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n EventMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for EventMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage.EventMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n EventMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage.EventMessage\";\n };\n\n return EventMessage;\n })();\n\n UpstreamMessage.JoinGroupMessage = (function() {\n\n /**\n * Properties of a JoinGroupMessage.\n * @memberof UpstreamMessage\n * @interface IJoinGroupMessage\n * @property {string|null} [group] JoinGroupMessage group\n * @property {number|Long|null} [ackId] JoinGroupMessage ackId\n */\n\n /**\n * Constructs a new JoinGroupMessage.\n * @memberof UpstreamMessage\n * @classdesc Represents a JoinGroupMessage.\n * @implements IJoinGroupMessage\n * @constructor\n * @param {UpstreamMessage.IJoinGroupMessage=} [properties] Properties to set\n */\n function JoinGroupMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * JoinGroupMessage group.\n * @member {string} group\n * @memberof UpstreamMessage.JoinGroupMessage\n * @instance\n */\n JoinGroupMessage.prototype.group = \"\";\n\n /**\n * JoinGroupMessage ackId.\n * @member {number|Long|null|undefined} ackId\n * @memberof UpstreamMessage.JoinGroupMessage\n * @instance\n */\n JoinGroupMessage.prototype.ackId = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * JoinGroupMessage _ackId.\n * @member {\"ackId\"|undefined} _ackId\n * @memberof UpstreamMessage.JoinGroupMessage\n * @instance\n */\n Object.defineProperty(JoinGroupMessage.prototype, \"_ackId\", {\n get: $util.oneOfGetter($oneOfFields = [\"ackId\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new JoinGroupMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {UpstreamMessage.IJoinGroupMessage=} [properties] Properties to set\n * @returns {UpstreamMessage.JoinGroupMessage} JoinGroupMessage instance\n */\n JoinGroupMessage.create = function create(properties) {\n return new JoinGroupMessage(properties);\n };\n\n /**\n * Encodes the specified JoinGroupMessage message. Does not implicitly {@link UpstreamMessage.JoinGroupMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {UpstreamMessage.IJoinGroupMessage} message JoinGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n JoinGroupMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.group != null && Object.hasOwnProperty.call(message, \"group\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.group);\n if (message.ackId != null && Object.hasOwnProperty.call(message, \"ackId\"))\n writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.ackId);\n return writer;\n };\n\n /**\n * Encodes the specified JoinGroupMessage message, length delimited. Does not implicitly {@link UpstreamMessage.JoinGroupMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {UpstreamMessage.IJoinGroupMessage} message JoinGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n JoinGroupMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a JoinGroupMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage.JoinGroupMessage} JoinGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n JoinGroupMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage.JoinGroupMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.group = reader.string();\n break;\n }\n case 2: {\n message.ackId = reader.uint64();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a JoinGroupMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage.JoinGroupMessage} JoinGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n JoinGroupMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a JoinGroupMessage message.\n * @function verify\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n JoinGroupMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.group != null && message.hasOwnProperty(\"group\"))\n if (!$util.isString(message.group))\n return \"group: string expected\";\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n properties._ackId = 1;\n if (!$util.isInteger(message.ackId) && !(message.ackId && $util.isInteger(message.ackId.low) && $util.isInteger(message.ackId.high)))\n return \"ackId: integer|Long expected\";\n }\n return null;\n };\n\n /**\n * Creates a JoinGroupMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage.JoinGroupMessage} JoinGroupMessage\n */\n JoinGroupMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage.JoinGroupMessage)\n return object;\n let message = new $root.UpstreamMessage.JoinGroupMessage();\n if (object.group != null)\n message.group = String(object.group);\n if (object.ackId != null)\n if ($util.Long)\n (message.ackId = $util.Long.fromValue(object.ackId)).unsigned = true;\n else if (typeof object.ackId === \"string\")\n message.ackId = parseInt(object.ackId, 10);\n else if (typeof object.ackId === \"number\")\n message.ackId = object.ackId;\n else if (typeof object.ackId === \"object\")\n message.ackId = new $util.LongBits(object.ackId.low >>> 0, object.ackId.high >>> 0).toNumber(true);\n return message;\n };\n\n /**\n * Creates a plain object from a JoinGroupMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {UpstreamMessage.JoinGroupMessage} message JoinGroupMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n JoinGroupMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults)\n object.group = \"\";\n if (message.group != null && message.hasOwnProperty(\"group\"))\n object.group = message.group;\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n if (typeof message.ackId === \"number\")\n object.ackId = options.longs === String ? String(message.ackId) : message.ackId;\n else\n object.ackId = options.longs === String ? $util.Long.prototype.toString.call(message.ackId) : options.longs === Number ? new $util.LongBits(message.ackId.low >>> 0, message.ackId.high >>> 0).toNumber(true) : message.ackId;\n if (options.oneofs)\n object._ackId = \"ackId\";\n }\n return object;\n };\n\n /**\n * Converts this JoinGroupMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage.JoinGroupMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n JoinGroupMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for JoinGroupMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage.JoinGroupMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n JoinGroupMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage.JoinGroupMessage\";\n };\n\n return JoinGroupMessage;\n })();\n\n UpstreamMessage.LeaveGroupMessage = (function() {\n\n /**\n * Properties of a LeaveGroupMessage.\n * @memberof UpstreamMessage\n * @interface ILeaveGroupMessage\n * @property {string|null} [group] LeaveGroupMessage group\n * @property {number|Long|null} [ackId] LeaveGroupMessage ackId\n */\n\n /**\n * Constructs a new LeaveGroupMessage.\n * @memberof UpstreamMessage\n * @classdesc Represents a LeaveGroupMessage.\n * @implements ILeaveGroupMessage\n * @constructor\n * @param {UpstreamMessage.ILeaveGroupMessage=} [properties] Properties to set\n */\n function LeaveGroupMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * LeaveGroupMessage group.\n * @member {string} group\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @instance\n */\n LeaveGroupMessage.prototype.group = \"\";\n\n /**\n * LeaveGroupMessage ackId.\n * @member {number|Long|null|undefined} ackId\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @instance\n */\n LeaveGroupMessage.prototype.ackId = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * LeaveGroupMessage _ackId.\n * @member {\"ackId\"|undefined} _ackId\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @instance\n */\n Object.defineProperty(LeaveGroupMessage.prototype, \"_ackId\", {\n get: $util.oneOfGetter($oneOfFields = [\"ackId\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new LeaveGroupMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {UpstreamMessage.ILeaveGroupMessage=} [properties] Properties to set\n * @returns {UpstreamMessage.LeaveGroupMessage} LeaveGroupMessage instance\n */\n LeaveGroupMessage.create = function create(properties) {\n return new LeaveGroupMessage(properties);\n };\n\n /**\n * Encodes the specified LeaveGroupMessage message. Does not implicitly {@link UpstreamMessage.LeaveGroupMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {UpstreamMessage.ILeaveGroupMessage} message LeaveGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n LeaveGroupMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.group != null && Object.hasOwnProperty.call(message, \"group\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.group);\n if (message.ackId != null && Object.hasOwnProperty.call(message, \"ackId\"))\n writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.ackId);\n return writer;\n };\n\n /**\n * Encodes the specified LeaveGroupMessage message, length delimited. Does not implicitly {@link UpstreamMessage.LeaveGroupMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {UpstreamMessage.ILeaveGroupMessage} message LeaveGroupMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n LeaveGroupMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a LeaveGroupMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage.LeaveGroupMessage} LeaveGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n LeaveGroupMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage.LeaveGroupMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.group = reader.string();\n break;\n }\n case 2: {\n message.ackId = reader.uint64();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a LeaveGroupMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage.LeaveGroupMessage} LeaveGroupMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n LeaveGroupMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a LeaveGroupMessage message.\n * @function verify\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n LeaveGroupMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.group != null && message.hasOwnProperty(\"group\"))\n if (!$util.isString(message.group))\n return \"group: string expected\";\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n properties._ackId = 1;\n if (!$util.isInteger(message.ackId) && !(message.ackId && $util.isInteger(message.ackId.low) && $util.isInteger(message.ackId.high)))\n return \"ackId: integer|Long expected\";\n }\n return null;\n };\n\n /**\n * Creates a LeaveGroupMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage.LeaveGroupMessage} LeaveGroupMessage\n */\n LeaveGroupMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage.LeaveGroupMessage)\n return object;\n let message = new $root.UpstreamMessage.LeaveGroupMessage();\n if (object.group != null)\n message.group = String(object.group);\n if (object.ackId != null)\n if ($util.Long)\n (message.ackId = $util.Long.fromValue(object.ackId)).unsigned = true;\n else if (typeof object.ackId === \"string\")\n message.ackId = parseInt(object.ackId, 10);\n else if (typeof object.ackId === \"number\")\n message.ackId = object.ackId;\n else if (typeof object.ackId === \"object\")\n message.ackId = new $util.LongBits(object.ackId.low >>> 0, object.ackId.high >>> 0).toNumber(true);\n return message;\n };\n\n /**\n * Creates a plain object from a LeaveGroupMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {UpstreamMessage.LeaveGroupMessage} message LeaveGroupMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n LeaveGroupMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults)\n object.group = \"\";\n if (message.group != null && message.hasOwnProperty(\"group\"))\n object.group = message.group;\n if (message.ackId != null && message.hasOwnProperty(\"ackId\")) {\n if (typeof message.ackId === \"number\")\n object.ackId = options.longs === String ? String(message.ackId) : message.ackId;\n else\n object.ackId = options.longs === String ? $util.Long.prototype.toString.call(message.ackId) : options.longs === Number ? new $util.LongBits(message.ackId.low >>> 0, message.ackId.high >>> 0).toNumber(true) : message.ackId;\n if (options.oneofs)\n object._ackId = \"ackId\";\n }\n return object;\n };\n\n /**\n * Converts this LeaveGroupMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n LeaveGroupMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for LeaveGroupMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage.LeaveGroupMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n LeaveGroupMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage.LeaveGroupMessage\";\n };\n\n return LeaveGroupMessage;\n })();\n\n UpstreamMessage.SequenceAckMessage = (function() {\n\n /**\n * Properties of a SequenceAckMessage.\n * @memberof UpstreamMessage\n * @interface ISequenceAckMessage\n * @property {number|Long|null} [sequenceId] SequenceAckMessage sequenceId\n */\n\n /**\n * Constructs a new SequenceAckMessage.\n * @memberof UpstreamMessage\n * @classdesc Represents a SequenceAckMessage.\n * @implements ISequenceAckMessage\n * @constructor\n * @param {UpstreamMessage.ISequenceAckMessage=} [properties] Properties to set\n */\n function SequenceAckMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * SequenceAckMessage sequenceId.\n * @member {number|Long} sequenceId\n * @memberof UpstreamMessage.SequenceAckMessage\n * @instance\n */\n SequenceAckMessage.prototype.sequenceId = $util.Long ? $util.Long.fromBits(0,0,true) : 0;\n\n /**\n * Creates a new SequenceAckMessage instance using the specified properties.\n * @function create\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {UpstreamMessage.ISequenceAckMessage=} [properties] Properties to set\n * @returns {UpstreamMessage.SequenceAckMessage} SequenceAckMessage instance\n */\n SequenceAckMessage.create = function create(properties) {\n return new SequenceAckMessage(properties);\n };\n\n /**\n * Encodes the specified SequenceAckMessage message. Does not implicitly {@link UpstreamMessage.SequenceAckMessage.verify|verify} messages.\n * @function encode\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {UpstreamMessage.ISequenceAckMessage} message SequenceAckMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SequenceAckMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.sequenceId != null && Object.hasOwnProperty.call(message, \"sequenceId\"))\n writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.sequenceId);\n return writer;\n };\n\n /**\n * Encodes the specified SequenceAckMessage message, length delimited. Does not implicitly {@link UpstreamMessage.SequenceAckMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {UpstreamMessage.ISequenceAckMessage} message SequenceAckMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SequenceAckMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a SequenceAckMessage message from the specified reader or buffer.\n * @function decode\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {UpstreamMessage.SequenceAckMessage} SequenceAckMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SequenceAckMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.UpstreamMessage.SequenceAckMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.sequenceId = reader.uint64();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a SequenceAckMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {UpstreamMessage.SequenceAckMessage} SequenceAckMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SequenceAckMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a SequenceAckMessage message.\n * @function verify\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n SequenceAckMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n if (message.sequenceId != null && message.hasOwnProperty(\"sequenceId\"))\n if (!$util.isInteger(message.sequenceId) && !(message.sequenceId && $util.isInteger(message.sequenceId.low) && $util.isInteger(message.sequenceId.high)))\n return \"sequenceId: integer|Long expected\";\n return null;\n };\n\n /**\n * Creates a SequenceAckMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {UpstreamMessage.SequenceAckMessage} SequenceAckMessage\n */\n SequenceAckMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.UpstreamMessage.SequenceAckMessage)\n return object;\n let message = new $root.UpstreamMessage.SequenceAckMessage();\n if (object.sequenceId != null)\n if ($util.Long)\n (message.sequenceId = $util.Long.fromValue(object.sequenceId)).unsigned = true;\n else if (typeof object.sequenceId === \"string\")\n message.sequenceId = parseInt(object.sequenceId, 10);\n else if (typeof object.sequenceId === \"number\")\n message.sequenceId = object.sequenceId;\n else if (typeof object.sequenceId === \"object\")\n message.sequenceId = new $util.LongBits(object.sequenceId.low >>> 0, object.sequenceId.high >>> 0).toNumber(true);\n return message;\n };\n\n /**\n * Creates a plain object from a SequenceAckMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {UpstreamMessage.SequenceAckMessage} message SequenceAckMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n SequenceAckMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults)\n if ($util.Long) {\n let long = new $util.Long(0, 0, true);\n object.sequenceId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\n } else\n object.sequenceId = options.longs === String ? \"0\" : 0;\n if (message.sequenceId != null && message.hasOwnProperty(\"sequenceId\"))\n if (typeof message.sequenceId === \"number\")\n object.sequenceId = options.longs === String ? String(message.sequenceId) : message.sequenceId;\n else\n object.sequenceId = options.longs === String ? $util.Long.prototype.toString.call(message.sequenceId) : options.longs === Number ? new $util.LongBits(message.sequenceId.low >>> 0, message.sequenceId.high >>> 0).toNumber(true) : message.sequenceId;\n return object;\n };\n\n /**\n * Converts this SequenceAckMessage to JSON.\n * @function toJSON\n * @memberof UpstreamMessage.SequenceAckMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n SequenceAckMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for SequenceAckMessage\n * @function getTypeUrl\n * @memberof UpstreamMessage.SequenceAckMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n SequenceAckMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/UpstreamMessage.SequenceAckMessage\";\n };\n\n return SequenceAckMessage;\n })();\n\n return UpstreamMessage;\n})();\n\nexport const DownstreamMessage = $root.DownstreamMessage = (() => {\n\n /**\n * Properties of a DownstreamMessage.\n * @exports IDownstreamMessage\n * @interface IDownstreamMessage\n * @property {DownstreamMessage.IAckMessage|null} [ackMessage] DownstreamMessage ackMessage\n * @property {DownstreamMessage.IDataMessage|null} [dataMessage] DownstreamMessage dataMessage\n * @property {DownstreamMessage.ISystemMessage|null} [systemMessage] DownstreamMessage systemMessage\n */\n\n /**\n * Constructs a new DownstreamMessage.\n * @exports DownstreamMessage\n * @classdesc Represents a DownstreamMessage.\n * @implements IDownstreamMessage\n * @constructor\n * @param {IDownstreamMessage=} [properties] Properties to set\n */\n function DownstreamMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * DownstreamMessage ackMessage.\n * @member {DownstreamMessage.IAckMessage|null|undefined} ackMessage\n * @memberof DownstreamMessage\n * @instance\n */\n DownstreamMessage.prototype.ackMessage = null;\n\n /**\n * DownstreamMessage dataMessage.\n * @member {DownstreamMessage.IDataMessage|null|undefined} dataMessage\n * @memberof DownstreamMessage\n * @instance\n */\n DownstreamMessage.prototype.dataMessage = null;\n\n /**\n * DownstreamMessage systemMessage.\n * @member {DownstreamMessage.ISystemMessage|null|undefined} systemMessage\n * @memberof DownstreamMessage\n * @instance\n */\n DownstreamMessage.prototype.systemMessage = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * DownstreamMessage message.\n * @member {\"ackMessage\"|\"dataMessage\"|\"systemMessage\"|undefined} message\n * @memberof DownstreamMessage\n * @instance\n */\n Object.defineProperty(DownstreamMessage.prototype, \"message\", {\n get: $util.oneOfGetter($oneOfFields = [\"ackMessage\", \"dataMessage\", \"systemMessage\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new DownstreamMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage\n * @static\n * @param {IDownstreamMessage=} [properties] Properties to set\n * @returns {DownstreamMessage} DownstreamMessage instance\n */\n DownstreamMessage.create = function create(properties) {\n return new DownstreamMessage(properties);\n };\n\n /**\n * Encodes the specified DownstreamMessage message. Does not implicitly {@link DownstreamMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage\n * @static\n * @param {IDownstreamMessage} message DownstreamMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DownstreamMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.ackMessage != null && Object.hasOwnProperty.call(message, \"ackMessage\"))\n $root.DownstreamMessage.AckMessage.encode(message.ackMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\n if (message.dataMessage != null && Object.hasOwnProperty.call(message, \"dataMessage\"))\n $root.DownstreamMessage.DataMessage.encode(message.dataMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\n if (message.systemMessage != null && Object.hasOwnProperty.call(message, \"systemMessage\"))\n $root.DownstreamMessage.SystemMessage.encode(message.systemMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\n return writer;\n };\n\n /**\n * Encodes the specified DownstreamMessage message, length delimited. Does not implicitly {@link DownstreamMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage\n * @static\n * @param {IDownstreamMessage} message DownstreamMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DownstreamMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a DownstreamMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage} DownstreamMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DownstreamMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.ackMessage = $root.DownstreamMessage.AckMessage.decode(reader, reader.uint32());\n break;\n }\n case 2: {\n message.dataMessage = $root.DownstreamMessage.DataMessage.decode(reader, reader.uint32());\n break;\n }\n case 3: {\n message.systemMessage = $root.DownstreamMessage.SystemMessage.decode(reader, reader.uint32());\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a DownstreamMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage} DownstreamMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DownstreamMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a DownstreamMessage message.\n * @function verify\n * @memberof DownstreamMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n DownstreamMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.ackMessage != null && message.hasOwnProperty(\"ackMessage\")) {\n properties.message = 1;\n {\n let error = $root.DownstreamMessage.AckMessage.verify(message.ackMessage);\n if (error)\n return \"ackMessage.\" + error;\n }\n }\n if (message.dataMessage != null && message.hasOwnProperty(\"dataMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.DownstreamMessage.DataMessage.verify(message.dataMessage);\n if (error)\n return \"dataMessage.\" + error;\n }\n }\n if (message.systemMessage != null && message.hasOwnProperty(\"systemMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.DownstreamMessage.SystemMessage.verify(message.systemMessage);\n if (error)\n return \"systemMessage.\" + error;\n }\n }\n return null;\n };\n\n /**\n * Creates a DownstreamMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage} DownstreamMessage\n */\n DownstreamMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage)\n return object;\n let message = new $root.DownstreamMessage();\n if (object.ackMessage != null) {\n if (typeof object.ackMessage !== \"object\")\n throw TypeError(\".DownstreamMessage.ackMessage: object expected\");\n message.ackMessage = $root.DownstreamMessage.AckMessage.fromObject(object.ackMessage);\n }\n if (object.dataMessage != null) {\n if (typeof object.dataMessage !== \"object\")\n throw TypeError(\".DownstreamMessage.dataMessage: object expected\");\n message.dataMessage = $root.DownstreamMessage.DataMessage.fromObject(object.dataMessage);\n }\n if (object.systemMessage != null) {\n if (typeof object.systemMessage !== \"object\")\n throw TypeError(\".DownstreamMessage.systemMessage: object expected\");\n message.systemMessage = $root.DownstreamMessage.SystemMessage.fromObject(object.systemMessage);\n }\n return message;\n };\n\n /**\n * Creates a plain object from a DownstreamMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage\n * @static\n * @param {DownstreamMessage} message DownstreamMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n DownstreamMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (message.ackMessage != null && message.hasOwnProperty(\"ackMessage\")) {\n object.ackMessage = $root.DownstreamMessage.AckMessage.toObject(message.ackMessage, options);\n if (options.oneofs)\n object.message = \"ackMessage\";\n }\n if (message.dataMessage != null && message.hasOwnProperty(\"dataMessage\")) {\n object.dataMessage = $root.DownstreamMessage.DataMessage.toObject(message.dataMessage, options);\n if (options.oneofs)\n object.message = \"dataMessage\";\n }\n if (message.systemMessage != null && message.hasOwnProperty(\"systemMessage\")) {\n object.systemMessage = $root.DownstreamMessage.SystemMessage.toObject(message.systemMessage, options);\n if (options.oneofs)\n object.message = \"systemMessage\";\n }\n return object;\n };\n\n /**\n * Converts this DownstreamMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n DownstreamMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for DownstreamMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n DownstreamMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage\";\n };\n\n DownstreamMessage.AckMessage = (function() {\n\n /**\n * Properties of an AckMessage.\n * @memberof DownstreamMessage\n * @interface IAckMessage\n * @property {number|Long|null} [ackId] AckMessage ackId\n * @property {boolean|null} [success] AckMessage success\n * @property {DownstreamMessage.AckMessage.IErrorMessage|null} [error] AckMessage error\n */\n\n /**\n * Constructs a new AckMessage.\n * @memberof DownstreamMessage\n * @classdesc Represents an AckMessage.\n * @implements IAckMessage\n * @constructor\n * @param {DownstreamMessage.IAckMessage=} [properties] Properties to set\n */\n function AckMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * AckMessage ackId.\n * @member {number|Long} ackId\n * @memberof DownstreamMessage.AckMessage\n * @instance\n */\n AckMessage.prototype.ackId = $util.Long ? $util.Long.fromBits(0,0,true) : 0;\n\n /**\n * AckMessage success.\n * @member {boolean} success\n * @memberof DownstreamMessage.AckMessage\n * @instance\n */\n AckMessage.prototype.success = false;\n\n /**\n * AckMessage error.\n * @member {DownstreamMessage.AckMessage.IErrorMessage|null|undefined} error\n * @memberof DownstreamMessage.AckMessage\n * @instance\n */\n AckMessage.prototype.error = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * AckMessage _error.\n * @member {\"error\"|undefined} _error\n * @memberof DownstreamMessage.AckMessage\n * @instance\n */\n Object.defineProperty(AckMessage.prototype, \"_error\", {\n get: $util.oneOfGetter($oneOfFields = [\"error\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new AckMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {DownstreamMessage.IAckMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.AckMessage} AckMessage instance\n */\n AckMessage.create = function create(properties) {\n return new AckMessage(properties);\n };\n\n /**\n * Encodes the specified AckMessage message. Does not implicitly {@link DownstreamMessage.AckMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {DownstreamMessage.IAckMessage} message AckMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n AckMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.ackId != null && Object.hasOwnProperty.call(message, \"ackId\"))\n writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.ackId);\n if (message.success != null && Object.hasOwnProperty.call(message, \"success\"))\n writer.uint32(/* id 2, wireType 0 =*/16).bool(message.success);\n if (message.error != null && Object.hasOwnProperty.call(message, \"error\"))\n $root.DownstreamMessage.AckMessage.ErrorMessage.encode(message.error, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\n return writer;\n };\n\n /**\n * Encodes the specified AckMessage message, length delimited. Does not implicitly {@link DownstreamMessage.AckMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {DownstreamMessage.IAckMessage} message AckMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n AckMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes an AckMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.AckMessage} AckMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n AckMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.AckMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.ackId = reader.uint64();\n break;\n }\n case 2: {\n message.success = reader.bool();\n break;\n }\n case 3: {\n message.error = $root.DownstreamMessage.AckMessage.ErrorMessage.decode(reader, reader.uint32());\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes an AckMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.AckMessage} AckMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n AckMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies an AckMessage message.\n * @function verify\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n AckMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.ackId != null && message.hasOwnProperty(\"ackId\"))\n if (!$util.isInteger(message.ackId) && !(message.ackId && $util.isInteger(message.ackId.low) && $util.isInteger(message.ackId.high)))\n return \"ackId: integer|Long expected\";\n if (message.success != null && message.hasOwnProperty(\"success\"))\n if (typeof message.success !== \"boolean\")\n return \"success: boolean expected\";\n if (message.error != null && message.hasOwnProperty(\"error\")) {\n properties._error = 1;\n {\n let error = $root.DownstreamMessage.AckMessage.ErrorMessage.verify(message.error);\n if (error)\n return \"error.\" + error;\n }\n }\n return null;\n };\n\n /**\n * Creates an AckMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.AckMessage} AckMessage\n */\n AckMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.AckMessage)\n return object;\n let message = new $root.DownstreamMessage.AckMessage();\n if (object.ackId != null)\n if ($util.Long)\n (message.ackId = $util.Long.fromValue(object.ackId)).unsigned = true;\n else if (typeof object.ackId === \"string\")\n message.ackId = parseInt(object.ackId, 10);\n else if (typeof object.ackId === \"number\")\n message.ackId = object.ackId;\n else if (typeof object.ackId === \"object\")\n message.ackId = new $util.LongBits(object.ackId.low >>> 0, object.ackId.high >>> 0).toNumber(true);\n if (object.success != null)\n message.success = Boolean(object.success);\n if (object.error != null) {\n if (typeof object.error !== \"object\")\n throw TypeError(\".DownstreamMessage.AckMessage.error: object expected\");\n message.error = $root.DownstreamMessage.AckMessage.ErrorMessage.fromObject(object.error);\n }\n return message;\n };\n\n /**\n * Creates a plain object from an AckMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {DownstreamMessage.AckMessage} message AckMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n AckMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n if ($util.Long) {\n let long = new $util.Long(0, 0, true);\n object.ackId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;\n } else\n object.ackId = options.longs === String ? \"0\" : 0;\n object.success = false;\n }\n if (message.ackId != null && message.hasOwnProperty(\"ackId\"))\n if (typeof message.ackId === \"number\")\n object.ackId = options.longs === String ? String(message.ackId) : message.ackId;\n else\n object.ackId = options.longs === String ? $util.Long.prototype.toString.call(message.ackId) : options.longs === Number ? new $util.LongBits(message.ackId.low >>> 0, message.ackId.high >>> 0).toNumber(true) : message.ackId;\n if (message.success != null && message.hasOwnProperty(\"success\"))\n object.success = message.success;\n if (message.error != null && message.hasOwnProperty(\"error\")) {\n object.error = $root.DownstreamMessage.AckMessage.ErrorMessage.toObject(message.error, options);\n if (options.oneofs)\n object._error = \"error\";\n }\n return object;\n };\n\n /**\n * Converts this AckMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.AckMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n AckMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for AckMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.AckMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n AckMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.AckMessage\";\n };\n\n AckMessage.ErrorMessage = (function() {\n\n /**\n * Properties of an ErrorMessage.\n * @memberof DownstreamMessage.AckMessage\n * @interface IErrorMessage\n * @property {string|null} [name] ErrorMessage name\n * @property {string|null} [message] ErrorMessage message\n */\n\n /**\n * Constructs a new ErrorMessage.\n * @memberof DownstreamMessage.AckMessage\n * @classdesc Represents an ErrorMessage.\n * @implements IErrorMessage\n * @constructor\n * @param {DownstreamMessage.AckMessage.IErrorMessage=} [properties] Properties to set\n */\n function ErrorMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * ErrorMessage name.\n * @member {string} name\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @instance\n */\n ErrorMessage.prototype.name = \"\";\n\n /**\n * ErrorMessage message.\n * @member {string} message\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @instance\n */\n ErrorMessage.prototype.message = \"\";\n\n /**\n * Creates a new ErrorMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {DownstreamMessage.AckMessage.IErrorMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.AckMessage.ErrorMessage} ErrorMessage instance\n */\n ErrorMessage.create = function create(properties) {\n return new ErrorMessage(properties);\n };\n\n /**\n * Encodes the specified ErrorMessage message. Does not implicitly {@link DownstreamMessage.AckMessage.ErrorMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {DownstreamMessage.AckMessage.IErrorMessage} message ErrorMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n ErrorMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.name != null && Object.hasOwnProperty.call(message, \"name\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);\n if (message.message != null && Object.hasOwnProperty.call(message, \"message\"))\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.message);\n return writer;\n };\n\n /**\n * Encodes the specified ErrorMessage message, length delimited. Does not implicitly {@link DownstreamMessage.AckMessage.ErrorMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {DownstreamMessage.AckMessage.IErrorMessage} message ErrorMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n ErrorMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes an ErrorMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.AckMessage.ErrorMessage} ErrorMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n ErrorMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.AckMessage.ErrorMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.name = reader.string();\n break;\n }\n case 2: {\n message.message = reader.string();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes an ErrorMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.AckMessage.ErrorMessage} ErrorMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n ErrorMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies an ErrorMessage message.\n * @function verify\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n ErrorMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n if (message.name != null && message.hasOwnProperty(\"name\"))\n if (!$util.isString(message.name))\n return \"name: string expected\";\n if (message.message != null && message.hasOwnProperty(\"message\"))\n if (!$util.isString(message.message))\n return \"message: string expected\";\n return null;\n };\n\n /**\n * Creates an ErrorMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.AckMessage.ErrorMessage} ErrorMessage\n */\n ErrorMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.AckMessage.ErrorMessage)\n return object;\n let message = new $root.DownstreamMessage.AckMessage.ErrorMessage();\n if (object.name != null)\n message.name = String(object.name);\n if (object.message != null)\n message.message = String(object.message);\n return message;\n };\n\n /**\n * Creates a plain object from an ErrorMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {DownstreamMessage.AckMessage.ErrorMessage} message ErrorMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n ErrorMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.name = \"\";\n object.message = \"\";\n }\n if (message.name != null && message.hasOwnProperty(\"name\"))\n object.name = message.name;\n if (message.message != null && message.hasOwnProperty(\"message\"))\n object.message = message.message;\n return object;\n };\n\n /**\n * Converts this ErrorMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n ErrorMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for ErrorMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.AckMessage.ErrorMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n ErrorMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.AckMessage.ErrorMessage\";\n };\n\n return ErrorMessage;\n })();\n\n return AckMessage;\n })();\n\n DownstreamMessage.DataMessage = (function() {\n\n /**\n * Properties of a DataMessage.\n * @memberof DownstreamMessage\n * @interface IDataMessage\n * @property {string|null} [from] DataMessage from\n * @property {string|null} [group] DataMessage group\n * @property {IMessageData|null} [data] DataMessage data\n * @property {number|Long|null} [sequenceId] DataMessage sequenceId\n */\n\n /**\n * Constructs a new DataMessage.\n * @memberof DownstreamMessage\n * @classdesc Represents a DataMessage.\n * @implements IDataMessage\n * @constructor\n * @param {DownstreamMessage.IDataMessage=} [properties] Properties to set\n */\n function DataMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * DataMessage from.\n * @member {string} from\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n DataMessage.prototype.from = \"\";\n\n /**\n * DataMessage group.\n * @member {string|null|undefined} group\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n DataMessage.prototype.group = null;\n\n /**\n * DataMessage data.\n * @member {IMessageData|null|undefined} data\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n DataMessage.prototype.data = null;\n\n /**\n * DataMessage sequenceId.\n * @member {number|Long|null|undefined} sequenceId\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n DataMessage.prototype.sequenceId = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * DataMessage _group.\n * @member {\"group\"|undefined} _group\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n Object.defineProperty(DataMessage.prototype, \"_group\", {\n get: $util.oneOfGetter($oneOfFields = [\"group\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * DataMessage _sequenceId.\n * @member {\"sequenceId\"|undefined} _sequenceId\n * @memberof DownstreamMessage.DataMessage\n * @instance\n */\n Object.defineProperty(DataMessage.prototype, \"_sequenceId\", {\n get: $util.oneOfGetter($oneOfFields = [\"sequenceId\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new DataMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {DownstreamMessage.IDataMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.DataMessage} DataMessage instance\n */\n DataMessage.create = function create(properties) {\n return new DataMessage(properties);\n };\n\n /**\n * Encodes the specified DataMessage message. Does not implicitly {@link DownstreamMessage.DataMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {DownstreamMessage.IDataMessage} message DataMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DataMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.from != null && Object.hasOwnProperty.call(message, \"from\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.from);\n if (message.group != null && Object.hasOwnProperty.call(message, \"group\"))\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.group);\n if (message.data != null && Object.hasOwnProperty.call(message, \"data\"))\n $root.MessageData.encode(message.data, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\n if (message.sequenceId != null && Object.hasOwnProperty.call(message, \"sequenceId\"))\n writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.sequenceId);\n return writer;\n };\n\n /**\n * Encodes the specified DataMessage message, length delimited. Does not implicitly {@link DownstreamMessage.DataMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {DownstreamMessage.IDataMessage} message DataMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DataMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a DataMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.DataMessage} DataMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DataMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.DataMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.from = reader.string();\n break;\n }\n case 2: {\n message.group = reader.string();\n break;\n }\n case 3: {\n message.data = $root.MessageData.decode(reader, reader.uint32());\n break;\n }\n case 4: {\n message.sequenceId = reader.uint64();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a DataMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.DataMessage} DataMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DataMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a DataMessage message.\n * @function verify\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n DataMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.from != null && message.hasOwnProperty(\"from\"))\n if (!$util.isString(message.from))\n return \"from: string expected\";\n if (message.group != null && message.hasOwnProperty(\"group\")) {\n properties._group = 1;\n if (!$util.isString(message.group))\n return \"group: string expected\";\n }\n if (message.data != null && message.hasOwnProperty(\"data\")) {\n let error = $root.MessageData.verify(message.data);\n if (error)\n return \"data.\" + error;\n }\n if (message.sequenceId != null && message.hasOwnProperty(\"sequenceId\")) {\n properties._sequenceId = 1;\n if (!$util.isInteger(message.sequenceId) && !(message.sequenceId && $util.isInteger(message.sequenceId.low) && $util.isInteger(message.sequenceId.high)))\n return \"sequenceId: integer|Long expected\";\n }\n return null;\n };\n\n /**\n * Creates a DataMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.DataMessage} DataMessage\n */\n DataMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.DataMessage)\n return object;\n let message = new $root.DownstreamMessage.DataMessage();\n if (object.from != null)\n message.from = String(object.from);\n if (object.group != null)\n message.group = String(object.group);\n if (object.data != null) {\n if (typeof object.data !== \"object\")\n throw TypeError(\".DownstreamMessage.DataMessage.data: object expected\");\n message.data = $root.MessageData.fromObject(object.data);\n }\n if (object.sequenceId != null)\n if ($util.Long)\n (message.sequenceId = $util.Long.fromValue(object.sequenceId)).unsigned = true;\n else if (typeof object.sequenceId === \"string\")\n message.sequenceId = parseInt(object.sequenceId, 10);\n else if (typeof object.sequenceId === \"number\")\n message.sequenceId = object.sequenceId;\n else if (typeof object.sequenceId === \"object\")\n message.sequenceId = new $util.LongBits(object.sequenceId.low >>> 0, object.sequenceId.high >>> 0).toNumber(true);\n return message;\n };\n\n /**\n * Creates a plain object from a DataMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {DownstreamMessage.DataMessage} message DataMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n DataMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.from = \"\";\n object.data = null;\n }\n if (message.from != null && message.hasOwnProperty(\"from\"))\n object.from = message.from;\n if (message.group != null && message.hasOwnProperty(\"group\")) {\n object.group = message.group;\n if (options.oneofs)\n object._group = \"group\";\n }\n if (message.data != null && message.hasOwnProperty(\"data\"))\n object.data = $root.MessageData.toObject(message.data, options);\n if (message.sequenceId != null && message.hasOwnProperty(\"sequenceId\")) {\n if (typeof message.sequenceId === \"number\")\n object.sequenceId = options.longs === String ? String(message.sequenceId) : message.sequenceId;\n else\n object.sequenceId = options.longs === String ? $util.Long.prototype.toString.call(message.sequenceId) : options.longs === Number ? new $util.LongBits(message.sequenceId.low >>> 0, message.sequenceId.high >>> 0).toNumber(true) : message.sequenceId;\n if (options.oneofs)\n object._sequenceId = \"sequenceId\";\n }\n return object;\n };\n\n /**\n * Converts this DataMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.DataMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n DataMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for DataMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.DataMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n DataMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.DataMessage\";\n };\n\n return DataMessage;\n })();\n\n DownstreamMessage.SystemMessage = (function() {\n\n /**\n * Properties of a SystemMessage.\n * @memberof DownstreamMessage\n * @interface ISystemMessage\n * @property {DownstreamMessage.SystemMessage.IConnectedMessage|null} [connectedMessage] SystemMessage connectedMessage\n * @property {DownstreamMessage.SystemMessage.IDisconnectedMessage|null} [disconnectedMessage] SystemMessage disconnectedMessage\n */\n\n /**\n * Constructs a new SystemMessage.\n * @memberof DownstreamMessage\n * @classdesc Represents a SystemMessage.\n * @implements ISystemMessage\n * @constructor\n * @param {DownstreamMessage.ISystemMessage=} [properties] Properties to set\n */\n function SystemMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * SystemMessage connectedMessage.\n * @member {DownstreamMessage.SystemMessage.IConnectedMessage|null|undefined} connectedMessage\n * @memberof DownstreamMessage.SystemMessage\n * @instance\n */\n SystemMessage.prototype.connectedMessage = null;\n\n /**\n * SystemMessage disconnectedMessage.\n * @member {DownstreamMessage.SystemMessage.IDisconnectedMessage|null|undefined} disconnectedMessage\n * @memberof DownstreamMessage.SystemMessage\n * @instance\n */\n SystemMessage.prototype.disconnectedMessage = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * SystemMessage message.\n * @member {\"connectedMessage\"|\"disconnectedMessage\"|undefined} message\n * @memberof DownstreamMessage.SystemMessage\n * @instance\n */\n Object.defineProperty(SystemMessage.prototype, \"message\", {\n get: $util.oneOfGetter($oneOfFields = [\"connectedMessage\", \"disconnectedMessage\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new SystemMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {DownstreamMessage.ISystemMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.SystemMessage} SystemMessage instance\n */\n SystemMessage.create = function create(properties) {\n return new SystemMessage(properties);\n };\n\n /**\n * Encodes the specified SystemMessage message. Does not implicitly {@link DownstreamMessage.SystemMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {DownstreamMessage.ISystemMessage} message SystemMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SystemMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.connectedMessage != null && Object.hasOwnProperty.call(message, \"connectedMessage\"))\n $root.DownstreamMessage.SystemMessage.ConnectedMessage.encode(message.connectedMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\n if (message.disconnectedMessage != null && Object.hasOwnProperty.call(message, \"disconnectedMessage\"))\n $root.DownstreamMessage.SystemMessage.DisconnectedMessage.encode(message.disconnectedMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\n return writer;\n };\n\n /**\n * Encodes the specified SystemMessage message, length delimited. Does not implicitly {@link DownstreamMessage.SystemMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {DownstreamMessage.ISystemMessage} message SystemMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n SystemMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a SystemMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.SystemMessage} SystemMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SystemMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.SystemMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.connectedMessage = $root.DownstreamMessage.SystemMessage.ConnectedMessage.decode(reader, reader.uint32());\n break;\n }\n case 2: {\n message.disconnectedMessage = $root.DownstreamMessage.SystemMessage.DisconnectedMessage.decode(reader, reader.uint32());\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a SystemMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.SystemMessage} SystemMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n SystemMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a SystemMessage message.\n * @function verify\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n SystemMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.connectedMessage != null && message.hasOwnProperty(\"connectedMessage\")) {\n properties.message = 1;\n {\n let error = $root.DownstreamMessage.SystemMessage.ConnectedMessage.verify(message.connectedMessage);\n if (error)\n return \"connectedMessage.\" + error;\n }\n }\n if (message.disconnectedMessage != null && message.hasOwnProperty(\"disconnectedMessage\")) {\n if (properties.message === 1)\n return \"message: multiple values\";\n properties.message = 1;\n {\n let error = $root.DownstreamMessage.SystemMessage.DisconnectedMessage.verify(message.disconnectedMessage);\n if (error)\n return \"disconnectedMessage.\" + error;\n }\n }\n return null;\n };\n\n /**\n * Creates a SystemMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.SystemMessage} SystemMessage\n */\n SystemMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.SystemMessage)\n return object;\n let message = new $root.DownstreamMessage.SystemMessage();\n if (object.connectedMessage != null) {\n if (typeof object.connectedMessage !== \"object\")\n throw TypeError(\".DownstreamMessage.SystemMessage.connectedMessage: object expected\");\n message.connectedMessage = $root.DownstreamMessage.SystemMessage.ConnectedMessage.fromObject(object.connectedMessage);\n }\n if (object.disconnectedMessage != null) {\n if (typeof object.disconnectedMessage !== \"object\")\n throw TypeError(\".DownstreamMessage.SystemMessage.disconnectedMessage: object expected\");\n message.disconnectedMessage = $root.DownstreamMessage.SystemMessage.DisconnectedMessage.fromObject(object.disconnectedMessage);\n }\n return message;\n };\n\n /**\n * Creates a plain object from a SystemMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {DownstreamMessage.SystemMessage} message SystemMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n SystemMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (message.connectedMessage != null && message.hasOwnProperty(\"connectedMessage\")) {\n object.connectedMessage = $root.DownstreamMessage.SystemMessage.ConnectedMessage.toObject(message.connectedMessage, options);\n if (options.oneofs)\n object.message = \"connectedMessage\";\n }\n if (message.disconnectedMessage != null && message.hasOwnProperty(\"disconnectedMessage\")) {\n object.disconnectedMessage = $root.DownstreamMessage.SystemMessage.DisconnectedMessage.toObject(message.disconnectedMessage, options);\n if (options.oneofs)\n object.message = \"disconnectedMessage\";\n }\n return object;\n };\n\n /**\n * Converts this SystemMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.SystemMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n SystemMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for SystemMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.SystemMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n SystemMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.SystemMessage\";\n };\n\n SystemMessage.ConnectedMessage = (function() {\n\n /**\n * Properties of a ConnectedMessage.\n * @memberof DownstreamMessage.SystemMessage\n * @interface IConnectedMessage\n * @property {string|null} [connectionId] ConnectedMessage connectionId\n * @property {string|null} [userId] ConnectedMessage userId\n * @property {string|null} [reconnectionToken] ConnectedMessage reconnectionToken\n */\n\n /**\n * Constructs a new ConnectedMessage.\n * @memberof DownstreamMessage.SystemMessage\n * @classdesc Represents a ConnectedMessage.\n * @implements IConnectedMessage\n * @constructor\n * @param {DownstreamMessage.SystemMessage.IConnectedMessage=} [properties] Properties to set\n */\n function ConnectedMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * ConnectedMessage connectionId.\n * @member {string} connectionId\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @instance\n */\n ConnectedMessage.prototype.connectionId = \"\";\n\n /**\n * ConnectedMessage userId.\n * @member {string} userId\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @instance\n */\n ConnectedMessage.prototype.userId = \"\";\n\n /**\n * ConnectedMessage reconnectionToken.\n * @member {string} reconnectionToken\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @instance\n */\n ConnectedMessage.prototype.reconnectionToken = \"\";\n\n /**\n * Creates a new ConnectedMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IConnectedMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.SystemMessage.ConnectedMessage} ConnectedMessage instance\n */\n ConnectedMessage.create = function create(properties) {\n return new ConnectedMessage(properties);\n };\n\n /**\n * Encodes the specified ConnectedMessage message. Does not implicitly {@link DownstreamMessage.SystemMessage.ConnectedMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IConnectedMessage} message ConnectedMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n ConnectedMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.connectionId != null && Object.hasOwnProperty.call(message, \"connectionId\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.connectionId);\n if (message.userId != null && Object.hasOwnProperty.call(message, \"userId\"))\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.userId);\n if (message.reconnectionToken != null && Object.hasOwnProperty.call(message, \"reconnectionToken\"))\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.reconnectionToken);\n return writer;\n };\n\n /**\n * Encodes the specified ConnectedMessage message, length delimited. Does not implicitly {@link DownstreamMessage.SystemMessage.ConnectedMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IConnectedMessage} message ConnectedMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n ConnectedMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a ConnectedMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.SystemMessage.ConnectedMessage} ConnectedMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n ConnectedMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.SystemMessage.ConnectedMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.connectionId = reader.string();\n break;\n }\n case 2: {\n message.userId = reader.string();\n break;\n }\n case 3: {\n message.reconnectionToken = reader.string();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a ConnectedMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.SystemMessage.ConnectedMessage} ConnectedMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n ConnectedMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a ConnectedMessage message.\n * @function verify\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n ConnectedMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n if (message.connectionId != null && message.hasOwnProperty(\"connectionId\"))\n if (!$util.isString(message.connectionId))\n return \"connectionId: string expected\";\n if (message.userId != null && message.hasOwnProperty(\"userId\"))\n if (!$util.isString(message.userId))\n return \"userId: string expected\";\n if (message.reconnectionToken != null && message.hasOwnProperty(\"reconnectionToken\"))\n if (!$util.isString(message.reconnectionToken))\n return \"reconnectionToken: string expected\";\n return null;\n };\n\n /**\n * Creates a ConnectedMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.SystemMessage.ConnectedMessage} ConnectedMessage\n */\n ConnectedMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.SystemMessage.ConnectedMessage)\n return object;\n let message = new $root.DownstreamMessage.SystemMessage.ConnectedMessage();\n if (object.connectionId != null)\n message.connectionId = String(object.connectionId);\n if (object.userId != null)\n message.userId = String(object.userId);\n if (object.reconnectionToken != null)\n message.reconnectionToken = String(object.reconnectionToken);\n return message;\n };\n\n /**\n * Creates a plain object from a ConnectedMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.ConnectedMessage} message ConnectedMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n ConnectedMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.connectionId = \"\";\n object.userId = \"\";\n object.reconnectionToken = \"\";\n }\n if (message.connectionId != null && message.hasOwnProperty(\"connectionId\"))\n object.connectionId = message.connectionId;\n if (message.userId != null && message.hasOwnProperty(\"userId\"))\n object.userId = message.userId;\n if (message.reconnectionToken != null && message.hasOwnProperty(\"reconnectionToken\"))\n object.reconnectionToken = message.reconnectionToken;\n return object;\n };\n\n /**\n * Converts this ConnectedMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n ConnectedMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for ConnectedMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.SystemMessage.ConnectedMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n ConnectedMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.SystemMessage.ConnectedMessage\";\n };\n\n return ConnectedMessage;\n })();\n\n SystemMessage.DisconnectedMessage = (function() {\n\n /**\n * Properties of a DisconnectedMessage.\n * @memberof DownstreamMessage.SystemMessage\n * @interface IDisconnectedMessage\n * @property {string|null} [reason] DisconnectedMessage reason\n */\n\n /**\n * Constructs a new DisconnectedMessage.\n * @memberof DownstreamMessage.SystemMessage\n * @classdesc Represents a DisconnectedMessage.\n * @implements IDisconnectedMessage\n * @constructor\n * @param {DownstreamMessage.SystemMessage.IDisconnectedMessage=} [properties] Properties to set\n */\n function DisconnectedMessage(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * DisconnectedMessage reason.\n * @member {string} reason\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @instance\n */\n DisconnectedMessage.prototype.reason = \"\";\n\n /**\n * Creates a new DisconnectedMessage instance using the specified properties.\n * @function create\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IDisconnectedMessage=} [properties] Properties to set\n * @returns {DownstreamMessage.SystemMessage.DisconnectedMessage} DisconnectedMessage instance\n */\n DisconnectedMessage.create = function create(properties) {\n return new DisconnectedMessage(properties);\n };\n\n /**\n * Encodes the specified DisconnectedMessage message. Does not implicitly {@link DownstreamMessage.SystemMessage.DisconnectedMessage.verify|verify} messages.\n * @function encode\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IDisconnectedMessage} message DisconnectedMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DisconnectedMessage.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.reason != null && Object.hasOwnProperty.call(message, \"reason\"))\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.reason);\n return writer;\n };\n\n /**\n * Encodes the specified DisconnectedMessage message, length delimited. Does not implicitly {@link DownstreamMessage.SystemMessage.DisconnectedMessage.verify|verify} messages.\n * @function encodeDelimited\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.IDisconnectedMessage} message DisconnectedMessage message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n DisconnectedMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a DisconnectedMessage message from the specified reader or buffer.\n * @function decode\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {DownstreamMessage.SystemMessage.DisconnectedMessage} DisconnectedMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DisconnectedMessage.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.DownstreamMessage.SystemMessage.DisconnectedMessage();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 2: {\n message.reason = reader.string();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a DisconnectedMessage message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {DownstreamMessage.SystemMessage.DisconnectedMessage} DisconnectedMessage\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n DisconnectedMessage.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a DisconnectedMessage message.\n * @function verify\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n DisconnectedMessage.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n if (message.reason != null && message.hasOwnProperty(\"reason\"))\n if (!$util.isString(message.reason))\n return \"reason: string expected\";\n return null;\n };\n\n /**\n * Creates a DisconnectedMessage message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {DownstreamMessage.SystemMessage.DisconnectedMessage} DisconnectedMessage\n */\n DisconnectedMessage.fromObject = function fromObject(object) {\n if (object instanceof $root.DownstreamMessage.SystemMessage.DisconnectedMessage)\n return object;\n let message = new $root.DownstreamMessage.SystemMessage.DisconnectedMessage();\n if (object.reason != null)\n message.reason = String(object.reason);\n return message;\n };\n\n /**\n * Creates a plain object from a DisconnectedMessage message. Also converts values to other types if specified.\n * @function toObject\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {DownstreamMessage.SystemMessage.DisconnectedMessage} message DisconnectedMessage\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n DisconnectedMessage.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults)\n object.reason = \"\";\n if (message.reason != null && message.hasOwnProperty(\"reason\"))\n object.reason = message.reason;\n return object;\n };\n\n /**\n * Converts this DisconnectedMessage to JSON.\n * @function toJSON\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n DisconnectedMessage.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for DisconnectedMessage\n * @function getTypeUrl\n * @memberof DownstreamMessage.SystemMessage.DisconnectedMessage\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n DisconnectedMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/DownstreamMessage.SystemMessage.DisconnectedMessage\";\n };\n\n return DisconnectedMessage;\n })();\n\n return SystemMessage;\n })();\n\n return DownstreamMessage;\n})();\n\nexport const MessageData = $root.MessageData = (() => {\n\n /**\n * Properties of a MessageData.\n * @exports IMessageData\n * @interface IMessageData\n * @property {string|null} [textData] MessageData textData\n * @property {Uint8Array|null} [binaryData] MessageData binaryData\n * @property {google.protobuf.IAny|null} [protobufData] MessageData protobufData\n * @property {string|null} [jsonData] MessageData jsonData\n */\n\n /**\n * Constructs a new MessageData.\n * @exports MessageData\n * @classdesc Represents a MessageData.\n * @implements IMessageData\n * @constructor\n * @param {IMessageData=} [properties] Properties to set\n */\n function MessageData(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * MessageData textData.\n * @member {string|null|undefined} textData\n * @memberof MessageData\n * @instance\n */\n MessageData.prototype.textData = null;\n\n /**\n * MessageData binaryData.\n * @member {Uint8Array|null|undefined} binaryData\n * @memberof MessageData\n * @instance\n */\n MessageData.prototype.binaryData = null;\n\n /**\n * MessageData protobufData.\n * @member {google.protobuf.IAny|null|undefined} protobufData\n * @memberof MessageData\n * @instance\n */\n MessageData.prototype.protobufData = null;\n\n /**\n * MessageData jsonData.\n * @member {string|null|undefined} jsonData\n * @memberof MessageData\n * @instance\n */\n MessageData.prototype.jsonData = null;\n\n // OneOf field names bound to virtual getters and setters\n let $oneOfFields;\n\n /**\n * MessageData data.\n * @member {\"textData\"|\"binaryData\"|\"protobufData\"|\"jsonData\"|undefined} data\n * @memberof MessageData\n * @instance\n */\n Object.defineProperty(MessageData.prototype, \"data\", {\n get: $util.oneOfGetter($oneOfFields = [\"textData\", \"binaryData\", \"protobufData\", \"jsonData\"]),\n set: $util.oneOfSetter($oneOfFields)\n });\n\n /**\n * Creates a new MessageData instance using the specified properties.\n * @function create\n * @memberof MessageData\n * @static\n * @param {IMessageData=} [properties] Properties to set\n * @returns {MessageData} MessageData instance\n */\n MessageData.create = function create(properties) {\n return new MessageData(properties);\n };\n\n /**\n * Encodes the specified MessageData message. Does not implicitly {@link MessageData.verify|verify} messages.\n * @function encode\n * @memberof MessageData\n * @static\n * @param {IMessageData} message MessageData message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n MessageData.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.textData != null && Object.hasOwnProperty.call(message, \"textData\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.textData);\n if (message.binaryData != null && Object.hasOwnProperty.call(message, \"binaryData\"))\n writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.binaryData);\n if (message.protobufData != null && Object.hasOwnProperty.call(message, \"protobufData\"))\n $root.google.protobuf.Any.encode(message.protobufData, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\n if (message.jsonData != null && Object.hasOwnProperty.call(message, \"jsonData\"))\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.jsonData);\n return writer;\n };\n\n /**\n * Encodes the specified MessageData message, length delimited. Does not implicitly {@link MessageData.verify|verify} messages.\n * @function encodeDelimited\n * @memberof MessageData\n * @static\n * @param {IMessageData} message MessageData message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n MessageData.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes a MessageData message from the specified reader or buffer.\n * @function decode\n * @memberof MessageData\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {MessageData} MessageData\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n MessageData.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.MessageData();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.textData = reader.string();\n break;\n }\n case 2: {\n message.binaryData = reader.bytes();\n break;\n }\n case 3: {\n message.protobufData = $root.google.protobuf.Any.decode(reader, reader.uint32());\n break;\n }\n case 4: {\n message.jsonData = reader.string();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes a MessageData message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof MessageData\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {MessageData} MessageData\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n MessageData.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies a MessageData message.\n * @function verify\n * @memberof MessageData\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n MessageData.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n let properties = {};\n if (message.textData != null && message.hasOwnProperty(\"textData\")) {\n properties.data = 1;\n if (!$util.isString(message.textData))\n return \"textData: string expected\";\n }\n if (message.binaryData != null && message.hasOwnProperty(\"binaryData\")) {\n if (properties.data === 1)\n return \"data: multiple values\";\n properties.data = 1;\n if (!(message.binaryData && typeof message.binaryData.length === \"number\" || $util.isString(message.binaryData)))\n return \"binaryData: buffer expected\";\n }\n if (message.protobufData != null && message.hasOwnProperty(\"protobufData\")) {\n if (properties.data === 1)\n return \"data: multiple values\";\n properties.data = 1;\n {\n let error = $root.google.protobuf.Any.verify(message.protobufData);\n if (error)\n return \"protobufData.\" + error;\n }\n }\n if (message.jsonData != null && message.hasOwnProperty(\"jsonData\")) {\n if (properties.data === 1)\n return \"data: multiple values\";\n properties.data = 1;\n if (!$util.isString(message.jsonData))\n return \"jsonData: string expected\";\n }\n return null;\n };\n\n /**\n * Creates a MessageData message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof MessageData\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {MessageData} MessageData\n */\n MessageData.fromObject = function fromObject(object) {\n if (object instanceof $root.MessageData)\n return object;\n let message = new $root.MessageData();\n if (object.textData != null)\n message.textData = String(object.textData);\n if (object.binaryData != null)\n if (typeof object.binaryData === \"string\")\n $util.base64.decode(object.binaryData, message.binaryData = $util.newBuffer($util.base64.length(object.binaryData)), 0);\n else if (object.binaryData.length >= 0)\n message.binaryData = object.binaryData;\n if (object.protobufData != null) {\n if (typeof object.protobufData !== \"object\")\n throw TypeError(\".MessageData.protobufData: object expected\");\n message.protobufData = $root.google.protobuf.Any.fromObject(object.protobufData);\n }\n if (object.jsonData != null)\n message.jsonData = String(object.jsonData);\n return message;\n };\n\n /**\n * Creates a plain object from a MessageData message. Also converts values to other types if specified.\n * @function toObject\n * @memberof MessageData\n * @static\n * @param {MessageData} message MessageData\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n MessageData.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (message.textData != null && message.hasOwnProperty(\"textData\")) {\n object.textData = message.textData;\n if (options.oneofs)\n object.data = \"textData\";\n }\n if (message.binaryData != null && message.hasOwnProperty(\"binaryData\")) {\n object.binaryData = options.bytes === String ? $util.base64.encode(message.binaryData, 0, message.binaryData.length) : options.bytes === Array ? Array.prototype.slice.call(message.binaryData) : message.binaryData;\n if (options.oneofs)\n object.data = \"binaryData\";\n }\n if (message.protobufData != null && message.hasOwnProperty(\"protobufData\")) {\n object.protobufData = $root.google.protobuf.Any.toObject(message.protobufData, options);\n if (options.oneofs)\n object.data = \"protobufData\";\n }\n if (message.jsonData != null && message.hasOwnProperty(\"jsonData\")) {\n object.jsonData = message.jsonData;\n if (options.oneofs)\n object.data = \"jsonData\";\n }\n return object;\n };\n\n /**\n * Converts this MessageData to JSON.\n * @function toJSON\n * @memberof MessageData\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n MessageData.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for MessageData\n * @function getTypeUrl\n * @memberof MessageData\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n MessageData.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/MessageData\";\n };\n\n return MessageData;\n})();\n\nexport const google = $root.google = (() => {\n\n /**\n * Namespace google.\n * @exports google\n * @namespace\n */\n const google = {};\n\n google.protobuf = (function() {\n\n /**\n * Namespace protobuf.\n * @memberof google\n * @namespace\n */\n const protobuf = {};\n\n protobuf.Any = (function() {\n\n /**\n * Properties of an Any.\n * @memberof google.protobuf\n * @interface IAny\n * @property {string|null} [type_url] Any type_url\n * @property {Uint8Array|null} [value] Any value\n */\n\n /**\n * Constructs a new Any.\n * @memberof google.protobuf\n * @classdesc Represents an Any.\n * @implements IAny\n * @constructor\n * @param {google.protobuf.IAny=} [properties] Properties to set\n */\n function Any(properties) {\n if (properties)\n for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n if (properties[keys[i]] != null)\n this[keys[i]] = properties[keys[i]];\n }\n\n /**\n * Any type_url.\n * @member {string} type_url\n * @memberof google.protobuf.Any\n * @instance\n */\n Any.prototype.type_url = \"\";\n\n /**\n * Any value.\n * @member {Uint8Array} value\n * @memberof google.protobuf.Any\n * @instance\n */\n Any.prototype.value = $util.newBuffer([]);\n\n /**\n * Creates a new Any instance using the specified properties.\n * @function create\n * @memberof google.protobuf.Any\n * @static\n * @param {google.protobuf.IAny=} [properties] Properties to set\n * @returns {google.protobuf.Any} Any instance\n */\n Any.create = function create(properties) {\n return new Any(properties);\n };\n\n /**\n * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.\n * @function encode\n * @memberof google.protobuf.Any\n * @static\n * @param {google.protobuf.IAny} message Any message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n Any.encode = function encode(message, writer) {\n if (!writer)\n writer = $Writer.create();\n if (message.type_url != null && Object.hasOwnProperty.call(message, \"type_url\"))\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.type_url);\n if (message.value != null && Object.hasOwnProperty.call(message, \"value\"))\n writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value);\n return writer;\n };\n\n /**\n * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.\n * @function encodeDelimited\n * @memberof google.protobuf.Any\n * @static\n * @param {google.protobuf.IAny} message Any message or plain object to encode\n * @param {$protobuf.Writer} [writer] Writer to encode to\n * @returns {$protobuf.Writer} Writer\n */\n Any.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer).ldelim();\n };\n\n /**\n * Decodes an Any message from the specified reader or buffer.\n * @function decode\n * @memberof google.protobuf.Any\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Message length if known beforehand\n * @returns {google.protobuf.Any} Any\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n Any.decode = function decode(reader, length) {\n if (!(reader instanceof $Reader))\n reader = $Reader.create(reader);\n let end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any();\n while (reader.pos < end) {\n let tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n message.type_url = reader.string();\n break;\n }\n case 2: {\n message.value = reader.bytes();\n break;\n }\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n };\n\n /**\n * Decodes an Any message from the specified reader or buffer, length delimited.\n * @function decodeDelimited\n * @memberof google.protobuf.Any\n * @static\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {google.protobuf.Any} Any\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\n */\n Any.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof $Reader))\n reader = new $Reader(reader);\n return this.decode(reader, reader.uint32());\n };\n\n /**\n * Verifies an Any message.\n * @function verify\n * @memberof google.protobuf.Any\n * @static\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\n Any.verify = function verify(message) {\n if (typeof message !== \"object\" || message === null)\n return \"object expected\";\n if (message.type_url != null && message.hasOwnProperty(\"type_url\"))\n if (!$util.isString(message.type_url))\n return \"type_url: string expected\";\n if (message.value != null && message.hasOwnProperty(\"value\"))\n if (!(message.value && typeof message.value.length === \"number\" || $util.isString(message.value)))\n return \"value: buffer expected\";\n return null;\n };\n\n /**\n * Creates an Any message from a plain object. Also converts values to their respective internal types.\n * @function fromObject\n * @memberof google.protobuf.Any\n * @static\n * @param {Object.<string,*>} object Plain object\n * @returns {google.protobuf.Any} Any\n */\n Any.fromObject = function fromObject(object) {\n if (object instanceof $root.google.protobuf.Any)\n return object;\n let message = new $root.google.protobuf.Any();\n if (object.type_url != null)\n message.type_url = String(object.type_url);\n if (object.value != null)\n if (typeof object.value === \"string\")\n $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0);\n else if (object.value.length >= 0)\n message.value = object.value;\n return message;\n };\n\n /**\n * Creates a plain object from an Any message. Also converts values to other types if specified.\n * @function toObject\n * @memberof google.protobuf.Any\n * @static\n * @param {google.protobuf.Any} message Any\n * @param {$protobuf.IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\n Any.toObject = function toObject(message, options) {\n if (!options)\n options = {};\n let object = {};\n if (options.defaults) {\n object.type_url = \"\";\n if (options.bytes === String)\n object.value = \"\";\n else {\n object.value = [];\n if (options.bytes !== Array)\n object.value = $util.newBuffer(object.value);\n }\n }\n if (message.type_url != null && message.hasOwnProperty(\"type_url\"))\n object.type_url = message.type_url;\n if (message.value != null && message.hasOwnProperty(\"value\"))\n object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value;\n return object;\n };\n\n /**\n * Converts this Any to JSON.\n * @function toJSON\n * @memberof google.protobuf.Any\n * @instance\n * @returns {Object.<string,*>} JSON object\n */\n Any.prototype.toJSON = function toJSON() {\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\n };\n\n /**\n * Gets the default type url for Any\n * @function getTypeUrl\n * @memberof google.protobuf.Any\n * @static\n * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default \"type.googleapis.com\")\n * @returns {string} The default type url\n */\n Any.getTypeUrl = function getTypeUrl(typeUrlPrefix) {\n if (typeUrlPrefix === undefined) {\n typeUrlPrefix = \"type.googleapis.com\";\n }\n return typeUrlPrefix + \"/google.protobuf.Any\";\n };\n\n return Any;\n })();\n\n return protobuf;\n })();\n\n return google;\n})();\n\nexport { $root as default };\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n AckMessage,\n AckMessageError,\n ConnectedMessage,\n DisconnectedMessage,\n GroupDataMessage,\n ServerDataMessage,\n WebPubSubDataType,\n WebPubSubMessage,\n JSONTypes,\n} from \"@azure/web-pubsub-client\";\nimport {\n DownstreamMessage,\n IMessageData,\n IUpstreamMessage,\n MessageData,\n UpstreamMessage,\n google,\n} from \"./generated/clientProto\";\n\nimport Long from \"long\";\n\n/**\n * The \"protobuf.reliable.webpubsub.azure.v1\" protocol\n */\nexport class WebPubSubProtobufProtocolBase {\n /**\n * Creates WebPubSubMessage objects from the specified serialized representation.\n * @param input - The serialized representation\n */\n public static parseMessages(input: ArrayBuffer): WebPubSubMessage | null {\n const downstream = DownstreamMessage.decode(new Uint8Array(input));\n if (downstream.ackMessage) {\n const ack = {\n kind: \"ack\",\n ackId: this._getNumber(downstream.ackMessage.ackId),\n success: downstream.ackMessage.success,\n } as AckMessage;\n if (downstream.ackMessage.error) {\n ack.error = {\n name: downstream.ackMessage.error.name,\n message: downstream.ackMessage.error.message,\n } as AckMessageError;\n }\n return ack;\n } else if (downstream.systemMessage) {\n if (downstream.systemMessage.connectedMessage) {\n const msg = downstream.systemMessage.connectedMessage;\n return {\n kind: \"connected\",\n connectionId: msg.connectionId,\n userId: msg.userId,\n reconnectionToken: msg.reconnectionToken,\n } as ConnectedMessage;\n } else if (downstream.systemMessage.disconnectedMessage) {\n const msg = downstream.systemMessage.disconnectedMessage;\n return { kind: \"disconnected\", message: msg.reason } as DisconnectedMessage;\n } else {\n return null;\n }\n } else if (downstream.dataMessage) {\n const sequenceId = this._getNumber(downstream.dataMessage.sequenceId);\n const messageData = downstream.dataMessage.data!;\n let dataType: WebPubSubDataType;\n let data: string | ArrayBuffer | object;\n if (messageData.textData) {\n dataType = \"text\";\n data = messageData.textData;\n } else if (messageData.jsonData) {\n dataType = \"json\";\n data = JSON.parse(messageData.jsonData);\n } else if (messageData.binaryData) {\n dataType = \"binary\";\n data = messageData.binaryData.buffer.slice(\n messageData.binaryData.byteOffset,\n messageData.binaryData.byteLength + messageData.binaryData.byteOffset\n );\n } else if (messageData.protobufData) {\n dataType = \"protobuf\";\n data = messageData.protobufData;\n } else {\n return null;\n }\n\n if (downstream.dataMessage.from === \"group\") {\n return {\n kind: \"groupData\",\n dataType: dataType,\n data: data,\n sequenceId: sequenceId,\n group: downstream.dataMessage.group,\n } as GroupDataMessage;\n } else if (downstream.dataMessage.from === \"server\") {\n return {\n kind: \"serverData\",\n dataType: dataType,\n data: data,\n sequenceId: sequenceId,\n } as ServerDataMessage;\n } else {\n return null;\n }\n } else {\n return null;\n }\n }\n\n /**\n * Write WebPubSubMessage to string\n * @param message - The message to be written\n */\n public static writeMessage(message: WebPubSubMessage): ArrayBuffer {\n let upstream: UpstreamMessage;\n switch (message.kind) {\n case \"joinGroup\": {\n const joinGroup = UpstreamMessage.JoinGroupMessage.create({\n group: message.group,\n ackId: message.ackId,\n } as UpstreamMessage.IJoinGroupMessage);\n upstream = UpstreamMessage.create({ joinGroupMessage: joinGroup } as IUpstreamMessage);\n break;\n }\n case \"leaveGroup\": {\n const leaveGroup = UpstreamMessage.LeaveGroupMessage.create({\n group: message.group,\n ackId: message.ackId,\n } as UpstreamMessage.ILeaveGroupMessage);\n upstream = UpstreamMessage.create({ leaveGroupMessage: leaveGroup } as IUpstreamMessage);\n break;\n }\n case \"sendToGroup\": {\n const sendToGroup = UpstreamMessage.SendToGroupMessage.create({\n group: message.group,\n ackId: message.ackId,\n data: this._getIMessageData(message.data, message.dataType),\n noEcho: message.noEcho,\n } as UpstreamMessage.ISendToGroupMessage);\n upstream = UpstreamMessage.create({ sendToGroupMessage: sendToGroup } as IUpstreamMessage);\n break;\n }\n case \"sendEvent\": {\n const sendEvent = UpstreamMessage.EventMessage.create({\n event: message.event,\n ackId: message.ackId,\n data: this._getIMessageData(message.data, message.dataType),\n } as UpstreamMessage.IEventMessage);\n upstream = UpstreamMessage.create({ eventMessage: sendEvent } as IUpstreamMessage);\n break;\n }\n case \"sequenceAck\": {\n const sequenceAck = UpstreamMessage.SequenceAckMessage.create({\n sequenceId: message.sequenceId,\n } as UpstreamMessage.ISequenceAckMessage);\n upstream = UpstreamMessage.create({ sequenceAckMessage: sequenceAck } as IUpstreamMessage);\n break;\n }\n default:\n throw new TypeError(`kind is not supported: ${message.kind}`);\n }\n\n return UpstreamMessage.encode(upstream).finish();\n }\n\n private static _getIMessageData(\n data: JSONTypes | ArrayBuffer,\n dataType: WebPubSubDataType\n ): IMessageData {\n switch (dataType) {\n case \"binary\":\n if (!(data instanceof ArrayBuffer)) {\n throw new TypeError(\"Message must be a ArrayBuffer.\");\n }\n return MessageData.create({ binaryData: new Uint8Array(data) } as IMessageData);\n case \"protobuf\":\n if (WebPubSubProtobufProtocolBase._isIAny(data)) {\n return MessageData.create({\n protobufData: google.protobuf.Any.create({\n type_url: data.type_url!,\n value: new Uint8Array(data.value!),\n } as google.protobuf.IAny),\n } as IMessageData);\n }\n throw new TypeError(\"Message must be a google.protobuf.Any.\");\n case \"text\":\n if (typeof data !== \"string\") {\n throw new TypeError(\"Message must be a string.\");\n }\n return MessageData.create({ textData: data } as IMessageData);\n case \"json\":\n return MessageData.create({ jsonData: JSON.stringify(data) } as IMessageData);\n default:\n throw new TypeError(`dataType is not supported: ${dataType}`);\n }\n }\n\n private static _getNumber(value: number | Long | null | undefined): number | null | undefined {\n if (value === null || value === undefined || typeof value === \"number\") {\n return value;\n }\n return value.toNumber();\n }\n\n private static _isIAny(obj: any): obj is google.protobuf.IAny {\n return \"type_url\" in obj && \"value\" in obj;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { WebPubSubMessage, WebPubSubClientProtocol } from \"@azure/web-pubsub-client\";\n\nimport { WebPubSubProtobufProtocolBase } from \"./webPubSubProtobufProtocolBase\";\n\n/**\n * The \"protobuf.reliable.webpubsub.azure.v1\" protocol\n */\nexport class WebPubSubProtobufProtocolImpl implements WebPubSubClientProtocol {\n /**\n * True if the protocol supports reliable features\n */\n public readonly isReliableSubProtocol = false;\n\n /**\n * The name of subprotocol. Name will be used in websocket subprotocol\n */\n public readonly name = \"protobuf.webpubsub.azure.v1\";\n\n /**\n * Creates WebPubSubMessage objects from the specified serialized representation.\n * @param input - The serialized representation\n */\n public parseMessages(input: ArrayBuffer): WebPubSubMessage | null {\n return WebPubSubProtobufProtocolBase.parseMessages(input);\n }\n\n /**\n * Write WebPubSubMessage to string\n * @param message - The message to be written\n */\n public writeMessage(message: WebPubSubMessage): ArrayBuffer {\n return WebPubSubProtobufProtocolBase.writeMessage(message);\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { WebPubSubMessage, WebPubSubClientProtocol } from \"@azure/web-pubsub-client\";\n\nimport { WebPubSubProtobufProtocolBase } from \"./webPubSubProtobufProtocolBase\";\n\n/**\n * The \"protobuf.reliable.webpubsub.azure.v1\" protocol\n */\nexport class WebPubSubProtobufReliableProtocolImpl implements WebPubSubClientProtocol {\n /**\n * True if the protocol supports reliable features\n */\n public readonly isReliableSubProtocol = true;\n\n /**\n * The name of subprotocol. Name will be used in websocket subprotocol\n */\n public readonly name = \"protobuf.reliable.webpubsub.azure.v1\";\n\n /**\n * Creates WebPubSubMessage objects from the specified serialized representation.\n * @param input - The serialized representation\n */\n public parseMessages(input: ArrayBuffer): WebPubSubMessage | null {\n return WebPubSubProtobufProtocolBase.parseMessages(input);\n }\n\n /**\n * Write WebPubSubMessage to string\n * @param message - The message to be written\n */\n public writeMessage(message: WebPubSubMessage): ArrayBuffer {\n return WebPubSubProtobufProtocolBase.writeMessage(message);\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { WebPubSubClientProtocol } from \"@azure/web-pubsub-client\";\nimport { WebPubSubProtobufProtocolImpl } from \"./webPubSubProtobufProtocol\";\nimport { WebPubSubProtobufReliableProtocolImpl } from \"./webPubSubProtobufReliableProtocol\";\n\n/**\n * Return the \"protobuf.webpubsub.azure.v1\" protocol\n */\nexport const WebPubSubProtobufProtocol = (): WebPubSubClientProtocol => {\n return new WebPubSubProtobufProtocolImpl();\n};\n\n/**\n * Return the \"protobuf.reliable.webpubsub.azure.v1\" protocol\n */\nexport const WebPubSubProtobufReliableProtocol = (): WebPubSubClientProtocol => {\n return new WebPubSubProtobufReliableProtocolImpl();\n};\n"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","global","this","Writer","util","BufferWriter","LongBits","utf8","create","Reader","BufferReader","$protobuf.Reader","$protobuf.Writer","$protobuf.util","$protobuf.roots"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]}
|