/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.util.Config
 *  com.l7tech.util.ConfigFactory
 *  com.l7tech.util.JdkLoggerConfigurator
 *  com.l7tech.util.ResourceUtils
 *  com.l7tech.util.SyspropUtil
 */
package com.l7tech.server.log;

import com.l7tech.server.ServerConfig;
import com.l7tech.server.log.LogFileConfiguration;
import com.l7tech.server.log.LoggingPrintStream;
import com.l7tech.server.log.c;
import com.l7tech.server.log.d;
import com.l7tech.server.log.s;
import com.l7tech.util.Config;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.JdkLoggerConfigurator;
import com.l7tech.util.ResourceUtils;
import com.l7tech.util.SyspropUtil;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.ConsoleHandler;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;

public class JdkLogConfig {
    public static final String PARAM_LOG_TO_CONSOLE;
    public static final String PARAM_LOG_TO_CONSOLE_EXTRA_CATEGORIES;
    public static final String PARAM_LOG_DEFAULT_NAME;
    public static final String PARAM_LOG_DEFAULT_LIMIT;
    public static final String PARAM_LOG_DEFAULT_COUNT;
    public static final String PARAM_LOG_DEFAULT_APPEND;
    private static final String a;
    private static final int b = 20480000;
    private static final int c = 10;
    private static final boolean d = true;
    private static final Object e;
    private static boolean f;
    private static final AtomicReference<Logger> g;
    private static final AtomicReference<List<Handler>> h;
    private static final String[] i;

