package hanson.xyz.vpnhotspotmod.net;

/**
 * A transaction wrapper that helps set up routing environment.
 *
 * Once revert is called, this object no longer serves any purpose.
 */
@kotlin.Metadata(mv = {1, 9, 0}, k = 1, xi = 48, d1 = {"\u0000t\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010%\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0007\n\u0002\u0010\u001e\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0010\b\n\u0002\b\u000b\u0018\u0000 32\u00020\u0001:\u00072345678B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u00a2\u0006\u0002\u0010\u0006J\u0006\u0010\u001d\u001a\u00020\u001eJ\u0006\u0010\u001f\u001a\u00020\u001eJ\u0006\u0010 \u001a\u00020\u001eJ\u0006\u0010!\u001a\u00020\u001eJ\u000e\u0010\"\u001a\u00020\u001e2\u0006\u0010#\u001a\u00020\u0014J\u0016\u0010$\u001a\u00020\u001e2\f\u0010%\u001a\b\u0012\u0004\u0012\u00020\'0&H\u0016J\u0006\u0010(\u001a\u00020\u001eJ\u0006\u0010)\u001a\u00020\u001eJ\b\u0010*\u001a\u00020\u001eH\u0002J*\u0010+\u001a\u00020\u001e*\u00060\u0018R\u00020\u00192\u0006\u0010,\u001a\u00020\u00052\u0006\u0010-\u001a\u00020.2\b\b\u0002\u0010/\u001a\u00020\u0005H\u0002J*\u00100\u001a\u00020\u001e*\u00060\u0018R\u00020\u00192\u0006\u00101\u001a\u00020.2\u0006\u0010-\u001a\u00020.2\b\b\u0002\u0010/\u001a\u00020\u0005H\u0002R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u001e\u0010\u0007\u001a\u0012\u0012\u0004\u0012\u00020\t\u0012\b\u0012\u00060\nR\u00020\u00000\bX\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0014\u0010\u000b\u001a\b\u0018\u00010\fR\u00020\u0000X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0012\u0010\r\u001a\u00060\u000eR\u00020\u0000X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0016\u0010\u000f\u001a\n \u0011*\u0004\u0018\u00010\u00100\u0010X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0012\u001a\u00020\u0005X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0013\u001a\u00020\u0014X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0015\u001a\u00020\u0016X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0012\u0010\u0017\u001a\u00060\u0018R\u00020\u0019X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0012\u0010\u001a\u001a\u00060\u000eR\u00020\u0000X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0014\u0010\u001b\u001a\b\u0012\u0004\u0012\u00020\u00050\u001cX\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u00069"}, d2 = {"Lhanson/xyz/vpnhotspotmod/net/Routing;", "Lhanson/xyz/vpnhotspotmod/net/monitor/IpNeighbourMonitor$Callback;", "caller", "", "downstream", "", "(Ljava/lang/Object;Ljava/lang/String;)V", "clients", "", "Ljava/net/InetAddress;", "Lhanson/xyz/vpnhotspotmod/net/Routing$Client;", "currentDns", "Lhanson/xyz/vpnhotspotmod/net/Routing$DnsRoute;", "fallbackUpstream", "Lhanson/xyz/vpnhotspotmod/net/Routing$Upstream;", "hostAddress", "Ljava/net/InterfaceAddress;", "kotlin.jvm.PlatformType", "hostSubnet", "masqueradeMode", "Lhanson/xyz/vpnhotspotmod/net/Routing$MasqueradeMode;", "stopped", "", "transaction", "Lhanson/xyz/vpnhotspotmod/util/RootSession$Transaction;", "Lhanson/xyz/vpnhotspotmod/util/RootSession;", "upstream", "upstreams", "Ljava/util/HashSet;", "commit", "", "disableIpv6", "forward", "ipForward", "masquerade", "mode", "onIpNeighbourAvailable", "neighbours", "", "Lhanson/xyz/vpnhotspotmod/net/IpNeighbour;", "revert", "stop", "updateDnsRoute", "ipRule", "action", "priority", "", "rule", "ipRuleLookup", "ifindex", "Client", "Companion", "DnsRoute", "InterfaceGoneException", "InterfaceNotFoundException", "MasqueradeMode", "Upstream", "mobile_freedomDebug"})
public final class Routing implements hanson.xyz.vpnhotspotmod.net.monitor.IpNeighbourMonitor.Callback {
    @org.jetbrains.annotations.NotNull
    private final java.lang.Object caller = null;
    @org.jetbrains.annotations.NotNull
    private final java.lang.String downstream = null;
    
