/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.jdbc.JdbcUtil
 *  com.l7tech.policy.variable.Syntax
 *  com.l7tech.util.Config
 *  com.l7tech.util.Either
 *  com.l7tech.util.ExceptionUtils
 *  com.l7tech.util.Option
 *  com.l7tech.util.ThreadPool
 *  com.l7tech.util.TimeSource
 *  com.l7tech.util.ValidatedConfig
 *  com.mchange.v2.c3p0.ComboPooledDataSource
 *  org.jetbrains.annotations.NotNull
 *  org.jetbrains.annotations.Nullable
 *  org.springframework.context.ApplicationEvent
 *  org.springframework.context.ApplicationListener
 *  org.springframework.dao.DataAccessException
 *  org.springframework.dao.InvalidDataAccessApiUsageException
 *  org.springframework.jdbc.BadSqlGrammarException
 *  org.springframework.jdbc.CannotGetJdbcConnectionException
 *  org.springframework.jdbc.core.JdbcTemplate
 *  org.springframework.jdbc.core.PreparedStatementCallback
 *  org.springframework.jdbc.core.ResultSetExtractor
 *  org.springframework.jdbc.core.metadata.CallMetaDataContext
 *  org.springframework.jdbc.core.metadata.CallMetaDataProvider
 *  org.springframework.jdbc.core.metadata.CallMetaDataProviderFactory
 *  org.springframework.jdbc.core.metadata.CallParameterMetaData
 *  org.springframework.jdbc.core.simple.SimpleJdbcCall
 *  org.springframework.jdbc.support.rowset.SqlRowSet
 */
package com.l7tech.server.jdbc;

import com.l7tech.gateway.common.jdbc.JdbcUtil;
import com.l7tech.policy.variable.Syntax;
import com.l7tech.server.event.system.ReadyForMessages;
import com.l7tech.server.event.system.Stopped;
import com.l7tech.server.jdbc.JdbcCallHelper;
import com.l7tech.server.jdbc.JdbcConnectionManager;
import com.l7tech.server.jdbc.JdbcConnectionPoolManager;
import com.l7tech.server.jdbc.JdbcQueryingManager;
import com.l7tech.server.jdbc.l;
import com.l7tech.server.jdbc.m;
import com.l7tech.server.jdbc.n;
import com.l7tech.server.jdbc.p;
import com.l7tech.server.jdbc.u;
import com.l7tech.server.jdbc.v;
import com.l7tech.server.util.ManagedTimer;
import com.l7tech.util.Config;
import com.l7tech.util.Either;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.Option;
import com.l7tech.util.ThreadPool;
import com.l7tech.util.TimeSource;
import com.l7tech.util.ValidatedConfig;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TimerTask;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sql.DataSource;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.jdbc.BadSqlGrammarException;
import org.springframework.jdbc.CannotGetJdbcConnectionException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCallback;
import org.springframework.jdbc.core.ResultSetExtractor;
import org.springframework.jdbc.core.metadata.CallMetaDataContext;
import org.springframework.jdbc.core.metadata.CallMetaDataProvider;
import org.springframework.jdbc.core.metadata.CallMetaDataProviderFactory;
import org.springframework.jdbc.core.metadata.CallParameterMetaData;
import org.springframework.jdbc.core.simple.SimpleJdbcCall;
import org.springframework.jdbc.support.rowset.SqlRowSet;

/*
 * Exception performing whole class analysis ignored.
 */
