text: "use strict";
  // source: browser.proto
  /**
   * @fileoverview
   * @enhanceable
   * @suppress {messageConventions} JS Compiler reports an error if a variable or
   *     field starts with 'MSG_' and isn't a translatable message.
   * @public
   */
  // GENERATED CODE -- DO NOT EDIT!
  /* eslint-disable */
  // @ts-nocheck
  var jspb = require('google-protobuf');
  var goog = jspb;
  var global = Function('return this')();
  var session_pb = require('./session_pb.js');
  goog.object.extend(proto, session_pb);
  goog.exportSymbol('proto.proto.BrowserActiveURLRequest', null, global);
  goog.exportSymbol('proto.proto.BrowserActiveURLResponse', null, global);
  goog.exportSymbol('proto.proto.BrowserActiveURLStreamRequest', null, global);
  goog.exportSymbol('proto.proto.BrowserActiveURLStreamResponse', null, global);
  goog.exportSymbol('proto.proto.BrowserSelectedTextRequest', null, global);
  goog.exportSymbol('proto.proto.BrowserSelectedTextResponse', null, global);
  goog.exportSymbol('proto.proto.BrowserSelectedTextStreamRequest', null, global);
  goog.exportSymbol('proto.proto.BrowserSelectedTextStreamResponse', null, global);
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.proto.BrowserActiveURLRequest = function (opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.proto.BrowserActiveURLRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
      /**
       * @public
       * @override
       */
      proto.proto.BrowserActiveURLRequest.displayName = 'proto.proto.BrowserActiveURLRequest';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.proto.BrowserActiveURLResponse = function (opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.proto.BrowserActiveURLResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
      /**
       * @public
       * @override
       */
      proto.proto.BrowserActiveURLResponse.displayName = 'proto.proto.BrowserActiveURLResponse';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.proto.BrowserActiveURLStreamRequest = function (opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.proto.BrowserActiveURLStreamRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
      /**
       * @public
       * @override
       */
      proto.proto.BrowserActiveURLStreamRequest.displayName = 'proto.proto.BrowserActiveURLStreamRequest';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.proto.BrowserActiveURLStreamResponse = function (opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.proto.BrowserActiveURLStreamResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
      /**
       * @public
       * @override
       */
      proto.proto.BrowserActiveURLStreamResponse.displayName = 'proto.proto.BrowserActiveURLStreamResponse';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.proto.BrowserSelectedTextRequest = function (opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.proto.BrowserSelectedTextRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
      /**
       * @public
       * @override
       */
      proto.proto.BrowserSelectedTextRequest.displayName = 'proto.proto.BrowserSelectedTextRequest';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.proto.BrowserSelectedTextResponse = function (opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.proto.BrowserSelectedTextResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
      /**
       * @public
       * @override
       */
      proto.proto.BrowserSelectedTextResponse.displayName = 'proto.proto.BrowserSelectedTextResponse';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.proto.BrowserSelectedTextStreamRequest = function (opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.proto.BrowserSelectedTextStreamRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
      /**
       * @public
       * @override
       */
      proto.proto.BrowserSelectedTextStreamRequest.displayName = 'proto.proto.BrowserSelectedTextStreamRequest';
  }
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.proto.BrowserSelectedTextStreamResponse = function (opt_data) {
      jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.proto.BrowserSelectedTextStreamResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
      /**
       * @public
       * @override
       */
      proto.proto.BrowserSelectedTextStreamResponse.displayName = 'proto.proto.BrowserSelectedTextStreamResponse';
  }
  if (jspb.Message.GENERATE_TO_OBJECT) {
      /**
       * Creates an object representation of this proto.
       * Field names that are reserved in JavaScript and will be renamed to pb_name.
       * Optional fields that are not set will be set to undefined.
       * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
       * For the list of reserved names please see:
       *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
       * @param {boolean=} opt_includeInstance Deprecated. whether to include the
       *     JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @return {!Object}
       */
      proto.proto.BrowserActiveURLRequest.prototype.toObject = function (opt_includeInstance) {
          return proto.proto.BrowserActiveURLRequest.toObject(opt_includeInstance, this);
      };
      /**
       * Static version of the {@see toObject} method.
       * @param {boolean|undefined} includeInstance Deprecated. Whether to include
       *     the JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @param {!proto.proto.BrowserActiveURLRequest} msg The msg instance to transform.
       * @return {!Object}
       * @suppress {unusedLocalVariables} f is only used for nested messages
       */
      proto.proto.BrowserActiveURLRequest.toObject = function (includeInstance, msg) {
          var f, obj = {
              session: (f = msg.getSession()) && session_pb.Session.toObject(includeInstance, f)
          };
          if (includeInstance) {
              obj.$jspbMessageInstance = msg;
          }
          return obj;
      };
  }
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.proto.BrowserActiveURLRequest}
   */
  proto.proto.BrowserActiveURLRequest.deserializeBinary = function (bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.proto.BrowserActiveURLRequest;
      return proto.proto.BrowserActiveURLRequest.deserializeBinaryFromReader(msg, reader);
  };
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.proto.BrowserActiveURLRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.proto.BrowserActiveURLRequest}
   */
  proto.proto.BrowserActiveURLRequest.deserializeBinaryFromReader = function (msg, reader) {
      while (reader.nextField()) {
          if (reader.isEndGroup()) {
              break;
          }
          var field = reader.getFieldNumber();
          switch (field) {
              case 1:
                  var value = new session_pb.Session;
                  reader.readMessage(value, session_pb.Session.deserializeBinaryFromReader);
                  msg.setSession(value);
                  break;
              default:
                  reader.skipField();
                  break;
          }
      }
      return msg;
  };
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.proto.BrowserActiveURLRequest.prototype.serializeBinary = function () {
      var writer = new jspb.BinaryWriter();
      proto.proto.BrowserActiveURLRequest.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
  };
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.proto.BrowserActiveURLRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.proto.BrowserActiveURLRequest.serializeBinaryToWriter = function (message, writer) {
      var f = undefined;
      f = message.getSession();
      if (f != null) {
          writer.writeMessage(1, f, session_pb.Session.serializeBinaryToWriter);
      }
  };
  /**
   * optional Session session = 1;
   * @return {?proto.proto.Session}
   */
  proto.proto.BrowserActiveURLRequest.prototype.getSession = function () {
      return /** @type{?proto.proto.Session} */ (jspb.Message.getWrapperField(this, session_pb.Session, 1));
  };
  /**
   * @param {?proto.proto.Session|undefined} value
   * @return {!proto.proto.BrowserActiveURLRequest} returns this
  */
  proto.proto.BrowserActiveURLRequest.prototype.setSession = function (value) {
      return jspb.Message.setWrapperField(this, 1, value);
  };
  /**
   * Clears the message field making it undefined.
   * @return {!proto.proto.BrowserActiveURLRequest} returns this
   */
  proto.proto.BrowserActiveURLRequest.prototype.clearSession = function () {
      return this.setSession(undefined);
  };
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.proto.BrowserActiveURLRequest.prototype.hasSession = function () {
      return jspb.Message.getField(this, 1) != null;
  };
  if (jspb.Message.GENERATE_TO_OBJECT) {
      /**
       * Creates an object representation of this proto.
       * Field names that are reserved in JavaScript and will be renamed to pb_name.
       * Optional fields that are not set will be set to undefined.
       * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
       * For the list of reserved names please see:
       *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
       * @param {boolean=} opt_includeInstance Deprecated. whether to include the
       *     JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @return {!Object}
       */
      proto.proto.BrowserActiveURLResponse.prototype.toObject = function (opt_includeInstance) {
          return proto.proto.BrowserActiveURLResponse.toObject(opt_includeInstance, this);
      };
      /**
       * Static version of the {@see toObject} method.
       * @param {boolean|undefined} includeInstance Deprecated. Whether to include
       *     the JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @param {!proto.proto.BrowserActiveURLResponse} msg The msg instance to transform.
       * @return {!Object}
       * @suppress {unusedLocalVariables} f is only used for nested messages
       */
      proto.proto.BrowserActiveURLResponse.toObject = function (includeInstance, msg) {
          var f, obj = {
              url: jspb.Message.getFieldWithDefault(msg, 1, "")
          };
          if (includeInstance) {
              obj.$jspbMessageInstance = msg;
          }
          return obj;
      };
  }
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.proto.BrowserActiveURLResponse}
   */
  proto.proto.BrowserActiveURLResponse.deserializeBinary = function (bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.proto.BrowserActiveURLResponse;
      return proto.proto.BrowserActiveURLResponse.deserializeBinaryFromReader(msg, reader);
  };
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.proto.BrowserActiveURLResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.proto.BrowserActiveURLResponse}
   */
  proto.proto.BrowserActiveURLResponse.deserializeBinaryFromReader = function (msg, reader) {
      while (reader.nextField()) {
          if (reader.isEndGroup()) {
              break;
          }
          var field = reader.getFieldNumber();
          switch (field) {
              case 1:
                  var value = /** @type {string} */ (reader.readString());
                  msg.setUrl(value);
                  break;
              default:
                  reader.skipField();
                  break;
          }
      }
      return msg;
  };
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.proto.BrowserActiveURLResponse.prototype.serializeBinary = function () {
      var writer = new jspb.BinaryWriter();
      proto.proto.BrowserActiveURLResponse.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
  };
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.proto.BrowserActiveURLResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.proto.BrowserActiveURLResponse.serializeBinaryToWriter = function (message, writer) {
      var f = undefined;
      f = message.getUrl();
      if (f.length > 0) {
          writer.writeString(1, f);
      }
  };
  /**
   * optional string url = 1;
   * @return {string}
   */
  proto.proto.BrowserActiveURLResponse.prototype.getUrl = function () {
      return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  /**
   * @param {string} value
   * @return {!proto.proto.BrowserActiveURLResponse} returns this
   */
  proto.proto.BrowserActiveURLResponse.prototype.setUrl = function (value) {
      return jspb.Message.setProto3StringField(this, 1, value);
  };
  if (jspb.Message.GENERATE_TO_OBJECT) {
      /**
       * Creates an object representation of this proto.
       * Field names that are reserved in JavaScript and will be renamed to pb_name.
       * Optional fields that are not set will be set to undefined.
       * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
       * For the list of reserved names please see:
       *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
       * @param {boolean=} opt_includeInstance Deprecated. whether to include the
       *     JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @return {!Object}
       */
      proto.proto.BrowserActiveURLStreamRequest.prototype.toObject = function (opt_includeInstance) {
          return proto.proto.BrowserActiveURLStreamRequest.toObject(opt_includeInstance, this);
      };
      /**
       * Static version of the {@see toObject} method.
       * @param {boolean|undefined} includeInstance Deprecated. Whether to include
       *     the JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @param {!proto.proto.BrowserActiveURLStreamRequest} msg The msg instance to transform.
       * @return {!Object}
       * @suppress {unusedLocalVariables} f is only used for nested messages
       */
      proto.proto.BrowserActiveURLStreamRequest.toObject = function (includeInstance, msg) {
          var f, obj = {
              session: (f = msg.getSession()) && session_pb.Session.toObject(includeInstance, f)
          };
          if (includeInstance) {
              obj.$jspbMessageInstance = msg;
          }
          return obj;
      };
  }
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.proto.BrowserActiveURLStreamRequest}
   */
  proto.proto.BrowserActiveURLStreamRequest.deserializeBinary = function (bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.proto.BrowserActiveURLStreamRequest;
      return proto.proto.BrowserActiveURLStreamRequest.deserializeBinaryFromReader(msg, reader);
  };
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.proto.BrowserActiveURLStreamRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.proto.BrowserActiveURLStreamRequest}
   */
  proto.proto.BrowserActiveURLStreamRequest.deserializeBinaryFromReader = function (msg, reader) {
      while (reader.nextField()) {
          if (reader.isEndGroup()) {
              break;
          }
          var field = reader.getFieldNumber();
          switch (field) {
              case 1:
                  var value = new session_pb.Session;
                  reader.readMessage(value, session_pb.Session.deserializeBinaryFromReader);
                  msg.setSession(value);
                  break;
              default:
                  reader.skipField();
                  break;
          }
      }
      return msg;
  };
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.proto.BrowserActiveURLStreamRequest.prototype.serializeBinary = function () {
      var writer = new jspb.BinaryWriter();
      proto.proto.BrowserActiveURLStreamRequest.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
  };
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.proto.BrowserActiveURLStreamRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.proto.BrowserActiveURLStreamRequest.serializeBinaryToWriter = function (message, writer) {
      var f = undefined;
      f = message.getSession();
      if (f != null) {
          writer.writeMessage(1, f, session_pb.Session.serializeBinaryToWriter);
      }
  };
  /**
   * optional Session session = 1;
   * @return {?proto.proto.Session}
   */
  proto.proto.BrowserActiveURLStreamRequest.prototype.getSession = function () {
      return /** @type{?proto.proto.Session} */ (jspb.Message.getWrapperField(this, session_pb.Session, 1));
  };
  /**
   * @param {?proto.proto.Session|undefined} value
   * @return {!proto.proto.BrowserActiveURLStreamRequest} returns this
  */
  proto.proto.BrowserActiveURLStreamRequest.prototype.setSession = function (value) {
      return jspb.Message.setWrapperField(this, 1, value);
  };
  /**
   * Clears the message field making it undefined.
   * @return {!proto.proto.BrowserActiveURLStreamRequest} returns this
   */
  proto.proto.BrowserActiveURLStreamRequest.prototype.clearSession = function () {
      return this.setSession(undefined);
  };
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.proto.BrowserActiveURLStreamRequest.prototype.hasSession = function () {
      return jspb.Message.getField(this, 1) != null;
  };
  if (jspb.Message.GENERATE_TO_OBJECT) {
      /**
       * Creates an object representation of this proto.
       * Field names that are reserved in JavaScript and will be renamed to pb_name.
       * Optional fields that are not set will be set to undefined.
       * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
       * For the list of reserved names please see:
       *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
       * @param {boolean=} opt_includeInstance Deprecated. whether to include the
       *     JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @return {!Object}
       */
      proto.proto.BrowserActiveURLStreamResponse.prototype.toObject = function (opt_includeInstance) {
          return proto.proto.BrowserActiveURLStreamResponse.toObject(opt_includeInstance, this);
      };
      /**
       * Static version of the {@see toObject} method.
       * @param {boolean|undefined} includeInstance Deprecated. Whether to include
       *     the JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @param {!proto.proto.BrowserActiveURLStreamResponse} msg The msg instance to transform.
       * @return {!Object}
       * @suppress {unusedLocalVariables} f is only used for nested messages
       */
      proto.proto.BrowserActiveURLStreamResponse.toObject = function (includeInstance, msg) {
          var f, obj = {
              url: jspb.Message.getFieldWithDefault(msg, 1, ""),
              error: jspb.Message.getFieldWithDefault(msg, 15, "")
          };
          if (includeInstance) {
              obj.$jspbMessageInstance = msg;
          }
          return obj;
      };
  }
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.proto.BrowserActiveURLStreamResponse}
   */
  proto.proto.BrowserActiveURLStreamResponse.deserializeBinary = function (bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.proto.BrowserActiveURLStreamResponse;
      return proto.proto.BrowserActiveURLStreamResponse.deserializeBinaryFromReader(msg, reader);
  };
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.proto.BrowserActiveURLStreamResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.proto.BrowserActiveURLStreamResponse}
   */
  proto.proto.BrowserActiveURLStreamResponse.deserializeBinaryFromReader = function (msg, reader) {
      while (reader.nextField()) {
          if (reader.isEndGroup()) {
              break;
          }
          var field = reader.getFieldNumber();
          switch (field) {
              case 1:
                  var value = /** @type {string} */ (reader.readString());
                  msg.setUrl(value);
                  break;
              case 15:
                  var value = /** @type {string} */ (reader.readString());
                  msg.setError(value);
                  break;
              default:
                  reader.skipField();
                  break;
          }
      }
      return msg;
  };
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.proto.BrowserActiveURLStreamResponse.prototype.serializeBinary = function () {
      var writer = new jspb.BinaryWriter();
      proto.proto.BrowserActiveURLStreamResponse.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
  };
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.proto.BrowserActiveURLStreamResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.proto.BrowserActiveURLStreamResponse.serializeBinaryToWriter = function (message, writer) {
      var f = undefined;
      f = message.getUrl();
      if (f.length > 0) {
          writer.writeString(1, f);
      }
      f = message.getError();
      if (f.length > 0) {
          writer.writeString(15, f);
      }
  };
  /**
   * optional string url = 1;
   * @return {string}
   */
  proto.proto.BrowserActiveURLStreamResponse.prototype.getUrl = function () {
      return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  /**
   * @param {string} value
   * @return {!proto.proto.BrowserActiveURLStreamResponse} returns this
   */
  proto.proto.BrowserActiveURLStreamResponse.prototype.setUrl = function (value) {
      return jspb.Message.setProto3StringField(this, 1, value);
  };
  /**
   * optional string error = 15;
   * @return {string}
   */
  proto.proto.BrowserActiveURLStreamResponse.prototype.getError = function () {
      return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, ""));
  };
  /**
   * @param {string} value
   * @return {!proto.proto.BrowserActiveURLStreamResponse} returns this
   */
  proto.proto.BrowserActiveURLStreamResponse.prototype.setError = function (value) {
      return jspb.Message.setProto3StringField(this, 15, value);
  };
  if (jspb.Message.GENERATE_TO_OBJECT) {
      /**
       * Creates an object representation of this proto.
       * Field names that are reserved in JavaScript and will be renamed to pb_name.
       * Optional fields that are not set will be set to undefined.
       * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
       * For the list of reserved names please see:
       *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
       * @param {boolean=} opt_includeInstance Deprecated. whether to include the
       *     JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @return {!Object}
       */
      proto.proto.BrowserSelectedTextRequest.prototype.toObject = function (opt_includeInstance) {
          return proto.proto.BrowserSelectedTextRequest.toObject(opt_includeInstance, this);
      };
      /**
       * Static version of the {@see toObject} method.
       * @param {boolean|undefined} includeInstance Deprecated. Whether to include
       *     the JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @param {!proto.proto.BrowserSelectedTextRequest} msg The msg instance to transform.
       * @return {!Object}
       * @suppress {unusedLocalVariables} f is only used for nested messages
       */
      proto.proto.BrowserSelectedTextRequest.toObject = function (includeInstance, msg) {
          var f, obj = {
              session: (f = msg.getSession()) && session_pb.Session.toObject(includeInstance, f)
          };
          if (includeInstance) {
              obj.$jspbMessageInstance = msg;
          }
          return obj;
      };
  }
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.proto.BrowserSelectedTextRequest}
   */
  proto.proto.BrowserSelectedTextRequest.deserializeBinary = function (bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.proto.BrowserSelectedTextRequest;
      return proto.proto.BrowserSelectedTextRequest.deserializeBinaryFromReader(msg, reader);
  };
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.proto.BrowserSelectedTextRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.proto.BrowserSelectedTextRequest}
   */
  proto.proto.BrowserSelectedTextRequest.deserializeBinaryFromReader = function (msg, reader) {
      while (reader.nextField()) {
          if (reader.isEndGroup()) {
              break;
          }
          var field = reader.getFieldNumber();
          switch (field) {
              case 1:
                  var value = new session_pb.Session;
                  reader.readMessage(value, session_pb.Session.deserializeBinaryFromReader);
                  msg.setSession(value);
                  break;
              default:
                  reader.skipField();
                  break;
          }
      }
      return msg;
  };
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.proto.BrowserSelectedTextRequest.prototype.serializeBinary = function () {
      var writer = new jspb.BinaryWriter();
      proto.proto.BrowserSelectedTextRequest.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
  };
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.proto.BrowserSelectedTextRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.proto.BrowserSelectedTextRequest.serializeBinaryToWriter = function (message, writer) {
      var f = undefined;
      f = message.getSession();
      if (f != null) {
          writer.writeMessage(1, f, session_pb.Session.serializeBinaryToWriter);
      }
  };
  /**
   * optional Session session = 1;
   * @return {?proto.proto.Session}
   */
  proto.proto.BrowserSelectedTextRequest.prototype.getSession = function () {
      return /** @type{?proto.proto.Session} */ (jspb.Message.getWrapperField(this, session_pb.Session, 1));
  };
  /**
   * @param {?proto.proto.Session|undefined} value
   * @return {!proto.proto.BrowserSelectedTextRequest} returns this
  */
  proto.proto.BrowserSelectedTextRequest.prototype.setSession = function (value) {
      return jspb.Message.setWrapperField(this, 1, value);
  };
  /**
   * Clears the message field making it undefined.
   * @return {!proto.proto.BrowserSelectedTextRequest} returns this
   */
  proto.proto.BrowserSelectedTextRequest.prototype.clearSession = function () {
      return this.setSession(undefined);
  };
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.proto.BrowserSelectedTextRequest.prototype.hasSession = function () {
      return jspb.Message.getField(this, 1) != null;
  };
  if (jspb.Message.GENERATE_TO_OBJECT) {
      /**
       * Creates an object representation of this proto.
       * Field names that are reserved in JavaScript and will be renamed to pb_name.
       * Optional fields that are not set will be set to undefined.
       * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
       * For the list of reserved names please see:
       *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
       * @param {boolean=} opt_includeInstance Deprecated. whether to include the
       *     JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @return {!Object}
       */
      proto.proto.BrowserSelectedTextResponse.prototype.toObject = function (opt_includeInstance) {
          return proto.proto.BrowserSelectedTextResponse.toObject(opt_includeInstance, this);
      };
      /**
       * Static version of the {@see toObject} method.
       * @param {boolean|undefined} includeInstance Deprecated. Whether to include
       *     the JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @param {!proto.proto.BrowserSelectedTextResponse} msg The msg instance to transform.
       * @return {!Object}
       * @suppress {unusedLocalVariables} f is only used for nested messages
       */
      proto.proto.BrowserSelectedTextResponse.toObject = function (includeInstance, msg) {
          var f, obj = {
              text: jspb.Message.getFieldWithDefault(msg, 1, ""),
              url: jspb.Message.getFieldWithDefault(msg, 2, ""),
              tabtitle: jspb.Message.getFieldWithDefault(msg, 3, "")
          };
          if (includeInstance) {
              obj.$jspbMessageInstance = msg;
          }
          return obj;
      };
  }
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.proto.BrowserSelectedTextResponse}
   */
  proto.proto.BrowserSelectedTextResponse.deserializeBinary = function (bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.proto.BrowserSelectedTextResponse;
      return proto.proto.BrowserSelectedTextResponse.deserializeBinaryFromReader(msg, reader);
  };
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.proto.BrowserSelectedTextResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.proto.BrowserSelectedTextResponse}
   */
  proto.proto.BrowserSelectedTextResponse.deserializeBinaryFromReader = function (msg, reader) {
      while (reader.nextField()) {
          if (reader.isEndGroup()) {
              break;
          }
          var field = reader.getFieldNumber();
          switch (field) {
              case 1:
                  var value = /** @type {string} */ (reader.readString());
                  msg.setText(value);
                  break;
              case 2:
                  var value = /** @type {string} */ (reader.readString());
                  msg.setUrl(value);
                  break;
              case 3:
                  var value = /** @type {string} */ (reader.readString());
                  msg.setTabtitle(value);
                  break;
              default:
                  reader.skipField();
                  break;
          }
      }
      return msg;
  };
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.proto.BrowserSelectedTextResponse.prototype.serializeBinary = function () {
      var writer = new jspb.BinaryWriter();
      proto.proto.BrowserSelectedTextResponse.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
  };
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.proto.BrowserSelectedTextResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.proto.BrowserSelectedTextResponse.serializeBinaryToWriter = function (message, writer) {
      var f = undefined;
      f = message.getText();
      if (f.length > 0) {
          writer.writeString(1, f);
      }
      f = message.getUrl();
      if (f.length > 0) {
          writer.writeString(2, f);
      }
      f = message.getTabtitle();
      if (f.length > 0) {
          writer.writeString(3, f);
      }
  };
  /**
   * optional string text = 1;
   * @return {string}
   */
  proto.proto.BrowserSelectedTextResponse.prototype.getText = function () {
      return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  /**
   * @param {string} value
   * @return {!proto.proto.BrowserSelectedTextResponse} returns this
   */
  proto.proto.BrowserSelectedTextResponse.prototype.setText = function (value) {
      return jspb.Message.setProto3StringField(this, 1, value);
  };
  /**
   * optional string url = 2;
   * @return {string}
   */
  proto.proto.BrowserSelectedTextResponse.prototype.getUrl = function () {
      return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  /**
   * @param {string} value
   * @return {!proto.proto.BrowserSelectedTextResponse} returns this
   */
  proto.proto.BrowserSelectedTextResponse.prototype.setUrl = function (value) {
      return jspb.Message.setProto3StringField(this, 2, value);
  };
  /**
   * optional string tabTitle = 3;
   * @return {string}
   */
  proto.proto.BrowserSelectedTextResponse.prototype.getTabtitle = function () {
      return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  /**
   * @param {string} value
   * @return {!proto.proto.BrowserSelectedTextResponse} returns this
   */
  proto.proto.BrowserSelectedTextResponse.prototype.setTabtitle = function (value) {
      return jspb.Message.setProto3StringField(this, 3, value);
  };
  if (jspb.Message.GENERATE_TO_OBJECT) {
      /**
       * Creates an object representation of this proto.
       * Field names that are reserved in JavaScript and will be renamed to pb_name.
       * Optional fields that are not set will be set to undefined.
       * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
       * For the list of reserved names please see:
       *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
       * @param {boolean=} opt_includeInstance Deprecated. whether to include the
       *     JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @return {!Object}
       */
      proto.proto.BrowserSelectedTextStreamRequest.prototype.toObject = function (opt_includeInstance) {
          return proto.proto.BrowserSelectedTextStreamRequest.toObject(opt_includeInstance, this);
      };
      /**
       * Static version of the {@see toObject} method.
       * @param {boolean|undefined} includeInstance Deprecated. Whether to include
       *     the JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @param {!proto.proto.BrowserSelectedTextStreamRequest} msg The msg instance to transform.
       * @return {!Object}
       * @suppress {unusedLocalVariables} f is only used for nested messages
       */
      proto.proto.BrowserSelectedTextStreamRequest.toObject = function (includeInstance, msg) {
          var f, obj = {
              session: (f = msg.getSession()) && session_pb.Session.toObject(includeInstance, f)
          };
          if (includeInstance) {
              obj.$jspbMessageInstance = msg;
          }
          return obj;
      };
  }
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.proto.BrowserSelectedTextStreamRequest}
   */
  proto.proto.BrowserSelectedTextStreamRequest.deserializeBinary = function (bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.proto.BrowserSelectedTextStreamRequest;
      return proto.proto.BrowserSelectedTextStreamRequest.deserializeBinaryFromReader(msg, reader);
  };
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.proto.BrowserSelectedTextStreamRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.proto.BrowserSelectedTextStreamRequest}
   */
  proto.proto.BrowserSelectedTextStreamRequest.deserializeBinaryFromReader = function (msg, reader) {
      while (reader.nextField()) {
          if (reader.isEndGroup()) {
              break;
          }
          var field = reader.getFieldNumber();
          switch (field) {
              case 1:
                  var value = new session_pb.Session;
                  reader.readMessage(value, session_pb.Session.deserializeBinaryFromReader);
                  msg.setSession(value);
                  break;
              default:
                  reader.skipField();
                  break;
          }
      }
      return msg;
  };
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.proto.BrowserSelectedTextStreamRequest.prototype.serializeBinary = function () {
      var writer = new jspb.BinaryWriter();
      proto.proto.BrowserSelectedTextStreamRequest.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
  };
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.proto.BrowserSelectedTextStreamRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.proto.BrowserSelectedTextStreamRequest.serializeBinaryToWriter = function (message, writer) {
      var f = undefined;
      f = message.getSession();
      if (f != null) {
          writer.writeMessage(1, f, session_pb.Session.serializeBinaryToWriter);
      }
  };
  /**
   * optional Session session = 1;
   * @return {?proto.proto.Session}
   */
  proto.proto.BrowserSelectedTextStreamRequest.prototype.getSession = function () {
      return /** @type{?proto.proto.Session} */ (jspb.Message.getWrapperField(this, session_pb.Session, 1));
  };
  /**
   * @param {?proto.proto.Session|undefined} value
   * @return {!proto.proto.BrowserSelectedTextStreamRequest} returns this
  */
  proto.proto.BrowserSelectedTextStreamRequest.prototype.setSession = function (value) {
      return jspb.Message.setWrapperField(this, 1, value);
  };
  /**
   * Clears the message field making it undefined.
   * @return {!proto.proto.BrowserSelectedTextStreamRequest} returns this
   */
  proto.proto.BrowserSelectedTextStreamRequest.prototype.clearSession = function () {
      return this.setSession(undefined);
  };
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.proto.BrowserSelectedTextStreamRequest.prototype.hasSession = function () {
      return jspb.Message.getField(this, 1) != null;
  };
  if (jspb.Message.GENERATE_TO_OBJECT) {
      /**
       * Creates an object representation of this proto.
       * Field names that are reserved in JavaScript and will be renamed to pb_name.
       * Optional fields that are not set will be set to undefined.
       * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
       * For the list of reserved names please see:
       *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
       * @param {boolean=} opt_includeInstance Deprecated. whether to include the
       *     JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @return {!Object}
       */
      proto.proto.BrowserSelectedTextStreamResponse.prototype.toObject = function (opt_includeInstance) {
          return proto.proto.BrowserSelectedTextStreamResponse.toObject(opt_includeInstance, this);
      };
      /**
       * Static version of the {@see toObject} method.
       * @param {boolean|undefined} includeInstance Deprecated. Whether to include
       *     the JSPB instance for transitional soy proto support:
       *     http://goto/soy-param-migration
       * @param {!proto.proto.BrowserSelectedTextStreamResponse} msg The msg instance to transform.
       * @return {!Object}
       * @suppress {unusedLocalVariables} f is only used for nested messages
       */
      proto.proto.BrowserSelectedTextStreamResponse.toObject = function (includeInstance, msg) {
          var f, obj = {
              text: jspb.Message.getFieldWithDefault(msg, 1, ""),
              url: jspb.Message.getFieldWithDefault(msg, 2, ""),
              tabtitle: jspb.Message.getFieldWithDefault(msg, 3, ""),
              error: jspb.Message.getFieldWithDefault(msg, 15, "")
          };
          if (includeInstance) {
              obj.$jspbMessageInstance = msg;
          }
          return obj;
      };
  }
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.proto.BrowserSelectedTextStreamResponse}
   */
  proto.proto.BrowserSelectedTextStreamResponse.deserializeBinary = function (bytes) {
      var reader = new jspb.BinaryReader(bytes);
      var msg = new proto.proto.BrowserSelectedTextStreamResponse;
      return proto.proto.BrowserSelectedTextStreamResponse.deserializeBinaryFromReader(msg, reader);
  };
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.proto.BrowserSelectedTextStreamResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.proto.BrowserSelectedTextStreamResponse}
   */
  proto.proto.BrowserSelectedTextStreamResponse.deserializeBinaryFromReader = function (msg, reader) {
      while (reader.nextField()) {
          if (reader.isEndGroup()) {
              break;
          }
          var field = reader.getFieldNumber();
          switch (field) {
              case 1:
                  var value = /** @type {string} */ (reader.readString());
                  msg.setText(value);
                  break;
              case 2:
                  var value = /** @type {string} */ (reader.readString());
                  msg.setUrl(value);
                  break;
              case 3:
                  var value = /** @type {string} */ (reader.readString());
                  msg.setTabtitle(value);
                  break;
              case 15:
                  var value = /** @type {string} */ (reader.readString());
                  msg.setError(value);
                  break;
              default:
                  reader.skipField();
                  break;
          }
      }
      return msg;
  };
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.proto.BrowserSelectedTextStreamResponse.prototype.serializeBinary = function () {
      var writer = new jspb.BinaryWriter();
      proto.proto.BrowserSelectedTextStreamResponse.serializeBinaryToWriter(this, writer);
      return writer.getResultBuffer();
  };
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.proto.BrowserSelectedTextStreamResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.proto.BrowserSelectedTextStreamResponse.serializeBinaryToWriter = function (message, writer) {
      var f = undefined;
      f = message.getText();
      if (f.length > 0) {
          writer.writeString(1, f);
      }
      f = message.getUrl();
      if (f.length > 0) {
          writer.writeString(2, f);
      }
      f = message.getTabtitle();
      if (f.length > 0) {
          writer.writeString(3, f);
      }
      f = message.getError();
      if (f.length > 0) {
          writer.writeString(15, f);
      }
  };
  /**
   * optional string text = 1;
   * @return {string}
   */
  proto.proto.BrowserSelectedTextStreamResponse.prototype.getText = function () {
      return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  /**
   * @param {string} value
   * @return {!proto.proto.BrowserSelectedTextStreamResponse} returns this
   */
  proto.proto.BrowserSelectedTextStreamResponse.prototype.setText = function (value) {
      return jspb.Message.setProto3StringField(this, 1, value);
  };
  /**
   * optional string url = 2;
   * @return {string}
   */
  proto.proto.BrowserSelectedTextStreamResponse.prototype.getUrl = function () {
      return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  /**
   * @param {string} value
   * @return {!proto.proto.BrowserSelectedTextStreamResponse} returns this
   */
  proto.proto.BrowserSelectedTextStreamResponse.prototype.setUrl = function (value) {
      return jspb.Message.setProto3StringField(this, 2, value);
  };
  /**
   * optional string tabTitle = 3;
   * @return {string}
   */
  proto.proto.BrowserSelectedTextStreamResponse.prototype.getTabtitle = function () {
      return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  /**
   * @param {string} value
   * @return {!proto.proto.BrowserSelectedTextStreamResponse} returns this
   */
  proto.proto.BrowserSelectedTextStreamResponse.prototype.setTabtitle = function (value) {
      return jspb.Message.setProto3StringField(this, 3, value);
  };
  /**
   * optional string error = 15;
   * @return {string}
   */
  proto.proto.BrowserSelectedTextStreamResponse.prototype.getError = function () {
      return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, ""));
  };
  /**
   * @param {string} value
   * @return {!proto.proto.BrowserSelectedTextStreamResponse} returns this
   */
  proto.proto.BrowserSelectedTextStreamResponse.prototype.setError = function (value) {
      return jspb.Message.setProto3StringField(this, 15, value);
  };
  goog.object.extend(exports, proto.proto);
  