/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.identity.BadCredentialsException
 *  com.l7tech.identity.UserManager
 *  com.l7tech.identity.ldap.BindOnlyLdapUser
 *  com.l7tech.policy.assertion.credential.LoginCredentials
 */
package com.l7tech.server.identity.ldap;

import com.l7tech.identity.BadCredentialsException;
import com.l7tech.identity.UserManager;
import com.l7tech.identity.ldap.BindOnlyLdapUser;
import com.l7tech.policy.assertion.credential.LoginCredentials;
import com.l7tech.server.identity.AuthenticationResult;
import com.l7tech.server.identity.ldap.BindOnlyLdapIdentityProvider;
import com.l7tech.server.identity.ldap.LdapRuntimeConfig;

public interface BindOnlyLdapUserManager
extends UserManager<BindOnlyLdapUser> {
    public boolean authenticateBasic(String var1, String var2) throws BadCredentialsException;

    public AuthenticationResult authenticatePasswordCredentials(LoginCredentials var1) throws BadCredentialsException, BadUsernamePatternException;

    public String makeDn(String var1) throws BadUsernamePatternException;

    public void configure(BindOnlyLdapIdentityProvider var1);

    public void setLdapRuntimeConfig(LdapRuntimeConfig var1);

    public static class BadUsernamePatternException
    extends Exception {
        static final long serialVersionUID = -3560756124405565458L;
        private static final String a = BadUsernamePatternException.a(126, BadUsernamePatternException.a("e jGp\u001cRUslZp\t^Y=|\u0015}\u0015^B2lA{\u000fL\u00107fF\u007f\u0011S_$jQ>\u001fF\u00100zGl\u0018QDs\\\\s\rSUsCq_-\u001fE jGp\u001cRUs\u007fTj\tZB="));

        public BadUsernamePatternException() {
            super(a);
        }

        private static char[] a(String string) {
            char[] cArray = string.toCharArray();
            if (cArray.length < 2) {
                cArray = cArray;
                cArray[0] = (char)(cArray[0] ^ 0x41);
            }
            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 -> 78;
                        case 1 -> 45;
                        case 2 -> 113;
                        case 3 -> 75;
                        case 4 -> 96;
                        case 5 -> 3;
                        default -> 65;
                    })));
                    ++n3;
                    n4 = n4;
                } while (n4 > n3);
            }
            return new String(cArray2).intern();
        }
    }
}

