Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php namespace Drupal\miniorange_oauth_client\Controller; use Drupal\user\Entity\..

Decoded Output download

<?php 
 
 
namespace Drupal\miniorange_oauth_client\Controller; 
 
use Drupal\user\Entity\User; 
use Drupal\Component\Utility\Html; 
use Drupal\Core\Controller\ControllerBase; 
use Drupal\miniorange_oauth_client\Utilities; 
use Symfony\Component\HttpFoundation\Response; 
use Drupal\miniorange_oauth_client\DBQueries; 
use Drupal\Core\Url; 
use Drupal\miniorange_oauth_client\appValues; 
use Symfony\Component\HttpFoundation\RedirectResponse; 
use Drupal\miniorange_oauth_client\GrantTypes\HandleJWT; 
use Drupal\miniorange_oauth_client\MiniorangeOAuthClientCustomer; 
use Drupal\profile\Entity\Profile; 
use Drupal\Core\Ajax\AjaxResponse; 
use Drupal\Core\Ajax\OpenModalDialogCommand; 
use Drupal\miniorange_oauth_client\GrantTypes\ImplicitGrant; 
use Drupal\miniorange_oauth_client\MiniorangeOAuthRoleRestriction; 
use Drupal\miniorange_oauth_client\mOOAuthLogout; 
use Drupal\miniorange_oauth_client\mOUserRegistration; 
use Drupal\profile\Entity\ProfileType; 
use Drupal\Core\Entity\EntityStorageException; 
class miniorange_oauth_clientController extends ControllerBase 
{ 
    public static function miniorange_oauth_client_mo_login() 
    { 
        $BG = \Drupal::service("session"); 
        $mQ = \Drupal::moduleHandler(); 
        $IR = \Drupal::service("current_route_match")->getParameter("app_name"); 
        if (!(session_status() == PHP_SESSION_NONE)) { 
            goto vi; 
        } 
        session_start(); 
        vi: 
        if (!(!empty($IR) && (new appValues($IR))->grantTypevalue == "implicit")) { 
            goto j2; 
        } 
        if (!(isset($_SERVER["QUERY_STRING"]) && !empty($_SERVER["QUERY_STRING"]))) { 
            goto Hi; 
        } 
        $Ww = $_GET; 
        Hi: 
        if (!(!isset($_COOKIE["login_query"]) && empty($_SERVER["QUERY_STRING"]))) { 
            goto KS; 
        } 
        echo "<script type="text/javascript">\xd\xa            var qfragment = window.location.hash;\xd\xa            const currentpath = window.location.protocol + window.location.pathname;
            qfragment = qfragment.split("#")[1];
            document.cookie = "login_query=" + qfragment;\xd\xa            window.location.href = currentpath + "?" + qfragment;\xd
        </script>"; 
        exit; 
        KS: 
        if (!(isset($_COOKIE["login_query"]) && !empty($_COOKIE["login_query"]))) { 
            goto rv; 
        } 
        $AH = $_COOKIE["login_query"]; 
        $IT = explode("&", $AH); 
        $Ww = []; 
        foreach ($IT as $wZ) { 
            $C3 = explode("=", $wZ); 
            if (!(sizeof($C3) > 1)) { 
                goto Ho; 
            } 
            $Ww[$C3[0]] = $C3[1]; 
            Ho: 
            Ln: 
        } 
        Z9: 
        rv: 
        $mQ->invokeAll("mo_pre_auth_response_process", [$Ww]); 
        ImplicitGrant::validate_token_and_state($Ww); 
        $xM = isset($Ww["state"]) ? $Ww["state"] : ''; 
        $KL = Utilities::decodeState($xM); 
        $GF = isset($KL["testsso"]) ? $KL["testsso"] === true ? true : false : false; 
        $tw = $BG->get("appname"); 
        $PN = new appValues($tw); 
        $Qq = $PN->get_appType(); 
        $U1 = $PN->loginflowtype; 
        if ($Qq == "Custom_Open_id" || $U1 == "OpenID") { 
            goto uK; 
        } 
        $d0 = isset($Ww["access_token"]) && !empty($Ww["access_token"]) ? $Ww["access_token"] : ''; 
        goto bL; 
        uK: 
        $d0 = isset($Ww["id_token"]) && !empty($Ww["id_token"]) ? $Ww["id_token"] : ''; 
        bL: 
        if (!(empty($d0) && isset($Ww["token"]) && !empty($Ww["token"]))) { 
            goto jY; 
        } 
        $d0 = $Ww["token"]; 
        jY: 
        Utilities::save_tokens_in_cookie_and_session($Ww, new appValues($tw), $GF); 
        $Zi = new ImplicitGrant($tw); 
        return $Zi->mo_oauth_client_mo_login($PN, $d0, $Ww); 
        j2: 
        $mQ->invokeAll("mo_pre_auth_response_process", [$_GET]); 
        $rI = isset($_GET["code"]) ? $_GET["code"] : ''; 
        $rI = Html::escape($rI); 
        $xM = isset($_GET["state"]) ? $_GET["state"] : ''; 
        $xM = Html::escape($xM); 
        $KL = Utilities::decodeState($xM); 
        $GF = isset($KL["testsso"]) ? $KL["testsso"] === true ? true : false : false; 
        $IR = self::validate_code_and_state($rI, $xM, $GF); 
        $BG->remove("oauth2state"); 
        $PN = new appValues($IR); 
        $Qq = $PN->get_appType(); 
        $U1 = $PN->loginflowtype; 
        [$CK, $uE] = $Qq == "Custom_Open_id" || $U1 == "OpenID" ? self::implement_openid_flow($PN, $rI, '', $GF) : self::implement_oauth_flow($PN, $rI, '', $GF); 
        $N8 = self::flattenArray($uE); 
        if (!($GF || isset($_COOKIE["mo_testConfig"]))) { 
            goto IR; 
        } 
        self::Test_Configuration($N8, $PN->appName); 
        IR: 
        return self::performSSOinDrupal($uE, $N8, $PN, $CK, $xM); 
    } 
    public static function flattenArray($mu, $av = '') 
    { 
        $s0 = array(); 
        foreach ($mu as $C3 => $wZ) { 
            $ZI = $av . $C3; 
            if (is_array($wZ)) { 
                goto qa; 
            } 
            $s0[$ZI] = $wZ; 
            goto ww; 
            qa: 
            $s0 = array_merge($s0, self::flattenArray($wZ, $ZI . ">")); 
            ww: 
            v5: 
        } 
        bc: 
        return $s0; 
    } 
    public static function mo_oauth_attr_map($dm, $Zw, $KP = "attr") 
    { 
        $uk = array(); 
        foreach ($dm as $C3 => $wZ) { 
            if (!(!empty($wZ) && !empty($Zw[$C3]))) { 
                goto K9; 
            } 
            if (array_key_exists($wZ, $uk) && $KP == "role") { 
                goto FW; 
            } 
            $uk[trim($wZ, " ")] = $Zw[$C3]; 
            goto SO; 
            FW: 
            if ($uk[$wZ][-1] != ";") { 
                goto W2; 
            } 
            $uk[trim($wZ, " ")] = $uk[$wZ] . $Zw[$C3]; 
            goto F5; 
            W2: 
            $uk[trim($wZ, " ")] = $uk[$wZ] . ";" . $Zw[$C3]; 
            F5: 
            SO: 
            K9: 
            St: 
        } 
        Jy: 
        return $uk; 
    } 
    public static function to_explode_semicolon($wh) 
    { 
        $YQ = array(); 
        foreach ($wh as $C3 => $vi) { 
            $vi = explode(";", $vi); 
            $YQ[$C3] = $vi; 
            za: 
        } 
        Z7: 
        return $YQ; 
    } 
    public static function create_profile($Pv, $nV, $PN) 
    { 
        if (\Drupal::service("module_handler")->moduleExists("profile")) { 
            goto fH; 
        } 
        return new Response(); 
        fH: 
        $XZ = $PN->enable_profile_mapping; 
        if ($XZ) { 
            goto T9; 
        } 
        return new Response(); 
        T9: 
        $mM = $PN->profile_entity_type; 
        $P3 = isset($nV->toArray()[$mM . "_profiles"][0]) ? $nV->toArray()[$mM . "_profiles"][0]["target_id"] : NULL; 
        $sa = ProfileType::load($mM); 
        $nt = $sa->toArray()["roles"]; 
        $yw = $nV->getRoles(); 
        if (!(!empty(array_intersect($nt, $yw)) || empty($nt))) { 
            goto N2; 
        } 
        if (!is_null($P3)) { 
            goto j9; 
        } 
        try { 
            $Y_ = Profile::create(["type" => $mM, "uid" => $nV->id(), "field_agree_terms" => 1]); 
            $Y_->save(); 
            $P3 = $Y_->toArray()["profile_id"][0]["value"]; 
        } catch (EntityStorageException $ia) { 
            \Drupal::logger("miniorange_oauth_client")->notice("EntityStorageException: Error while creating and saving the profile type."); 
        } 
        j9: 
        if (empty($Pv)) { 
            goto c7; 
        } 
        foreach ($Pv as $C3 => $wZ) { 
            $Y_ = Profile::load($P3); 
            $Y_->set($C3, $wZ); 
            da: 
        } 
        SM: 
        $Y_->save(); 
        c7: 
        N2: 
    } 
    public static function perform_role_mapping($PN, $Tc, $nV, $rq, $NC = '') 
    { 
        $F6 = $PN->get_roleAttribute(); 
        $dX = $PN->get_enableRolemapping(); 
        $TF = $PN->get_disableRoleUpdate(); 
        $w4 = $PN->get_roleMap(); 
        $w4 = !empty($w4) ? $w4 : array(); 
        $d7 = array(); 
        $tK = array(); 
        foreach ($w4 as $C3) { 
            if (!($C3["user_sp_role_name"] != '' && $C3["user_idp_role_name"] != '')) { 
                goto EQ; 
            } 
            array_push($d7, $C3["user_sp_role_name"]); 
            array_push($tK, $C3["user_idp_role_name"]); 
            EQ: 
            m2: 
        } 
        E3: 
        $HQ = self::mo_oauth_attr_map($d7, $tK, "role"); 
        $Ds = array(); 
        if (!is_array($rq) && !empty($rq)) { 
            goto NH; 
        } 
        $Ds = is_array($rq) ? $rq : []; 
        goto p0; 
        NH: 
        $rq = str_replace(["[", "]"], '', $rq); 
        $rq = explode(",", $rq); 
        foreach ($rq as $C3 => $wZ) { 
            $Ds[] = str_replace(""", '', trim($wZ)); 
            va: 
        } 
        pH: 
        p0: 
        if (!($dX && !is_null($F6) && !empty($F6))) { 
            goto SF; 
        } 
        $Cg = $nV->getRoles(); 
        if ($TF) { 
            goto Rt; 
        } 
        foreach ($Cg as $C3 => $wZ) { 
            if (in_array($wZ, array_keys($HQ))) { 
                goto Hg; 
            } 
            if (!($wZ != $PN->get_defaultRole())) { 
                goto ZJ; 
            } 
            $nV->removeRole($wZ); 
            $nV->save(); 
            ZJ: 
            Hg: 
            tw: 
        } 
        H8: 
        Rt: 
        foreach ($HQ as $C3 => $wZ) { 
            $eB = FALSE; 
            $K4 = explode(";", $wZ); 
            foreach ($K4 as $Kr => $sQ) { 
                if (strpos($sQ, "&") !== false) { 
                    goto pw; 
                } 
                if (!in_array($sQ, $Ds)) { 
                    goto tv; 
                } 
                $eB = TRUE; 
                goto Kh; 
                tv: 
                goto N1; 
                pw: 
                $l0 = true; 
                $Kf = explode("&", $sQ); 
                foreach ($Kf as $l2 => $DD) { 
                    if (in_array($DD, $Ds)) { 
                        goto p7; 
                    } 
                    $l0 = false; 
                    goto ZR; 
                    p7: 
                    Fq: 
                } 
                ZR: 
                $eB = $l0 ? TRUE : FALSE; 
                if (!$eB) { 
                    goto TS; 
                } 
                goto Kh; 
                TS: 
                N1: 
                fi: 
            } 
            Kh: 
            if ($eB && $C3 != "authenticated") { 
                goto Ud; 
            } 
            $nV->removeRole($C3); 
            $nV->save(); 
            goto kf; 
            Ud: 
            $nV->addRole($C3); 
            $nV->save(); 
            kf: 
            Er: 
        } 
        U6: 
        SF: 
    } 
    public static function getToken($FD, $ok, $DT, $sm, $rI, $eu, $QE, $FL, $IR, $GF = false, $YI = '') 
    { 
        $base_url = \Drupal::request()->getSchemeAndHttpHost() . \Drupal::request()->getBasePath(); 
        $BG = \Drupal::service("session"); 
        $PN = new appValues($IR); 
        $Wy = array(); 
        $KM = $PN->scope; 
        if ($ok == "authorization_code_with_pkce") { 
            goto LW; 
        } 
        if ($ok == "refresh_token") { 
            goto aR; 
        } 
        if ($QE && !$FL) { 
            goto T1; 
        } 
        if (!$QE && $FL) { 
            goto X5; 
        } 
        $Wy = Utilities::callService($FD, "redirect_uri=" . urlencode($eu) . "&grant_type=" . $ok . "&client_id=" . urlencode($DT) . "&client_secret=" . urlencode($sm) . "&code=" . $rI, array("Authorization" => "Basic " . base64_encode($DT . ":" . $sm), "Accept" => "application/json", "Content-Type" => "application/x-www-form-urlencoded"), '', $GF); 
        goto oq; 
        X5: 
        $Wy = Utilities::callService($FD, "redirect_uri=" . urlencode($eu) . "&grant_type=" . $ok . "&client_id=" . urlencode($DT) . "&client_secret=" . urlencode($sm) . "&code=" . $rI, array("Accept" => "application/json", "Content-Type" => "application/x-www-form-urlencoded"), '', $GF); 
        oq: 
        goto CQ; 
        T1: 
        $Wy = Utilities::callService($FD, "redirect_uri=" . urlencode($eu) . "&grant_type=" . $ok . "&code=" . $rI, array("Authorization" => "Basic " . base64_encode($DT . ":" . $sm), "Accept" => "application/json", "Content-Type" => "application/x-www-form-urlencoded"), '', $GF); 
        CQ: 
        goto s7; 
        LW: 
        $NZ = $BG->get("codeVerifier"); 
        $BG->remove("codeVerifier"); 
        $Wy = Utilities::callService($FD, "redirect_uri=" . urlencode($eu) . "&grant_type=authorization_code" . "&code=" . $rI . "&code_verifier=" . $NZ . "&client_id=" . urlencode($DT), array("Accept" => "application/json", "Content-Type" => "application/x-www-form-urlencoded", "Origin" => $base_url), '', $GF); 
        goto s7; 
        aR: 
        $MY = []; 
        $p5 = "redirect_uri=" . urlencode($eu) . "&grant_type=" . $ok . "&refresh_token=" . $YI; 
        if (!$QE) { 
            goto zs; 
        } 
        $MY = ["Authorization" => "Basic " . base64_encode($DT . ":" . $sm), "Accept" => "application/json", "Content-Type" => "application/x-www-form-urlencoded"]; 
        zs: 
        if (!$FL) { 
            goto j_; 
        } 
        $p5 = $p5 . "&client_id=" . urlencode($DT) . "&client_secret=" . urlencode($sm); 
        j_: 
        $Wy = Utilities::callService($FD, $p5, $MY, '', $GF); 
        s7: 
        $HP = json_decode($Wy, true); 
        if (isset($HP["access_token"]) || isset($HP["id_token"])) { 
            goto iy; 
        } 
        \Drupal::logger("miniorange_oauth_client")->error("Invalid response received while fetching access token from url-<br> {$FD} <br><br> Response => <pre><code>" . print_r($HP, TRUE) . "<pre><code>"); 
        if ($ok == "refresh_token") { 
            goto CV; 
        } 
        if ($GF) { 
            goto fl; 
        } 
        Utilities::anonymousRedirect('', '', "Something went wrong, Please contact the site administrator."); 
        goto u8; 
        CV: 
        \Drupal::logger("mo_session_manager")->warning("access token renewal failed.<br> response = '%response' ", ["%response" => print_r($HP, TRUE)]); 
        goto u8; 
        fl: 
        Utilities::show_error_message_testconfig("Invalid response received while fetching access token from url-<br>{$FD} <br><br> Response => <pre><code>" . print_r($HP, TRUE) . "<pre><code>"); 
        u8: 
        iy: 
        Utilities::save_tokens_in_cookie_and_session($HP, new appValues($IR), $GF); 
        return $HP; 
    } 
    public static function validate_code_and_state($rI, $xM, $GF) 
    { 
        $BG = \Drupal::service("session"); 
        if (empty($rI)) { 
            goto Uw; 
        } 
        if (empty($xM)) { 
            goto wp; 
        } 
        $IR = ''; 
        $xM = Utilities::decodeState($xM); 
        if (!empty($BG->get("appname"))) { 
            goto FB; 
        } 
        if (!(isset($xM["appname"]) && !empty($xM["appname"]))) { 
            goto Kg; 
        } 
        $IR = $xM["appname"]; 
        Kg: 
        goto Hj; 
        FB: 
        $IR = $BG->get("appname"); 
        Hj: 
        if (!empty($IR)) { 
            goto xQ; 
        } 
        \Drupal::logger("miniorange_oauth_client")->error("Invalid state parameter"); 
        if ($GF) { 
            goto R_; 
        } 
        Utilities::anonymousRedirect(); 
        goto Ys; 
        R_: 
        Utilities::show_error_message_testconfig("Invalid state parameter"); 
        Ys: 
        xQ: 
        goto Og; 
        Uw: 
        \Drupal::logger("miniorange_oauth_client")->error("<pre><code>" . print_r($_GET, true) . "<pre><code>"); 
        if ($GF) { 
            goto T0; 
        } 
        Utilities::anonymousRedirect(); 
        goto Ru; 
        T0: 
        Utilities::show_error_message_testconfig("<pre><code>" . print_r($_GET, true) . "<pre><code>"); 
        Ru: 
        goto Og; 
        wp: 
        $lD = DBQueries::get_all_app_names_with_oauth_login_enabled(); 
        return $lD[0]->app_name; 
        Og: 
        return $IR; 
    } 
    public static function implement_openid_flow($PN, $tX = '', $JK = '', $GF = false) 
    { 
        $rI = $tX; 
        $do = $PN->get_valuesInHeader(); 
        $dG = $PN->get_valuesInBody(); 
        $ok = $PN->grantTypevalue; 
        $rI = $tX; 
        $qO = Utilities::getCallbackUrl($PN->appName); 
        if (!(!$do == TRUE || !$do == 1)) { 
            goto zv; 
        } 
        $do = false; 
        zv: 
        if (!(!$dG == TRUE || !$dG == 1)) { 
            goto cm; 
        } 
        $dG = false; 
        cm: 
        if ($ok == "password") { 
            goto BR; 
        } 
        $CK = self::getToken($PN->get_accessTokenEndpoint(), $ok, $PN->get_clientId(), $PN->get_clientSecret(), $rI, $qO, $do, $dG, $PN->appName, $GF); 
        goto QY; 
        BR: 
        $CK = $JK->getToken($PN, $GF); 
        QY: 
        if (isset($CK["id_token"])) { 
            goto h1; 
        } 
        \Drupal::logger("miniorange_oauth_client")->error("The OAuth response doesn't contain an ID token. Please try selecting 'OAuth 2.0 Application' from the 'Select Application Type' radio button, if it contains an access token.<br><br><b>Response : </b><pre><code>" . print_r($CK, true) . "</code></pre>"); 
        if ($GF) { 
            goto Cy; 
        } 
        Utilities::anonymousRedirect('', '', "Something went wrong, Please contact the site administrator."); 
        goto h6; 
        Cy: 
        Utilities::show_error_message_testconfig("The OAuth response doesn't contain an ID token. Please try selecting 'OAuth 2.0 Application' from the 'Select Application Type' radio button, if it contains an access token.<br><br><b>Response : </b><pre><code>" . print_r($CK, true) . "</code></pre>"); 
        h6: 
        h1: 
        $H6 = new HandleJWT($PN, $CK["id_token"], $GF); 
        $uE = $H6->getUserAttributesFromIDToken(); 
        return [$CK, $uE]; 
    } 
    public static function implement_oauth_flow($PN, $tX = '', $JK = '', $GF = false) 
    { 
        $do = $PN->get_valuesInHeader(); 
        $dG = $PN->get_valuesInBody(); 
        $BS = $PN->appName; 
        $ok = $PN->grantTypevalue; 
        $rI = $tX; 
        $qO = Utilities::getCallbackUrl($PN->appName); 
        $hR = \Drupal::config("miniorange_oauth_client.settings")->get("miniorange_oauth_client_group_info_ep_" . $BS); 
        if (!(!$do == TRUE || !$do == 1)) { 
            goto vb; 
        } 
        $do = false; 
        vb: 
        if (!(!$dG == TRUE || !$dG == 1)) { 
            goto XD; 
        } 
        $dG = false; 
        XD: 
        if ($ok == "password" && !empty($JK)) { 
            goto LI; 
        } 
        $CK = self::getToken($PN->get_accessTokenEndpoint(), $ok, $PN->get_clientId(), $PN->get_clientSecret(), $rI, $qO, $do, $dG, $BS, $GF); 
        goto qP; 
        LI: 
        $CK = $JK->getToken($PN, $GF); 
        qP: 
        if (isset($CK["access_token"])) { 
            goto Lc; 
        } 
        \Drupal::logger("miniorange_oauth_client")->error("The OAuth response doesn't contain an access token. Please try selecting 'OpenID Connect Application' from the 'Select Application Type' radio button, if it contains an ID token.<br><br><b>Response : </b><pre><code>" . print_r($CK, true) . "</code></pre>"); 
        if ($GF) { 
            goto RM; 
        } 
        Utilities::anonymousRedirect('', '', "Something went wrong, Please contact the site administrator."); 
        goto TL; 
        RM: 
        Utilities::show_error_message_testconfig("The OAuth response doesn't contain an access token. Please try selecting 'OpenID Connect Application' from the 'Select Application Type' radio button, if it contains an ID token.<br><br><b>Response : </b><pre><code>" . print_r($CK, true) . "</code></pre>"); 
        TL: 
        goto vs; 
        Lc: 
        $qf = $CK["access_token"]; 
        vs: 
        $GW = $PN->get_userInfoEndpoint(); 
        if (!(substr($GW, -1) == "=")) { 
            goto tS; 
        } 
        $GW .= $qf; 
        tS: 
        $uE = self::getResourceOwner($GW, $qf, $GF); 
        if (empty($hR)) { 
            goto xq; 
        } 
        $vD = Utilities::getGroupsInfo($hR, $qf, $GF); 
        $vD = !empty($vD) ? $vD : []; 
        $uE = array_merge($uE, $vD); 
        xq: 
        return [$CK, $uE]; 
    } 
    public static function final_redirect_url_after_login($xM, $M0, $T2) 
    { 
        $xM = Utilities::decodeState($xM); 
        $AV = ''; 
        if (isset($xM["destination"]) && !empty($xM["destination"])) { 
            goto US; 
        } 
        if (isset($xM["restrictedpagedestination"]) && !empty($xM["restrictedpagedestination"])) { 
            goto v6; 
        } 
        if ($M0 != '') { 
            goto p5; 
        } 
        if (isset($xM["referer"]) && !empty($xM["referer"])) { 
            goto B5; 
        } 
        $AV = Url::fromRoute("entity.user.canonical", ["user" => $T2])->toString(); 
        goto BO; 
        B5: 
        $AV = $xM["referer"]; 
        BO: 
        goto lN; 
        p5: 
        $AV = $M0; 
        lN: 
        goto VP; 
        v6: 
        $AV = $xM["restrictedpagedestination"]; 
        VP: 
        goto Eg; 
        US: 
        $AV = $xM["destination"]; 
        Eg: 
        return $AV; 
    } 
    public static function performSSOinDrupal($uE, $N8, $PN, $CK, $xM = '') 
    { 
        $BG = \Drupal::service("session"); 
        $mQ = \Drupal::moduleHandler(); 
        $BU = \Drupal::config("miniorange_oauth_client.settings"); 
        $mQ->invokeAll("mo_pre_user_load", [$uE, $CK]); 
        $GN = ''; 
        $gL = ''; 
        $el = ''; 
        $q1 = ''; 
        if (empty($PN->get_emailAttr())) { 
            goto V0; 
        } 
        $gL = $PN->get_emailAttr(); 
        V0: 
        if (empty($PN->get_nameAttr())) { 
            goto Ic; 
        } 
        $GN = $PN->get_nameAttr(); 
        Ic: 
        if (!(!empty($gL) && isset($N8[$gL]))) { 
            goto Tt; 
        } 
        $q1 = $N8[$gL]; 
        Tt: 
        if (!($GN != "Select" && isset($N8[$GN]))) { 
            goto CZ; 
        } 
        $el = $N8[$GN]; 
        CZ: 
        $w8 = $BU->get("miniorange_oauth_client_load_user"); 
        if (!($w8 == "Email" && empty($q1))) { 
            goto hv; 
        } 
        Utilities::save_SSO_report_data("FAILURE. Email not mapped", $PN->appName, $el ? $el : "-", "-"); 
        Utilities::show_sso_error_message("Email address not received.", "Please ensure Email Attribute field is configured properly in the Attribute & Role Mapping tab of the module."); 
        hv: 
        if (!($w8 == "Username" && empty($el))) { 
            goto et; 
        } 
        Utilities::save_SSO_report_data("FAILURE. Username not mapped", $PN->appName, $el ? $el : "-", "-"); 
        Utilities::show_sso_error_message("Username not received.", "Please ensure Username Attribute field is configured properly in the Attribute & Role Mapping tab of the module."); 
        et: 
        $gw = Utilities::Is_Restricted_Domain($q1); 
        if (!$gw) { 
            goto i8; 
        } 
        Utilities::save_SSO_report_data("FAILURE. Domain Restricted", $PN->appName, $el ? $el : "-", $q1); 
        Utilities::anonymousRedirect('', "A user (email - <i>" . $q1 . "</i>, username - <i>" . $el . "</i>) with restricted domain is attemping to login", "You are not allowed to login to this site, please contact the site administrator."); 
        i8: 
        self::is_role_allowed($PN, $uE); 
        if ($w8 == "Email") { 
            goto W4; 
        } 
        if ($w8 == "Username") { 
            goto eX; 
        } 
        goto uY; 
        W4: 
        $nV = user_load_by_mail($q1); 
        goto uY; 
        eX: 
        $nV = user_load_by_name($el); 
        uY: 
        $dX = $PN->get_enableRolemapping(); 
        $HN = $PN->get_defaultRole(); 
        if (!empty($el)) { 
            goto r5; 
        } 
        $el = $q1; 
        r5: 
        $sw = $BU->get("miniorange_oauth_require_profile_field"); 
        if (!empty($nV->uid)) { 
            goto Cm; 
        } 
        $mQ->invokeAll("mo_pre_user_register", [$uE]); 
        $Cb = new mOUserRegistration($PN->autocreateuser, $PN->create_disable_user, $PN->redirect_disable, $PN->redirect_unregister, $el, $q1, $dX, $HN, $PN->appName); 
        $nV = $Cb->create_new_user($uE); 
        Cm: 
        $nV = User::load($nV->id()); 
        $mQ->invokeAll("mo_post_user_load", [$nV, $uE, $CK]); 
        if ($nV->isActive()) { 
            goto zc; 
        } 
        $EA = $BU->get("miniorange_oauth_activate_users"); 
        if ($EA) { 
            goto kw; 
        } 
        Utilities::anonymousRedirect($PN->redirect_disable, '', "The username <i>" . $nV->getAccountName() . "</i> has not been activated or is blocked."); 
        goto UF; 
        kw: 
        $nV->set("status", TRUE); 
        $nV->save(); 
        \Drupal::logger("miniorange_oauth_client")->notice("The username <i>" . $nV->getAccountName() . "</i> has been activated"); 
        UF: 
        zc: 
        $G7 = $BU->get("miniorange_oauth_restrict_sso_for_admin"); 
        if (!($G7 && $nV->hasRole("administrator"))) { 
            goto yB; 
        } 
        Utilities::anonymousRedirect($PN->redirect_disable, "A user with administrator Role is attemping SSO", "Something went wrong, Please contact the site administrator."); 
        yB: 
        self::perform_attribute_mapping($nV, $PN, $N8); 
        self::implement_role_mapping($nV, $PN, $uE); 
        self::perform_profile_mapping($nV, $PN, $uE); 
        self::perform_group_mapping($nV, $PN, $uE); 
        $mQ->invokeAll("mo_post_mapping", [$nV, $uE, $CK]); 
        $AV = self::final_redirect_url_after_login($xM, $PN->redirect_after_login, $nV->id()); 
        Utilities::save_SSO_report_data("SUCCESS", $PN->appName, $el, $q1, $AV); 
        $BG->set("mo_sso_session", true); 
        $BG->set("appname", $PN->appName); 
        if (!($PN->sendidtokeninslorequest && isset($CK["id_token"]))) { 
            goto k8; 
        } 
        $BG->set("mo_id_token", $CK["id_token"]); 
        k8: 
        $WT = array(); 
        $WT["redirect"] = $AV; 
        user_login_finalize($nV); 
        $BG->set("mo_sso_session", true); 
        $BG->set("appname", $PN->appName); 
        $mQ->invokeAll("mo_post_user_login", [&$nV, $uE]); 
        $mQ->invokeAll("mo_oauth_user_token", [&$nV, $CK, $AV]); 
        if (!($sw == 1 && !Utilities::check_for_redirect_to_user_profile_form($q1))) { 
            goto rN; 
        } 
        Utilities::redirect_to_profile_form($nV->id()); 
        rN: 
        $Wy = new RedirectResponse($WT["redirect"]); 
        \Drupal::service("page_cache_kill_switch")->trigger(); 
        return $Wy; 
    } 
    public static function is_role_allowed($PN, $uE) 
    { 
        $wS = $PN->enable_role_based_restriction; 
        $hm = $PN->role_restriction_attrname; 
        $SM = $PN->list_of_roles; 
        $v6 = $PN->typeof_role_restriction; 
        $TI = $PN->redirect_url_for_role_restriction; 
        if (!($wS && $SM && $v6 && $hm)) { 
            goto VV; 
        } 
        $Jh = new MiniorangeOAuthRoleRestriction($uE, $hm, $SM, $TI); 
        if ($v6 === "whitelist") { 
            goto tR; 
        } 
        $Jh->validate_blacklisted_role_restriction(); 
        goto hS; 
        tR: 
        $Jh->validate_whitelisted_role_restriction(); 
        hS: 
        VV: 
        return new Response(); 
    } 
    public static function perform_attribute_mapping($nV, $PN, $uE) 
    { 
        $at = $PN->get_attributeMap(); 
        $at = !empty($at) ? $at : array(); 
        $dm = array(); 
        $Zw = array(); 
        foreach ($at as $C3) { 
            if (!($C3["machine_name"] != '' && $C3["attribute_name"] != '')) { 
                goto n0; 
            } 
            array_push($Zw, $C3["machine_name"]); 
            array_push($dm, $C3["attribute_name"]); 
            n0: 
            Tv: 
        } 
        xo: 
        $a2 = self::mo_oauth_attr_map($dm, $Zw); 
        $Au = array(); 
        if (!(isset($a2) && !empty($a2))) { 
            goto fk; 
        } 
        foreach ($a2 as $Kr => $sQ) { 
            if (!isset($uE[$Kr])) { 
                goto wo; 
            } 
            $Au[$sQ] = $uE[$Kr]; 
            wo: 
            YH: 
        } 
        Gp: 
        foreach ($Au as $C3 => $wZ) { 
            $nV->{$C3} = $wZ; 
            $nV->save(); 
            aE: 
        } 
        cw: 
        fk: 
    } 
    public static function implement_role_mapping($nV, $PN, $uE) 
    { 
        $A0 = $PN->get_roleAttribute(); 
        if (!(isset($A0) && !empty($A0))) { 
            goto dT; 
        } 
        $rq = self::getnestedattribute($uE, $A0); 
        if (is_null($nV)) { 
            goto fV; 
        } 
        self::perform_role_mapping($PN, $uE, $nV, $rq, $PN->appName); 
        fV: 
        dT: 
    } 
    public static function perform_profile_mapping($nV, $PN, $uE) 
    { 
        $NG = $PN->get_profileMap(); 
        $NG = !empty($NG) ? $NG : array(); 
        $b3 = array(); 
        $Qg = array(); 
        if (empty($NG)) { 
            goto RO; 
        } 
        foreach ($NG as $C3) { 
            if (!($C3["user_profile_field_name"] != '' && $C3["user_profile_idp_attribute_name"] != '')) { 
                goto mM; 
            } 
            array_push($b3, $C3["user_profile_field_name"]); 
            array_push($Qg, $C3["user_profile_idp_attribute_name"]); 
            mM: 
            Tm: 
        } 
        pY: 
        $Pr = self::mo_oauth_attr_map($b3, $Qg, "role"); 
        $Ao = array(); 
        if (!(isset($Pr) && !empty($Pr))) { 
            goto rn; 
        } 
        $Pr = self::to_explode_semicolon($Pr); 
        foreach ($Pr as $C3 => $vi) { 
            $yl = array(); 
            foreach ($vi as $wZ) { 
                if (!array_key_exists($wZ, $uE)) { 
                    goto vo; 
                } 
                array_push($yl, $uE[$wZ]); 
                vo: 
                P_: 
            } 
            D4: 
            $Ao[$C3] = $yl; 
            Wb: 
        } 
        GT: 
        self::create_profile($Ao, $nV, $PN); 
        rn: 
        RO: 
    } 
    public static function perform_group_mapping($nV, $PN, $uE) 
    { 
        $Ji = $PN->enablegroupmapping; 
        $bv = $PN->keepExistingGroups; 
        $a7 = $PN->groupAttribute; 
        $mp = !empty($PN->groupmap) ? json_decode($PN->groupmap, true) : []; 
        $IH = ''; 
        if (empty($a7)) { 
            goto jS; 
        } 
        $IH = self::getnestedattribute($uE, $a7); 
        jS: 
        $TH = []; 
        if (!is_array($IH) && !empty($IH)) { 
            goto Cu; 
        } 
        $TH = is_array($IH) ? $IH : []; 
        goto bz; 
        Cu: 
        $IH = str_replace(["[", "]"], '', $IH); 
        $IH = explode(",", $IH); 
        foreach ($IH as $C3 => $wZ) { 
            $TH[] = str_replace(""", '', trim($wZ)); 
            Rs: 
        } 
        EI: 
        bz: 
        $DI = []; 
        $FB = []; 
        foreach ($mp as $C3) { 
            if (empty(trim($C3["oauth_server_attrs"]))) { 
                goto oH; 
            } 
            array_push($DI, $C3["group_name"]); 
            array_push($FB, $C3["oauth_server_attrs"]); 
            oH: 
            VO: 
        } 
        rO: 
        $YN = self::mo_oauth_attr_map($DI, $FB, "role"); 
        if (!($Ji && is_array($TH) && !empty($YN) && $nV)) { 
            goto by; 
        } 
        foreach ($YN as $C3 => $wZ) { 
            $Kt = false; 
            $Nn = \Drupal::entityTypeManager()->getStorage("group"); 
            $CP = $Nn->load($C3); 
            if (!$CP) { 
                goto aT; 
            } 
            if (!$CP->getMember($nV)) { 
                goto he; 
            } 
            $Kt = true; 
            he: 
            $us = explode(";", $wZ); 
            if (!empty(array_intersect($TH, $us))) { 
                goto HO; 
            } 
            if (!($Kt && !$bv)) { 
                goto wz; 
            } 
            $CP->removeMember($nV); 
            $CP->save(); 
            wz: 
            goto uH; 
            HO: 
            if ($CP->getMember($nV)) { 
                goto dp; 
            } 
            $CP->addMember($nV); 
            $CP->save(); 
            dp: 
            uH: 
            aT: 
            fg: 
        } 
        vE: 
        by: 
    } 
    public static function Test_Configuration($uE, $IR) 
    { 
        $s9 = \Drupal::service("extension.list.module")->getPath("miniorange_oauth_client"); 
        $base_url = \Drupal::request()->getSchemeAndHttpHost() . \Drupal::request()->getBasePath(); 
        setrawcookie("mo.testConfig", true, \Drupal::time()->getRequestTime() - 300, "/"); 
        $Yu = isset($uE["email"]) ? $uE["email"] : "User"; 
        $H3 = ''; 
        Utilities::show_attr($uE, $H3, 0, '', "<tr style="text-align:center;">", "<td style='font-weight:bold;padding:2%;border:2px solid #949090; word-wrap:break-word;'>"); 
        $cK = is_array($uE) ? json_encode($uE) : ''; 
        \Drupal::configFactory()->getEditable("miniorange_oauth_client.settings")->set("miniorange_oauth_client_attr_list_from_server_" . $IR, $cK)->save(); 
        $ns = []; 
        if (!is_array($uE)) { 
            goto Dq; 
        } 
        $ns = array_combine(array_keys($uE), array_keys($uE)); 
        Dq: 
        $ns = is_array($ns) ? json_encode($ns) : ''; 
        \Drupal::configFactory()->getEditable("miniorange_oauth_client.settings")->set("miniorange_oauth_client_attr_list_from_server_mapping_" . $IR, $ns)->save(); 
        echo "<div style="font-family:Calibri;padding:0 3%;">"; 
        echo "<div style="color: #3c763d;background-color: #dff0d8; padding:2%;margin-bottom:20px;text-align:center; border:1px solid #AEDB9A;
\xa                              font-size:15pt;">
                              TEST SUCCESSFUL\xd
                            </div>\xd\xa                            <div style="display:block;text-align:center;margin-bottom:4%;">\xd\xa                              <img style="width:15%;"src="" . $base_url . "/" . $s9 . "/assets/img/green_check.png">
\xa                            </div>"; 
        echo "<span style="font-size:13pt;"><b>Hello</b>, " . $Yu . "</span><br/>\xd
                            <p style="font-weight:bold;font-size:13pt;margin-left:1%;">ATTRIBUTES RECEIVED:</p>
\xa                            <table style="border-collapse:collapse;border-spacing:0; display:table;width:100%; font-size:13pt;background-color:#EDEDED;">\xd\xa                                <tr style="text-align:center;">
                                    <td style="font-weight:bold;border:2px solid #949090;padding:2%;">ATTRIBUTE NAME</td>
\xa                                    <td style="font-weight:bold;padding:2%;border:2px solid #949090; word-wrap:break-word;">ATTRIBUTE VALUE</td>\xd\xa                                </tr>"; 
        echo $H3; 
        echo "</table></div>"; 
        echo "<div style="margin:3%;display:block;text-align:center;">
                              <input style="padding:1%;width:37%;background: #0091CD none repeat scroll 0% 0%;cursor: pointer;font-size:15px;\xd
                                  border-width: 1px;border-style: solid;border-radius: 3px;white-space: nowrap;box-sizing: border-box;border-color: #0073AA;
\xa                                  box-shadow: 0px 1px 0px rgba(120, 200, 230, 0.6) inset;color: #FFF;"type="button" value="Configure Attribute/Role Mapping"\xd\xa                              onClick="close_and_redirect();">\xd
\xd\xa                              <input style="padding:1%;width:100px;background: #0091CD none repeat scroll 0% 0%;cursor: pointer;font-size:15px;\xd\xa                                  border-width: 1px;border-style: solid;border-radius: 3px;white-space: nowrap;box-sizing: border-box;border-color: #0073AA;
\xa                                  box-shadow: 0px 1px 0px rgba(120, 200, 230, 0.6) inset;color: #FFF;"type="button" value="Done" onClick="self.close();">\xd
                          </div>
                          <script>
                              function close_and_redirect(){\xd
                                   window.opener.location.href = "" . Url::fromRoute("miniorange_oauth_client.mapping")->toString() . "";\xd
                                  self.close();
                              }
\xa                          </script>"; 
        exit; 
    } 
    public static function getResourceOwner($GW, $FZ, $GF = false) 
    { 
        $Wy = Utilities::callService($GW, NULL, array("Authorization" => "Bearer " . $FZ), "GET", $GF); 
        $HP = json_decode($Wy, true); 
        if (isset($HP["error_description"])) { 
            goto TQ; 
        } 
        if (!isset($HP["error"])) { 
            goto ng; 
        } 
        if (is_array($HP["error"])) { 
            goto E2; 
        } 
        echo $HP["error"]; 
        goto qv; 
        E2: 
        print_r($HP["error"]); 
        qv: 
        exit; 
        ng: 
        goto uI; 
        TQ: 
        if (is_array($HP["error_description"])) { 
            goto vA; 
        } 
        echo $HP["error_description"]; 
        goto n_; 
        vA: 
        print_r($HP["error_description"]); 
        n_: 
        exit; 
        uI: 
        return $HP; 
    } 
    public static function testattrmappingconfig($zm, $rh) 
    { 
        foreach ($rh as $C3 => $Dp) { 
            if (is_array($Dp) || is_object($Dp)) { 
                goto C5; 
            } 
            echo "<tr style='text-align:center;'><td style='font-weight:bold;border:2px solid #949090;padding:2%;'>"; 
            if (empty($zm)) { 
                goto Zb; 
            } 
            echo $zm . "."; 
            Zb: 
            echo $C3 . "</td><td style='font-weight:bold;padding:2%;border:2px solid #949090; word-wrap:break-word;'>" . $Dp . "</td></tr>"; 
            goto Bx; 
            C5: 
            if (empty($zm)) { 
                goto xO; 
            } 
            $zm .= "."; 
            xO: 
            self::testattrmappingconfig($zm . $C3, $Dp); 
            Bx: 
            Qb: 
        } 
        Xz: 
        return new Response(); 
    } 
    public static function getnestedattribute($Dp, $C3) 
    { 
        if (isset($C3)) { 
            goto yd; 
        } 
        return ''; 
        yd: 
        $YR = explode(">", $C3); 
        $U8 = ''; 
        if (sizeof($YR) > 1) { 
            goto sT; 
        } 
        $U8 = $YR[0]; 
        if (isset($Dp[$U8]) && !is_array($Dp[$U8])) { 
            goto wN; 
        } 
        if (!isset($Dp[$U8])) { 
            goto BB; 
        } 
        return self::extractLeafNodes($Dp[$U8]); 
        BB: 
        goto Mm; 
        wN: 
        return $Dp[$U8]; 
        Mm: 
        goto OD; 
        sT: 
        $U8 = $YR[0]; 
        if (!isset($Dp[$U8])) { 
            goto Ca; 
        } 
        return self::getnestedattribute($Dp[$U8], str_replace($U8 . ">", '', $C3)); 
        Ca: 
        OD: 
    } 
    public static function extractLeafNodes($mu) 
    { 
        $s0 = array(); 
        foreach ($mu as $C3 => $wZ) { 
            if (is_array($wZ)) { 
                goto rd; 
            } 
            $s0[] = $wZ; 
            goto Y1; 
            rd: 
            $s0 = array_merge($s0, self::extractLeafNodes($wZ)); 
            Y1: 
            Aj: 
        } 
        cP: 
        return $s0; 
    } 
    public static function mo_oauth_client_initiateLogin($GF = false, $fn = '') 
    { 
        \Drupal::service("page_cache_kill_switch")->trigger(); 
        Utilities::checkUpgradeUrlStatus(); 
        $mQ = \Drupal::moduleHandler(); 
        if (isset($_GET["appname"]) && !empty($_GET["appname"])) { 
            goto eV; 
        } 
        $pW = \Drupal::config("miniorange_oauth_client.settings")->get("auto_redirect_app_name"); 
        goto ZQ; 
        eV: 
        $pW = trim(Html::escape($_GET["appname"])); 
        ZQ: 
        $PN = new appValues($pW); 
        $Gz = $PN->getAllConfig(); 
        $qO = Utilities::getCallbackUrl($pW); 
        $mh = $Gz["authorizeEndpoint"]; 
        $xM = Utilities::generateState($Gz["appName"], $fn, $GF); 
        $ok = $Gz["grantTypevalue"]; 
        if (!($ok == "implicit")) { 
            goto ey; 
        } 
        $mc = new ImplicitGrant($Gz["appName"]); 
        $mc->mo_oauth_client_initiateLogin($PN, $fn, $GF); 
        ey: 
        if (strpos($mh, "?") !== false) { 
            goto Zt; 
        } 
        $mh = $mh . "?client_id=" . $PN->get_clientId() . "&scope=" . $Gz["scope"] . "&redirect_uri=" . $qO . "&response_type=code&state=" . $xM; 
        goto td; 
        Zt: 
        $mh = $mh . "&client_id=" . $PN->get_clientId() . "&scope=" . $Gz["scope"] . "&redirect_uri=" . $qO . "&response_type=code&state=" . $xM; 
        td: 
        if (!(session_status() == PHP_SESSION_NONE)) { 
            goto zF; 
        } 
        session_start(); 
        zF: 
        $BG = \Drupal::service("session"); 
        $BG->set("oauth2state", $xM); 
        $BG->set("appname", $Gz["appName"]); 
        if (!($ok == "authorization_code_with_pkce")) { 
            goto GP; 
        } 
        $Vh = random_bytes(64); 
        $NZ = rtrim(strtr(base64_encode($Vh), "+/", "-_"), "="); 
        $mb = hash("sha256", $NZ, true); 
        $ja = rtrim(strtr(base64_encode($mb), "+/", "-_"), "="); 
        $mh = $mh . "&code_challenge=" . $ja . "&code_challenge_method=S256"; 
        $BG->set("codeVerifier", $NZ); 
        GP: 
        $mQ->invokeAll("mo_pre_authorization_request", [&$mh, $_GET]); 
        $Wy = new RedirectResponse($mh); 
        $Wy->send(); 
        exit; 
    } 
    public static function test_mo_config() 
    { 
        setrawcookie("mo.testConfig", true, \Drupal::time()->getRequestTime() + 300, "/"); 
        miniorange_oauth_clientController::miniorange_oauth_client_mologin("testOAuthConfig"); 
    } 
    public static function miniorange_oauth_client_mologin($fn = '') 
    { 
        $C_ = \Drupal::request(); 
        $BU = \Drupal::config("miniorange_oauth_client.settings"); 
        $cM = $BU->get("miniorange_oauth_client_customer_admin_fraud_check"); 
        $lp = $BU->get("miniorange_oauth_client_customer_admin_token"); 
        $ql = $BU->get("miniorange_oauth_client_customer_admin_email"); 
        $BX = $BU->get("miniorange_oauth_client_license_key"); 
        $J9 = $BU->get("auto_redirect_app_name"); 
        $OS = $BU->get("miniorange_oauth_isMultiSitePluginRequested") == true; 
        $nd = $BU->get("mo_last_license_fetch_time"); 
        $Yb = time(); 
        if (!($Yb - $nd > 604800)) { 
            goto yh; 
        } 
        self::moOAuthLicenseFetch(true); 
        yh: 
        $yg = \Drupal::state()->get("miniorange_oauth_is_trial"); 
        $L0 = $BU->get("miniorange_oauth_licenseExpiry") ?? ''; 
        $BS = $C_->query->get("appname", $J9); 
        $P6 = DBQueries::get_all_apps_from_db(); 
        $l3 = in_array($BS, $P6) ? (new appValues($BS))->enable_login_with_oauth : 0; 
        $iO = Utilities::check_fraud(); 
        if (empty($ql)) { 
            goto nf; 
        } 
        if (empty($BX)) { 
            goto d_; 
        } 
        if (!$OS && ($iO !== Utilities::decrypt_data($cM, $lp) && $iO !== Utilities::decrypt_data($cM, $lp, "AES-128-ECB"))) { 
            goto aL; 
        } 
        if ($yg && (!$L0 || strtotime($L0) < $Yb)) { 
            goto Pv; 
        } 
        if ($fn === "testOAuthConfig" && isset($_GET["appname"]) && !empty($_GET["appname"])) { 
            goto AZ; 
        } 
        if ($fn !== "testOAuthConfig" && $l3) { 
            goto BA; 
        } 
        Utilities::show_sso_error_message("Configurations not found or Login using OAuth provider is disabled.", "Please ensure the SSO or Test Connection URL is correct and Login with OAuth is enabled."); 
        goto gN; 
        nf: 
        Utilities::show_sso_error_message("It appears that you are not logged into the module.", "Please log in to the module."); 
        goto gN; 
        d_: 
        Utilities::show_sso_error_message("It appears that you have not verified your license key", "Please verify your license key."); 
        goto gN; 
        aL: 
        Utilities::show_sso_error_message("The license key you have entered has already been used.", "Please enter a key which has not been used before on any other instance or if you have exhausted all your keys, you can purchase more licenses."); 
        goto gN; 
        Pv: 
        Utilities::show_sso_error_message("Your trial license has expired on " . date("l M j, Y", strtotime($L0)), ". Reach out to us at <a href="mailto::[email protected]">[email protected]</a> to upgrade your license."); 
        goto gN; 
        AZ: 
        return self::mo_oauth_client_initiateLogin(true); 
        goto gN; 
        BA: 
        return self::mo_oauth_client_initiateLogin(false, $fn); 
        gN: 
    } 
    public function oauth_client_logout() 
    { 
        $eK = new mOOAuthLogout(); 
        return $eK->mo_oauth_logout(); 
    } 
    public static function openCustomerRequestForm() 
    { 
        $Wy = new AjaxResponse(); 
        $wn = \Drupal::formBuilder()->getForm("\Drupal\miniorange_oauth_client\Form\MiniorangeCustomerRequest"); 
        $Wy->addCommand(new OpenModalDialogCommand("miniOrange OAuth Client Customer Support", $wn, ["width" => "45%"])); 
        return $Wy; 
    } 
    public static function moOAuthLicenseFetch($kI = FALSE) 
    { 
        $BU = \Drupal::config("miniorange_oauth_client.settings"); 
        $NH = \Drupal::configFactory()->getEditable("miniorange_oauth_client.settings"); 
        $Yu = $BU->get("miniorange_oauth_client_customer_admin_email"); 
        $nQ = new MiniorangeOAuthClientCustomer($Yu, null); 
        $uX = json_decode($nQ->ccl(), true); 
        if (isset($uX["status"]) && $uX["status"] == "SUCCESS") { 
            goto DH; 
        } 
        $XR = t("Failed to fetch licensing update"); 
        $S6 = "error"; 
        goto xV; 
        DH: 
        $NH->set("mo_last_license_fetch_time", time())->save(); 
        $NH->set("miniorange_oauth_licenseExpiry", $uX["licenseExpiry"])->save(); 
        $NH->set("miniorange_oauth_supportExpiry", $uX["supportExpiry"])->save(); 
        $NH->set("miniorange_oauth_isMultiSitePluginRequested", isset($uX["isMultiSitePluginRequested"]) ? $uX["isMultiSitePluginRequested"] : false)->save(); 
        $cd = isset($uX["noOfSP"]) ? $uX["noOfSP"] : 1; 
        $NH->set("miniorange_oauth_noOfSP", $cd)->save(); 
        $zM = isset($uX["trial"]) ? $uX["trial"] : false; 
        \Drupal::state()->set("miniorange_oauth_is_trial", $zM); 
        $XR = t("Successfully fetched the licensing update"); 
        $S6 = "status"; 
        xV: 
        $S6 == "status" ? \Drupal::logger("miniorange_oauth_client")->notice($XR) : \Drupal::logger("miniorange_oauth_client")->error($XR); 
        if ($kI) { 
            goto gJ; 
        } 
        $S6 == "status" ? \Drupal::messenger()->addStatus($XR) : \Drupal::messenger()->addError($XR); 
        return new RedirectResponse(Url::fromRoute("miniorange_oauth_client.customer_setup")->toString()); 
        gJ: 
        return new Response(); 
    } 
} 
 ?>

