// Path: src/main/java/com/spotify/crtauth/utils/TimeIntervals.java
// public class TimeIntervals {
// 
//   public static boolean isExpired(int validFrom, int validTo, TimeSupplier timeSupplier) {
//     UnsignedInteger currentUTime = timeSupplier.getTime();
//     UnsignedInteger validUFrom = UnsignedInteger.fromIntBits(validFrom);
//     UnsignedInteger validUTo = UnsignedInteger.fromIntBits(validTo);
//     return validUFrom.compareTo(currentUTime) > 0 ||
//            validUTo.compareTo(currentUTime) < 0;
//   }
// }
// 
// Path: src/main/java/com/spotify/crtauth/utils/TimeSupplier.java
// public interface TimeSupplier {
// 
//   /**
//    * Return the time, as the number of seconds elapsed from the Epoch.
//    *
//    * @return the number of seconds from the Epoch, as an unsigned integer.
//    */
//   UnsignedInteger getTime();
// }


import com.google.common.base.Preconditions;
import com.spotify.crtauth.utils.TimeIntervals;
import com.spotify.crtauth.utils.TimeSupplier;
/*
 * Copyright (c) 2015 Spotify AB.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package com.spotify.crtauth.protocol;



public class Token {

  private static final byte MAGIC = 't';

// Path: src/main/java/com/spotify/crtauth/utils/TimeIntervals.java
// public class TimeIntervals {
// 
//   public static boolean isExpired(int validFrom, int validTo, TimeSupplier timeSupplier) {
//     UnsignedInteger currentUTime = timeSupplier.getTime();
//     UnsignedInteger validUFrom = UnsignedInteger.fromIntBits(validFrom);
//     UnsignedInteger validUTo = UnsignedInteger.fromIntBits(validTo);
//     return validUFrom.compareTo(currentUTime) > 0 ||
//            validUTo.compareTo(currentUTime) < 0;
//   }
// }
// 
// Path: src/main/java/com/spotify/crtauth/utils/TimeSupplier.java
// public interface TimeSupplier {
// 
//   /**
//    * Return the time, as the number of seconds elapsed from the Epoch.
//    *
//    * @return the number of seconds from the Epoch, as an unsigned integer.
//    */
//   UnsignedInteger getTime();
// }


// Path: src/main/java/com/spotify/crtauth/protocol/Token.java
import com.google.common.base.Preconditions;
import com.spotify.crtauth.utils.TimeIntervals;
import com.spotify.crtauth.utils.TimeSupplier;

/*
 * Copyright (c) 2015 Spotify AB.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package com.spotify.crtauth.protocol;



public class Token {

  private static final byte MAGIC = 't';

  private final int validFrom;