public class JdbcQueryingManagerImpl
implements JdbcQueryingManager,
PropertyChangeListener,
ApplicationListener {
    private static final Logger a;
    private final JdbcConnectionPoolManager b;
    private final JdbcConnectionManager c;
    private final Config d;
    private final TimeSource e;
    private final ManagedTimer f;
    private final ManagedTimer g;
    private final AtomicReference<v> h;
    private final AtomicReference<u> i;
    private final Map<l, m> j;
    private final Set<l> k;
    private ThreadPool l;
    public static final String DOWNLOAD_TASK_LABEL;
    public static final String CLEAN_UP_TASK_LABEL;
    static final /* synthetic */ boolean m;
    private static final String[] n;

    public JdbcQueryingManagerImpl(JdbcConnectionPoolManager jdbcConnectionPoolManager, JdbcConnectionManager jdbcConnectionManager, Config config, TimeSource timeSource) {
        String[] stringArray = n;
        this.f = new ManagedTimer(stringArray[33]);
        this.g = new ManagedTimer(stringArray[42]);
        this.h = new AtomicReference();
        this.i = new AtomicReference();
        this.j = new ConcurrentHashMap<l, m>();
        this.k = ConcurrentHashMap.newKeySet();
        this.b = jdbcConnectionPoolManager;
        this.c = jdbcConnectionManager;
        this.d = JdbcQueryingManagerImpl.a(config);
        this.e = timeSource;
    }

    public void onApplicationEvent(ApplicationEvent applicationEvent) {
        block6: {
            block5: {
                try {
                    if (!(applicationEvent instanceof ReadyForMessages)) break block5;
                    this.i();
                    break block6;
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
            }
            try {
                if (applicationEvent instanceof Stopped) {
                    this.j();
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
        }
    }

    /*
     * Exception decompiling
     */
    @Override
    public void propertyChange(PropertyChangeEvent var1_1) {
        /*
         * This method has failed to decompile.  When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
         * 
         * org.benf.cfr.reader.util.ConfusedCFRException: Tried to end blocks [1[TRYBLOCK]], but top level block is 9[SWITCH]
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.processEndingBlocks(Op04StructuredStatement.java:435)
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:484)
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:736)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:850)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:278)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:201)
         *     at org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:94)
         *     at org.benf.cfr.reader.entities.Method.analyse(Method.java:531)
         *     at org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:1055)
         *     at org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:942)
         *     at org.benf.cfr.reader.Driver.doJarVersionTypes(Driver.java:257)
         *     at org.benf.cfr.reader.Driver.doJar(Driver.java:139)
         *     at org.benf.cfr.reader.CfrDriverImpl.analyse(CfrDriverImpl.java:76)
         *     at org.benf.cfr.reader.Main.main(Main.java:54)
         */
        throw new IllegalStateException("Decompilation failed");
    }

    @Override
    public void registerQueryForPossibleCaching(@NotNull String string, @NotNull String string2, @Nullable String string3) {
        block14: {
            try {
                if (string == null) {
                    JdbcQueryingManagerImpl.b(0);
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
            try {
                if (string2 == null) {
                    JdbcQueryingManagerImpl.b(1);
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
            try {
                block15: {
                    try {
                        try {
                            try {
                                if (!JdbcUtil.isStoredProcedure((String)string2) || Syntax.isAnyVariableReferenced((String)string)) break block14;
                            }
                            catch (DataAccessException dataAccessException) {
                                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                            }
                            if (string3 == null) break block15;
                        }
                        catch (DataAccessException dataAccessException) {
                            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                        }
                        if (Syntax.isAnyVariableReferenced((String)string3)) break block14;
                    }
                    catch (DataAccessException dataAccessException) {
                        throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                    }
                }
                this.k.add(JdbcQueryingManagerImpl.a(string, string2, (Option<String>)Option.optional((Object)string3)));
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
        }
    }

    /*
     * Unable to fully structure code
     */
    @Override
    public Object performJdbcQuery(@Nullable String var1_1, @NotNull String var2_2, @Nullable String var3_3, int var4_4, int var5_5, @NotNull List<Object> var6_6) {
        block12: {
            try {
                if (var2_2 == null) {
                    JdbcQueryingManagerImpl.b(2);
                }
            }
            catch (Exception v0) {
                throw JdbcQueryingManagerImpl.a(v0);
            }
            try {
                if (var6_6 == null) {
                    JdbcQueryingManagerImpl.b(3);
                }
            }
            catch (Exception v1) {
                throw JdbcQueryingManagerImpl.a(v1);
            }
            if (var1_1 == null) ** GOTO lbl20
            try {
                block13: {
                    if (!var1_1.isEmpty()) break block12;
                    break block13;
                    catch (Exception v2) {
                        throw JdbcQueryingManagerImpl.a(v2);
                    }
                }
                JdbcQueryingManagerImpl.a.warning(JdbcQueryingManagerImpl.n[25]);
                return JdbcQueryingManagerImpl.n[52];
            }
            catch (Exception v3) {
                throw JdbcQueryingManagerImpl.a(v3);
            }
        }
        try {
            var7_7 = this.b.getDataSource(var1_1);
        }
        catch (Exception var8_8) {
            var9_9 = JdbcQueryingManagerImpl.n;
            JdbcQueryingManagerImpl.a.warning(var9_9[48] + ExceptionUtils.getMessage((Throwable)var8_8) + " " + ExceptionUtils.getMessage((Throwable)ExceptionUtils.unnestToRoot((Throwable)var8_8)));
            return var9_9[41] + ExceptionUtils.getMessage((Throwable)var8_8) + " " + ExceptionUtils.getMessage((Throwable)ExceptionUtils.unnestToRoot((Throwable)var8_8));
        }
        return this.performJdbcQuery(var1_1, var7_7, var2_2, var3_3, var4_4, var5_5, var6_6);
    }

    @Override
    public Object performJdbcQuery(@Nullable String string, @NotNull String string2, @Nullable String string3, int n2, @NotNull List<Object> list) {
        try {
            if (string2 == null) {
                JdbcQueryingManagerImpl.b(4);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (list == null) {
                JdbcQueryingManagerImpl.b(5);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        return this.performJdbcQuery(string, string2, string3, n2, 0, list);
    }

    @Override
    public Object performJdbcQuery(@NotNull DataSource dataSource, @NotNull String string, @Nullable String string2, int n2, int n3, @NotNull List<Object> list) {
        try {
            if (dataSource == null) {
                JdbcQueryingManagerImpl.b(6);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (string == null) {
                JdbcQueryingManagerImpl.b(7);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (list == null) {
                JdbcQueryingManagerImpl.b(8);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        return this.performJdbcQuery(null, dataSource, string, string2, n2, list);
    }

    @Override
    public Object performJdbcQuery(@NotNull DataSource dataSource, @NotNull String string, @Nullable String string2, int n2, @NotNull List<Object> list) {
        try {
            if (dataSource == null) {
                JdbcQueryingManagerImpl.b(9);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (string == null) {
                JdbcQueryingManagerImpl.b(10);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (list == null) {
                JdbcQueryingManagerImpl.b(11);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        return this.performJdbcQuery(dataSource, string, string2, n2, 0, list);
    }

    @Override
    public Object performJdbcQuery(@Nullable String string, @NotNull DataSource dataSource, @NotNull String string2, @Nullable String string3, int n2, int n3, @NotNull List<Object> list) {
        try {
            if (dataSource == null) {
                JdbcQueryingManagerImpl.b(12);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (string2 == null) {
                JdbcQueryingManagerImpl.b(13);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (list == null) {
                JdbcQueryingManagerImpl.b(14);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        return this.performJdbcQuery(string, this.a(dataSource, n2, n3), string2, (Option<String>)Option.optional((Object)string3), list);
    }

    @Override
    public Object performJdbcQuery(@Nullable String string, @NotNull DataSource dataSource, @NotNull String string2, @Nullable String string3, int n2, @NotNull List<Object> list) {
        try {
            if (dataSource == null) {
                JdbcQueryingManagerImpl.b(15);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (string2 == null) {
                JdbcQueryingManagerImpl.b(16);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (list == null) {
                JdbcQueryingManagerImpl.b(17);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        return this.performJdbcQuery(string, dataSource, string2, string3, n2, 0, list);
    }

    /*
     * Loose catch block
     */
    protected Object performJdbcQuery(@Nullable String string, JdbcTemplate jdbcTemplate, String string2, @NotNull Option<String> option, @NotNull List<Object> list) throws DataAccessException {
        try {
            if (option == null) {
                JdbcQueryingManagerImpl.b(18);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (list == null) {
                JdbcQueryingManagerImpl.b(19);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            boolean bl2;
            block33: {
                JdbcCallHelper jdbcCallHelper;
                boolean bl3;
                block35: {
                    boolean bl4;
                    block34: {
                        block37: {
                            String[] stringArray = n;
                            boolean bl5 = string2.toLowerCase().startsWith(stringArray[50]);
                            boolean bl6 = JdbcUtil.isStoredProcedure((String)string2);
                            bl2 = JdbcUtil.isDMLQuery((String)string2);
                            if (bl5) {
                                return jdbcTemplate.query(string2, list.toArray(new Object[list.size()]), (ResultSetExtractor)new p());
                            }
                            if (!bl6) break block33;
                            if (string == null) break block34;
                            break block37;
                            catch (DataAccessException dataAccessException) {
                                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                            }
                        }
                        try {
                            block38: {
                                if (!this.g()) break block34;
                                break block38;
                                catch (DataAccessException dataAccessException) {
                                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                                }
                            }
                            bl4 = true;
                            break block35;
                        }
                        catch (DataAccessException dataAccessException) {
                            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                        }
                    }
                    bl4 = bl3 = false;
                }
                if (bl3) {
                    jdbcCallHelper = this.a(string, jdbcTemplate, string2, option);
                } else {
                    String string3 = JdbcUtil.getName((String)string2);
                    SimpleJdbcCall simpleJdbcCall = JdbcQueryingManagerImpl.a(jdbcTemplate, string2, option);
                    List<String> list2 = JdbcQueryingManagerImpl.a(option, string3, simpleJdbcCall);
                    jdbcCallHelper = new JdbcCallHelper(simpleJdbcCall, list2);
                }
                return jdbcCallHelper.queryForRowSet(string2, list.toArray(new Object[list.size()]));
            }
            try {
                if (bl2) {
                    return jdbcTemplate.update(string2, list.toArray(new Object[list.size()]));
                }
            }
            catch (IllegalArgumentException illegalArgumentException) {
                throw JdbcQueryingManagerImpl.a(illegalArgumentException);
            }
        }
        catch (DataAccessException dataAccessException) {
            block36: {
                try {
                    a.warning(n[30] + ExceptionUtils.getMessage((Throwable)ExceptionUtils.unnestToRoot((Throwable)dataAccessException)));
                    if (ExceptionUtils.causedBy((Throwable)dataAccessException, CannotGetJdbcConnectionException.class)) {
                        return n[14] + ExceptionUtils.getMessage((Throwable)dataAccessException) + " " + ExceptionUtils.getMessage((Throwable)ExceptionUtils.unnestToRoot((Throwable)dataAccessException));
                    }
                }
                catch (DataAccessException dataAccessException2) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException2));
                }
                try {
                    if (ExceptionUtils.causedBy((Throwable)dataAccessException, BadSqlGrammarException.class)) {
                        return n[67] + ExceptionUtils.getMessage((Throwable)ExceptionUtils.unnestToRoot((Throwable)dataAccessException));
                    }
                }
                catch (DataAccessException dataAccessException3) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException3));
                }
                try {
                    try {
                        try {
                            if (!ExceptionUtils.causedBy((Throwable)dataAccessException, InvalidDataAccessApiUsageException.class) || !dataAccessException.getMessage().contains(n[32])) break block36;
                        }
                        catch (DataAccessException dataAccessException4) {
                            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException4));
                        }
                        if (!dataAccessException.getMessage().contains(n[11])) break block36;
                    }
                    catch (DataAccessException dataAccessException5) {
                        throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException5));
                    }
                    return n[57];
                }
                catch (DataAccessException dataAccessException6) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException6));
                }
            }
            return ExceptionUtils.getMessage((Throwable)ExceptionUtils.unnestToRoot((Throwable)dataAccessException));
        }
        return jdbcTemplate.execute(string2, (PreparedStatementCallback)new n(string2, list));
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    private JdbcCallHelper a(String string, JdbcTemplate jdbcTemplate, String string2, Option<String> option) throws DataAccessException {
        JdbcCallHelper jdbcCallHelper;
        l l2 = JdbcQueryingManagerImpl.a(string, string2, option);
        if (this.j.containsKey(l2)) {
            Object object;
            m m2;
            block20: {
                String[] stringArray = n;
                a.log(Level.FINEST, stringArray[63], l2);
                m2 = this.j.get(l2);
                long l3 = this.d.getLongProperty(stringArray[37], 1800L) * 1000L;
                Long l4 = this.e.currentTimeMillis() - m2.d.get();
                try {
                    if (l3 <= 0L || l4 <= l3) break block20;
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                object = l2.toString().intern();
                synchronized (object) {
                    l4 = this.e.currentTimeMillis() - m2.d.get();
                    if (l4 > l3) {
                        stringArray = n;
                        a.log(Level.FINEST, stringArray[7], l2);
                        this.a(string, string2, jdbcTemplate, option);
                        m2 = this.j.get(l2);
                    }
                }
            }
            object = m2.a;
            try {
                if (object.isLeft()) {
                    throw (DataAccessException)((Object)object.left());
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
            SimpleJdbcCall simpleJdbcCall = (SimpleJdbcCall)object.right();
            simpleJdbcCall.getJdbcTemplate().setQueryTimeout(jdbcTemplate.getQueryTimeout());
            jdbcCallHelper = new JdbcCallHelper(simpleJdbcCall, (List)m2.b.some());
            AtomicLong atomicLong = m2.c;
            atomicLong.set(this.e.currentTimeMillis());
        } else {
            m m3;
            Either<DataAccessException, SimpleJdbcCall> either = l2.toString().intern();
            synchronized (either) {
                if (!this.j.containsKey(l2)) {
                    String string3;
                    String string4;
                    String string5;
                    JdbcQueryingManagerImpl jdbcQueryingManagerImpl;
                    try {
                        a.log(Level.FINEST, n[22], l2);
                        this.a(string, string2, jdbcTemplate, option);
                        jdbcQueryingManagerImpl = this;
                        string5 = string;
                        string4 = string2;
                        string3 = option.isSome() ? (String)option.some() : null;
                    }
                    catch (DataAccessException dataAccessException) {
                        throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                    }
                    jdbcQueryingManagerImpl.registerQueryForPossibleCaching(string5, string4, string3);
                }
                m3 = this.j.get(l2);
            }
            either = m3.a;
            try {
                if (either.isLeft()) {
                    throw (DataAccessException)((Object)either.left());
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
            jdbcCallHelper = new JdbcCallHelper((SimpleJdbcCall)either.right(), (List)m3.b.some());
        }
        return jdbcCallHelper;
    }

    static List<String> a(@NotNull Option<String> option, @NotNull String string, @NotNull SimpleJdbcCall simpleJdbcCall) {
        String string2;
        String string3;
        boolean bl2;
        block16: {
            block15: {
                try {
                    if (option == null) {
                        JdbcQueryingManagerImpl.b(20);
                    }
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                try {
                    if (string == null) {
                        JdbcQueryingManagerImpl.b(21);
                    }
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                try {
                    if (simpleJdbcCall == null) {
                        JdbcQueryingManagerImpl.b(22);
                    }
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                try {
                    try {
                        if (!option.isSome() || ((String)option.some()).trim().isEmpty()) break block15;
                    }
                    catch (DataAccessException dataAccessException) {
                        throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                    }
                    bl2 = true;
                    break block16;
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
            }
            bl2 = false;
        }
        boolean bl3 = bl2;
        try {
            string3 = string;
            string2 = bl3 ? (String)option.some() : null;
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        return JdbcQueryingManagerImpl.a(string3, string2, simpleJdbcCall);
    }

    private void a(@NotNull String string, @NotNull String string2, @NotNull JdbcTemplate jdbcTemplate, @NotNull Option<String> option) {
        try {
            if (string == null) {
                JdbcQueryingManagerImpl.b(23);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (string2 == null) {
                JdbcQueryingManagerImpl.b(24);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (jdbcTemplate == null) {
                JdbcQueryingManagerImpl.b(25);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (option == null) {
                JdbcQueryingManagerImpl.b(26);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        this.a(string, string2, jdbcTemplate, option, null);
    }

    /*
     * Loose catch block
     */
    private void a(@NotNull String string, @NotNull String string2, @NotNull JdbcTemplate jdbcTemplate, @NotNull Option<String> option, @Nullable Long l2) {
        block26: {
            try {
                if (string == null) {
                    JdbcQueryingManagerImpl.b(27);
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
            try {
                if (string2 == null) {
                    JdbcQueryingManagerImpl.b(28);
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
            try {
                if (jdbcTemplate == null) {
                    JdbcQueryingManagerImpl.b(29);
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
            try {
                if (option == null) {
                    JdbcQueryingManagerImpl.b(30);
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
            l l3 = JdbcQueryingManagerImpl.a(string, string2, option);
            try {
                Object object;
                String string3;
                String string4;
                Logger logger;
                block28: {
                    block27: {
                        long l4;
                        List<String> list;
                        Either either;
                        m m2;
                        m m3;
                        SimpleJdbcCall simpleJdbcCall = JdbcQueryingManagerImpl.a(jdbcTemplate, string2, option);
                        simpleJdbcCall.compile();
                        List<String> list2 = JdbcQueryingManagerImpl.a(option, l3.b, simpleJdbcCall);
                        Either either2 = Either.right((Object)simpleJdbcCall);
                        long l5 = this.e.currentTimeMillis();
                        try {
                            m m4;
                            m3 = m4;
                            m2 = m4;
                            either = either2;
                            list = list2;
                            l4 = l2 != null ? l2 : l5;
                        }
                        catch (DataAccessException dataAccessException) {
                            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                        }
                        m3((Either<DataAccessException, SimpleJdbcCall>)either, list, l4, l5);
                        m m5 = m2;
                        this.j.put(l3, m5);
                        if (!a.isLoggable(Level.FINE)) break block26;
                        try {
                            block31: {
                                logger = a;
                                string4 = string;
                                string3 = l3.b;
                                if (!option.isSome()) break block27;
                                break block31;
                                catch (DataAccessException dataAccessException) {
                                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                                }
                            }
                            object = n[69] + (String)option.some() + "'";
                            break block28;
                        }
                        catch (DataAccessException dataAccessException) {
                            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                        }
                    }
                    object = "";
                }
                String string5 = object;
                String string6 = string3;
                String string7 = string4;
                String[] stringArray = n;
                logger.fine(stringArray[9] + string7 + stringArray[24] + string6 + stringArray[26] + string5);
            }
            catch (DataAccessException dataAccessException) {
                Object object;
                String string8;
                String string9;
                Logger logger;
                block30: {
                    block29: {
                        long l6;
                        Either either;
                        m m6;
                        m m7;
                        Either either3 = Either.left((Object)((Object)dataAccessException));
                        long l7 = this.e.currentTimeMillis();
                        try {
                            m m8;
                            m7 = m8;
                            m6 = m8;
                            either = either3;
                            l6 = l2 != null ? l2 : l7;
                        }
                        catch (DataAccessException dataAccessException2) {
                            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException2));
                        }
                        m7((Either<DataAccessException, SimpleJdbcCall>)either, l6, l7);
                        m m9 = m6;
                        try {
                            try {
                                this.j.put(l3, m9);
                                if (!a.isLoggable(Level.FINE)) break block26;
                                logger = a;
                                string9 = string;
                                string8 = l3.b;
                                if (!option.isSome()) break block29;
                            }
                            catch (DataAccessException dataAccessException3) {
                                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException3));
                            }
                            object = n[1] + (String)option.some() + "'";
                            break block30;
                        }
                        catch (DataAccessException dataAccessException4) {
                            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException4));
                        }
                    }
                    object = "";
                }
                String string10 = object;
                String string11 = string8;
                String string12 = string9;
                String[] stringArray = n;
                logger.fine(stringArray[39] + string12 + stringArray[34] + string11 + stringArray[45] + string10);
            }
        }
    }

    private static boolean a(@NotNull JdbcTemplate jdbcTemplate) {
        try {
            if (jdbcTemplate == null) {
                JdbcQueryingManagerImpl.b(31);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        boolean bl2 = false;
        DataSource dataSource = jdbcTemplate.getDataSource();
        if (dataSource != null) {
            String string = ((ComboPooledDataSource)dataSource).getJdbcUrl().toLowerCase();
            bl2 = string.startsWith(n[56]);
        }
        return bl2;
    }

    private static SimpleJdbcCall a(@NotNull JdbcTemplate jdbcTemplate, @NotNull String string, @NotNull Option<String> option) throws DataAccessException {
        SimpleJdbcCall simpleJdbcCall;
        block18: {
            block17: {
                try {
                    if (jdbcTemplate == null) {
                        JdbcQueryingManagerImpl.b(32);
                    }
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                try {
                    if (string == null) {
                        JdbcQueryingManagerImpl.b(33);
                    }
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                try {
                    if (option == null) {
                        JdbcQueryingManagerImpl.b(34);
                    }
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate);
                String string2 = JdbcUtil.getName((String)string);
                simpleJdbcCall.setProcedureName(string2);
                String[] stringArray = n;
                String[] stringArray2 = string2.split(stringArray[6]);
                try {
                    try {
                        if (stringArray2.length != 2 || !JdbcQueryingManagerImpl.a(jdbcTemplate)) break block17;
                    }
                    catch (DataAccessException dataAccessException) {
                        throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                    }
                    simpleJdbcCall.setCatalogName(stringArray2[0]);
                    simpleJdbcCall.setProcedureName(stringArray2[1]);
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
            }
            try {
                try {
                    simpleJdbcCall.setFunction(string.toLowerCase().startsWith(n[28]));
                    if (!option.isSome() || ((String)option.some()).isEmpty()) break block18;
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                simpleJdbcCall.setSchemaName((String)option.some());
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
        }
        return simpleJdbcCall;
    }

    private JdbcTemplate a(@NotNull DataSource dataSource, int n2, int n3) {
        int n4;
        JdbcTemplate jdbcTemplate;
        block10: {
            try {
                if (dataSource == null) {
                    JdbcQueryingManagerImpl.b(35);
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
            jdbcTemplate = new JdbcTemplate(dataSource);
            try {
                if (n2 >= 0) {
                    jdbcTemplate.setMaxRows(n2);
                }
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
            n4 = this.a(n3);
            try {
                try {
                    if (m || n4 > 0) break block10;
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                throw new AssertionError();
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
        }
        jdbcTemplate.setQueryTimeout(n4);
        return jdbcTemplate;
    }

    private int a(int n2) {
        int n3;
        block3: {
            int n4;
            block2: {
                n4 = this.d.getIntProperty(n[46], 300);
                try {
                    if (n2 >= n4 || n2 <= 0) break block2;
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                n3 = n2;
                break block3;
            }
            n3 = n4;
        }
        return n3;
    }

    private static List<String> a(@NotNull String string, @Nullable String string2, @NotNull SimpleJdbcCall simpleJdbcCall) {
        CallMetaDataContext callMetaDataContext;
        block19: {
            block18: {
                block17: {
                    try {
                        if (string == null) {
                            JdbcQueryingManagerImpl.b(36);
                        }
                    }
                    catch (DataAccessException dataAccessException) {
                        throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                    }
                    try {
                        if (simpleJdbcCall == null) {
                            JdbcQueryingManagerImpl.b(37);
                        }
                    }
                    catch (DataAccessException dataAccessException) {
                        throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                    }
                    callMetaDataContext = new CallMetaDataContext();
                    try {
                        try {
                            if (string2 == null || string2.trim().isEmpty()) break block17;
                        }
                        catch (DataAccessException dataAccessException) {
                            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                        }
                        callMetaDataContext.setSchemaName(string2);
                    }
                    catch (DataAccessException dataAccessException) {
                        throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                    }
                }
                try {
                    if (simpleJdbcCall.getCatalogName() == null) break block18;
                    callMetaDataContext.setCatalogName(simpleJdbcCall.getCatalogName());
                    callMetaDataContext.setProcedureName(simpleJdbcCall.getProcedureName());
                    break block19;
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
            }
            callMetaDataContext.setProcedureName(string);
        }
        CallMetaDataProvider callMetaDataProvider = CallMetaDataProviderFactory.createMetaDataProvider((DataSource)simpleJdbcCall.getJdbcTemplate().getDataSource(), (CallMetaDataContext)callMetaDataContext);
        List list = callMetaDataProvider.getCallParameterMetaData();
        ArrayList<String> arrayList = new ArrayList<String>();
        for (CallParameterMetaData callParameterMetaData : list) {
            try {
                try {
                    if (callParameterMetaData.getParameterType() != 1 && callParameterMetaData.getParameterType() != 2) continue;
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                arrayList.add(callParameterMetaData.getParameterName().replaceAll("@", ""));
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
        }
        return arrayList;
    }

    private static l a(@NotNull String string, @NotNull String string2, @NotNull Option<String> option) {
        try {
            if (string == null) {
                JdbcQueryingManagerImpl.b(38);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (string2 == null) {
                JdbcQueryingManagerImpl.b(39);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        try {
            if (option == null) {
                JdbcQueryingManagerImpl.b(40);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        return new l(string, string2, option);
    }

    @Override
    public SqlRowSet getMockSqlRowSet() {
        return null;
    }

    private void a() {
        block5: {
            try {
                try {
                    this.b();
                    if (m || this.h.get() == null) break block5;
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                throw new AssertionError();
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
        }
        String[] stringArray = n;
        long l2 = this.d.getLongProperty(stringArray[21], 600000L);
        if (l2 > 0L) {
            this.c();
            v v2 = new v(this, this.b);
            this.h.set(v2);
            this.f.schedule((TimerTask)this.h.get(), 1000L, l2);
            a.info(stringArray[27] + l2 + stringArray[53]);
        }
    }

    private void b() {
        v v2 = this.h.get();
        try {
            if (v2 != null) {
                v2.cancel();
                this.h.set(null);
                a.info(n[51]);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        this.d();
    }

    private void c() {
        int n2 = this.h();
        this.l = new ThreadPool(n[64], n2, n2, Integer.MAX_VALUE, 30000L, TimeUnit.MILLISECONDS, true, null, null, null);
        this.l.start();
    }

    private void d() {
        try {
            if (this.l != null) {
                this.l.shutdown();
                this.l = null;
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
    }

    private void e() {
        block5: {
            try {
                try {
                    this.f();
                    if (m || this.i.get() == null) break block5;
                }
                catch (DataAccessException dataAccessException) {
                    throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
                }
                throw new AssertionError();
            }
            catch (DataAccessException dataAccessException) {
                throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
            }
        }
        String[] stringArray = n;
        long l2 = this.d.getLongProperty(stringArray[36], 60000L);
        if (l2 > 0L) {
            u u2 = new u(this);
            this.i.set(u2);
            this.g.schedule((TimerTask)this.i.get(), 1000L, l2);
            a.info(stringArray[19] + l2 + stringArray[59]);
        }
    }

    private void f() {
        u u2 = this.i.get();
        try {
            if (u2 != null) {
                u2.cancel();
                this.i.set(null);
                a.info(n[10]);
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
    }

    private boolean g() {
        return this.d.getBooleanProperty(n[12], true);
    }

    private int h() {
        return this.d.getIntProperty(n[47], 10);
    }

    private void i() {
        boolean bl2 = this.d.getBooleanProperty(n[17], true);
        try {
            if (bl2) {
                this.a();
            }
        }
        catch (DataAccessException dataAccessException) {
            throw JdbcQueryingManagerImpl.a((Exception)((Object)dataAccessException));
        }
        this.e();
    }

    private void j() {
        this.b();
        this.f();
    }

    private static Config a(Config config) {
        ValidatedConfig validatedConfig = new ValidatedConfig(config, a);
        String[] stringArray = n;
        validatedConfig.setMinimumValue(stringArray[66], (Number)0);
        validatedConfig.setMaximumValue(stringArray[21], (Number)Long.MAX_VALUE);
        validatedConfig.setMinimumValue(stringArray[5], (Number)0);
        validatedConfig.setMaximumValue(stringArray[36], (Number)Long.MAX_VALUE);
        validatedConfig.setMinimumValue(stringArray[3], (Number)1);
        validatedConfig.setMaximumValue(stringArray[47], (Number)200);
        validatedConfig.setMinimumValue(stringArray[70], (Number)0);
        validatedConfig.setMaximumValue(stringArray[49], (Number)Long.MAX_VALUE);
        validatedConfig.setMinimumValue(stringArray[60], (Number)1);
        validatedConfig.setMaximumValue(stringArray[46], (Number)Integer.MAX_VALUE);
        validatedConfig.setMinimumValue(stringArray[2], (Number)0);
        validatedConfig.setMaximumValue(stringArray[15], (Number)Integer.MAX_VALUE);
        validatedConfig.setMinimumValue(stringArray[18], (Number)0);
        validatedConfig.setMaximumValue(stringArray[37], (Number)Long.MAX_VALUE);
        return validatedConfig;
    }

    /*
     * Unable to fully structure code
     */
    static {
        block12: {
            block11: {
                var5 = new String[72];
                var3_1 = 0;
                var2_2 = "g[\tX$7lsH\u0005\\\f2B\u0003\u0019#1GwF\f\u0019w*xO\u000fZ\u0001'J`R X>3HwYCZ11Gw\u007f\fJ;\u0001[s_\bT5<[FB\u0000\\?'[$xO\u000fZ\u0001'J`R X>3HwYCT9<lsH\u0005\\\u0013=Aq^\u001fK5<Lk\bbY\u0002Z\u001e3Bw%xO\u000fZ\u0001'J`R X>3HwYCZ11Gwh\u0001\\1<zbb\u0003M5 YsG\u0002N\u0005&QJ\u000eQ5rJj[\u0004K56\u000f?\u000b\u0019V?r@~OM\u0014p4@`\u000b\u0006\\)h\u000fi\u001b\u0010\u000eqD\u0003W51[{D\u0003w1?J\"G[\tX$7K2F\bM1rKs_\f\u00196=]2H\u0002W>7LfB\u0002Wpu$Xo/zp1NqC\b\u00193>JsEML r[sX\u0006\u00199!\u000fa_\u0002I ;AuDbJ\u000eR15J2E\fT5r\\zD\u0018U4rMw\u000b\u001eI51FtB\b]p!JbJ\u001fX$7Ck\u000b\u0018J9<H2\fCN9&GQJ\u0019X<=H\\J\u0000\\x%xO\u000fZ\u0001'J`R X>3HwYCZ11Gwf\bM1\u0016NfJC\\>3M~N\u0013uN\u0019p>\u0002N`J\u0000\\$7]ae\fT5\u001fQD\u0018U4rA}_M^5&\u000fXo/zp\u0011@|E\bZ$;@|\u0011M*xO\u000fZ\u0001'J`R X>3HwYCZ11Gw\u007f\fJ;\u0001[s_\bT5<[FB\u0000\\?'[\u0013p^\u0004U4\u0001F\u007f[\u0001\\\u001a6Mqh\fU<)xO\u000fZ\u0001'J`R X>3HwYCZ11Gwf\bM1\u0016NfJ9X#9\u0001wE\f[<7\"xO\u000fZ\u0001'J`R X>3HwYCZ11Gwx\u0019X<7{{F\bV%&;Xo/zp1NqC\b\u00193>JsEML r[sX\u0006\u0019#&N`_\u0004W7rX{_\u0005\u0019\"7I`N\u001eQp;AfN\u001fO1>\u000f}MM\u001f`N\nP#&J`z\u0018\\\"+i}Y=V#!FpG\bz11G{E\n%xO\u000fZ\u0001'J`R X>3HwYCZ11Gwy\b_\"7\\zb\u0003M5 YsG\u0017QJ\u000eQ5rB{X\u001e\u00196=]2@\b@jrT\"V\n{X\"K11Cwo/\u001c5\u000b\u000bV\"r_`D\u000e\\4']w\u000bB\u00196'Aq_\u0004V>r\bKTJ\u0004U56\u000ffDMI5 I}Y\u0000\u0019!'J`R\u0004W7r\\{E\u000e\\p&Gw\u000b'}\u0012\u0011\u000fqD\u0003W51[{D\u0003\u0019>3Bw\u000b\u0004Jp<@f\u000b\u001eI51FtB\b]~\u00025\u000bBXo/zp?JfJM]1&N2O\u0002N>>@sOMM1!D2B\u001e\u0019#&N`_\u0004W7rX{_\u0005\u0019\"7I`N\u001eQp;AfN\u001fO1>\u000f}MM\u0004t^\u0003Z\u000eaB\u0000I<7evI\u000ez1>C!TJ\u0004U56\u000ffDMI5 I}Y\u0000\u0019!'J`R\u0004W7r\\{E\u000e\\p\u000fuN\u0019p>\u0002N`J\u0000\\$7]a2GE\f[<7\u000ffDM]5&J`F\u0004W5r[zNMZ? ]wH\u0019\u001933C~\u000b\u001eP7<Nf^\u001f\\p4@`(Xo/zp\u0003ZwY\u0014\u0019\u001d3AsL\bKp?JfJM]1&N2H\fZ87\u000ffB\u0000\\\"\u001c5\u000b\u000bV\"r_`D\u000e\\4']w\u000bB\u00196'Aq_\u0004V>r\b\u0005c^\bK)%xO\u000fZ\u0001'J`R X>3HwYCZ11Gwh\u0001\\1<zbb\u0003M5 YsG\"xO\u000fZ\u0001'J`R X>3HwYCZ11Gwx\u0019X<7{{F\bV%&\u0011p^\u0004U4\u0018KpH9\\=\"Cs_\b4G[\tX$7K2F\bM1rKs_\f\u0019';[z\u000b\u000bX9>Jv\u000b\bW$ V2M\u0002Kp1@|E\bZ$;@|\u000bJ\fxO\u000fZ\u00047BbG\fM5#QJ\u0003W?&\u000f`N\u0019K97Yw\u000b\f\u0019\u0013a\u007f\"\u000b)X$3|}^\u001fZ5h\u000f+Xo/zp\u0003ZwY\u0014\u0019\u001d3AsL\bKp?JfJM]1&N2H\u0001\\1<\u000fg[MM9?J`\u0010bN\u001f_? BXO\u000fZ\u0001'J`R.qD\u0000\u0016<e[wH\u0005\u0016#7]dN\u001f\u0016:6Mq\u0004']21~gN\u001f@9<H_J\u0003X77][F\u001dU\u00025\u000b+xO\u000fZ\u0001'J`R X>3HwYCT1*hs_\bN1+|fJ\u0019\\=7Af\u007f\u0004T5=Zf$xO\u000fZ\u0001'J`R X>3HwYCT9<lsH\u0005\\\u0013=Aq^\u001fK5<Lk!TJ\u0004U56\u000ffDMI5 I}Y\u0000\u0019!'J`R\u0004W7r\\{E\u000e\\p*xO\u000fZ\u0001'J`R X>3HwYCZ11Gw`\b@\u001e=zaJ\n\\\u0015*_{Y\fM9=A\u0006aN\u0001\\3&(Xo/zp?JfJM]1&N2O\u0002N>>@sOMM1!D2B\u001e\u0019#&@b[\u0004W7&Xo/zp\u0011@|E\bZ$;@|\u000b#X=7\u000f{XMW?&\u000fa[\bZ94FwOC\r2F\u0004U<;\\wH\u0002W4!\nvJ\u0019X\u0003=Z`H\b)xO\u000fZ\u0001'J`R X>3HwYCZ11Gwf\bM1\u0016NfJ9X#9\u0001wE\f[<7\u0011xO\u000fZj=]sH\u0001\\j&G{EWnFC\b\u001943[sI\fJ5r@pA\bZ$rJ{_\u0005\\\"rK}N\u001e\u0019>=[2N\u0015P#&\u000f}YMM87\u000fAz!\u0019!'J`RMZ?<[sB\u0003Jp&Gw\u000b\u0002[:7Lf\f\u001e\u0019#1GwF\f\u00195|H<\u000b\u0000@#1GwF\f\u0017=+@pA\bZ$>SY\nL=7Af\u000b\u000bV\"ro\\D\u0019w%>C2[\fK1?JfN\u001f\u0019ww\\5\u000b\u0002_pw\\<\u000e\u001e\u0019='\\f\u000b\u0003V$rMw\u000b\u0003L<>\r2F\u0004U<;\\wH\u0002W4!+xO\u000fZ\u0001'J`R X>3HwYCT1*hs_\bN1+|fJ\u0019\\=7Af\u007f\u0004T5=Zf\u0019Xo/zp1NqC\b\u00193>JsEML r[sX\u0006\u0019\naH\u0005\\=3asF\b\u0016QJ\u000eQ5rG{_M_? \u000fyN\u0014\u0003p)\u001fo#Xo/zp\u001fJfJ\tX$3\u000f@N\u0019K97YsGMm8 JsOMi?=C\u0012bY\bI1 Jvx\u0019T$\u0002N`J\u0000J%xO\u000fZ\u0001'J`R X>3HwYCZ11Gwy\b_\"7\\zb\u0003M5 YsG\u0011PJ\t\u0019\u0003\u0003c2l\u001fX=?N`\u0011M\u000buN\u0019z11Gw`\b@\f2B\u0003\u0019#1GwF\f\u0019w";
                var4_3 = "g[\tX$7lsH\u0005\\\f2B\u0003\u0019#1GwF\f\u0019w*xO\u000fZ\u0001'J`R X>3HwYCZ11Gw\u007f\fJ;\u0001[s_\bT5<[FB\u0000\\?'[$xO\u000fZ\u0001'J`R X>3HwYCT9<lsH\u0005\\\u0013=Aq^\u001fK5<Lk\bbY\u0002Z\u001e3Bw%xO\u000fZ\u0001'J`R X>3HwYCZ11Gwh\u0001\\1<zbb\u0003M5 YsG\u0002N\u0005&QJ\u000eQ5rJj[\u0004K56\u000f?\u000b\u0019V?r@~OM\u0014p4@`\u000b\u0006\\)h\u000fi\u001b\u0010\u000eqD\u0003W51[{D\u0003w1?J\"G[\tX$7K2F\bM1rKs_\f\u00196=]2H\u0002W>7LfB\u0002Wpu$Xo/zp1NqC\b\u00193>JsEML r[sX\u0006\u00199!\u000fa_\u0002I ;AuDbJ\u000eR15J2E\fT5r\\zD\u0018U4rMw\u000b\u001eI51FtB\b]p!JbJ\u001fX$7Ck\u000b\u0018J9<H2\fCN9&GQJ\u0019X<=H\\J\u0000\\x%xO\u000fZ\u0001'J`R X>3HwYCZ11Gwf\bM1\u0016NfJC\\>3M~N\u0013uN\u0019p>\u0002N`J\u0000\\$7]ae\fT5\u001fQD\u0018U4rA}_M^5&\u000fXo/zp\u0011@|E\bZ$;@|\u0011M*xO\u000fZ\u0001'J`R X>3HwYCZ11Gw\u007f\fJ;\u0001[s_\bT5<[FB\u0000\\?'[\u0013p^\u0004U4\u0001F\u007f[\u0001\\\u001a6Mqh\fU<)xO\u000fZ\u0001'J`R X>3HwYCZ11Gwf\bM1\u0016NfJ9X#9\u0001wE\f[<7\"xO\u000fZ\u0001'J`R X>3HwYCZ11Gwx\u0019X<7{{F\bV%&;Xo/zp1NqC\b\u00193>JsEML r[sX\u0006\u0019#&N`_\u0004W7rX{_\u0005\u0019\"7I`N\u001eQp;AfN\u001fO1>\u000f}MM\u001f`N\nP#&J`z\u0018\\\"+i}Y=V#!FpG\bz11G{E\n%xO\u000fZ\u0001'J`R X>3HwYCZ11Gwy\b_\"7\\zb\u0003M5 YsG\u0017QJ\u000eQ5rB{X\u001e\u00196=]2@\b@jrT\"V\n{X\"K11Cwo/\u001c5\u000b\u000bV\"r_`D\u000e\\4']w\u000bB\u00196'Aq_\u0004V>r\bKTJ\u0004U56\u000ffDMI5 I}Y\u0000\u0019!'J`R\u0004W7r\\{E\u000e\\p&Gw\u000b'}\u0012\u0011\u000fqD\u0003W51[{D\u0003\u0019>3Bw\u000b\u0004Jp<@f\u000b\u001eI51FtB\b]~\u00025\u000bBXo/zp?JfJM]1&N2O\u0002N>>@sOMM1!D2B\u001e\u0019#&N`_\u0004W7rX{_\u0005\u0019\"7I`N\u001eQp;AfN\u001fO1>\u000f}MM\u0004t^\u0003Z\u000eaB\u0000I<7evI\u000ez1>C!TJ\u0004U56\u000ffDMI5 I}Y\u0000\u0019!'J`R\u0004W7r\\{E\u000e\\p\u000fuN\u0019p>\u0002N`J\u0000\\$7]a2GE\f[<7\u000ffDM]5&J`F\u0004W5r[zNMZ? ]wH\u0019\u001933C~\u000b\u001eP7<Nf^\u001f\\p4@`(Xo/zp\u0003ZwY\u0014\u0019\u001d3AsL\bKp?JfJM]1&N2H\fZ87\u000ffB\u0000\\\"\u001c5\u000b\u000bV\"r_`D\u000e\\4']w\u000bB\u00196'Aq_\u0004V>r\b\u0005c^\bK)%xO\u000fZ\u0001'J`R X>3HwYCZ11Gwh\u0001\\1<zbb\u0003M5 YsG\"xO\u000fZ\u0001'J`R X>3HwYCZ11Gwx\u0019X<7{{F\bV%&\u0011p^\u0004U4\u0018KpH9\\=\"Cs_\b4G[\tX$7K2F\bM1rKs_\f\u0019';[z\u000b\u000bX9>Jv\u000b\bW$ V2M\u0002Kp1@|E\bZ$;@|\u000bJ\fxO\u000fZ\u00047BbG\fM5#QJ\u0003W?&\u000f`N\u0019K97Yw\u000b\f\u0019\u0013a\u007f\"\u000b)X$3|}^\u001fZ5h\u000f+Xo/zp\u0003ZwY\u0014\u0019\u001d3AsL\bKp?JfJM]1&N2H\u0001\\1<\u000fg[MM9?J`\u0010bN\u001f_? BXO\u000fZ\u0001'J`R.qD\u0000\u0016<e[wH\u0005\u0016#7]dN\u001f\u0016:6Mq\u0004']21~gN\u001f@9<H_J\u0003X77][F\u001dU\u00025\u000b+xO\u000fZ\u0001'J`R X>3HwYCT1*hs_\bN1+|fJ\u0019\\=7Af\u007f\u0004T5=Zf$xO\u000fZ\u0001'J`R X>3HwYCT9<lsH\u0005\\\u0013=Aq^\u001fK5<Lk!TJ\u0004U56\u000ffDMI5 I}Y\u0000\u0019!'J`R\u0004W7r\\{E\u000e\\p*xO\u000fZ\u0001'J`R X>3HwYCZ11Gw`\b@\u001e=zaJ\n\\\u0015*_{Y\fM9=A\u0006aN\u0001\\3&(Xo/zp?JfJM]1&N2O\u0002N>>@sOMM1!D2B\u001e\u0019#&@b[\u0004W7&Xo/zp\u0011@|E\bZ$;@|\u000b#X=7\u000f{XMW?&\u000fa[\bZ94FwOC\r2F\u0004U<;\\wH\u0002W4!\nvJ\u0019X\u0003=Z`H\b)xO\u000fZ\u0001'J`R X>3HwYCZ11Gwf\bM1\u0016NfJ9X#9\u0001wE\f[<7\u0011xO\u000fZj=]sH\u0001\\j&G{EWnFC\b\u001943[sI\fJ5r@pA\bZ$rJ{_\u0005\\\"rK}N\u001e\u0019>=[2N\u0015P#&\u000f}YMM87\u000fAz!\u0019!'J`RMZ?<[sB\u0003Jp&Gw\u000b\u0002[:7Lf\f\u001e\u0019#1GwF\f\u00195|H<\u000b\u0000@#1GwF\f\u0017=+@pA\bZ$>SY\nL=7Af\u000b\u000bV\"ro\\D\u0019w%>C2[\fK1?JfN\u001f\u0019ww\\5\u000b\u0002_pw\\<\u000e\u001e\u0019='\\f\u000b\u0003V$rMw\u000b\u0003L<>\r2F\u0004U<;\\wH\u0002W4!+xO\u000fZ\u0001'J`R X>3HwYCT1*hs_\bN1+|fJ\u0019\\=7Af\u007f\u0004T5=Zf\u0019Xo/zp1NqC\b\u00193>JsEML r[sX\u0006\u0019\naH\u0005\\=3asF\b\u0016QJ\u000eQ5rG{_M_? \u000fyN\u0014\u0003p)\u001fo#Xo/zp\u001fJfJ\tX$3\u000f@N\u0019K97YsGMm8 JsOMi?=C\u0012bY\bI1 Jvx\u0019T$\u0002N`J\u0000J%xO\u000fZ\u0001'J`R X>3HwYCZ11Gwy\b_\"7\\zb\u0003M5 YsG\u0011PJ\t\u0019\u0003\u0003c2l\u001fX=?N`\u0011M\u000buN\u0019z11Gw`\b@\f2B\u0003\u0019#1GwF\f\u0019w".length();
                var1_4 = 11;
                var0_5 = -1;
lbl7:
                // 2 sources

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

                while (true) {
                    var5[var3_1++] = JdbcQueryingManagerImpl.a(v0, JdbcQueryingManagerImpl.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "\f;{.uS>\u0014&T,JG<\u0003-7.EE3\u0003\u0014|4jI\u000e\u0015>~(a^+\u000f-x9MI5\u001d,\u001b[\u000e\u0004K>\u0012>9)ER:F;v:JJ4\u0007;99EU0F";
                    var4_3 = "\f;{.uS>\u0014&T,JG<\u0003-7.EE3\u0003\u0014|4jI\u000e\u0015>~(a^+\u000f-x9MI5\u001d,\u001b[\u000e\u0004K>\u0012>9)ER:F;v:JJ4\u0007;99EU0F".length();
                    var1_4 = 42;
                    var0_5 = -1;
lbl22:
                    // 2 sources

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

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

                ** continue;
            }
        }
        JdbcQueryingManagerImpl.n = var5;
        JdbcQueryingManagerImpl.DOWNLOAD_TASK_LABEL = JdbcQueryingManagerImpl.n[71];
        JdbcQueryingManagerImpl.CLEAN_UP_TASK_LABEL = JdbcQueryingManagerImpl.n[61];
        try {
            v5 = JdbcQueryingManagerImpl.class.desiredAssertionStatus() == false;
        }
        catch (DataAccessException v6) {
            throw JdbcQueryingManagerImpl.a((Exception)v6);
        }
        JdbcQueryingManagerImpl.m = v5;
        JdbcQueryingManagerImpl.a = Logger.getLogger(JdbcQueryingManagerImpl.class.getName());
    }

    /*
     * Exception decompiling
     */
    private static /* synthetic */ void b(int var0) {
        /*
         * This method has failed to decompile.  When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
         * 
         * org.benf.cfr.reader.util.ConfusedCFRException: Tried to end blocks [0[TRYBLOCK]], but top level block is 2[SWITCH]
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.processEndingBlocks(Op04StructuredStatement.java:435)
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:484)
         *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:736)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:850)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:278)
         *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:201)
         *     at org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:94)
         *     at org.benf.cfr.reader.entities.Method.analyse(Method.java:531)
         *     at org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:1050)
         *     at org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:942)
         *     at org.benf.cfr.reader.Driver.doJarVersionTypes(Driver.java:257)
         *     at org.benf.cfr.reader.Driver.doJar(Driver.java:139)
         *     at org.benf.cfr.reader.CfrDriverImpl.analyse(CfrDriverImpl.java:76)
         *     at org.benf.cfr.reader.Main.main(Main.java:54)
         */
        throw new IllegalStateException("Decompilation failed");
    }

    private static Exception a(Exception exception) {
        return exception;
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x61);
        }
        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 -> 92;
                    case 1 -> 101;
                    case 2 -> 35;
                    case 3 -> 119;
                    case 4 -> 30;
                    case 5 -> 28;
                    default -> 97;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

