/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.util.ClassFilterException
 *  com.l7tech.util.ExceptionUtils
 *  com.mchange.lang.PotentiallySecondaryException
 *  com.mchange.util.AssertException
 *  com.mchange.v2.resourcepool.ResourcePoolException
 *  com.mchange.v2.ser.UnsupportedVersionException
 *  com.mchange.v2.util.ResourceClosedException
 *  org.hibernate.exception.JDBCConnectionException
 *  org.springframework.jdbc.BadSqlGrammarException
 *  org.springframework.jdbc.CannotGetJdbcConnectionException
 *  org.springframework.jdbc.InvalidResultSetAccessException
 *  org.springframework.jdbc.JdbcUpdateAffectedIncorrectNumberOfRowsException
 *  org.springframework.jdbc.LobRetrievalFailureException
 *  org.springframework.jdbc.SQLWarningException
 *  org.springframework.jdbc.UncategorizedSQLException
 *  org.springframework.orm.ObjectOptimisticLockingFailureException
 *  org.springframework.orm.hibernate5.HibernateSystemException
 *  org.springframework.transaction.TransactionException
 */
package com.l7tech.server.util;

import com.l7tech.server.identity.ldap.BindOnlyLdapUserManager;
import com.l7tech.server.policy.ServerPolicyException;
import com.l7tech.server.util.ThrowsAdviceSupport;
import com.l7tech.util.ClassFilterException;
import com.l7tech.util.ExceptionUtils;
import com.mchange.lang.PotentiallySecondaryException;
import com.mchange.util.AssertException;
import com.mchange.v2.resourcepool.ResourcePoolException;
import com.mchange.v2.ser.UnsupportedVersionException;
import com.mchange.v2.util.ResourceClosedException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.NamingException;
import org.hibernate.exception.JDBCConnectionException;
import org.springframework.jdbc.BadSqlGrammarException;
import org.springframework.jdbc.CannotGetJdbcConnectionException;
import org.springframework.jdbc.InvalidResultSetAccessException;
import org.springframework.jdbc.JdbcUpdateAffectedIncorrectNumberOfRowsException;
import org.springframework.jdbc.LobRetrievalFailureException;
import org.springframework.jdbc.SQLWarningException;
import org.springframework.jdbc.UncategorizedSQLException;
import org.springframework.orm.ObjectOptimisticLockingFailureException;
import org.springframework.orm.hibernate5.HibernateSystemException;
import org.springframework.transaction.TransactionException;

