ModifiersProto.java

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: modifiers.proto

package androidx.wear.protolayout.proto;

public final class ModifiersProto {
  private ModifiersProto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  public interface ClickableOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.wear.protolayout.proto.Clickable)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * The ID associated with this action.
     * </pre>
     *
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <pre>
     * The ID associated with this action.
     * </pre>
     *
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <pre>
     * The action to perform when the element this modifier is attached to is
     * clicked.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
     * @return Whether the onClick field is set.
     */
    boolean hasOnClick();
    /**
     * <pre>
     * The action to perform when the element this modifier is attached to is
     * clicked.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
     * @return The onClick.
     */
    androidx.wear.protolayout.proto.ActionProto.Action getOnClick();
  }
  /**
   * <pre>
   * A modifier for an element which can have associated Actions for click events.
   * When an element with a ClickableModifier is clicked it will fire the
   * associated action.
   * </pre>
   *
   * Protobuf type {@code androidx.wear.protolayout.proto.Clickable}
   */
  public  static final class Clickable extends
      com.google.protobuf.GeneratedMessageLite<
          Clickable, Clickable.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.wear.protolayout.proto.Clickable)
      ClickableOrBuilder {
    private Clickable() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <pre>
     * The ID associated with this action.
     * </pre>
     *
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <pre>
     * The ID associated with this action.
     * </pre>
     *
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <pre>
     * The ID associated with this action.
     * </pre>
     *
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <pre>
     * The ID associated with this action.
     * </pre>
     *
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <pre>
     * The ID associated with this action.
     * </pre>
     *
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int ON_CLICK_FIELD_NUMBER = 2;
    private androidx.wear.protolayout.proto.ActionProto.Action onClick_;
    /**
     * <pre>
     * The action to perform when the element this modifier is attached to is
     * clicked.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
     */
    @java.lang.Override
    public boolean hasOnClick() {
      return onClick_ != null;
    }
    /**
     * <pre>
     * The action to perform when the element this modifier is attached to is
     * clicked.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ActionProto.Action getOnClick() {
      return onClick_ == null ? androidx.wear.protolayout.proto.ActionProto.Action.getDefaultInstance() : onClick_;
    }
    /**
     * <pre>
     * The action to perform when the element this modifier is attached to is
     * clicked.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
     */
    private void setOnClick(androidx.wear.protolayout.proto.ActionProto.Action value) {
      value.getClass();
  onClick_ = value;
      
      }
    /**
     * <pre>
     * The action to perform when the element this modifier is attached to is
     * clicked.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeOnClick(androidx.wear.protolayout.proto.ActionProto.Action value) {
      value.getClass();
  if (onClick_ != null &&
          onClick_ != androidx.wear.protolayout.proto.ActionProto.Action.getDefaultInstance()) {
        onClick_ =
          androidx.wear.protolayout.proto.ActionProto.Action.newBuilder(onClick_).mergeFrom(value).buildPartial();
      } else {
        onClick_ = value;
      }
      
    }
    /**
     * <pre>
     * The action to perform when the element this modifier is attached to is
     * clicked.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
     */
    private void clearOnClick() {  onClick_ = null;
      
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.wear.protolayout.proto.ModifiersProto.Clickable prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * A modifier for an element which can have associated Actions for click events.
     * When an element with a ClickableModifier is clicked it will fire the
     * associated action.
     * </pre>
     *
     * Protobuf type {@code androidx.wear.protolayout.proto.Clickable}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.wear.protolayout.proto.ModifiersProto.Clickable, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.wear.protolayout.proto.Clickable)
        androidx.wear.protolayout.proto.ModifiersProto.ClickableOrBuilder {
      // Construct using androidx.wear.protolayout.proto.ModifiersProto.Clickable.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * The ID associated with this action.
       * </pre>
       *
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <pre>
       * The ID associated with this action.
       * </pre>
       *
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <pre>
       * The ID associated with this action.
       * </pre>
       *
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <pre>
       * The ID associated with this action.
       * </pre>
       *
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <pre>
       * The ID associated with this action.
       * </pre>
       *
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * The action to perform when the element this modifier is attached to is
       * clicked.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
       */
      @java.lang.Override
      public boolean hasOnClick() {
        return instance.hasOnClick();
      }
      /**
       * <pre>
       * The action to perform when the element this modifier is attached to is
       * clicked.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ActionProto.Action getOnClick() {
        return instance.getOnClick();
      }
      /**
       * <pre>
       * The action to perform when the element this modifier is attached to is
       * clicked.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
       */
      public Builder setOnClick(androidx.wear.protolayout.proto.ActionProto.Action value) {
        copyOnWrite();
        instance.setOnClick(value);
        return this;
        }
      /**
       * <pre>
       * The action to perform when the element this modifier is attached to is
       * clicked.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
       */
      public Builder setOnClick(
          androidx.wear.protolayout.proto.ActionProto.Action.Builder builderForValue) {
        copyOnWrite();
        instance.setOnClick(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * The action to perform when the element this modifier is attached to is
       * clicked.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
       */
      public Builder mergeOnClick(androidx.wear.protolayout.proto.ActionProto.Action value) {
        copyOnWrite();
        instance.mergeOnClick(value);
        return this;
      }
      /**
       * <pre>
       * The action to perform when the element this modifier is attached to is
       * clicked.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Action on_click = 2;</code>
       */
      public Builder clearOnClick() {  copyOnWrite();
        instance.clearOnClick();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.wear.protolayout.proto.Clickable)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.wear.protolayout.proto.ModifiersProto.Clickable();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "onClick_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.wear.protolayout.proto.ModifiersProto.Clickable> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.wear.protolayout.proto.ModifiersProto.Clickable.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.wear.protolayout.proto.ModifiersProto.Clickable>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:androidx.wear.protolayout.proto.Clickable)
    private static final androidx.wear.protolayout.proto.ModifiersProto.Clickable DEFAULT_INSTANCE;
    static {
      Clickable defaultInstance = new Clickable();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Clickable.class, defaultInstance);
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Clickable getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Clickable> PARSER;

    public static com.google.protobuf.Parser<Clickable> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface SemanticsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.wear.protolayout.proto.Semantics)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * The content description associated with this element. This will be dictated
     * when the element is focused by the screen reader.
     * </pre>
     *
     * <code>string content_description = 1;</code>
     * @return The contentDescription.
     */
    java.lang.String getContentDescription();
    /**
     * <pre>
     * The content description associated with this element. This will be dictated
     * when the element is focused by the screen reader.
     * </pre>
     *
     * <code>string content_description = 1;</code>
     * @return The bytes for contentDescription.
     */
    com.google.protobuf.ByteString
        getContentDescriptionBytes();
  }
  /**
   * <pre>
   * A modifier for an element which has accessibility semantics associated with
   * it. This should generally be used sparingly, and in most cases should only be
   * applied to the top-level layout element or to Clickables.
   * </pre>
   *
   * Protobuf type {@code androidx.wear.protolayout.proto.Semantics}
   */
  public  static final class Semantics extends
      com.google.protobuf.GeneratedMessageLite<
          Semantics, Semantics.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.wear.protolayout.proto.Semantics)
      SemanticsOrBuilder {
    private Semantics() {
      contentDescription_ = "";
    }
    public static final int CONTENT_DESCRIPTION_FIELD_NUMBER = 1;
    private java.lang.String contentDescription_;
    /**
     * <pre>
     * The content description associated with this element. This will be dictated
     * when the element is focused by the screen reader.
     * </pre>
     *
     * <code>string content_description = 1;</code>
     * @return The contentDescription.
     */
    @java.lang.Override
    public java.lang.String getContentDescription() {
      return contentDescription_;
    }
    /**
     * <pre>
     * The content description associated with this element. This will be dictated
     * when the element is focused by the screen reader.
     * </pre>
     *
     * <code>string content_description = 1;</code>
     * @return The bytes for contentDescription.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getContentDescriptionBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(contentDescription_);
    }
    /**
     * <pre>
     * The content description associated with this element. This will be dictated
     * when the element is focused by the screen reader.
     * </pre>
     *
     * <code>string content_description = 1;</code>
     * @param value The contentDescription to set.
     */
    private void setContentDescription(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      contentDescription_ = value;
    }
    /**
     * <pre>
     * The content description associated with this element. This will be dictated
     * when the element is focused by the screen reader.
     * </pre>
     *
     * <code>string content_description = 1;</code>
     */
    private void clearContentDescription() {
      
      contentDescription_ = getDefaultInstance().getContentDescription();
    }
    /**
     * <pre>
     * The content description associated with this element. This will be dictated
     * when the element is focused by the screen reader.
     * </pre>
     *
     * <code>string content_description = 1;</code>
     * @param value The bytes for contentDescription to set.
     */
    private void setContentDescriptionBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      contentDescription_ = value.toStringUtf8();
      
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.wear.protolayout.proto.ModifiersProto.Semantics prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * A modifier for an element which has accessibility semantics associated with
     * it. This should generally be used sparingly, and in most cases should only be
     * applied to the top-level layout element or to Clickables.
     * </pre>
     *
     * Protobuf type {@code androidx.wear.protolayout.proto.Semantics}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.wear.protolayout.proto.ModifiersProto.Semantics, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.wear.protolayout.proto.Semantics)
        androidx.wear.protolayout.proto.ModifiersProto.SemanticsOrBuilder {
      // Construct using androidx.wear.protolayout.proto.ModifiersProto.Semantics.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * The content description associated with this element. This will be dictated
       * when the element is focused by the screen reader.
       * </pre>
       *
       * <code>string content_description = 1;</code>
       * @return The contentDescription.
       */
      @java.lang.Override
      public java.lang.String getContentDescription() {
        return instance.getContentDescription();
      }
      /**
       * <pre>
       * The content description associated with this element. This will be dictated
       * when the element is focused by the screen reader.
       * </pre>
       *
       * <code>string content_description = 1;</code>
       * @return The bytes for contentDescription.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getContentDescriptionBytes() {
        return instance.getContentDescriptionBytes();
      }
      /**
       * <pre>
       * The content description associated with this element. This will be dictated
       * when the element is focused by the screen reader.
       * </pre>
       *
       * <code>string content_description = 1;</code>
       * @param value The contentDescription to set.
       * @return This builder for chaining.
       */
      public Builder setContentDescription(
          java.lang.String value) {
        copyOnWrite();
        instance.setContentDescription(value);
        return this;
      }
      /**
       * <pre>
       * The content description associated with this element. This will be dictated
       * when the element is focused by the screen reader.
       * </pre>
       *
       * <code>string content_description = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearContentDescription() {
        copyOnWrite();
        instance.clearContentDescription();
        return this;
      }
      /**
       * <pre>
       * The content description associated with this element. This will be dictated
       * when the element is focused by the screen reader.
       * </pre>
       *
       * <code>string content_description = 1;</code>
       * @param value The bytes for contentDescription to set.
       * @return This builder for chaining.
       */
      public Builder setContentDescriptionBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setContentDescriptionBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.wear.protolayout.proto.Semantics)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.wear.protolayout.proto.ModifiersProto.Semantics();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "contentDescription_",
            };
            java.lang.String info =
                "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001\u0208";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.wear.protolayout.proto.ModifiersProto.Semantics> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.wear.protolayout.proto.ModifiersProto.Semantics.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.wear.protolayout.proto.ModifiersProto.Semantics>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:androidx.wear.protolayout.proto.Semantics)
    private static final androidx.wear.protolayout.proto.ModifiersProto.Semantics DEFAULT_INSTANCE;
    static {
      Semantics defaultInstance = new Semantics();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Semantics.class, defaultInstance);
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Semantics getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Semantics> PARSER;

    public static com.google.protobuf.Parser<Semantics> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PaddingOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.wear.protolayout.proto.Padding)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * The padding on the end of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
     * @return Whether the end field is set.
     */
    boolean hasEnd();
    /**
     * <pre>
     * The padding on the end of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
     * @return The end.
     */
    androidx.wear.protolayout.proto.DimensionProto.DpProp getEnd();

    /**
     * <pre>
     * The padding on the start of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
     * @return Whether the start field is set.
     */
    boolean hasStart();
    /**
     * <pre>
     * The padding on the start of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
     * @return The start.
     */
    androidx.wear.protolayout.proto.DimensionProto.DpProp getStart();

    /**
     * <pre>
     * The padding at the top, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
     * @return Whether the top field is set.
     */
    boolean hasTop();
    /**
     * <pre>
     * The padding at the top, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
     * @return The top.
     */
    androidx.wear.protolayout.proto.DimensionProto.DpProp getTop();

    /**
     * <pre>
     * The padding at the bottom, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
     * @return Whether the bottom field is set.
     */
    boolean hasBottom();
    /**
     * <pre>
     * The padding at the bottom, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
     * @return The bottom.
     */
    androidx.wear.protolayout.proto.DimensionProto.DpProp getBottom();

    /**
     * <pre>
     * Whether the start/end padding is aware of RTL support. If true, the values
     * for start/end will follow the layout direction (i.e. start will refer to
     * the right hand side of the container if the device is using an RTL locale).
     * If false, start/end will always map to left/right, accordingly.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
     * @return Whether the rtlAware field is set.
     */
    boolean hasRtlAware();
    /**
     * <pre>
     * Whether the start/end padding is aware of RTL support. If true, the values
     * for start/end will follow the layout direction (i.e. start will refer to
     * the right hand side of the container if the device is using an RTL locale).
     * If false, start/end will always map to left/right, accordingly.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
     * @return The rtlAware.
     */
    androidx.wear.protolayout.proto.TypesProto.BoolProp getRtlAware();
  }
  /**
   * <pre>
   * A modifier to apply padding around an element.
   * </pre>
   *
   * Protobuf type {@code androidx.wear.protolayout.proto.Padding}
   */
  public  static final class Padding extends
      com.google.protobuf.GeneratedMessageLite<
          Padding, Padding.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.wear.protolayout.proto.Padding)
      PaddingOrBuilder {
    private Padding() {
    }
    public static final int END_FIELD_NUMBER = 1;
    private androidx.wear.protolayout.proto.DimensionProto.DpProp end_;
    /**
     * <pre>
     * The padding on the end of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
     */
    @java.lang.Override
    public boolean hasEnd() {
      return end_ != null;
    }
    /**
     * <pre>
     * The padding on the end of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.DimensionProto.DpProp getEnd() {
      return end_ == null ? androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance() : end_;
    }
    /**
     * <pre>
     * The padding on the end of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
     */
    private void setEnd(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  end_ = value;
      
      }
    /**
     * <pre>
     * The padding on the end of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeEnd(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  if (end_ != null &&
          end_ != androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance()) {
        end_ =
          androidx.wear.protolayout.proto.DimensionProto.DpProp.newBuilder(end_).mergeFrom(value).buildPartial();
      } else {
        end_ = value;
      }
      
    }
    /**
     * <pre>
     * The padding on the end of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
     */
    private void clearEnd() {  end_ = null;
      
    }

    public static final int START_FIELD_NUMBER = 2;
    private androidx.wear.protolayout.proto.DimensionProto.DpProp start_;
    /**
     * <pre>
     * The padding on the start of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
     */
    @java.lang.Override
    public boolean hasStart() {
      return start_ != null;
    }
    /**
     * <pre>
     * The padding on the start of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.DimensionProto.DpProp getStart() {
      return start_ == null ? androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance() : start_;
    }
    /**
     * <pre>
     * The padding on the start of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
     */
    private void setStart(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  start_ = value;
      
      }
    /**
     * <pre>
     * The padding on the start of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeStart(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  if (start_ != null &&
          start_ != androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance()) {
        start_ =
          androidx.wear.protolayout.proto.DimensionProto.DpProp.newBuilder(start_).mergeFrom(value).buildPartial();
      } else {
        start_ = value;
      }
      
    }
    /**
     * <pre>
     * The padding on the start of the content, depending on the layout direction,
     * in DP and the value of "rtl_aware".
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
     */
    private void clearStart() {  start_ = null;
      
    }

    public static final int TOP_FIELD_NUMBER = 3;
    private androidx.wear.protolayout.proto.DimensionProto.DpProp top_;
    /**
     * <pre>
     * The padding at the top, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
     */
    @java.lang.Override
    public boolean hasTop() {
      return top_ != null;
    }
    /**
     * <pre>
     * The padding at the top, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.DimensionProto.DpProp getTop() {
      return top_ == null ? androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance() : top_;
    }
    /**
     * <pre>
     * The padding at the top, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
     */
    private void setTop(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  top_ = value;
      
      }
    /**
     * <pre>
     * The padding at the top, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeTop(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  if (top_ != null &&
          top_ != androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance()) {
        top_ =
          androidx.wear.protolayout.proto.DimensionProto.DpProp.newBuilder(top_).mergeFrom(value).buildPartial();
      } else {
        top_ = value;
      }
      
    }
    /**
     * <pre>
     * The padding at the top, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
     */
    private void clearTop() {  top_ = null;
      
    }

    public static final int BOTTOM_FIELD_NUMBER = 4;
    private androidx.wear.protolayout.proto.DimensionProto.DpProp bottom_;
    /**
     * <pre>
     * The padding at the bottom, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
     */
    @java.lang.Override
    public boolean hasBottom() {
      return bottom_ != null;
    }
    /**
     * <pre>
     * The padding at the bottom, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.DimensionProto.DpProp getBottom() {
      return bottom_ == null ? androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance() : bottom_;
    }
    /**
     * <pre>
     * The padding at the bottom, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
     */
    private void setBottom(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  bottom_ = value;
      
      }
    /**
     * <pre>
     * The padding at the bottom, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeBottom(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  if (bottom_ != null &&
          bottom_ != androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance()) {
        bottom_ =
          androidx.wear.protolayout.proto.DimensionProto.DpProp.newBuilder(bottom_).mergeFrom(value).buildPartial();
      } else {
        bottom_ = value;
      }
      
    }
    /**
     * <pre>
     * The padding at the bottom, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
     */
    private void clearBottom() {  bottom_ = null;
      
    }

    public static final int RTL_AWARE_FIELD_NUMBER = 5;
    private androidx.wear.protolayout.proto.TypesProto.BoolProp rtlAware_;
    /**
     * <pre>
     * Whether the start/end padding is aware of RTL support. If true, the values
     * for start/end will follow the layout direction (i.e. start will refer to
     * the right hand side of the container if the device is using an RTL locale).
     * If false, start/end will always map to left/right, accordingly.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
     */
    @java.lang.Override
    public boolean hasRtlAware() {
      return rtlAware_ != null;
    }
    /**
     * <pre>
     * Whether the start/end padding is aware of RTL support. If true, the values
     * for start/end will follow the layout direction (i.e. start will refer to
     * the right hand side of the container if the device is using an RTL locale).
     * If false, start/end will always map to left/right, accordingly.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.TypesProto.BoolProp getRtlAware() {
      return rtlAware_ == null ? androidx.wear.protolayout.proto.TypesProto.BoolProp.getDefaultInstance() : rtlAware_;
    }
    /**
     * <pre>
     * Whether the start/end padding is aware of RTL support. If true, the values
     * for start/end will follow the layout direction (i.e. start will refer to
     * the right hand side of the container if the device is using an RTL locale).
     * If false, start/end will always map to left/right, accordingly.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
     */
    private void setRtlAware(androidx.wear.protolayout.proto.TypesProto.BoolProp value) {
      value.getClass();
  rtlAware_ = value;
      
      }
    /**
     * <pre>
     * Whether the start/end padding is aware of RTL support. If true, the values
     * for start/end will follow the layout direction (i.e. start will refer to
     * the right hand side of the container if the device is using an RTL locale).
     * If false, start/end will always map to left/right, accordingly.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeRtlAware(androidx.wear.protolayout.proto.TypesProto.BoolProp value) {
      value.getClass();
  if (rtlAware_ != null &&
          rtlAware_ != androidx.wear.protolayout.proto.TypesProto.BoolProp.getDefaultInstance()) {
        rtlAware_ =
          androidx.wear.protolayout.proto.TypesProto.BoolProp.newBuilder(rtlAware_).mergeFrom(value).buildPartial();
      } else {
        rtlAware_ = value;
      }
      
    }
    /**
     * <pre>
     * Whether the start/end padding is aware of RTL support. If true, the values
     * for start/end will follow the layout direction (i.e. start will refer to
     * the right hand side of the container if the device is using an RTL locale).
     * If false, start/end will always map to left/right, accordingly.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
     */
    private void clearRtlAware() {  rtlAware_ = null;
      
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Padding parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.wear.protolayout.proto.ModifiersProto.Padding prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * A modifier to apply padding around an element.
     * </pre>
     *
     * Protobuf type {@code androidx.wear.protolayout.proto.Padding}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.wear.protolayout.proto.ModifiersProto.Padding, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.wear.protolayout.proto.Padding)
        androidx.wear.protolayout.proto.ModifiersProto.PaddingOrBuilder {
      // Construct using androidx.wear.protolayout.proto.ModifiersProto.Padding.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * The padding on the end of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
       */
      @java.lang.Override
      public boolean hasEnd() {
        return instance.hasEnd();
      }
      /**
       * <pre>
       * The padding on the end of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.DimensionProto.DpProp getEnd() {
        return instance.getEnd();
      }
      /**
       * <pre>
       * The padding on the end of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
       */
      public Builder setEnd(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.setEnd(value);
        return this;
        }
      /**
       * <pre>
       * The padding on the end of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
       */
      public Builder setEnd(
          androidx.wear.protolayout.proto.DimensionProto.DpProp.Builder builderForValue) {
        copyOnWrite();
        instance.setEnd(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * The padding on the end of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
       */
      public Builder mergeEnd(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.mergeEnd(value);
        return this;
      }
      /**
       * <pre>
       * The padding on the end of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp end = 1;</code>
       */
      public Builder clearEnd() {  copyOnWrite();
        instance.clearEnd();
        return this;
      }

      /**
       * <pre>
       * The padding on the start of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
       */
      @java.lang.Override
      public boolean hasStart() {
        return instance.hasStart();
      }
      /**
       * <pre>
       * The padding on the start of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.DimensionProto.DpProp getStart() {
        return instance.getStart();
      }
      /**
       * <pre>
       * The padding on the start of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
       */
      public Builder setStart(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.setStart(value);
        return this;
        }
      /**
       * <pre>
       * The padding on the start of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
       */
      public Builder setStart(
          androidx.wear.protolayout.proto.DimensionProto.DpProp.Builder builderForValue) {
        copyOnWrite();
        instance.setStart(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * The padding on the start of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
       */
      public Builder mergeStart(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.mergeStart(value);
        return this;
      }
      /**
       * <pre>
       * The padding on the start of the content, depending on the layout direction,
       * in DP and the value of "rtl_aware".
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp start = 2;</code>
       */
      public Builder clearStart() {  copyOnWrite();
        instance.clearStart();
        return this;
      }

      /**
       * <pre>
       * The padding at the top, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
       */
      @java.lang.Override
      public boolean hasTop() {
        return instance.hasTop();
      }
      /**
       * <pre>
       * The padding at the top, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.DimensionProto.DpProp getTop() {
        return instance.getTop();
      }
      /**
       * <pre>
       * The padding at the top, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
       */
      public Builder setTop(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.setTop(value);
        return this;
        }
      /**
       * <pre>
       * The padding at the top, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
       */
      public Builder setTop(
          androidx.wear.protolayout.proto.DimensionProto.DpProp.Builder builderForValue) {
        copyOnWrite();
        instance.setTop(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * The padding at the top, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
       */
      public Builder mergeTop(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.mergeTop(value);
        return this;
      }
      /**
       * <pre>
       * The padding at the top, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp top = 3;</code>
       */
      public Builder clearTop() {  copyOnWrite();
        instance.clearTop();
        return this;
      }

      /**
       * <pre>
       * The padding at the bottom, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
       */
      @java.lang.Override
      public boolean hasBottom() {
        return instance.hasBottom();
      }
      /**
       * <pre>
       * The padding at the bottom, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.DimensionProto.DpProp getBottom() {
        return instance.getBottom();
      }
      /**
       * <pre>
       * The padding at the bottom, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
       */
      public Builder setBottom(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.setBottom(value);
        return this;
        }
      /**
       * <pre>
       * The padding at the bottom, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
       */
      public Builder setBottom(
          androidx.wear.protolayout.proto.DimensionProto.DpProp.Builder builderForValue) {
        copyOnWrite();
        instance.setBottom(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * The padding at the bottom, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
       */
      public Builder mergeBottom(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.mergeBottom(value);
        return this;
      }
      /**
       * <pre>
       * The padding at the bottom, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp bottom = 4;</code>
       */
      public Builder clearBottom() {  copyOnWrite();
        instance.clearBottom();
        return this;
      }

      /**
       * <pre>
       * Whether the start/end padding is aware of RTL support. If true, the values
       * for start/end will follow the layout direction (i.e. start will refer to
       * the right hand side of the container if the device is using an RTL locale).
       * If false, start/end will always map to left/right, accordingly.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
       */
      @java.lang.Override
      public boolean hasRtlAware() {
        return instance.hasRtlAware();
      }
      /**
       * <pre>
       * Whether the start/end padding is aware of RTL support. If true, the values
       * for start/end will follow the layout direction (i.e. start will refer to
       * the right hand side of the container if the device is using an RTL locale).
       * If false, start/end will always map to left/right, accordingly.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.TypesProto.BoolProp getRtlAware() {
        return instance.getRtlAware();
      }
      /**
       * <pre>
       * Whether the start/end padding is aware of RTL support. If true, the values
       * for start/end will follow the layout direction (i.e. start will refer to
       * the right hand side of the container if the device is using an RTL locale).
       * If false, start/end will always map to left/right, accordingly.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
       */
      public Builder setRtlAware(androidx.wear.protolayout.proto.TypesProto.BoolProp value) {
        copyOnWrite();
        instance.setRtlAware(value);
        return this;
        }
      /**
       * <pre>
       * Whether the start/end padding is aware of RTL support. If true, the values
       * for start/end will follow the layout direction (i.e. start will refer to
       * the right hand side of the container if the device is using an RTL locale).
       * If false, start/end will always map to left/right, accordingly.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
       */
      public Builder setRtlAware(
          androidx.wear.protolayout.proto.TypesProto.BoolProp.Builder builderForValue) {
        copyOnWrite();
        instance.setRtlAware(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Whether the start/end padding is aware of RTL support. If true, the values
       * for start/end will follow the layout direction (i.e. start will refer to
       * the right hand side of the container if the device is using an RTL locale).
       * If false, start/end will always map to left/right, accordingly.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
       */
      public Builder mergeRtlAware(androidx.wear.protolayout.proto.TypesProto.BoolProp value) {
        copyOnWrite();
        instance.mergeRtlAware(value);
        return this;
      }
      /**
       * <pre>
       * Whether the start/end padding is aware of RTL support. If true, the values
       * for start/end will follow the layout direction (i.e. start will refer to
       * the right hand side of the container if the device is using an RTL locale).
       * If false, start/end will always map to left/right, accordingly.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.BoolProp rtl_aware = 5;</code>
       */
      public Builder clearRtlAware() {  copyOnWrite();
        instance.clearRtlAware();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.wear.protolayout.proto.Padding)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.wear.protolayout.proto.ModifiersProto.Padding();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "end_",
              "start_",
              "top_",
              "bottom_",
              "rtlAware_",
            };
            java.lang.String info =
                "\u0000\u0005\u0000\u0000\u0001\u0005\u0005\u0000\u0000\u0000\u0001\t\u0002\t\u0003" +
                "\t\u0004\t\u0005\t";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.wear.protolayout.proto.ModifiersProto.Padding> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.wear.protolayout.proto.ModifiersProto.Padding.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.wear.protolayout.proto.ModifiersProto.Padding>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:androidx.wear.protolayout.proto.Padding)
    private static final androidx.wear.protolayout.proto.ModifiersProto.Padding DEFAULT_INSTANCE;
    static {
      Padding defaultInstance = new Padding();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Padding.class, defaultInstance);
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Padding getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Padding> PARSER;

    public static com.google.protobuf.Parser<Padding> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface BorderOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.wear.protolayout.proto.Border)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * The width of the border, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
     * @return Whether the width field is set.
     */
    boolean hasWidth();
    /**
     * <pre>
     * The width of the border, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
     * @return The width.
     */
    androidx.wear.protolayout.proto.DimensionProto.DpProp getWidth();

    /**
     * <pre>
     * The color of the border.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
     * @return Whether the color field is set.
     */
    boolean hasColor();
    /**
     * <pre>
     * The color of the border.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
     * @return The color.
     */
    androidx.wear.protolayout.proto.ColorProto.ColorProp getColor();
  }
  /**
   * <pre>
   * A modifier to apply a border around an element.
   * </pre>
   *
   * Protobuf type {@code androidx.wear.protolayout.proto.Border}
   */
  public  static final class Border extends
      com.google.protobuf.GeneratedMessageLite<
          Border, Border.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.wear.protolayout.proto.Border)
      BorderOrBuilder {
    private Border() {
    }
    public static final int WIDTH_FIELD_NUMBER = 1;
    private androidx.wear.protolayout.proto.DimensionProto.DpProp width_;
    /**
     * <pre>
     * The width of the border, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
     */
    @java.lang.Override
    public boolean hasWidth() {
      return width_ != null;
    }
    /**
     * <pre>
     * The width of the border, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.DimensionProto.DpProp getWidth() {
      return width_ == null ? androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance() : width_;
    }
    /**
     * <pre>
     * The width of the border, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
     */
    private void setWidth(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  width_ = value;
      
      }
    /**
     * <pre>
     * The width of the border, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeWidth(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  if (width_ != null &&
          width_ != androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance()) {
        width_ =
          androidx.wear.protolayout.proto.DimensionProto.DpProp.newBuilder(width_).mergeFrom(value).buildPartial();
      } else {
        width_ = value;
      }
      
    }
    /**
     * <pre>
     * The width of the border, in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
     */
    private void clearWidth() {  width_ = null;
      
    }

    public static final int COLOR_FIELD_NUMBER = 2;
    private androidx.wear.protolayout.proto.ColorProto.ColorProp color_;
    /**
     * <pre>
     * The color of the border.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
     */
    @java.lang.Override
    public boolean hasColor() {
      return color_ != null;
    }
    /**
     * <pre>
     * The color of the border.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ColorProto.ColorProp getColor() {
      return color_ == null ? androidx.wear.protolayout.proto.ColorProto.ColorProp.getDefaultInstance() : color_;
    }
    /**
     * <pre>
     * The color of the border.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
     */
    private void setColor(androidx.wear.protolayout.proto.ColorProto.ColorProp value) {
      value.getClass();
  color_ = value;
      
      }
    /**
     * <pre>
     * The color of the border.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeColor(androidx.wear.protolayout.proto.ColorProto.ColorProp value) {
      value.getClass();
  if (color_ != null &&
          color_ != androidx.wear.protolayout.proto.ColorProto.ColorProp.getDefaultInstance()) {
        color_ =
          androidx.wear.protolayout.proto.ColorProto.ColorProp.newBuilder(color_).mergeFrom(value).buildPartial();
      } else {
        color_ = value;
      }
      
    }
    /**
     * <pre>
     * The color of the border.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
     */
    private void clearColor() {  color_ = null;
      
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Border parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.wear.protolayout.proto.ModifiersProto.Border prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * A modifier to apply a border around an element.
     * </pre>
     *
     * Protobuf type {@code androidx.wear.protolayout.proto.Border}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.wear.protolayout.proto.ModifiersProto.Border, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.wear.protolayout.proto.Border)
        androidx.wear.protolayout.proto.ModifiersProto.BorderOrBuilder {
      // Construct using androidx.wear.protolayout.proto.ModifiersProto.Border.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * The width of the border, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
       */
      @java.lang.Override
      public boolean hasWidth() {
        return instance.hasWidth();
      }
      /**
       * <pre>
       * The width of the border, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.DimensionProto.DpProp getWidth() {
        return instance.getWidth();
      }
      /**
       * <pre>
       * The width of the border, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
       */
      public Builder setWidth(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.setWidth(value);
        return this;
        }
      /**
       * <pre>
       * The width of the border, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
       */
      public Builder setWidth(
          androidx.wear.protolayout.proto.DimensionProto.DpProp.Builder builderForValue) {
        copyOnWrite();
        instance.setWidth(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * The width of the border, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
       */
      public Builder mergeWidth(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.mergeWidth(value);
        return this;
      }
      /**
       * <pre>
       * The width of the border, in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp width = 1;</code>
       */
      public Builder clearWidth() {  copyOnWrite();
        instance.clearWidth();
        return this;
      }

      /**
       * <pre>
       * The color of the border.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
       */
      @java.lang.Override
      public boolean hasColor() {
        return instance.hasColor();
      }
      /**
       * <pre>
       * The color of the border.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ColorProto.ColorProp getColor() {
        return instance.getColor();
      }
      /**
       * <pre>
       * The color of the border.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
       */
      public Builder setColor(androidx.wear.protolayout.proto.ColorProto.ColorProp value) {
        copyOnWrite();
        instance.setColor(value);
        return this;
        }
      /**
       * <pre>
       * The color of the border.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
       */
      public Builder setColor(
          androidx.wear.protolayout.proto.ColorProto.ColorProp.Builder builderForValue) {
        copyOnWrite();
        instance.setColor(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * The color of the border.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
       */
      public Builder mergeColor(androidx.wear.protolayout.proto.ColorProto.ColorProp value) {
        copyOnWrite();
        instance.mergeColor(value);
        return this;
      }
      /**
       * <pre>
       * The color of the border.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 2;</code>
       */
      public Builder clearColor() {  copyOnWrite();
        instance.clearColor();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.wear.protolayout.proto.Border)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.wear.protolayout.proto.ModifiersProto.Border();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "width_",
              "color_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\t\u0002\t";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.wear.protolayout.proto.ModifiersProto.Border> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.wear.protolayout.proto.ModifiersProto.Border.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.wear.protolayout.proto.ModifiersProto.Border>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:androidx.wear.protolayout.proto.Border)
    private static final androidx.wear.protolayout.proto.ModifiersProto.Border DEFAULT_INSTANCE;
    static {
      Border defaultInstance = new Border();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Border.class, defaultInstance);
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Border getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Border> PARSER;

    public static com.google.protobuf.Parser<Border> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface CornerOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.wear.protolayout.proto.Corner)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * The radius of the corner in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
     * @return Whether the radius field is set.
     */
    boolean hasRadius();
    /**
     * <pre>
     * The radius of the corner in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
     * @return The radius.
     */
    androidx.wear.protolayout.proto.DimensionProto.DpProp getRadius();
  }
  /**
   * <pre>
   * The corner of a Box element.
   * </pre>
   *
   * Protobuf type {@code androidx.wear.protolayout.proto.Corner}
   */
  public  static final class Corner extends
      com.google.protobuf.GeneratedMessageLite<
          Corner, Corner.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.wear.protolayout.proto.Corner)
      CornerOrBuilder {
    private Corner() {
    }
    public static final int RADIUS_FIELD_NUMBER = 1;
    private androidx.wear.protolayout.proto.DimensionProto.DpProp radius_;
    /**
     * <pre>
     * The radius of the corner in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
     */
    @java.lang.Override
    public boolean hasRadius() {
      return radius_ != null;
    }
    /**
     * <pre>
     * The radius of the corner in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.DimensionProto.DpProp getRadius() {
      return radius_ == null ? androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance() : radius_;
    }
    /**
     * <pre>
     * The radius of the corner in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
     */
    private void setRadius(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  radius_ = value;
      
      }
    /**
     * <pre>
     * The radius of the corner in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeRadius(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
      value.getClass();
  if (radius_ != null &&
          radius_ != androidx.wear.protolayout.proto.DimensionProto.DpProp.getDefaultInstance()) {
        radius_ =
          androidx.wear.protolayout.proto.DimensionProto.DpProp.newBuilder(radius_).mergeFrom(value).buildPartial();
      } else {
        radius_ = value;
      }
      
    }
    /**
     * <pre>
     * The radius of the corner in DP.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
     */
    private void clearRadius() {  radius_ = null;
      
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Corner parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.wear.protolayout.proto.ModifiersProto.Corner prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * The corner of a Box element.
     * </pre>
     *
     * Protobuf type {@code androidx.wear.protolayout.proto.Corner}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.wear.protolayout.proto.ModifiersProto.Corner, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.wear.protolayout.proto.Corner)
        androidx.wear.protolayout.proto.ModifiersProto.CornerOrBuilder {
      // Construct using androidx.wear.protolayout.proto.ModifiersProto.Corner.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * The radius of the corner in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
       */
      @java.lang.Override
      public boolean hasRadius() {
        return instance.hasRadius();
      }
      /**
       * <pre>
       * The radius of the corner in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.DimensionProto.DpProp getRadius() {
        return instance.getRadius();
      }
      /**
       * <pre>
       * The radius of the corner in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
       */
      public Builder setRadius(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.setRadius(value);
        return this;
        }
      /**
       * <pre>
       * The radius of the corner in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
       */
      public Builder setRadius(
          androidx.wear.protolayout.proto.DimensionProto.DpProp.Builder builderForValue) {
        copyOnWrite();
        instance.setRadius(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * The radius of the corner in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
       */
      public Builder mergeRadius(androidx.wear.protolayout.proto.DimensionProto.DpProp value) {
        copyOnWrite();
        instance.mergeRadius(value);
        return this;
      }
      /**
       * <pre>
       * The radius of the corner in DP.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.DpProp radius = 1;</code>
       */
      public Builder clearRadius() {  copyOnWrite();
        instance.clearRadius();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.wear.protolayout.proto.Corner)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.wear.protolayout.proto.ModifiersProto.Corner();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "radius_",
            };
            java.lang.String info =
                "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001\t";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.wear.protolayout.proto.ModifiersProto.Corner> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.wear.protolayout.proto.ModifiersProto.Corner.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.wear.protolayout.proto.ModifiersProto.Corner>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:androidx.wear.protolayout.proto.Corner)
    private static final androidx.wear.protolayout.proto.ModifiersProto.Corner DEFAULT_INSTANCE;
    static {
      Corner defaultInstance = new Corner();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Corner.class, defaultInstance);
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Corner getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Corner> PARSER;

    public static com.google.protobuf.Parser<Corner> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface BackgroundOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.wear.protolayout.proto.Background)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * The background color for this element. If not defined, defaults to being
     * transparent.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
     * @return Whether the color field is set.
     */
    boolean hasColor();
    /**
     * <pre>
     * The background color for this element. If not defined, defaults to being
     * transparent.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
     * @return The color.
     */
    androidx.wear.protolayout.proto.ColorProto.ColorProp getColor();

    /**
     * <pre>
     * The corner properties of this element. This only affects the drawing of
     * this element if it has a background color or border. If not defined,
     * defaults to having a square corner.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
     * @return Whether the corner field is set.
     */
    boolean hasCorner();
    /**
     * <pre>
     * The corner properties of this element. This only affects the drawing of
     * this element if it has a background color or border. If not defined,
     * defaults to having a square corner.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
     * @return The corner.
     */
    androidx.wear.protolayout.proto.ModifiersProto.Corner getCorner();
  }
  /**
   * <pre>
   * A modifier to apply a background to an element.
   * </pre>
   *
   * Protobuf type {@code androidx.wear.protolayout.proto.Background}
   */
  public  static final class Background extends
      com.google.protobuf.GeneratedMessageLite<
          Background, Background.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.wear.protolayout.proto.Background)
      BackgroundOrBuilder {
    private Background() {
    }
    public static final int COLOR_FIELD_NUMBER = 1;
    private androidx.wear.protolayout.proto.ColorProto.ColorProp color_;
    /**
     * <pre>
     * The background color for this element. If not defined, defaults to being
     * transparent.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
     */
    @java.lang.Override
    public boolean hasColor() {
      return color_ != null;
    }
    /**
     * <pre>
     * The background color for this element. If not defined, defaults to being
     * transparent.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ColorProto.ColorProp getColor() {
      return color_ == null ? androidx.wear.protolayout.proto.ColorProto.ColorProp.getDefaultInstance() : color_;
    }
    /**
     * <pre>
     * The background color for this element. If not defined, defaults to being
     * transparent.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
     */
    private void setColor(androidx.wear.protolayout.proto.ColorProto.ColorProp value) {
      value.getClass();
  color_ = value;
      
      }
    /**
     * <pre>
     * The background color for this element. If not defined, defaults to being
     * transparent.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeColor(androidx.wear.protolayout.proto.ColorProto.ColorProp value) {
      value.getClass();
  if (color_ != null &&
          color_ != androidx.wear.protolayout.proto.ColorProto.ColorProp.getDefaultInstance()) {
        color_ =
          androidx.wear.protolayout.proto.ColorProto.ColorProp.newBuilder(color_).mergeFrom(value).buildPartial();
      } else {
        color_ = value;
      }
      
    }
    /**
     * <pre>
     * The background color for this element. If not defined, defaults to being
     * transparent.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
     */
    private void clearColor() {  color_ = null;
      
    }

    public static final int CORNER_FIELD_NUMBER = 2;
    private androidx.wear.protolayout.proto.ModifiersProto.Corner corner_;
    /**
     * <pre>
     * The corner properties of this element. This only affects the drawing of
     * this element if it has a background color or border. If not defined,
     * defaults to having a square corner.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
     */
    @java.lang.Override
    public boolean hasCorner() {
      return corner_ != null;
    }
    /**
     * <pre>
     * The corner properties of this element. This only affects the drawing of
     * this element if it has a background color or border. If not defined,
     * defaults to having a square corner.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ModifiersProto.Corner getCorner() {
      return corner_ == null ? androidx.wear.protolayout.proto.ModifiersProto.Corner.getDefaultInstance() : corner_;
    }
    /**
     * <pre>
     * The corner properties of this element. This only affects the drawing of
     * this element if it has a background color or border. If not defined,
     * defaults to having a square corner.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
     */
    private void setCorner(androidx.wear.protolayout.proto.ModifiersProto.Corner value) {
      value.getClass();
  corner_ = value;
      
      }
    /**
     * <pre>
     * The corner properties of this element. This only affects the drawing of
     * this element if it has a background color or border. If not defined,
     * defaults to having a square corner.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeCorner(androidx.wear.protolayout.proto.ModifiersProto.Corner value) {
      value.getClass();
  if (corner_ != null &&
          corner_ != androidx.wear.protolayout.proto.ModifiersProto.Corner.getDefaultInstance()) {
        corner_ =
          androidx.wear.protolayout.proto.ModifiersProto.Corner.newBuilder(corner_).mergeFrom(value).buildPartial();
      } else {
        corner_ = value;
      }
      
    }
    /**
     * <pre>
     * The corner properties of this element. This only affects the drawing of
     * this element if it has a background color or border. If not defined,
     * defaults to having a square corner.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
     */
    private void clearCorner() {  corner_ = null;
      
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Background parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.wear.protolayout.proto.ModifiersProto.Background prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * A modifier to apply a background to an element.
     * </pre>
     *
     * Protobuf type {@code androidx.wear.protolayout.proto.Background}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.wear.protolayout.proto.ModifiersProto.Background, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.wear.protolayout.proto.Background)
        androidx.wear.protolayout.proto.ModifiersProto.BackgroundOrBuilder {
      // Construct using androidx.wear.protolayout.proto.ModifiersProto.Background.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * The background color for this element. If not defined, defaults to being
       * transparent.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
       */
      @java.lang.Override
      public boolean hasColor() {
        return instance.hasColor();
      }
      /**
       * <pre>
       * The background color for this element. If not defined, defaults to being
       * transparent.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ColorProto.ColorProp getColor() {
        return instance.getColor();
      }
      /**
       * <pre>
       * The background color for this element. If not defined, defaults to being
       * transparent.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
       */
      public Builder setColor(androidx.wear.protolayout.proto.ColorProto.ColorProp value) {
        copyOnWrite();
        instance.setColor(value);
        return this;
        }
      /**
       * <pre>
       * The background color for this element. If not defined, defaults to being
       * transparent.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
       */
      public Builder setColor(
          androidx.wear.protolayout.proto.ColorProto.ColorProp.Builder builderForValue) {
        copyOnWrite();
        instance.setColor(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * The background color for this element. If not defined, defaults to being
       * transparent.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
       */
      public Builder mergeColor(androidx.wear.protolayout.proto.ColorProto.ColorProp value) {
        copyOnWrite();
        instance.mergeColor(value);
        return this;
      }
      /**
       * <pre>
       * The background color for this element. If not defined, defaults to being
       * transparent.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ColorProp color = 1;</code>
       */
      public Builder clearColor() {  copyOnWrite();
        instance.clearColor();
        return this;
      }

      /**
       * <pre>
       * The corner properties of this element. This only affects the drawing of
       * this element if it has a background color or border. If not defined,
       * defaults to having a square corner.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
       */
      @java.lang.Override
      public boolean hasCorner() {
        return instance.hasCorner();
      }
      /**
       * <pre>
       * The corner properties of this element. This only affects the drawing of
       * this element if it has a background color or border. If not defined,
       * defaults to having a square corner.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ModifiersProto.Corner getCorner() {
        return instance.getCorner();
      }
      /**
       * <pre>
       * The corner properties of this element. This only affects the drawing of
       * this element if it has a background color or border. If not defined,
       * defaults to having a square corner.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
       */
      public Builder setCorner(androidx.wear.protolayout.proto.ModifiersProto.Corner value) {
        copyOnWrite();
        instance.setCorner(value);
        return this;
        }
      /**
       * <pre>
       * The corner properties of this element. This only affects the drawing of
       * this element if it has a background color or border. If not defined,
       * defaults to having a square corner.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
       */
      public Builder setCorner(
          androidx.wear.protolayout.proto.ModifiersProto.Corner.Builder builderForValue) {
        copyOnWrite();
        instance.setCorner(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * The corner properties of this element. This only affects the drawing of
       * this element if it has a background color or border. If not defined,
       * defaults to having a square corner.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
       */
      public Builder mergeCorner(androidx.wear.protolayout.proto.ModifiersProto.Corner value) {
        copyOnWrite();
        instance.mergeCorner(value);
        return this;
      }
      /**
       * <pre>
       * The corner properties of this element. This only affects the drawing of
       * this element if it has a background color or border. If not defined,
       * defaults to having a square corner.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Corner corner = 2;</code>
       */
      public Builder clearCorner() {  copyOnWrite();
        instance.clearCorner();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.wear.protolayout.proto.Background)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.wear.protolayout.proto.ModifiersProto.Background();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "color_",
              "corner_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\t\u0002\t";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.wear.protolayout.proto.ModifiersProto.Background> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.wear.protolayout.proto.ModifiersProto.Background.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.wear.protolayout.proto.ModifiersProto.Background>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:androidx.wear.protolayout.proto.Background)
    private static final androidx.wear.protolayout.proto.ModifiersProto.Background DEFAULT_INSTANCE;
    static {
      Background defaultInstance = new Background();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Background.class, defaultInstance);
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Background getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Background> PARSER;

    public static com.google.protobuf.Parser<Background> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface ElementMetadataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.wear.protolayout.proto.ElementMetadata)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Property describing the element with which it is associated. For use by
     * libraries building higher-level components only. This can be used to track
     * component metadata.
     * </pre>
     *
     * <code>bytes tag_data = 1;</code>
     * @return The tagData.
     */
    com.google.protobuf.ByteString getTagData();
  }
  /**
   * <pre>
   * Metadata about an element. For use by libraries building higher-level
   * components only. This can be used to track component metadata.
   * </pre>
   *
   * Protobuf type {@code androidx.wear.protolayout.proto.ElementMetadata}
   */
  public  static final class ElementMetadata extends
      com.google.protobuf.GeneratedMessageLite<
          ElementMetadata, ElementMetadata.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.wear.protolayout.proto.ElementMetadata)
      ElementMetadataOrBuilder {
    private ElementMetadata() {
      tagData_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int TAG_DATA_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString tagData_;
    /**
     * <pre>
     * Property describing the element with which it is associated. For use by
     * libraries building higher-level components only. This can be used to track
     * component metadata.
     * </pre>
     *
     * <code>bytes tag_data = 1;</code>
     * @return The tagData.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getTagData() {
      return tagData_;
    }
    /**
     * <pre>
     * Property describing the element with which it is associated. For use by
     * libraries building higher-level components only. This can be used to track
     * component metadata.
     * </pre>
     *
     * <code>bytes tag_data = 1;</code>
     * @param value The tagData to set.
     */
    private void setTagData(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      tagData_ = value;
    }
    /**
     * <pre>
     * Property describing the element with which it is associated. For use by
     * libraries building higher-level components only. This can be used to track
     * component metadata.
     * </pre>
     *
     * <code>bytes tag_data = 1;</code>
     */
    private void clearTagData() {
      
      tagData_ = getDefaultInstance().getTagData();
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Metadata about an element. For use by libraries building higher-level
     * components only. This can be used to track component metadata.
     * </pre>
     *
     * Protobuf type {@code androidx.wear.protolayout.proto.ElementMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.wear.protolayout.proto.ElementMetadata)
        androidx.wear.protolayout.proto.ModifiersProto.ElementMetadataOrBuilder {
      // Construct using androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Property describing the element with which it is associated. For use by
       * libraries building higher-level components only. This can be used to track
       * component metadata.
       * </pre>
       *
       * <code>bytes tag_data = 1;</code>
       * @return The tagData.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getTagData() {
        return instance.getTagData();
      }
      /**
       * <pre>
       * Property describing the element with which it is associated. For use by
       * libraries building higher-level components only. This can be used to track
       * component metadata.
       * </pre>
       *
       * <code>bytes tag_data = 1;</code>
       * @param value The tagData to set.
       * @return This builder for chaining.
       */
      public Builder setTagData(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setTagData(value);
        return this;
      }
      /**
       * <pre>
       * Property describing the element with which it is associated. For use by
       * libraries building higher-level components only. This can be used to track
       * component metadata.
       * </pre>
       *
       * <code>bytes tag_data = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTagData() {
        copyOnWrite();
        instance.clearTagData();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.wear.protolayout.proto.ElementMetadata)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "tagData_",
            };
            java.lang.String info =
                "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001\n";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:androidx.wear.protolayout.proto.ElementMetadata)
    private static final androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata DEFAULT_INSTANCE;
    static {
      ElementMetadata defaultInstance = new ElementMetadata();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        ElementMetadata.class, defaultInstance);
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<ElementMetadata> PARSER;

    public static com.google.protobuf.Parser<ElementMetadata> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface ModifiersOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.wear.protolayout.proto.Modifiers)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     * @return Whether the clickable field is set.
     */
    boolean hasClickable();
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     * @return The clickable.
     */
    androidx.wear.protolayout.proto.ModifiersProto.Clickable getClickable();

    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     * @return Whether the semantics field is set.
     */
    boolean hasSemantics();
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     * @return The semantics.
     */
    androidx.wear.protolayout.proto.ModifiersProto.Semantics getSemantics();

    /**
     * <pre>
     * Adds padding to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
     * @return Whether the padding field is set.
     */
    boolean hasPadding();
    /**
     * <pre>
     * Adds padding to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
     * @return The padding.
     */
    androidx.wear.protolayout.proto.ModifiersProto.Padding getPadding();

    /**
     * <pre>
     * Draws a border around the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
     * @return Whether the border field is set.
     */
    boolean hasBorder();
    /**
     * <pre>
     * Draws a border around the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
     * @return The border.
     */
    androidx.wear.protolayout.proto.ModifiersProto.Border getBorder();

    /**
     * <pre>
     * Adds a background (with corner radius) to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
     * @return Whether the background field is set.
     */
    boolean hasBackground();
    /**
     * <pre>
     * Adds a background (with corner radius) to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
     * @return The background.
     */
    androidx.wear.protolayout.proto.ModifiersProto.Background getBackground();

    /**
     * <pre>
     * Metadata about an element. For use by libraries building higher-level
     * components only. This can be used to track component metadata
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
     * @return Whether the metadata field is set.
     */
    boolean hasMetadata();
    /**
     * <pre>
     * Metadata about an element. For use by libraries building higher-level
     * components only. This can be used to track component metadata
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
     * @return The metadata.
     */
    androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata getMetadata();
  }
  /**
   * <pre>
   * Modifiers for an element. These may change the way they are drawn (e.g.
   * Padding or Background), or change their behaviour (e.g. Clickable, or
   * Semantics).
   * </pre>
   *
   * Protobuf type {@code androidx.wear.protolayout.proto.Modifiers}
   */
  public  static final class Modifiers extends
      com.google.protobuf.GeneratedMessageLite<
          Modifiers, Modifiers.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.wear.protolayout.proto.Modifiers)
      ModifiersOrBuilder {
    private Modifiers() {
    }
    public static final int CLICKABLE_FIELD_NUMBER = 1;
    private androidx.wear.protolayout.proto.ModifiersProto.Clickable clickable_;
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    @java.lang.Override
    public boolean hasClickable() {
      return clickable_ != null;
    }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ModifiersProto.Clickable getClickable() {
      return clickable_ == null ? androidx.wear.protolayout.proto.ModifiersProto.Clickable.getDefaultInstance() : clickable_;
    }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    private void setClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
      value.getClass();
  clickable_ = value;
      
      }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
      value.getClass();
  if (clickable_ != null &&
          clickable_ != androidx.wear.protolayout.proto.ModifiersProto.Clickable.getDefaultInstance()) {
        clickable_ =
          androidx.wear.protolayout.proto.ModifiersProto.Clickable.newBuilder(clickable_).mergeFrom(value).buildPartial();
      } else {
        clickable_ = value;
      }
      
    }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    private void clearClickable() {  clickable_ = null;
      
    }

    public static final int SEMANTICS_FIELD_NUMBER = 2;
    private androidx.wear.protolayout.proto.ModifiersProto.Semantics semantics_;
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     */
    @java.lang.Override
    public boolean hasSemantics() {
      return semantics_ != null;
    }
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ModifiersProto.Semantics getSemantics() {
      return semantics_ == null ? androidx.wear.protolayout.proto.ModifiersProto.Semantics.getDefaultInstance() : semantics_;
    }
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     */
    private void setSemantics(androidx.wear.protolayout.proto.ModifiersProto.Semantics value) {
      value.getClass();
  semantics_ = value;
      
      }
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeSemantics(androidx.wear.protolayout.proto.ModifiersProto.Semantics value) {
      value.getClass();
  if (semantics_ != null &&
          semantics_ != androidx.wear.protolayout.proto.ModifiersProto.Semantics.getDefaultInstance()) {
        semantics_ =
          androidx.wear.protolayout.proto.ModifiersProto.Semantics.newBuilder(semantics_).mergeFrom(value).buildPartial();
      } else {
        semantics_ = value;
      }
      
    }
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     */
    private void clearSemantics() {  semantics_ = null;
      
    }

    public static final int PADDING_FIELD_NUMBER = 3;
    private androidx.wear.protolayout.proto.ModifiersProto.Padding padding_;
    /**
     * <pre>
     * Adds padding to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
     */
    @java.lang.Override
    public boolean hasPadding() {
      return padding_ != null;
    }
    /**
     * <pre>
     * Adds padding to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ModifiersProto.Padding getPadding() {
      return padding_ == null ? androidx.wear.protolayout.proto.ModifiersProto.Padding.getDefaultInstance() : padding_;
    }
    /**
     * <pre>
     * Adds padding to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
     */
    private void setPadding(androidx.wear.protolayout.proto.ModifiersProto.Padding value) {
      value.getClass();
  padding_ = value;
      
      }
    /**
     * <pre>
     * Adds padding to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergePadding(androidx.wear.protolayout.proto.ModifiersProto.Padding value) {
      value.getClass();
  if (padding_ != null &&
          padding_ != androidx.wear.protolayout.proto.ModifiersProto.Padding.getDefaultInstance()) {
        padding_ =
          androidx.wear.protolayout.proto.ModifiersProto.Padding.newBuilder(padding_).mergeFrom(value).buildPartial();
      } else {
        padding_ = value;
      }
      
    }
    /**
     * <pre>
     * Adds padding to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
     */
    private void clearPadding() {  padding_ = null;
      
    }

    public static final int BORDER_FIELD_NUMBER = 4;
    private androidx.wear.protolayout.proto.ModifiersProto.Border border_;
    /**
     * <pre>
     * Draws a border around the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
     */
    @java.lang.Override
    public boolean hasBorder() {
      return border_ != null;
    }
    /**
     * <pre>
     * Draws a border around the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ModifiersProto.Border getBorder() {
      return border_ == null ? androidx.wear.protolayout.proto.ModifiersProto.Border.getDefaultInstance() : border_;
    }
    /**
     * <pre>
     * Draws a border around the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
     */
    private void setBorder(androidx.wear.protolayout.proto.ModifiersProto.Border value) {
      value.getClass();
  border_ = value;
      
      }
    /**
     * <pre>
     * Draws a border around the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeBorder(androidx.wear.protolayout.proto.ModifiersProto.Border value) {
      value.getClass();
  if (border_ != null &&
          border_ != androidx.wear.protolayout.proto.ModifiersProto.Border.getDefaultInstance()) {
        border_ =
          androidx.wear.protolayout.proto.ModifiersProto.Border.newBuilder(border_).mergeFrom(value).buildPartial();
      } else {
        border_ = value;
      }
      
    }
    /**
     * <pre>
     * Draws a border around the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
     */
    private void clearBorder() {  border_ = null;
      
    }

    public static final int BACKGROUND_FIELD_NUMBER = 5;
    private androidx.wear.protolayout.proto.ModifiersProto.Background background_;
    /**
     * <pre>
     * Adds a background (with corner radius) to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
     */
    @java.lang.Override
    public boolean hasBackground() {
      return background_ != null;
    }
    /**
     * <pre>
     * Adds a background (with corner radius) to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ModifiersProto.Background getBackground() {
      return background_ == null ? androidx.wear.protolayout.proto.ModifiersProto.Background.getDefaultInstance() : background_;
    }
    /**
     * <pre>
     * Adds a background (with corner radius) to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
     */
    private void setBackground(androidx.wear.protolayout.proto.ModifiersProto.Background value) {
      value.getClass();
  background_ = value;
      
      }
    /**
     * <pre>
     * Adds a background (with corner radius) to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeBackground(androidx.wear.protolayout.proto.ModifiersProto.Background value) {
      value.getClass();
  if (background_ != null &&
          background_ != androidx.wear.protolayout.proto.ModifiersProto.Background.getDefaultInstance()) {
        background_ =
          androidx.wear.protolayout.proto.ModifiersProto.Background.newBuilder(background_).mergeFrom(value).buildPartial();
      } else {
        background_ = value;
      }
      
    }
    /**
     * <pre>
     * Adds a background (with corner radius) to the modified element.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
     */
    private void clearBackground() {  background_ = null;
      
    }

    public static final int METADATA_FIELD_NUMBER = 6;
    private androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata metadata_;
    /**
     * <pre>
     * Metadata about an element. For use by libraries building higher-level
     * components only. This can be used to track component metadata
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
     */
    @java.lang.Override
    public boolean hasMetadata() {
      return metadata_ != null;
    }
    /**
     * <pre>
     * Metadata about an element. For use by libraries building higher-level
     * components only. This can be used to track component metadata
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata getMetadata() {
      return metadata_ == null ? androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata.getDefaultInstance() : metadata_;
    }
    /**
     * <pre>
     * Metadata about an element. For use by libraries building higher-level
     * components only. This can be used to track component metadata
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
     */
    private void setMetadata(androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata value) {
      value.getClass();
  metadata_ = value;
      
      }
    /**
     * <pre>
     * Metadata about an element. For use by libraries building higher-level
     * components only. This can be used to track component metadata
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeMetadata(androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata value) {
      value.getClass();
  if (metadata_ != null &&
          metadata_ != androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata.getDefaultInstance()) {
        metadata_ =
          androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata.newBuilder(metadata_).mergeFrom(value).buildPartial();
      } else {
        metadata_ = value;
      }
      
    }
    /**
     * <pre>
     * Metadata about an element. For use by libraries building higher-level
     * components only. This can be used to track component metadata
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
     */
    private void clearMetadata() {  metadata_ = null;
      
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.wear.protolayout.proto.ModifiersProto.Modifiers prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Modifiers for an element. These may change the way they are drawn (e.g.
     * Padding or Background), or change their behaviour (e.g. Clickable, or
     * Semantics).
     * </pre>
     *
     * Protobuf type {@code androidx.wear.protolayout.proto.Modifiers}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.wear.protolayout.proto.ModifiersProto.Modifiers, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.wear.protolayout.proto.Modifiers)
        androidx.wear.protolayout.proto.ModifiersProto.ModifiersOrBuilder {
      // Construct using androidx.wear.protolayout.proto.ModifiersProto.Modifiers.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      @java.lang.Override
      public boolean hasClickable() {
        return instance.hasClickable();
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ModifiersProto.Clickable getClickable() {
        return instance.getClickable();
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder setClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
        copyOnWrite();
        instance.setClickable(value);
        return this;
        }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder setClickable(
          androidx.wear.protolayout.proto.ModifiersProto.Clickable.Builder builderForValue) {
        copyOnWrite();
        instance.setClickable(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder mergeClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
        copyOnWrite();
        instance.mergeClickable(value);
        return this;
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder clearClickable() {  copyOnWrite();
        instance.clearClickable();
        return this;
      }

      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      @java.lang.Override
      public boolean hasSemantics() {
        return instance.hasSemantics();
      }
      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ModifiersProto.Semantics getSemantics() {
        return instance.getSemantics();
      }
      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      public Builder setSemantics(androidx.wear.protolayout.proto.ModifiersProto.Semantics value) {
        copyOnWrite();
        instance.setSemantics(value);
        return this;
        }
      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      public Builder setSemantics(
          androidx.wear.protolayout.proto.ModifiersProto.Semantics.Builder builderForValue) {
        copyOnWrite();
        instance.setSemantics(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      public Builder mergeSemantics(androidx.wear.protolayout.proto.ModifiersProto.Semantics value) {
        copyOnWrite();
        instance.mergeSemantics(value);
        return this;
      }
      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      public Builder clearSemantics() {  copyOnWrite();
        instance.clearSemantics();
        return this;
      }

      /**
       * <pre>
       * Adds padding to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
       */
      @java.lang.Override
      public boolean hasPadding() {
        return instance.hasPadding();
      }
      /**
       * <pre>
       * Adds padding to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ModifiersProto.Padding getPadding() {
        return instance.getPadding();
      }
      /**
       * <pre>
       * Adds padding to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
       */
      public Builder setPadding(androidx.wear.protolayout.proto.ModifiersProto.Padding value) {
        copyOnWrite();
        instance.setPadding(value);
        return this;
        }
      /**
       * <pre>
       * Adds padding to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
       */
      public Builder setPadding(
          androidx.wear.protolayout.proto.ModifiersProto.Padding.Builder builderForValue) {
        copyOnWrite();
        instance.setPadding(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Adds padding to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
       */
      public Builder mergePadding(androidx.wear.protolayout.proto.ModifiersProto.Padding value) {
        copyOnWrite();
        instance.mergePadding(value);
        return this;
      }
      /**
       * <pre>
       * Adds padding to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Padding padding = 3;</code>
       */
      public Builder clearPadding() {  copyOnWrite();
        instance.clearPadding();
        return this;
      }

      /**
       * <pre>
       * Draws a border around the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
       */
      @java.lang.Override
      public boolean hasBorder() {
        return instance.hasBorder();
      }
      /**
       * <pre>
       * Draws a border around the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ModifiersProto.Border getBorder() {
        return instance.getBorder();
      }
      /**
       * <pre>
       * Draws a border around the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
       */
      public Builder setBorder(androidx.wear.protolayout.proto.ModifiersProto.Border value) {
        copyOnWrite();
        instance.setBorder(value);
        return this;
        }
      /**
       * <pre>
       * Draws a border around the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
       */
      public Builder setBorder(
          androidx.wear.protolayout.proto.ModifiersProto.Border.Builder builderForValue) {
        copyOnWrite();
        instance.setBorder(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Draws a border around the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
       */
      public Builder mergeBorder(androidx.wear.protolayout.proto.ModifiersProto.Border value) {
        copyOnWrite();
        instance.mergeBorder(value);
        return this;
      }
      /**
       * <pre>
       * Draws a border around the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Border border = 4;</code>
       */
      public Builder clearBorder() {  copyOnWrite();
        instance.clearBorder();
        return this;
      }

      /**
       * <pre>
       * Adds a background (with corner radius) to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
       */
      @java.lang.Override
      public boolean hasBackground() {
        return instance.hasBackground();
      }
      /**
       * <pre>
       * Adds a background (with corner radius) to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ModifiersProto.Background getBackground() {
        return instance.getBackground();
      }
      /**
       * <pre>
       * Adds a background (with corner radius) to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
       */
      public Builder setBackground(androidx.wear.protolayout.proto.ModifiersProto.Background value) {
        copyOnWrite();
        instance.setBackground(value);
        return this;
        }
      /**
       * <pre>
       * Adds a background (with corner radius) to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
       */
      public Builder setBackground(
          androidx.wear.protolayout.proto.ModifiersProto.Background.Builder builderForValue) {
        copyOnWrite();
        instance.setBackground(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Adds a background (with corner radius) to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
       */
      public Builder mergeBackground(androidx.wear.protolayout.proto.ModifiersProto.Background value) {
        copyOnWrite();
        instance.mergeBackground(value);
        return this;
      }
      /**
       * <pre>
       * Adds a background (with corner radius) to the modified element.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Background background = 5;</code>
       */
      public Builder clearBackground() {  copyOnWrite();
        instance.clearBackground();
        return this;
      }

      /**
       * <pre>
       * Metadata about an element. For use by libraries building higher-level
       * components only. This can be used to track component metadata
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
       */
      @java.lang.Override
      public boolean hasMetadata() {
        return instance.hasMetadata();
      }
      /**
       * <pre>
       * Metadata about an element. For use by libraries building higher-level
       * components only. This can be used to track component metadata
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata getMetadata() {
        return instance.getMetadata();
      }
      /**
       * <pre>
       * Metadata about an element. For use by libraries building higher-level
       * components only. This can be used to track component metadata
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
       */
      public Builder setMetadata(androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata value) {
        copyOnWrite();
        instance.setMetadata(value);
        return this;
        }
      /**
       * <pre>
       * Metadata about an element. For use by libraries building higher-level
       * components only. This can be used to track component metadata
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
       */
      public Builder setMetadata(
          androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata.Builder builderForValue) {
        copyOnWrite();
        instance.setMetadata(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Metadata about an element. For use by libraries building higher-level
       * components only. This can be used to track component metadata
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
       */
      public Builder mergeMetadata(androidx.wear.protolayout.proto.ModifiersProto.ElementMetadata value) {
        copyOnWrite();
        instance.mergeMetadata(value);
        return this;
      }
      /**
       * <pre>
       * Metadata about an element. For use by libraries building higher-level
       * components only. This can be used to track component metadata
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.ElementMetadata metadata = 6;</code>
       */
      public Builder clearMetadata() {  copyOnWrite();
        instance.clearMetadata();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.wear.protolayout.proto.Modifiers)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.wear.protolayout.proto.ModifiersProto.Modifiers();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "clickable_",
              "semantics_",
              "padding_",
              "border_",
              "background_",
              "metadata_",
            };
            java.lang.String info =
                "\u0000\u0006\u0000\u0000\u0001\u0006\u0006\u0000\u0000\u0000\u0001\t\u0002\t\u0003" +
                "\t\u0004\t\u0005\t\u0006\t";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.wear.protolayout.proto.ModifiersProto.Modifiers> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.wear.protolayout.proto.ModifiersProto.Modifiers.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.wear.protolayout.proto.ModifiersProto.Modifiers>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:androidx.wear.protolayout.proto.Modifiers)
    private static final androidx.wear.protolayout.proto.ModifiersProto.Modifiers DEFAULT_INSTANCE;
    static {
      Modifiers defaultInstance = new Modifiers();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Modifiers.class, defaultInstance);
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.Modifiers getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Modifiers> PARSER;

    public static com.google.protobuf.Parser<Modifiers> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface ArcModifiersOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.wear.protolayout.proto.ArcModifiers)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     * @return Whether the clickable field is set.
     */
    boolean hasClickable();
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     * @return The clickable.
     */
    androidx.wear.protolayout.proto.ModifiersProto.Clickable getClickable();

    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     * @return Whether the semantics field is set.
     */
    boolean hasSemantics();
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     * @return The semantics.
     */
    androidx.wear.protolayout.proto.ModifiersProto.Semantics getSemantics();
  }
  /**
   * <pre>
   * Modifiers that can be used with ArcLayoutElements. These may change the way
   * they are drawn, or change their behaviour.
   * </pre>
   *
   * Protobuf type {@code androidx.wear.protolayout.proto.ArcModifiers}
   */
  public  static final class ArcModifiers extends
      com.google.protobuf.GeneratedMessageLite<
          ArcModifiers, ArcModifiers.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.wear.protolayout.proto.ArcModifiers)
      ArcModifiersOrBuilder {
    private ArcModifiers() {
    }
    public static final int CLICKABLE_FIELD_NUMBER = 1;
    private androidx.wear.protolayout.proto.ModifiersProto.Clickable clickable_;
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    @java.lang.Override
    public boolean hasClickable() {
      return clickable_ != null;
    }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ModifiersProto.Clickable getClickable() {
      return clickable_ == null ? androidx.wear.protolayout.proto.ModifiersProto.Clickable.getDefaultInstance() : clickable_;
    }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    private void setClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
      value.getClass();
  clickable_ = value;
      
      }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
      value.getClass();
  if (clickable_ != null &&
          clickable_ != androidx.wear.protolayout.proto.ModifiersProto.Clickable.getDefaultInstance()) {
        clickable_ =
          androidx.wear.protolayout.proto.ModifiersProto.Clickable.newBuilder(clickable_).mergeFrom(value).buildPartial();
      } else {
        clickable_ = value;
      }
      
    }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    private void clearClickable() {  clickable_ = null;
      
    }

    public static final int SEMANTICS_FIELD_NUMBER = 2;
    private androidx.wear.protolayout.proto.ModifiersProto.Semantics semantics_;
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     */
    @java.lang.Override
    public boolean hasSemantics() {
      return semantics_ != null;
    }
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ModifiersProto.Semantics getSemantics() {
      return semantics_ == null ? androidx.wear.protolayout.proto.ModifiersProto.Semantics.getDefaultInstance() : semantics_;
    }
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     */
    private void setSemantics(androidx.wear.protolayout.proto.ModifiersProto.Semantics value) {
      value.getClass();
  semantics_ = value;
      
      }
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeSemantics(androidx.wear.protolayout.proto.ModifiersProto.Semantics value) {
      value.getClass();
  if (semantics_ != null &&
          semantics_ != androidx.wear.protolayout.proto.ModifiersProto.Semantics.getDefaultInstance()) {
        semantics_ =
          androidx.wear.protolayout.proto.ModifiersProto.Semantics.newBuilder(semantics_).mergeFrom(value).buildPartial();
      } else {
        semantics_ = value;
      }
      
    }
    /**
     * <pre>
     * Adds metadata for the modified element, for example, screen reader content
     * descriptions.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
     */
    private void clearSemantics() {  semantics_ = null;
      
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Modifiers that can be used with ArcLayoutElements. These may change the way
     * they are drawn, or change their behaviour.
     * </pre>
     *
     * Protobuf type {@code androidx.wear.protolayout.proto.ArcModifiers}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.wear.protolayout.proto.ArcModifiers)
        androidx.wear.protolayout.proto.ModifiersProto.ArcModifiersOrBuilder {
      // Construct using androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      @java.lang.Override
      public boolean hasClickable() {
        return instance.hasClickable();
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ModifiersProto.Clickable getClickable() {
        return instance.getClickable();
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder setClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
        copyOnWrite();
        instance.setClickable(value);
        return this;
        }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder setClickable(
          androidx.wear.protolayout.proto.ModifiersProto.Clickable.Builder builderForValue) {
        copyOnWrite();
        instance.setClickable(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder mergeClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
        copyOnWrite();
        instance.mergeClickable(value);
        return this;
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder clearClickable() {  copyOnWrite();
        instance.clearClickable();
        return this;
      }

      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      @java.lang.Override
      public boolean hasSemantics() {
        return instance.hasSemantics();
      }
      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ModifiersProto.Semantics getSemantics() {
        return instance.getSemantics();
      }
      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      public Builder setSemantics(androidx.wear.protolayout.proto.ModifiersProto.Semantics value) {
        copyOnWrite();
        instance.setSemantics(value);
        return this;
        }
      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      public Builder setSemantics(
          androidx.wear.protolayout.proto.ModifiersProto.Semantics.Builder builderForValue) {
        copyOnWrite();
        instance.setSemantics(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      public Builder mergeSemantics(androidx.wear.protolayout.proto.ModifiersProto.Semantics value) {
        copyOnWrite();
        instance.mergeSemantics(value);
        return this;
      }
      /**
       * <pre>
       * Adds metadata for the modified element, for example, screen reader content
       * descriptions.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Semantics semantics = 2;</code>
       */
      public Builder clearSemantics() {  copyOnWrite();
        instance.clearSemantics();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.wear.protolayout.proto.ArcModifiers)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "clickable_",
              "semantics_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\t\u0002\t";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:androidx.wear.protolayout.proto.ArcModifiers)
    private static final androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers DEFAULT_INSTANCE;
    static {
      ArcModifiers defaultInstance = new ArcModifiers();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        ArcModifiers.class, defaultInstance);
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.ArcModifiers getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<ArcModifiers> PARSER;

    public static com.google.protobuf.Parser<ArcModifiers> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface SpanModifiersOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.wear.protolayout.proto.SpanModifiers)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     * @return Whether the clickable field is set.
     */
    boolean hasClickable();
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     * @return The clickable.
     */
    androidx.wear.protolayout.proto.ModifiersProto.Clickable getClickable();
  }
  /**
   * <pre>
   * Modifiers that can be used with Span elements. These may change the way
   * they are drawn, or change their behaviour.
   * </pre>
   *
   * Protobuf type {@code androidx.wear.protolayout.proto.SpanModifiers}
   */
  public  static final class SpanModifiers extends
      com.google.protobuf.GeneratedMessageLite<
          SpanModifiers, SpanModifiers.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.wear.protolayout.proto.SpanModifiers)
      SpanModifiersOrBuilder {
    private SpanModifiers() {
    }
    public static final int CLICKABLE_FIELD_NUMBER = 1;
    private androidx.wear.protolayout.proto.ModifiersProto.Clickable clickable_;
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    @java.lang.Override
    public boolean hasClickable() {
      return clickable_ != null;
    }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    @java.lang.Override
    public androidx.wear.protolayout.proto.ModifiersProto.Clickable getClickable() {
      return clickable_ == null ? androidx.wear.protolayout.proto.ModifiersProto.Clickable.getDefaultInstance() : clickable_;
    }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    private void setClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
      value.getClass();
  clickable_ = value;
      
      }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
      value.getClass();
  if (clickable_ != null &&
          clickable_ != androidx.wear.protolayout.proto.ModifiersProto.Clickable.getDefaultInstance()) {
        clickable_ =
          androidx.wear.protolayout.proto.ModifiersProto.Clickable.newBuilder(clickable_).mergeFrom(value).buildPartial();
      } else {
        clickable_ = value;
      }
      
    }
    /**
     * <pre>
     * Allows its wrapped element to have actions associated with it, which will
     * be executed when the element is tapped.
     * </pre>
     *
     * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
     */
    private void clearClickable() {  clickable_ = null;
      
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Modifiers that can be used with Span elements. These may change the way
     * they are drawn, or change their behaviour.
     * </pre>
     *
     * Protobuf type {@code androidx.wear.protolayout.proto.SpanModifiers}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.wear.protolayout.proto.SpanModifiers)
        androidx.wear.protolayout.proto.ModifiersProto.SpanModifiersOrBuilder {
      // Construct using androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      @java.lang.Override
      public boolean hasClickable() {
        return instance.hasClickable();
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      @java.lang.Override
      public androidx.wear.protolayout.proto.ModifiersProto.Clickable getClickable() {
        return instance.getClickable();
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder setClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
        copyOnWrite();
        instance.setClickable(value);
        return this;
        }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder setClickable(
          androidx.wear.protolayout.proto.ModifiersProto.Clickable.Builder builderForValue) {
        copyOnWrite();
        instance.setClickable(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder mergeClickable(androidx.wear.protolayout.proto.ModifiersProto.Clickable value) {
        copyOnWrite();
        instance.mergeClickable(value);
        return this;
      }
      /**
       * <pre>
       * Allows its wrapped element to have actions associated with it, which will
       * be executed when the element is tapped.
       * </pre>
       *
       * <code>.androidx.wear.protolayout.proto.Clickable clickable = 1;</code>
       */
      public Builder clearClickable() {  copyOnWrite();
        instance.clearClickable();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.wear.protolayout.proto.SpanModifiers)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "clickable_",
            };
            java.lang.String info =
                "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001\t";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:androidx.wear.protolayout.proto.SpanModifiers)
    private static final androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers DEFAULT_INSTANCE;
    static {
      SpanModifiers defaultInstance = new SpanModifiers();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        SpanModifiers.class, defaultInstance);
    }

    public static androidx.wear.protolayout.proto.ModifiersProto.SpanModifiers getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<SpanModifiers> PARSER;

    public static com.google.protobuf.Parser<SpanModifiers> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}