    /**
     * Since Android 5.0, RULE_PRIORITY_TETHERING = 18000.
     * This also works for Wi-Fi direct where there's no rule at 18000.
     *
     * We override system tethering rules by adding our own rules at higher priority.
     *
     * Source: https://android.googlesource.com/platform/system/netd/+/b9baf26/server/RouteController.cpp#65
     */
    private static final int RULE_PRIORITY_DNS = 17700;
    private static final int RULE_PRIORITY_UPSTREAM = 17800;
    private static final int RULE_PRIORITY_UPSTREAM_FALLBACK = 17900;
    private static final int RULE_PRIORITY_UPSTREAM_DISABLE_SYSTEM = 17980;
    private static final int RULE_PRIORITY_TETHERING = 18000;
    @org.jetbrains.annotations.NotNull
    private static final java.lang.String ROOT_DIR = "/system/bin/";
    @org.jetbrains.annotations.NotNull
    public static final java.lang.String IP = "/system/bin/ip";
    @org.jetbrains.annotations.NotNull
    public static final java.lang.String IPTABLES = "iptables -w";
    @org.jetbrains.annotations.NotNull
    public static final java.lang.String IP6TABLES = "ip6tables -w";
    private final java.net.InterfaceAddress hostAddress = null;
    @org.jetbrains.annotations.NotNull
    private final java.lang.String hostSubnet = null;
    @org.jetbrains.annotations.NotNull
    private final hanson.xyz.vpnhotspotmod.util.RootSession.Transaction transaction = null;
    @kotlin.jvm.Volatile
    private volatile boolean stopped = false;
    @org.jetbrains.annotations.NotNull
    private hanson.xyz.vpnhotspotmod.net.Routing.MasqueradeMode masqueradeMode = hanson.xyz.vpnhotspotmod.net.Routing.MasqueradeMode.None;
    @org.jetbrains.annotations.NotNull
    private final java.util.HashSet<java.lang.String> upstreams = null;
    @org.jetbrains.annotations.NotNull
    private final hanson.xyz.vpnhotspotmod.net.Routing.Upstream fallbackUpstream = null;
    @org.jetbrains.annotations.NotNull
    private final hanson.xyz.vpnhotspotmod.net.Routing.Upstream upstream = null;
    @org.jetbrains.annotations.NotNull
    private final java.util.Map<java.net.InetAddress, hanson.xyz.vpnhotspotmod.net.Routing.Client> clients = null;
    @org.jetbrains.annotations.Nullable
    private hanson.xyz.vpnhotspotmod.net.Routing.DnsRoute currentDns;
    @org.jetbrains.annotations.NotNull
    public static final hanson.xyz.vpnhotspotmod.net.Routing.Companion Companion = null;
    
    public Routing(@org.jetbrains.annotations.NotNull
    java.lang.Object caller, @org.jetbrains.annotations.NotNull
    java.lang.String downstream) {
        super();
    }
    
    private final void ipRule(hanson.xyz.vpnhotspotmod.util.RootSession.Transaction $this$ipRule, java.lang.String action, int priority, java.lang.String rule) {
    }
    
    private final void ipRuleLookup(hanson.xyz.vpnhotspotmod.util.RootSession.Transaction $this$ipRuleLookup, int ifindex, int priority, java.lang.String rule) {
    }
    
    @java.lang.Override
    public void onIpNeighbourAvailable(@org.jetbrains.annotations.NotNull
    java.util.Collection<hanson.xyz.vpnhotspotmod.net.IpNeighbour> neighbours) {
    }
    
    /**
     * This command is available since API 23 and also handles IPv6 forwarding.
     * https://android.googlesource.com/platform/system/netd/+/android-6.0.0_r1/server/CommandListener.cpp#527
     *
     * `requester` set by system service is assumed to be `tethering`.
     * https://android.googlesource.com/platform/frameworks/base/+/bd249a19bba38a29e617aa849b2f42c3c281eff5/services/core/java/com/android/server/NetworkManagementService.java#1241
     *
     * The fallback approach is consistent with legacy system's IP forwarding approach,
     * but may be broken when system tethering shutdown before local-only interfaces.
     */
    public final void ipForward() {
    }
    
