// Path: src/main/java/net/technicpack/minecraftcore/mojang/version/MojangVersion.java
// public interface MojangVersion {
// 
//     public String getId();
// 
//     public ReleaseType getType();
// 
//     public void setType(ReleaseType releaseType);
// 
//     public Date getUpdatedTime();
// 
//     public void setUpdatedTime(Date updatedTime);
// 
//     public Date getReleaseTime();
// 
//     public void setReleaseTime(Date releaseTime);
// 
//     public ArgumentList getMinecraftArguments();
// 
//     public ArgumentList getJavaArguments();
// 
//     public List<Library> getLibraries();
// 
//     public List<Library> getLibrariesForOS();
// 
//     public String getMainClass();
// 
//     public void setMainClass(String mainClass);
// 
//     public int getMinimumLauncherVersion();
// 
//     public String getIncompatibilityReason();
// 
//     public List<Rule> getRules();
// 
//     String getAssetsKey();
// 
//     AssetIndex getAssetIndex();
// 
//     GameDownloads getDownloads();
// 
//     public String getJarKey();
// 
//     public String getParentVersion();
// 
//     public boolean getAreAssetsVirtual();
// 
//     public void setAreAssetsVirtual(boolean areAssetsVirtual);
// 
//     public void addLibrary(Library library);
// }
// 
// Path: src/main/java/net/technicpack/minecraftcore/mojang/version/io/argument/ArgumentList.java
// public class ArgumentList {
// 
// 	private final List<Argument> args;
// 
// 	private ArgumentList(List<Argument> args) {
// 		this.args = Collections.unmodifiableList(args);
// 	}
// 
// 	public static ArgumentList fromString(String args) {
// 		if (args == null) return null;
// 		Builder argsBuilder = new Builder();
// 		for (String arg : args.split(" ")) argsBuilder.addArgument(Argument.literal(arg));
// 		return argsBuilder.build();
// 	}
// 
// 	public List<Argument> getArguments() {
// 		return args;
// 	}
// 
// 	public List<String> resolve(ILaunchOptions opts, StringSubstitutor derefs) {
// 		List<String> resolved = new ArrayList<>();
// 		if (derefs == null) derefs = new StringSubstitutor();
// 		for (Argument arg : args) {
// 			if (arg.doesApply(opts)) {
// 				for (String argStr : arg.getArgStrings()) {
// 					resolved.add(derefs.replace(argStr));
// 				}
// 			}
// 		}
// 		return resolved;
// 	}
// 
// 	public JsonElement serialize() {
// 		JsonArray json = new JsonArray();
// 		for (Argument arg : args) json.add(arg.serialize());
// 		return json;
// 	}
// 
// 	public static class Builder {
// 
// 		private final List<Argument> args = new ArrayList<>();
// 
// 		public void addArgument(Argument arg) {
// 			args.add(arg);
// 		}
// 
// 		public ArgumentList build() {
// 			return new ArgumentList(args);
// 		}
// 
// 	}
// 
// }


import net.technicpack.minecraftcore.mojang.version.MojangVersion;
import net.technicpack.minecraftcore.mojang.version.io.argument.ArgumentList;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
	public ReleaseType getType() {
		return type;
	}

	@Override
	public void setType(ReleaseType type) {
		this.type = type;
	}

	@Override
	public Date getUpdatedTime() {
		return time;
	}

	@Override
	public void setUpdatedTime(Date updatedTime) {
		this.time = updatedTime;
	}

	@Override
	public Date getReleaseTime() {
		return releaseTime;
	}

	@Override
	public void setReleaseTime(Date releaseTime) {
		this.releaseTime = releaseTime;
	}

	@Override
// Path: src/main/java/net/technicpack/minecraftcore/mojang/version/MojangVersion.java
// public interface MojangVersion {
// 
//     public String getId();
// 
//     public ReleaseType getType();
// 
//     public void setType(ReleaseType releaseType);
// 
//     public Date getUpdatedTime();
// 
//     public void setUpdatedTime(Date updatedTime);
// 
//     public Date getReleaseTime();
// 
//     public void setReleaseTime(Date releaseTime);
// 
//     public ArgumentList getMinecraftArguments();
// 
//     public ArgumentList getJavaArguments();
// 
//     public List<Library> getLibraries();
// 
//     public List<Library> getLibrariesForOS();
// 
//     public String getMainClass();
// 
//     public void setMainClass(String mainClass);
// 
//     public int getMinimumLauncherVersion();
// 
//     public String getIncompatibilityReason();
// 
//     public List<Rule> getRules();
// 
//     String getAssetsKey();
// 
//     AssetIndex getAssetIndex();
// 
//     GameDownloads getDownloads();
// 
//     public String getJarKey();
// 
//     public String getParentVersion();
// 
//     public boolean getAreAssetsVirtual();
// 
//     public void setAreAssetsVirtual(boolean areAssetsVirtual);
// 
//     public void addLibrary(Library library);
// }
// 
// Path: src/main/java/net/technicpack/minecraftcore/mojang/version/io/argument/ArgumentList.java
// public class ArgumentList {
// 
// 	private final List<Argument> args;
// 
// 	private ArgumentList(List<Argument> args) {
// 		this.args = Collections.unmodifiableList(args);
// 	}
// 
// 	public static ArgumentList fromString(String args) {
// 		if (args == null) return null;
// 		Builder argsBuilder = new Builder();
// 		for (String arg : args.split(" ")) argsBuilder.addArgument(Argument.literal(arg));
// 		return argsBuilder.build();
// 	}
// 
// 	public List<Argument> getArguments() {
// 		return args;
// 	}
// 
// 	public List<String> resolve(ILaunchOptions opts, StringSubstitutor derefs) {
// 		List<String> resolved = new ArrayList<>();
// 		if (derefs == null) derefs = new StringSubstitutor();
// 		for (Argument arg : args) {
// 			if (arg.doesApply(opts)) {
// 				for (String argStr : arg.getArgStrings()) {
// 					resolved.add(derefs.replace(argStr));
// 				}
// 			}
// 		}
// 		return resolved;
// 	}
// 
// 	public JsonElement serialize() {
// 		JsonArray json = new JsonArray();
// 		for (Argument arg : args) json.add(arg.serialize());
// 		return json;
// 	}
// 
// 	public static class Builder {
// 
// 		private final List<Argument> args = new ArrayList<>();
// 
// 		public void addArgument(Argument arg) {
// 			args.add(arg);
// 		}
// 
// 		public ArgumentList build() {
// 			return new ArgumentList(args);
// 		}
// 
// 	}
// 
// }


// Path: src/main/java/net/technicpack/minecraftcore/mojang/version/io/CompleteVersionV21.java
import net.technicpack.minecraftcore.mojang.version.MojangVersion;
import net.technicpack.minecraftcore.mojang.version.io.argument.ArgumentList;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

	public ReleaseType getType() {
		return type;
	}

	@Override
	public void setType(ReleaseType type) {
		this.type = type;
	}

	@Override
	public Date getUpdatedTime() {
		return time;
	}

	@Override
	public void setUpdatedTime(Date updatedTime) {
		this.time = updatedTime;
	}

	@Override
	public Date getReleaseTime() {
		return releaseTime;
	}

	@Override
	public void setReleaseTime(Date releaseTime) {
		this.releaseTime = releaseTime;
	}

	@Override
	public ArgumentList getMinecraftArguments() {