    public JdkLogConfig() {
        try {
            JdkLogConfig.d();
            JdkLogConfig.b();
            JdkLoggerConfigurator.configure(null, (String)i[11], null);
            JdkLogConfig.a(true);
        }
        catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    public static void configureLogging() {
        Object object = e;
        synchronized (object) {
            if (!f) {
                f = true;
                JdkLogConfig.a(false);
            }
        }
    }

    private static void a(boolean bl2) {
        String string;
        Config config = ConfigFactory.getCachedConfig();
        String[] stringArray = i;
        String string2 = config.getProperty(stringArray[21]) + File.separator + stringArray[15];
        c c10 = new c();
        String string3 = string = !bl2 ? stringArray[9] : null;
        if (new File(string2).exists()) {
            stringArray = i;
            JdkLoggerConfigurator.configure((String)string, (String)stringArray[5], (String)string2, (!bl2 ? 1 : 0) != 0, (Runnable)c10);
        } else {
            stringArray = i;
            JdkLoggerConfigurator.configure((String)string, (String)stringArray[11], (String)stringArray[11], (!bl2 ? 1 : 0) != 0, (Runnable)c10);
        }
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     * Could not resolve type clashes
     * Loose catch block
     */
    private static void a() {
        Object object;
        ArrayList<Handler> arrayList;
        Object object2;
        ArrayList<Object> arrayList2;
        block17: {
            int n2;
            ServerConfig serverConfig;
            block18: {
                block16: {
                    arrayList2 = new ArrayList<Object>();
                    serverConfig = ServerConfig.getInstance();
                    String[] stringArray = i;
                    File file = serverConfig.getLocalDirectoryProperty(stringArray[20], true);
                    n2 = com.l7tech.server.log.d.a(stringArray[4]);
                    File file2 = new File(file, stringArray[22]);
                    if (!file2.exists()) break block18;
                    object2 = null;
                    try {
                        object2 = new ObjectInputStream(new FileInputStream(file2));
                        arrayList = ((ObjectInputStream)object2).readObject();
                        if (!(arrayList instanceof List)) break block16;
                        for (LogFileConfiguration logFileConfiguration : (List)arrayList) {
                            if (!(logFileConfiguration instanceof LogFileConfiguration)) continue;
                            object = logFileConfiguration;
                            if (n2 != 0) {
                                object = new LogFileConfiguration((LogFileConfiguration)object, n2);
                            }
                            arrayList2.add(object);
                        }
                    }
                    catch (IOException iOException) {
                        ResourceUtils.closeQuietly(object2);
                        break block17;
                    }
                    catch (ClassNotFoundException classNotFoundException) {
                        ResourceUtils.closeQuietly(object2);
                        break block17;
                        {
                            catch (Throwable throwable) {
                                ResourceUtils.closeQuietly(object2);
                                throw throwable;
                            }
                        }
                    }
                }
                ResourceUtils.closeQuietly((Closeable)object2);
                break block17;
            }
            try {
                int n3;
                boolean bl2;
                int n4;
                int n5;
                String string;
                LogFileConfiguration logFileConfiguration;
                LogFileConfiguration logFileConfiguration2;
                ArrayList<Object> arrayList3;
                try {
                    LogFileConfiguration logFileConfiguration3;
                    arrayList3 = arrayList2;
                    logFileConfiguration2 = logFileConfiguration3;
                    logFileConfiguration = logFileConfiguration3;
                    string = com.l7tech.server.log.d.a(serverConfig, SyspropUtil.getString((String)i[12], (String)i[10]), null, true);
                    n5 = SyspropUtil.getInteger((String)i[18], (int)20480000);
                    n4 = SyspropUtil.getInteger((String)i[16], (int)10);
                    bl2 = SyspropUtil.getBoolean((String)i[1], (boolean)true);
                    n3 = n2 != 0 ? n2 : Level.INFO.intValue();
                }
                catch (IOException iOException) {
                    throw JdkLogConfig.a(iOException);
                }
                logFileConfiguration2(string, n5, n4, bl2, n3, i[7], null, false, null);
                arrayList3.add(logFileConfiguration);
            }
            catch (IOException iOException) {
                // empty catch block
            }
        }
        if (!arrayList2.isEmpty()) {
            object2 = Logger.getLogger("");
            g.set((Logger)object2);
            arrayList = new ArrayList<Handler>();
            for (LogFileConfiguration logFileConfiguration : arrayList2) {
                try {
                    object = logFileConfiguration.buildFileHandler();
                    arrayList.add((Handler)object);
                    ((Logger)object2).addHandler((Handler)object);
                }
                catch (IOException iOException) {}
            }
            h.set(arrayList);
        }
    }

    public static Logger getInitialRootLogger() {
        return g.get();
    }

    protected static List<Handler> getInitialRootHandlers() {
        return h.get();
    }

    private static void b() {
        String[] stringArray = i;
        System.setOut(new LoggingPrintStream(Logger.getLogger(stringArray[2]), Level.INFO));
        System.setErr(new LoggingPrintStream(Logger.getLogger(stringArray[13]), Level.WARNING));
    }

    private static void c() {
        try {
            s s2 = new s();
            s2.setLevel(Level.CONFIG);
            Logger.getLogger("").addHandler(s2);
        }
        catch (Exception exception) {
            // empty catch block
        }
    }

    private static void d() {
        Logger logger = Logger.getLogger("");
        for (Handler handler : logger.getHandlers()) {
            if (!(handler instanceof ConsoleHandler)) continue;
            logger.removeHandler(handler);
        }
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[23];
                var3_1 = 0;
                var2_2 = "\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT#tTK'Y\u001f$\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enzJH-[\u001e\u0006)\u0014_um\u001c$\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enzJH-[\u001e\n\t)uQ\u0016$P\f%w.\u0019/v\u0015T\u007fA\u001f#s\u0015K-G\f%i\u0015J-F\u00155iY];\u001a\u0016/|]Q&RT0iUH-G\u000e)~I\"\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enu[U-L_q?Nae\u0010KdoW\u0015m\u0004^4\u007fn\u001dy\u0011\u000e\b!\u001f\tlA7z>\u000b\u001c<fTe*\u001eL\u0004\u0010Kdo@\u0018m\u0007^m,I\u0018m\u0000^$;\u001f\u0000lFZe(\u001eKr\u0015_t?I\u001d&#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enwSU!A\u0012\u0019/v\u0014T\u007fA\u001f#s\u0014T'R\u001d)u]\u0003\t3|.\u0019/v\u0015T\u007fA\u001f#s\u0015K-G\f%i\u0015J-F\u00155iY];\u001a\u0016/|]Q&RT0iUH-G\u000e)~I\"\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enu[U-\u0006)\u0014_\u007fj\u001a\u0003\t3|\u0011\t3|VW/\u001b\n2tJ]:A\u0013%h#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enxUM&A#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enxUM&A#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enwSU!A'\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT#tTK'Y\u001fn~BL:T9!oI\f\f!i~Q:P\u00194tHA";
                var4_3 = "\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT#tTK'Y\u001f$\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enzJH-[\u001e\u0006)\u0014_um\u001c$\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enzJH-[\u001e\n\t)uQ\u0016$P\f%w.\u0019/v\u0015T\u007fA\u001f#s\u0015K-G\f%i\u0015J-F\u00155iY];\u001a\u0016/|]Q&RT0iUH-G\u000e)~I\"\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enu[U-L_q?Nae\u0010KdoW\u0015m\u0004^4\u007fn\u001dy\u0011\u000e\b!\u001f\tlA7z>\u000b\u001c<fTe*\u001eL\u0004\u0010Kdo@\u0018m\u0007^m,I\u0018m\u0000^$;\u001f\u0000lFZe(\u001eKr\u0015_t?I\u001d&#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enwSU!A\u0012\u0019/v\u0014T\u007fA\u001f#s\u0014T'R\u001d)u]\u0003\t3|.\u0019/v\u0015T\u007fA\u001f#s\u0015K-G\f%i\u0015J-F\u00155iY];\u001a\u0016/|]Q&RT0iUH-G\u000e)~I\"\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enu[U-\u0006)\u0014_\u007fj\u001a\u0003\t3|\u0011\t3|VW/\u001b\n2tJ]:A\u0013%h#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enxUM&A#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enxUM&A#\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT$~\\Y=Y\u000enwSU!A'\u0019/v\u0014T\u007fA\u001f#s\u0014K-G\f%i\u0014T'RT#tTK'Y\u001fn~BL:T9!oI\f\f!i~Q:P\u00194tHA".length();
                var1_4 = 29;
                var0_5 = -1;
lbl7:
                // 2 sources

                while (true) {
                    v0 = 123;
                    v1 = ++var0_5;
                    v2 = var2_2.substring(v1, v1 + var1_4);
                    v3 = -1;
                    break block9;
                    break;
                }
lbl13:
                // 1 sources

                while (true) {
                    var5[var3_1++] = JdkLogConfig.a(v0, JdkLogConfig.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "Oy#\n\u0007y'Ed(\u000f\u001aq\u0011U\u000e@y*\u001f1r\fOw!B\n\u007f\u0017";
                    var4_3 = "Oy#\n\u0007y'Ed(\u000f\u001aq\u0011U\u000e@y*\u001f1r\fOw!B\n\u007f\u0017".length();
                    var1_4 = 15;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 45;
                        v4 = ++var0_5;
                        v2 = var2_2.substring(v4, v4 + var1_4);
                        v3 = 0;
                        break block9;
                        break;
                    }
                    break;
                }
lbl28:
                // 1 sources

                while (true) {
                    var5[var3_1++] = JdkLogConfig.a(v0, JdkLogConfig.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    break block10;
                    break;
                }
            }
            switch (v3) {
                default: {
                    ** continue;
                }
                ** case 0:
lbl39:
                // 1 sources

                ** continue;
            }
        }
        JdkLogConfig.i = var5;
        JdkLogConfig.PARAM_LOG_TO_CONSOLE = JdkLogConfig.i[0];
        JdkLogConfig.PARAM_LOG_DEFAULT_COUNT = JdkLogConfig.i[17];
        JdkLogConfig.a = JdkLogConfig.i[14];
        JdkLogConfig.PARAM_LOG_TO_CONSOLE_EXTRA_CATEGORIES = JdkLogConfig.i[19];
        JdkLogConfig.PARAM_LOG_DEFAULT_NAME = JdkLogConfig.i[6];
        JdkLogConfig.PARAM_LOG_DEFAULT_LIMIT = JdkLogConfig.i[8];
        JdkLogConfig.PARAM_LOG_DEFAULT_APPEND = JdkLogConfig.i[3];
        JdkLogConfig.e = new Object();
        JdkLogConfig.f = false;
        JdkLogConfig.g = new AtomicReference<V>();
        JdkLogConfig.h = new AtomicReference<List<T>>(Collections.emptyList());
    }

    private static IOException a(IOException iOException) {
        return iOException;
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x4E);
        }
        return cArray;
    }

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String a(int n2, char[] cArray) {
        char[] cArray2;
        block11: {
            int n3;
            int n4;
            int n5;
            block10: {
                n5 = n2;
                cArray2 = cArray;
                n4 = cArray.length;
                n3 = 0;
                if (!true) break block10;
                n4 = n4;
                if (n4 <= n3) break block11;
            }
            do {
                n5 = n5;
                cArray2 = cArray2;
                int n6 = n3;
                cArray2[n6] = (char)(cArray2[n6] ^ (n5 ^ (switch (n3 % 7) {
                    case 0 -> 1;
                    case 1 -> 59;
                    case 2 -> 96;
                    case 3 -> 65;
                    case 4 -> 67;
                    case 5 -> 51;
                    default -> 78;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