    public final void disableIpv6() {
    }
    
    public final void forward() {
    }
    
    public final void masquerade(@org.jetbrains.annotations.NotNull
    hanson.xyz.vpnhotspotmod.net.Routing.MasqueradeMode mode) {
    }
    
    private final void updateDnsRoute() {
    }
    
    public final void stop() {
    }
    
    public final void commit() {
    }
    
    public final void revert() {
    }
    
    @kotlin.Metadata(mv = {1, 9, 0}, k = 1, xi = 48, d1 = {"\u0000(\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\b\u0082\u0004\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u00a2\u0006\u0002\u0010\u0006J\b\u0010\n\u001a\u00020\u000bH\u0016R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0012\u0010\u0007\u001a\u00060\bR\u00020\tX\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\f"}, d2 = {"Lhanson/xyz/vpnhotspotmod/net/Routing$Client;", "Ljava/lang/AutoCloseable;", "ip", "Ljava/net/Inet4Address;", "mac", "Landroid/net/MacAddress;", "(Lhanson/xyz/vpnhotspotmod/net/Routing;Ljava/net/Inet4Address;Landroid/net/MacAddress;)V", "transaction", "Lhanson/xyz/vpnhotspotmod/util/RootSession$Transaction;", "Lhanson/xyz/vpnhotspotmod/util/RootSession;", "close", "", "mobile_freedomDebug"})
    final class Client implements java.lang.AutoCloseable {
        @org.jetbrains.annotations.NotNull
        private final java.net.Inet4Address ip = null;
        @org.jetbrains.annotations.NotNull
        private final hanson.xyz.vpnhotspotmod.util.RootSession.Transaction transaction = null;
        
        public Client(@org.jetbrains.annotations.NotNull
        java.net.Inet4Address ip, @org.jetbrains.annotations.NotNull
        android.net.MacAddress mac) {
            super();
        }
        
        @java.lang.Override
        public void close() {
        }
    }
    
    @kotlin.Metadata(mv = {1, 9, 0}, k = 1, xi = 48, d1 = {"\u0000D\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0004\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\n\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002\u00a2\u0006\u0002\u0010\u0002J\u000e\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\u0010\u001a\u00020\u0011J\u0011\u0010\u0012\u001a\u00020\u000fH\u0086@\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010\u0013J\u0018\u0010\u0014\u001a\u00020\u00152\u0006\u0010\u0016\u001a\u00020\u00172\b\b\u0002\u0010\u0018\u001a\u00020\u0015J\u0018\u0010\u0019\u001a\u00020\u000f*\u00060\u001aR\u00020\u001b2\u0006\u0010\u001c\u001a\u00020\u0004H\u0002J \u0010\u001d\u001a\u00020\u000f*\u00060\u001aR\u00020\u001b2\u0006\u0010\u001e\u001a\u00020\u00042\u0006\u0010\u001f\u001a\u00020\u0004H\u0002J\"\u0010 \u001a\u00020\u000f*\u00060\u001aR\u00020\u001b2\u0006\u0010\u001c\u001a\u00020\u00042\b\b\u0002\u0010!\u001a\u00020\u0004H\u0002J\"\u0010\"\u001a\u00020\u000f*\u00060\u001aR\u00020\u001b2\u0006\u0010\u001c\u001a\u00020\u00042\b\b\u0002\u0010!\u001a\u00020\u0004H\u0002J,\u0010#\u001a\u00020\u000f*\u00060\u001aR\u00020\u001b2\u0006\u0010$\u001a\u00020\u00042\u0006\u0010\u001e\u001a\u00020\u00042\n\b\u0002\u0010\u001f\u001a\u0004\u0018\u00010\u0004H\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0086T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0004X\u0086T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0004X\u0086T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\u0004X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000\u0082\u0002\u0004\n\u0002\b\u0019\u00a8\u0006%"}, d2 = {"Lhanson/xyz/vpnhotspotmod/net/Routing$Companion;", "", "()V", "IP", "", "IP6TABLES", "IPTABLES", "ROOT_DIR", "RULE_PRIORITY_DNS", "", "RULE_PRIORITY_TETHERING", "RULE_PRIORITY_UPSTREAM", "RULE_PRIORITY_UPSTREAM_DISABLE_SYSTEM", "RULE_PRIORITY_UPSTREAM_FALLBACK", "appendCleanCommands", "", "commands", "Ljava/io/BufferedWriter;", "clean", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "shouldSuppressIpError", "", "e", "Lhanson/xyz/vpnhotspotmod/root/RoutingCommands$UnexpectedOutputException;", "isAdd", "ip6tablesInsert", "Lhanson/xyz/vpnhotspotmod/util/RootSession$Transaction;", "Lhanson/xyz/vpnhotspotmod/util/RootSession;", "content", "iptables", "command", "revert", "iptablesAdd", "table", "iptablesInsert", "ndc", "name", "mobile_freedomDebug"})
    public static final class Companion {
        