Did this file decode correctly?

Original Code

<?php


namespace Drupal\miniorange_oauth_client\Controller;

use Drupal\user\Entity\User;
use Drupal\Component\Utility\Html;
use Drupal\Core\Controller\ControllerBase;
use Drupal\miniorange_oauth_client\Utilities;
use Symfony\Component\HttpFoundation\Response;
use Drupal\miniorange_oauth_client\DBQueries;
use Drupal\Core\Url;
use Drupal\miniorange_oauth_client\appValues;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Drupal\miniorange_oauth_client\GrantTypes\HandleJWT;
use Drupal\miniorange_oauth_client\MiniorangeOAuthClientCustomer;
use Drupal\profile\Entity\Profile;
use Drupal\Core\Ajax\AjaxResponse;
use Drupal\Core\Ajax\OpenModalDialogCommand;
use Drupal\miniorange_oauth_client\GrantTypes\ImplicitGrant;
use Drupal\miniorange_oauth_client\MiniorangeOAuthRoleRestriction;
use Drupal\miniorange_oauth_client\mOOAuthLogout;
use Drupal\miniorange_oauth_client\mOUserRegistration;
use Drupal\profile\Entity\ProfileType;
use Drupal\Core\Entity\EntityStorageException;
class miniorange_oauth_clientController extends ControllerBase
{
    public static function miniorange_oauth_client_mo_login()
    {
        $BG = \Drupal::service("\x73\x65\163\163\x69\157\x6e");
        $mQ = \Drupal::moduleHandler();
        $IR = \Drupal::service("\x63\x75\162\x72\145\x6e\x74\x5f\x72\x6f\x75\164\x65\137\155\141\164\x63\x68")->getParameter("\x61\160\x70\x5f\x6e\141\155\x65");
        if (!(session_status() == PHP_SESSION_NONE)) {
            goto vi;
        }
        session_start();
        vi:
        if (!(!empty($IR) && (new appValues($IR))->grantTypevalue == "\x69\x6d\x70\x6c\x69\x63\151\164")) {
            goto j2;
        }
        if (!(isset($_SERVER["\121\x55\105\x52\x59\x5f\123\x54\122\111\x4e\x47"]) && !empty($_SERVER["\x51\125\105\x52\x59\137\x53\124\122\x49\x4e\107"]))) {
            goto Hi;
        }
        $Ww = $_GET;
        Hi:
        if (!(!isset($_COOKIE["\154\157\x67\x69\x6e\x5f\x71\165\145\162\171"]) && empty($_SERVER["\x51\x55\x45\122\x59\137\123\x54\x52\x49\116\107"]))) {
            goto KS;
        }
        echo "\74\163\143\x72\151\160\164\x20\x74\171\x70\145\x3d\x22\164\x65\x78\x74\x2f\152\141\166\141\163\143\x72\151\160\164\x22\76\xd\xa\x20\x20\40\40\40\40\x20\x20\x20\40\40\x20\166\x61\162\x20\161\146\162\141\x67\155\145\x6e\x74\40\75\x20\x77\x69\x6e\144\157\167\56\154\157\x63\141\164\x69\x6f\x6e\56\150\x61\163\x68\73\xd\xa\40\x20\x20\40\40\40\40\x20\x20\40\x20\40\x63\157\x6e\x73\x74\x20\x63\x75\162\162\x65\x6e\164\160\x61\x74\150\40\x3d\40\x77\x69\156\144\157\167\x2e\x6c\x6f\x63\141\164\151\157\x6e\56\160\162\157\x74\x6f\x63\x6f\x6c\40\53\40\167\151\x6e\144\x6f\x77\56\x6c\x6f\x63\x61\164\151\157\x6e\x2e\160\141\164\x68\156\x61\155\x65\73\15\12\x20\x20\x20\40\x20\x20\x20\x20\40\40\40\x20\161\146\x72\141\x67\155\145\156\164\40\x3d\40\x71\x66\162\141\x67\155\x65\x6e\x74\56\x73\x70\x6c\151\164\x28\x22\43\42\51\133\x31\x5d\x3b\15\12\x20\x20\x20\x20\x20\x20\x20\x20\40\x20\x20\40\144\x6f\x63\x75\x6d\145\x6e\164\x2e\x63\157\x6f\153\x69\x65\x20\75\x20\x22\x6c\x6f\x67\151\x6e\x5f\x71\x75\145\162\171\75\42\x20\53\40\161\146\162\141\x67\155\x65\x6e\x74\73\xd\xa\x20\x20\x20\40\40\x20\x20\40\40\40\40\40\x77\x69\x6e\144\x6f\167\x2e\154\x6f\143\x61\164\x69\157\x6e\x2e\x68\x72\145\146\40\x3d\x20\x63\x75\162\x72\145\x6e\164\x70\141\x74\x68\40\x2b\40\x22\x3f\42\40\x2b\40\x71\x66\162\141\x67\155\x65\x6e\x74\x3b\xd\12\x20\x20\x20\x20\40\x20\40\40\74\x2f\163\143\x72\151\x70\x74\x3e";
        exit;
        KS:
        if (!(isset($_COOKIE["\x6c\157\147\151\156\137\161\x75\145\x72\x79"]) && !empty($_COOKIE["\x6c\157\x67\151\156\x5f\x71\165\145\x72\x79"]))) {
            goto rv;
        }
        $AH = $_COOKIE["\x6c\x6f\x67\x69\156\x5f\x71\x75\x65\162\171"];
        $IT = explode("\46", $AH);
        $Ww = [];
        foreach ($IT as $wZ) {
            $C3 = explode("\x3d", $wZ);
            if (!(sizeof($C3) > 1)) {
                goto Ho;
            }
            $Ww[$C3[0]] = $C3[1];
            Ho:
            Ln:
        }
        Z9:
        rv:
        $mQ->invokeAll("\155\x6f\137\x70\162\145\x5f\141\165\x74\150\137\x72\145\163\x70\x6f\156\163\x65\137\x70\x72\157\143\145\x73\x73", [$Ww]);
        ImplicitGrant::validate_token_and_state($Ww);
        $xM = isset($Ww["\x73\164\x61\x74\x65"]) ? $Ww["\163\x74\x61\164\145"] : '';
        $KL = Utilities::decodeState($xM);
        $GF = isset($KL["\x74\x65\x73\x74\163\163\157"]) ? $KL["\164\145\163\164\x73\163\157"] === true ? true : false : false;
        $tw = $BG->get("\141\x70\160\156\x61\155\145");
        $PN = new appValues($tw);
        $Qq = $PN->get_appType();
        $U1 = $PN->loginflowtype;
        if ($Qq == "\103\x75\163\164\157\x6d\137\117\160\x65\156\x5f\x69\144" || $U1 == "\x4f\160\x65\x6e\x49\104") {
            goto uK;
        }
        $d0 = isset($Ww["\141\x63\143\x65\163\x73\x5f\x74\157\x6b\145\156"]) && !empty($Ww["\x61\143\x63\145\163\x73\137\164\x6f\x6b\145\156"]) ? $Ww["\141\x63\x63\x65\x73\163\137\x74\157\153\x65\156"] : '';
        goto bL;
        uK:
        $d0 = isset($Ww["\x69\x64\x5f\164\x6f\x6b\145\156"]) && !empty($Ww["\151\144\137\164\x6f\153\x65\x6e"]) ? $Ww["\x69\144\137\x74\x6f\x6b\145\156"] : '';
        bL:
        if (!(empty($d0) && isset($Ww["\164\157\153\145\x6e"]) && !empty($Ww["\164\x6f\x6b\x65\x6e"]))) {
            goto jY;
        }
        $d0 = $Ww["\x74\157\153\x65\156"];
        jY:
        Utilities::save_tokens_in_cookie_and_session($Ww, new appValues($tw), $GF);
        $Zi = new ImplicitGrant($tw);
        return $Zi->mo_oauth_client_mo_login($PN, $d0, $Ww);
        j2:
        $mQ->invokeAll("\x6d\x6f\137\x70\x72\x65\137\141\x75\x74\x68\137\162\x65\x73\160\157\x6e\x73\x65\x5f\160\x72\x6f\143\x65\x73\163", [$_GET]);
        $rI = isset($_GET["\x63\157\x64\145"]) ? $_GET["\143\x6f\x64\145"] : '';
        $rI = Html::escape($rI);
        $xM = isset($_GET["\x73\164\141\164\x65"]) ? $_GET["\x73\x74\141\164\x65"] : '';
        $xM = Html::escape($xM);
        $KL = Utilities::decodeState($xM);
        $GF = isset($KL["\x74\x65\163\x74\x73\x73\x6f"]) ? $KL["\x74\145\163\164\x73\x73\157"] === true ? true : false : false;
        $IR = self::validate_code_and_state($rI, $xM, $GF);
        $BG->remove("\x6f\x61\x75\x74\x68\62\163\x74\x61\x74\x65");
        $PN = new appValues($IR);
        $Qq = $PN->get_appType();
        $U1 = $PN->loginflowtype;
        [$CK, $uE] = $Qq == "\x43\x75\163\x74\x6f\x6d\137\x4f\160\x65\156\x5f\151\144" || $U1 == "\117\x70\145\x6e\x49\104" ? self::implement_openid_flow($PN, $rI, '', $GF) : self::implement_oauth_flow($PN, $rI, '', $GF);
        $N8 = self::flattenArray($uE);
        if (!($GF || isset($_COOKIE["\x6d\157\x5f\x74\145\163\164\x43\157\x6e\146\x69\147"]))) {
            goto IR;
        }
        self::Test_Configuration($N8, $PN->appName);
        IR:
        return self::performSSOinDrupal($uE, $N8, $PN, $CK, $xM);
    }
    public static function flattenArray($mu, $av = '')
    {
        $s0 = array();
        foreach ($mu as $C3 => $wZ) {
            $ZI = $av . $C3;
            if (is_array($wZ)) {
                goto qa;
            }
            $s0[$ZI] = $wZ;
            goto ww;
            qa:
            $s0 = array_merge($s0, self::flattenArray($wZ, $ZI . "\x3e"));
            ww:
            v5:
        }
        bc:
        return $s0;
    }
    public static function mo_oauth_attr_map($dm, $Zw, $KP = "\x61\x74\x74\x72")
    {
        $uk = array();
        foreach ($dm as $C3 => $wZ) {
            if (!(!empty($wZ) && !empty($Zw[$C3]))) {
                goto K9;
            }
            if (array_key_exists($wZ, $uk) && $KP == "\x72\157\154\x65") {
                goto FW;
            }
            $uk[trim($wZ, "\40")] = $Zw[$C3];
            goto SO;
            FW:
            if ($uk[$wZ][-1] != "\73") {
                goto W2;
            }
            $uk[trim($wZ, "\x20")] = $uk[$wZ] . $Zw[$C3];
            goto F5;
            W2:
            $uk[trim($wZ, "\x20")] = $uk[$wZ] . "\x3b" . $Zw[$C3];
            F5:
            SO:
            K9:
            St:
        }
        Jy:
        return $uk;
    }
    public static function to_explode_semicolon($wh)
    {
        $YQ = array();
        foreach ($wh as $C3 => $vi) {
            $vi = explode("\x3b", $vi);
            $YQ[$C3] = $vi;
            za:
        }
        Z7:
        return $YQ;
    }
    public static function create_profile($Pv, $nV, $PN)
    {
        if (\Drupal::service("\155\x6f\x64\165\154\145\x5f\x68\x61\156\x64\154\x65\x72")->moduleExists("\160\162\x6f\x66\151\x6c\x65")) {
            goto fH;
        }
        return new Response();
        fH:
        $XZ = $PN->enable_profile_mapping;
        if ($XZ) {
            goto T9;
        }
        return new Response();
        T9:
        $mM = $PN->profile_entity_type;
        $P3 = isset($nV->toArray()[$mM . "\137\x70\x72\x6f\x66\x69\154\x65\x73"][0]) ? $nV->toArray()[$mM . "\x5f\x70\x72\157\x66\151\154\x65\x73"][0]["\x74\141\162\x67\x65\164\x5f\x69\144"] : NULL;
        $sa = ProfileType::load($mM);
        $nt = $sa->toArray()["\162\x6f\154\145\163"];
        $yw = $nV->getRoles();
        if (!(!empty(array_intersect($nt, $yw)) || empty($nt))) {
            goto N2;
        }
        if (!is_null($P3)) {
            goto j9;
        }
        try {
            $Y_ = Profile::create(["\x74\x79\160\x65" => $mM, "\165\x69\x64" => $nV->id(), "\x66\151\145\154\144\x5f\x61\x67\162\x65\145\137\x74\145\x72\155\163" => 1]);
            $Y_->save();
            $P3 = $Y_->toArray()["\x70\162\157\146\151\154\145\137\151\144"][0]["\x76\x61\154\x75\145"];
        } catch (EntityStorageException $ia) {
            \Drupal::logger("\x6d\151\x6e\x69\157\x72\x61\156\147\145\137\157\141\x75\x74\x68\137\x63\x6c\x69\145\156\164")->notice("\x45\156\x74\151\164\171\x53\164\157\x72\141\147\145\105\170\x63\x65\x70\x74\x69\x6f\156\x3a\40\105\x72\162\157\162\40\167\150\151\x6c\x65\40\x63\162\145\141\164\x69\156\x67\x20\141\156\144\x20\x73\x61\166\151\x6e\x67\x20\164\x68\145\40\x70\x72\x6f\146\x69\x6c\x65\40\164\171\x70\x65\56");
        }
        j9:
        if (empty($Pv)) {
            goto c7;
        }
        foreach ($Pv as $C3 => $wZ) {
            $Y_ = Profile::load($P3);
            $Y_->set($C3, $wZ);
            da:
        }
        SM:
        $Y_->save();
        c7:
        N2:
    }
    public static function perform_role_mapping($PN, $Tc, $nV, $rq, $NC = '')
    {
        $F6 = $PN->get_roleAttribute();
        $dX = $PN->get_enableRolemapping();
        $TF = $PN->get_disableRoleUpdate();
        $w4 = $PN->get_roleMap();
        $w4 = !empty($w4) ? $w4 : array();
        $d7 = array();
        $tK = array();
        foreach ($w4 as $C3) {
            if (!($C3["\165\163\x65\162\137\163\x70\x5f\x72\157\154\x65\137\156\x61\x6d\145"] != '' && $C3["\x75\x73\x65\162\x5f\151\144\x70\137\162\x6f\154\145\137\156\141\155\x65"] != '')) {
                goto EQ;
            }
            array_push($d7, $C3["\165\x73\145\162\137\163\x70\137\x72\x6f\x6c\x65\x5f\156\141\x6d\145"]);
            array_push($tK, $C3["\165\163\145\162\137\151\144\x70\137\162\157\x6c\145\137\156\141\x6d\x65"]);
            EQ:
            m2:
        }
        E3:
        $HQ = self::mo_oauth_attr_map($d7, $tK, "\x72\x6f\x6c\x65");
        $Ds = array();
        if (!is_array($rq) && !empty($rq)) {
            goto NH;
        }
        $Ds = is_array($rq) ? $rq : [];
        goto p0;
        NH:
        $rq = str_replace(["\x5b", "\x5d"], '', $rq);
        $rq = explode("\54", $rq);
        foreach ($rq as $C3 => $wZ) {
            $Ds[] = str_replace("\42", '', trim($wZ));
            va:
        }
        pH:
        p0:
        if (!($dX && !is_null($F6) && !empty($F6))) {
            goto SF;
        }
        $Cg = $nV->getRoles();
        if ($TF) {
            goto Rt;
        }
        foreach ($Cg as $C3 => $wZ) {
            if (in_array($wZ, array_keys($HQ))) {
                goto Hg;
            }
            if (!($wZ != $PN->get_defaultRole())) {
                goto ZJ;
            }
            $nV->removeRole($wZ);
            $nV->save();
            ZJ:
            Hg:
            tw:
        }
        H8:
        Rt:
        foreach ($HQ as $C3 => $wZ) {
            $eB = FALSE;
            $K4 = explode("\x3b", $wZ);
            foreach ($K4 as $Kr => $sQ) {
                if (strpos($sQ, "\46") !== false) {
                    goto pw;
                }
                if (!in_array($sQ, $Ds)) {
                    goto tv;
                }
                $eB = TRUE;
                goto Kh;
                tv:
                goto N1;
                pw:
                $l0 = true;
                $Kf = explode("\46", $sQ);
                foreach ($Kf as $l2 => $DD) {
                    if (in_array($DD, $Ds)) {
                        goto p7;
                    }
                    $l0 = false;
                    goto ZR;
                    p7:
                    Fq:
                }
                ZR:
                $eB = $l0 ? TRUE : FALSE;
                if (!$eB) {
                    goto TS;
                }
                goto Kh;
                TS:
                N1:
                fi:
            }
            Kh:
            if ($eB && $C3 != "\x61\165\164\150\x65\156\164\x69\x63\141\x74\x65\144") {
                goto Ud;
            }
            $nV->removeRole($C3);
            $nV->save();
            goto kf;
            Ud:
            $nV->addRole($C3);
            $nV->save();
            kf:
            Er:
        }
        U6:
        SF:
    }
    public static function getToken($FD, $ok, $DT, $sm, $rI, $eu, $QE, $FL, $IR, $GF = false, $YI = '')
    {
        $base_url = \Drupal::request()->getSchemeAndHttpHost() . \Drupal::request()->getBasePath();
        $BG = \Drupal::service("\163\x65\x73\x73\x69\157\156");
        $PN = new appValues($IR);
        $Wy = array();
        $KM = $PN->scope;
        if ($ok == "\x61\x75\x74\150\x6f\x72\x69\x7a\x61\164\x69\x6f\x6e\137\x63\157\144\x65\x5f\x77\x69\x74\x68\137\x70\x6b\143\145") {
            goto LW;
        }
        if ($ok == "\x72\x65\146\162\145\x73\150\x5f\x74\157\x6b\x65\156") {
            goto aR;
        }
        if ($QE && !$FL) {
            goto T1;
        }
        if (!$QE && $FL) {
            goto X5;
        }
        $Wy = Utilities::callService($FD, "\162\x65\144\x69\162\x65\x63\x74\x5f\x75\162\151\75" . urlencode($eu) . "\46\147\162\141\x6e\164\137\164\171\x70\145\75" . $ok . "\x26\143\x6c\x69\x65\156\164\x5f\x69\x64\x3d" . urlencode($DT) . "\46\143\154\x69\145\156\164\137\x73\145\143\x72\145\164\75" . urlencode($sm) . "\x26\x63\x6f\x64\x65\x3d" . $rI, array("\x41\165\164\x68\x6f\162\151\x7a\x61\x74\151\x6f\156" => "\102\141\163\x69\143\40" . base64_encode($DT . "\72" . $sm), "\x41\143\x63\x65\160\x74" => "\141\160\160\154\151\143\141\164\151\157\156\x2f\152\x73\157\x6e", "\103\157\156\x74\x65\x6e\x74\55\124\171\x70\145" => "\x61\160\x70\x6c\151\143\141\164\x69\157\x6e\x2f\x78\55\167\167\167\55\x66\157\162\155\x2d\165\x72\x6c\x65\156\143\157\144\x65\x64"), '', $GF);
        goto oq;
        X5:
        $Wy = Utilities::callService($FD, "\x72\145\x64\151\162\x65\x63\x74\137\x75\162\x69\75" . urlencode($eu) . "\x26\x67\x72\x61\156\164\137\x74\x79\x70\x65\75" . $ok . "\46\x63\154\151\145\156\x74\x5f\151\x64\75" . urlencode($DT) . "\x26\x63\x6c\151\x65\x6e\164\x5f\163\x65\x63\x72\145\x74\x3d" . urlencode($sm) . "\46\143\157\x64\x65\x3d" . $rI, array("\101\143\143\145\160\x74" => "\141\x70\x70\x6c\x69\x63\141\164\x69\x6f\156\x2f\152\163\x6f\x6e", "\103\x6f\x6e\x74\145\156\164\55\124\171\160\x65" => "\x61\x70\160\x6c\x69\x63\x61\164\x69\157\x6e\57\x78\55\167\167\167\55\146\157\162\x6d\55\x75\x72\154\145\x6e\143\x6f\144\145\x64"), '', $GF);
        oq:
        goto CQ;
        T1:
        $Wy = Utilities::callService($FD, "\162\145\x64\151\162\x65\143\x74\137\165\162\151\75" . urlencode($eu) . "\46\x67\162\x61\x6e\x74\137\164\x79\160\x65\x3d" . $ok . "\x26\143\x6f\x64\x65\x3d" . $rI, array("\101\165\x74\150\157\x72\x69\x7a\141\x74\151\x6f\x6e" => "\x42\141\163\151\143\x20" . base64_encode($DT . "\72" . $sm), "\x41\x63\x63\145\x70\x74" => "\141\x70\160\154\x69\x63\141\164\151\x6f\156\57\152\x73\157\156", "\103\x6f\x6e\x74\x65\x6e\x74\55\124\171\x70\x65" => "\141\160\x70\154\151\x63\x61\164\151\x6f\156\57\170\55\x77\167\x77\55\146\x6f\162\155\55\x75\162\x6c\145\156\143\157\144\145\144"), '', $GF);
        CQ:
        goto s7;
        LW:
        $NZ = $BG->get("\x63\157\x64\145\x56\145\162\x69\146\x69\145\162");
        $BG->remove("\143\157\144\x65\x56\145\162\151\146\x69\x65\x72");
        $Wy = Utilities::callService($FD, "\162\145\x64\151\162\145\x63\164\137\x75\162\x69\x3d" . urlencode($eu) . "\x26\147\162\x61\156\164\x5f\x74\x79\160\145\75\x61\165\x74\x68\x6f\162\151\x7a\x61\164\151\x6f\156\x5f\143\157\144\x65" . "\46\x63\157\144\145\x3d" . $rI . "\x26\143\x6f\x64\145\x5f\x76\145\162\x69\x66\151\x65\162\x3d" . $NZ . "\46\143\154\x69\x65\156\x74\x5f\x69\144\x3d" . urlencode($DT), array("\101\143\x63\x65\160\164" => "\141\160\160\x6c\x69\x63\141\164\151\157\156\x2f\152\163\x6f\156", "\x43\157\156\164\145\x6e\164\x2d\x54\x79\160\x65" => "\141\160\160\154\151\x63\141\x74\151\x6f\x6e\x2f\x78\x2d\167\167\x77\55\146\157\x72\155\x2d\165\162\x6c\145\156\x63\x6f\144\145\144", "\x4f\x72\151\147\x69\156" => $base_url), '', $GF);
        goto s7;
        aR:
        $MY = [];
        $p5 = "\162\145\144\151\x72\145\143\164\x5f\165\162\x69\75" . urlencode($eu) . "\x26\147\162\x61\x6e\x74\137\x74\x79\160\x65\75" . $ok . "\x26\162\145\146\x72\x65\163\150\137\x74\157\x6b\145\156\75" . $YI;
        if (!$QE) {
            goto zs;
        }
        $MY = ["\101\x75\x74\150\157\162\151\172\141\164\x69\157\x6e" => "\x42\141\x73\x69\143\x20" . base64_encode($DT . "\72" . $sm), "\101\x63\x63\x65\160\164" => "\141\x70\x70\x6c\151\x63\x61\x74\x69\157\156\x2f\x6a\163\157\156", "\103\x6f\x6e\x74\x65\x6e\164\x2d\124\x79\x70\145" => "\141\160\x70\x6c\151\x63\141\x74\x69\157\156\x2f\170\55\x77\167\x77\x2d\x66\x6f\x72\155\55\165\x72\x6c\145\x6e\x63\x6f\144\145\x64"];
        zs:
        if (!$FL) {
            goto j_;
        }
        $p5 = $p5 . "\46\x63\154\151\145\x6e\x74\137\x69\x64\x3d" . urlencode($DT) . "\x26\143\x6c\151\145\x6e\164\137\x73\x65\143\162\145\x74\x3d" . urlencode($sm);
        j_:
        $Wy = Utilities::callService($FD, $p5, $MY, '', $GF);
        s7:
        $HP = json_decode($Wy, true);
        if (isset($HP["\141\143\x63\x65\x73\x73\x5f\x74\x6f\153\x65\156"]) || isset($HP["\x69\144\x5f\164\x6f\x6b\x65\x6e"])) {
            goto iy;
        }
        \Drupal::logger("\x6d\151\156\151\157\162\x61\156\x67\x65\x5f\157\x61\x75\164\150\x5f\143\x6c\x69\x65\156\164")->error("\111\156\x76\x61\x6c\151\144\x20\162\x65\x73\x70\x6f\x6e\x73\x65\x20\x72\x65\x63\x65\x69\166\145\144\x20\x77\x68\x69\x6c\x65\x20\x66\145\x74\x63\150\151\156\x67\x20\x61\x63\x63\145\163\163\40\164\x6f\153\145\x6e\40\146\162\157\155\40\x75\x72\154\x2d\x3c\142\x72\76\x20{$FD}\x20\x3c\142\162\x3e\74\142\x72\76\40\122\x65\163\160\x6f\156\163\145\40\x3d\76\40\x3c\160\x72\145\76\x3c\143\x6f\x64\145\76" . print_r($HP, TRUE) . "\x3c\x70\162\x65\76\74\143\x6f\144\145\76");
        if ($ok == "\x72\x65\146\162\145\x73\x68\x5f\x74\x6f\x6b\x65\x6e") {
            goto CV;
        }
        if ($GF) {
            goto fl;
        }
        Utilities::anonymousRedirect('', '', "\123\157\x6d\145\164\150\x69\x6e\x67\x20\x77\145\156\164\x20\x77\162\157\x6e\x67\54\x20\120\x6c\x65\x61\x73\145\40\143\157\156\164\x61\x63\x74\x20\164\150\x65\40\163\x69\x74\145\x20\x61\144\155\x69\156\x69\163\164\x72\x61\x74\157\162\56");
        goto u8;
        CV:
        \Drupal::logger("\155\157\x5f\x73\145\x73\163\x69\x6f\156\137\x6d\141\x6e\x61\147\x65\162")->warning("\141\143\143\145\163\163\40\164\157\x6b\145\x6e\x20\162\x65\156\145\167\x61\x6c\x20\x66\x61\151\x6c\145\x64\56\74\142\x72\76\x20\x72\x65\x73\x70\157\x6e\163\x65\x20\x3d\x20\47\45\162\145\x73\160\157\156\163\x65\x27\x20", ["\x25\x72\x65\163\160\157\x6e\x73\x65" => print_r($HP, TRUE)]);
        goto u8;
        fl:
        Utilities::show_error_message_testconfig("\x49\x6e\x76\141\x6c\x69\x64\x20\x72\145\163\160\x6f\156\163\x65\x20\162\x65\143\x65\151\166\x65\144\x20\x77\150\x69\x6c\x65\40\146\145\x74\x63\150\x69\156\x67\x20\141\143\143\x65\x73\x73\40\164\x6f\x6b\x65\156\x20\146\x72\157\x6d\40\x75\x72\154\x2d\74\x62\x72\76{$FD}\40\x3c\142\162\76\x3c\x62\x72\x3e\x20\x52\145\163\160\157\x6e\x73\145\40\75\76\x20\x3c\x70\162\145\76\x3c\143\157\x64\x65\x3e" . print_r($HP, TRUE) . "\x3c\x70\162\145\x3e\x3c\x63\157\144\x65\76");
        u8:
        iy:
        Utilities::save_tokens_in_cookie_and_session($HP, new appValues($IR), $GF);
        return $HP;
    }
    public static function validate_code_and_state($rI, $xM, $GF)
    {
        $BG = \Drupal::service("\163\x65\x73\163\x69\x6f\156");
        if (empty($rI)) {
            goto Uw;
        }
        if (empty($xM)) {
            goto wp;
        }
        $IR = '';
        $xM = Utilities::decodeState($xM);
        if (!empty($BG->get("\141\x70\160\x6e\141\x6d\145"))) {
            goto FB;
        }
        if (!(isset($xM["\141\160\x70\156\x61\x6d\145"]) && !empty($xM["\x61\x70\160\156\141\x6d\x65"]))) {
            goto Kg;
        }
        $IR = $xM["\141\160\x70\156\x61\155\145"];
        Kg:
        goto Hj;
        FB:
        $IR = $BG->get("\x61\160\x70\x6e\x61\x6d\x65");
        Hj:
        if (!empty($IR)) {
            goto xQ;
        }
        \Drupal::logger("\155\151\156\x69\x6f\162\x61\156\x67\x65\x5f\157\141\165\164\150\137\143\x6c\151\145\x6e\164")->error("\x49\x6e\x76\141\154\151\144\x20\x73\x74\141\x74\145\x20\160\x61\162\x61\x6d\145\164\145\x72");
        if ($GF) {
            goto R_;
        }
        Utilities::anonymousRedirect();
        goto Ys;
        R_:
        Utilities::show_error_message_testconfig("\111\x6e\166\x61\154\x69\144\x20\163\x74\x61\164\145\x20\160\141\162\141\155\x65\164\145\x72");
        Ys:
        xQ:
        goto Og;
        Uw:
        \Drupal::logger("\155\151\x6e\x69\157\162\x61\x6e\x67\x65\137\x6f\x61\x75\164\x68\x5f\143\154\x69\x65\x6e\164")->error("\74\160\162\145\76\x3c\143\157\144\x65\76" . print_r($_GET, true) . "\x3c\x70\162\x65\76\x3c\143\x6f\144\x65\x3e");
        if ($GF) {
            goto T0;
        }
        Utilities::anonymousRedirect();
        goto Ru;
        T0:
        Utilities::show_error_message_testconfig("\x3c\x70\162\145\x3e\x3c\143\157\x64\x65\76" . print_r($_GET, true) . "\74\x70\x72\x65\76\x3c\x63\157\x64\x65\x3e");
        Ru:
        goto Og;
        wp:
        $lD = DBQueries::get_all_app_names_with_oauth_login_enabled();
        return $lD[0]->app_name;
        Og:
        return $IR;
    }
    public static function implement_openid_flow($PN, $tX = '', $JK = '', $GF = false)
    {
        $rI = $tX;
        $do = $PN->get_valuesInHeader();
        $dG = $PN->get_valuesInBody();
        $ok = $PN->grantTypevalue;
        $rI = $tX;
        $qO = Utilities::getCallbackUrl($PN->appName);
        if (!(!$do == TRUE || !$do == 1)) {
            goto zv;
        }
        $do = false;
        zv:
        if (!(!$dG == TRUE || !$dG == 1)) {
            goto cm;
        }
        $dG = false;
        cm:
        if ($ok == "\160\141\x73\163\167\x6f\162\x64") {
            goto BR;
        }
        $CK = self::getToken($PN->get_accessTokenEndpoint(), $ok, $PN->get_clientId(), $PN->get_clientSecret(), $rI, $qO, $do, $dG, $PN->appName, $GF);
        goto QY;
        BR:
        $CK = $JK->getToken($PN, $GF);
        QY:
        if (isset($CK["\151\x64\x5f\164\x6f\153\145\x6e"])) {
            goto h1;
        }
        \Drupal::logger("\155\151\156\151\x6f\162\x61\x6e\147\x65\137\157\x61\x75\164\150\137\x63\x6c\x69\x65\x6e\x74")->error("\x54\x68\145\x20\x4f\101\165\x74\x68\x20\162\x65\163\160\157\156\163\145\40\144\157\x65\163\x6e\47\164\x20\x63\157\156\164\x61\x69\x6e\x20\x61\156\x20\111\x44\x20\x74\157\x6b\x65\x6e\x2e\x20\120\154\145\141\x73\x65\40\x74\162\171\x20\163\x65\x6c\x65\x63\164\x69\156\147\x20\47\117\x41\165\x74\150\x20\62\56\60\x20\101\160\160\154\x69\143\x61\x74\x69\x6f\x6e\x27\40\x66\x72\157\x6d\x20\x74\x68\145\40\x27\123\x65\x6c\145\x63\164\x20\101\x70\160\154\151\143\x61\164\x69\157\x6e\40\x54\x79\160\145\47\x20\162\141\144\x69\157\x20\x62\x75\x74\x74\x6f\156\54\x20\151\146\x20\151\164\x20\x63\x6f\x6e\x74\141\151\156\x73\x20\x61\156\40\141\x63\x63\145\163\163\40\x74\157\x6b\145\x6e\56\x3c\142\162\x3e\x3c\x62\x72\76\74\142\x3e\x52\145\x73\x70\x6f\x6e\x73\x65\40\72\40\x3c\x2f\x62\x3e\74\160\x72\x65\x3e\74\x63\157\144\145\76" . print_r($CK, true) . "\x3c\57\x63\x6f\x64\145\x3e\74\x2f\x70\x72\x65\x3e");
        if ($GF) {
            goto Cy;
        }
        Utilities::anonymousRedirect('', '', "\123\157\x6d\x65\164\x68\x69\156\x67\40\x77\x65\x6e\x74\40\x77\162\157\x6e\x67\x2c\x20\x50\x6c\x65\x61\x73\145\40\143\157\x6e\x74\141\143\x74\x20\164\150\145\40\163\x69\164\145\40\x61\144\x6d\x69\156\151\163\x74\x72\141\x74\x6f\162\56");
        goto h6;
        Cy:
        Utilities::show_error_message_testconfig("\x54\150\145\x20\117\101\x75\164\150\40\162\145\x73\160\x6f\156\163\x65\40\x64\157\x65\x73\156\47\x74\40\x63\157\x6e\164\141\x69\x6e\40\141\156\40\111\x44\x20\164\157\153\145\156\56\x20\x50\x6c\x65\141\x73\x65\x20\x74\162\x79\x20\163\x65\154\x65\143\x74\151\156\147\x20\x27\x4f\101\165\x74\150\40\62\56\x30\x20\x41\160\160\154\151\x63\x61\x74\151\x6f\x6e\x27\x20\x66\162\157\155\x20\164\x68\x65\40\47\x53\x65\154\x65\143\x74\x20\101\x70\160\154\x69\x63\141\164\x69\x6f\156\x20\x54\171\x70\145\47\x20\162\x61\144\151\x6f\x20\142\x75\164\x74\157\156\54\x20\151\x66\x20\151\x74\x20\x63\157\x6e\x74\141\x69\156\163\x20\141\156\40\141\x63\x63\145\163\x73\40\x74\x6f\153\145\x6e\x2e\74\142\162\76\74\x62\162\76\74\x62\76\122\x65\163\160\x6f\156\x73\145\x20\72\40\x3c\57\x62\76\x3c\x70\x72\x65\x3e\x3c\x63\x6f\144\x65\x3e" . print_r($CK, true) . "\74\x2f\x63\x6f\144\145\76\74\57\160\x72\x65\x3e");
        h6:
        h1:
        $H6 = new HandleJWT($PN, $CK["\x69\x64\137\x74\x6f\x6b\145\x6e"], $GF);
        $uE = $H6->getUserAttributesFromIDToken();
        return [$CK, $uE];
    }
    public static function implement_oauth_flow($PN, $tX = '', $JK = '', $GF = false)
    {
        $do = $PN->get_valuesInHeader();
        $dG = $PN->get_valuesInBody();
        $BS = $PN->appName;
        $ok = $PN->grantTypevalue;
        $rI = $tX;
        $qO = Utilities::getCallbackUrl($PN->appName);
        $hR = \Drupal::config("\x6d\x69\156\151\157\162\x61\x6e\147\x65\x5f\x6f\141\165\164\150\137\x63\154\x69\x65\x6e\x74\x2e\x73\145\x74\164\151\x6e\x67\163")->get("\155\x69\156\151\157\162\141\156\147\x65\x5f\x6f\x61\165\164\150\x5f\x63\154\x69\145\x6e\x74\x5f\x67\162\157\x75\x70\137\x69\156\x66\157\137\145\160\137" . $BS);
        if (!(!$do == TRUE || !$do == 1)) {
            goto vb;
        }
        $do = false;
        vb:
        if (!(!$dG == TRUE || !$dG == 1)) {
            goto XD;
        }
        $dG = false;
        XD:
        if ($ok == "\x70\141\163\163\x77\x6f\x72\144" && !empty($JK)) {
            goto LI;
        }
        $CK = self::getToken($PN->get_accessTokenEndpoint(), $ok, $PN->get_clientId(), $PN->get_clientSecret(), $rI, $qO, $do, $dG, $BS, $GF);
        goto qP;
        LI:
        $CK = $JK->getToken($PN, $GF);
        qP:
        if (isset($CK["\x61\x63\143\x65\163\163\137\x74\x6f\153\145\x6e"])) {
            goto Lc;
        }
        \Drupal::logger("\x6d\x69\156\151\157\162\141\x6e\x67\x65\137\157\141\165\164\150\x5f\143\154\x69\145\x6e\164")->error("\x54\x68\x65\x20\117\x41\x75\164\150\40\x72\145\163\x70\157\156\163\145\x20\144\157\145\163\156\47\164\x20\143\x6f\156\x74\141\x69\156\40\x61\x6e\40\x61\x63\x63\145\x73\163\40\x74\x6f\x6b\x65\x6e\56\x20\x50\154\145\x61\x73\145\40\164\x72\171\40\x73\x65\x6c\145\x63\164\x69\156\x67\x20\47\117\x70\145\156\x49\104\40\x43\x6f\x6e\156\145\x63\x74\x20\101\x70\160\x6c\x69\143\x61\164\x69\157\x6e\x27\x20\146\x72\157\x6d\40\164\150\145\40\47\x53\145\154\145\x63\x74\x20\101\160\x70\x6c\x69\x63\x61\x74\x69\157\156\x20\124\x79\160\x65\x27\x20\x72\x61\x64\151\x6f\40\x62\x75\164\x74\x6f\x6e\x2c\40\151\x66\x20\151\164\x20\143\157\156\164\141\151\156\x73\x20\141\x6e\40\x49\104\40\x74\157\x6b\145\x6e\56\74\142\162\x3e\74\142\162\76\x3c\x62\76\122\145\x73\x70\x6f\156\163\x65\x20\x3a\40\x3c\57\x62\x3e\x3c\160\162\145\x3e\x3c\x63\157\144\x65\x3e" . print_r($CK, true) . "\x3c\x2f\143\x6f\x64\145\x3e\74\x2f\160\162\145\x3e");
        if ($GF) {
            goto RM;
        }
        Utilities::anonymousRedirect('', '', "\x53\x6f\x6d\145\x74\x68\151\156\147\40\x77\x65\x6e\x74\40\167\162\157\156\147\x2c\x20\x50\154\x65\141\x73\145\x20\143\x6f\x6e\164\141\x63\x74\x20\164\150\145\40\163\x69\164\145\40\141\x64\x6d\x69\156\151\x73\164\162\141\x74\157\162\x2e");
        goto TL;
        RM:
        Utilities::show_error_message_testconfig("\124\150\x65\40\117\101\x75\164\x68\40\x72\x65\x73\x70\x6f\x6e\163\x65\x20\144\x6f\145\x73\x6e\47\x74\x20\143\x6f\x6e\x74\x61\x69\x6e\x20\x61\156\40\x61\x63\x63\145\x73\x73\x20\164\x6f\153\145\x6e\x2e\x20\120\154\145\x61\163\x65\40\x74\x72\171\x20\163\145\154\145\x63\164\x69\x6e\147\x20\x27\117\x70\x65\156\x49\x44\40\x43\x6f\x6e\x6e\x65\x63\x74\40\101\160\160\x6c\x69\143\141\x74\151\x6f\156\47\x20\146\x72\157\x6d\40\164\150\145\x20\x27\123\x65\154\x65\x63\x74\40\101\x70\x70\x6c\151\x63\141\x74\151\157\x6e\x20\x54\x79\x70\145\47\40\x72\141\x64\x69\x6f\40\142\165\164\x74\157\156\x2c\40\x69\146\x20\151\164\40\143\157\x6e\x74\x61\x69\x6e\x73\x20\x61\x6e\x20\x49\x44\x20\164\157\153\145\156\56\x3c\x62\162\76\x3c\x62\162\x3e\74\x62\x3e\x52\145\163\x70\x6f\156\163\145\40\x3a\40\x3c\x2f\142\x3e\74\160\162\145\76\74\x63\x6f\x64\x65\76" . print_r($CK, true) . "\74\57\143\157\x64\x65\76\74\57\160\162\145\76");
        TL:
        goto vs;
        Lc:
        $qf = $CK["\x61\143\143\145\x73\163\x5f\x74\157\x6b\x65\x6e"];
        vs:
        $GW = $PN->get_userInfoEndpoint();
        if (!(substr($GW, -1) == "\75")) {
            goto tS;
        }
        $GW .= $qf;
        tS:
        $uE = self::getResourceOwner($GW, $qf, $GF);
        if (empty($hR)) {
            goto xq;
        }
        $vD = Utilities::getGroupsInfo($hR, $qf, $GF);
        $vD = !empty($vD) ? $vD : [];
        $uE = array_merge($uE, $vD);
        xq:
        return [$CK, $uE];
    }
    public static function final_redirect_url_after_login($xM, $M0, $T2)
    {
        $xM = Utilities::decodeState($xM);
        $AV = '';
        if (isset($xM["\144\x65\163\164\151\156\x61\164\151\x6f\x6e"]) && !empty($xM["\144\145\163\164\x69\x6e\x61\x74\151\x6f\x6e"])) {
            goto US;
        }
        if (isset($xM["\x72\145\x73\x74\162\x69\143\164\x65\144\x70\141\x67\145\144\145\163\x74\151\x6e\x61\164\x69\157\x6e"]) && !empty($xM["\162\x65\x73\x74\162\x69\143\164\145\x64\x70\x61\147\145\x64\x65\x73\x74\151\156\141\x74\151\157\x6e"])) {
            goto v6;
        }
        if ($M0 != '') {
            goto p5;
        }
        if (isset($xM["\162\145\x66\145\162\x65\162"]) && !empty($xM["\162\x65\x66\145\162\x65\x72"])) {
            goto B5;
        }
        $AV = Url::fromRoute("\x65\x6e\164\151\164\171\x2e\165\163\145\x72\x2e\x63\141\x6e\x6f\156\151\x63\x61\154", ["\165\x73\145\x72" => $T2])->toString();
        goto BO;
        B5:
        $AV = $xM["\162\x65\146\x65\x72\x65\x72"];
        BO:
        goto lN;
        p5:
        $AV = $M0;
        lN:
        goto VP;
        v6:
        $AV = $xM["\162\x65\163\x74\162\x69\x63\164\x65\144\160\141\x67\x65\x64\145\x73\164\x69\156\x61\x74\151\157\156"];
        VP:
        goto Eg;
        US:
        $AV = $xM["\144\145\x73\164\x69\x6e\x61\x74\x69\157\156"];
        Eg:
        return $AV;
    }
    public static function performSSOinDrupal($uE, $N8, $PN, $CK, $xM = '')
    {
        $BG = \Drupal::service("\x73\x65\x73\163\x69\157\156");
        $mQ = \Drupal::moduleHandler();
        $BU = \Drupal::config("\155\x69\156\151\x6f\162\141\x6e\147\x65\137\x6f\141\x75\x74\150\137\143\154\x69\x65\x6e\x74\x2e\163\x65\x74\164\151\x6e\147\163");
        $mQ->invokeAll("\155\157\x5f\160\162\145\x5f\165\163\145\162\x5f\154\x6f\141\x64", [$uE, $CK]);
        $GN = '';
        $gL = '';
        $el = '';
        $q1 = '';
        if (empty($PN->get_emailAttr())) {
            goto V0;
        }
        $gL = $PN->get_emailAttr();
        V0:
        if (empty($PN->get_nameAttr())) {
            goto Ic;
        }
        $GN = $PN->get_nameAttr();
        Ic:
        if (!(!empty($gL) && isset($N8[$gL]))) {
            goto Tt;
        }
        $q1 = $N8[$gL];
        Tt:
        if (!($GN != "\123\x65\x6c\x65\143\x74" && isset($N8[$GN]))) {
            goto CZ;
        }
        $el = $N8[$GN];
        CZ:
        $w8 = $BU->get("\x6d\151\156\x69\x6f\162\141\156\147\145\137\157\x61\165\164\150\x5f\x63\x6c\x69\x65\156\x74\137\154\157\141\144\x5f\x75\x73\x65\x72");
        if (!($w8 == "\x45\155\x61\x69\154" && empty($q1))) {
            goto hv;
        }
        Utilities::save_SSO_report_data("\106\x41\x49\x4c\125\122\x45\56\40\105\x6d\141\x69\154\40\156\x6f\164\x20\x6d\141\160\160\145\144", $PN->appName, $el ? $el : "\x2d", "\55");
        Utilities::show_sso_error_message("\x45\155\141\151\x6c\x20\x61\144\x64\x72\x65\x73\163\x20\x6e\157\x74\x20\x72\145\x63\145\x69\166\x65\144\x2e", "\120\154\x65\141\x73\145\x20\x65\x6e\x73\165\162\145\x20\105\155\x61\151\154\40\101\164\164\162\x69\x62\x75\x74\145\40\x66\x69\x65\154\x64\x20\151\163\40\x63\x6f\156\x66\151\147\x75\x72\145\x64\40\160\162\157\160\145\x72\154\171\x20\151\156\40\x74\150\x65\x20\101\164\x74\x72\x69\x62\x75\x74\x65\x20\46\x20\x52\157\154\145\40\x4d\x61\160\160\151\x6e\x67\40\164\x61\142\x20\157\x66\40\164\150\145\x20\155\157\x64\x75\x6c\x65\x2e");
        hv:
        if (!($w8 == "\125\x73\145\162\156\141\x6d\145" && empty($el))) {
            goto et;
        }
        Utilities::save_SSO_report_data("\x46\x41\x49\x4c\125\122\105\56\x20\125\163\x65\x72\156\x61\x6d\145\x20\156\157\x74\40\x6d\x61\160\x70\x65\x64", $PN->appName, $el ? $el : "\55", "\x2d");
        Utilities::show_sso_error_message("\x55\x73\145\x72\x6e\x61\x6d\145\x20\x6e\157\164\x20\x72\x65\x63\145\x69\166\x65\x64\56", "\x50\154\145\141\163\145\x20\145\156\x73\x75\162\145\x20\125\163\145\x72\x6e\x61\x6d\145\40\101\x74\164\x72\x69\142\x75\x74\145\40\146\x69\145\154\x64\x20\x69\163\x20\x63\x6f\156\146\x69\147\165\162\x65\x64\40\x70\162\157\160\x65\x72\154\x79\40\x69\x6e\x20\x74\150\x65\x20\101\164\x74\x72\151\142\165\164\x65\x20\46\40\x52\x6f\154\145\x20\x4d\141\x70\160\151\x6e\147\x20\x74\141\x62\x20\157\146\x20\164\150\x65\40\155\157\144\x75\x6c\x65\56");
        et:
        $gw = Utilities::Is_Restricted_Domain($q1);
        if (!$gw) {
            goto i8;
        }
        Utilities::save_SSO_report_data("\106\x41\111\x4c\125\x52\105\56\x20\104\157\x6d\x61\151\x6e\x20\x52\145\163\164\x72\151\143\164\x65\144", $PN->appName, $el ? $el : "\x2d", $q1);
        Utilities::anonymousRedirect('', "\101\40\165\x73\x65\x72\x20\x28\145\155\x61\x69\154\40\55\40\74\x69\76" . $q1 . "\74\57\151\x3e\x2c\x20\x75\163\x65\162\156\141\155\145\x20\x2d\x20\x3c\x69\76" . $el . "\74\x2f\x69\76\51\40\x77\x69\164\150\x20\162\145\x73\x74\162\151\143\x74\145\x64\40\x64\x6f\x6d\141\151\x6e\x20\x69\x73\40\x61\164\164\145\x6d\x70\151\156\147\x20\x74\157\x20\x6c\157\147\151\x6e", "\131\157\165\x20\141\162\145\x20\x6e\157\x74\x20\x61\154\x6c\157\167\x65\144\x20\164\x6f\40\154\x6f\147\x69\x6e\40\x74\x6f\40\x74\x68\x69\163\40\163\151\x74\145\x2c\40\160\x6c\x65\141\163\x65\40\x63\x6f\156\x74\x61\x63\164\x20\164\150\x65\x20\163\151\164\x65\40\x61\x64\155\151\156\151\x73\164\x72\x61\164\157\162\x2e");
        i8:
        self::is_role_allowed($PN, $uE);
        if ($w8 == "\105\x6d\x61\x69\154") {
            goto W4;
        }
        if ($w8 == "\x55\163\145\x72\156\x61\x6d\145") {
            goto eX;
        }
        goto uY;
        W4:
        $nV = user_load_by_mail($q1);
        goto uY;
        eX:
        $nV = user_load_by_name($el);
        uY:
        $dX = $PN->get_enableRolemapping();
        $HN = $PN->get_defaultRole();
        if (!empty($el)) {
            goto r5;
        }
        $el = $q1;
        r5:
        $sw = $BU->get("\x6d\x69\156\151\x6f\162\x61\x6e\x67\145\x5f\157\141\165\164\x68\x5f\x72\x65\x71\x75\x69\x72\145\x5f\x70\162\157\146\x69\x6c\145\x5f\146\x69\145\x6c\144");
        if (!empty($nV->uid)) {
            goto Cm;
        }
        $mQ->invokeAll("\x6d\x6f\x5f\x70\162\145\x5f\165\x73\x65\x72\x5f\x72\x65\x67\x69\163\164\x65\162", [$uE]);
        $Cb = new mOUserRegistration($PN->autocreateuser, $PN->create_disable_user, $PN->redirect_disable, $PN->redirect_unregister, $el, $q1, $dX, $HN, $PN->appName);
        $nV = $Cb->create_new_user($uE);
        Cm:
        $nV = User::load($nV->id());
        $mQ->invokeAll("\x6d\157\x5f\160\157\163\x74\137\x75\163\145\x72\137\154\x6f\x61\x64", [$nV, $uE, $CK]);
        if ($nV->isActive()) {
            goto zc;
        }
        $EA = $BU->get("\155\x69\156\x69\157\162\141\156\x67\x65\137\157\141\x75\164\x68\137\141\143\164\x69\x76\141\x74\145\137\x75\163\145\x72\163");
        if ($EA) {
            goto kw;
        }
        Utilities::anonymousRedirect($PN->redirect_disable, '', "\x54\x68\145\x20\x75\x73\145\x72\156\141\155\145\x20\74\151\76" . $nV->getAccountName() . "\x3c\x2f\x69\76\40\x68\141\x73\40\x6e\x6f\x74\40\x62\145\145\156\x20\x61\x63\x74\151\166\x61\x74\145\x64\x20\x6f\162\x20\x69\163\40\142\x6c\x6f\143\x6b\x65\144\x2e");
        goto UF;
        kw:
        $nV->set("\x73\x74\x61\x74\165\x73", TRUE);
        $nV->save();
        \Drupal::logger("\155\151\x6e\151\x6f\162\x61\156\x67\145\137\157\141\x75\x74\150\137\x63\154\x69\x65\156\164")->notice("\x54\x68\x65\40\165\163\145\162\156\141\x6d\x65\x20\74\151\76" . $nV->getAccountName() . "\x3c\57\151\76\x20\x68\x61\x73\40\142\145\145\156\x20\x61\143\164\151\x76\x61\x74\x65\144");
        UF:
        zc:
        $G7 = $BU->get("\155\151\156\x69\x6f\162\141\x6e\147\x65\x5f\x6f\x61\x75\164\150\137\162\x65\x73\164\x72\151\x63\x74\x5f\x73\x73\157\137\x66\x6f\x72\x5f\141\144\155\151\x6e");
        if (!($G7 && $nV->hasRole("\141\x64\155\151\156\151\x73\164\x72\x61\x74\157\x72"))) {
            goto yB;
        }
        Utilities::anonymousRedirect($PN->redirect_disable, "\101\x20\165\x73\x65\x72\40\167\151\x74\150\40\x61\x64\155\x69\x6e\x69\x73\164\x72\x61\164\x6f\162\x20\x52\x6f\154\x65\x20\151\163\40\x61\164\164\x65\x6d\x70\151\156\x67\x20\123\x53\x4f", "\123\157\x6d\x65\164\150\151\x6e\x67\x20\167\x65\x6e\164\x20\x77\162\x6f\156\x67\54\x20\x50\x6c\145\x61\163\x65\x20\x63\157\156\x74\x61\143\x74\40\x74\x68\x65\x20\x73\x69\x74\x65\40\x61\x64\x6d\x69\x6e\151\163\x74\x72\x61\x74\x6f\162\56");
        yB:
        self::perform_attribute_mapping($nV, $PN, $N8);
        self::implement_role_mapping($nV, $PN, $uE);
        self::perform_profile_mapping($nV, $PN, $uE);
        self::perform_group_mapping($nV, $PN, $uE);
        $mQ->invokeAll("\x6d\157\x5f\x70\157\x73\x74\137\x6d\x61\x70\x70\151\x6e\x67", [$nV, $uE, $CK]);
        $AV = self::final_redirect_url_after_login($xM, $PN->redirect_after_login, $nV->id());
        Utilities::save_SSO_report_data("\123\125\103\103\x45\x53\123", $PN->appName, $el, $q1, $AV);
        $BG->set("\155\x6f\x5f\x73\163\x6f\137\163\x65\163\x73\x69\157\x6e", true);
        $BG->set("\141\160\x70\x6e\x61\155\x65", $PN->appName);
        if (!($PN->sendidtokeninslorequest && isset($CK["\x69\144\x5f\164\x6f\x6b\x65\156"]))) {
            goto k8;
        }
        $BG->set("\x6d\157\x5f\x69\x64\x5f\164\157\x6b\145\156", $CK["\151\x64\137\x74\x6f\153\145\x6e"]);
        k8:
        $WT = array();
        $WT["\162\145\144\x69\x72\x65\x63\x74"] = $AV;
        user_login_finalize($nV);
        $BG->set("\x6d\x6f\137\x73\x73\x6f\x5f\163\x65\163\163\151\157\x6e", true);
        $BG->set("\x61\160\160\x6e\x61\155\x65", $PN->appName);
        $mQ->invokeAll("\x6d\157\137\x70\157\x73\164\x5f\x75\163\x65\162\137\154\157\x67\151\156", [&$nV, $uE]);
        $mQ->invokeAll("\155\157\x5f\x6f\141\x75\x74\150\137\x75\x73\x65\162\137\164\157\153\x65\x6e", [&$nV, $CK, $AV]);
        if (!($sw == 1 && !Utilities::check_for_redirect_to_user_profile_form($q1))) {
            goto rN;
        }
        Utilities::redirect_to_profile_form($nV->id());
        rN:
        $Wy = new RedirectResponse($WT["\x72\145\144\x69\162\x65\143\x74"]);
        \Drupal::service("\160\141\x67\x65\x5f\143\141\x63\x68\x65\x5f\x6b\x69\x6c\154\137\x73\x77\151\x74\143\x68")->trigger();
        return $Wy;
    }
    public static function is_role_allowed($PN, $uE)
    {
        $wS = $PN->enable_role_based_restriction;
        $hm = $PN->role_restriction_attrname;
        $SM = $PN->list_of_roles;
        $v6 = $PN->typeof_role_restriction;
        $TI = $PN->redirect_url_for_role_restriction;
        if (!($wS && $SM && $v6 && $hm)) {
            goto VV;
        }
        $Jh = new MiniorangeOAuthRoleRestriction($uE, $hm, $SM, $TI);
        if ($v6 === "\167\150\151\164\x65\x6c\x69\x73\x74") {
            goto tR;
        }
        $Jh->validate_blacklisted_role_restriction();
        goto hS;
        tR:
        $Jh->validate_whitelisted_role_restriction();
        hS:
        VV:
        return new Response();
    }
    public static function perform_attribute_mapping($nV, $PN, $uE)
    {
        $at = $PN->get_attributeMap();
        $at = !empty($at) ? $at : array();
        $dm = array();
        $Zw = array();
        foreach ($at as $C3) {
            if (!($C3["\x6d\x61\143\150\151\x6e\x65\137\x6e\x61\155\145"] != '' && $C3["\x61\164\x74\x72\x69\x62\165\164\x65\x5f\x6e\141\x6d\145"] != '')) {
                goto n0;
            }
            array_push($Zw, $C3["\155\141\x63\150\151\x6e\145\x5f\156\x61\155\x65"]);
            array_push($dm, $C3["\141\164\164\162\x69\x62\165\x74\145\137\156\x61\155\x65"]);
            n0:
            Tv:
        }
        xo:
        $a2 = self::mo_oauth_attr_map($dm, $Zw);
        $Au = array();
        if (!(isset($a2) && !empty($a2))) {
            goto fk;
        }
        foreach ($a2 as $Kr => $sQ) {
            if (!isset($uE[$Kr])) {
                goto wo;
            }
            $Au[$sQ] = $uE[$Kr];
            wo:
            YH:
        }
        Gp:
        foreach ($Au as $C3 => $wZ) {
            $nV->{$C3} = $wZ;
            $nV->save();
            aE:
        }
        cw:
        fk:
    }
    public static function implement_role_mapping($nV, $PN, $uE)
    {
        $A0 = $PN->get_roleAttribute();
        if (!(isset($A0) && !empty($A0))) {
            goto dT;
        }
        $rq = self::getnestedattribute($uE, $A0);
        if (is_null($nV)) {
            goto fV;
        }
        self::perform_role_mapping($PN, $uE, $nV, $rq, $PN->appName);
        fV:
        dT:
    }
    public static function perform_profile_mapping($nV, $PN, $uE)
    {
        $NG = $PN->get_profileMap();
        $NG = !empty($NG) ? $NG : array();
        $b3 = array();
        $Qg = array();
        if (empty($NG)) {
            goto RO;
        }
        foreach ($NG as $C3) {
            if (!($C3["\x75\163\145\x72\137\160\x72\x6f\x66\x69\x6c\x65\x5f\146\x69\x65\154\144\137\x6e\x61\x6d\x65"] != '' && $C3["\x75\x73\145\x72\x5f\x70\162\157\x66\x69\154\145\x5f\x69\x64\x70\137\x61\164\164\x72\x69\x62\165\164\x65\x5f\x6e\141\155\145"] != '')) {
                goto mM;
            }
            array_push($b3, $C3["\165\163\x65\x72\137\160\162\x6f\146\x69\154\145\x5f\146\x69\x65\x6c\x64\137\x6e\141\x6d\x65"]);
            array_push($Qg, $C3["\165\163\145\x72\137\160\x72\157\146\151\x6c\x65\137\x69\144\160\x5f\x61\164\164\162\x69\142\x75\x74\x65\137\156\141\155\145"]);
            mM:
            Tm:
        }
        pY:
        $Pr = self::mo_oauth_attr_map($b3, $Qg, "\x72\157\x6c\x65");
        $Ao = array();
        if (!(isset($Pr) && !empty($Pr))) {
            goto rn;
        }
        $Pr = self::to_explode_semicolon($Pr);
        foreach ($Pr as $C3 => $vi) {
            $yl = array();
            foreach ($vi as $wZ) {
                if (!array_key_exists($wZ, $uE)) {
                    goto vo;
                }
                array_push($yl, $uE[$wZ]);
                vo:
                P_:
            }
            D4:
            $Ao[$C3] = $yl;
            Wb:
        }
        GT:
        self::create_profile($Ao, $nV, $PN);
        rn:
        RO:
    }
    public static function perform_group_mapping($nV, $PN, $uE)
    {
        $Ji = $PN->enablegroupmapping;
        $bv = $PN->keepExistingGroups;
        $a7 = $PN->groupAttribute;
        $mp = !empty($PN->groupmap) ? json_decode($PN->groupmap, true) : [];
        $IH = '';
        if (empty($a7)) {
            goto jS;
        }
        $IH = self::getnestedattribute($uE, $a7);
        jS:
        $TH = [];
        if (!is_array($IH) && !empty($IH)) {
            goto Cu;
        }
        $TH = is_array($IH) ? $IH : [];
        goto bz;
        Cu:
        $IH = str_replace(["\x5b", "\x5d"], '', $IH);
        $IH = explode("\54", $IH);
        foreach ($IH as $C3 => $wZ) {
            $TH[] = str_replace("\x22", '', trim($wZ));
            Rs:
        }
        EI:
        bz:
        $DI = [];
        $FB = [];
        foreach ($mp as $C3) {
            if (empty(trim($C3["\x6f\141\x75\164\150\x5f\x73\145\x72\x76\145\x72\137\x61\164\164\x72\x73"]))) {
                goto oH;
            }
            array_push($DI, $C3["\x67\x72\157\165\x70\x5f\x6e\x61\155\145"]);
            array_push($FB, $C3["\x6f\141\x75\x74\150\x5f\163\145\x72\166\x65\162\x5f\141\164\164\162\x73"]);
            oH:
            VO:
        }
        rO:
        $YN = self::mo_oauth_attr_map($DI, $FB, "\162\157\x6c\x65");
        if (!($Ji && is_array($TH) && !empty($YN) && $nV)) {
            goto by;
        }
        foreach ($YN as $C3 => $wZ) {
            $Kt = false;
            $Nn = \Drupal::entityTypeManager()->getStorage("\147\162\157\x75\x70");
            $CP = $Nn->load($C3);
            if (!$CP) {
                goto aT;
            }
            if (!$CP->getMember($nV)) {
                goto he;
            }
            $Kt = true;
            he:
            $us = explode("\73", $wZ);
            if (!empty(array_intersect($TH, $us))) {
                goto HO;
            }
            if (!($Kt && !$bv)) {
                goto wz;
            }
            $CP->removeMember($nV);
            $CP->save();
            wz:
            goto uH;
            HO:
            if ($CP->getMember($nV)) {
                goto dp;
            }
            $CP->addMember($nV);
            $CP->save();
            dp:
            uH:
            aT:
            fg:
        }
        vE:
        by:
    }
    public static function Test_Configuration($uE, $IR)
    {
        $s9 = \Drupal::service("\145\x78\x74\145\x6e\x73\x69\157\156\56\x6c\x69\x73\x74\x2e\x6d\x6f\144\x75\x6c\145")->getPath("\x6d\x69\156\x69\157\162\141\156\x67\145\x5f\x6f\141\x75\x74\150\137\x63\x6c\x69\145\x6e\164");
        $base_url = \Drupal::request()->getSchemeAndHttpHost() . \Drupal::request()->getBasePath();
        setrawcookie("\155\157\56\164\145\163\x74\x43\x6f\x6e\146\151\x67", true, \Drupal::time()->getRequestTime() - 300, "\x2f");
        $Yu = isset($uE["\145\x6d\x61\151\x6c"]) ? $uE["\145\x6d\141\151\x6c"] : "\125\163\x65\162";
        $H3 = '';
        Utilities::show_attr($uE, $H3, 0, '', "\x3c\x74\162\40\163\x74\171\154\x65\x3d\x22\164\x65\170\x74\x2d\141\154\151\147\156\72\143\145\156\x74\145\x72\x3b\42\x3e", "\x3c\x74\x64\40\x73\164\x79\154\145\x3d\x27\x66\157\156\x74\55\x77\145\151\x67\x68\164\x3a\x62\x6f\x6c\144\x3b\x70\141\144\x64\x69\x6e\147\72\62\45\x3b\142\157\x72\x64\145\x72\x3a\x32\160\170\x20\x73\157\154\x69\x64\x20\43\x39\64\71\x30\71\x30\x3b\x20\x77\x6f\162\144\x2d\167\162\x61\160\72\x62\162\x65\141\x6b\55\167\x6f\162\x64\x3b\x27\x3e");
        $cK = is_array($uE) ? json_encode($uE) : '';
        \Drupal::configFactory()->getEditable("\x6d\151\x6e\151\157\x72\x61\x6e\147\145\x5f\157\x61\x75\164\150\137\x63\154\151\145\156\x74\56\163\145\x74\x74\151\156\x67\x73")->set("\x6d\x69\x6e\151\157\162\x61\156\x67\145\x5f\157\141\x75\x74\150\x5f\x63\x6c\151\145\156\x74\x5f\141\164\164\162\137\154\151\x73\164\x5f\x66\162\x6f\155\x5f\163\x65\x72\x76\x65\x72\137" . $IR, $cK)->save();
        $ns = [];
        if (!is_array($uE)) {
            goto Dq;
        }
        $ns = array_combine(array_keys($uE), array_keys($uE));
        Dq:
        $ns = is_array($ns) ? json_encode($ns) : '';
        \Drupal::configFactory()->getEditable("\155\x69\156\x69\x6f\162\141\156\x67\x65\137\157\141\x75\x74\150\x5f\143\154\x69\x65\156\x74\56\x73\145\x74\164\x69\x6e\x67\163")->set("\155\151\x6e\x69\x6f\162\141\x6e\x67\145\137\x6f\x61\165\164\x68\x5f\x63\154\x69\x65\156\x74\x5f\x61\164\164\162\137\154\151\163\164\137\146\162\x6f\155\x5f\x73\145\x72\x76\x65\x72\137\x6d\141\160\x70\151\x6e\147\137" . $IR, $ns)->save();
        echo "\x3c\144\151\x76\40\x73\x74\171\x6c\x65\75\x22\x66\x6f\x6e\164\55\x66\141\x6d\x69\x6c\171\72\103\x61\154\151\x62\x72\x69\x3b\x70\141\144\x64\x69\156\x67\72\60\x20\63\x25\x3b\x22\76";
        echo "\x3c\144\151\166\40\x73\x74\171\x6c\x65\75\42\x63\x6f\154\157\x72\72\x20\x23\x33\x63\67\x36\x33\x64\73\142\141\x63\153\x67\x72\x6f\165\x6e\x64\x2d\143\x6f\154\x6f\162\x3a\40\x23\144\x66\x66\60\x64\70\73\40\160\x61\x64\144\x69\x6e\147\72\x32\45\x3b\x6d\141\x72\147\x69\156\55\142\157\x74\164\157\155\72\62\x30\160\x78\x3b\164\x65\x78\164\55\x61\154\151\x67\156\72\x63\x65\x6e\x74\x65\x72\73\x20\142\x6f\x72\x64\145\x72\72\x31\160\170\40\163\x6f\154\x69\144\x20\43\101\105\104\x42\71\x41\x3b\15\xa\x20\x20\x20\x20\x20\40\x20\x20\x20\x20\40\40\x20\40\40\40\40\x20\x20\40\x20\x20\40\x20\x20\x20\x20\40\x20\x20\x66\157\x6e\164\55\163\151\x7a\145\x3a\x31\65\160\x74\x3b\x22\76\15\12\x20\x20\40\40\x20\x20\x20\x20\x20\40\x20\40\40\x20\x20\x20\x20\x20\x20\40\40\40\x20\40\40\40\40\40\x20\x20\124\x45\123\124\x20\123\x55\x43\x43\x45\123\x53\x46\125\x4c\xd\12\x20\x20\40\40\40\40\40\40\40\40\x20\40\x20\40\x20\x20\x20\40\40\40\x20\x20\40\40\x20\x20\40\x20\x3c\x2f\144\x69\x76\x3e\xd\xa\x20\40\x20\40\x20\40\x20\40\x20\x20\x20\40\x20\40\x20\40\40\x20\40\40\40\40\x20\40\40\40\x20\x20\x3c\x64\x69\x76\40\x73\164\171\x6c\x65\75\x22\x64\x69\x73\160\x6c\141\x79\x3a\x62\x6c\x6f\143\x6b\73\x74\x65\x78\x74\55\x61\x6c\x69\x67\x6e\72\x63\x65\156\164\145\x72\x3b\155\x61\162\147\151\x6e\x2d\x62\157\x74\x74\x6f\x6d\x3a\x34\45\x3b\x22\76\xd\xa\x20\40\40\40\x20\x20\40\40\x20\x20\40\x20\40\x20\x20\40\x20\x20\40\x20\40\x20\x20\x20\40\x20\x20\40\40\40\x3c\151\x6d\x67\40\163\x74\x79\154\145\x3d\42\167\151\x64\x74\150\72\x31\65\x25\x3b\42\x73\162\143\x3d\42" . $base_url . "\57" . $s9 . "\57\x61\163\x73\x65\164\163\57\x69\155\x67\57\147\x72\x65\x65\156\137\x63\x68\145\x63\153\56\x70\156\x67\42\76\15\xa\x20\40\40\40\40\x20\x20\40\40\x20\x20\40\x20\x20\40\x20\x20\x20\x20\40\x20\x20\x20\40\x20\40\40\x20\x3c\x2f\144\151\x76\76";
        echo "\74\163\160\141\156\x20\163\x74\171\x6c\145\75\42\x66\x6f\x6e\x74\x2d\x73\x69\172\145\72\x31\63\x70\x74\x3b\x22\76\74\142\76\x48\x65\x6c\x6c\157\x3c\57\x62\76\54\x20" . $Yu . "\x3c\57\x73\x70\141\x6e\76\x3c\x62\162\57\x3e\xd\12\x20\40\x20\40\40\40\40\x20\40\40\40\40\40\x20\40\x20\x20\x20\40\40\40\x20\x20\40\40\x20\40\40\74\160\x20\x73\x74\x79\x6c\x65\75\42\x66\157\156\x74\x2d\167\145\151\147\150\x74\x3a\142\157\x6c\144\73\146\x6f\156\164\55\163\151\x7a\x65\x3a\x31\x33\x70\x74\73\155\141\162\147\151\x6e\55\x6c\145\x66\x74\x3a\x31\x25\x3b\x22\76\x41\124\x54\122\x49\x42\125\x54\105\123\x20\122\x45\103\105\x49\x56\105\x44\72\74\57\160\76\15\xa\x20\40\x20\x20\x20\x20\x20\40\x20\40\x20\x20\40\40\x20\40\x20\40\40\40\x20\x20\x20\40\40\40\40\x20\x3c\x74\141\142\x6c\145\40\163\x74\171\x6c\x65\75\x22\x62\x6f\162\144\145\x72\55\x63\x6f\x6c\x6c\x61\160\x73\145\72\x63\x6f\x6c\x6c\141\160\163\x65\73\142\x6f\x72\x64\x65\162\x2d\163\x70\x61\143\x69\x6e\147\72\x30\x3b\40\x64\x69\x73\160\x6c\141\171\72\x74\141\142\x6c\145\x3b\x77\151\x64\x74\x68\72\61\60\60\x25\x3b\40\146\x6f\156\164\x2d\x73\151\x7a\145\72\61\x33\160\164\x3b\x62\x61\x63\x6b\x67\x72\x6f\165\156\144\55\x63\157\x6c\x6f\162\x3a\x23\x45\x44\105\x44\105\x44\73\42\76\xd\xa\x20\x20\40\40\x20\40\40\40\40\x20\x20\x20\40\x20\40\40\x20\40\40\x20\40\x20\40\x20\x20\x20\40\40\x20\40\x20\40\x3c\x74\162\40\163\x74\171\x6c\145\x3d\42\164\x65\x78\x74\55\141\154\151\147\156\72\143\x65\x6e\164\145\162\x3b\42\x3e\15\12\x20\x20\40\x20\40\x20\x20\x20\40\x20\x20\40\x20\x20\x20\40\40\40\40\40\x20\x20\x20\x20\x20\x20\40\x20\40\40\x20\40\40\x20\40\x20\x3c\164\x64\40\163\164\x79\x6c\x65\x3d\42\146\x6f\x6e\x74\x2d\167\145\151\x67\x68\164\72\142\157\x6c\144\73\x62\157\x72\144\145\x72\x3a\62\160\170\40\x73\x6f\x6c\151\x64\x20\x23\71\x34\71\x30\x39\x30\73\160\141\144\x64\x69\156\147\72\x32\45\73\42\x3e\101\x54\x54\x52\x49\102\x55\x54\105\40\116\x41\115\x45\74\x2f\x74\x64\x3e\15\xa\40\40\x20\40\x20\x20\x20\40\x20\40\40\x20\x20\x20\x20\x20\x20\40\x20\x20\40\40\40\40\x20\x20\40\40\x20\40\x20\40\x20\x20\40\x20\x3c\x74\144\x20\163\164\x79\154\145\75\42\x66\x6f\x6e\x74\x2d\x77\145\151\x67\150\x74\72\142\x6f\154\144\73\160\x61\144\x64\x69\156\x67\72\62\x25\x3b\x62\157\162\144\145\x72\72\x32\160\170\40\x73\x6f\x6c\151\144\40\43\71\64\x39\x30\x39\x30\73\40\167\157\x72\x64\x2d\167\x72\x61\x70\x3a\142\162\145\141\153\55\167\x6f\x72\144\73\42\x3e\101\124\124\x52\x49\x42\125\x54\x45\x20\x56\101\114\x55\x45\74\x2f\x74\144\76\xd\xa\x20\x20\40\x20\x20\x20\x20\40\40\40\40\40\x20\40\x20\x20\40\x20\x20\x20\x20\x20\40\x20\40\40\40\40\x20\40\40\x20\74\x2f\164\162\76";
        echo $H3;
        echo "\x3c\x2f\164\x61\x62\154\145\76\74\x2f\144\151\166\76";
        echo "\74\x64\x69\166\40\163\164\171\x6c\145\x3d\42\155\x61\162\x67\x69\156\72\x33\x25\73\144\151\163\x70\x6c\x61\x79\x3a\x62\154\157\143\x6b\73\164\145\170\164\55\x61\154\x69\x67\x6e\72\143\x65\x6e\164\145\162\73\x22\x3e\15\12\40\40\x20\40\x20\40\40\x20\40\x20\x20\40\40\x20\x20\40\40\40\x20\40\40\x20\x20\40\x20\x20\x20\x20\40\x20\74\151\x6e\160\x75\164\40\x73\164\x79\x6c\145\75\x22\160\x61\144\x64\x69\x6e\x67\x3a\61\x25\73\167\x69\144\164\150\72\x33\67\45\x3b\142\141\x63\x6b\x67\x72\157\x75\x6e\x64\x3a\x20\x23\x30\60\71\61\103\104\40\156\157\x6e\x65\x20\162\x65\160\145\x61\x74\x20\163\143\162\x6f\x6c\x6c\x20\x30\45\40\60\x25\x3b\143\165\x72\x73\x6f\x72\72\x20\160\x6f\x69\x6e\x74\x65\x72\73\146\157\x6e\x74\x2d\x73\151\172\145\72\x31\65\x70\x78\x3b\xd\12\40\40\x20\40\x20\x20\40\x20\x20\40\x20\40\x20\x20\40\x20\x20\40\40\x20\40\x20\x20\40\x20\x20\x20\x20\40\x20\x20\x20\x20\x20\x62\157\162\x64\145\x72\x2d\x77\151\x64\164\150\72\x20\x31\x70\x78\73\x62\x6f\162\144\145\x72\55\163\x74\171\x6c\145\x3a\40\163\157\154\151\x64\73\x62\157\x72\x64\x65\162\55\162\x61\144\x69\165\x73\x3a\x20\x33\x70\170\73\167\x68\151\164\x65\x2d\163\160\x61\x63\145\72\x20\156\157\x77\162\141\160\73\x62\x6f\170\55\x73\x69\x7a\x69\x6e\147\x3a\40\x62\x6f\162\x64\145\x72\55\142\x6f\170\x3b\142\157\x72\144\x65\x72\x2d\143\157\154\157\x72\72\x20\x23\x30\60\67\63\101\101\73\15\xa\40\x20\x20\40\40\40\x20\x20\40\40\40\x20\x20\x20\40\40\x20\x20\40\x20\40\x20\40\x20\x20\40\x20\x20\40\x20\40\x20\40\x20\x62\x6f\x78\55\x73\x68\x61\144\157\167\x3a\40\60\x70\170\x20\61\x70\x78\x20\60\160\170\x20\x72\147\x62\x61\50\61\62\60\54\x20\x32\60\x30\54\40\x32\63\x30\x2c\x20\60\56\x36\x29\x20\x69\156\x73\145\x74\x3b\143\157\154\x6f\x72\x3a\40\43\x46\106\x46\x3b\42\164\x79\160\x65\x3d\x22\x62\165\x74\164\x6f\156\x22\x20\166\x61\154\x75\x65\x3d\x22\103\x6f\156\146\x69\x67\165\162\145\40\101\x74\164\x72\151\142\165\164\x65\57\122\x6f\154\145\x20\x4d\141\160\160\151\156\147\42\xd\xa\40\40\x20\x20\x20\40\x20\40\x20\40\x20\x20\x20\40\40\x20\40\40\40\40\x20\x20\40\40\x20\40\x20\x20\x20\x20\x6f\x6e\103\x6c\x69\143\153\x3d\42\143\154\157\x73\145\137\141\156\144\137\x72\145\144\151\x72\145\143\x74\x28\x29\73\x22\x3e\xd\12\xd\xa\40\40\40\40\40\x20\x20\x20\x20\40\40\x20\40\x20\x20\x20\40\40\40\40\x20\x20\40\x20\40\x20\40\x20\40\x20\x3c\151\156\x70\x75\x74\x20\x73\164\x79\x6c\x65\75\42\x70\x61\x64\x64\151\x6e\147\x3a\x31\x25\x3b\x77\x69\x64\164\x68\x3a\x31\x30\x30\x70\170\73\x62\141\143\153\x67\162\157\165\156\144\x3a\40\x23\60\60\71\x31\103\104\x20\x6e\157\156\x65\x20\162\x65\160\145\x61\x74\40\x73\x63\162\157\x6c\x6c\40\60\45\40\60\45\73\x63\165\x72\163\157\x72\x3a\40\x70\157\151\x6e\164\x65\x72\73\146\x6f\x6e\x74\x2d\x73\x69\x7a\x65\72\x31\x35\160\x78\x3b\xd\xa\40\x20\40\40\40\x20\40\x20\40\40\x20\40\x20\x20\x20\40\x20\x20\40\x20\40\x20\40\40\x20\40\40\x20\40\40\40\40\40\40\142\157\162\144\x65\x72\x2d\167\x69\144\x74\x68\x3a\40\x31\x70\170\x3b\x62\x6f\162\144\145\162\55\163\x74\171\154\x65\72\40\x73\x6f\x6c\151\144\x3b\x62\x6f\162\x64\x65\x72\x2d\x72\x61\144\151\x75\x73\72\x20\63\x70\170\x3b\167\150\x69\164\145\x2d\163\160\141\143\145\x3a\40\x6e\x6f\167\x72\x61\x70\73\142\157\170\x2d\x73\151\x7a\x69\156\147\x3a\40\142\x6f\162\144\145\162\x2d\142\x6f\x78\x3b\142\157\162\x64\145\x72\x2d\x63\x6f\154\x6f\x72\72\40\x23\x30\60\x37\x33\101\101\x3b\15\xa\x20\40\x20\40\x20\40\40\40\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\40\x20\40\40\x20\40\40\40\40\40\40\x20\40\40\40\x20\x62\157\x78\55\x73\150\141\x64\x6f\167\72\40\60\160\x78\40\x31\160\x78\x20\60\160\170\40\x72\147\x62\141\50\x31\62\x30\54\40\x32\x30\x30\x2c\40\x32\63\60\x2c\40\x30\56\66\x29\x20\x69\156\x73\x65\164\x3b\x63\x6f\x6c\x6f\162\x3a\40\x23\x46\106\106\x3b\42\x74\x79\x70\x65\75\42\x62\165\x74\164\x6f\156\42\40\x76\141\154\165\145\75\42\x44\x6f\156\145\42\x20\x6f\x6e\103\x6c\x69\143\153\x3d\x22\163\145\154\x66\x2e\x63\x6c\x6f\163\x65\x28\x29\x3b\x22\x3e\xd\12\40\x20\x20\x20\x20\40\40\x20\40\40\40\40\x20\40\40\x20\40\40\x20\x20\x20\x20\x20\x20\40\x20\x3c\57\144\151\x76\76\15\12\40\x20\x20\40\x20\x20\40\40\40\40\40\x20\40\x20\40\40\40\x20\x20\40\x20\40\40\x20\40\x20\x3c\x73\143\x72\x69\x70\x74\x3e\15\12\40\40\x20\x20\x20\x20\x20\x20\40\x20\x20\x20\40\40\x20\x20\40\x20\40\x20\40\x20\40\x20\40\x20\x20\40\40\x20\x66\x75\156\143\164\x69\x6f\x6e\x20\x63\154\x6f\163\145\137\141\156\x64\137\162\145\x64\151\162\x65\143\164\50\x29\173\xd\12\x20\x20\40\x20\40\40\x20\x20\40\x20\x20\x20\x20\40\x20\40\x20\x20\40\x20\x20\x20\40\x20\40\40\40\x20\40\40\x20\x20\40\x20\x20\167\x69\x6e\144\x6f\x77\x2e\x6f\x70\145\156\145\162\56\154\157\x63\x61\x74\151\157\x6e\x2e\150\x72\x65\146\40\75\40\42" . Url::fromRoute("\x6d\x69\156\151\x6f\162\141\x6e\147\145\137\157\141\165\164\150\137\x63\x6c\x69\x65\x6e\x74\x2e\155\x61\x70\x70\151\156\147")->toString() . "\x22\x3b\xd\12\x20\40\40\40\40\40\x20\x20\x20\x20\40\x20\40\x20\40\40\x20\40\x20\40\x20\x20\x20\x20\40\x20\x20\40\x20\x20\40\40\x20\40\x73\x65\154\146\x2e\x63\x6c\157\x73\145\x28\51\x3b\15\12\40\40\x20\40\x20\x20\40\x20\x20\x20\40\x20\x20\40\x20\40\40\x20\40\x20\40\x20\x20\40\x20\x20\40\40\x20\x20\175\15\xa\40\x20\40\40\40\40\40\40\x20\40\40\40\x20\x20\40\x20\40\x20\40\x20\40\x20\x20\40\40\40\74\57\x73\143\x72\x69\x70\164\76";
        exit;
    }
    public static function getResourceOwner($GW, $FZ, $GF = false)
    {
        $Wy = Utilities::callService($GW, NULL, array("\x41\x75\164\x68\157\x72\151\x7a\x61\x74\x69\157\156" => "\x42\x65\141\162\x65\x72\x20" . $FZ), "\x47\105\x54", $GF);
        $HP = json_decode($Wy, true);
        if (isset($HP["\145\x72\x72\157\x72\x5f\144\145\x73\143\x72\x69\160\x74\x69\157\156"])) {
            goto TQ;
        }
        if (!isset($HP["\x65\162\162\157\162"])) {
            goto ng;
        }
        if (is_array($HP["\145\x72\x72\x6f\162"])) {
            goto E2;
        }
        echo $HP["\145\162\162\157\162"];
        goto qv;
        E2:
        print_r($HP["\x65\x72\x72\x6f\162"]);
        qv:
        exit;
        ng:
        goto uI;
        TQ:
        if (is_array($HP["\145\162\162\x6f\162\137\x64\145\x73\x63\162\151\x70\x74\151\157\156"])) {
            goto vA;
        }
        echo $HP["\145\x72\162\157\162\137\144\x65\163\143\162\151\x70\x74\151\x6f\156"];
        goto n_;
        vA:
        print_r($HP["\145\x72\162\157\162\x5f\x64\x65\163\143\x72\151\160\x74\x69\x6f\156"]);
        n_:
        exit;
        uI:
        return $HP;
    }
    public static function testattrmappingconfig($zm, $rh)
    {
        foreach ($rh as $C3 => $Dp) {
            if (is_array($Dp) || is_object($Dp)) {
                goto C5;
            }
            echo "\x3c\164\162\x20\x73\164\171\x6c\x65\75\x27\164\145\170\x74\55\141\154\x69\x67\x6e\x3a\143\x65\x6e\164\x65\x72\73\47\76\x3c\x74\144\40\x73\164\171\154\145\75\47\x66\x6f\156\x74\55\167\x65\151\x67\x68\x74\x3a\x62\157\x6c\144\73\142\x6f\162\x64\145\x72\x3a\x32\x70\170\x20\x73\157\154\151\144\x20\x23\71\64\71\x30\71\x30\x3b\x70\141\x64\x64\151\x6e\147\72\x32\x25\x3b\47\x3e";
            if (empty($zm)) {
                goto Zb;
            }
            echo $zm . "\56";
            Zb:
            echo $C3 . "\x3c\57\164\x64\x3e\x3c\x74\144\x20\x73\164\171\154\145\x3d\x27\x66\x6f\x6e\x74\x2d\167\145\x69\x67\x68\164\72\142\x6f\x6c\x64\x3b\x70\141\x64\144\x69\156\147\72\62\45\73\x62\x6f\x72\x64\145\162\72\62\x70\x78\40\x73\157\x6c\151\144\x20\43\x39\64\x39\x30\x39\x30\73\40\x77\157\162\x64\x2d\167\x72\x61\160\72\142\x72\x65\x61\153\x2d\x77\x6f\162\x64\x3b\x27\76" . $Dp . "\74\57\164\144\x3e\x3c\x2f\x74\162\76";
            goto Bx;
            C5:
            if (empty($zm)) {
                goto xO;
            }
            $zm .= "\56";
            xO:
            self::testattrmappingconfig($zm . $C3, $Dp);
            Bx:
            Qb:
        }
        Xz:
        return new Response();
    }
    public static function getnestedattribute($Dp, $C3)
    {
        if (isset($C3)) {
            goto yd;
        }
        return '';
        yd:
        $YR = explode("\x3e", $C3);
        $U8 = '';
        if (sizeof($YR) > 1) {
            goto sT;
        }
        $U8 = $YR[0];
        if (isset($Dp[$U8]) && !is_array($Dp[$U8])) {
            goto wN;
        }
        if (!isset($Dp[$U8])) {
            goto BB;
        }
        return self::extractLeafNodes($Dp[$U8]);
        BB:
        goto Mm;
        wN:
        return $Dp[$U8];
        Mm:
        goto OD;
        sT:
        $U8 = $YR[0];
        if (!isset($Dp[$U8])) {
            goto Ca;
        }
        return self::getnestedattribute($Dp[$U8], str_replace($U8 . "\x3e", '', $C3));
        Ca:
        OD:
    }
    public static function extractLeafNodes($mu)
    {
        $s0 = array();
        foreach ($mu as $C3 => $wZ) {
            if (is_array($wZ)) {
                goto rd;
            }
            $s0[] = $wZ;
            goto Y1;
            rd:
            $s0 = array_merge($s0, self::extractLeafNodes($wZ));
            Y1:
            Aj:
        }
        cP:
        return $s0;
    }
    public static function mo_oauth_client_initiateLogin($GF = false, $fn = '')
    {
        \Drupal::service("\x70\141\x67\145\x5f\143\x61\143\x68\x65\x5f\153\x69\x6c\x6c\x5f\163\167\151\x74\x63\x68")->trigger();
        Utilities::checkUpgradeUrlStatus();
        $mQ = \Drupal::moduleHandler();
        if (isset($_GET["\141\x70\160\156\x61\x6d\x65"]) && !empty($_GET["\x61\x70\x70\156\x61\x6d\x65"])) {
            goto eV;
        }
        $pW = \Drupal::config("\155\151\156\x69\x6f\x72\x61\x6e\x67\x65\137\x6f\141\x75\x74\x68\x5f\143\x6c\151\145\156\164\56\163\145\x74\x74\x69\x6e\147\x73")->get("\141\x75\164\157\137\x72\x65\144\x69\x72\x65\x63\164\137\x61\160\160\x5f\156\x61\x6d\x65");
        goto ZQ;
        eV:
        $pW = trim(Html::escape($_GET["\141\160\x70\x6e\141\155\145"]));
        ZQ:
        $PN = new appValues($pW);
        $Gz = $PN->getAllConfig();
        $qO = Utilities::getCallbackUrl($pW);
        $mh = $Gz["\141\x75\x74\150\157\x72\x69\172\145\105\x6e\144\x70\x6f\151\x6e\164"];
        $xM = Utilities::generateState($Gz["\141\160\x70\116\141\155\145"], $fn, $GF);
        $ok = $Gz["\x67\162\141\x6e\x74\x54\x79\160\145\x76\141\x6c\165\x65"];
        if (!($ok == "\151\x6d\160\154\x69\143\x69\x74")) {
            goto ey;
        }
        $mc = new ImplicitGrant($Gz["\x61\x70\160\116\141\155\145"]);
        $mc->mo_oauth_client_initiateLogin($PN, $fn, $GF);
        ey:
        if (strpos($mh, "\x3f") !== false) {
            goto Zt;
        }
        $mh = $mh . "\x3f\x63\x6c\x69\145\x6e\164\137\151\x64\75" . $PN->get_clientId() . "\x26\x73\x63\x6f\160\x65\x3d" . $Gz["\163\x63\157\x70\145"] . "\x26\162\145\144\151\162\x65\x63\164\x5f\165\x72\151\75" . $qO . "\x26\162\x65\x73\x70\157\x6e\x73\145\x5f\x74\x79\x70\x65\75\143\157\144\145\x26\x73\x74\x61\x74\x65\75" . $xM;
        goto td;
        Zt:
        $mh = $mh . "\46\143\x6c\151\145\156\x74\137\x69\144\75" . $PN->get_clientId() . "\x26\163\x63\157\x70\145\75" . $Gz["\x73\143\x6f\x70\x65"] . "\46\x72\145\144\x69\x72\145\143\x74\137\165\x72\151\75" . $qO . "\46\162\x65\x73\x70\157\156\x73\x65\137\164\x79\160\145\75\143\x6f\144\x65\x26\x73\164\141\x74\x65\75" . $xM;
        td:
        if (!(session_status() == PHP_SESSION_NONE)) {
            goto zF;
        }
        session_start();
        zF:
        $BG = \Drupal::service("\163\145\163\163\151\x6f\156");
        $BG->set("\157\141\165\x74\x68\62\x73\164\141\164\x65", $xM);
        $BG->set("\141\160\160\156\141\x6d\x65", $Gz["\141\160\160\116\141\x6d\x65"]);
        if (!($ok == "\141\165\x74\x68\x6f\162\x69\172\x61\164\x69\x6f\156\137\x63\157\144\x65\137\x77\151\164\150\137\160\x6b\x63\145")) {
            goto GP;
        }
        $Vh = random_bytes(64);
        $NZ = rtrim(strtr(base64_encode($Vh), "\x2b\x2f", "\x2d\137"), "\75");
        $mb = hash("\x73\x68\141\x32\65\66", $NZ, true);
        $ja = rtrim(strtr(base64_encode($mb), "\53\x2f", "\x2d\137"), "\x3d");
        $mh = $mh . "\46\143\x6f\x64\x65\137\143\x68\141\154\154\145\156\147\x65\x3d" . $ja . "\46\143\157\144\x65\x5f\143\150\141\x6c\x6c\145\156\x67\145\x5f\155\145\164\150\157\144\75\123\x32\x35\66";
        $BG->set("\x63\157\144\x65\x56\145\x72\151\146\x69\145\x72", $NZ);
        GP:
        $mQ->invokeAll("\x6d\157\x5f\160\x72\x65\137\x61\x75\164\150\x6f\x72\x69\x7a\x61\x74\x69\x6f\156\x5f\162\x65\161\165\145\163\x74", [&$mh, $_GET]);
        $Wy = new RedirectResponse($mh);
        $Wy->send();
        exit;
    }
    public static function test_mo_config()
    {
        setrawcookie("\x6d\157\x2e\x74\145\163\x74\103\x6f\x6e\x66\x69\x67", true, \Drupal::time()->getRequestTime() + 300, "\57");
        miniorange_oauth_clientController::miniorange_oauth_client_mologin("\164\145\163\164\117\x41\x75\164\150\x43\x6f\156\x66\x69\x67");
    }
    public static function miniorange_oauth_client_mologin($fn = '')
    {
        $C_ = \Drupal::request();
        $BU = \Drupal::config("\155\151\x6e\151\x6f\162\x61\x6e\147\x65\137\x6f\141\x75\164\x68\137\143\x6c\151\x65\156\x74\x2e\163\x65\x74\164\x69\x6e\x67\x73");
        $cM = $BU->get("\155\x69\156\x69\x6f\x72\141\x6e\147\145\x5f\157\x61\x75\164\x68\137\143\x6c\151\145\156\x74\x5f\143\x75\x73\x74\157\155\x65\162\137\x61\x64\155\x69\x6e\137\146\x72\x61\165\144\137\x63\150\145\x63\153");
        $lp = $BU->get("\155\151\156\x69\x6f\x72\141\156\x67\145\137\x6f\141\x75\164\150\x5f\143\154\151\x65\x6e\164\137\143\165\163\164\x6f\155\x65\x72\x5f\x61\x64\x6d\x69\x6e\x5f\164\157\153\145\156");
        $ql = $BU->get("\155\151\x6e\x69\157\x72\141\156\147\x65\x5f\x6f\x61\x75\x74\150\x5f\143\x6c\151\145\x6e\164\137\x63\x75\163\164\157\155\145\162\x5f\x61\x64\155\151\x6e\x5f\145\x6d\x61\x69\154");
        $BX = $BU->get("\x6d\x69\156\x69\x6f\162\x61\x6e\147\145\137\x6f\141\x75\164\150\137\x63\154\151\x65\156\x74\x5f\154\x69\143\145\x6e\x73\145\137\153\x65\171");
        $J9 = $BU->get("\141\x75\164\x6f\137\162\145\144\151\162\x65\143\164\x5f\x61\x70\x70\137\156\141\x6d\145");
        $OS = $BU->get("\155\x69\x6e\x69\157\x72\x61\156\x67\x65\x5f\157\141\x75\164\150\137\x69\x73\115\x75\154\164\151\123\151\x74\145\x50\154\165\147\151\x6e\x52\x65\x71\x75\x65\x73\x74\x65\x64") == true;
        $nd = $BU->get("\155\x6f\x5f\x6c\x61\163\164\x5f\154\x69\143\x65\x6e\x73\145\137\146\x65\164\143\150\x5f\x74\x69\155\x65");
        $Yb = time();
        if (!($Yb - $nd > 604800)) {
            goto yh;
        }
        self::moOAuthLicenseFetch(true);
        yh:
        $yg = \Drupal::state()->get("\155\151\x6e\x69\x6f\162\141\156\x67\145\x5f\157\141\x75\164\x68\x5f\x69\x73\137\164\162\151\x61\x6c");
        $L0 = $BU->get("\155\x69\x6e\x69\x6f\162\x61\x6e\x67\145\137\157\141\165\164\x68\137\x6c\151\x63\145\156\163\145\105\170\x70\151\x72\171") ?? '';
        $BS = $C_->query->get("\141\x70\160\156\x61\155\x65", $J9);
        $P6 = DBQueries::get_all_apps_from_db();
        $l3 = in_array($BS, $P6) ? (new appValues($BS))->enable_login_with_oauth : 0;
        $iO = Utilities::check_fraud();
        if (empty($ql)) {
            goto nf;
        }
        if (empty($BX)) {
            goto d_;
        }
        if (!$OS && ($iO !== Utilities::decrypt_data($cM, $lp) && $iO !== Utilities::decrypt_data($cM, $lp, "\x41\x45\x53\x2d\61\62\70\x2d\x45\x43\102"))) {
            goto aL;
        }
        if ($yg && (!$L0 || strtotime($L0) < $Yb)) {
            goto Pv;
        }
        if ($fn === "\164\145\x73\164\x4f\101\165\x74\150\103\157\x6e\x66\151\147" && isset($_GET["\141\x70\x70\156\141\x6d\145"]) && !empty($_GET["\x61\160\160\156\141\x6d\x65"])) {
            goto AZ;
        }
        if ($fn !== "\164\x65\163\164\x4f\x41\165\164\x68\103\x6f\156\146\x69\147" && $l3) {
            goto BA;
        }
        Utilities::show_sso_error_message("\x43\x6f\x6e\146\151\147\165\x72\141\164\151\157\x6e\x73\40\x6e\x6f\x74\40\146\x6f\165\x6e\x64\40\157\162\40\114\157\147\151\156\x20\165\163\151\x6e\147\40\x4f\101\165\x74\150\40\160\162\x6f\x76\151\144\x65\x72\x20\x69\x73\x20\x64\151\163\141\x62\x6c\145\144\56", "\120\154\x65\141\x73\145\x20\x65\156\x73\x75\x72\x65\x20\x74\150\145\x20\123\x53\117\40\x6f\x72\40\x54\145\163\x74\x20\103\157\156\156\145\x63\x74\151\157\156\x20\125\122\x4c\40\x69\163\x20\143\157\x72\x72\145\x63\x74\40\x61\156\x64\40\x4c\157\147\151\x6e\x20\x77\x69\x74\150\x20\x4f\101\x75\x74\150\40\x69\x73\40\x65\x6e\x61\142\x6c\x65\x64\56");
        goto gN;
        nf:
        Utilities::show_sso_error_message("\111\x74\x20\141\160\160\x65\x61\x72\163\40\x74\150\x61\x74\40\x79\157\165\x20\x61\x72\145\40\x6e\x6f\164\40\154\157\147\x67\145\x64\x20\x69\156\x74\157\x20\x74\150\x65\40\x6d\157\x64\165\x6c\x65\56", "\x50\154\145\141\x73\x65\x20\154\157\x67\x20\x69\156\x20\164\x6f\40\x74\150\x65\x20\x6d\x6f\144\x75\154\x65\x2e");
        goto gN;
        d_:
        Utilities::show_sso_error_message("\111\164\x20\141\160\x70\x65\x61\x72\x73\x20\164\x68\141\164\40\171\157\x75\40\x68\x61\x76\x65\40\156\157\164\x20\166\145\162\x69\146\x69\x65\x64\x20\x79\x6f\165\x72\x20\x6c\151\x63\x65\x6e\x73\145\x20\x6b\x65\x79", "\x50\x6c\145\141\163\145\40\166\145\162\x69\x66\171\40\x79\157\x75\x72\x20\154\x69\143\145\x6e\x73\145\40\x6b\145\x79\56");
        goto gN;
        aL:
        Utilities::show_sso_error_message("\124\150\x65\x20\x6c\151\x63\145\x6e\x73\145\40\153\145\171\40\171\x6f\x75\x20\150\x61\166\145\x20\145\156\164\x65\162\145\x64\40\x68\141\163\x20\x61\x6c\x72\x65\141\144\x79\40\x62\145\x65\156\x20\x75\x73\145\x64\x2e", "\x50\154\145\141\163\145\40\145\x6e\164\x65\162\40\x61\x20\153\145\171\x20\x77\150\151\143\x68\40\x68\x61\x73\40\156\x6f\x74\40\x62\x65\145\156\40\x75\x73\x65\144\x20\142\145\x66\157\162\145\40\x6f\156\x20\141\x6e\171\x20\157\x74\150\x65\162\x20\151\x6e\x73\x74\141\156\143\x65\40\x6f\x72\x20\x69\x66\40\171\157\x75\x20\150\141\166\145\40\x65\x78\150\141\165\x73\x74\145\144\x20\141\x6c\154\40\x79\x6f\x75\162\40\x6b\145\171\x73\54\40\x79\157\165\40\143\x61\x6e\40\x70\x75\162\143\150\141\163\145\x20\x6d\157\162\145\40\x6c\151\x63\x65\156\x73\x65\x73\56");
        goto gN;
        Pv:
        Utilities::show_sso_error_message("\131\x6f\x75\162\x20\x74\162\x69\141\x6c\x20\x6c\151\x63\x65\x6e\x73\145\40\150\x61\163\x20\x65\x78\x70\x69\162\x65\144\40\x6f\x6e\40" . date("\x6c\40\115\40\x6a\x2c\40\131", strtotime($L0)), "\x2e\40\x52\145\141\x63\x68\40\x6f\165\x74\x20\164\x6f\40\165\x73\x20\141\164\x20\x3c\141\40\150\162\x65\x66\75\42\155\x61\x69\x6c\164\x6f\72\x3a\x64\x72\x75\160\141\154\x73\x75\x70\160\x6f\162\164\100\x78\x65\x63\165\x72\151\x66\x79\56\x63\x6f\x6d\x22\x3e\x64\162\x75\160\141\154\x73\x75\160\x70\157\162\164\x40\x78\145\x63\165\x72\x69\x66\171\56\143\x6f\x6d\74\57\x61\76\40\x74\x6f\x20\x75\160\x67\x72\x61\144\145\x20\171\x6f\x75\x72\x20\x6c\x69\143\x65\156\163\x65\56");
        goto gN;
        AZ:
        return self::mo_oauth_client_initiateLogin(true);
        goto gN;
        BA:
        return self::mo_oauth_client_initiateLogin(false, $fn);
        gN:
    }
    public function oauth_client_logout()
    {
        $eK = new mOOAuthLogout();
        return $eK->mo_oauth_logout();
    }
    public static function openCustomerRequestForm()
    {
        $Wy = new AjaxResponse();
        $wn = \Drupal::formBuilder()->getForm("\x5c\104\x72\x75\160\x61\154\x5c\x6d\x69\x6e\x69\x6f\x72\x61\156\147\145\x5f\157\141\x75\x74\150\x5f\x63\154\x69\x65\x6e\164\134\106\x6f\162\x6d\x5c\x4d\151\x6e\x69\157\162\141\x6e\147\145\x43\x75\163\164\x6f\x6d\145\162\x52\145\161\165\145\x73\164");
        $Wy->addCommand(new OpenModalDialogCommand("\x6d\151\156\151\117\162\x61\x6e\x67\x65\x20\117\x41\165\164\x68\40\103\154\x69\x65\x6e\x74\x20\103\x75\163\x74\157\x6d\x65\162\x20\x53\x75\160\x70\157\x72\164", $wn, ["\x77\x69\144\164\150" => "\64\x35\45"]));
        return $Wy;
    }
    public static function moOAuthLicenseFetch($kI = FALSE)
    {
        $BU = \Drupal::config("\155\151\156\151\157\162\141\156\147\x65\137\x6f\141\x75\x74\150\137\x63\x6c\151\145\x6e\164\x2e\x73\145\164\x74\151\x6e\x67\163");
        $NH = \Drupal::configFactory()->getEditable("\155\151\156\151\157\162\141\156\x67\x65\137\157\x61\x75\164\150\x5f\143\154\x69\145\x6e\x74\x2e\163\x65\164\x74\151\156\147\x73");
        $Yu = $BU->get("\155\151\156\x69\x6f\162\141\156\x67\145\x5f\157\141\165\164\150\x5f\143\x6c\x69\145\x6e\x74\137\x63\x75\x73\x74\157\155\x65\162\x5f\x61\x64\x6d\x69\156\137\145\155\x61\151\154");
        $nQ = new MiniorangeOAuthClientCustomer($Yu, null);
        $uX = json_decode($nQ->ccl(), true);
        if (isset($uX["\x73\x74\141\164\165\x73"]) && $uX["\163\164\141\164\165\x73"] == "\x53\125\103\103\x45\x53\123") {
            goto DH;
        }
        $XR = t("\106\x61\151\154\x65\x64\40\x74\157\40\x66\x65\164\x63\150\40\x6c\x69\x63\145\156\163\x69\x6e\x67\x20\x75\160\144\141\x74\145");
        $S6 = "\145\162\x72\x6f\x72";
        goto xV;
        DH:
        $NH->set("\x6d\157\x5f\154\141\x73\x74\137\154\x69\x63\x65\x6e\163\145\137\146\145\164\x63\150\137\x74\x69\x6d\145", time())->save();
        $NH->set("\x6d\x69\156\x69\157\x72\x61\x6e\147\145\x5f\157\141\165\x74\150\x5f\x6c\151\x63\145\x6e\x73\145\105\170\160\151\x72\171", $uX["\x6c\151\143\x65\156\x73\145\x45\x78\160\151\162\x79"])->save();
        $NH->set("\155\x69\x6e\151\157\162\141\x6e\x67\x65\x5f\x6f\x61\165\164\x68\x5f\163\165\x70\160\157\162\x74\x45\x78\160\151\x72\171", $uX["\163\165\160\x70\x6f\x72\164\105\170\x70\151\x72\171"])->save();
        $NH->set("\x6d\151\x6e\x69\x6f\x72\x61\156\147\x65\x5f\x6f\141\165\164\150\137\151\x73\x4d\165\x6c\x74\151\x53\151\x74\145\120\x6c\165\147\x69\x6e\x52\145\x71\165\145\163\164\x65\x64", isset($uX["\x69\163\x4d\x75\154\164\151\x53\x69\x74\145\120\154\x75\x67\151\x6e\x52\145\x71\x75\145\163\x74\145\x64"]) ? $uX["\151\163\x4d\165\x6c\x74\x69\x53\151\164\145\120\x6c\165\x67\151\x6e\x52\145\161\x75\x65\x73\x74\x65\x64"] : false)->save();
        $cd = isset($uX["\x6e\157\x4f\146\x53\120"]) ? $uX["\156\157\x4f\146\x53\x50"] : 1;
        $NH->set("\x6d\151\x6e\x69\157\162\x61\156\x67\x65\x5f\157\x61\165\x74\150\x5f\x6e\x6f\117\x66\123\120", $cd)->save();
        $zM = isset($uX["\164\x72\151\x61\154"]) ? $uX["\164\x72\x69\141\154"] : false;
        \Drupal::state()->set("\x6d\151\156\151\x6f\x72\x61\156\147\145\137\x6f\x61\165\x74\150\x5f\151\x73\137\164\x72\x69\x61\x6c", $zM);
        $XR = t("\123\x75\143\143\x65\163\163\146\165\x6c\154\x79\x20\x66\145\164\x63\x68\x65\144\40\x74\150\x65\x20\154\x69\x63\x65\156\x73\x69\156\147\x20\165\x70\x64\141\x74\x65");
        $S6 = "\x73\x74\141\164\x75\163";
        xV:
        $S6 == "\163\x74\x61\164\165\163" ? \Drupal::logger("\155\151\156\x69\157\x72\141\x6e\147\145\x5f\157\x61\165\164\x68\x5f\x63\154\x69\x65\156\x74")->notice($XR) : \Drupal::logger("\x6d\151\x6e\151\x6f\162\x61\156\x67\x65\x5f\157\x61\x75\164\150\x5f\x63\x6c\151\x65\x6e\x74")->error($XR);
        if ($kI) {
            goto gJ;
        }
        $S6 == "\163\x74\x61\164\165\163" ? \Drupal::messenger()->addStatus($XR) : \Drupal::messenger()->addError($XR);
        return new RedirectResponse(Url::fromRoute("\x6d\151\156\x69\157\x72\x61\156\147\x65\x5f\x6f\141\x75\x74\150\x5f\143\x6c\151\x65\x6e\x74\56\x63\x75\x73\164\157\155\x65\162\x5f\x73\145\164\x75\160")->toString());
        gJ:
        return new Response();
    }
}

Function Calls

None

Variables

None

Stats

MD5 36b2f28f80707b590da570c0c6e56df5
Eval Count 0
Decode Time 124 ms