001// Generated by the protocol buffer compiler.  DO NOT EDIT!
002// source: hapi/chart/metadata.proto
003
004package hapi.chart;
005
006public final class MetadataOuterClass {
007  private MetadataOuterClass() {}
008  public static void registerAllExtensions(
009      com.google.protobuf.ExtensionRegistryLite registry) {
010  }
011
012  public static void registerAllExtensions(
013      com.google.protobuf.ExtensionRegistry registry) {
014    registerAllExtensions(
015        (com.google.protobuf.ExtensionRegistryLite) registry);
016  }
017  public interface MaintainerOrBuilder extends
018      // @@protoc_insertion_point(interface_extends:hapi.chart.Maintainer)
019      com.google.protobuf.MessageOrBuilder {
020
021    /**
022     * <pre>
023     * Name is a user name or organization name
024     * </pre>
025     *
026     * <code>string name = 1;</code>
027     */
028    java.lang.String getName();
029    /**
030     * <pre>
031     * Name is a user name or organization name
032     * </pre>
033     *
034     * <code>string name = 1;</code>
035     */
036    com.google.protobuf.ByteString
037        getNameBytes();
038
039    /**
040     * <pre>
041     * Email is an optional email address to contact the named maintainer
042     * </pre>
043     *
044     * <code>string email = 2;</code>
045     */
046    java.lang.String getEmail();
047    /**
048     * <pre>
049     * Email is an optional email address to contact the named maintainer
050     * </pre>
051     *
052     * <code>string email = 2;</code>
053     */
054    com.google.protobuf.ByteString
055        getEmailBytes();
056  }
057  /**
058   * <pre>
059   * Maintainer describes a Chart maintainer.
060   * </pre>
061   *
062   * Protobuf type {@code hapi.chart.Maintainer}
063   */
064  public  static final class Maintainer extends
065      com.google.protobuf.GeneratedMessageV3 implements
066      // @@protoc_insertion_point(message_implements:hapi.chart.Maintainer)
067      MaintainerOrBuilder {
068    // Use Maintainer.newBuilder() to construct.
069    private Maintainer(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
070      super(builder);
071    }
072    private Maintainer() {
073      name_ = "";
074      email_ = "";
075    }
076
077    @java.lang.Override
078    public final com.google.protobuf.UnknownFieldSet
079    getUnknownFields() {
080      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
081    }
082    private Maintainer(
083        com.google.protobuf.CodedInputStream input,
084        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
085        throws com.google.protobuf.InvalidProtocolBufferException {
086      this();
087      int mutable_bitField0_ = 0;
088      try {
089        boolean done = false;
090        while (!done) {
091          int tag = input.readTag();
092          switch (tag) {
093            case 0:
094              done = true;
095              break;
096            default: {
097              if (!input.skipField(tag)) {
098                done = true;
099              }
100              break;
101            }
102            case 10: {
103              java.lang.String s = input.readStringRequireUtf8();
104
105              name_ = s;
106              break;
107            }
108            case 18: {
109              java.lang.String s = input.readStringRequireUtf8();
110
111              email_ = s;
112              break;
113            }
114          }
115        }
116      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
117        throw e.setUnfinishedMessage(this);
118      } catch (java.io.IOException e) {
119        throw new com.google.protobuf.InvalidProtocolBufferException(
120            e).setUnfinishedMessage(this);
121      } finally {
122        makeExtensionsImmutable();
123      }
124    }
125    public static final com.google.protobuf.Descriptors.Descriptor
126        getDescriptor() {
127      return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Maintainer_descriptor;
128    }
129
130    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
131        internalGetFieldAccessorTable() {
132      return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Maintainer_fieldAccessorTable
133          .ensureFieldAccessorsInitialized(
134              hapi.chart.MetadataOuterClass.Maintainer.class, hapi.chart.MetadataOuterClass.Maintainer.Builder.class);
135    }
136
137    public static final int NAME_FIELD_NUMBER = 1;
138    private volatile java.lang.Object name_;
139    /**
140     * <pre>
141     * Name is a user name or organization name
142     * </pre>
143     *
144     * <code>string name = 1;</code>
145     */
146    public java.lang.String getName() {
147      java.lang.Object ref = name_;
148      if (ref instanceof java.lang.String) {
149        return (java.lang.String) ref;
150      } else {
151        com.google.protobuf.ByteString bs = 
152            (com.google.protobuf.ByteString) ref;
153        java.lang.String s = bs.toStringUtf8();
154        name_ = s;
155        return s;
156      }
157    }
158    /**
159     * <pre>
160     * Name is a user name or organization name
161     * </pre>
162     *
163     * <code>string name = 1;</code>
164     */
165    public com.google.protobuf.ByteString
166        getNameBytes() {
167      java.lang.Object ref = name_;
168      if (ref instanceof java.lang.String) {
169        com.google.protobuf.ByteString b = 
170            com.google.protobuf.ByteString.copyFromUtf8(
171                (java.lang.String) ref);
172        name_ = b;
173        return b;
174      } else {
175        return (com.google.protobuf.ByteString) ref;
176      }
177    }
178
179    public static final int EMAIL_FIELD_NUMBER = 2;
180    private volatile java.lang.Object email_;
181    /**
182     * <pre>
183     * Email is an optional email address to contact the named maintainer
184     * </pre>
185     *
186     * <code>string email = 2;</code>
187     */
188    public java.lang.String getEmail() {
189      java.lang.Object ref = email_;
190      if (ref instanceof java.lang.String) {
191        return (java.lang.String) ref;
192      } else {
193        com.google.protobuf.ByteString bs = 
194            (com.google.protobuf.ByteString) ref;
195        java.lang.String s = bs.toStringUtf8();
196        email_ = s;
197        return s;
198      }
199    }
200    /**
201     * <pre>
202     * Email is an optional email address to contact the named maintainer
203     * </pre>
204     *
205     * <code>string email = 2;</code>
206     */
207    public com.google.protobuf.ByteString
208        getEmailBytes() {
209      java.lang.Object ref = email_;
210      if (ref instanceof java.lang.String) {
211        com.google.protobuf.ByteString b = 
212            com.google.protobuf.ByteString.copyFromUtf8(
213                (java.lang.String) ref);
214        email_ = b;
215        return b;
216      } else {
217        return (com.google.protobuf.ByteString) ref;
218      }
219    }
220
221    private byte memoizedIsInitialized = -1;
222    public final boolean isInitialized() {
223      byte isInitialized = memoizedIsInitialized;
224      if (isInitialized == 1) return true;
225      if (isInitialized == 0) return false;
226
227      memoizedIsInitialized = 1;
228      return true;
229    }
230
231    public void writeTo(com.google.protobuf.CodedOutputStream output)
232                        throws java.io.IOException {
233      if (!getNameBytes().isEmpty()) {
234        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
235      }
236      if (!getEmailBytes().isEmpty()) {
237        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, email_);
238      }
239    }
240
241    public int getSerializedSize() {
242      int size = memoizedSize;
243      if (size != -1) return size;
244
245      size = 0;
246      if (!getNameBytes().isEmpty()) {
247        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
248      }
249      if (!getEmailBytes().isEmpty()) {
250        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, email_);
251      }
252      memoizedSize = size;
253      return size;
254    }
255
256    private static final long serialVersionUID = 0L;
257    @java.lang.Override
258    public boolean equals(final java.lang.Object obj) {
259      if (obj == this) {
260       return true;
261      }
262      if (!(obj instanceof hapi.chart.MetadataOuterClass.Maintainer)) {
263        return super.equals(obj);
264      }
265      hapi.chart.MetadataOuterClass.Maintainer other = (hapi.chart.MetadataOuterClass.Maintainer) obj;
266
267      boolean result = true;
268      result = result && getName()
269          .equals(other.getName());
270      result = result && getEmail()
271          .equals(other.getEmail());
272      return result;
273    }
274
275    @java.lang.Override
276    public int hashCode() {
277      if (memoizedHashCode != 0) {
278        return memoizedHashCode;
279      }
280      int hash = 41;
281      hash = (19 * hash) + getDescriptor().hashCode();
282      hash = (37 * hash) + NAME_FIELD_NUMBER;
283      hash = (53 * hash) + getName().hashCode();
284      hash = (37 * hash) + EMAIL_FIELD_NUMBER;
285      hash = (53 * hash) + getEmail().hashCode();
286      hash = (29 * hash) + unknownFields.hashCode();
287      memoizedHashCode = hash;
288      return hash;
289    }
290
291    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
292        java.nio.ByteBuffer data)
293        throws com.google.protobuf.InvalidProtocolBufferException {
294      return PARSER.parseFrom(data);
295    }
296    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
297        java.nio.ByteBuffer data,
298        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
299        throws com.google.protobuf.InvalidProtocolBufferException {
300      return PARSER.parseFrom(data, extensionRegistry);
301    }
302    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
303        com.google.protobuf.ByteString data)
304        throws com.google.protobuf.InvalidProtocolBufferException {
305      return PARSER.parseFrom(data);
306    }
307    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
308        com.google.protobuf.ByteString data,
309        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
310        throws com.google.protobuf.InvalidProtocolBufferException {
311      return PARSER.parseFrom(data, extensionRegistry);
312    }
313    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(byte[] data)
314        throws com.google.protobuf.InvalidProtocolBufferException {
315      return PARSER.parseFrom(data);
316    }
317    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
318        byte[] data,
319        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
320        throws com.google.protobuf.InvalidProtocolBufferException {
321      return PARSER.parseFrom(data, extensionRegistry);
322    }
323    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(java.io.InputStream input)
324        throws java.io.IOException {
325      return com.google.protobuf.GeneratedMessageV3
326          .parseWithIOException(PARSER, input);
327    }
328    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
329        java.io.InputStream input,
330        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
331        throws java.io.IOException {
332      return com.google.protobuf.GeneratedMessageV3
333          .parseWithIOException(PARSER, input, extensionRegistry);
334    }
335    public static hapi.chart.MetadataOuterClass.Maintainer parseDelimitedFrom(java.io.InputStream input)
336        throws java.io.IOException {
337      return com.google.protobuf.GeneratedMessageV3
338          .parseDelimitedWithIOException(PARSER, input);
339    }
340    public static hapi.chart.MetadataOuterClass.Maintainer parseDelimitedFrom(
341        java.io.InputStream input,
342        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
343        throws java.io.IOException {
344      return com.google.protobuf.GeneratedMessageV3
345          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
346    }
347    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
348        com.google.protobuf.CodedInputStream input)
349        throws java.io.IOException {
350      return com.google.protobuf.GeneratedMessageV3
351          .parseWithIOException(PARSER, input);
352    }
353    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
354        com.google.protobuf.CodedInputStream input,
355        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
356        throws java.io.IOException {
357      return com.google.protobuf.GeneratedMessageV3
358          .parseWithIOException(PARSER, input, extensionRegistry);
359    }
360
361    public Builder newBuilderForType() { return newBuilder(); }
362    public static Builder newBuilder() {
363      return DEFAULT_INSTANCE.toBuilder();
364    }
365    public static Builder newBuilder(hapi.chart.MetadataOuterClass.Maintainer prototype) {
366      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
367    }
368    public Builder toBuilder() {
369      return this == DEFAULT_INSTANCE
370          ? new Builder() : new Builder().mergeFrom(this);
371    }
372
373    @java.lang.Override
374    protected Builder newBuilderForType(
375        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
376      Builder builder = new Builder(parent);
377      return builder;
378    }
379    /**
380     * <pre>
381     * Maintainer describes a Chart maintainer.
382     * </pre>
383     *
384     * Protobuf type {@code hapi.chart.Maintainer}
385     */
386    public static final class Builder extends
387        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
388        // @@protoc_insertion_point(builder_implements:hapi.chart.Maintainer)
389        hapi.chart.MetadataOuterClass.MaintainerOrBuilder {
390      public static final com.google.protobuf.Descriptors.Descriptor
391          getDescriptor() {
392        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Maintainer_descriptor;
393      }
394
395      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
396          internalGetFieldAccessorTable() {
397        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Maintainer_fieldAccessorTable
398            .ensureFieldAccessorsInitialized(
399                hapi.chart.MetadataOuterClass.Maintainer.class, hapi.chart.MetadataOuterClass.Maintainer.Builder.class);
400      }
401
402      // Construct using hapi.chart.MetadataOuterClass.Maintainer.newBuilder()
403      private Builder() {
404        maybeForceBuilderInitialization();
405      }
406
407      private Builder(
408          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
409        super(parent);
410        maybeForceBuilderInitialization();
411      }
412      private void maybeForceBuilderInitialization() {
413        if (com.google.protobuf.GeneratedMessageV3
414                .alwaysUseFieldBuilders) {
415        }
416      }
417      public Builder clear() {
418        super.clear();
419        name_ = "";
420
421        email_ = "";
422
423        return this;
424      }
425
426      public com.google.protobuf.Descriptors.Descriptor
427          getDescriptorForType() {
428        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Maintainer_descriptor;
429      }
430
431      public hapi.chart.MetadataOuterClass.Maintainer getDefaultInstanceForType() {
432        return hapi.chart.MetadataOuterClass.Maintainer.getDefaultInstance();
433      }
434
435      public hapi.chart.MetadataOuterClass.Maintainer build() {
436        hapi.chart.MetadataOuterClass.Maintainer result = buildPartial();
437        if (!result.isInitialized()) {
438          throw newUninitializedMessageException(result);
439        }
440        return result;
441      }
442
443      public hapi.chart.MetadataOuterClass.Maintainer buildPartial() {
444        hapi.chart.MetadataOuterClass.Maintainer result = new hapi.chart.MetadataOuterClass.Maintainer(this);
445        result.name_ = name_;
446        result.email_ = email_;
447        onBuilt();
448        return result;
449      }
450
451      public Builder clone() {
452        return (Builder) super.clone();
453      }
454      public Builder setField(
455          com.google.protobuf.Descriptors.FieldDescriptor field,
456          Object value) {
457        return (Builder) super.setField(field, value);
458      }
459      public Builder clearField(
460          com.google.protobuf.Descriptors.FieldDescriptor field) {
461        return (Builder) super.clearField(field);
462      }
463      public Builder clearOneof(
464          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
465        return (Builder) super.clearOneof(oneof);
466      }
467      public Builder setRepeatedField(
468          com.google.protobuf.Descriptors.FieldDescriptor field,
469          int index, Object value) {
470        return (Builder) super.setRepeatedField(field, index, value);
471      }
472      public Builder addRepeatedField(
473          com.google.protobuf.Descriptors.FieldDescriptor field,
474          Object value) {
475        return (Builder) super.addRepeatedField(field, value);
476      }
477      public Builder mergeFrom(com.google.protobuf.Message other) {
478        if (other instanceof hapi.chart.MetadataOuterClass.Maintainer) {
479          return mergeFrom((hapi.chart.MetadataOuterClass.Maintainer)other);
480        } else {
481          super.mergeFrom(other);
482          return this;
483        }
484      }
485
486      public Builder mergeFrom(hapi.chart.MetadataOuterClass.Maintainer other) {
487        if (other == hapi.chart.MetadataOuterClass.Maintainer.getDefaultInstance()) return this;
488        if (!other.getName().isEmpty()) {
489          name_ = other.name_;
490          onChanged();
491        }
492        if (!other.getEmail().isEmpty()) {
493          email_ = other.email_;
494          onChanged();
495        }
496        onChanged();
497        return this;
498      }
499
500      public final boolean isInitialized() {
501        return true;
502      }
503
504      public Builder mergeFrom(
505          com.google.protobuf.CodedInputStream input,
506          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
507          throws java.io.IOException {
508        hapi.chart.MetadataOuterClass.Maintainer parsedMessage = null;
509        try {
510          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
511        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
512          parsedMessage = (hapi.chart.MetadataOuterClass.Maintainer) e.getUnfinishedMessage();
513          throw e.unwrapIOException();
514        } finally {
515          if (parsedMessage != null) {
516            mergeFrom(parsedMessage);
517          }
518        }
519        return this;
520      }
521
522      private java.lang.Object name_ = "";
523      /**
524       * <pre>
525       * Name is a user name or organization name
526       * </pre>
527       *
528       * <code>string name = 1;</code>
529       */
530      public java.lang.String getName() {
531        java.lang.Object ref = name_;
532        if (!(ref instanceof java.lang.String)) {
533          com.google.protobuf.ByteString bs =
534              (com.google.protobuf.ByteString) ref;
535          java.lang.String s = bs.toStringUtf8();
536          name_ = s;
537          return s;
538        } else {
539          return (java.lang.String) ref;
540        }
541      }
542      /**
543       * <pre>
544       * Name is a user name or organization name
545       * </pre>
546       *
547       * <code>string name = 1;</code>
548       */
549      public com.google.protobuf.ByteString
550          getNameBytes() {
551        java.lang.Object ref = name_;
552        if (ref instanceof String) {
553          com.google.protobuf.ByteString b = 
554              com.google.protobuf.ByteString.copyFromUtf8(
555                  (java.lang.String) ref);
556          name_ = b;
557          return b;
558        } else {
559          return (com.google.protobuf.ByteString) ref;
560        }
561      }
562      /**
563       * <pre>
564       * Name is a user name or organization name
565       * </pre>
566       *
567       * <code>string name = 1;</code>
568       */
569      public Builder setName(
570          java.lang.String value) {
571        if (value == null) {
572    throw new NullPointerException();
573  }
574  
575        name_ = value;
576        onChanged();
577        return this;
578      }
579      /**
580       * <pre>
581       * Name is a user name or organization name
582       * </pre>
583       *
584       * <code>string name = 1;</code>
585       */
586      public Builder clearName() {
587        
588        name_ = getDefaultInstance().getName();
589        onChanged();
590        return this;
591      }
592      /**
593       * <pre>
594       * Name is a user name or organization name
595       * </pre>
596       *
597       * <code>string name = 1;</code>
598       */
599      public Builder setNameBytes(
600          com.google.protobuf.ByteString value) {
601        if (value == null) {
602    throw new NullPointerException();
603  }
604  checkByteStringIsUtf8(value);
605        
606        name_ = value;
607        onChanged();
608        return this;
609      }
610
611      private java.lang.Object email_ = "";
612      /**
613       * <pre>
614       * Email is an optional email address to contact the named maintainer
615       * </pre>
616       *
617       * <code>string email = 2;</code>
618       */
619      public java.lang.String getEmail() {
620        java.lang.Object ref = email_;
621        if (!(ref instanceof java.lang.String)) {
622          com.google.protobuf.ByteString bs =
623              (com.google.protobuf.ByteString) ref;
624          java.lang.String s = bs.toStringUtf8();
625          email_ = s;
626          return s;
627        } else {
628          return (java.lang.String) ref;
629        }
630      }
631      /**
632       * <pre>
633       * Email is an optional email address to contact the named maintainer
634       * </pre>
635       *
636       * <code>string email = 2;</code>
637       */
638      public com.google.protobuf.ByteString
639          getEmailBytes() {
640        java.lang.Object ref = email_;
641        if (ref instanceof String) {
642          com.google.protobuf.ByteString b = 
643              com.google.protobuf.ByteString.copyFromUtf8(
644                  (java.lang.String) ref);
645          email_ = b;
646          return b;
647        } else {
648          return (com.google.protobuf.ByteString) ref;
649        }
650      }
651      /**
652       * <pre>
653       * Email is an optional email address to contact the named maintainer
654       * </pre>
655       *
656       * <code>string email = 2;</code>
657       */
658      public Builder setEmail(
659          java.lang.String value) {
660        if (value == null) {
661    throw new NullPointerException();
662  }
663  
664        email_ = value;
665        onChanged();
666        return this;
667      }
668      /**
669       * <pre>
670       * Email is an optional email address to contact the named maintainer
671       * </pre>
672       *
673       * <code>string email = 2;</code>
674       */
675      public Builder clearEmail() {
676        
677        email_ = getDefaultInstance().getEmail();
678        onChanged();
679        return this;
680      }
681      /**
682       * <pre>
683       * Email is an optional email address to contact the named maintainer
684       * </pre>
685       *
686       * <code>string email = 2;</code>
687       */
688      public Builder setEmailBytes(
689          com.google.protobuf.ByteString value) {
690        if (value == null) {
691    throw new NullPointerException();
692  }
693  checkByteStringIsUtf8(value);
694        
695        email_ = value;
696        onChanged();
697        return this;
698      }
699      public final Builder setUnknownFields(
700          final com.google.protobuf.UnknownFieldSet unknownFields) {
701        return this;
702      }
703
704      public final Builder mergeUnknownFields(
705          final com.google.protobuf.UnknownFieldSet unknownFields) {
706        return this;
707      }
708
709
710      // @@protoc_insertion_point(builder_scope:hapi.chart.Maintainer)
711    }
712
713    // @@protoc_insertion_point(class_scope:hapi.chart.Maintainer)
714    private static final hapi.chart.MetadataOuterClass.Maintainer DEFAULT_INSTANCE;
715    static {
716      DEFAULT_INSTANCE = new hapi.chart.MetadataOuterClass.Maintainer();
717    }
718
719    public static hapi.chart.MetadataOuterClass.Maintainer getDefaultInstance() {
720      return DEFAULT_INSTANCE;
721    }
722
723    private static final com.google.protobuf.Parser<Maintainer>
724        PARSER = new com.google.protobuf.AbstractParser<Maintainer>() {
725      public Maintainer parsePartialFrom(
726          com.google.protobuf.CodedInputStream input,
727          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
728          throws com.google.protobuf.InvalidProtocolBufferException {
729          return new Maintainer(input, extensionRegistry);
730      }
731    };
732
733    public static com.google.protobuf.Parser<Maintainer> parser() {
734      return PARSER;
735    }
736
737    @java.lang.Override
738    public com.google.protobuf.Parser<Maintainer> getParserForType() {
739      return PARSER;
740    }
741
742    public hapi.chart.MetadataOuterClass.Maintainer getDefaultInstanceForType() {
743      return DEFAULT_INSTANCE;
744    }
745
746  }
747
748  public interface MetadataOrBuilder extends
749      // @@protoc_insertion_point(interface_extends:hapi.chart.Metadata)
750      com.google.protobuf.MessageOrBuilder {
751
752    /**
753     * <pre>
754     * The name of the chart
755     * </pre>
756     *
757     * <code>string name = 1;</code>
758     */
759    java.lang.String getName();
760    /**
761     * <pre>
762     * The name of the chart
763     * </pre>
764     *
765     * <code>string name = 1;</code>
766     */
767    com.google.protobuf.ByteString
768        getNameBytes();
769
770    /**
771     * <pre>
772     * The URL to a relevant project page, git repo, or contact person
773     * </pre>
774     *
775     * <code>string home = 2;</code>
776     */
777    java.lang.String getHome();
778    /**
779     * <pre>
780     * The URL to a relevant project page, git repo, or contact person
781     * </pre>
782     *
783     * <code>string home = 2;</code>
784     */
785    com.google.protobuf.ByteString
786        getHomeBytes();
787
788    /**
789     * <pre>
790     * Source is the URL to the source code of this chart
791     * </pre>
792     *
793     * <code>repeated string sources = 3;</code>
794     */
795    java.util.List<java.lang.String>
796        getSourcesList();
797    /**
798     * <pre>
799     * Source is the URL to the source code of this chart
800     * </pre>
801     *
802     * <code>repeated string sources = 3;</code>
803     */
804    int getSourcesCount();
805    /**
806     * <pre>
807     * Source is the URL to the source code of this chart
808     * </pre>
809     *
810     * <code>repeated string sources = 3;</code>
811     */
812    java.lang.String getSources(int index);
813    /**
814     * <pre>
815     * Source is the URL to the source code of this chart
816     * </pre>
817     *
818     * <code>repeated string sources = 3;</code>
819     */
820    com.google.protobuf.ByteString
821        getSourcesBytes(int index);
822
823    /**
824     * <pre>
825     * A SemVer 2 conformant version string of the chart
826     * </pre>
827     *
828     * <code>string version = 4;</code>
829     */
830    java.lang.String getVersion();
831    /**
832     * <pre>
833     * A SemVer 2 conformant version string of the chart
834     * </pre>
835     *
836     * <code>string version = 4;</code>
837     */
838    com.google.protobuf.ByteString
839        getVersionBytes();
840
841    /**
842     * <pre>
843     * A one-sentence description of the chart
844     * </pre>
845     *
846     * <code>string description = 5;</code>
847     */
848    java.lang.String getDescription();
849    /**
850     * <pre>
851     * A one-sentence description of the chart
852     * </pre>
853     *
854     * <code>string description = 5;</code>
855     */
856    com.google.protobuf.ByteString
857        getDescriptionBytes();
858
859    /**
860     * <pre>
861     * A list of string keywords
862     * </pre>
863     *
864     * <code>repeated string keywords = 6;</code>
865     */
866    java.util.List<java.lang.String>
867        getKeywordsList();
868    /**
869     * <pre>
870     * A list of string keywords
871     * </pre>
872     *
873     * <code>repeated string keywords = 6;</code>
874     */
875    int getKeywordsCount();
876    /**
877     * <pre>
878     * A list of string keywords
879     * </pre>
880     *
881     * <code>repeated string keywords = 6;</code>
882     */
883    java.lang.String getKeywords(int index);
884    /**
885     * <pre>
886     * A list of string keywords
887     * </pre>
888     *
889     * <code>repeated string keywords = 6;</code>
890     */
891    com.google.protobuf.ByteString
892        getKeywordsBytes(int index);
893
894    /**
895     * <pre>
896     * A list of name and URL/email address combinations for the maintainer(s)
897     * </pre>
898     *
899     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
900     */
901    java.util.List<hapi.chart.MetadataOuterClass.Maintainer> 
902        getMaintainersList();
903    /**
904     * <pre>
905     * A list of name and URL/email address combinations for the maintainer(s)
906     * </pre>
907     *
908     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
909     */
910    hapi.chart.MetadataOuterClass.Maintainer getMaintainers(int index);
911    /**
912     * <pre>
913     * A list of name and URL/email address combinations for the maintainer(s)
914     * </pre>
915     *
916     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
917     */
918    int getMaintainersCount();
919    /**
920     * <pre>
921     * A list of name and URL/email address combinations for the maintainer(s)
922     * </pre>
923     *
924     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
925     */
926    java.util.List<? extends hapi.chart.MetadataOuterClass.MaintainerOrBuilder> 
927        getMaintainersOrBuilderList();
928    /**
929     * <pre>
930     * A list of name and URL/email address combinations for the maintainer(s)
931     * </pre>
932     *
933     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
934     */
935    hapi.chart.MetadataOuterClass.MaintainerOrBuilder getMaintainersOrBuilder(
936        int index);
937
938    /**
939     * <pre>
940     * The name of the template engine to use. Defaults to 'gotpl'.
941     * </pre>
942     *
943     * <code>string engine = 8;</code>
944     */
945    java.lang.String getEngine();
946    /**
947     * <pre>
948     * The name of the template engine to use. Defaults to 'gotpl'.
949     * </pre>
950     *
951     * <code>string engine = 8;</code>
952     */
953    com.google.protobuf.ByteString
954        getEngineBytes();
955
956    /**
957     * <pre>
958     * The URL to an icon file.
959     * </pre>
960     *
961     * <code>string icon = 9;</code>
962     */
963    java.lang.String getIcon();
964    /**
965     * <pre>
966     * The URL to an icon file.
967     * </pre>
968     *
969     * <code>string icon = 9;</code>
970     */
971    com.google.protobuf.ByteString
972        getIconBytes();
973
974    /**
975     * <pre>
976     * The API Version of this chart.
977     * </pre>
978     *
979     * <code>string apiVersion = 10;</code>
980     */
981    java.lang.String getApiVersion();
982    /**
983     * <pre>
984     * The API Version of this chart.
985     * </pre>
986     *
987     * <code>string apiVersion = 10;</code>
988     */
989    com.google.protobuf.ByteString
990        getApiVersionBytes();
991
992    /**
993     * <pre>
994     * The condition to check to enable chart
995     * </pre>
996     *
997     * <code>string condition = 11;</code>
998     */
999    java.lang.String getCondition();
1000    /**
1001     * <pre>
1002     * The condition to check to enable chart
1003     * </pre>
1004     *
1005     * <code>string condition = 11;</code>
1006     */
1007    com.google.protobuf.ByteString
1008        getConditionBytes();
1009
1010    /**
1011     * <pre>
1012     * The tags to check to enable chart
1013     * </pre>
1014     *
1015     * <code>string tags = 12;</code>
1016     */
1017    java.lang.String getTags();
1018    /**
1019     * <pre>
1020     * The tags to check to enable chart
1021     * </pre>
1022     *
1023     * <code>string tags = 12;</code>
1024     */
1025    com.google.protobuf.ByteString
1026        getTagsBytes();
1027
1028    /**
1029     * <pre>
1030     * The version of the application enclosed inside of this chart.
1031     * </pre>
1032     *
1033     * <code>string appVersion = 13;</code>
1034     */
1035    java.lang.String getAppVersion();
1036    /**
1037     * <pre>
1038     * The version of the application enclosed inside of this chart.
1039     * </pre>
1040     *
1041     * <code>string appVersion = 13;</code>
1042     */
1043    com.google.protobuf.ByteString
1044        getAppVersionBytes();
1045
1046    /**
1047     * <pre>
1048     * Whether or not this chart is deprecated
1049     * </pre>
1050     *
1051     * <code>bool deprecated = 14;</code>
1052     */
1053    boolean getDeprecated();
1054
1055    /**
1056     * <pre>
1057     * TillerVersion is a SemVer constraints on what version of Tiller is required.
1058     * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
1059     * </pre>
1060     *
1061     * <code>string tillerVersion = 15;</code>
1062     */
1063    java.lang.String getTillerVersion();
1064    /**
1065     * <pre>
1066     * TillerVersion is a SemVer constraints on what version of Tiller is required.
1067     * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
1068     * </pre>
1069     *
1070     * <code>string tillerVersion = 15;</code>
1071     */
1072    com.google.protobuf.ByteString
1073        getTillerVersionBytes();
1074  }
1075  /**
1076   * <pre>
1077   *  Metadata for a Chart file. This models the structure of a Chart.yaml file.
1078   *  Spec: https://k8s.io/helm/blob/master/docs/design/chart_format.md#the-chart-file
1079   * </pre>
1080   *
1081   * Protobuf type {@code hapi.chart.Metadata}
1082   */
1083  public  static final class Metadata extends
1084      com.google.protobuf.GeneratedMessageV3 implements
1085      // @@protoc_insertion_point(message_implements:hapi.chart.Metadata)
1086      MetadataOrBuilder {
1087    // Use Metadata.newBuilder() to construct.
1088    private Metadata(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1089      super(builder);
1090    }
1091    private Metadata() {
1092      name_ = "";
1093      home_ = "";
1094      sources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1095      version_ = "";
1096      description_ = "";
1097      keywords_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1098      maintainers_ = java.util.Collections.emptyList();
1099      engine_ = "";
1100      icon_ = "";
1101      apiVersion_ = "";
1102      condition_ = "";
1103      tags_ = "";
1104      appVersion_ = "";
1105      deprecated_ = false;
1106      tillerVersion_ = "";
1107    }
1108
1109    @java.lang.Override
1110    public final com.google.protobuf.UnknownFieldSet
1111    getUnknownFields() {
1112      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
1113    }
1114    private Metadata(
1115        com.google.protobuf.CodedInputStream input,
1116        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1117        throws com.google.protobuf.InvalidProtocolBufferException {
1118      this();
1119      int mutable_bitField0_ = 0;
1120      try {
1121        boolean done = false;
1122        while (!done) {
1123          int tag = input.readTag();
1124          switch (tag) {
1125            case 0:
1126              done = true;
1127              break;
1128            default: {
1129              if (!input.skipField(tag)) {
1130                done = true;
1131              }
1132              break;
1133            }
1134            case 10: {
1135              java.lang.String s = input.readStringRequireUtf8();
1136
1137              name_ = s;
1138              break;
1139            }
1140            case 18: {
1141              java.lang.String s = input.readStringRequireUtf8();
1142
1143              home_ = s;
1144              break;
1145            }
1146            case 26: {
1147              java.lang.String s = input.readStringRequireUtf8();
1148              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
1149                sources_ = new com.google.protobuf.LazyStringArrayList();
1150                mutable_bitField0_ |= 0x00000004;
1151              }
1152              sources_.add(s);
1153              break;
1154            }
1155            case 34: {
1156              java.lang.String s = input.readStringRequireUtf8();
1157
1158              version_ = s;
1159              break;
1160            }
1161            case 42: {
1162              java.lang.String s = input.readStringRequireUtf8();
1163
1164              description_ = s;
1165              break;
1166            }
1167            case 50: {
1168              java.lang.String s = input.readStringRequireUtf8();
1169              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
1170                keywords_ = new com.google.protobuf.LazyStringArrayList();
1171                mutable_bitField0_ |= 0x00000020;
1172              }
1173              keywords_.add(s);
1174              break;
1175            }
1176            case 58: {
1177              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
1178                maintainers_ = new java.util.ArrayList<hapi.chart.MetadataOuterClass.Maintainer>();
1179                mutable_bitField0_ |= 0x00000040;
1180              }
1181              maintainers_.add(
1182                  input.readMessage(hapi.chart.MetadataOuterClass.Maintainer.parser(), extensionRegistry));
1183              break;
1184            }
1185            case 66: {
1186              java.lang.String s = input.readStringRequireUtf8();
1187
1188              engine_ = s;
1189              break;
1190            }
1191            case 74: {
1192              java.lang.String s = input.readStringRequireUtf8();
1193
1194              icon_ = s;
1195              break;
1196            }
1197            case 82: {
1198              java.lang.String s = input.readStringRequireUtf8();
1199
1200              apiVersion_ = s;
1201              break;
1202            }
1203            case 90: {
1204              java.lang.String s = input.readStringRequireUtf8();
1205
1206              condition_ = s;
1207              break;
1208            }
1209            case 98: {
1210              java.lang.String s = input.readStringRequireUtf8();
1211
1212              tags_ = s;
1213              break;
1214            }
1215            case 106: {
1216              java.lang.String s = input.readStringRequireUtf8();
1217
1218              appVersion_ = s;
1219              break;
1220            }
1221            case 112: {
1222
1223              deprecated_ = input.readBool();
1224              break;
1225            }
1226            case 122: {
1227              java.lang.String s = input.readStringRequireUtf8();
1228
1229              tillerVersion_ = s;
1230              break;
1231            }
1232          }
1233        }
1234      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1235        throw e.setUnfinishedMessage(this);
1236      } catch (java.io.IOException e) {
1237        throw new com.google.protobuf.InvalidProtocolBufferException(
1238            e).setUnfinishedMessage(this);
1239      } finally {
1240        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
1241          sources_ = sources_.getUnmodifiableView();
1242        }
1243        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
1244          keywords_ = keywords_.getUnmodifiableView();
1245        }
1246        if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
1247          maintainers_ = java.util.Collections.unmodifiableList(maintainers_);
1248        }
1249        makeExtensionsImmutable();
1250      }
1251    }
1252    public static final com.google.protobuf.Descriptors.Descriptor
1253        getDescriptor() {
1254      return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Metadata_descriptor;
1255    }
1256
1257    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1258        internalGetFieldAccessorTable() {
1259      return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Metadata_fieldAccessorTable
1260          .ensureFieldAccessorsInitialized(
1261              hapi.chart.MetadataOuterClass.Metadata.class, hapi.chart.MetadataOuterClass.Metadata.Builder.class);
1262    }
1263
1264    /**
1265     * Protobuf enum {@code hapi.chart.Metadata.Engine}
1266     */
1267    public enum Engine
1268        implements com.google.protobuf.ProtocolMessageEnum {
1269      /**
1270       * <code>UNKNOWN = 0;</code>
1271       */
1272      UNKNOWN(0),
1273      /**
1274       * <code>GOTPL = 1;</code>
1275       */
1276      GOTPL(1),
1277      UNRECOGNIZED(-1),
1278      ;
1279
1280      /**
1281       * <code>UNKNOWN = 0;</code>
1282       */
1283      public static final int UNKNOWN_VALUE = 0;
1284      /**
1285       * <code>GOTPL = 1;</code>
1286       */
1287      public static final int GOTPL_VALUE = 1;
1288
1289
1290      public final int getNumber() {
1291        if (this == UNRECOGNIZED) {
1292          throw new java.lang.IllegalArgumentException(
1293              "Can't get the number of an unknown enum value.");
1294        }
1295        return value;
1296      }
1297
1298      /**
1299       * @deprecated Use {@link #forNumber(int)} instead.
1300       */
1301      @java.lang.Deprecated
1302      public static Engine valueOf(int value) {
1303        return forNumber(value);
1304      }
1305
1306      public static Engine forNumber(int value) {
1307        switch (value) {
1308          case 0: return UNKNOWN;
1309          case 1: return GOTPL;
1310          default: return null;
1311        }
1312      }
1313
1314      public static com.google.protobuf.Internal.EnumLiteMap<Engine>
1315          internalGetValueMap() {
1316        return internalValueMap;
1317      }
1318      private static final com.google.protobuf.Internal.EnumLiteMap<
1319          Engine> internalValueMap =
1320            new com.google.protobuf.Internal.EnumLiteMap<Engine>() {
1321              public Engine findValueByNumber(int number) {
1322                return Engine.forNumber(number);
1323              }
1324            };
1325
1326      public final com.google.protobuf.Descriptors.EnumValueDescriptor
1327          getValueDescriptor() {
1328        return getDescriptor().getValues().get(ordinal());
1329      }
1330      public final com.google.protobuf.Descriptors.EnumDescriptor
1331          getDescriptorForType() {
1332        return getDescriptor();
1333      }
1334      public static final com.google.protobuf.Descriptors.EnumDescriptor
1335          getDescriptor() {
1336        return hapi.chart.MetadataOuterClass.Metadata.getDescriptor().getEnumTypes().get(0);
1337      }
1338
1339      private static final Engine[] VALUES = values();
1340
1341      public static Engine valueOf(
1342          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1343        if (desc.getType() != getDescriptor()) {
1344          throw new java.lang.IllegalArgumentException(
1345            "EnumValueDescriptor is not for this type.");
1346        }
1347        if (desc.getIndex() == -1) {
1348          return UNRECOGNIZED;
1349        }
1350        return VALUES[desc.getIndex()];
1351      }
1352
1353      private final int value;
1354
1355      private Engine(int value) {
1356        this.value = value;
1357      }
1358
1359      // @@protoc_insertion_point(enum_scope:hapi.chart.Metadata.Engine)
1360    }
1361
1362    private int bitField0_;
1363    public static final int NAME_FIELD_NUMBER = 1;
1364    private volatile java.lang.Object name_;
1365    /**
1366     * <pre>
1367     * The name of the chart
1368     * </pre>
1369     *
1370     * <code>string name = 1;</code>
1371     */
1372    public java.lang.String getName() {
1373      java.lang.Object ref = name_;
1374      if (ref instanceof java.lang.String) {
1375        return (java.lang.String) ref;
1376      } else {
1377        com.google.protobuf.ByteString bs = 
1378            (com.google.protobuf.ByteString) ref;
1379        java.lang.String s = bs.toStringUtf8();
1380        name_ = s;
1381        return s;
1382      }
1383    }
1384    /**
1385     * <pre>
1386     * The name of the chart
1387     * </pre>
1388     *
1389     * <code>string name = 1;</code>
1390     */
1391    public com.google.protobuf.ByteString
1392        getNameBytes() {
1393      java.lang.Object ref = name_;
1394      if (ref instanceof java.lang.String) {
1395        com.google.protobuf.ByteString b = 
1396            com.google.protobuf.ByteString.copyFromUtf8(
1397                (java.lang.String) ref);
1398        name_ = b;
1399        return b;
1400      } else {
1401        return (com.google.protobuf.ByteString) ref;
1402      }
1403    }
1404
1405    public static final int HOME_FIELD_NUMBER = 2;
1406    private volatile java.lang.Object home_;
1407    /**
1408     * <pre>
1409     * The URL to a relevant project page, git repo, or contact person
1410     * </pre>
1411     *
1412     * <code>string home = 2;</code>
1413     */
1414    public java.lang.String getHome() {
1415      java.lang.Object ref = home_;
1416      if (ref instanceof java.lang.String) {
1417        return (java.lang.String) ref;
1418      } else {
1419        com.google.protobuf.ByteString bs = 
1420            (com.google.protobuf.ByteString) ref;
1421        java.lang.String s = bs.toStringUtf8();
1422        home_ = s;
1423        return s;
1424      }
1425    }
1426    /**
1427     * <pre>
1428     * The URL to a relevant project page, git repo, or contact person
1429     * </pre>
1430     *
1431     * <code>string home = 2;</code>
1432     */
1433    public com.google.protobuf.ByteString
1434        getHomeBytes() {
1435      java.lang.Object ref = home_;
1436      if (ref instanceof java.lang.String) {
1437        com.google.protobuf.ByteString b = 
1438            com.google.protobuf.ByteString.copyFromUtf8(
1439                (java.lang.String) ref);
1440        home_ = b;
1441        return b;
1442      } else {
1443        return (com.google.protobuf.ByteString) ref;
1444      }
1445    }
1446
1447    public static final int SOURCES_FIELD_NUMBER = 3;
1448    private com.google.protobuf.LazyStringList sources_;
1449    /**
1450     * <pre>
1451     * Source is the URL to the source code of this chart
1452     * </pre>
1453     *
1454     * <code>repeated string sources = 3;</code>
1455     */
1456    public com.google.protobuf.ProtocolStringList
1457        getSourcesList() {
1458      return sources_;
1459    }
1460    /**
1461     * <pre>
1462     * Source is the URL to the source code of this chart
1463     * </pre>
1464     *
1465     * <code>repeated string sources = 3;</code>
1466     */
1467    public int getSourcesCount() {
1468      return sources_.size();
1469    }
1470    /**
1471     * <pre>
1472     * Source is the URL to the source code of this chart
1473     * </pre>
1474     *
1475     * <code>repeated string sources = 3;</code>
1476     */
1477    public java.lang.String getSources(int index) {
1478      return sources_.get(index);
1479    }
1480    /**
1481     * <pre>
1482     * Source is the URL to the source code of this chart
1483     * </pre>
1484     *
1485     * <code>repeated string sources = 3;</code>
1486     */
1487    public com.google.protobuf.ByteString
1488        getSourcesBytes(int index) {
1489      return sources_.getByteString(index);
1490    }
1491
1492    public static final int VERSION_FIELD_NUMBER = 4;
1493    private volatile java.lang.Object version_;
1494    /**
1495     * <pre>
1496     * A SemVer 2 conformant version string of the chart
1497     * </pre>
1498     *
1499     * <code>string version = 4;</code>
1500     */
1501    public java.lang.String getVersion() {
1502      java.lang.Object ref = version_;
1503      if (ref instanceof java.lang.String) {
1504        return (java.lang.String) ref;
1505      } else {
1506        com.google.protobuf.ByteString bs = 
1507            (com.google.protobuf.ByteString) ref;
1508        java.lang.String s = bs.toStringUtf8();
1509        version_ = s;
1510        return s;
1511      }
1512    }
1513    /**
1514     * <pre>
1515     * A SemVer 2 conformant version string of the chart
1516     * </pre>
1517     *
1518     * <code>string version = 4;</code>
1519     */
1520    public com.google.protobuf.ByteString
1521        getVersionBytes() {
1522      java.lang.Object ref = version_;
1523      if (ref instanceof java.lang.String) {
1524        com.google.protobuf.ByteString b = 
1525            com.google.protobuf.ByteString.copyFromUtf8(
1526                (java.lang.String) ref);
1527        version_ = b;
1528        return b;
1529      } else {
1530        return (com.google.protobuf.ByteString) ref;
1531      }
1532    }
1533
1534    public static final int DESCRIPTION_FIELD_NUMBER = 5;
1535    private volatile java.lang.Object description_;
1536    /**
1537     * <pre>
1538     * A one-sentence description of the chart
1539     * </pre>
1540     *
1541     * <code>string description = 5;</code>
1542     */
1543    public java.lang.String getDescription() {
1544      java.lang.Object ref = description_;
1545      if (ref instanceof java.lang.String) {
1546        return (java.lang.String) ref;
1547      } else {
1548        com.google.protobuf.ByteString bs = 
1549            (com.google.protobuf.ByteString) ref;
1550        java.lang.String s = bs.toStringUtf8();
1551        description_ = s;
1552        return s;
1553      }
1554    }
1555    /**
1556     * <pre>
1557     * A one-sentence description of the chart
1558     * </pre>
1559     *
1560     * <code>string description = 5;</code>
1561     */
1562    public com.google.protobuf.ByteString
1563        getDescriptionBytes() {
1564      java.lang.Object ref = description_;
1565      if (ref instanceof java.lang.String) {
1566        com.google.protobuf.ByteString b = 
1567            com.google.protobuf.ByteString.copyFromUtf8(
1568                (java.lang.String) ref);
1569        description_ = b;
1570        return b;
1571      } else {
1572        return (com.google.protobuf.ByteString) ref;
1573      }
1574    }
1575
1576    public static final int KEYWORDS_FIELD_NUMBER = 6;
1577    private com.google.protobuf.LazyStringList keywords_;
1578    /**
1579     * <pre>
1580     * A list of string keywords
1581     * </pre>
1582     *
1583     * <code>repeated string keywords = 6;</code>
1584     */
1585    public com.google.protobuf.ProtocolStringList
1586        getKeywordsList() {
1587      return keywords_;
1588    }
1589    /**
1590     * <pre>
1591     * A list of string keywords
1592     * </pre>
1593     *
1594     * <code>repeated string keywords = 6;</code>
1595     */
1596    public int getKeywordsCount() {
1597      return keywords_.size();
1598    }
1599    /**
1600     * <pre>
1601     * A list of string keywords
1602     * </pre>
1603     *
1604     * <code>repeated string keywords = 6;</code>
1605     */
1606    public java.lang.String getKeywords(int index) {
1607      return keywords_.get(index);
1608    }
1609    /**
1610     * <pre>
1611     * A list of string keywords
1612     * </pre>
1613     *
1614     * <code>repeated string keywords = 6;</code>
1615     */
1616    public com.google.protobuf.ByteString
1617        getKeywordsBytes(int index) {
1618      return keywords_.getByteString(index);
1619    }
1620
1621    public static final int MAINTAINERS_FIELD_NUMBER = 7;
1622    private java.util.List<hapi.chart.MetadataOuterClass.Maintainer> maintainers_;
1623    /**
1624     * <pre>
1625     * A list of name and URL/email address combinations for the maintainer(s)
1626     * </pre>
1627     *
1628     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
1629     */
1630    public java.util.List<hapi.chart.MetadataOuterClass.Maintainer> getMaintainersList() {
1631      return maintainers_;
1632    }
1633    /**
1634     * <pre>
1635     * A list of name and URL/email address combinations for the maintainer(s)
1636     * </pre>
1637     *
1638     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
1639     */
1640    public java.util.List<? extends hapi.chart.MetadataOuterClass.MaintainerOrBuilder> 
1641        getMaintainersOrBuilderList() {
1642      return maintainers_;
1643    }
1644    /**
1645     * <pre>
1646     * A list of name and URL/email address combinations for the maintainer(s)
1647     * </pre>
1648     *
1649     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
1650     */
1651    public int getMaintainersCount() {
1652      return maintainers_.size();
1653    }
1654    /**
1655     * <pre>
1656     * A list of name and URL/email address combinations for the maintainer(s)
1657     * </pre>
1658     *
1659     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
1660     */
1661    public hapi.chart.MetadataOuterClass.Maintainer getMaintainers(int index) {
1662      return maintainers_.get(index);
1663    }
1664    /**
1665     * <pre>
1666     * A list of name and URL/email address combinations for the maintainer(s)
1667     * </pre>
1668     *
1669     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
1670     */
1671    public hapi.chart.MetadataOuterClass.MaintainerOrBuilder getMaintainersOrBuilder(
1672        int index) {
1673      return maintainers_.get(index);
1674    }
1675
1676    public static final int ENGINE_FIELD_NUMBER = 8;
1677    private volatile java.lang.Object engine_;
1678    /**
1679     * <pre>
1680     * The name of the template engine to use. Defaults to 'gotpl'.
1681     * </pre>
1682     *
1683     * <code>string engine = 8;</code>
1684     */
1685    public java.lang.String getEngine() {
1686      java.lang.Object ref = engine_;
1687      if (ref instanceof java.lang.String) {
1688        return (java.lang.String) ref;
1689      } else {
1690        com.google.protobuf.ByteString bs = 
1691            (com.google.protobuf.ByteString) ref;
1692        java.lang.String s = bs.toStringUtf8();
1693        engine_ = s;
1694        return s;
1695      }
1696    }
1697    /**
1698     * <pre>
1699     * The name of the template engine to use. Defaults to 'gotpl'.
1700     * </pre>
1701     *
1702     * <code>string engine = 8;</code>
1703     */
1704    public com.google.protobuf.ByteString
1705        getEngineBytes() {
1706      java.lang.Object ref = engine_;
1707      if (ref instanceof java.lang.String) {
1708        com.google.protobuf.ByteString b = 
1709            com.google.protobuf.ByteString.copyFromUtf8(
1710                (java.lang.String) ref);
1711        engine_ = b;
1712        return b;
1713      } else {
1714        return (com.google.protobuf.ByteString) ref;
1715      }
1716    }
1717
1718    public static final int ICON_FIELD_NUMBER = 9;
1719    private volatile java.lang.Object icon_;
1720    /**
1721     * <pre>
1722     * The URL to an icon file.
1723     * </pre>
1724     *
1725     * <code>string icon = 9;</code>
1726     */
1727    public java.lang.String getIcon() {
1728      java.lang.Object ref = icon_;
1729      if (ref instanceof java.lang.String) {
1730        return (java.lang.String) ref;
1731      } else {
1732        com.google.protobuf.ByteString bs = 
1733            (com.google.protobuf.ByteString) ref;
1734        java.lang.String s = bs.toStringUtf8();
1735        icon_ = s;
1736        return s;
1737      }
1738    }
1739    /**
1740     * <pre>
1741     * The URL to an icon file.
1742     * </pre>
1743     *
1744     * <code>string icon = 9;</code>
1745     */
1746    public com.google.protobuf.ByteString
1747        getIconBytes() {
1748      java.lang.Object ref = icon_;
1749      if (ref instanceof java.lang.String) {
1750        com.google.protobuf.ByteString b = 
1751            com.google.protobuf.ByteString.copyFromUtf8(
1752                (java.lang.String) ref);
1753        icon_ = b;
1754        return b;
1755      } else {
1756        return (com.google.protobuf.ByteString) ref;
1757      }
1758    }
1759
1760    public static final int APIVERSION_FIELD_NUMBER = 10;
1761    private volatile java.lang.Object apiVersion_;
1762    /**
1763     * <pre>
1764     * The API Version of this chart.
1765     * </pre>
1766     *
1767     * <code>string apiVersion = 10;</code>
1768     */
1769    public java.lang.String getApiVersion() {
1770      java.lang.Object ref = apiVersion_;
1771      if (ref instanceof java.lang.String) {
1772        return (java.lang.String) ref;
1773      } else {
1774        com.google.protobuf.ByteString bs = 
1775            (com.google.protobuf.ByteString) ref;
1776        java.lang.String s = bs.toStringUtf8();
1777        apiVersion_ = s;
1778        return s;
1779      }
1780    }
1781    /**
1782     * <pre>
1783     * The API Version of this chart.
1784     * </pre>
1785     *
1786     * <code>string apiVersion = 10;</code>
1787     */
1788    public com.google.protobuf.ByteString
1789        getApiVersionBytes() {
1790      java.lang.Object ref = apiVersion_;
1791      if (ref instanceof java.lang.String) {
1792        com.google.protobuf.ByteString b = 
1793            com.google.protobuf.ByteString.copyFromUtf8(
1794                (java.lang.String) ref);
1795        apiVersion_ = b;
1796        return b;
1797      } else {
1798        return (com.google.protobuf.ByteString) ref;
1799      }
1800    }
1801
1802    public static final int CONDITION_FIELD_NUMBER = 11;
1803    private volatile java.lang.Object condition_;
1804    /**
1805     * <pre>
1806     * The condition to check to enable chart
1807     * </pre>
1808     *
1809     * <code>string condition = 11;</code>
1810     */
1811    public java.lang.String getCondition() {
1812      java.lang.Object ref = condition_;
1813      if (ref instanceof java.lang.String) {
1814        return (java.lang.String) ref;
1815      } else {
1816        com.google.protobuf.ByteString bs = 
1817            (com.google.protobuf.ByteString) ref;
1818        java.lang.String s = bs.toStringUtf8();
1819        condition_ = s;
1820        return s;
1821      }
1822    }
1823    /**
1824     * <pre>
1825     * The condition to check to enable chart
1826     * </pre>
1827     *
1828     * <code>string condition = 11;</code>
1829     */
1830    public com.google.protobuf.ByteString
1831        getConditionBytes() {
1832      java.lang.Object ref = condition_;
1833      if (ref instanceof java.lang.String) {
1834        com.google.protobuf.ByteString b = 
1835            com.google.protobuf.ByteString.copyFromUtf8(
1836                (java.lang.String) ref);
1837        condition_ = b;
1838        return b;
1839      } else {
1840        return (com.google.protobuf.ByteString) ref;
1841      }
1842    }
1843
1844    public static final int TAGS_FIELD_NUMBER = 12;
1845    private volatile java.lang.Object tags_;
1846    /**
1847     * <pre>
1848     * The tags to check to enable chart
1849     * </pre>
1850     *
1851     * <code>string tags = 12;</code>
1852     */
1853    public java.lang.String getTags() {
1854      java.lang.Object ref = tags_;
1855      if (ref instanceof java.lang.String) {
1856        return (java.lang.String) ref;
1857      } else {
1858        com.google.protobuf.ByteString bs = 
1859            (com.google.protobuf.ByteString) ref;
1860        java.lang.String s = bs.toStringUtf8();
1861        tags_ = s;
1862        return s;
1863      }
1864    }
1865    /**
1866     * <pre>
1867     * The tags to check to enable chart
1868     * </pre>
1869     *
1870     * <code>string tags = 12;</code>
1871     */
1872    public com.google.protobuf.ByteString
1873        getTagsBytes() {
1874      java.lang.Object ref = tags_;
1875      if (ref instanceof java.lang.String) {
1876        com.google.protobuf.ByteString b = 
1877            com.google.protobuf.ByteString.copyFromUtf8(
1878                (java.lang.String) ref);
1879        tags_ = b;
1880        return b;
1881      } else {
1882        return (com.google.protobuf.ByteString) ref;
1883      }
1884    }
1885
1886    public static final int APPVERSION_FIELD_NUMBER = 13;
1887    private volatile java.lang.Object appVersion_;
1888    /**
1889     * <pre>
1890     * The version of the application enclosed inside of this chart.
1891     * </pre>
1892     *
1893     * <code>string appVersion = 13;</code>
1894     */
1895    public java.lang.String getAppVersion() {
1896      java.lang.Object ref = appVersion_;
1897      if (ref instanceof java.lang.String) {
1898        return (java.lang.String) ref;
1899      } else {
1900        com.google.protobuf.ByteString bs = 
1901            (com.google.protobuf.ByteString) ref;
1902        java.lang.String s = bs.toStringUtf8();
1903        appVersion_ = s;
1904        return s;
1905      }
1906    }
1907    /**
1908     * <pre>
1909     * The version of the application enclosed inside of this chart.
1910     * </pre>
1911     *
1912     * <code>string appVersion = 13;</code>
1913     */
1914    public com.google.protobuf.ByteString
1915        getAppVersionBytes() {
1916      java.lang.Object ref = appVersion_;
1917      if (ref instanceof java.lang.String) {
1918        com.google.protobuf.ByteString b = 
1919            com.google.protobuf.ByteString.copyFromUtf8(
1920                (java.lang.String) ref);
1921        appVersion_ = b;
1922        return b;
1923      } else {
1924        return (com.google.protobuf.ByteString) ref;
1925      }
1926    }
1927
1928    public static final int DEPRECATED_FIELD_NUMBER = 14;
1929    private boolean deprecated_;
1930    /**
1931     * <pre>
1932     * Whether or not this chart is deprecated
1933     * </pre>
1934     *
1935     * <code>bool deprecated = 14;</code>
1936     */
1937    public boolean getDeprecated() {
1938      return deprecated_;
1939    }
1940
1941    public static final int TILLERVERSION_FIELD_NUMBER = 15;
1942    private volatile java.lang.Object tillerVersion_;
1943    /**
1944     * <pre>
1945     * TillerVersion is a SemVer constraints on what version of Tiller is required.
1946     * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
1947     * </pre>
1948     *
1949     * <code>string tillerVersion = 15;</code>
1950     */
1951    public java.lang.String getTillerVersion() {
1952      java.lang.Object ref = tillerVersion_;
1953      if (ref instanceof java.lang.String) {
1954        return (java.lang.String) ref;
1955      } else {
1956        com.google.protobuf.ByteString bs = 
1957            (com.google.protobuf.ByteString) ref;
1958        java.lang.String s = bs.toStringUtf8();
1959        tillerVersion_ = s;
1960        return s;
1961      }
1962    }
1963    /**
1964     * <pre>
1965     * TillerVersion is a SemVer constraints on what version of Tiller is required.
1966     * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
1967     * </pre>
1968     *
1969     * <code>string tillerVersion = 15;</code>
1970     */
1971    public com.google.protobuf.ByteString
1972        getTillerVersionBytes() {
1973      java.lang.Object ref = tillerVersion_;
1974      if (ref instanceof java.lang.String) {
1975        com.google.protobuf.ByteString b = 
1976            com.google.protobuf.ByteString.copyFromUtf8(
1977                (java.lang.String) ref);
1978        tillerVersion_ = b;
1979        return b;
1980      } else {
1981        return (com.google.protobuf.ByteString) ref;
1982      }
1983    }
1984
1985    private byte memoizedIsInitialized = -1;
1986    public final boolean isInitialized() {
1987      byte isInitialized = memoizedIsInitialized;
1988      if (isInitialized == 1) return true;
1989      if (isInitialized == 0) return false;
1990
1991      memoizedIsInitialized = 1;
1992      return true;
1993    }
1994
1995    public void writeTo(com.google.protobuf.CodedOutputStream output)
1996                        throws java.io.IOException {
1997      if (!getNameBytes().isEmpty()) {
1998        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
1999      }
2000      if (!getHomeBytes().isEmpty()) {
2001        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, home_);
2002      }
2003      for (int i = 0; i < sources_.size(); i++) {
2004        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, sources_.getRaw(i));
2005      }
2006      if (!getVersionBytes().isEmpty()) {
2007        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, version_);
2008      }
2009      if (!getDescriptionBytes().isEmpty()) {
2010        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, description_);
2011      }
2012      for (int i = 0; i < keywords_.size(); i++) {
2013        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, keywords_.getRaw(i));
2014      }
2015      for (int i = 0; i < maintainers_.size(); i++) {
2016        output.writeMessage(7, maintainers_.get(i));
2017      }
2018      if (!getEngineBytes().isEmpty()) {
2019        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, engine_);
2020      }
2021      if (!getIconBytes().isEmpty()) {
2022        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, icon_);
2023      }
2024      if (!getApiVersionBytes().isEmpty()) {
2025        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, apiVersion_);
2026      }
2027      if (!getConditionBytes().isEmpty()) {
2028        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, condition_);
2029      }
2030      if (!getTagsBytes().isEmpty()) {
2031        com.google.protobuf.GeneratedMessageV3.writeString(output, 12, tags_);
2032      }
2033      if (!getAppVersionBytes().isEmpty()) {
2034        com.google.protobuf.GeneratedMessageV3.writeString(output, 13, appVersion_);
2035      }
2036      if (deprecated_ != false) {
2037        output.writeBool(14, deprecated_);
2038      }
2039      if (!getTillerVersionBytes().isEmpty()) {
2040        com.google.protobuf.GeneratedMessageV3.writeString(output, 15, tillerVersion_);
2041      }
2042    }
2043
2044    public int getSerializedSize() {
2045      int size = memoizedSize;
2046      if (size != -1) return size;
2047
2048      size = 0;
2049      if (!getNameBytes().isEmpty()) {
2050        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
2051      }
2052      if (!getHomeBytes().isEmpty()) {
2053        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, home_);
2054      }
2055      {
2056        int dataSize = 0;
2057        for (int i = 0; i < sources_.size(); i++) {
2058          dataSize += computeStringSizeNoTag(sources_.getRaw(i));
2059        }
2060        size += dataSize;
2061        size += 1 * getSourcesList().size();
2062      }
2063      if (!getVersionBytes().isEmpty()) {
2064        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, version_);
2065      }
2066      if (!getDescriptionBytes().isEmpty()) {
2067        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, description_);
2068      }
2069      {
2070        int dataSize = 0;
2071        for (int i = 0; i < keywords_.size(); i++) {
2072          dataSize += computeStringSizeNoTag(keywords_.getRaw(i));
2073        }
2074        size += dataSize;
2075        size += 1 * getKeywordsList().size();
2076      }
2077      for (int i = 0; i < maintainers_.size(); i++) {
2078        size += com.google.protobuf.CodedOutputStream
2079          .computeMessageSize(7, maintainers_.get(i));
2080      }
2081      if (!getEngineBytes().isEmpty()) {
2082        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, engine_);
2083      }
2084      if (!getIconBytes().isEmpty()) {
2085        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, icon_);
2086      }
2087      if (!getApiVersionBytes().isEmpty()) {
2088        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, apiVersion_);
2089      }
2090      if (!getConditionBytes().isEmpty()) {
2091        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, condition_);
2092      }
2093      if (!getTagsBytes().isEmpty()) {
2094        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, tags_);
2095      }
2096      if (!getAppVersionBytes().isEmpty()) {
2097        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, appVersion_);
2098      }
2099      if (deprecated_ != false) {
2100        size += com.google.protobuf.CodedOutputStream
2101          .computeBoolSize(14, deprecated_);
2102      }
2103      if (!getTillerVersionBytes().isEmpty()) {
2104        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, tillerVersion_);
2105      }
2106      memoizedSize = size;
2107      return size;
2108    }
2109
2110    private static final long serialVersionUID = 0L;
2111    @java.lang.Override
2112    public boolean equals(final java.lang.Object obj) {
2113      if (obj == this) {
2114       return true;
2115      }
2116      if (!(obj instanceof hapi.chart.MetadataOuterClass.Metadata)) {
2117        return super.equals(obj);
2118      }
2119      hapi.chart.MetadataOuterClass.Metadata other = (hapi.chart.MetadataOuterClass.Metadata) obj;
2120
2121      boolean result = true;
2122      result = result && getName()
2123          .equals(other.getName());
2124      result = result && getHome()
2125          .equals(other.getHome());
2126      result = result && getSourcesList()
2127          .equals(other.getSourcesList());
2128      result = result && getVersion()
2129          .equals(other.getVersion());
2130      result = result && getDescription()
2131          .equals(other.getDescription());
2132      result = result && getKeywordsList()
2133          .equals(other.getKeywordsList());
2134      result = result && getMaintainersList()
2135          .equals(other.getMaintainersList());
2136      result = result && getEngine()
2137          .equals(other.getEngine());
2138      result = result && getIcon()
2139          .equals(other.getIcon());
2140      result = result && getApiVersion()
2141          .equals(other.getApiVersion());
2142      result = result && getCondition()
2143          .equals(other.getCondition());
2144      result = result && getTags()
2145          .equals(other.getTags());
2146      result = result && getAppVersion()
2147          .equals(other.getAppVersion());
2148      result = result && (getDeprecated()
2149          == other.getDeprecated());
2150      result = result && getTillerVersion()
2151          .equals(other.getTillerVersion());
2152      return result;
2153    }
2154
2155    @java.lang.Override
2156    public int hashCode() {
2157      if (memoizedHashCode != 0) {
2158        return memoizedHashCode;
2159      }
2160      int hash = 41;
2161      hash = (19 * hash) + getDescriptor().hashCode();
2162      hash = (37 * hash) + NAME_FIELD_NUMBER;
2163      hash = (53 * hash) + getName().hashCode();
2164      hash = (37 * hash) + HOME_FIELD_NUMBER;
2165      hash = (53 * hash) + getHome().hashCode();
2166      if (getSourcesCount() > 0) {
2167        hash = (37 * hash) + SOURCES_FIELD_NUMBER;
2168        hash = (53 * hash) + getSourcesList().hashCode();
2169      }
2170      hash = (37 * hash) + VERSION_FIELD_NUMBER;
2171      hash = (53 * hash) + getVersion().hashCode();
2172      hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
2173      hash = (53 * hash) + getDescription().hashCode();
2174      if (getKeywordsCount() > 0) {
2175        hash = (37 * hash) + KEYWORDS_FIELD_NUMBER;
2176        hash = (53 * hash) + getKeywordsList().hashCode();
2177      }
2178      if (getMaintainersCount() > 0) {
2179        hash = (37 * hash) + MAINTAINERS_FIELD_NUMBER;
2180        hash = (53 * hash) + getMaintainersList().hashCode();
2181      }
2182      hash = (37 * hash) + ENGINE_FIELD_NUMBER;
2183      hash = (53 * hash) + getEngine().hashCode();
2184      hash = (37 * hash) + ICON_FIELD_NUMBER;
2185      hash = (53 * hash) + getIcon().hashCode();
2186      hash = (37 * hash) + APIVERSION_FIELD_NUMBER;
2187      hash = (53 * hash) + getApiVersion().hashCode();
2188      hash = (37 * hash) + CONDITION_FIELD_NUMBER;
2189      hash = (53 * hash) + getCondition().hashCode();
2190      hash = (37 * hash) + TAGS_FIELD_NUMBER;
2191      hash = (53 * hash) + getTags().hashCode();
2192      hash = (37 * hash) + APPVERSION_FIELD_NUMBER;
2193      hash = (53 * hash) + getAppVersion().hashCode();
2194      hash = (37 * hash) + DEPRECATED_FIELD_NUMBER;
2195      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2196          getDeprecated());
2197      hash = (37 * hash) + TILLERVERSION_FIELD_NUMBER;
2198      hash = (53 * hash) + getTillerVersion().hashCode();
2199      hash = (29 * hash) + unknownFields.hashCode();
2200      memoizedHashCode = hash;
2201      return hash;
2202    }
2203
2204    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2205        java.nio.ByteBuffer data)
2206        throws com.google.protobuf.InvalidProtocolBufferException {
2207      return PARSER.parseFrom(data);
2208    }
2209    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2210        java.nio.ByteBuffer data,
2211        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2212        throws com.google.protobuf.InvalidProtocolBufferException {
2213      return PARSER.parseFrom(data, extensionRegistry);
2214    }
2215    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2216        com.google.protobuf.ByteString data)
2217        throws com.google.protobuf.InvalidProtocolBufferException {
2218      return PARSER.parseFrom(data);
2219    }
2220    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2221        com.google.protobuf.ByteString data,
2222        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2223        throws com.google.protobuf.InvalidProtocolBufferException {
2224      return PARSER.parseFrom(data, extensionRegistry);
2225    }
2226    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(byte[] data)
2227        throws com.google.protobuf.InvalidProtocolBufferException {
2228      return PARSER.parseFrom(data);
2229    }
2230    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2231        byte[] data,
2232        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2233        throws com.google.protobuf.InvalidProtocolBufferException {
2234      return PARSER.parseFrom(data, extensionRegistry);
2235    }
2236    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(java.io.InputStream input)
2237        throws java.io.IOException {
2238      return com.google.protobuf.GeneratedMessageV3
2239          .parseWithIOException(PARSER, input);
2240    }
2241    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2242        java.io.InputStream input,
2243        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2244        throws java.io.IOException {
2245      return com.google.protobuf.GeneratedMessageV3
2246          .parseWithIOException(PARSER, input, extensionRegistry);
2247    }
2248    public static hapi.chart.MetadataOuterClass.Metadata parseDelimitedFrom(java.io.InputStream input)
2249        throws java.io.IOException {
2250      return com.google.protobuf.GeneratedMessageV3
2251          .parseDelimitedWithIOException(PARSER, input);
2252    }
2253    public static hapi.chart.MetadataOuterClass.Metadata parseDelimitedFrom(
2254        java.io.InputStream input,
2255        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2256        throws java.io.IOException {
2257      return com.google.protobuf.GeneratedMessageV3
2258          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
2259    }
2260    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2261        com.google.protobuf.CodedInputStream input)
2262        throws java.io.IOException {
2263      return com.google.protobuf.GeneratedMessageV3
2264          .parseWithIOException(PARSER, input);
2265    }
2266    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2267        com.google.protobuf.CodedInputStream input,
2268        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2269        throws java.io.IOException {
2270      return com.google.protobuf.GeneratedMessageV3
2271          .parseWithIOException(PARSER, input, extensionRegistry);
2272    }
2273
2274    public Builder newBuilderForType() { return newBuilder(); }
2275    public static Builder newBuilder() {
2276      return DEFAULT_INSTANCE.toBuilder();
2277    }
2278    public static Builder newBuilder(hapi.chart.MetadataOuterClass.Metadata prototype) {
2279      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2280    }
2281    public Builder toBuilder() {
2282      return this == DEFAULT_INSTANCE
2283          ? new Builder() : new Builder().mergeFrom(this);
2284    }
2285
2286    @java.lang.Override
2287    protected Builder newBuilderForType(
2288        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2289      Builder builder = new Builder(parent);
2290      return builder;
2291    }
2292    /**
2293     * <pre>
2294     *  Metadata for a Chart file. This models the structure of a Chart.yaml file.
2295     *  Spec: https://k8s.io/helm/blob/master/docs/design/chart_format.md#the-chart-file
2296     * </pre>
2297     *
2298     * Protobuf type {@code hapi.chart.Metadata}
2299     */
2300    public static final class Builder extends
2301        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
2302        // @@protoc_insertion_point(builder_implements:hapi.chart.Metadata)
2303        hapi.chart.MetadataOuterClass.MetadataOrBuilder {
2304      public static final com.google.protobuf.Descriptors.Descriptor
2305          getDescriptor() {
2306        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Metadata_descriptor;
2307      }
2308
2309      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
2310          internalGetFieldAccessorTable() {
2311        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Metadata_fieldAccessorTable
2312            .ensureFieldAccessorsInitialized(
2313                hapi.chart.MetadataOuterClass.Metadata.class, hapi.chart.MetadataOuterClass.Metadata.Builder.class);
2314      }
2315
2316      // Construct using hapi.chart.MetadataOuterClass.Metadata.newBuilder()
2317      private Builder() {
2318        maybeForceBuilderInitialization();
2319      }
2320
2321      private Builder(
2322          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2323        super(parent);
2324        maybeForceBuilderInitialization();
2325      }
2326      private void maybeForceBuilderInitialization() {
2327        if (com.google.protobuf.GeneratedMessageV3
2328                .alwaysUseFieldBuilders) {
2329          getMaintainersFieldBuilder();
2330        }
2331      }
2332      public Builder clear() {
2333        super.clear();
2334        name_ = "";
2335
2336        home_ = "";
2337
2338        sources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
2339        bitField0_ = (bitField0_ & ~0x00000004);
2340        version_ = "";
2341
2342        description_ = "";
2343
2344        keywords_ = com.google.protobuf.LazyStringArrayList.EMPTY;
2345        bitField0_ = (bitField0_ & ~0x00000020);
2346        if (maintainersBuilder_ == null) {
2347          maintainers_ = java.util.Collections.emptyList();
2348          bitField0_ = (bitField0_ & ~0x00000040);
2349        } else {
2350          maintainersBuilder_.clear();
2351        }
2352        engine_ = "";
2353
2354        icon_ = "";
2355
2356        apiVersion_ = "";
2357
2358        condition_ = "";
2359
2360        tags_ = "";
2361
2362        appVersion_ = "";
2363
2364        deprecated_ = false;
2365
2366        tillerVersion_ = "";
2367
2368        return this;
2369      }
2370
2371      public com.google.protobuf.Descriptors.Descriptor
2372          getDescriptorForType() {
2373        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Metadata_descriptor;
2374      }
2375
2376      public hapi.chart.MetadataOuterClass.Metadata getDefaultInstanceForType() {
2377        return hapi.chart.MetadataOuterClass.Metadata.getDefaultInstance();
2378      }
2379
2380      public hapi.chart.MetadataOuterClass.Metadata build() {
2381        hapi.chart.MetadataOuterClass.Metadata result = buildPartial();
2382        if (!result.isInitialized()) {
2383          throw newUninitializedMessageException(result);
2384        }
2385        return result;
2386      }
2387
2388      public hapi.chart.MetadataOuterClass.Metadata buildPartial() {
2389        hapi.chart.MetadataOuterClass.Metadata result = new hapi.chart.MetadataOuterClass.Metadata(this);
2390        int from_bitField0_ = bitField0_;
2391        int to_bitField0_ = 0;
2392        result.name_ = name_;
2393        result.home_ = home_;
2394        if (((bitField0_ & 0x00000004) == 0x00000004)) {
2395          sources_ = sources_.getUnmodifiableView();
2396          bitField0_ = (bitField0_ & ~0x00000004);
2397        }
2398        result.sources_ = sources_;
2399        result.version_ = version_;
2400        result.description_ = description_;
2401        if (((bitField0_ & 0x00000020) == 0x00000020)) {
2402          keywords_ = keywords_.getUnmodifiableView();
2403          bitField0_ = (bitField0_ & ~0x00000020);
2404        }
2405        result.keywords_ = keywords_;
2406        if (maintainersBuilder_ == null) {
2407          if (((bitField0_ & 0x00000040) == 0x00000040)) {
2408            maintainers_ = java.util.Collections.unmodifiableList(maintainers_);
2409            bitField0_ = (bitField0_ & ~0x00000040);
2410          }
2411          result.maintainers_ = maintainers_;
2412        } else {
2413          result.maintainers_ = maintainersBuilder_.build();
2414        }
2415        result.engine_ = engine_;
2416        result.icon_ = icon_;
2417        result.apiVersion_ = apiVersion_;
2418        result.condition_ = condition_;
2419        result.tags_ = tags_;
2420        result.appVersion_ = appVersion_;
2421        result.deprecated_ = deprecated_;
2422        result.tillerVersion_ = tillerVersion_;
2423        result.bitField0_ = to_bitField0_;
2424        onBuilt();
2425        return result;
2426      }
2427
2428      public Builder clone() {
2429        return (Builder) super.clone();
2430      }
2431      public Builder setField(
2432          com.google.protobuf.Descriptors.FieldDescriptor field,
2433          Object value) {
2434        return (Builder) super.setField(field, value);
2435      }
2436      public Builder clearField(
2437          com.google.protobuf.Descriptors.FieldDescriptor field) {
2438        return (Builder) super.clearField(field);
2439      }
2440      public Builder clearOneof(
2441          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2442        return (Builder) super.clearOneof(oneof);
2443      }
2444      public Builder setRepeatedField(
2445          com.google.protobuf.Descriptors.FieldDescriptor field,
2446          int index, Object value) {
2447        return (Builder) super.setRepeatedField(field, index, value);
2448      }
2449      public Builder addRepeatedField(
2450          com.google.protobuf.Descriptors.FieldDescriptor field,
2451          Object value) {
2452        return (Builder) super.addRepeatedField(field, value);
2453      }
2454      public Builder mergeFrom(com.google.protobuf.Message other) {
2455        if (other instanceof hapi.chart.MetadataOuterClass.Metadata) {
2456          return mergeFrom((hapi.chart.MetadataOuterClass.Metadata)other);
2457        } else {
2458          super.mergeFrom(other);
2459          return this;
2460        }
2461      }
2462
2463      public Builder mergeFrom(hapi.chart.MetadataOuterClass.Metadata other) {
2464        if (other == hapi.chart.MetadataOuterClass.Metadata.getDefaultInstance()) return this;
2465        if (!other.getName().isEmpty()) {
2466          name_ = other.name_;
2467          onChanged();
2468        }
2469        if (!other.getHome().isEmpty()) {
2470          home_ = other.home_;
2471          onChanged();
2472        }
2473        if (!other.sources_.isEmpty()) {
2474          if (sources_.isEmpty()) {
2475            sources_ = other.sources_;
2476            bitField0_ = (bitField0_ & ~0x00000004);
2477          } else {
2478            ensureSourcesIsMutable();
2479            sources_.addAll(other.sources_);
2480          }
2481          onChanged();
2482        }
2483        if (!other.getVersion().isEmpty()) {
2484          version_ = other.version_;
2485          onChanged();
2486        }
2487        if (!other.getDescription().isEmpty()) {
2488          description_ = other.description_;
2489          onChanged();
2490        }
2491        if (!other.keywords_.isEmpty()) {
2492          if (keywords_.isEmpty()) {
2493            keywords_ = other.keywords_;
2494            bitField0_ = (bitField0_ & ~0x00000020);
2495          } else {
2496            ensureKeywordsIsMutable();
2497            keywords_.addAll(other.keywords_);
2498          }
2499          onChanged();
2500        }
2501        if (maintainersBuilder_ == null) {
2502          if (!other.maintainers_.isEmpty()) {
2503            if (maintainers_.isEmpty()) {
2504              maintainers_ = other.maintainers_;
2505              bitField0_ = (bitField0_ & ~0x00000040);
2506            } else {
2507              ensureMaintainersIsMutable();
2508              maintainers_.addAll(other.maintainers_);
2509            }
2510            onChanged();
2511          }
2512        } else {
2513          if (!other.maintainers_.isEmpty()) {
2514            if (maintainersBuilder_.isEmpty()) {
2515              maintainersBuilder_.dispose();
2516              maintainersBuilder_ = null;
2517              maintainers_ = other.maintainers_;
2518              bitField0_ = (bitField0_ & ~0x00000040);
2519              maintainersBuilder_ = 
2520                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
2521                   getMaintainersFieldBuilder() : null;
2522            } else {
2523              maintainersBuilder_.addAllMessages(other.maintainers_);
2524            }
2525          }
2526        }
2527        if (!other.getEngine().isEmpty()) {
2528          engine_ = other.engine_;
2529          onChanged();
2530        }
2531        if (!other.getIcon().isEmpty()) {
2532          icon_ = other.icon_;
2533          onChanged();
2534        }
2535        if (!other.getApiVersion().isEmpty()) {
2536          apiVersion_ = other.apiVersion_;
2537          onChanged();
2538        }
2539        if (!other.getCondition().isEmpty()) {
2540          condition_ = other.condition_;
2541          onChanged();
2542        }
2543        if (!other.getTags().isEmpty()) {
2544          tags_ = other.tags_;
2545          onChanged();
2546        }
2547        if (!other.getAppVersion().isEmpty()) {
2548          appVersion_ = other.appVersion_;
2549          onChanged();
2550        }
2551        if (other.getDeprecated() != false) {
2552          setDeprecated(other.getDeprecated());
2553        }
2554        if (!other.getTillerVersion().isEmpty()) {
2555          tillerVersion_ = other.tillerVersion_;
2556          onChanged();
2557        }
2558        onChanged();
2559        return this;
2560      }
2561
2562      public final boolean isInitialized() {
2563        return true;
2564      }
2565
2566      public Builder mergeFrom(
2567          com.google.protobuf.CodedInputStream input,
2568          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2569          throws java.io.IOException {
2570        hapi.chart.MetadataOuterClass.Metadata parsedMessage = null;
2571        try {
2572          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2573        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2574          parsedMessage = (hapi.chart.MetadataOuterClass.Metadata) e.getUnfinishedMessage();
2575          throw e.unwrapIOException();
2576        } finally {
2577          if (parsedMessage != null) {
2578            mergeFrom(parsedMessage);
2579          }
2580        }
2581        return this;
2582      }
2583      private int bitField0_;
2584
2585      private java.lang.Object name_ = "";
2586      /**
2587       * <pre>
2588       * The name of the chart
2589       * </pre>
2590       *
2591       * <code>string name = 1;</code>
2592       */
2593      public java.lang.String getName() {
2594        java.lang.Object ref = name_;
2595        if (!(ref instanceof java.lang.String)) {
2596          com.google.protobuf.ByteString bs =
2597              (com.google.protobuf.ByteString) ref;
2598          java.lang.String s = bs.toStringUtf8();
2599          name_ = s;
2600          return s;
2601        } else {
2602          return (java.lang.String) ref;
2603        }
2604      }
2605      /**
2606       * <pre>
2607       * The name of the chart
2608       * </pre>
2609       *
2610       * <code>string name = 1;</code>
2611       */
2612      public com.google.protobuf.ByteString
2613          getNameBytes() {
2614        java.lang.Object ref = name_;
2615        if (ref instanceof String) {
2616          com.google.protobuf.ByteString b = 
2617              com.google.protobuf.ByteString.copyFromUtf8(
2618                  (java.lang.String) ref);
2619          name_ = b;
2620          return b;
2621        } else {
2622          return (com.google.protobuf.ByteString) ref;
2623        }
2624      }
2625      /**
2626       * <pre>
2627       * The name of the chart
2628       * </pre>
2629       *
2630       * <code>string name = 1;</code>
2631       */
2632      public Builder setName(
2633          java.lang.String value) {
2634        if (value == null) {
2635    throw new NullPointerException();
2636  }
2637  
2638        name_ = value;
2639        onChanged();
2640        return this;
2641      }
2642      /**
2643       * <pre>
2644       * The name of the chart
2645       * </pre>
2646       *
2647       * <code>string name = 1;</code>
2648       */
2649      public Builder clearName() {
2650        
2651        name_ = getDefaultInstance().getName();
2652        onChanged();
2653        return this;
2654      }
2655      /**
2656       * <pre>
2657       * The name of the chart
2658       * </pre>
2659       *
2660       * <code>string name = 1;</code>
2661       */
2662      public Builder setNameBytes(
2663          com.google.protobuf.ByteString value) {
2664        if (value == null) {
2665    throw new NullPointerException();
2666  }
2667  checkByteStringIsUtf8(value);
2668        
2669        name_ = value;
2670        onChanged();
2671        return this;
2672      }
2673
2674      private java.lang.Object home_ = "";
2675      /**
2676       * <pre>
2677       * The URL to a relevant project page, git repo, or contact person
2678       * </pre>
2679       *
2680       * <code>string home = 2;</code>
2681       */
2682      public java.lang.String getHome() {
2683        java.lang.Object ref = home_;
2684        if (!(ref instanceof java.lang.String)) {
2685          com.google.protobuf.ByteString bs =
2686              (com.google.protobuf.ByteString) ref;
2687          java.lang.String s = bs.toStringUtf8();
2688          home_ = s;
2689          return s;
2690        } else {
2691          return (java.lang.String) ref;
2692        }
2693      }
2694      /**
2695       * <pre>
2696       * The URL to a relevant project page, git repo, or contact person
2697       * </pre>
2698       *
2699       * <code>string home = 2;</code>
2700       */
2701      public com.google.protobuf.ByteString
2702          getHomeBytes() {
2703        java.lang.Object ref = home_;
2704        if (ref instanceof String) {
2705          com.google.protobuf.ByteString b = 
2706              com.google.protobuf.ByteString.copyFromUtf8(
2707                  (java.lang.String) ref);
2708          home_ = b;
2709          return b;
2710        } else {
2711          return (com.google.protobuf.ByteString) ref;
2712        }
2713      }
2714      /**
2715       * <pre>
2716       * The URL to a relevant project page, git repo, or contact person
2717       * </pre>
2718       *
2719       * <code>string home = 2;</code>
2720       */
2721      public Builder setHome(
2722          java.lang.String value) {
2723        if (value == null) {
2724    throw new NullPointerException();
2725  }
2726  
2727        home_ = value;
2728        onChanged();
2729        return this;
2730      }
2731      /**
2732       * <pre>
2733       * The URL to a relevant project page, git repo, or contact person
2734       * </pre>
2735       *
2736       * <code>string home = 2;</code>
2737       */
2738      public Builder clearHome() {
2739        
2740        home_ = getDefaultInstance().getHome();
2741        onChanged();
2742        return this;
2743      }
2744      /**
2745       * <pre>
2746       * The URL to a relevant project page, git repo, or contact person
2747       * </pre>
2748       *
2749       * <code>string home = 2;</code>
2750       */
2751      public Builder setHomeBytes(
2752          com.google.protobuf.ByteString value) {
2753        if (value == null) {
2754    throw new NullPointerException();
2755  }
2756  checkByteStringIsUtf8(value);
2757        
2758        home_ = value;
2759        onChanged();
2760        return this;
2761      }
2762
2763      private com.google.protobuf.LazyStringList sources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
2764      private void ensureSourcesIsMutable() {
2765        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
2766          sources_ = new com.google.protobuf.LazyStringArrayList(sources_);
2767          bitField0_ |= 0x00000004;
2768         }
2769      }
2770      /**
2771       * <pre>
2772       * Source is the URL to the source code of this chart
2773       * </pre>
2774       *
2775       * <code>repeated string sources = 3;</code>
2776       */
2777      public com.google.protobuf.ProtocolStringList
2778          getSourcesList() {
2779        return sources_.getUnmodifiableView();
2780      }
2781      /**
2782       * <pre>
2783       * Source is the URL to the source code of this chart
2784       * </pre>
2785       *
2786       * <code>repeated string sources = 3;</code>
2787       */
2788      public int getSourcesCount() {
2789        return sources_.size();
2790      }
2791      /**
2792       * <pre>
2793       * Source is the URL to the source code of this chart
2794       * </pre>
2795       *
2796       * <code>repeated string sources = 3;</code>
2797       */
2798      public java.lang.String getSources(int index) {
2799        return sources_.get(index);
2800      }
2801      /**
2802       * <pre>
2803       * Source is the URL to the source code of this chart
2804       * </pre>
2805       *
2806       * <code>repeated string sources = 3;</code>
2807       */
2808      public com.google.protobuf.ByteString
2809          getSourcesBytes(int index) {
2810        return sources_.getByteString(index);
2811      }
2812      /**
2813       * <pre>
2814       * Source is the URL to the source code of this chart
2815       * </pre>
2816       *
2817       * <code>repeated string sources = 3;</code>
2818       */
2819      public Builder setSources(
2820          int index, java.lang.String value) {
2821        if (value == null) {
2822    throw new NullPointerException();
2823  }
2824  ensureSourcesIsMutable();
2825        sources_.set(index, value);
2826        onChanged();
2827        return this;
2828      }
2829      /**
2830       * <pre>
2831       * Source is the URL to the source code of this chart
2832       * </pre>
2833       *
2834       * <code>repeated string sources = 3;</code>
2835       */
2836      public Builder addSources(
2837          java.lang.String value) {
2838        if (value == null) {
2839    throw new NullPointerException();
2840  }
2841  ensureSourcesIsMutable();
2842        sources_.add(value);
2843        onChanged();
2844        return this;
2845      }
2846      /**
2847       * <pre>
2848       * Source is the URL to the source code of this chart
2849       * </pre>
2850       *
2851       * <code>repeated string sources = 3;</code>
2852       */
2853      public Builder addAllSources(
2854          java.lang.Iterable<java.lang.String> values) {
2855        ensureSourcesIsMutable();
2856        com.google.protobuf.AbstractMessageLite.Builder.addAll(
2857            values, sources_);
2858        onChanged();
2859        return this;
2860      }
2861      /**
2862       * <pre>
2863       * Source is the URL to the source code of this chart
2864       * </pre>
2865       *
2866       * <code>repeated string sources = 3;</code>
2867       */
2868      public Builder clearSources() {
2869        sources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
2870        bitField0_ = (bitField0_ & ~0x00000004);
2871        onChanged();
2872        return this;
2873      }
2874      /**
2875       * <pre>
2876       * Source is the URL to the source code of this chart
2877       * </pre>
2878       *
2879       * <code>repeated string sources = 3;</code>
2880       */
2881      public Builder addSourcesBytes(
2882          com.google.protobuf.ByteString value) {
2883        if (value == null) {
2884    throw new NullPointerException();
2885  }
2886  checkByteStringIsUtf8(value);
2887        ensureSourcesIsMutable();
2888        sources_.add(value);
2889        onChanged();
2890        return this;
2891      }
2892
2893      private java.lang.Object version_ = "";
2894      /**
2895       * <pre>
2896       * A SemVer 2 conformant version string of the chart
2897       * </pre>
2898       *
2899       * <code>string version = 4;</code>
2900       */
2901      public java.lang.String getVersion() {
2902        java.lang.Object ref = version_;
2903        if (!(ref instanceof java.lang.String)) {
2904          com.google.protobuf.ByteString bs =
2905              (com.google.protobuf.ByteString) ref;
2906          java.lang.String s = bs.toStringUtf8();
2907          version_ = s;
2908          return s;
2909        } else {
2910          return (java.lang.String) ref;
2911        }
2912      }
2913      /**
2914       * <pre>
2915       * A SemVer 2 conformant version string of the chart
2916       * </pre>
2917       *
2918       * <code>string version = 4;</code>
2919       */
2920      public com.google.protobuf.ByteString
2921          getVersionBytes() {
2922        java.lang.Object ref = version_;
2923        if (ref instanceof String) {
2924          com.google.protobuf.ByteString b = 
2925              com.google.protobuf.ByteString.copyFromUtf8(
2926                  (java.lang.String) ref);
2927          version_ = b;
2928          return b;
2929        } else {
2930          return (com.google.protobuf.ByteString) ref;
2931        }
2932      }
2933      /**
2934       * <pre>
2935       * A SemVer 2 conformant version string of the chart
2936       * </pre>
2937       *
2938       * <code>string version = 4;</code>
2939       */
2940      public Builder setVersion(
2941          java.lang.String value) {
2942        if (value == null) {
2943    throw new NullPointerException();
2944  }
2945  
2946        version_ = value;
2947        onChanged();
2948        return this;
2949      }
2950      /**
2951       * <pre>
2952       * A SemVer 2 conformant version string of the chart
2953       * </pre>
2954       *
2955       * <code>string version = 4;</code>
2956       */
2957      public Builder clearVersion() {
2958        
2959        version_ = getDefaultInstance().getVersion();
2960        onChanged();
2961        return this;
2962      }
2963      /**
2964       * <pre>
2965       * A SemVer 2 conformant version string of the chart
2966       * </pre>
2967       *
2968       * <code>string version = 4;</code>
2969       */
2970      public Builder setVersionBytes(
2971          com.google.protobuf.ByteString value) {
2972        if (value == null) {
2973    throw new NullPointerException();
2974  }
2975  checkByteStringIsUtf8(value);
2976        
2977        version_ = value;
2978        onChanged();
2979        return this;
2980      }
2981
2982      private java.lang.Object description_ = "";
2983      /**
2984       * <pre>
2985       * A one-sentence description of the chart
2986       * </pre>
2987       *
2988       * <code>string description = 5;</code>
2989       */
2990      public java.lang.String getDescription() {
2991        java.lang.Object ref = description_;
2992        if (!(ref instanceof java.lang.String)) {
2993          com.google.protobuf.ByteString bs =
2994              (com.google.protobuf.ByteString) ref;
2995          java.lang.String s = bs.toStringUtf8();
2996          description_ = s;
2997          return s;
2998        } else {
2999          return (java.lang.String) ref;
3000        }
3001      }
3002      /**
3003       * <pre>
3004       * A one-sentence description of the chart
3005       * </pre>
3006       *
3007       * <code>string description = 5;</code>
3008       */
3009      public com.google.protobuf.ByteString
3010          getDescriptionBytes() {
3011        java.lang.Object ref = description_;
3012        if (ref instanceof String) {
3013          com.google.protobuf.ByteString b = 
3014              com.google.protobuf.ByteString.copyFromUtf8(
3015                  (java.lang.String) ref);
3016          description_ = b;
3017          return b;
3018        } else {
3019          return (com.google.protobuf.ByteString) ref;
3020        }
3021      }
3022      /**
3023       * <pre>
3024       * A one-sentence description of the chart
3025       * </pre>
3026       *
3027       * <code>string description = 5;</code>
3028       */
3029      public Builder setDescription(
3030          java.lang.String value) {
3031        if (value == null) {
3032    throw new NullPointerException();
3033  }
3034  
3035        description_ = value;
3036        onChanged();
3037        return this;
3038      }
3039      /**
3040       * <pre>
3041       * A one-sentence description of the chart
3042       * </pre>
3043       *
3044       * <code>string description = 5;</code>
3045       */
3046      public Builder clearDescription() {
3047        
3048        description_ = getDefaultInstance().getDescription();
3049        onChanged();
3050        return this;
3051      }
3052      /**
3053       * <pre>
3054       * A one-sentence description of the chart
3055       * </pre>
3056       *
3057       * <code>string description = 5;</code>
3058       */
3059      public Builder setDescriptionBytes(
3060          com.google.protobuf.ByteString value) {
3061        if (value == null) {
3062    throw new NullPointerException();
3063  }
3064  checkByteStringIsUtf8(value);
3065        
3066        description_ = value;
3067        onChanged();
3068        return this;
3069      }
3070
3071      private com.google.protobuf.LazyStringList keywords_ = com.google.protobuf.LazyStringArrayList.EMPTY;
3072      private void ensureKeywordsIsMutable() {
3073        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
3074          keywords_ = new com.google.protobuf.LazyStringArrayList(keywords_);
3075          bitField0_ |= 0x00000020;
3076         }
3077      }
3078      /**
3079       * <pre>
3080       * A list of string keywords
3081       * </pre>
3082       *
3083       * <code>repeated string keywords = 6;</code>
3084       */
3085      public com.google.protobuf.ProtocolStringList
3086          getKeywordsList() {
3087        return keywords_.getUnmodifiableView();
3088      }
3089      /**
3090       * <pre>
3091       * A list of string keywords
3092       * </pre>
3093       *
3094       * <code>repeated string keywords = 6;</code>
3095       */
3096      public int getKeywordsCount() {
3097        return keywords_.size();
3098      }
3099      /**
3100       * <pre>
3101       * A list of string keywords
3102       * </pre>
3103       *
3104       * <code>repeated string keywords = 6;</code>
3105       */
3106      public java.lang.String getKeywords(int index) {
3107        return keywords_.get(index);
3108      }
3109      /**
3110       * <pre>
3111       * A list of string keywords
3112       * </pre>
3113       *
3114       * <code>repeated string keywords = 6;</code>
3115       */
3116      public com.google.protobuf.ByteString
3117          getKeywordsBytes(int index) {
3118        return keywords_.getByteString(index);
3119      }
3120      /**
3121       * <pre>
3122       * A list of string keywords
3123       * </pre>
3124       *
3125       * <code>repeated string keywords = 6;</code>
3126       */
3127      public Builder setKeywords(
3128          int index, java.lang.String value) {
3129        if (value == null) {
3130    throw new NullPointerException();
3131  }
3132  ensureKeywordsIsMutable();
3133        keywords_.set(index, value);
3134        onChanged();
3135        return this;
3136      }
3137      /**
3138       * <pre>
3139       * A list of string keywords
3140       * </pre>
3141       *
3142       * <code>repeated string keywords = 6;</code>
3143       */
3144      public Builder addKeywords(
3145          java.lang.String value) {
3146        if (value == null) {
3147    throw new NullPointerException();
3148  }
3149  ensureKeywordsIsMutable();
3150        keywords_.add(value);
3151        onChanged();
3152        return this;
3153      }
3154      /**
3155       * <pre>
3156       * A list of string keywords
3157       * </pre>
3158       *
3159       * <code>repeated string keywords = 6;</code>
3160       */
3161      public Builder addAllKeywords(
3162          java.lang.Iterable<java.lang.String> values) {
3163        ensureKeywordsIsMutable();
3164        com.google.protobuf.AbstractMessageLite.Builder.addAll(
3165            values, keywords_);
3166        onChanged();
3167        return this;
3168      }
3169      /**
3170       * <pre>
3171       * A list of string keywords
3172       * </pre>
3173       *
3174       * <code>repeated string keywords = 6;</code>
3175       */
3176      public Builder clearKeywords() {
3177        keywords_ = com.google.protobuf.LazyStringArrayList.EMPTY;
3178        bitField0_ = (bitField0_ & ~0x00000020);
3179        onChanged();
3180        return this;
3181      }
3182      /**
3183       * <pre>
3184       * A list of string keywords
3185       * </pre>
3186       *
3187       * <code>repeated string keywords = 6;</code>
3188       */
3189      public Builder addKeywordsBytes(
3190          com.google.protobuf.ByteString value) {
3191        if (value == null) {
3192    throw new NullPointerException();
3193  }
3194  checkByteStringIsUtf8(value);
3195        ensureKeywordsIsMutable();
3196        keywords_.add(value);
3197        onChanged();
3198        return this;
3199      }
3200
3201      private java.util.List<hapi.chart.MetadataOuterClass.Maintainer> maintainers_ =
3202        java.util.Collections.emptyList();
3203      private void ensureMaintainersIsMutable() {
3204        if (!((bitField0_ & 0x00000040) == 0x00000040)) {
3205          maintainers_ = new java.util.ArrayList<hapi.chart.MetadataOuterClass.Maintainer>(maintainers_);
3206          bitField0_ |= 0x00000040;
3207         }
3208      }
3209
3210      private com.google.protobuf.RepeatedFieldBuilderV3<
3211          hapi.chart.MetadataOuterClass.Maintainer, hapi.chart.MetadataOuterClass.Maintainer.Builder, hapi.chart.MetadataOuterClass.MaintainerOrBuilder> maintainersBuilder_;
3212
3213      /**
3214       * <pre>
3215       * A list of name and URL/email address combinations for the maintainer(s)
3216       * </pre>
3217       *
3218       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3219       */
3220      public java.util.List<hapi.chart.MetadataOuterClass.Maintainer> getMaintainersList() {
3221        if (maintainersBuilder_ == null) {
3222          return java.util.Collections.unmodifiableList(maintainers_);
3223        } else {
3224          return maintainersBuilder_.getMessageList();
3225        }
3226      }
3227      /**
3228       * <pre>
3229       * A list of name and URL/email address combinations for the maintainer(s)
3230       * </pre>
3231       *
3232       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3233       */
3234      public int getMaintainersCount() {
3235        if (maintainersBuilder_ == null) {
3236          return maintainers_.size();
3237        } else {
3238          return maintainersBuilder_.getCount();
3239        }
3240      }
3241      /**
3242       * <pre>
3243       * A list of name and URL/email address combinations for the maintainer(s)
3244       * </pre>
3245       *
3246       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3247       */
3248      public hapi.chart.MetadataOuterClass.Maintainer getMaintainers(int index) {
3249        if (maintainersBuilder_ == null) {
3250          return maintainers_.get(index);
3251        } else {
3252          return maintainersBuilder_.getMessage(index);
3253        }
3254      }
3255      /**
3256       * <pre>
3257       * A list of name and URL/email address combinations for the maintainer(s)
3258       * </pre>
3259       *
3260       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3261       */
3262      public Builder setMaintainers(
3263          int index, hapi.chart.MetadataOuterClass.Maintainer value) {
3264        if (maintainersBuilder_ == null) {
3265          if (value == null) {
3266            throw new NullPointerException();
3267          }
3268          ensureMaintainersIsMutable();
3269          maintainers_.set(index, value);
3270          onChanged();
3271        } else {
3272          maintainersBuilder_.setMessage(index, value);
3273        }
3274        return this;
3275      }
3276      /**
3277       * <pre>
3278       * A list of name and URL/email address combinations for the maintainer(s)
3279       * </pre>
3280       *
3281       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3282       */
3283      public Builder setMaintainers(
3284          int index, hapi.chart.MetadataOuterClass.Maintainer.Builder builderForValue) {
3285        if (maintainersBuilder_ == null) {
3286          ensureMaintainersIsMutable();
3287          maintainers_.set(index, builderForValue.build());
3288          onChanged();
3289        } else {
3290          maintainersBuilder_.setMessage(index, builderForValue.build());
3291        }
3292        return this;
3293      }
3294      /**
3295       * <pre>
3296       * A list of name and URL/email address combinations for the maintainer(s)
3297       * </pre>
3298       *
3299       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3300       */
3301      public Builder addMaintainers(hapi.chart.MetadataOuterClass.Maintainer value) {
3302        if (maintainersBuilder_ == null) {
3303          if (value == null) {
3304            throw new NullPointerException();
3305          }
3306          ensureMaintainersIsMutable();
3307          maintainers_.add(value);
3308          onChanged();
3309        } else {
3310          maintainersBuilder_.addMessage(value);
3311        }
3312        return this;
3313      }
3314      /**
3315       * <pre>
3316       * A list of name and URL/email address combinations for the maintainer(s)
3317       * </pre>
3318       *
3319       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3320       */
3321      public Builder addMaintainers(
3322          int index, hapi.chart.MetadataOuterClass.Maintainer value) {
3323        if (maintainersBuilder_ == null) {
3324          if (value == null) {
3325            throw new NullPointerException();
3326          }
3327          ensureMaintainersIsMutable();
3328          maintainers_.add(index, value);
3329          onChanged();
3330        } else {
3331          maintainersBuilder_.addMessage(index, value);
3332        }
3333        return this;
3334      }
3335      /**
3336       * <pre>
3337       * A list of name and URL/email address combinations for the maintainer(s)
3338       * </pre>
3339       *
3340       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3341       */
3342      public Builder addMaintainers(
3343          hapi.chart.MetadataOuterClass.Maintainer.Builder builderForValue) {
3344        if (maintainersBuilder_ == null) {
3345          ensureMaintainersIsMutable();
3346          maintainers_.add(builderForValue.build());
3347          onChanged();
3348        } else {
3349          maintainersBuilder_.addMessage(builderForValue.build());
3350        }
3351        return this;
3352      }
3353      /**
3354       * <pre>
3355       * A list of name and URL/email address combinations for the maintainer(s)
3356       * </pre>
3357       *
3358       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3359       */
3360      public Builder addMaintainers(
3361          int index, hapi.chart.MetadataOuterClass.Maintainer.Builder builderForValue) {
3362        if (maintainersBuilder_ == null) {
3363          ensureMaintainersIsMutable();
3364          maintainers_.add(index, builderForValue.build());
3365          onChanged();
3366        } else {
3367          maintainersBuilder_.addMessage(index, builderForValue.build());
3368        }
3369        return this;
3370      }
3371      /**
3372       * <pre>
3373       * A list of name and URL/email address combinations for the maintainer(s)
3374       * </pre>
3375       *
3376       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3377       */
3378      public Builder addAllMaintainers(
3379          java.lang.Iterable<? extends hapi.chart.MetadataOuterClass.Maintainer> values) {
3380        if (maintainersBuilder_ == null) {
3381          ensureMaintainersIsMutable();
3382          com.google.protobuf.AbstractMessageLite.Builder.addAll(
3383              values, maintainers_);
3384          onChanged();
3385        } else {
3386          maintainersBuilder_.addAllMessages(values);
3387        }
3388        return this;
3389      }
3390      /**
3391       * <pre>
3392       * A list of name and URL/email address combinations for the maintainer(s)
3393       * </pre>
3394       *
3395       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3396       */
3397      public Builder clearMaintainers() {
3398        if (maintainersBuilder_ == null) {
3399          maintainers_ = java.util.Collections.emptyList();
3400          bitField0_ = (bitField0_ & ~0x00000040);
3401          onChanged();
3402        } else {
3403          maintainersBuilder_.clear();
3404        }
3405        return this;
3406      }
3407      /**
3408       * <pre>
3409       * A list of name and URL/email address combinations for the maintainer(s)
3410       * </pre>
3411       *
3412       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3413       */
3414      public Builder removeMaintainers(int index) {
3415        if (maintainersBuilder_ == null) {
3416          ensureMaintainersIsMutable();
3417          maintainers_.remove(index);
3418          onChanged();
3419        } else {
3420          maintainersBuilder_.remove(index);
3421        }
3422        return this;
3423      }
3424      /**
3425       * <pre>
3426       * A list of name and URL/email address combinations for the maintainer(s)
3427       * </pre>
3428       *
3429       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3430       */
3431      public hapi.chart.MetadataOuterClass.Maintainer.Builder getMaintainersBuilder(
3432          int index) {
3433        return getMaintainersFieldBuilder().getBuilder(index);
3434      }
3435      /**
3436       * <pre>
3437       * A list of name and URL/email address combinations for the maintainer(s)
3438       * </pre>
3439       *
3440       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3441       */
3442      public hapi.chart.MetadataOuterClass.MaintainerOrBuilder getMaintainersOrBuilder(
3443          int index) {
3444        if (maintainersBuilder_ == null) {
3445          return maintainers_.get(index);  } else {
3446          return maintainersBuilder_.getMessageOrBuilder(index);
3447        }
3448      }
3449      /**
3450       * <pre>
3451       * A list of name and URL/email address combinations for the maintainer(s)
3452       * </pre>
3453       *
3454       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3455       */
3456      public java.util.List<? extends hapi.chart.MetadataOuterClass.MaintainerOrBuilder> 
3457           getMaintainersOrBuilderList() {
3458        if (maintainersBuilder_ != null) {
3459          return maintainersBuilder_.getMessageOrBuilderList();
3460        } else {
3461          return java.util.Collections.unmodifiableList(maintainers_);
3462        }
3463      }
3464      /**
3465       * <pre>
3466       * A list of name and URL/email address combinations for the maintainer(s)
3467       * </pre>
3468       *
3469       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3470       */
3471      public hapi.chart.MetadataOuterClass.Maintainer.Builder addMaintainersBuilder() {
3472        return getMaintainersFieldBuilder().addBuilder(
3473            hapi.chart.MetadataOuterClass.Maintainer.getDefaultInstance());
3474      }
3475      /**
3476       * <pre>
3477       * A list of name and URL/email address combinations for the maintainer(s)
3478       * </pre>
3479       *
3480       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3481       */
3482      public hapi.chart.MetadataOuterClass.Maintainer.Builder addMaintainersBuilder(
3483          int index) {
3484        return getMaintainersFieldBuilder().addBuilder(
3485            index, hapi.chart.MetadataOuterClass.Maintainer.getDefaultInstance());
3486      }
3487      /**
3488       * <pre>
3489       * A list of name and URL/email address combinations for the maintainer(s)
3490       * </pre>
3491       *
3492       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3493       */
3494      public java.util.List<hapi.chart.MetadataOuterClass.Maintainer.Builder> 
3495           getMaintainersBuilderList() {
3496        return getMaintainersFieldBuilder().getBuilderList();
3497      }
3498      private com.google.protobuf.RepeatedFieldBuilderV3<
3499          hapi.chart.MetadataOuterClass.Maintainer, hapi.chart.MetadataOuterClass.Maintainer.Builder, hapi.chart.MetadataOuterClass.MaintainerOrBuilder> 
3500          getMaintainersFieldBuilder() {
3501        if (maintainersBuilder_ == null) {
3502          maintainersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
3503              hapi.chart.MetadataOuterClass.Maintainer, hapi.chart.MetadataOuterClass.Maintainer.Builder, hapi.chart.MetadataOuterClass.MaintainerOrBuilder>(
3504                  maintainers_,
3505                  ((bitField0_ & 0x00000040) == 0x00000040),
3506                  getParentForChildren(),
3507                  isClean());
3508          maintainers_ = null;
3509        }
3510        return maintainersBuilder_;
3511      }
3512
3513      private java.lang.Object engine_ = "";
3514      /**
3515       * <pre>
3516       * The name of the template engine to use. Defaults to 'gotpl'.
3517       * </pre>
3518       *
3519       * <code>string engine = 8;</code>
3520       */
3521      public java.lang.String getEngine() {
3522        java.lang.Object ref = engine_;
3523        if (!(ref instanceof java.lang.String)) {
3524          com.google.protobuf.ByteString bs =
3525              (com.google.protobuf.ByteString) ref;
3526          java.lang.String s = bs.toStringUtf8();
3527          engine_ = s;
3528          return s;
3529        } else {
3530          return (java.lang.String) ref;
3531        }
3532      }
3533      /**
3534       * <pre>
3535       * The name of the template engine to use. Defaults to 'gotpl'.
3536       * </pre>
3537       *
3538       * <code>string engine = 8;</code>
3539       */
3540      public com.google.protobuf.ByteString
3541          getEngineBytes() {
3542        java.lang.Object ref = engine_;
3543        if (ref instanceof String) {
3544          com.google.protobuf.ByteString b = 
3545              com.google.protobuf.ByteString.copyFromUtf8(
3546                  (java.lang.String) ref);
3547          engine_ = b;
3548          return b;
3549        } else {
3550          return (com.google.protobuf.ByteString) ref;
3551        }
3552      }
3553      /**
3554       * <pre>
3555       * The name of the template engine to use. Defaults to 'gotpl'.
3556       * </pre>
3557       *
3558       * <code>string engine = 8;</code>
3559       */
3560      public Builder setEngine(
3561          java.lang.String value) {
3562        if (value == null) {
3563    throw new NullPointerException();
3564  }
3565  
3566        engine_ = value;
3567        onChanged();
3568        return this;
3569      }
3570      /**
3571       * <pre>
3572       * The name of the template engine to use. Defaults to 'gotpl'.
3573       * </pre>
3574       *
3575       * <code>string engine = 8;</code>
3576       */
3577      public Builder clearEngine() {
3578        
3579        engine_ = getDefaultInstance().getEngine();
3580        onChanged();
3581        return this;
3582      }
3583      /**
3584       * <pre>
3585       * The name of the template engine to use. Defaults to 'gotpl'.
3586       * </pre>
3587       *
3588       * <code>string engine = 8;</code>
3589       */
3590      public Builder setEngineBytes(
3591          com.google.protobuf.ByteString value) {
3592        if (value == null) {
3593    throw new NullPointerException();
3594  }
3595  checkByteStringIsUtf8(value);
3596        
3597        engine_ = value;
3598        onChanged();
3599        return this;
3600      }
3601
3602      private java.lang.Object icon_ = "";
3603      /**
3604       * <pre>
3605       * The URL to an icon file.
3606       * </pre>
3607       *
3608       * <code>string icon = 9;</code>
3609       */
3610      public java.lang.String getIcon() {
3611        java.lang.Object ref = icon_;
3612        if (!(ref instanceof java.lang.String)) {
3613          com.google.protobuf.ByteString bs =
3614              (com.google.protobuf.ByteString) ref;
3615          java.lang.String s = bs.toStringUtf8();
3616          icon_ = s;
3617          return s;
3618        } else {
3619          return (java.lang.String) ref;
3620        }
3621      }
3622      /**
3623       * <pre>
3624       * The URL to an icon file.
3625       * </pre>
3626       *
3627       * <code>string icon = 9;</code>
3628       */
3629      public com.google.protobuf.ByteString
3630          getIconBytes() {
3631        java.lang.Object ref = icon_;
3632        if (ref instanceof String) {
3633          com.google.protobuf.ByteString b = 
3634              com.google.protobuf.ByteString.copyFromUtf8(
3635                  (java.lang.String) ref);
3636          icon_ = b;
3637          return b;
3638        } else {
3639          return (com.google.protobuf.ByteString) ref;
3640        }
3641      }
3642      /**
3643       * <pre>
3644       * The URL to an icon file.
3645       * </pre>
3646       *
3647       * <code>string icon = 9;</code>
3648       */
3649      public Builder setIcon(
3650          java.lang.String value) {
3651        if (value == null) {
3652    throw new NullPointerException();
3653  }
3654  
3655        icon_ = value;
3656        onChanged();
3657        return this;
3658      }
3659      /**
3660       * <pre>
3661       * The URL to an icon file.
3662       * </pre>
3663       *
3664       * <code>string icon = 9;</code>
3665       */
3666      public Builder clearIcon() {
3667        
3668        icon_ = getDefaultInstance().getIcon();
3669        onChanged();
3670        return this;
3671      }
3672      /**
3673       * <pre>
3674       * The URL to an icon file.
3675       * </pre>
3676       *
3677       * <code>string icon = 9;</code>
3678       */
3679      public Builder setIconBytes(
3680          com.google.protobuf.ByteString value) {
3681        if (value == null) {
3682    throw new NullPointerException();
3683  }
3684  checkByteStringIsUtf8(value);
3685        
3686        icon_ = value;
3687        onChanged();
3688        return this;
3689      }
3690
3691      private java.lang.Object apiVersion_ = "";
3692      /**
3693       * <pre>
3694       * The API Version of this chart.
3695       * </pre>
3696       *
3697       * <code>string apiVersion = 10;</code>
3698       */
3699      public java.lang.String getApiVersion() {
3700        java.lang.Object ref = apiVersion_;
3701        if (!(ref instanceof java.lang.String)) {
3702          com.google.protobuf.ByteString bs =
3703              (com.google.protobuf.ByteString) ref;
3704          java.lang.String s = bs.toStringUtf8();
3705          apiVersion_ = s;
3706          return s;
3707        } else {
3708          return (java.lang.String) ref;
3709        }
3710      }
3711      /**
3712       * <pre>
3713       * The API Version of this chart.
3714       * </pre>
3715       *
3716       * <code>string apiVersion = 10;</code>
3717       */
3718      public com.google.protobuf.ByteString
3719          getApiVersionBytes() {
3720        java.lang.Object ref = apiVersion_;
3721        if (ref instanceof String) {
3722          com.google.protobuf.ByteString b = 
3723              com.google.protobuf.ByteString.copyFromUtf8(
3724                  (java.lang.String) ref);
3725          apiVersion_ = b;
3726          return b;
3727        } else {
3728          return (com.google.protobuf.ByteString) ref;
3729        }
3730      }
3731      /**
3732       * <pre>
3733       * The API Version of this chart.
3734       * </pre>
3735       *
3736       * <code>string apiVersion = 10;</code>
3737       */
3738      public Builder setApiVersion(
3739          java.lang.String value) {
3740        if (value == null) {
3741    throw new NullPointerException();
3742  }
3743  
3744        apiVersion_ = value;
3745        onChanged();
3746        return this;
3747      }
3748      /**
3749       * <pre>
3750       * The API Version of this chart.
3751       * </pre>
3752       *
3753       * <code>string apiVersion = 10;</code>
3754       */
3755      public Builder clearApiVersion() {
3756        
3757        apiVersion_ = getDefaultInstance().getApiVersion();
3758        onChanged();
3759        return this;
3760      }
3761      /**
3762       * <pre>
3763       * The API Version of this chart.
3764       * </pre>
3765       *
3766       * <code>string apiVersion = 10;</code>
3767       */
3768      public Builder setApiVersionBytes(
3769          com.google.protobuf.ByteString value) {
3770        if (value == null) {
3771    throw new NullPointerException();
3772  }
3773  checkByteStringIsUtf8(value);
3774        
3775        apiVersion_ = value;
3776        onChanged();
3777        return this;
3778      }
3779
3780      private java.lang.Object condition_ = "";
3781      /**
3782       * <pre>
3783       * The condition to check to enable chart
3784       * </pre>
3785       *
3786       * <code>string condition = 11;</code>
3787       */
3788      public java.lang.String getCondition() {
3789        java.lang.Object ref = condition_;
3790        if (!(ref instanceof java.lang.String)) {
3791          com.google.protobuf.ByteString bs =
3792              (com.google.protobuf.ByteString) ref;
3793          java.lang.String s = bs.toStringUtf8();
3794          condition_ = s;
3795          return s;
3796        } else {
3797          return (java.lang.String) ref;
3798        }
3799      }
3800      /**
3801       * <pre>
3802       * The condition to check to enable chart
3803       * </pre>
3804       *
3805       * <code>string condition = 11;</code>
3806       */
3807      public com.google.protobuf.ByteString
3808          getConditionBytes() {
3809        java.lang.Object ref = condition_;
3810        if (ref instanceof String) {
3811          com.google.protobuf.ByteString b = 
3812              com.google.protobuf.ByteString.copyFromUtf8(
3813                  (java.lang.String) ref);
3814          condition_ = b;
3815          return b;
3816        } else {
3817          return (com.google.protobuf.ByteString) ref;
3818        }
3819      }
3820      /**
3821       * <pre>
3822       * The condition to check to enable chart
3823       * </pre>
3824       *
3825       * <code>string condition = 11;</code>
3826       */
3827      public Builder setCondition(
3828          java.lang.String value) {
3829        if (value == null) {
3830    throw new NullPointerException();
3831  }
3832  
3833        condition_ = value;
3834        onChanged();
3835        return this;
3836      }
3837      /**
3838       * <pre>
3839       * The condition to check to enable chart
3840       * </pre>
3841       *
3842       * <code>string condition = 11;</code>
3843       */
3844      public Builder clearCondition() {
3845        
3846        condition_ = getDefaultInstance().getCondition();
3847        onChanged();
3848        return this;
3849      }
3850      /**
3851       * <pre>
3852       * The condition to check to enable chart
3853       * </pre>
3854       *
3855       * <code>string condition = 11;</code>
3856       */
3857      public Builder setConditionBytes(
3858          com.google.protobuf.ByteString value) {
3859        if (value == null) {
3860    throw new NullPointerException();
3861  }
3862  checkByteStringIsUtf8(value);
3863        
3864        condition_ = value;
3865        onChanged();
3866        return this;
3867      }
3868
3869      private java.lang.Object tags_ = "";
3870      /**
3871       * <pre>
3872       * The tags to check to enable chart
3873       * </pre>
3874       *
3875       * <code>string tags = 12;</code>
3876       */
3877      public java.lang.String getTags() {
3878        java.lang.Object ref = tags_;
3879        if (!(ref instanceof java.lang.String)) {
3880          com.google.protobuf.ByteString bs =
3881              (com.google.protobuf.ByteString) ref;
3882          java.lang.String s = bs.toStringUtf8();
3883          tags_ = s;
3884          return s;
3885        } else {
3886          return (java.lang.String) ref;
3887        }
3888      }
3889      /**
3890       * <pre>
3891       * The tags to check to enable chart
3892       * </pre>
3893       *
3894       * <code>string tags = 12;</code>
3895       */
3896      public com.google.protobuf.ByteString
3897          getTagsBytes() {
3898        java.lang.Object ref = tags_;
3899        if (ref instanceof String) {
3900          com.google.protobuf.ByteString b = 
3901              com.google.protobuf.ByteString.copyFromUtf8(
3902                  (java.lang.String) ref);
3903          tags_ = b;
3904          return b;
3905        } else {
3906          return (com.google.protobuf.ByteString) ref;
3907        }
3908      }
3909      /**
3910       * <pre>
3911       * The tags to check to enable chart
3912       * </pre>
3913       *
3914       * <code>string tags = 12;</code>
3915       */
3916      public Builder setTags(
3917          java.lang.String value) {
3918        if (value == null) {
3919    throw new NullPointerException();
3920  }
3921  
3922        tags_ = value;
3923        onChanged();
3924        return this;
3925      }
3926      /**
3927       * <pre>
3928       * The tags to check to enable chart
3929       * </pre>
3930       *
3931       * <code>string tags = 12;</code>
3932       */
3933      public Builder clearTags() {
3934        
3935        tags_ = getDefaultInstance().getTags();
3936        onChanged();
3937        return this;
3938      }
3939      /**
3940       * <pre>
3941       * The tags to check to enable chart
3942       * </pre>
3943       *
3944       * <code>string tags = 12;</code>
3945       */
3946      public Builder setTagsBytes(
3947          com.google.protobuf.ByteString value) {
3948        if (value == null) {
3949    throw new NullPointerException();
3950  }
3951  checkByteStringIsUtf8(value);
3952        
3953        tags_ = value;
3954        onChanged();
3955        return this;
3956      }
3957
3958      private java.lang.Object appVersion_ = "";
3959      /**
3960       * <pre>
3961       * The version of the application enclosed inside of this chart.
3962       * </pre>
3963       *
3964       * <code>string appVersion = 13;</code>
3965       */
3966      public java.lang.String getAppVersion() {
3967        java.lang.Object ref = appVersion_;
3968        if (!(ref instanceof java.lang.String)) {
3969          com.google.protobuf.ByteString bs =
3970              (com.google.protobuf.ByteString) ref;
3971          java.lang.String s = bs.toStringUtf8();
3972          appVersion_ = s;
3973          return s;
3974        } else {
3975          return (java.lang.String) ref;
3976        }
3977      }
3978      /**
3979       * <pre>
3980       * The version of the application enclosed inside of this chart.
3981       * </pre>
3982       *
3983       * <code>string appVersion = 13;</code>
3984       */
3985      public com.google.protobuf.ByteString
3986          getAppVersionBytes() {
3987        java.lang.Object ref = appVersion_;
3988        if (ref instanceof String) {
3989          com.google.protobuf.ByteString b = 
3990              com.google.protobuf.ByteString.copyFromUtf8(
3991                  (java.lang.String) ref);
3992          appVersion_ = b;
3993          return b;
3994        } else {
3995          return (com.google.protobuf.ByteString) ref;
3996        }
3997      }
3998      /**
3999       * <pre>
4000       * The version of the application enclosed inside of this chart.
4001       * </pre>
4002       *
4003       * <code>string appVersion = 13;</code>
4004       */
4005      public Builder setAppVersion(
4006          java.lang.String value) {
4007        if (value == null) {
4008    throw new NullPointerException();
4009  }
4010  
4011        appVersion_ = value;
4012        onChanged();
4013        return this;
4014      }
4015      /**
4016       * <pre>
4017       * The version of the application enclosed inside of this chart.
4018       * </pre>
4019       *
4020       * <code>string appVersion = 13;</code>
4021       */
4022      public Builder clearAppVersion() {
4023        
4024        appVersion_ = getDefaultInstance().getAppVersion();
4025        onChanged();
4026        return this;
4027      }
4028      /**
4029       * <pre>
4030       * The version of the application enclosed inside of this chart.
4031       * </pre>
4032       *
4033       * <code>string appVersion = 13;</code>
4034       */
4035      public Builder setAppVersionBytes(
4036          com.google.protobuf.ByteString value) {
4037        if (value == null) {
4038    throw new NullPointerException();
4039  }
4040  checkByteStringIsUtf8(value);
4041        
4042        appVersion_ = value;
4043        onChanged();
4044        return this;
4045      }
4046
4047      private boolean deprecated_ ;
4048      /**
4049       * <pre>
4050       * Whether or not this chart is deprecated
4051       * </pre>
4052       *
4053       * <code>bool deprecated = 14;</code>
4054       */
4055      public boolean getDeprecated() {
4056        return deprecated_;
4057      }
4058      /**
4059       * <pre>
4060       * Whether or not this chart is deprecated
4061       * </pre>
4062       *
4063       * <code>bool deprecated = 14;</code>
4064       */
4065      public Builder setDeprecated(boolean value) {
4066        
4067        deprecated_ = value;
4068        onChanged();
4069        return this;
4070      }
4071      /**
4072       * <pre>
4073       * Whether or not this chart is deprecated
4074       * </pre>
4075       *
4076       * <code>bool deprecated = 14;</code>
4077       */
4078      public Builder clearDeprecated() {
4079        
4080        deprecated_ = false;
4081        onChanged();
4082        return this;
4083      }
4084
4085      private java.lang.Object tillerVersion_ = "";
4086      /**
4087       * <pre>
4088       * TillerVersion is a SemVer constraints on what version of Tiller is required.
4089       * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
4090       * </pre>
4091       *
4092       * <code>string tillerVersion = 15;</code>
4093       */
4094      public java.lang.String getTillerVersion() {
4095        java.lang.Object ref = tillerVersion_;
4096        if (!(ref instanceof java.lang.String)) {
4097          com.google.protobuf.ByteString bs =
4098              (com.google.protobuf.ByteString) ref;
4099          java.lang.String s = bs.toStringUtf8();
4100          tillerVersion_ = s;
4101          return s;
4102        } else {
4103          return (java.lang.String) ref;
4104        }
4105      }
4106      /**
4107       * <pre>
4108       * TillerVersion is a SemVer constraints on what version of Tiller is required.
4109       * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
4110       * </pre>
4111       *
4112       * <code>string tillerVersion = 15;</code>
4113       */
4114      public com.google.protobuf.ByteString
4115          getTillerVersionBytes() {
4116        java.lang.Object ref = tillerVersion_;
4117        if (ref instanceof String) {
4118          com.google.protobuf.ByteString b = 
4119              com.google.protobuf.ByteString.copyFromUtf8(
4120                  (java.lang.String) ref);
4121          tillerVersion_ = b;
4122          return b;
4123        } else {
4124          return (com.google.protobuf.ByteString) ref;
4125        }
4126      }
4127      /**
4128       * <pre>
4129       * TillerVersion is a SemVer constraints on what version of Tiller is required.
4130       * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
4131       * </pre>
4132       *
4133       * <code>string tillerVersion = 15;</code>
4134       */
4135      public Builder setTillerVersion(
4136          java.lang.String value) {
4137        if (value == null) {
4138    throw new NullPointerException();
4139  }
4140  
4141        tillerVersion_ = value;
4142        onChanged();
4143        return this;
4144      }
4145      /**
4146       * <pre>
4147       * TillerVersion is a SemVer constraints on what version of Tiller is required.
4148       * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
4149       * </pre>
4150       *
4151       * <code>string tillerVersion = 15;</code>
4152       */
4153      public Builder clearTillerVersion() {
4154        
4155        tillerVersion_ = getDefaultInstance().getTillerVersion();
4156        onChanged();
4157        return this;
4158      }
4159      /**
4160       * <pre>
4161       * TillerVersion is a SemVer constraints on what version of Tiller is required.
4162       * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
4163       * </pre>
4164       *
4165       * <code>string tillerVersion = 15;</code>
4166       */
4167      public Builder setTillerVersionBytes(
4168          com.google.protobuf.ByteString value) {
4169        if (value == null) {
4170    throw new NullPointerException();
4171  }
4172  checkByteStringIsUtf8(value);
4173        
4174        tillerVersion_ = value;
4175        onChanged();
4176        return this;
4177      }
4178      public final Builder setUnknownFields(
4179          final com.google.protobuf.UnknownFieldSet unknownFields) {
4180        return this;
4181      }
4182
4183      public final Builder mergeUnknownFields(
4184          final com.google.protobuf.UnknownFieldSet unknownFields) {
4185        return this;
4186      }
4187
4188
4189      // @@protoc_insertion_point(builder_scope:hapi.chart.Metadata)
4190    }
4191
4192    // @@protoc_insertion_point(class_scope:hapi.chart.Metadata)
4193    private static final hapi.chart.MetadataOuterClass.Metadata DEFAULT_INSTANCE;
4194    static {
4195      DEFAULT_INSTANCE = new hapi.chart.MetadataOuterClass.Metadata();
4196    }
4197
4198    public static hapi.chart.MetadataOuterClass.Metadata getDefaultInstance() {
4199      return DEFAULT_INSTANCE;
4200    }
4201
4202    private static final com.google.protobuf.Parser<Metadata>
4203        PARSER = new com.google.protobuf.AbstractParser<Metadata>() {
4204      public Metadata parsePartialFrom(
4205          com.google.protobuf.CodedInputStream input,
4206          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4207          throws com.google.protobuf.InvalidProtocolBufferException {
4208          return new Metadata(input, extensionRegistry);
4209      }
4210    };
4211
4212    public static com.google.protobuf.Parser<Metadata> parser() {
4213      return PARSER;
4214    }
4215
4216    @java.lang.Override
4217    public com.google.protobuf.Parser<Metadata> getParserForType() {
4218      return PARSER;
4219    }
4220
4221    public hapi.chart.MetadataOuterClass.Metadata getDefaultInstanceForType() {
4222      return DEFAULT_INSTANCE;
4223    }
4224
4225  }
4226
4227  private static final com.google.protobuf.Descriptors.Descriptor
4228    internal_static_hapi_chart_Maintainer_descriptor;
4229  private static final 
4230    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
4231      internal_static_hapi_chart_Maintainer_fieldAccessorTable;
4232  private static final com.google.protobuf.Descriptors.Descriptor
4233    internal_static_hapi_chart_Metadata_descriptor;
4234  private static final 
4235    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
4236      internal_static_hapi_chart_Metadata_fieldAccessorTable;
4237
4238  public static com.google.protobuf.Descriptors.FileDescriptor
4239      getDescriptor() {
4240    return descriptor;
4241  }
4242  private static  com.google.protobuf.Descriptors.FileDescriptor
4243      descriptor;
4244  static {
4245    java.lang.String[] descriptorData = {
4246      "\n\031hapi/chart/metadata.proto\022\nhapi.chart\"" +
4247      ")\n\nMaintainer\022\014\n\004name\030\001 \001(\t\022\r\n\005email\030\002 \001" +
4248      "(\t\"\320\002\n\010Metadata\022\014\n\004name\030\001 \001(\t\022\014\n\004home\030\002 " +
4249      "\001(\t\022\017\n\007sources\030\003 \003(\t\022\017\n\007version\030\004 \001(\t\022\023\n" +
4250      "\013description\030\005 \001(\t\022\020\n\010keywords\030\006 \003(\t\022+\n\013" +
4251      "maintainers\030\007 \003(\0132\026.hapi.chart.Maintaine" +
4252      "r\022\016\n\006engine\030\010 \001(\t\022\014\n\004icon\030\t \001(\t\022\022\n\napiVe" +
4253      "rsion\030\n \001(\t\022\021\n\tcondition\030\013 \001(\t\022\014\n\004tags\030\014" +
4254      " \001(\t\022\022\n\nappVersion\030\r \001(\t\022\022\n\ndeprecated\030\016" +
4255      " \001(\010\022\025\n\rtillerVersion\030\017 \001(\t\" \n\006Engine\022\013\n",
4256      "\007UNKNOWN\020\000\022\t\n\005GOTPL\020\001B\007Z\005chartb\006proto3"
4257    };
4258    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
4259        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
4260          public com.google.protobuf.ExtensionRegistry assignDescriptors(
4261              com.google.protobuf.Descriptors.FileDescriptor root) {
4262            descriptor = root;
4263            return null;
4264          }
4265        };
4266    com.google.protobuf.Descriptors.FileDescriptor
4267      .internalBuildGeneratedFileFrom(descriptorData,
4268        new com.google.protobuf.Descriptors.FileDescriptor[] {
4269        }, assigner);
4270    internal_static_hapi_chart_Maintainer_descriptor =
4271      getDescriptor().getMessageTypes().get(0);
4272    internal_static_hapi_chart_Maintainer_fieldAccessorTable = new
4273      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
4274        internal_static_hapi_chart_Maintainer_descriptor,
4275        new java.lang.String[] { "Name", "Email", });
4276    internal_static_hapi_chart_Metadata_descriptor =
4277      getDescriptor().getMessageTypes().get(1);
4278    internal_static_hapi_chart_Metadata_fieldAccessorTable = new
4279      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
4280        internal_static_hapi_chart_Metadata_descriptor,
4281        new java.lang.String[] { "Name", "Home", "Sources", "Version", "Description", "Keywords", "Maintainers", "Engine", "Icon", "ApiVersion", "Condition", "Tags", "AppVersion", "Deprecated", "TillerVersion", });
4282  }
4283
4284  // @@protoc_insertion_point(outer_class_scope)
4285}