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