public class UnsupportedExceptionsThrowsAdvice
extends ThrowsAdviceSupport {
    private static final Logger d;
    private static final String[] e;
    private static final Class[] f;
    private static Class[] g;
    private static final String[] h;

    public void afterThrowing(Throwable throwable) throws Throwable {
        Throwable throwable2 = this.a(throwable);
        try {
            if (throwable2 != null) {
                throw throwable2;
            }
        }
        catch (Throwable throwable3) {
            throw UnsupportedExceptionsThrowsAdvice.b(throwable3);
        }
    }

    private Throwable a(Throwable throwable) {
        block4: {
            Throwable throwable2;
            block5: {
                throwable2 = ExceptionUtils.filter((Throwable)throwable, (Class[])UnsupportedExceptionsThrowsAdvice.a(), (boolean)this.isSendStackToClient());
                try {
                    try {
                        if (throwable == throwable2) break block4;
                        if (!d.isLoggable(Level.WARNING)) break block5;
                    }
                    catch (ClassFilterException classFilterException) {
                        throw UnsupportedExceptionsThrowsAdvice.b(classFilterException);
                    }
                    d.log(Level.WARNING, h[18], throwable);
                }
                catch (ClassFilterException classFilterException) {
                    throw UnsupportedExceptionsThrowsAdvice.b(classFilterException);
                }
            }
            return throwable2;
        }
        return null;
    }

    private static Class[] a() {
        Class[] classArray = g;
        if (classArray == null) {
            ArrayList arrayList = new ArrayList();
            arrayList.addAll(Arrays.asList(f));
            for (String string : e) {
                try {
                    arrayList.add(Class.forName(string));
                }
                catch (ClassNotFoundException classNotFoundException) {
                    String[] stringArray = h;
                    d.fine(stringArray[34] + string + stringArray[31]);
                }
            }
            classArray = arrayList.toArray(new Class[arrayList.size()]);
            g = classArray;
        }
        return classArray;
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[37];
                var3_1 = 0;
                var2_2 = "f\u0005v\u001cC10t\u00065XJ* +:zQE-7Q\u0005tpG/\u0006}\t~BZ!,kJf\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&R\\Z-$w\u0003oKm'-v\u001eiSG&7S\u0003t^O<*j\u0004^JM-3q\u0003t\\<f\u0005v\u001cC10t\u00065XJ* +8tEj)7d.b\\O%*fNTBK:\"q\u0003t\\`'7V\u001fkBA:7`\u000e^JM-3q\u0003t\\7f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cm'.h\u001fu[M)7l\u0005uAk0 `\u001ao[A&&f\u0005v\u001cC10t\u00065XJ* +)t_C=-l\tzFG'-v/cQK87l\u0005u:f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&U]@\u001c1d\u0004h[K&7@\u0012xW^<*j\u0004-f\u0005v\u001cC10t\u00065XJ* +%kW\\)7l\u0005u|A<\u0010p\u001ak]\\<&a/cQK87l\u0005u3f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\b`\u0013W[C!7@\u0012xW^<*j\u0004)f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of\u000fp\u0004zq\\13q\u0005p[k0 `\u001ao[A&Ff\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&R\\X)/l\u000eZGZ ,w\u0003aSZ!,k9kWM\r;f\u000fkFG'-.f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of\u000fp\u0004zbO:7l\u001er]@\u000e6i\u0006^JM-3q\u0003t\\3f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\u0000w\u0013kFA#*@\u0012xW^<*j\u00047f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&O@O&0l\u000fuFk0 `\u001ao[A&)f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of\u000fp\u0004zyK1\u000fl\u0007rFk0 `\u001ao[A&'f\u0005v\u001cC10t\u00065XJ* ++hAK:7l\u0005utO!/`\u000e^JM-3q\u0003t\\!f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of\u000fp\u0004zwV+&u\u001er]@Af\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&O@O&0l\u000fuFm'-k\u000fxFG'-@\u0012xW^<*j\u0004\"f\u0005v\u001cC10t\u00065XJ* +'bA_$\u0007d\u001ezf\\=-f\u000bo[A&GD\u0004;WV+&u\u001er]@h'p\u0018r\\Ih\"%\u0018~_A<&%\u0003uDA+\"q\u0003t\\\u000e!0%\u0004tF\u000e;6u\u001at@Z-'%\bb\u0012Z &%\tw[K&7+9f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&HK@<\"}/i@A:\u0006}\t~BZ!,k\u001ev\u001fu\u001c]- p\u0018rFWf(w\b.\u001ce:!@\u0012xW^<*j\u0004;f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\u000e`\tsS@!0h#uDO$*a/cQK87l\u0005u+f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\u0006}\t~BZ!,k,j\u0018|\u001cO8\"f\u0002~\u001cJ-1g\u00135[C8/+\u0000\u007fPMf\u0006h\b~V}\u0019\u000f@\u0012xW^<*j\u00047f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\rj\u001eHG^8,w\u001e~Vk0 `\u001ao[A&1f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\u0005:V;Wf\\)-v\u0003~\\Z\r;f\u000fkFG'-8f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\u0013d\u0018o[Z!,k,n^B\r;f\u000fkFG'-'f\u0005v\u001c@+*u\u0002~@\u000081j\u001crVK:mk)IG@<*h\u000f^JM-3q\u0003t\\\u001df\u0005v\u001c@+*u\u0002~@\u0000&%d\u0019o\u001c`\u000e\u0006}\t~BZ!,k4f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\u0005:V;W|A&\u0017w\u000buAG--q/cQK87l\u0005u5f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&O[C-,p\u001e^JM-3q\u0003t\\\f\"F;[I&,w\u0003uU\u00009f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\fg\u0000~QZ\u0006,q,tG@,\u0006}\t~BZ!,kDf\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&U]@\u001c1d\u0004h[K&7F\u0005u\\K+7l\u0005uwV+&u\u001er]@\u001fP\u0004zPB-cq\u0005;^A)'%\u0005kFG'-d\u0006;QB)0vJ<";
                var4_3 = "f\u0005v\u001cC10t\u00065XJ* +:zQE-7Q\u0005tpG/\u0006}\t~BZ!,kJf\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&R\\Z-$w\u0003oKm'-v\u001eiSG&7S\u0003t^O<*j\u0004^JM-3q\u0003t\\<f\u0005v\u001cC10t\u00065XJ* +8tEj)7d.b\\O%*fNTBK:\"q\u0003t\\`'7V\u001fkBA:7`\u000e^JM-3q\u0003t\\7f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cm'.h\u001fu[M)7l\u0005uAk0 `\u001ao[A&&f\u0005v\u001cC10t\u00065XJ* +)t_C=-l\tzFG'-v/cQK87l\u0005u:f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&U]@\u001c1d\u0004h[K&7@\u0012xW^<*j\u0004-f\u0005v\u001cC10t\u00065XJ* +%kW\\)7l\u0005u|A<\u0010p\u001ak]\\<&a/cQK87l\u0005u3f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\b`\u0013W[C!7@\u0012xW^<*j\u0004)f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of\u000fp\u0004zq\\13q\u0005p[k0 `\u001ao[A&Ff\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&R\\X)/l\u000eZGZ ,w\u0003aSZ!,k9kWM\r;f\u000fkFG'-.f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of\u000fp\u0004zbO:7l\u001er]@\u000e6i\u0006^JM-3q\u0003t\\3f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\u0000w\u0013kFA#*@\u0012xW^<*j\u00047f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&O@O&0l\u000fuFk0 `\u001ao[A&)f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of\u000fp\u0004zyK1\u000fl\u0007rFk0 `\u001ao[A&'f\u0005v\u001cC10t\u00065XJ* ++hAK:7l\u0005utO!/`\u000e^JM-3q\u0003t\\!f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of\u000fp\u0004zwV+&u\u001er]@Af\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&O@O&0l\u000fuFm'-k\u000fxFG'-@\u0012xW^<*j\u0004\"f\u0005v\u001cC10t\u00065XJ* +'bA_$\u0007d\u001ezf\\=-f\u000bo[A&GD\u0004;WV+&u\u001er]@h'p\u0018r\\Ih\"%\u0018~_A<&%\u0003uDA+\"q\u0003t\\\u000e!0%\u0004tF\u000e;6u\u001at@Z-'%\bb\u0012Z &%\tw[K&7+9f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&HK@<\"}/i@A:\u0006}\t~BZ!,k\u001ev\u001fu\u001c]- p\u0018rFWf(w\b.\u001ce:!@\u0012xW^<*j\u0004;f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\u000e`\tsS@!0h#uDO$*a/cQK87l\u0005u+f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\u0006}\t~BZ!,k,j\u0018|\u001cO8\"f\u0002~\u001cJ-1g\u00135[C8/+\u0000\u007fPMf\u0006h\b~V}\u0019\u000f@\u0012xW^<*j\u00047f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\rj\u001eHG^8,w\u001e~Vk0 `\u001ao[A&1f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\u0005:V;Wf\\)-v\u0003~\\Z\r;f\u000fkFG'-8f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\u0013d\u0018o[Z!,k,n^B\r;f\u000fkFG'-'f\u0005v\u001c@+*u\u0002~@\u000081j\u001crVK:mk)IG@<*h\u000f^JM-3q\u0003t\\\u001df\u0005v\u001c@+*u\u0002~@\u0000&%d\u0019o\u001c`\u000e\u0006}\t~BZ!,k4f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\u0005:V;W|A&\u0017w\u000buAG--q/cQK87l\u0005u5f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&O[C-,p\u001e^JM-3q\u0003t\\\f\"F;[I&,w\u0003uU\u00009f\u0005v\u001c])%`\u0004~FG& +\u0006n\\Of&}\t~BZ!,kDWG@)\fg\u0000~QZ\u0006,q,tG@,\u0006}\t~BZ!,kDf\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&U]@\u001c1d\u0004h[K&7F\u0005u\\K+7l\u0005uwV+&u\u001er]@\u001fP\u0004zPB-cq\u0005;^A)'%\u0005kFG'-d\u0006;QB)0vJ<".length();
                var1_4 = 36;
                var0_5 = -1;
lbl7:
                // 2 sources

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

                while (true) {
                    var5[var3_1++] = UnsupportedExceptionsThrowsAdvice.b(v0, UnsupportedExceptionsThrowsAdvice.b(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&_SZ)\u0006}\t~BZ!,kAf\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&O@O&0d\to[A&\u0011j\u0006wPO+(@\u0012xW^<*j\u0004";
                    var4_3 = "f\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&_SZ)\u0006}\t~BZ!,kAf\u0005v\u001cC10t\u00065XJ* +\u000fcQK87l\u0005uA\u0000\"'g\t/\u001cc1\u0010T&O@O&0d\to[A&\u0011j\u0006wPO+(@\u0012xW^<*j\u0004".length();
                    var1_4 = 50;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 36;
                        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++] = UnsupportedExceptionsThrowsAdvice.b(v0, UnsupportedExceptionsThrowsAdvice.b(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;
            }
        }
        UnsupportedExceptionsThrowsAdvice.h = var5;
        UnsupportedExceptionsThrowsAdvice.d = Logger.getLogger(UnsupportedExceptionsThrowsAdvice.class.getName());
        v5 = new String[34];
        var0_6 = UnsupportedExceptionsThrowsAdvice.h;
        v5[0] = var0_6[14];
        v5[1] = var0_6[4];
        v5[2] = var0_6[17];
        v5[3] = var0_6[6];
        v5[4] = var0_6[0];
        v5[5] = var0_6[2];
        v5[6] = var0_6[29];
        v5[7] = var0_6[25];
        v5[8] = var0_6[3];
        v5[9] = var0_6[35];
        v5[10] = var0_6[1];
        v5[11] = var0_6[9];
        v5[12] = var0_6[33];
        v5[13] = var0_6[5];
        v5[14] = var0_6[19];
        v5[15] = var0_6[30];
        v5[16] = var0_6[36];
        v5[17] = var0_6[16];
        v5[18] = var0_6[12];
        v5[19] = var0_6[23];
        v5[20] = var0_6[8];
        v5[21] = var0_6[15];
        v5[22] = var0_6[13];
        v5[23] = var0_6[10];
        v5[24] = var0_6[11];
        v5[25] = var0_6[22];
        v5[26] = var0_6[7];
        v5[27] = var0_6[21];
        v5[28] = var0_6[24];
        v5[29] = var0_6[32];
        v5[30] = var0_6[26];
        v5[31] = var0_6[27];
        v5[32] = var0_6[28];
        v5[33] = var0_6[20];
        UnsupportedExceptionsThrowsAdvice.e = v5;
        UnsupportedExceptionsThrowsAdvice.f = new Class[]{ServerPolicyException.class, BindOnlyLdapUserManager.BadUsernamePatternException.class, ClassFilterException.class, NamingException.class, BadSqlGrammarException.class, CannotGetJdbcConnectionException.class, InvalidResultSetAccessException.class, JdbcUpdateAffectedIncorrectNumberOfRowsException.class, LobRetrievalFailureException.class, SQLWarningException.class, UncategorizedSQLException.class, ObjectOptimisticLockingFailureException.class, TransactionException.class, JDBCConnectionException.class, HibernateSystemException.class, PotentiallySecondaryException.class, AssertException.class, UnsupportedVersionException.class, ResourceClosedException.class, ResourcePoolException.class};
    }

    private static Throwable b(Throwable throwable) {
        return throwable;
    }

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

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String b(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 -> 33;
                    case 1 -> 78;
                    case 2 -> 63;
                    case 3 -> 22;
                    case 4 -> 10;
                    case 5 -> 108;
                    default -> 103;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