        private Companion() {
            super();
        }
        
        public final void appendCleanCommands(@org.jetbrains.annotations.NotNull
        java.io.BufferedWriter commands) {
        }
        
        @org.jetbrains.annotations.Nullable
        public final java.lang.Object clean(@org.jetbrains.annotations.NotNull
        kotlin.coroutines.Continuation<? super kotlin.Unit> $completion) {
            return null;
        }
        
        private final void iptables(hanson.xyz.vpnhotspotmod.util.RootSession.Transaction $this$iptables, java.lang.String command, java.lang.String revert) {
        }
        
        private final void iptablesAdd(hanson.xyz.vpnhotspotmod.util.RootSession.Transaction $this$iptablesAdd, java.lang.String content, java.lang.String table) {
        }
        
        private final void iptablesInsert(hanson.xyz.vpnhotspotmod.util.RootSession.Transaction $this$iptablesInsert, java.lang.String content, java.lang.String table) {
        }
        
        private final void ip6tablesInsert(hanson.xyz.vpnhotspotmod.util.RootSession.Transaction $this$ip6tablesInsert, java.lang.String content) {
        }
        
        private final void ndc(hanson.xyz.vpnhotspotmod.util.RootSession.Transaction $this$ndc, java.lang.String name, java.lang.String command, java.lang.String revert) {
        }
        
        public final boolean shouldSuppressIpError(@org.jetbrains.annotations.NotNull
        hanson.xyz.vpnhotspotmod.root.RoutingCommands.UnexpectedOutputException e, boolean isAdd) {
            return false;
        }
    }
    
    @kotlin.Metadata(mv = {1, 9, 0}, k = 1, xi = 48, d1 = {"\u0000$\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0082\u0004\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u00a2\u0006\u0002\u0010\u0006R\u0011\u0010\u0004\u001a\u00020\u0005\u00a2\u0006\b\n\u0000\u001a\u0004\b\u0007\u0010\bR\u0011\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\b\n\u0000\u001a\u0004\b\t\u0010\nR\u0015\u0010\u000b\u001a\u00060\fR\u00020\r\u00a2\u0006\b\n\u0000\u001a\u0004\b\u000e\u0010\u000f\u00a8\u0006\u0010"}, d2 = {"Lhanson/xyz/vpnhotspotmod/net/Routing$DnsRoute;", "", "ifindex", "", "dns", "", "(Lhanson/xyz/vpnhotspotmod/net/Routing;ILjava/lang/String;)V", "getDns", "()Ljava/lang/String;", "getIfindex", "()I", "transaction", "Lhanson/xyz/vpnhotspotmod/util/RootSession$Transaction;", "Lhanson/xyz/vpnhotspotmod/util/RootSession;", "getTransaction", "()Lhanson/xyz/vpnhotspotmod/util/RootSession$Transaction;", "mobile_freedomDebug"})
    final class DnsRoute {
        private final int ifindex = 0;
        @org.jetbrains.annotations.NotNull
        private final java.lang.String dns = null;
        @org.jetbrains.annotations.NotNull
        private final hanson.xyz.vpnhotspotmod.util.RootSession.Transaction transaction = null;
        
        public DnsRoute(int ifindex, @org.jetbrains.annotations.NotNull
        java.lang.String dns) {
            super();
        }
        
        public final int getIfindex() {
            return 0;
        }
        
        @org.jetbrains.annotations.NotNull
        public final java.lang.String getDns() {
            return null;
        }
        
        @org.jetbrains.annotations.NotNull
        public final hanson.xyz.vpnhotspotmod.util.RootSession.Transaction getTransaction() {
            return null;
        }
    }
    
