// Path: src/main/java/net/technicpack/minecraftcore/launch/ILaunchOptions.java
// public interface ILaunchOptions {
//     String getClientId();
//     WindowType getLaunchWindowType();
//     int getCustomWidth();
//     int getCustomHeight();
//     boolean shouldUseStencilBuffer();
// }


import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import net.technicpack.minecraftcore.launch.ILaunchOptions;
import org.apache.commons.text.StringSubstitutor;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
package net.technicpack.minecraftcore.mojang.version.io.argument;



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;
	}

// Path: src/main/java/net/technicpack/minecraftcore/launch/ILaunchOptions.java
// public interface ILaunchOptions {
//     String getClientId();
//     WindowType getLaunchWindowType();
//     int getCustomWidth();
//     int getCustomHeight();
//     boolean shouldUseStencilBuffer();
// }


// Path: src/main/java/net/technicpack/minecraftcore/mojang/version/io/argument/ArgumentList.java
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import net.technicpack.minecraftcore.launch.ILaunchOptions;
import org.apache.commons.text.StringSubstitutor;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

package net.technicpack.minecraftcore.mojang.version.io.argument;



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) {