    @kotlin.Metadata(mv = {1, 9, 0}, k = 1, xi = 48, d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0002\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0002\u0010\u0004\u00a8\u0006\u0005"}, d2 = {"Lhanson/xyz/vpnhotspotmod/net/Routing$InterfaceGoneException;", "Ljava/io/IOException;", "upstream", "", "(Ljava/lang/String;)V", "mobile_freedomDebug"})
    static final class InterfaceGoneException extends java.io.IOException {
        
        public InterfaceGoneException(@org.jetbrains.annotations.NotNull
        java.lang.String upstream) {
            super();
        }
    }
    
    @kotlin.Metadata(mv = {1, 9, 0}, k = 1, xi = 48, d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0003\n\u0002\b\u0004\n\u0002\u0010\u000e\n\u0002\b\u0003\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0002\u0010\u0004R\u0014\u0010\u0002\u001a\u00020\u0003X\u0096\u0004\u00a2\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006R\u0014\u0010\u0007\u001a\u00020\b8VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\b\t\u0010\n\u00a8\u0006\u000b"}, d2 = {"Lhanson/xyz/vpnhotspotmod/net/Routing$InterfaceNotFoundException;", "Ljava/net/SocketException;", "cause", "", "(Ljava/lang/Throwable;)V", "getCause", "()Ljava/lang/Throwable;", "message", "", "getMessage", "()Ljava/lang/String;", "mobile_freedomDebug"})
    public static final class InterfaceNotFoundException extends java.net.SocketException {
        @org.jetbrains.annotations.NotNull
        private final java.lang.Throwable cause = null;
        
        public InterfaceNotFoundException(@org.jetbrains.annotations.NotNull
        java.lang.Throwable cause) {
            super(null);
        }
        
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public java.lang.Throwable getCause() {
            return null;
        }
        
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public java.lang.String getMessage() {
            return null;
        }
    }
    
    @kotlin.Metadata(mv = {1, 9, 0}, k = 1, xi = 48, d1 = {"\u0000\f\n\u0002\u0018\u0002\n\u0002\u0010\u0010\n\u0002\b\u0005\b\u0086\u0081\u0002\u0018\u00002\b\u0012\u0004\u0012\u00020\u00000\u0001B\u0007\b\u0002\u00a2\u0006\u0002\u0010\u0002j\u0002\b\u0003j\u0002\b\u0004j\u0002\b\u0005\u00a8\u0006\u0006"}, d2 = {"Lhanson/xyz/vpnhotspotmod/net/Routing$MasqueradeMode;", "", "(Ljava/lang/String;I)V", "None", "Simple", "Netd", "mobile_freedomDebug"})
    public static enum MasqueradeMode {
        /*public static final*/ None /* = new None() */,
        /*public static final*/ Simple /* = new Simple() */,
        /*public static final*/ Netd /* = new Netd() */;
        
        MasqueradeMode() {
        }
        
        @org.jetbrains.annotations.NotNull
        public static kotlin.enums.EnumEntries<hanson.xyz.vpnhotspotmod.net.Routing.MasqueradeMode> getEntries() {
            return null;
        }
    }
    
    @kotlin.Metadata(mv = {1, 9, 0}, k = 1, xi = 48, d1 = {"\u0000D\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0002\b\u0007\n\u0002\u0010%\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0092\u0004\u0018\u00002\u00020\u0001:\u0001\u001cB\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0002\u0010\u0004J\u0012\u0010\u0018\u001a\u00020\u00192\b\u0010\u001a\u001a\u0004\u0018\u00010\u001bH\u0016R.\u0010\u0005\u001a\u0016\u0012\u0012\u0012\u0010\u0012\u0004\u0012\u00020\b\u0012\u0006\u0012\u0004\u0018\u00010\t0\u00070\u0006X\u0086\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\b\n\u0010\u000b\"\u0004\b\f\u0010\rR\u0011\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\b\n\u0000\u001a\u0004\b\u000e\u0010\u000fR.\u0010\u0010\u001a\u0016\u0012\u0004\u0012\u00020\t\u0012\f\u0012\n0\u0012R\u00060\u0000R\u00020\u00130\u0011X\u0086\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\b\u0014\u0010\u0015\"\u0004\b\u0016\u0010\u0017\u00a8\u0006\u001d"}, d2 = {"Lhanson/xyz/vpnhotspotmod/net/Routing$Upstream;", "Lhanson/xyz/vpnhotspotmod/net/monitor/UpstreamMonitor$Callback;", "priority", "", "(Lhanson/xyz/vpnhotspotmod/net/Routing;I)V", "dns", "", "Lkotlin/Pair;", "Ljava/net/InetAddress;", "", "getDns", "()Ljava/util/List;", "setDns", "(Ljava/util/List;)V", "getPriority", "()I", "subrouting", "", "Lhanson/xyz/vpnhotspotmod/net/Routing$Upstream$Subrouting;", "Lhanson/xyz/vpnhotspotmod/net/Routing;", "getSubrouting", "()Ljava/util/Map;", "setSubrouting", "(Ljava/util/Map;)V", "onAvailable", "", "properties", "Landroid/net/LinkProperties;", "Subrouting", "mobile_freedomDebug"})
    class Upstream implements hanson.xyz.vpnhotspotmod.net.monitor.UpstreamMonitor.Callback {
        private final int priority = 0;
        @org.jetbrains.annotations.NotNull
        private java.util.Map<java.lang.String, hanson.xyz.vpnhotspotmod.net.Routing.Upstream.Subrouting> subrouting;
        @org.jetbrains.annotations.NotNull
        private java.util.List<? extends kotlin.Pair<? extends java.net.InetAddress, java.lang.String>> dns;
        
        public Upstream(int priority) {
            super();
        }
        
        public final int getPriority() {
            return 0;
        }
        
        @org.jetbrains.annotations.NotNull
        public final java.util.Map<java.lang.String, hanson.xyz.vpnhotspotmod.net.Routing.Upstream.Subrouting> getSubrouting() {
            return null;
        }
        
        public final void setSubrouting(@org.jetbrains.annotations.NotNull
        java.util.Map<java.lang.String, hanson.xyz.vpnhotspotmod.net.Routing.Upstream.Subrouting> p0) {
        }
        
        @org.jetbrains.annotations.NotNull
        public final java.util.List<kotlin.Pair<java.net.InetAddress, java.lang.String>> getDns() {
            return null;
        }
        
        public final void setDns(@org.jetbrains.annotations.NotNull
        java.util.List<? extends kotlin.Pair<? extends java.net.InetAddress, java.lang.String>> p0) {
        }
        
        @java.lang.Override
        public void onAvailable(@org.jetbrains.annotations.Nullable
        android.net.LinkProperties properties) {
        }
        
        @kotlin.Metadata(mv = {1, 9, 0}, k = 1, xi = 48, d1 = {"\u0000$\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\b\u0086\u0004\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u00a2\u0006\u0002\u0010\u0006R\u0011\u0010\u0007\u001a\u00020\u0003\u00a2\u0006\b\n\u0000\u001a\u0004\b\b\u0010\tR\u0015\u0010\n\u001a\u00060\u000bR\u00020\f\u00a2\u0006\b\n\u0000\u001a\u0004\b\r\u0010\u000eR\u0011\u0010\u0004\u001a\u00020\u0005\u00a2\u0006\b\n\u0000\u001a\u0004\b\u000f\u0010\u0010\u00a8\u0006\u0011"}, d2 = {"Lhanson/xyz/vpnhotspotmod/net/Routing$Upstream$Subrouting;", "", "priority", "", "upstream", "", "(Lhanson/xyz/vpnhotspotmod/net/Routing$Upstream;ILjava/lang/String;)V", "ifindex", "getIfindex", "()I", "transaction", "Lhanson/xyz/vpnhotspotmod/util/RootSession$Transaction;", "Lhanson/xyz/vpnhotspotmod/util/RootSession;", "getTransaction", "()Lhanson/xyz/vpnhotspotmod/util/RootSession$Transaction;", "getUpstream", "()Ljava/lang/String;", "mobile_freedomDebug"})
        public final class Subrouting {
            @org.jetbrains.annotations.NotNull
            private final java.lang.String upstream = null;
            private final int ifindex = 0;
            @org.jetbrains.annotations.NotNull
            private final hanson.xyz.vpnhotspotmod.util.RootSession.Transaction transaction = null;
            
            public Subrouting(int priority, @org.jetbrains.annotations.NotNull
            java.lang.String upstream) {
                super();
            }
            
            @org.jetbrains.annotations.NotNull
            public final java.lang.String getUpstream() {
                return null;
            }
            
            public final int getIfindex() {
                return 0;
            }
            
            @org.jetbrains.annotations.NotNull
            public final hanson.xyz.vpnhotspotmod.util.RootSession.Transaction getTransaction() {
                return null;
            }
        }
    }
}