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 use Joomla\CMS\Date\Date; defined("\x5f\112\105\x58\105\x43") or die("\x52\145..

Decoded Output download

<?php 
 
 
use Joomla\CMS\Date\Date; 
defined("_JEXEC") or die("Restricted access"); 
require_once JPATH_ROOT . DIRECTORY_SEPARATOR . "administrator" . DIRECTORY_SEPARATOR . "components" . DIRECTORY_SEPARATOR . "com_miniorange_importexportusers" . DIRECTORY_SEPARATOR . "helpers" . DIRECTORY_SEPARATOR . "mo_customer_setup.php"; 
class MoImportExportUtility 
{ 
    public static function cle() 
    { 
        $mO = self::getCustomerDetails(); 
        $Ey = isset($mO["licenseExpiry"]) ? $mO["licenseExpiry"] : "0000-00-00 00:00:00"; 
        if (!($Ey != "0000-00-00 00:00:00")) { 
            goto hx; 
        } 
        $Ij = strtotime($Ey); 
        $wV = $mO["plan_type"]; 
        $bW = (int) floor(($Ij - time()) / 60 / 60 / 24); 
        if ($bW <= 30 && $bW > 15 && !$mO["miniorange_exli_thirtyd"]) { 
            goto O5; 
        } 
        if ($bW <= 15 && $bW > 5 && !$mO["miniorange_exli_fifteend"]) { 
            goto s0; 
        } 
        if ($bW <= 10 && $bW > 5 && !$mO["miniorange_exli_tenth"] && $wV == "monthly") { 
            goto C0; 
        } 
        if ($bW <= 5 && $bW > 1 && !$mO["miniorange_exli_fived"]) { 
            goto qB; 
        } 
        if ($bW == 1 && !$mO["miniorange_exli_first"]) { 
            goto cg; 
        } 
        if ($bW == 0 && !$mO["miniorange_exlid"]) { 
            goto R3; 
        } 
        if (!($bW < 0 && !$mO["miniorange_lexpired"])) { 
            goto Ru; 
        } 
        if (self::licensevalidity($Ij)) { 
            goto Zp; 
        } 
        self::_update_lid("miniorange_lexpired"); 
        json_decode(self::send_email_alert($Ey, 4, $wV, 0, $bW), true); 
        self::freeLicenseKey(); 
        header("Location: " . JURI::base()); 
        Zp: 
        Ru: 
        goto p4; 
        R3: 
        if (self::licensevalidity($Ij)) { 
            goto M1; 
        } 
        self::_update_lid("miniorange_exlid"); 
        json_decode(self::send_email_alert($Ey, 2, $wV, 0, $bW), true); 
        M1: 
        p4: 
        goto w9; 
        cg: 
        if (self::licensevalidity($Ij)) { 
            goto uB; 
        } 
        self::_update_lid("miniorange_exli_first"); 
        json_decode(self::send_email_alert($Ey, 3, $wV, 0, $bW), true); 
        uB: 
        w9: 
        goto Io; 
        qB: 
        if (self::licensevalidity($Ij)) { 
            goto rs; 
        } 
        self::_update_lid("miniorange_exli_fived"); 
        json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true); 
        rs: 
        Io: 
        goto HZ; 
        C0: 
        if (self::licensevalidity($Ij)) { 
            goto TN; 
        } 
        self::_update_lid("miniorange_exli_tenth"); 
        json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true); 
        TN: 
        HZ: 
        goto gr; 
        s0: 
        if (self::licensevalidity($Ij)) { 
            goto Om; 
        } 
        self::_update_lid("miniorange_exli_fifteend"); 
        json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true); 
        Om: 
        gr: 
        goto V2; 
        O5: 
        self::_update_lid("miniorange_exli_thirtyd"); 
        json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true); 
        V2: 
        hx: 
    } 
    public static function freeLicenseKey() 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $W5 = array($qq->quoteName("email") . " = " . $qq->quote(''), $qq->quoteName("password") . " = " . $qq->quote(''), $qq->quoteName("customer_key") . " = " . $qq->quote(''), $qq->quoteName("admin_phone") . " = " . $qq->quote(''), $qq->quoteName("customer_token") . " = " . $qq->quote(''), $qq->quoteName("api_key") . " = " . $qq->quote(''), $qq->quoteName("registration_status") . " = " . $qq->quote(''), $qq->quoteName("login_status") . " = " . $qq->quote(0), $qq->quoteName("transaction_id") . " = " . $qq->quote(''), $qq->quoteName("email_count") . " = " . $qq->quote(0), $qq->quoteName("sms_count") . " = " . $qq->quote(0), $qq->quoteName("sml_lk") . " = " . $qq->quote(''), $qq->quoteName("in_cmp") . " = " . $qq->quote(''), $qq->quoteName("status") . " = " . $qq->quote(''), $qq->quoteName("licenseExpiry") . " = " . $qq->quote("0000-00-00 00:00:00"), $qq->quoteName("supportExpiry") . " = " . $qq->quote("0000-00-00 00:00:00"), $qq->quoteName("licensePlan") . " = " . $qq->quote(''), $qq->quoteName("miniorange_exli_thirtyd") . " = " . $qq->quote(0), $qq->quoteName("miniorange_exli_fifteend") . " = " . $qq->quote(0), $qq->quoteName("miniorange_exli_fived") . " = " . $qq->quote(0), $qq->quoteName("miniorange_exlid") . " = " . $qq->quote(0), $qq->quoteName("miniorange_lexpired") . " = " . $qq->quote(0), $qq->quoteName("miniorange_exli_tenth") . " = " . $qq->quote(0), $qq->quoteName("miniorange_exli_first") . " = " . $qq->quote(0), $qq->quoteName("plan_type") . " = " . $qq->quote('')); 
        $RB = array($qq->quoteName("id") . " = 1"); 
        $tP->update($qq->quoteName("#__miniorange_importexport_customer_details"))->set($W5)->where($RB); 
        $qq->setQuery($tP); 
        $qq->execute(); 
    } 
    public static function _update_lid($jX) 
    { 
        $qq = jFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $W5 = array($qq->quoteName($jX) . " = " . $qq->quote(1)); 
        $RB = array($qq->quoteName("id") . " = " . $qq->quote(1)); 
        $tP->update($qq->quoteName("#__miniorange_importexport_customer_details"))->set($W5)->where($RB); 
        $qq->setQuery($tP); 
        $qq->execute(); 
    } 
    public static function send_email_alert($Da, $G3, $wV, $sG, $bW) 
    { 
        $Fc = self::getHostname(); 
        $BZ = $Fc . "/moas/api/notify/send"; 
        $oA = curl_init($BZ); 
        $mO = self::getCustomerDetails(); 
        $eR = $mO["customer_key"]; 
        $RK = $mO["api_key"]; 
        $gY = $mO["email"]; 
        $vC = round(microtime(true) * 1000); 
        $C2 = $eR . number_format($vC, 0, '', '') . $RK; 
        $WH = hash("sha512", $C2); 
        $EI = "Customer-Key: " . $eR; 
        $FK = "Timestamp: " . number_format($vC, 0, '', ''); 
        $xX = "Authorization: " . $WH; 
        $FE = $gY; 
        $rl = JFactory::getConfig(); 
        $Re = $rl->get("sitename"); 
        $jr = 5 + $bW; 
        JFactory::getLanguage()->load("com_miniorange_importexportusers", JPATH_ADMINISTRATOR); 
        if ($G3 == 1) { 
            goto ep; 
        } 
        if (!($G3 == 2)) { 
            goto Rv; 
        } 
        $bU = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_CONTENT_2", $wV, $jr, $Re); 
        $fi = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_SUBJECT_2", $Re); 
        Rv: 
        goto ws; 
        ep: 
        $bU = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_CONTENT_1", $wV, $Da, $Re); 
        $fi = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_SUBJECT_1", $Re); 
        ws: 
        if (!($G3 == 3)) { 
            goto ez; 
        } 
        $bU = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_CONTENT_3", $wV, $Da, $Re); 
        $fi = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_SUBJECT_1", $Re); 
        ez: 
        if (!($G3 == 4)) { 
            goto pv; 
        } 
        $bU = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_CONTENT_4", $wV, $Re); 
        $fi = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_SUBJECT_2", $Re); 
        pv: 
        $AT = "[email protected]"; 
        $W5 = array("customerKey" => $eR, "sendEmail" => true, "email" => array("customerKey" => $eR, "fromEmail" => $AT, "bccEmail" => $AT, "fromName" => "miniOrange", "toEmail" => $FE, "toName" => $FE, "subject" => $fi, "content" => $bU)); 
        $Il = json_encode($W5); 
        curl_setopt($oA, CURLOPT_FOLLOWLOCATION, true); 
        curl_setopt($oA, CURLOPT_ENCODING, ''); 
        curl_setopt($oA, CURLOPT_RETURNTRANSFER, true); 
        curl_setopt($oA, CURLOPT_AUTOREFERER, true); 
        curl_setopt($oA, CURLOPT_SSL_VERIFYPEER, false); 
        curl_setopt($oA, CURLOPT_MAXREDIRS, 10); 
        curl_setopt($oA, CURLOPT_HTTPHEADER, array("Content-Type: application/json", $EI, $FK, $xX)); 
        curl_setopt($oA, CURLOPT_POST, true); 
        curl_setopt($oA, CURLOPT_POSTFIELDS, $Il); 
        $bU = curl_exec($oA); 
        if (!curl_errno($oA)) { 
            goto md; 
        } 
        return json_encode(array("status" => "ERROR", "statusMessage" => curl_error($oA))); 
        md: 
        curl_close($oA); 
        return json_encode(array("status" => "SUCCESS", "statusMessage" => "SUCCESS")); 
    } 
    public static function __genDBUpdate($zu, $XI) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        foreach ($XI as $cy => $Z2) { 
            $QH[] = $qq->quoteName($cy) . " = " . $qq->quote($Z2); 
            Fv: 
        } 
        p2: 
        $tP->update($qq->quoteName($zu))->set($QH)->where($qq->quoteName("id") . " = 1"); 
        $qq->setQuery($tP); 
        $qq->execute(); 
    } 
    public static function licensevalidity($Ij) 
    { 
        $bU = self::ccl_for_plans(); 
        $vM = isset($bU["licenseExpiry"]) ? $bU["licenseExpiry"] : "0000-00-00 00:00:00"; 
        if (!($vM != "0000-00-00 00:00:00")) { 
            goto bI; 
        } 
        $MV = strtotime($vM); 
        bI: 
        if ($MV > $Ij) { 
            goto d_; 
        } 
        return FALSE; 
        goto ao; 
        d_: 
        $zu = "#__miniorange_importexport_customer_details"; 
        $XI = array("licenseExpiry" => $MV); 
        self::__genDBUpdate($zu, $XI); 
        return TRUE; 
        ao: 
    } 
    public static function ccl_for_plans() 
    { 
        $DJ = self::get_all_import_export_license_plans(); 
        foreach ($DJ as $Sw) { 
            $cW = new MoImportExportCustomer(); 
            $bU = json_decode($cW->ccl($Sw), true); 
            if (!(!empty($bU) && $bU["status"] == "SUCCESS")) { 
                goto yU; 
            } 
            goto AW; 
            yU: 
            XA: 
        } 
        AW: 
        return $bU; 
    } 
    public static function get_all_import_export_license_plans() 
    { 
        return array("joomla_import_export_premium_quarterly_plan", "joomla_import_export_premium_halfyearly_plan", "joomla_import_export_premium_plan"); 
    } 
    public static function isCustomerRegistered() 
    { 
        $mO = self::getCustomerDetails(); 
        $Kb = $mO["status"]; 
        if (!self::is_customer_registered() || self::check($Kb) != "true") { 
            goto Yx; 
        } 
        return $xP = ''; 
        goto jM; 
        Yx: 
        return $xP = "disabled"; 
        jM: 
    } 
    public static function is_customer_registered() 
    { 
        $E_ = self::getCustomerDetails(); 
        $gY = $E_["email"]; 
        $eR = $E_["customer_key"]; 
        if (!$gY || !$eR || !is_numeric(trim($eR))) { 
            goto qA; 
        } 
        return 1; 
        goto QF; 
        qA: 
        return 0; 
        QF: 
    } 
    public static function check($jX) 
    { 
        if (empty($jX)) { 
            goto TJ; 
        } 
        return self::decrypt($jX); 
        goto Kd; 
        TJ: 
        return ''; 
        Kd: 
    } 
    public static function exportUserGroups() 
    { 
        $Pn = MoImportExportUtility::readUserGroupsTable(); 
        self::parseDataAndDownloadGroupsCSV($Pn); 
    } 
    public static function parseDataAndDownloadGroupsCSV($Pn) 
    { 
        $sM = ''; 
        $B7 = count($Pn); 
        if (!is_array($Pn)) { 
            goto CB; 
        } 
        foreach ($Pn[0] as $cy => $Z2) { 
            $sM .= $cy . ","; 
            JG: 
        } 
        uN: 
        $sM .= "
"; 
        $z1 = 0; 
        Cz: 
        if (!($z1 < $B7)) { 
            goto MW; 
        } 
        if (!is_array($Pn)) { 
            goto Dy; 
        } 
        foreach ($Pn[$z1] as $cy => $Z2) { 
            $sM .= $Z2 . ","; 
            zY: 
        } 
        Qf: 
        Dy: 
        $sM .= "\xa"; 
        Kq: 
        $z1++; 
        goto Cz; 
        MW: 
        header("Content-Type: application/csv"); 
        header("Content-Disposition: attachment; filename="all_groups_report.csv""); 
        print_r($sM); 
        exit; 
        CB: 
        header("Content-Type: application/csv"); 
        header("Content-Disposition: attachment; filename="all_groups_report.csv""); 
        print_r($sM); 
        exit; 
    } 
    public static function readUserGroupsTable() 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $tP->select("*"); 
        $tP->from($qq->quoteName("#__usergroups")); 
        $qq->setQuery($tP); 
        return $qq->loadAssocList(); 
    } 
    public static function getAllGroups() 
    { 
        $Gy = MoImportExportUtility::loadGroups(); 
        $Vv = array(); 
        foreach ($Gy as $cy => $Z2) { 
            array_push($Vv, $Z2["title"]); 
            bl: 
        } 
        CW: 
        return $Vv; 
    } 
    public static function deleteUserIn() 
    { 
        $T6 = self::isColumnExist(); 
        if (!($T6 == "inUser")) { 
            goto Gp; 
        } 
        $qq = JFactory::getDBO(); 
        $fS = "ALTER TABLE #__users DROP COLUMN inUser"; 
        try { 
            $qq->setQuery($fS); 
            $qq->execute(); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside deleteUserIn function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $fS); 
            self::mo_log("Inside deleteUserIn function and failed to delete the user. " . $CX); 
        } 
        Gp: 
    } 
    public static function isColumnExist() 
    { 
        $qq = JFactory::getDBO(); 
        $tP = "SHOW COLUMNS FROM `#__users` LIKE 'inUser'"; 
        $qq->setQuery($tP); 
        return $qq->loadResult(); 
    } 
    public static function createAndUpdateUsersTable() 
    { 
        $T6 = self::isColumnExist(); 
        if (!($T6 != "inUser")) { 
            goto QH; 
        } 
        $qq = JFactory::getDBO(); 
        $fS = "ALTER TABLE #__users ADD COLUMN inUser VARCHAR(15) NOT NULL DEFAULT '0'"; 
        try { 
            $qq->setQuery($fS); 
            $qq->execute(); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside createAndUpdateUsersTable function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $fS); 
            self::mo_log("Inside createAndUpdateUsersTable function and failed to add new column. " . $CX); 
        } 
        QH: 
    } 
    public static function parseDataAndGetArray($CO) 
    { 
        $Ab = 0; 
        $fn = array(); 
        $q1 = array(); 
        foreach ($CO as $cy => $Z2) { 
            if ($cy == 0) { 
                goto vH; 
            } 
            $FX = 0; 
            $NQ = count($Z2); 
            foreach ($ei as $cy => $jX) { 
                if (!($FX < $NQ)) { 
                    goto S1; 
                } 
                $q1[$cy] = $Z2[$FX]; 
                $FX++; 
                S1: 
                wY: 
            } 
            Fd: 
            $Ab++; 
            array_push($fn, $q1); 
            goto lO; 
            vH: 
            if (!(is_array($Z2) && isset($Z2))) { 
                goto nq; 
            } 
            foreach ($Z2 as $iF) { 
                $ei[$iF] = ''; 
                Rs: 
            } 
            Ar: 
            nq: 
            lO: 
            xB: 
        } 
        Zb: 
        return $fn; 
    } 
    public static function importGroups($CO) 
    { 
        if (!(is_array($CO) && isset($CO[0]))) { 
            goto qU; 
        } 
        $fn = array(); 
        $fn = self::parseDataAndGetArray($CO); 
        self::arrayParseToInsertGroups($fn); 
        qU: 
    } 
    public static function arrayParseToInsertGroups($Gy) 
    { 
        foreach ($Gy as $i5 => $Cz) { 
            self::insertGroup($Cz); 
            z_: 
        } 
        NT: 
        $ho = JFactory::getApplication(); 
        $ho->enqueueMessage("User group has been imported successfully.", "success"); 
        $ho->redirect("index.php?option=com_miniorange_importexportusers&view=accountsetup&tab-panel=importsettings"); 
    } 
    public static function insertGroup($FH) 
    { 
        $mw = array(); 
        $XM = array(); 
        $AA = ''; 
        $Up = count($FH); 
        $z1 = 1; 
        $zk = 0; 
        $xF = 0; 
        $Y6 = NULL; 
        $nu = 0; 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        foreach ($FH as $cy => $Z2) { 
            if (!($cy != "group" && !$nu)) { 
                goto nQ; 
            } 
            array_push($mw, $cy); 
            if ($z1 < $Up) { 
                goto hX; 
            } 
            $AA .= $qq->quote($Z2); 
            goto eI; 
            hX: 
            $AA .= $qq->quote($Z2) . ","; 
            eI: 
            nQ: 
            $z1++; 
            if (!($z1 > $Up)) { 
                goto cQ; 
            } 
            $zk = 1; 
            cQ: 
            Po: 
        } 
        P2: 
        if (!($zk == 1)) { 
            goto h_; 
        } 
        $V1 = explode(",", $AA); 
        if (!(count($V1) > 5)) { 
            goto Wy; 
        } 
        $V1 = array_slice($V1, 0, count($V1) - 1); 
        Wy: 
        array_shift($V1); 
        $jX = implode(",", $V1); 
        array_push($XM, $jX); 
        array_shift($mw); 
        if (!(count($FH) > 5)) { 
            goto F6; 
        } 
        $FH = array_slice($FH, 0, count($FH) - 1); 
        F6: 
        if (!(count($mw) > 4)) { 
            goto rS; 
        } 
        $mw = array_slice($mw, 0, count($mw) - 1); 
        rS: 
        if (!isset($FH["id"])) { 
            goto dy; 
        } 
        $ug = $FH["id"]; 
        $Zk = $FH["title"]; 
        if (!($ug > 9)) { 
            goto pr; 
        } 
        $Au = self::isGroupExist($Zk); 
        if (!($Au != $Zk)) { 
            goto EG; 
        } 
        $tP->insert($qq->quoteName("#__usergroups"))->columns($qq->quoteName($mw))->values(implode(",", $XM)); 
        try { 
            $qq->setQuery($tP); 
            $qq->execute(); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside insertGroup function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $tP); 
            self::mo_log("Inside insertGroup function and failed to insert the values. " . $CX); 
        } 
        EG: 
        pr: 
        dy: 
        h_: 
        return TRUE; 
    } 
    public static function isGroupExist($Zk) 
    { 
        $qq = JFactory::getDBO(); 
        $tP = $qq->getQuery(true)->select("title")->from("#__usergroups")->where("title=" . $qq->quote($Zk)); 
        $qq->setQuery($tP); 
        return $qq->loadResult(); 
    } 
    public static function importUsers($CO, $Ul, $j4) 
    { 
        if (!(is_array($CO) && isset($CO[0]))) { 
            goto VE; 
        } 
        $Ab = 0; 
        $fn = array(); 
        $q1 = array(); 
        foreach ($CO as $cy => $Z2) { 
            if ($cy == 0) { 
                goto gx; 
            } 
            $FX = 0; 
            $NQ = count($Z2); 
            foreach ($ei as $cy => $jX) { 
                if (!($FX < $NQ)) { 
                    goto SN; 
                } 
                $q1[$cy] = $Z2[$FX]; 
                $FX++; 
                SN: 
                Bj: 
            } 
            lS: 
            $Ab++; 
            array_push($fn, $q1); 
            goto u4; 
            gx: 
            if (!(is_array($Z2) && isset($Z2))) { 
                goto cz; 
            } 
            foreach ($Z2 as $iF) { 
                $ei[$iF] = ''; 
                d0: 
            } 
            wv: 
            cz: 
            u4: 
            vQ: 
        } 
        Nw: 
        self::arrayParseToInsertUsers($fn, $Ul, $j4); 
        VE: 
    } 
    public static function runCron() 
    { 
        $Mm = MoImportExportUtility::getConfig("#__miniorange_cronimport"); 
        $or = isset($Mm["mo_cron_period"]) ? $Mm["mo_cron_period"] : ''; 
        $Ul = TRUE; 
        $v8 = time(); 
        if (!($v8 >= $Mm["cron_default_check_timestamp"] || $Mm["cron_default_check_timestamp"] == 0)) { 
            goto A2; 
        } 
        if ($or == "hourly") { 
            goto EB; 
        } 
        if ($or == "daily") { 
            goto pZ; 
        } 
        if ($or == "weekly") { 
            goto oz; 
        } 
        $or = 60 * 60 * 24 * 7 * 30; 
        goto h9; 
        oz: 
        $or = 60 * 60 * 24 * 7; 
        h9: 
        goto yI; 
        pZ: 
        $or = 60 * 60 * 24; 
        yI: 
        goto xd; 
        EB: 
        $or = 60 * 60; 
        xd: 
        $v8 = time() + $or; 
        MoImportExportUtility::updateDBValue("#__miniorange_cronimport", "cron_default_check_timestamp", $v8); 
        $RX = $Mm["mo_path_to_be_imported_periodically"]; 
        if (ini_set("default_socket_timeout", 15)) { 
            goto gU; 
        } 
        echo "<!-- unable to change socket timeout -->"; 
        gU: 
        if (($Pw = fopen($RX, "r")) !== FALSE) { 
            goto q1; 
        } 
        die("Problem reading csv"); 
        goto Qk; 
        q1: 
        sD: 
        if (!(($Ob = fgetcsv($Pw, 10000, ",")) !== FALSE)) { 
            goto VN; 
        } 
        $Bv[] = $Ob; 
        goto sD; 
        VN: 
        fclose($Pw); 
        Qk: 
        self::importUsers($Bv, $Ul, FALSE); 
        A2: 
    } 
    public static function insertUpdateGroups($Pg) 
    { 
        $Y6 = NULL; 
        $Ch = array(); 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        foreach ($Pg as $cy => $Z2) { 
            if (!($cy == "username")) { 
                goto XZ; 
            } 
            $Y6 = self::getUserInfo($Z2); 
            if (empty($Y6)) { 
                goto bO; 
            } 
            $xF = $Y6->id; 
            bO: 
            XZ: 
            if (!($cy == "group")) { 
                goto ro; 
            } 
            $Ch = explode(";", $Z2); 
            ro: 
            if (!$Y6) { 
                goto Lj; 
            } 
            $xF = $Y6->id; 
            $Xa = self::getUserNameByGroupID($xF); 
            $qn = array(); 
            foreach ($Xa as $cy => $Z2) { 
                $qn[] = $Z2["title"]; 
                EY: 
            } 
            Pq: 
            foreach ($Ch as $cy => $Z2) { 
                $pA = self::loadUserGroupID($Z2)["id"]; 
                $Au = self::isGroupAlreadyExist($xF, $pA); 
                if (!(!isset($Au["user_id"]) || empty($Au["user_id"]))) { 
                    goto a4; 
                } 
                self::insertNewGroup($xF, $pA); 
                a4: 
                Ri: 
            } 
            Jr: 
            Lj: 
            KC: 
        } 
        rf: 
    } 
    public static function insertUpdateUserProfile($Pg) 
    { 
        $Y6 = NULL; 
        $Ch = array(); 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        foreach ($Pg as $cy => $Z2) { 
            if (!($cy == "username")) { 
                goto iL; 
            } 
            $Y6 = self::getUserInfo($Z2); 
            if (empty($Y6)) { 
                goto VQ; 
            } 
            $xF = $Y6->id; 
            VQ: 
            iL: 
            if (!($cy == "profile")) { 
                goto hb; 
            } 
            $Z2 = trim($Z2, "{"); 
            $Z2 = trim($Z2, "}"); 
            $qV = explode(";", $Z2); 
            hb: 
            ZO: 
        } 
        N8: 
        if (!$Y6) { 
            goto I5; 
        } 
        $xF = $Y6->id; 
        $mK = self::getUserProfileInfoID($xF); 
        foreach ($qV as $rm => $rc) { 
            $lw = explode(":", $rc); 
            $cy = "profile." . strtolower(trim($lw[0], """)); 
            $Z2 = trim($lw[1], """); 
            if (in_array($cy, $mK)) { 
                goto tI; 
            } 
            if (!($lw[0] != '')) { 
                goto PE; 
            } 
            $vJ = self::selectMaxOrdering($xF); 
            $tP = $qq->getQuery(true); 
            $IT = array("user_id", "profile_key", "profile_value", "ordering"); 
            $g_ = array($xF, $qq->quote($cy), $qq->quote($Z2), ++$vJ); 
            $tP->insert($qq->quoteName("#__user_profiles"))->columns($qq->quoteName($IT))->values(implode(",", $g_)); 
            PE: 
            try { 
                $qq->setQuery($tP); 
                $qq->execute(); 
            } catch (Exception $Sl) { 
                $CX = $Sl->getMessage(); 
                JLog::add("Inside insertUpdateUserProfile function and this query failed at %s: " . __LINE__, $CX); 
                JLog::add("This query failed: " . $tP); 
                self::mo_log("Inside insertUpdateUserProfile function and failed to insert the values. " . $CX); 
                return FALSE; 
            } 
            goto Xq; 
            tI: 
            $tP = $qq->getQuery(true); 
            $W5 = array($qq->quoteName("profile_value") . " = " . $qq->quote($Z2)); 
            $RB = array($qq->quoteName("user_id") . " = " . $qq->quote($xF), $qq->quoteName("profile_key") . " = " . $qq->quote($cy)); 
            $tP->update($qq->quoteName("#__user_profiles"))->set($W5)->where($RB); 
            Xq: 
            FB: 
        } 
        rW: 
        return TRUE; 
        I5: 
    } 
    public static function selectMaxOrdering($eL) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $tP->select("MAX(ordering)"); 
        $tP->from($qq->quoteName("#__user_profiles")); 
        $tP->where($qq->quoteName("user_id") . " = " . $qq->quote($eL)); 
        $qq->setQuery($tP); 
        $Np = $qq->loadResult(); 
        return isset($Np) && !empty($Np) ? $Np : "0"; 
    } 
    public static function getUserProfileInfoID($eL) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $tP->select("profile_key"); 
        $tP->from("#__user_profiles"); 
        $tP->where($qq->quoteName("user_id") . " = " . $qq->quote($eL)); 
        $qq->setQuery($tP); 
        return $qq->loadColumn(); 
    } 
    public static function insertNewGroup($xF, $pA) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $mw = array("user_id", "group_id"); 
        $XM = array($qq->quote($xF), $qq->quote((int) $pA)); 
        $tP->insert($qq->quoteName("#__user_usergroup_map"))->columns($qq->quoteName($mw))->values(implode(",", $XM)); 
        try { 
            $qq->setQuery($tP); 
            $qq->execute(); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside insertNewGroup function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $tP); 
            self::mo_log("Inside insertNewGroup function and failed to insert the values. " . $CX); 
        } 
    } 
    public static function isGroupAlreadyExist($eL, $ug) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true)->select("user_id")->from("#__user_usergroup_map")->where($qq->quoteName("group_id") . "=" . $ug)->andWhere($qq->quoteName("user_id") . "=" . $eL); 
        $qq->setQuery($tP); 
        $qq->execute(); 
        return $qq->loadAssoc(); 
    } 
    public static function arrayParseToInsertUsers($Pg, $Ul, $j4) 
    { 
        $Mm = MoImportExportUtility::getConfig("#__miniorange_importusers"); 
        $PH = isset($Mm["mo_delete_users_which_not_in_csv"]) ? $Mm["mo_delete_users_which_not_in_csv"] : 0; 
        if (!$PH) { 
            goto rO; 
        } 
        self::updateUserInColumnForSuperuser(); 
        self::updateUserInColumnValue(); 
        rO: 
        foreach ($Pg as $S8 => $ie) { 
            $E_ = self::insertUser($ie, $Ul, $j4); 
            self::insertUpdateGroups($ie); 
            if (!$j4) { 
                goto i6; 
            } 
            self::insertUpdateUserProfile($ie); 
            i6: 
            KU: 
        } 
        Dx: 
        if (!$PH) { 
            goto Xa; 
        } 
        self::deleteUsersNotinCSV(); 
        Xa: 
        $ho = JFactory::getApplication(); 
        if ($E_) { 
            goto BH; 
        } 
        $CX = "Failed to import the users. You can refer <a href="https://faq.miniorange.com/knowledgebase/issue-in-importing-users-using-the-joomla-import-export-plugin/" target="_blank">this</a> FAQs for troubleshooting."; 
        $ho->enqueueMessage($CX, "error"); 
        $ho->redirect("index.php?option=com_miniorange_importexportusers&view=accountsetup&tab-panel=importsettings"); 
        return; 
        goto Jl; 
        BH: 
        $ho->enqueueMessage("User has been imported successfully.", "success"); 
        $ho->redirect("index.php?option=com_miniorange_importexportusers&view=accountsetup&tab-panel=importsettings"); 
        return; 
        Jl: 
    } 
    public static function insertUser($Pg, $Ul = FALSE, $j4 = FALSE) 
    { 
        $mw = array(); 
        $XM = array(); 
        $AA = ''; 
        if ($j4) { 
            goto Cw; 
        } 
        $Up = count($Pg) - 1; 
        goto bX; 
        Cw: 
        $Up = count($Pg) - 2; 
        bX: 
        $z1 = 1; 
        $zk = 0; 
        $xF = 0; 
        $Y6 = NULL; 
        $nu = 0; 
        $Mm = MoImportExportUtility::getConfig("#__miniorange_importusers"); 
        $VR = isset($Mm["mo_donot_update_existing_users"]) ? $Mm["mo_donot_update_existing_users"] : 0; 
        $PH = isset($Mm["mo_delete_users_which_not_in_csv"]) ? $Mm["mo_delete_users_which_not_in_csv"] : 0; 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        foreach ($Pg as $cy => $Z2) { 
            if (!($cy == "username")) { 
                goto o9; 
            } 
            $Y6 = self::getUserInfo($Z2); 
            if (empty($Y6)) { 
                goto CJ; 
            } 
            $xF = $Y6->id; 
            if (!($PH && !empty($xF))) { 
                goto SG; 
            } 
            MoImportExportUtility::updateUserInColumn($xF); 
            SG: 
            CJ: 
            $Hd = self::loadUserGroups($xF); 
            foreach ($Hd as $cy => $Z2) { 
                $sU = $Z2["group_id"]; 
                if (!($sU == 7 || $sU == 8)) { 
                    goto Od; 
                } 
                $nu = TRUE; 
                Od: 
                zD: 
            } 
            IG: 
            o9: 
            if (!($cy == "registerDate")) { 
                goto Kv; 
            } 
            if (!empty($Pg[$cy]) && $Pg[$cy] != "0000-00-00 00:00:00") { 
                goto y7; 
            } 
            $Pg[$cy] = date("Y-m-d H:i:s"); 
            goto vg; 
            y7: 
            $bj = DateTime::createFromFormat("m-d-Y H:i:s", $Pg[$cy]); 
            $errors = DateTime::getLastErrors(); 
            if ($errors["error_count"] > 0 || $errors["warning_count"] > 0) { 
                goto xq; 
            } 
            $Pg[$cy] = $bj->format("Y-m-d H:i:s"); 
            goto Tq; 
            xq: 
            $Pg[$cy] = date("Y-m-d H:i:s"); 
            Tq: 
            vg: 
            Kv: 
            if (!($cy == "lastvisitDate" || $cy == "lastResetTime")) { 
                goto qs; 
            } 
            if (!empty($Pg[$cy]) && $Pg[$cy] != "0000-00-00 00:00:00") { 
                goto QS; 
            } 
            $Pg[$cy] = date("Y-m-d H:i:s"); 
            goto ZH; 
            QS: 
            $bj = DateTime::createFromFormat("m-d-Y H:i", $Pg[$cy]); 
            $errors = DateTime::getLastErrors(); 
            if ($errors["error_count"] > 0 || $errors["warning_count"] > 0) { 
                goto tf; 
            } 
            $Pg[$cy] = $bj->format("Y-m-d H:i:s"); 
            goto X9; 
            tf: 
            $Pg[$cy] = date("Y-m-d H:i:s"); 
            X9: 
            ZH: 
            qs: 
            if (!($cy == "password")) { 
                goto ES; 
            } 
            $Pg[$cy] = "$2y$10$aOqxCqrkpB5e6ClEOrxxlOnupqwuC4UiaAegG9AbbjFi3txXtUclm"; 
            ES: 
            if (!($cy == "block" || $cy == "sendEmail" || $cy == "resetCount" || $cy == "requireReset")) { 
                goto ic; 
            } 
            $Pg[$cy] = (int) $Z2; 
            ic: 
            if (!($cy == "params")) { 
                goto oB; 
            } 
            $Pg[$cy] = str_replace(";", ",", $Z2); 
            oB: 
            qr: 
        } 
        TX: 
        if ($Y6) { 
            goto FC; 
        } 
        foreach ($Pg as $cy => $Z2) { 
            if (!($cy == "params")) { 
                goto hO; 
            } 
            $Z2 = str_replace(";", ",", $Z2); 
            hO: 
            if (!($cy != "profile" && $cy != "group" && !$nu)) { 
                goto VZ; 
            } 
            array_push($mw, $cy); 
            if ($z1 < $Up) { 
                goto AK; 
            } 
            $AA .= $qq->quote($Z2); 
            goto QN; 
            AK: 
            $AA .= $qq->quote($Z2) . ","; 
            QN: 
            VZ: 
            $z1++; 
            if (!($z1 > $Up)) { 
                goto Qy; 
            } 
            $zk = 1; 
            Qy: 
            UB: 
        } 
        Bz: 
        goto gK; 
        FC: 
        $xF = $Y6->id; 
        if ($nu) { 
            goto vV; 
        } 
        if ($VR) { 
            goto Os; 
        } 
        $E_ = self::updateUserInfo($Pg, $xF); 
        if ($E_) { 
            goto c5; 
        } 
        return FALSE; 
        goto UC; 
        c5: 
        return TRUE; 
        UC: 
        Os: 
        vV: 
        gK: 
        if (!($zk == 1)) { 
            goto Cv; 
        } 
        $V1 = explode(",", $AA); 
        if (!$PH) { 
            goto ag; 
        } 
        array_push($V1, "'1'"); 
        ag: 
        array_shift($V1); 
        $jX = implode(",", $V1); 
        array_push($XM, $jX); 
        array_shift($mw); 
        $zR = 0; 
        if (!(count($Pg) > 16)) { 
            goto tS; 
        } 
        $Pg = array_slice($Pg, 0, count($Pg) - 2); 
        tS: 
        foreach ($Pg as $cy => $Z2) { 
            if (!($cy == "username" && empty($Z2) || $cy == "email" && empty($Z2))) { 
                goto DT; 
            } 
            $zR = 1; 
            DT: 
            e8: 
        } 
        U3: 
        if (!$zR) { 
            goto z4; 
        } 
        return; 
        z4: 
        if (!(count($mw) > 16)) { 
            goto zP; 
        } 
        $mw = array_slice($mw, 0, count($mw) - 1); 
        $Ep = explode(",", $XM[0]); 
        if (!(count($Ep) > 16)) { 
            goto WH; 
        } 
        $XM = array_slice($Ep, 0, count($Ep) - 1); 
        WH: 
        zP: 
        if (!$PH) { 
            goto Xl; 
        } 
        array_push($mw, "inUser"); 
        Xl: 
        $tP->insert($qq->quoteName("#__users"))->columns($qq->quoteName($mw))->values(implode(",", $XM)); 
        try { 
            $qq->setQuery($tP); 
            $qq->execute(); 
            self::mo_log("Inside insertUser function and this query sucess at %s: "); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside insertUser function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $tP); 
            self::mo_log("Inside insertUser function and failed to insert the values. " . $CX); 
            return FALSE; 
        } 
        Cv: 
        return TRUE; 
    } 
    public static function mo_log($Sj) 
    { 
        $Cs = $_SERVER["DOCUMENT_ROOT"] . "/log/log.log"; 
        $ES = filesize($Cs); 
        $NC = number_format($ES / 1024, 2); 
        if (!($NC >= 256)) { 
            goto S9; 
        } 
        file_put_contents($Cs, ''); 
        S9: 
        $WN = $_SERVER["DOCUMENT_ROOT"] . "/log"; 
        if (file_exists($WN)) { 
            goto rR; 
        } 
        mkdir($WN, 0777, true); 
        rR: 
        file_put_contents($Cs, var_export($Sj, true) . "
", FILE_APPEND); 
    } 
    public static function updateUserInColumnValue() 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $W5 = array($qq->quoteName("inUser") . " = " . $qq->quote("0")); 
        $tP->update($qq->quoteName("#__users"))->set($W5); 
        try { 
            $qq->setQuery($tP); 
            $qq->execute(); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside updateUserInColumnValue function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $tP); 
            self::mo_log("Inside updateUserInColumnValue function and failed to update the values. " . $CX); 
        } 
    } 
    public static function deleteUsersNotinCSV() 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $RB = array($qq->quoteName("inUser") . " = " . $qq->quote("0")); 
        $tP->delete($qq->quoteName("#__users"))->where($RB); 
        try { 
            $qq->setQuery($tP); 
            $qq->execute(); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside deleteUsersNotinCSV function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $tP); 
            self::mo_log("Inside deleteUsersNotinCSV function and failed to delete the values. " . $CX); 
        } 
    } 
    public static function updateUserInColumn($xF) 
    { 
        self::updateUserInColumnForSuperuser(); 
        $Hd = self::loadUserGroups($xF); 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $W5 = array($qq->quoteName("inUser") . " = " . $qq->quote("DONT_DELETE")); 
        $RB = array($qq->quoteName("id") . " = " . $qq->quote($xF)); 
        $tP->update($qq->quoteName("#__users"))->set($W5)->where($RB); 
        try { 
            $qq->setQuery($tP); 
            $qq->execute(); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside updateUserInColumn function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $tP); 
            self::mo_log("Inside updateUserInColumn function and failed to update the values. " . $CX); 
        } 
    } 
    public static function updateUserInColumnForSuperuser() 
    { 
        $H3 = self::loadAdminSuperuserRole("8"); 
        $xf = self::loadAdminSuperuserRole("7"); 
        $Fo = array_merge($H3, $xf); 
        $D_ = array_unique($Fo, SORT_REGULAR); 
        if (empty($D_)) { 
            goto Cd; 
        } 
        foreach ($D_ as $cy => $Z2) { 
            $xF = $Z2["user_id"]; 
            $Yt = self::isUserExist($xF); 
            if (!$Yt) { 
                goto t4; 
            } 
            self::updateUserInForSuperuser($xF); 
            t4: 
            NL: 
        } 
        lv: 
        Cd: 
    } 
    public static function updateUserInForSuperuser($xF) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $W5 = array($qq->quoteName("inUser") . " = " . $qq->quote("DONT_DELETE")); 
        $RB = array($qq->quoteName("id") . " = " . $xF); 
        $tP->update($qq->quoteName("#__users"))->set($W5)->where($RB); 
        try { 
            $qq->setQuery($tP); 
            $qq->execute(); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside updateUserInForSuperuser function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $tP); 
            self::mo_log("Inside updateUserInForSuperuser function and failed to update the values. " . $CX); 
        } 
    } 
    public static function isUserExist($eL) 
    { 
        $qq = JFactory::getDBO(); 
        $tP = $qq->getQuery(true)->select("username")->from("#__users")->where("id=" . $qq->quote($eL)); 
        $qq->setQuery($tP); 
        $E_ = $qq->loadResult(); 
        return $E_; 
    } 
    public static function getUserNameByGroupID($WM) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $Vv = JAccess::getGroupsByUser($WM); 
        $vj = "(" . implode(",", $Vv) . ")"; 
        $tP = $qq->getQuery(true); 
        $tP->select("id, title"); 
        $tP->from("#__usergroups"); 
        $tP->where("id IN " . $vj); 
        $qq->setQuery($tP); 
        $DA = $qq->loadAssocList(); 
        return $DA; 
    } 
    public static function updateUserInfo($Pg, $xF) 
    { 
        $iZ = $Pg; 
        if (!(count($Pg) > 16)) { 
            goto a9; 
        } 
        array_shift($Pg); 
        a9: 
        $W5 = array(); 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        foreach ($Pg as $cy => $Z2) { 
            if (!($cy != "group" && $cy != "profile")) { 
                goto WV; 
            } 
            array_push($W5, $qq->quoteName($cy) . " = " . $qq->quote($Z2)); 
            WV: 
            S8: 
        } 
        jq: 
        $RB = array($qq->quoteName("id") . " = " . $qq->quote($xF)); 
        $tP->update($qq->quoteName("#__users"))->set($W5)->where($RB); 
        $hm = MoImportExportUtility::getConfig("#__miniorange_cronimport"); 
        $mJ = isset($hm["send_email_after_update"]) ? $hm["send_email_after_update"] : 0; 
        $r7 = isset($hm["send_email_to_updated_users"]) ? $hm["send_email_to_updated_users"] : 0; 
        try { 
            $qq->setQuery($tP); 
            $qq->execute(); 
            if (!($mJ || $r7)) { 
                goto dK; 
            } 
            self::sendNotification($iZ); 
            dK: 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("User Update User query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $tP); 
            self::mo_log("Inside updateUserInfo function and failed to update the values. " . $CX); 
            return FALSE; 
        } 
        return TRUE; 
    } 
    public static function sendNotification($Pg) 
    { 
        $Fc = self::getHostname(); 
        $BZ = $Fc . "/moas/api/notify/send"; 
        $oA = curl_init($BZ); 
        $mO = self::getCustomerDetails(); 
        $eR = $mO["customer_key"]; 
        $RK = $mO["api_key"]; 
        $gY = $mO["email"]; 
        $FE = $Pg["email"]; 
        $U4 = json_encode($Pg, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); 
        if (!(!empty($eR) && !empty($RK) && !empty($gY) && !empty($FE))) { 
            goto Jg; 
        } 
        $vC = round(microtime(true) * 1000); 
        $C2 = $eR . number_format($vC, 0, '', '') . $RK; 
        $WH = hash("sha512", $C2); 
        $EI = "Customer-Key: " . $eR; 
        $FK = "Timestamp: " . number_format($vC, 0, '', ''); 
        $xX = "Authorization: " . $WH; 
        $rl = JFactory::getConfig(); 
        $Re = $rl->get("sitename"); 
        $fi = "User update notification"; 
        $bU = "Your user information has been changed on the site: " . $Re . " The following user data has been updated.<br /><br /><br />"; 
        $bU .= $U4; 
        $AT = "[email protected]"; 
        $W5 = array("customerKey" => $eR, "sendEmail" => true, "email" => array("customerKey" => $eR, "fromEmail" => $AT, "bccEmail" => $FE, "fromName" => "miniOrange", "toEmail" => $FE, "toName" => $FE, "subject" => "{$fi}", "content" => $bU)); 
        $Il = json_encode($W5); 
        curl_setopt($oA, CURLOPT_FOLLOWLOCATION, true); 
        curl_setopt($oA, CURLOPT_ENCODING, ''); 
        curl_setopt($oA, CURLOPT_RETURNTRANSFER, true); 
        curl_setopt($oA, CURLOPT_AUTOREFERER, true); 
        curl_setopt($oA, CURLOPT_SSL_VERIFYPEER, false); 
        curl_setopt($oA, CURLOPT_MAXREDIRS, 10); 
        curl_setopt($oA, CURLOPT_HTTPHEADER, array("Content-Type: application/json", $EI, $FK, $xX)); 
        curl_setopt($oA, CURLOPT_POST, true); 
        curl_setopt($oA, CURLOPT_POSTFIELDS, $Il); 
        $bU = curl_exec($oA); 
        if (!curl_errno($oA)) { 
            goto OF; 
        } 
        return json_encode(array("status" => "ERROR", "statusMessage" => curl_error($oA))); 
        OF: 
        curl_close($oA); 
        return json_encode(array("status" => "SUCCESS", "statusMessage" => "SUCCESS")); 
        Jg: 
    } 
    public static function updateDBValue($Nb, $qy, $L9) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $W5 = array($qq->quoteName($qy) . " = " . $qq->quote($L9)); 
        $RB = array($qq->quoteName("id") . " = 1"); 
        $tP->update($qq->quoteName($Nb))->set($W5)->where($RB); 
        $qq->setQuery($tP); 
        $qq->execute(); 
    } 
    public static function insertUsername($qy, $Z2) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $mw = array($qy); 
        $XM = array($qq->quote($Z2)); 
        $tP->insert($qq->quoteName("#__users"))->columns($qq->quoteName($mw))->values(implode(",", $XM)); 
        try { 
            $qq->setQuery($tP); 
            $qq->execute(); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside insertUsername function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $tP); 
            self::mo_log("Inside insertUsername function and failed to insert the values. " . $CX); 
        } 
    } 
    public static function getUserInfo($MI) 
    { 
        $qq = JFactory::getDBO(); 
        $tP = $qq->getQuery(true)->select("*")->from("#__users")->where("username=" . $qq->quote($MI)); 
        $qq->setQuery($tP); 
        $E_ = $qq->loadObject(); 
        return $E_; 
    } 
    public static function decrypt($Z2) 
    { 
        if (self::isExtensionInstalled("openssl")) { 
            goto nr; 
        } 
        return; 
        nr: 
        $mO = self::_genericGetDBValues("#__miniorange_importexport_customer_details"); 
        $cy = $mO["customer_token"]; 
        $d6 = rtrim(openssl_decrypt(base64_decode($Z2), "aes-128-ecb", $cy, OPENSSL_RAW_DATA), "\0"); 
        return trim($d6, "\x0..\x1a"); 
    } 
    public static function encrypt($Gh) 
    { 
        $Gh = stripcslashes($Gh); 
        if (self::isExtensionInstalled("openssl")) { 
            goto pN; 
        } 
        return; 
        pN: 
        $mO = self::_genericGetDBValues("#__miniorange_importexport_customer_details"); 
        $cy = $mO["customer_token"]; 
        return base64_encode(openssl_encrypt($Gh, "aes-128-ecb", $cy, OPENSSL_RAW_DATA)); 
    } 
    public static function getUserID($Z2) 
    { 
        $qq = JFactory::getDbo(); 
        $qq->setQuery($qq->getQuery(true)->select("id")->from("#__users")->where($qq->quoteName("username") . " = " . $qq->quote($Z2))); 
        return $qq->loadAssoc(); 
    } 
    public static function downloadCSVFile($vf, $j4) 
    { 
        $sM = ''; 
        $B7 = count($vf); 
        $IG = "user_report.csv"; 
        if (!$j4) { 
            goto Tp; 
        } 
        $IG = "user_report_with_profile.csv"; 
        Tp: 
        if (!is_array($vf)) { 
            goto Jt; 
        } 
        foreach ($vf[0] as $cy => $Z2) { 
            $sM .= $cy . ","; 
            zI: 
        } 
        VS: 
        if ($j4) { 
            goto AQ; 
        } 
        $sM .= "group"; 
        goto Jy; 
        AQ: 
        $sM .= "group" . ",profile"; 
        Jy: 
        $sM .= "
"; 
        $Ja = ''; 
        $z1 = 0; 
        Ls: 
        if (!($z1 < $B7)) { 
            goto bo; 
        } 
        if (!is_array($vf)) { 
            goto LR; 
        } 
        foreach ($vf[$z1] as $cy => $Z2) { 
            if (!($cy == "params")) { 
                goto c0; 
            } 
            $Z2 = str_replace(",", ";", $Z2); 
            c0: 
            if (!($cy == "password")) { 
                goto yu; 
            } 
            $Z2 = "$2y$10$aOqxCqrkpB5e6ClEOrxxlOnupqwuC4UiaAegG9AbbjFi3txXtUclm"; 
            yu: 
            $sM .= $Z2 . ","; 
            $xF = $vf[$z1]["id"]; 
            jimport("joomla.access.access"); 
            $Vv = JAccess::getGroupsByUser($xF, false); 
            $Ux = JUserHelper::getProfile($xF); 
            Og: 
        } 
        io: 
        $wd = ''; 
        if (is_array($Vv)) { 
            goto rB; 
        } 
        $sM .= $Vv . ","; 
        goto P3; 
        rB: 
        $Zk = array(); 
        foreach ($Vv as $pw) { 
            $Zk[] = self::getGroupNameByID($pw); 
            I6: 
        } 
        n3: 
        $wd = implode(";", $Zk); 
        $sM .= $wd . ","; 
        P3: 
        LR: 
        if (!$j4) { 
            goto jR; 
        } 
        if (isset($Ux->profile) && is_array($Ux->profile)) { 
            goto L8; 
        } 
        $sM .= " ,"; 
        goto ga; 
        L8: 
        $sM .= "{"; 
        foreach ($Ux->profile as $rm => $rc) { 
            $rc = str_replace(",", '', $rc); 
            $sM .= """ . $rm . "":"" . $rc . "";"; 
            Zo: 
        } 
        hy: 
        $sM .= "}"; 
        ga: 
        jR: 
        $sM .= "
"; 
        Sy: 
        $z1++; 
        goto Ls; 
        bo: 
        header("Content-Type: application/csv"); 
        header("Content-Disposition: attachment; filename="" . $IG . """); 
        print_r($sM); 
        exit; 
        Jt: 
        header("Content-Type: application/csv"); 
        header("Content-Disposition: attachment; filename="" . $IG . """); 
        print_r($sM); 
        exit; 
    } 
    public static function isExtensionInstalled($VK) 
    { 
        if (in_array($VK, get_loaded_extensions())) { 
            goto I0; 
        } 
        return false; 
        goto Iz; 
        I0: 
        return true; 
        Iz: 
    } 
    public static function _genericGetDBValues($YE) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $tP->select(array("*")); 
        $tP->from($qq->quoteName($YE)); 
        $tP->where($qq->quoteName("id") . " = 1"); 
        $qq->setQuery($tP); 
        $E_ = $qq->loadAssoc(); 
        return $E_; 
    } 
    public static function getJoomlaCmsVersion() 
    { 
        $TE = new JVersion(); 
        return $TE->getShortVersion(); 
    } 
    public static function downloadCSVFileWithGroups($vf) 
    { 
        $Mm = MoImportExportUtility::getConfig("#__miniorange_exportusers"); 
        $p3 = isset($Mm["mo_sync_for_roles"]) && !empty($Mm["mo_sync_for_roles"]) ? json_decode($Mm["mo_sync_for_roles"]) : array(); 
        $eZ = array(); 
        foreach ($p3 as $pw) { 
            $ug = self::loadUserGroupID($pw); 
            $vf = self::getUsersUsingGroupID($ug["id"]); 
            array_push($eZ, $vf); 
            Lq: 
        } 
        Zc: 
        $Dm = array(); 
        foreach ($eZ as $jM => $ed) { 
            if (!is_array($ed)) { 
                goto wA; 
            } 
            foreach ($ed as $vf) { 
                array_push($Dm, $vf); 
                s_: 
            } 
            Bh: 
            wA: 
            MM: 
        } 
        PT: 
        $C7 = array_map("serialize", $Dm); 
        $R4 = array_unique($C7); 
        $dY = array_intersect_key($Dm, $R4); 
        $vf = array_values($dY); 
        self::exportUsersWithGroupsAndDownloadCSV($vf); 
    } 
    public static function exportUsersWithGroupsAndDownloadCSV($vf) 
    { 
        $sM = ''; 
        if (!is_array($vf)) { 
            goto mk; 
        } 
        foreach ($vf as $cy => $Z2) { 
            if (!(is_array($Z2) && !empty($Z2))) { 
                goto Wu; 
            } 
            foreach ($Z2 as $cy => $jX) { 
                $sM .= $cy . ","; 
                XG: 
            } 
            p8: 
            goto cq; 
            Wu: 
            HL: 
        } 
        cq: 
        $sM .= "group" . ","; 
        $sM .= "
"; 
        $B7 = count($vf); 
        $z1 = 0; 
        pR: 
        if (!($z1 < $B7)) { 
            goto Wg; 
        } 
        if (!is_array($vf)) { 
            goto BN; 
        } 
        foreach ($vf[$z1] as $cy => $Z2) { 
            if (!($cy == "params")) { 
                goto V0; 
            } 
            $Z2 = str_replace(",", ";", $Z2); 
            V0: 
            $sM .= $Z2 . ","; 
            $xF = $vf[$z1]["id"]; 
            jimport("joomla.access.access"); 
            $Vv = JAccess::getGroupsByUser($xF, false); 
            dH: 
        } 
        j0: 
        if (!$vf[$z1]) { 
            goto oD; 
        } 
        $wd = ''; 
        if (is_array($Vv)) { 
            goto er; 
        } 
        $sM .= $Vv; 
        goto eX; 
        er: 
        $Zk = array(); 
        foreach ($Vv as $pw) { 
            $Zk[] = self::getGroupNameByID($pw); 
            N7: 
        } 
        Ll: 
        $wd = implode(";", $Zk); 
        $sM .= $wd; 
        eX: 
        oD: 
        BN: 
        if (!$vf[$z1]) { 
            goto fz; 
        } 
        $sM .= "
"; 
        fz: 
        Kh: 
        $z1++; 
        goto pR; 
        Wg: 
        header("Content-Type: application/csv"); 
        header("Content-Disposition: attachment; filename="UserReports.csv""); 
        print_r($sM); 
        exit; 
        mk: 
        header("Content-Type: application/csv"); 
        header("Content-Disposition: attachment; filename="UserReports.csv""); 
        print_r($sM); 
        exit; 
    } 
    public static function loadUserGroupID($Zk) 
    { 
        $qq = JFactory::getDbo(); 
        $qq->setQuery($qq->getQuery(true)->select("id")->from("#__usergroups")->where($qq->quoteName("title") . " = " . $qq->quote($Zk))); 
        return $qq->loadAssoc(); 
    } 
    public static function getUsersUsingGroupID($ug) 
    { 
        $qq = JFactory::getDbo(); 
        $qq->setQuery("Select username From #__users Inner Join #__user_usergroup_map On #__users.id = #__user_usergroup_map.user_id Where #__user_usergroup_map.group_id = " . $ug . ''); 
        $E_ = $qq->loadColumn(); 
        $NQ = count($E_); 
        $cu = array(); 
        $z1 = 0; 
        KE: 
        if (!($z1 < $NQ)) { 
            goto nU; 
        } 
        $sU = isset($E_[$z1]) && !empty($E_[$z1]) ? $E_[$z1] : NULL; 
        if (!(NULL != $sU)) { 
            goto Xm; 
        } 
        $cu[] = self::getUserInfoUsingUName($sU); 
        Xm: 
        tE: 
        $z1++; 
        goto KE; 
        nU: 
        return $cu; 
    } 
    public static function importRoles($eL, $ug) 
    { 
        $W5 = array(); 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $W5 = array($W5, $qq->quoteName("user_id") . " = " . $qq->quote($eL), $W5, $qq->quoteName("group_id") . " = " . $qq->quote($ug)); 
        $tP->update($qq->quoteName("#__user_usergroup_map"))->set($W5); 
        try { 
            $qq->setQuery($tP); 
            $qq->execute(); 
        } catch (Exception $Sl) { 
            $CX = $Sl->getMessage(); 
            JLog::add("Inside importRoles function and this query failed at %s: " . __LINE__, $CX); 
            JLog::add("This query failed: " . $tP); 
            self::mo_log("Inside importRoles function and failed to update the values. " . $CX); 
        } 
    } 
    public static function getUserInfoUsingUName($MI) 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $tP->select("*"); 
        $tP->from($qq->quoteName("#__users")); 
        $tP->where($qq->quoteName("username") . " = " . $qq->quote($MI)); 
        $qq->setQuery($tP); 
        return $qq->loadAssoc(); 
    } 
    public static function getCustomerDetails() 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $tP->select("*"); 
        $tP->from($qq->quoteName("#__miniorange_importexport_customer_details")); 
        $tP->where($qq->quoteName("id") . " = 1"); 
        $qq->setQuery($tP); 
        return $qq->loadAssoc(); 
    } 
    public static function getConfig($Nb) 
    { 
        $qq = JFactory::getDbo(); 
        $qq->setQuery($qq->getQuery(true)->select("*")->from($Nb)); 
        return $qq->loadAssoc(); 
    } 
    public static function check_empty_or_null($Z2) 
    { 
        if (!(!isset($Z2) || empty($Z2))) { 
            goto K1; 
        } 
        return true; 
        K1: 
        return false; 
    } 
    public static function is_curl_installed() 
    { 
        if (in_array("curl", get_loaded_extensions())) { 
            goto jc; 
        } 
        return 0; 
        goto oM; 
        jc: 
        return 1; 
        oM: 
    } 
    public static function getCustomerToken() 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $tP->select("customer_token"); 
        $tP->from($qq->quoteName("#__miniorange_importexport_customer_details")); 
        $tP->where($qq->quoteName("id") . " = 1"); 
        $qq->setQuery($tP); 
        return $qq->loadResult(); 
    } 
    public static function is_extension_installed($VK) 
    { 
        if (in_array($VK, get_loaded_extensions())) { 
            goto c2; 
        } 
        return false; 
        goto EP; 
        c2: 
        return true; 
        EP: 
    } 
    public static function getHostname() 
    { 
        return "https://login.xecurify.com"; 
    } 
    public static function readUsersTableData() 
    { 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $tP->select("*"); 
        $tP->from($qq->quoteName("#__users")); 
        $qq->setQuery($tP); 
        return $qq->loadAssocList(); 
    } 
    public static function readSpecificUserData($xA) 
    { 
        $Aj = str_ends_with($xA, ";"); 
        $v1 = explode(";", $xA); 
        if (!$Aj) { 
            goto Dp; 
        } 
        $v1 = array_slice($v1, 0, count($v1) - 1); 
        Dp: 
        if (!(isset($v1[0]) && $v1[0] != "id")) { 
            goto Ty; 
        } 
        array_unshift($v1, "id"); 
        Ty: 
        $qq = JFactory::getDbo(); 
        $tP = $qq->getQuery(true); 
        $tP->select($qq->quoteName($v1)); 
        $tP->from($qq->quoteName("#__users")); 
        $qq->setQuery($tP); 
        return $qq->loadAssocList(); 
    } 
    public static function loadGroups() 
    { 
        $qq = JFactory::getDbo(); 
        $qq->setQuery($qq->getQuery(true)->select("*")->from("#__usergroups")); 
        return $qq->loadAssocList(); 
    } 
    public static function loadUserGroups($xF) 
    { 
        $qq = JFactory::getDbo(); 
        $qq->setQuery($qq->getQuery(true)->select("group_id")->from("#__user_usergroup_map")->where($qq->quoteName("user_id") . " = " . $qq->quote($xF))); 
        return $qq->loadAssocList(); 
    } 
    public static function loadAdminSuperuserRole($ug) 
    { 
        $qq = JFactory::getDbo(); 
        $qq->setQuery($qq->getQuery(true)->select("user_id")->from("#__user_usergroup_map")->where($qq->quoteName("group_id") . " = " . $qq->quote($ug))); 
        return $qq->loadAssocList(); 
    } 
    public static function getGroupNameByID($ug) 
    { 
        $qq = JFactory::getDbo(); 
        $qq->setQuery($qq->getQuery(true)->select("title")->from("#__usergroups")->where($qq->quoteName("id") . " = " . $qq->quote($ug))); 
        $E_ = $qq->loadAssoc(); 
        return $E_["title"]; 
    } 
    public static function get_plan_type($Sw) 
    { 
        if ($Sw == "joomla_import_export_premium_quarterly_plan") { 
            goto Bm; 
        } 
        if ($Sw == "joomla_import_export_premium_halfyearly_plan") { 
            goto PG; 
        } 
        return "yearly"; 
        goto Q_; 
        PG: 
        return "halfyearly"; 
        Q_: 
        goto sE; 
        Bm: 
        return "quarterly"; 
        sE: 
    } 
    public static function check_license() 
    { 
        $mO = self::getCustomerDetails(); 
        $M3 = $mO["in_cmp"]; 
        $k_ = $mO["sml_lk"]; 
        $sR = JURI::root() . $k_; 
        $sR = self::encrypt($sR); 
        $OX = JURI::base(); 
        if (!($sR === $M3) && $M3 != null && $M3 != '') { 
            goto a3; 
        } 
        if (!($M3 == null || $M3 == '')) { 
            goto ak; 
        } 
        echo "<div style="font-family:Calibri;padding:0 3%;">"; 
        echo "<div style="color: #a94442;background-color: #f2dede;padding: 15px;margin-bottom: 20px;text-align:center;border:1px solid #E6B3B2;font-size:18pt;"> ERROR</div>\xd\xa                    <div style="color: #a94442;font-size:14pt; margin-bottom:20px;"><p><strong>Error: </strong>You are not logged in</p>
\xa                        <p>Please activate your license key first to use the plugin.</p>\xd
                        <p><strong>Possible Cause: </strong>Make sure you have activate your license key in to plugin</p>
\xa                    </div>
\xa                <div style="margin:3%;display:block;text-align:center;">"; 
        echo "<div style="margin:3%;display:block;text-align:center;"><a href=""; 
        echo $OX; 
        echo " "><input style="padding:1%;width:100px;background: #0091CD none repeat scroll 0% 0%;cursor: pointer;font-size:15px;border-width: 1px;border-style: solid;border-radius: 3px;white-space: nowrap;box-sizing: border-box;border-color: #0073AA;box-shadow: 0px 1px 0px rgba(120, 200, 230, 0.6) inset;color: #FFF;"type="button" value="Done"></a></div>"; 
        exit; 
        ak: 
        goto BI; 
        a3: 
        echo "<div style="font-family:Calibri;padding:0 3%;">"; 
        echo "<div style="color: #a94442;background-color: #f2dede;padding: 15px;margin-bottom: 20px;text-align:center;border:1px solid #E6B3B2;font-size:18pt;"> ERROR</div>
                    <div style="color: #a94442;font-size:14pt; margin-bottom:20px;"><p><strong>Error: </strong>Duplicate Licence Key is Encountered.</p>
                        <p>Please contact your administrator and report the following error:</p>
                        <p><strong>Possible Cause: </strong> License key for this instance is incorrect. Make sure you have not tampered with it at all. Please enter a valid license key.</p>\xd
                    </div>
\xa                <div style="margin:3%;display:block;text-align:center;">"; 
        echo "<div style="margin:3%;display:block;text-align:center;"><a href=""; 
        echo $OX; 
        echo " "><input style="padding:1%;width:100px;background: #0091CD none repeat scroll 0% 0%;cursor: pointer;font-size:15px;border-width: 1px;border-style: solid;border-radius: 3px;white-space: nowrap;box-sizing: border-box;border-color: #0073AA;box-shadow: 0px 1px 0px rgba(120, 200, 230, 0.6) inset;color: #FFF;"type="button" value="Done"></a></div>"; 
        exit; 
        BI: 
    } 
} 
 ?>

Did this file decode correctly?

Original Code

<?php


use Joomla\CMS\Date\Date;
defined("\x5f\112\105\x58\105\x43") or die("\x52\145\x73\x74\x72\x69\143\164\x65\144\x20\141\x63\x63\x65\x73\163");
require_once JPATH_ROOT . DIRECTORY_SEPARATOR . "\x61\144\155\x69\x6e\151\x73\x74\162\x61\x74\x6f\x72" . DIRECTORY_SEPARATOR . "\143\157\155\x70\157\x6e\x65\156\x74\x73" . DIRECTORY_SEPARATOR . "\143\x6f\155\137\155\151\x6e\151\x6f\162\141\x6e\147\145\137\151\x6d\x70\x6f\x72\164\x65\x78\160\157\x72\164\x75\163\145\x72\x73" . DIRECTORY_SEPARATOR . "\150\145\x6c\x70\x65\162\163" . DIRECTORY_SEPARATOR . "\x6d\157\137\143\x75\x73\x74\157\x6d\145\162\137\x73\145\x74\x75\160\x2e\160\150\x70";
class MoImportExportUtility
{
    public static function cle()
    {
        $mO = self::getCustomerDetails();
        $Ey = isset($mO["\154\151\143\x65\x6e\x73\x65\105\x78\160\x69\x72\x79"]) ? $mO["\x6c\151\x63\x65\156\163\145\x45\x78\160\151\162\171"] : "\60\x30\x30\x30\55\x30\60\x2d\60\60\x20\60\60\72\60\60\72\60\x30";
        if (!($Ey != "\60\60\60\60\x2d\x30\x30\55\x30\x30\x20\x30\60\72\60\x30\x3a\60\60")) {
            goto hx;
        }
        $Ij = strtotime($Ey);
        $wV = $mO["\x70\x6c\x61\156\x5f\x74\171\x70\145"];
        $bW = (int) floor(($Ij - time()) / 60 / 60 / 24);
        if ($bW <= 30 && $bW > 15 && !$mO["\155\x69\x6e\x69\x6f\162\141\x6e\147\x65\137\x65\x78\154\x69\x5f\164\150\151\x72\x74\171\x64"]) {
            goto O5;
        }
        if ($bW <= 15 && $bW > 5 && !$mO["\155\151\156\x69\x6f\x72\141\156\x67\x65\137\x65\x78\154\151\137\146\151\x66\164\x65\x65\x6e\144"]) {
            goto s0;
        }
        if ($bW <= 10 && $bW > 5 && !$mO["\155\x69\156\151\157\x72\141\x6e\x67\x65\x5f\145\x78\154\151\137\x74\x65\156\164\150"] && $wV == "\155\157\156\164\x68\x6c\x79") {
            goto C0;
        }
        if ($bW <= 5 && $bW > 1 && !$mO["\155\151\x6e\x69\x6f\162\x61\156\x67\x65\137\145\170\154\151\137\146\151\x76\x65\x64"]) {
            goto qB;
        }
        if ($bW == 1 && !$mO["\155\151\156\151\x6f\x72\141\x6e\x67\145\x5f\x65\x78\x6c\151\137\146\151\162\x73\x74"]) {
            goto cg;
        }
        if ($bW == 0 && !$mO["\155\151\156\151\x6f\x72\141\156\x67\145\x5f\145\170\x6c\151\x64"]) {
            goto R3;
        }
        if (!($bW < 0 && !$mO["\155\151\x6e\151\157\x72\x61\156\147\x65\x5f\154\x65\x78\x70\x69\162\145\144"])) {
            goto Ru;
        }
        if (self::licensevalidity($Ij)) {
            goto Zp;
        }
        self::_update_lid("\155\x69\x6e\151\x6f\162\141\156\147\145\137\154\145\170\160\x69\x72\145\144");
        json_decode(self::send_email_alert($Ey, 4, $wV, 0, $bW), true);
        self::freeLicenseKey();
        header("\x4c\x6f\x63\141\164\x69\157\156\72\x20" . JURI::base());
        Zp:
        Ru:
        goto p4;
        R3:
        if (self::licensevalidity($Ij)) {
            goto M1;
        }
        self::_update_lid("\x6d\151\156\x69\x6f\x72\x61\156\x67\145\x5f\145\x78\x6c\x69\144");
        json_decode(self::send_email_alert($Ey, 2, $wV, 0, $bW), true);
        M1:
        p4:
        goto w9;
        cg:
        if (self::licensevalidity($Ij)) {
            goto uB;
        }
        self::_update_lid("\x6d\151\156\x69\x6f\162\x61\156\147\145\x5f\145\170\154\x69\x5f\146\151\162\163\164");
        json_decode(self::send_email_alert($Ey, 3, $wV, 0, $bW), true);
        uB:
        w9:
        goto Io;
        qB:
        if (self::licensevalidity($Ij)) {
            goto rs;
        }
        self::_update_lid("\x6d\x69\x6e\x69\157\162\x61\x6e\147\145\x5f\x65\x78\x6c\x69\137\146\x69\166\145\144");
        json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
        rs:
        Io:
        goto HZ;
        C0:
        if (self::licensevalidity($Ij)) {
            goto TN;
        }
        self::_update_lid("\x6d\151\x6e\x69\x6f\x72\x61\156\147\145\137\x65\x78\x6c\x69\137\164\145\156\x74\150");
        json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
        TN:
        HZ:
        goto gr;
        s0:
        if (self::licensevalidity($Ij)) {
            goto Om;
        }
        self::_update_lid("\x6d\x69\x6e\x69\x6f\x72\x61\156\147\x65\137\x65\170\154\x69\x5f\146\151\x66\x74\145\145\156\144");
        json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
        Om:
        gr:
        goto V2;
        O5:
        self::_update_lid("\155\151\x6e\x69\x6f\x72\x61\156\147\145\137\145\170\154\x69\137\164\150\151\162\164\x79\144");
        json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
        V2:
        hx:
    }
    public static function freeLicenseKey()
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $W5 = array($qq->quoteName("\145\x6d\x61\151\x6c") . "\40\x3d\x20" . $qq->quote(''), $qq->quoteName("\x70\141\x73\163\167\x6f\x72\144") . "\x20\75\x20" . $qq->quote(''), $qq->quoteName("\x63\165\x73\164\x6f\155\x65\162\x5f\x6b\145\x79") . "\x20\75\x20" . $qq->quote(''), $qq->quoteName("\141\144\x6d\151\x6e\x5f\x70\150\157\156\x65") . "\x20\75\40" . $qq->quote(''), $qq->quoteName("\x63\x75\163\164\157\155\x65\x72\x5f\164\x6f\x6b\x65\x6e") . "\x20\x3d\x20" . $qq->quote(''), $qq->quoteName("\141\160\x69\137\153\145\171") . "\40\75\x20" . $qq->quote(''), $qq->quoteName("\162\145\x67\x69\163\x74\x72\141\164\x69\157\156\x5f\x73\164\x61\x74\165\163") . "\x20\x3d\40" . $qq->quote(''), $qq->quoteName("\154\157\x67\151\156\137\163\164\141\x74\165\x73") . "\40\x3d\40" . $qq->quote(0), $qq->quoteName("\164\x72\141\x6e\163\141\143\164\151\x6f\156\x5f\151\144") . "\x20\x3d\40" . $qq->quote(''), $qq->quoteName("\145\x6d\x61\151\x6c\137\143\x6f\165\x6e\164") . "\x20\75\x20" . $qq->quote(0), $qq->quoteName("\163\x6d\163\x5f\x63\x6f\x75\x6e\164") . "\x20\x3d\x20" . $qq->quote(0), $qq->quoteName("\x73\x6d\x6c\x5f\x6c\x6b") . "\x20\75\x20" . $qq->quote(''), $qq->quoteName("\151\x6e\137\143\x6d\x70") . "\x20\x3d\40" . $qq->quote(''), $qq->quoteName("\x73\164\x61\164\x75\163") . "\40\75\x20" . $qq->quote(''), $qq->quoteName("\x6c\151\x63\x65\156\163\145\x45\x78\160\151\162\171") . "\40\75\x20" . $qq->quote("\60\x30\x30\x30\55\60\60\x2d\60\x30\40\x30\60\72\x30\x30\72\60\x30"), $qq->quoteName("\163\165\x70\x70\157\x72\x74\x45\x78\x70\x69\162\x79") . "\40\x3d\40" . $qq->quote("\x30\60\60\60\55\60\x30\55\60\x30\x20\x30\x30\x3a\60\60\72\x30\x30"), $qq->quoteName("\154\x69\143\145\x6e\x73\x65\x50\154\141\x6e") . "\x20\75\x20" . $qq->quote(''), $qq->quoteName("\155\151\156\151\157\162\141\x6e\x67\145\137\x65\x78\x6c\x69\x5f\164\150\151\x72\x74\171\x64") . "\40\x3d\40" . $qq->quote(0), $qq->quoteName("\x6d\151\x6e\151\157\x72\x61\156\x67\x65\137\x65\x78\x6c\x69\x5f\146\151\146\x74\145\x65\156\x64") . "\x20\x3d\x20" . $qq->quote(0), $qq->quoteName("\155\151\156\151\157\162\x61\x6e\147\145\x5f\145\x78\x6c\x69\137\146\x69\x76\145\144") . "\x20\x3d\x20" . $qq->quote(0), $qq->quoteName("\155\x69\156\x69\x6f\162\x61\156\x67\x65\137\x65\x78\154\151\144") . "\x20\x3d\x20" . $qq->quote(0), $qq->quoteName("\x6d\x69\x6e\x69\157\162\141\x6e\147\145\x5f\154\x65\170\160\x69\x72\145\144") . "\40\x3d\40" . $qq->quote(0), $qq->quoteName("\x6d\x69\156\151\x6f\x72\141\x6e\x67\x65\x5f\x65\x78\x6c\x69\x5f\x74\145\x6e\x74\x68") . "\x20\75\x20" . $qq->quote(0), $qq->quoteName("\155\x69\156\151\x6f\162\141\156\147\x65\137\145\170\x6c\x69\137\x66\x69\162\163\x74") . "\40\x3d\40" . $qq->quote(0), $qq->quoteName("\x70\x6c\141\156\x5f\164\171\x70\x65") . "\40\75\x20" . $qq->quote(''));
        $RB = array($qq->quoteName("\x69\x64") . "\x20\75\x20\61");
        $tP->update($qq->quoteName("\x23\137\137\155\x69\156\x69\x6f\162\141\x6e\147\x65\137\x69\x6d\x70\157\162\x74\145\x78\160\x6f\x72\164\137\x63\x75\x73\164\157\x6d\x65\x72\137\144\145\164\x61\x69\x6c\x73"))->set($W5)->where($RB);
        $qq->setQuery($tP);
        $qq->execute();
    }
    public static function _update_lid($jX)
    {
        $qq = jFactory::getDbo();
        $tP = $qq->getQuery(true);
        $W5 = array($qq->quoteName($jX) . "\40\x3d\x20" . $qq->quote(1));
        $RB = array($qq->quoteName("\x69\144") . "\x20\x3d\40" . $qq->quote(1));
        $tP->update($qq->quoteName("\43\137\x5f\155\151\x6e\x69\x6f\162\141\x6e\x67\x65\137\151\155\160\x6f\x72\x74\x65\170\160\157\x72\164\x5f\x63\x75\163\x74\157\x6d\145\x72\137\x64\145\164\x61\151\154\x73"))->set($W5)->where($RB);
        $qq->setQuery($tP);
        $qq->execute();
    }
    public static function send_email_alert($Da, $G3, $wV, $sG, $bW)
    {
        $Fc = self::getHostname();
        $BZ = $Fc . "\57\155\x6f\x61\x73\x2f\x61\160\151\57\x6e\157\164\151\x66\x79\x2f\x73\x65\x6e\144";
        $oA = curl_init($BZ);
        $mO = self::getCustomerDetails();
        $eR = $mO["\x63\165\163\164\x6f\x6d\x65\162\137\153\x65\x79"];
        $RK = $mO["\x61\x70\151\137\153\145\x79"];
        $gY = $mO["\x65\x6d\x61\x69\154"];
        $vC = round(microtime(true) * 1000);
        $C2 = $eR . number_format($vC, 0, '', '') . $RK;
        $WH = hash("\163\x68\141\65\x31\62", $C2);
        $EI = "\103\165\x73\x74\x6f\155\x65\x72\x2d\x4b\145\171\72\x20" . $eR;
        $FK = "\x54\151\x6d\x65\163\x74\141\x6d\160\x3a\x20" . number_format($vC, 0, '', '');
        $xX = "\x41\x75\164\150\157\x72\x69\172\141\x74\151\x6f\x6e\x3a\x20" . $WH;
        $FE = $gY;
        $rl = JFactory::getConfig();
        $Re = $rl->get("\163\x69\x74\x65\156\141\155\x65");
        $jr = 5 + $bW;
        JFactory::getLanguage()->load("\x63\157\x6d\x5f\155\x69\x6e\151\157\162\141\x6e\x67\x65\137\x69\x6d\x70\x6f\x72\164\x65\170\160\157\162\164\165\163\145\x72\x73", JPATH_ADMINISTRATOR);
        if ($G3 == 1) {
            goto ep;
        }
        if (!($G3 == 2)) {
            goto Rv;
        }
        $bU = JText::sprintf("\x4c\111\102\x5f\115\x49\116\x49\x4f\122\x41\116\x47\105\x4a\117\117\115\114\x41\111\115\x50\117\122\x54\x45\130\x50\x4f\x52\124\x50\x4c\x55\x47\x49\116\x5f\x41\114\x45\x52\x54\x5f\105\115\x41\x49\x4c\137\x43\117\x4e\124\105\x4e\124\x5f\x32", $wV, $jr, $Re);
        $fi = JText::sprintf("\x4c\111\102\137\x4d\x49\x4e\111\117\x52\101\x4e\x47\x45\112\x4f\x4f\115\x4c\101\111\115\120\x4f\122\124\x45\x58\120\117\x52\x54\x50\x4c\125\107\111\x4e\137\x41\114\x45\x52\124\137\x45\115\x41\111\114\137\x53\125\102\112\x45\103\x54\137\62", $Re);
        Rv:
        goto ws;
        ep:
        $bU = JText::sprintf("\114\x49\x42\x5f\x4d\x49\116\x49\117\x52\101\116\107\x45\x4a\x4f\x4f\x4d\114\x41\x49\x4d\120\117\122\124\x45\130\120\117\x52\x54\120\114\x55\107\x49\116\x5f\x41\114\105\x52\x54\137\x45\x4d\x41\x49\114\x5f\x43\117\116\124\x45\116\124\137\x31", $wV, $Da, $Re);
        $fi = JText::sprintf("\x4c\111\102\x5f\115\x49\116\x49\117\x52\101\116\x47\105\112\117\117\x4d\114\x41\111\x4d\120\x4f\122\124\105\130\120\x4f\x52\124\120\x4c\125\107\x49\x4e\137\x41\114\105\x52\124\137\105\x4d\x41\x49\x4c\x5f\123\x55\x42\x4a\105\x43\124\137\x31", $Re);
        ws:
        if (!($G3 == 3)) {
            goto ez;
        }
        $bU = JText::sprintf("\114\x49\102\x5f\115\x49\x4e\x49\x4f\122\101\x4e\107\105\112\117\x4f\115\x4c\101\111\115\120\117\x52\x54\105\x58\x50\x4f\122\124\x50\x4c\125\x47\x49\116\x5f\101\114\x45\x52\x54\x5f\105\x4d\101\x49\114\x5f\x43\117\x4e\x54\x45\116\124\137\63", $wV, $Da, $Re);
        $fi = JText::sprintf("\114\x49\102\x5f\115\x49\116\x49\117\x52\x41\116\x47\105\112\117\117\x4d\114\x41\x49\115\x50\117\122\x54\105\x58\x50\x4f\x52\x54\x50\114\x55\107\111\x4e\x5f\x41\x4c\105\x52\x54\137\x45\x4d\x41\111\114\137\x53\x55\102\112\x45\x43\x54\137\61", $Re);
        ez:
        if (!($G3 == 4)) {
            goto pv;
        }
        $bU = JText::sprintf("\x4c\111\x42\x5f\115\x49\x4e\x49\117\122\x41\x4e\x47\105\112\117\117\115\x4c\101\111\x4d\120\117\122\x54\x45\x58\120\x4f\x52\124\120\x4c\125\107\111\116\137\x41\114\x45\x52\x54\137\105\x4d\x41\111\x4c\x5f\103\x4f\116\x54\x45\x4e\x54\x5f\64", $wV, $Re);
        $fi = JText::sprintf("\x4c\x49\x42\x5f\115\x49\x4e\111\x4f\x52\101\x4e\x47\x45\x4a\117\117\115\x4c\101\111\115\x50\117\122\x54\x45\130\120\117\x52\x54\x50\x4c\125\x47\111\116\137\101\x4c\x45\122\x54\137\105\x4d\x41\x49\114\137\x53\125\x42\112\x45\x43\124\137\62", $Re);
        pv:
        $AT = "\152\157\157\155\154\x61\163\165\160\160\157\x72\x74\100\x78\145\143\165\162\151\146\171\x2e\143\x6f\x6d";
        $W5 = array("\143\165\x73\164\x6f\x6d\x65\x72\x4b\145\171" => $eR, "\163\x65\x6e\144\105\x6d\141\x69\154" => true, "\145\x6d\141\151\154" => array("\x63\x75\163\x74\x6f\x6d\145\162\x4b\145\x79" => $eR, "\146\x72\157\x6d\105\155\141\151\x6c" => $AT, "\x62\x63\x63\105\x6d\x61\x69\154" => $AT, "\146\162\x6f\155\116\x61\155\145" => "\x6d\x69\156\x69\117\x72\x61\156\147\145", "\x74\x6f\105\x6d\141\151\x6c" => $FE, "\x74\x6f\116\141\x6d\145" => $FE, "\163\165\142\152\x65\143\x74" => $fi, "\143\x6f\x6e\164\x65\156\164" => $bU));
        $Il = json_encode($W5);
        curl_setopt($oA, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($oA, CURLOPT_ENCODING, '');
        curl_setopt($oA, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($oA, CURLOPT_AUTOREFERER, true);
        curl_setopt($oA, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($oA, CURLOPT_MAXREDIRS, 10);
        curl_setopt($oA, CURLOPT_HTTPHEADER, array("\103\x6f\x6e\164\145\x6e\x74\x2d\124\x79\160\x65\x3a\x20\141\160\160\x6c\151\x63\141\164\151\157\156\x2f\x6a\163\157\156", $EI, $FK, $xX));
        curl_setopt($oA, CURLOPT_POST, true);
        curl_setopt($oA, CURLOPT_POSTFIELDS, $Il);
        $bU = curl_exec($oA);
        if (!curl_errno($oA)) {
            goto md;
        }
        return json_encode(array("\163\164\141\x74\x75\x73" => "\105\x52\x52\117\122", "\163\164\x61\x74\x75\x73\x4d\145\x73\163\x61\x67\145" => curl_error($oA)));
        md:
        curl_close($oA);
        return json_encode(array("\163\164\x61\x74\165\x73" => "\123\x55\x43\103\x45\x53\x53", "\x73\164\141\x74\165\x73\x4d\x65\x73\163\141\147\x65" => "\x53\125\x43\103\105\123\x53"));
    }
    public static function __genDBUpdate($zu, $XI)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        foreach ($XI as $cy => $Z2) {
            $QH[] = $qq->quoteName($cy) . "\x20\x3d\x20" . $qq->quote($Z2);
            Fv:
        }
        p2:
        $tP->update($qq->quoteName($zu))->set($QH)->where($qq->quoteName("\151\x64") . "\x20\x3d\40\61");
        $qq->setQuery($tP);
        $qq->execute();
    }
    public static function licensevalidity($Ij)
    {
        $bU = self::ccl_for_plans();
        $vM = isset($bU["\x6c\151\x63\x65\156\x73\x65\x45\x78\160\151\162\x79"]) ? $bU["\154\151\143\145\x6e\163\145\105\x78\160\151\162\x79"] : "\x30\60\x30\x30\55\60\60\55\x30\x30\40\60\60\72\x30\60\72\60\60";
        if (!($vM != "\60\60\60\x30\x2d\60\60\x2d\60\x30\x20\60\60\x3a\60\60\72\x30\x30")) {
            goto bI;
        }
        $MV = strtotime($vM);
        bI:
        if ($MV > $Ij) {
            goto d_;
        }
        return FALSE;
        goto ao;
        d_:
        $zu = "\x23\137\137\155\x69\156\x69\x6f\162\141\156\x67\x65\x5f\151\x6d\160\x6f\162\x74\145\170\160\157\162\164\137\x63\x75\163\x74\x6f\x6d\145\162\137\144\145\164\x61\151\154\x73";
        $XI = array("\x6c\x69\143\145\156\x73\x65\105\x78\160\151\x72\x79" => $MV);
        self::__genDBUpdate($zu, $XI);
        return TRUE;
        ao:
    }
    public static function ccl_for_plans()
    {
        $DJ = self::get_all_import_export_license_plans();
        foreach ($DJ as $Sw) {
            $cW = new MoImportExportCustomer();
            $bU = json_decode($cW->ccl($Sw), true);
            if (!(!empty($bU) && $bU["\x73\164\141\x74\x75\163"] == "\123\x55\103\103\105\x53\123")) {
                goto yU;
            }
            goto AW;
            yU:
            XA:
        }
        AW:
        return $bU;
    }
    public static function get_all_import_export_license_plans()
    {
        return array("\x6a\x6f\157\x6d\x6c\x61\x5f\151\x6d\160\x6f\162\x74\x5f\145\170\160\157\x72\x74\x5f\x70\162\x65\155\151\x75\155\137\x71\x75\x61\x72\x74\145\x72\x6c\x79\137\160\154\x61\156", "\x6a\x6f\157\x6d\154\141\x5f\151\155\x70\x6f\x72\x74\137\145\x78\160\x6f\x72\164\137\x70\162\x65\155\151\x75\x6d\137\150\x61\154\146\x79\145\x61\x72\154\171\x5f\x70\x6c\141\156", "\x6a\157\x6f\155\x6c\141\137\151\155\x70\x6f\x72\164\x5f\145\x78\160\x6f\162\164\137\160\162\145\155\151\165\x6d\137\x70\x6c\x61\x6e");
    }
    public static function isCustomerRegistered()
    {
        $mO = self::getCustomerDetails();
        $Kb = $mO["\x73\164\x61\x74\x75\163"];
        if (!self::is_customer_registered() || self::check($Kb) != "\164\x72\165\x65") {
            goto Yx;
        }
        return $xP = '';
        goto jM;
        Yx:
        return $xP = "\144\x69\163\141\x62\154\145\x64";
        jM:
    }
    public static function is_customer_registered()
    {
        $E_ = self::getCustomerDetails();
        $gY = $E_["\x65\155\x61\151\154"];
        $eR = $E_["\x63\x75\x73\x74\x6f\x6d\x65\162\x5f\153\145\171"];
        if (!$gY || !$eR || !is_numeric(trim($eR))) {
            goto qA;
        }
        return 1;
        goto QF;
        qA:
        return 0;
        QF:
    }
    public static function check($jX)
    {
        if (empty($jX)) {
            goto TJ;
        }
        return self::decrypt($jX);
        goto Kd;
        TJ:
        return '';
        Kd:
    }
    public static function exportUserGroups()
    {
        $Pn = MoImportExportUtility::readUserGroupsTable();
        self::parseDataAndDownloadGroupsCSV($Pn);
    }
    public static function parseDataAndDownloadGroupsCSV($Pn)
    {
        $sM = '';
        $B7 = count($Pn);
        if (!is_array($Pn)) {
            goto CB;
        }
        foreach ($Pn[0] as $cy => $Z2) {
            $sM .= $cy . "\54";
            JG:
        }
        uN:
        $sM .= "\12";
        $z1 = 0;
        Cz:
        if (!($z1 < $B7)) {
            goto MW;
        }
        if (!is_array($Pn)) {
            goto Dy;
        }
        foreach ($Pn[$z1] as $cy => $Z2) {
            $sM .= $Z2 . "\x2c";
            zY:
        }
        Qf:
        Dy:
        $sM .= "\xa";
        Kq:
        $z1++;
        goto Cz;
        MW:
        header("\x43\157\156\164\x65\156\x74\x2d\x54\171\x70\145\72\x20\141\x70\x70\154\151\x63\141\164\151\157\x6e\57\143\x73\x76");
        header("\103\x6f\156\164\x65\x6e\164\x2d\x44\x69\163\x70\157\163\151\164\151\x6f\156\72\x20\141\x74\164\141\x63\150\155\145\x6e\x74\73\40\146\x69\x6c\145\156\141\155\x65\75\42\x61\154\x6c\x5f\147\x72\x6f\165\x70\x73\x5f\x72\x65\x70\157\162\164\56\x63\163\x76\x22");
        print_r($sM);
        exit;
        CB:
        header("\x43\x6f\x6e\164\x65\x6e\x74\55\124\x79\160\145\x3a\x20\x61\160\x70\154\151\143\141\x74\151\157\156\57\143\x73\x76");
        header("\103\157\x6e\164\145\156\164\x2d\x44\151\163\x70\157\163\151\x74\x69\157\x6e\72\40\141\x74\x74\x61\x63\150\155\145\156\x74\73\40\x66\x69\x6c\x65\x6e\x61\155\x65\x3d\x22\141\x6c\x6c\x5f\147\x72\x6f\165\160\x73\x5f\162\145\x70\x6f\x72\x74\56\x63\163\166\42");
        print_r($sM);
        exit;
    }
    public static function readUserGroupsTable()
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $tP->select("\x2a");
        $tP->from($qq->quoteName("\43\x5f\137\165\163\x65\x72\x67\x72\157\x75\160\x73"));
        $qq->setQuery($tP);
        return $qq->loadAssocList();
    }
    public static function getAllGroups()
    {
        $Gy = MoImportExportUtility::loadGroups();
        $Vv = array();
        foreach ($Gy as $cy => $Z2) {
            array_push($Vv, $Z2["\164\151\x74\154\145"]);
            bl:
        }
        CW:
        return $Vv;
    }
    public static function deleteUserIn()
    {
        $T6 = self::isColumnExist();
        if (!($T6 == "\x69\x6e\125\x73\145\162")) {
            goto Gp;
        }
        $qq = JFactory::getDBO();
        $fS = "\x41\x4c\x54\105\x52\x20\124\x41\x42\x4c\x45\x20\x23\x5f\x5f\x75\163\145\162\x73\x20\x44\x52\117\120\x20\x43\x4f\x4c\x55\x4d\116\40\151\156\x55\163\x65\x72";
        try {
            $qq->setQuery($fS);
            $qq->execute();
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\111\x6e\x73\151\x64\x65\40\x64\145\154\145\164\145\125\163\x65\162\x49\156\x20\146\165\x6e\x63\x74\151\x6f\156\x20\x61\156\x64\x20\x74\150\x69\x73\40\161\165\145\x72\171\x20\x66\141\x69\154\145\x64\40\x61\x74\40\x25\x73\72\40" . __LINE__, $CX);
            JLog::add("\x54\150\x69\163\x20\x71\165\x65\x72\171\40\x66\141\151\154\145\x64\x3a\40" . $fS);
            self::mo_log("\x49\x6e\x73\x69\x64\x65\x20\144\145\x6c\x65\x74\145\x55\x73\x65\x72\x49\156\40\146\165\x6e\x63\164\x69\157\156\40\x61\156\x64\x20\146\x61\x69\x6c\x65\144\40\x74\x6f\x20\x64\145\154\145\x74\x65\40\x74\x68\x65\x20\165\163\x65\162\x2e\x20" . $CX);
        }
        Gp:
    }
    public static function isColumnExist()
    {
        $qq = JFactory::getDBO();
        $tP = "\123\x48\x4f\127\x20\103\x4f\x4c\125\x4d\x4e\x53\40\x46\122\x4f\115\40\140\x23\137\x5f\x75\163\x65\x72\x73\x60\40\114\x49\113\x45\40\x27\151\156\x55\163\x65\162\x27";
        $qq->setQuery($tP);
        return $qq->loadResult();
    }
    public static function createAndUpdateUsersTable()
    {
        $T6 = self::isColumnExist();
        if (!($T6 != "\151\156\x55\163\x65\x72")) {
            goto QH;
        }
        $qq = JFactory::getDBO();
        $fS = "\101\114\124\x45\122\40\124\x41\102\x4c\x45\40\43\137\137\165\163\145\162\x73\40\101\104\104\40\103\117\114\x55\115\x4e\x20\151\x6e\x55\x73\x65\x72\x20\x56\x41\x52\x43\x48\x41\122\50\x31\65\51\x20\116\x4f\x54\40\x4e\125\114\x4c\x20\104\x45\106\101\125\x4c\124\x20\x27\x30\x27";
        try {
            $qq->setQuery($fS);
            $qq->execute();
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\111\x6e\163\151\x64\x65\x20\143\162\x65\141\x74\145\101\x6e\x64\125\x70\144\x61\x74\145\125\x73\145\162\x73\x54\x61\x62\154\145\x20\x66\165\x6e\143\x74\x69\x6f\156\x20\141\156\144\40\164\150\151\163\x20\161\165\145\162\x79\x20\146\x61\x69\x6c\145\x64\x20\x61\164\x20\x25\163\72\40" . __LINE__, $CX);
            JLog::add("\124\150\x69\163\40\161\165\145\x72\x79\x20\146\x61\151\x6c\x65\144\72\x20" . $fS);
            self::mo_log("\x49\156\163\x69\144\x65\x20\143\162\145\x61\164\x65\101\156\144\x55\160\x64\141\x74\x65\x55\x73\145\162\x73\x54\141\x62\154\x65\x20\146\165\x6e\143\164\151\x6f\x6e\40\x61\x6e\144\40\x66\141\x69\154\x65\x64\40\164\157\40\141\144\144\x20\x6e\145\x77\40\143\x6f\154\x75\x6d\156\56\x20" . $CX);
        }
        QH:
    }
    public static function parseDataAndGetArray($CO)
    {
        $Ab = 0;
        $fn = array();
        $q1 = array();
        foreach ($CO as $cy => $Z2) {
            if ($cy == 0) {
                goto vH;
            }
            $FX = 0;
            $NQ = count($Z2);
            foreach ($ei as $cy => $jX) {
                if (!($FX < $NQ)) {
                    goto S1;
                }
                $q1[$cy] = $Z2[$FX];
                $FX++;
                S1:
                wY:
            }
            Fd:
            $Ab++;
            array_push($fn, $q1);
            goto lO;
            vH:
            if (!(is_array($Z2) && isset($Z2))) {
                goto nq;
            }
            foreach ($Z2 as $iF) {
                $ei[$iF] = '';
                Rs:
            }
            Ar:
            nq:
            lO:
            xB:
        }
        Zb:
        return $fn;
    }
    public static function importGroups($CO)
    {
        if (!(is_array($CO) && isset($CO[0]))) {
            goto qU;
        }
        $fn = array();
        $fn = self::parseDataAndGetArray($CO);
        self::arrayParseToInsertGroups($fn);
        qU:
    }
    public static function arrayParseToInsertGroups($Gy)
    {
        foreach ($Gy as $i5 => $Cz) {
            self::insertGroup($Cz);
            z_:
        }
        NT:
        $ho = JFactory::getApplication();
        $ho->enqueueMessage("\x55\163\145\162\x20\147\162\157\165\160\x20\x68\141\163\x20\142\x65\145\x6e\40\x69\x6d\x70\157\x72\x74\145\144\40\x73\165\x63\x63\x65\163\163\146\165\154\x6c\x79\x2e", "\x73\x75\143\143\x65\163\163");
        $ho->redirect("\151\x6e\144\x65\x78\x2e\x70\150\160\77\x6f\x70\x74\x69\x6f\156\75\143\157\x6d\x5f\155\151\156\151\x6f\162\141\x6e\147\x65\137\x69\x6d\160\157\162\164\x65\x78\160\157\x72\164\165\163\145\x72\163\46\x76\x69\145\x77\75\141\x63\x63\x6f\165\156\x74\163\145\164\165\x70\x26\x74\141\142\55\x70\x61\x6e\x65\154\x3d\x69\155\x70\157\x72\x74\x73\145\164\x74\151\156\x67\163");
    }
    public static function insertGroup($FH)
    {
        $mw = array();
        $XM = array();
        $AA = '';
        $Up = count($FH);
        $z1 = 1;
        $zk = 0;
        $xF = 0;
        $Y6 = NULL;
        $nu = 0;
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        foreach ($FH as $cy => $Z2) {
            if (!($cy != "\147\x72\x6f\x75\160" && !$nu)) {
                goto nQ;
            }
            array_push($mw, $cy);
            if ($z1 < $Up) {
                goto hX;
            }
            $AA .= $qq->quote($Z2);
            goto eI;
            hX:
            $AA .= $qq->quote($Z2) . "\x2c";
            eI:
            nQ:
            $z1++;
            if (!($z1 > $Up)) {
                goto cQ;
            }
            $zk = 1;
            cQ:
            Po:
        }
        P2:
        if (!($zk == 1)) {
            goto h_;
        }
        $V1 = explode("\54", $AA);
        if (!(count($V1) > 5)) {
            goto Wy;
        }
        $V1 = array_slice($V1, 0, count($V1) - 1);
        Wy:
        array_shift($V1);
        $jX = implode("\54", $V1);
        array_push($XM, $jX);
        array_shift($mw);
        if (!(count($FH) > 5)) {
            goto F6;
        }
        $FH = array_slice($FH, 0, count($FH) - 1);
        F6:
        if (!(count($mw) > 4)) {
            goto rS;
        }
        $mw = array_slice($mw, 0, count($mw) - 1);
        rS:
        if (!isset($FH["\151\x64"])) {
            goto dy;
        }
        $ug = $FH["\151\144"];
        $Zk = $FH["\164\x69\x74\x6c\145"];
        if (!($ug > 9)) {
            goto pr;
        }
        $Au = self::isGroupExist($Zk);
        if (!($Au != $Zk)) {
            goto EG;
        }
        $tP->insert($qq->quoteName("\43\x5f\137\165\163\145\x72\x67\162\x6f\165\160\163"))->columns($qq->quoteName($mw))->values(implode("\x2c", $XM));
        try {
            $qq->setQuery($tP);
            $qq->execute();
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\111\x6e\163\x69\x64\145\40\151\x6e\x73\x65\162\x74\x47\162\x6f\165\x70\x20\x66\165\156\x63\x74\151\157\156\x20\141\156\x64\x20\x74\150\x69\x73\x20\x71\x75\145\x72\x79\40\x66\141\151\x6c\145\144\40\x61\x74\40\45\x73\x3a\40" . __LINE__, $CX);
            JLog::add("\124\150\151\163\40\161\165\x65\x72\171\40\x66\141\151\154\145\x64\72\40" . $tP);
            self::mo_log("\111\156\163\x69\144\145\x20\x69\x6e\163\145\x72\x74\107\162\157\165\160\x20\146\x75\x6e\x63\164\151\x6f\156\40\141\156\144\x20\x66\141\151\154\x65\144\40\x74\x6f\x20\151\x6e\163\145\x72\164\x20\164\x68\145\40\x76\141\x6c\165\x65\163\56\40" . $CX);
        }
        EG:
        pr:
        dy:
        h_:
        return TRUE;
    }
    public static function isGroupExist($Zk)
    {
        $qq = JFactory::getDBO();
        $tP = $qq->getQuery(true)->select("\164\x69\x74\154\x65")->from("\x23\x5f\x5f\x75\163\145\x72\147\x72\157\x75\x70\x73")->where("\164\x69\164\154\x65\x3d" . $qq->quote($Zk));
        $qq->setQuery($tP);
        return $qq->loadResult();
    }
    public static function importUsers($CO, $Ul, $j4)
    {
        if (!(is_array($CO) && isset($CO[0]))) {
            goto VE;
        }
        $Ab = 0;
        $fn = array();
        $q1 = array();
        foreach ($CO as $cy => $Z2) {
            if ($cy == 0) {
                goto gx;
            }
            $FX = 0;
            $NQ = count($Z2);
            foreach ($ei as $cy => $jX) {
                if (!($FX < $NQ)) {
                    goto SN;
                }
                $q1[$cy] = $Z2[$FX];
                $FX++;
                SN:
                Bj:
            }
            lS:
            $Ab++;
            array_push($fn, $q1);
            goto u4;
            gx:
            if (!(is_array($Z2) && isset($Z2))) {
                goto cz;
            }
            foreach ($Z2 as $iF) {
                $ei[$iF] = '';
                d0:
            }
            wv:
            cz:
            u4:
            vQ:
        }
        Nw:
        self::arrayParseToInsertUsers($fn, $Ul, $j4);
        VE:
    }
    public static function runCron()
    {
        $Mm = MoImportExportUtility::getConfig("\x23\x5f\137\x6d\x69\156\151\157\x72\x61\x6e\147\145\137\x63\x72\157\156\151\155\x70\157\162\164");
        $or = isset($Mm["\x6d\157\x5f\143\162\x6f\x6e\x5f\160\145\162\151\x6f\144"]) ? $Mm["\x6d\157\137\143\x72\157\x6e\x5f\160\x65\162\151\157\x64"] : '';
        $Ul = TRUE;
        $v8 = time();
        if (!($v8 >= $Mm["\x63\162\157\156\x5f\x64\x65\146\x61\x75\x6c\164\x5f\x63\x68\x65\143\x6b\137\164\151\x6d\x65\163\164\x61\155\x70"] || $Mm["\x63\162\x6f\x6e\137\144\x65\x66\x61\165\154\x74\137\x63\x68\145\x63\153\x5f\164\x69\155\x65\163\x74\141\x6d\160"] == 0)) {
            goto A2;
        }
        if ($or == "\x68\x6f\x75\162\154\171") {
            goto EB;
        }
        if ($or == "\x64\x61\151\154\x79") {
            goto pZ;
        }
        if ($or == "\x77\x65\145\x6b\x6c\171") {
            goto oz;
        }
        $or = 60 * 60 * 24 * 7 * 30;
        goto h9;
        oz:
        $or = 60 * 60 * 24 * 7;
        h9:
        goto yI;
        pZ:
        $or = 60 * 60 * 24;
        yI:
        goto xd;
        EB:
        $or = 60 * 60;
        xd:
        $v8 = time() + $or;
        MoImportExportUtility::updateDBValue("\43\137\x5f\155\151\x6e\x69\157\162\141\x6e\x67\x65\x5f\x63\162\x6f\x6e\151\155\160\157\x72\164", "\143\162\157\x6e\137\144\x65\x66\141\165\154\164\137\143\x68\x65\x63\153\x5f\x74\151\155\x65\x73\x74\141\x6d\x70", $v8);
        $RX = $Mm["\155\157\x5f\x70\141\x74\150\x5f\x74\x6f\137\142\145\x5f\151\155\160\157\x72\164\x65\x64\x5f\160\x65\162\x69\x6f\144\151\x63\141\154\x6c\x79"];
        if (ini_set("\144\x65\146\141\165\154\x74\137\x73\x6f\x63\x6b\x65\164\137\164\151\x6d\145\157\x75\x74", 15)) {
            goto gU;
        }
        echo "\74\41\55\55\40\165\x6e\x61\142\154\145\x20\164\157\40\143\x68\x61\x6e\147\145\x20\x73\157\143\153\x65\x74\40\164\151\x6d\x65\157\x75\164\40\55\x2d\76";
        gU:
        if (($Pw = fopen($RX, "\x72")) !== FALSE) {
            goto q1;
        }
        die("\x50\x72\x6f\142\x6c\145\x6d\x20\162\145\141\x64\151\x6e\147\x20\143\x73\166");
        goto Qk;
        q1:
        sD:
        if (!(($Ob = fgetcsv($Pw, 10000, "\54")) !== FALSE)) {
            goto VN;
        }
        $Bv[] = $Ob;
        goto sD;
        VN:
        fclose($Pw);
        Qk:
        self::importUsers($Bv, $Ul, FALSE);
        A2:
    }
    public static function insertUpdateGroups($Pg)
    {
        $Y6 = NULL;
        $Ch = array();
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        foreach ($Pg as $cy => $Z2) {
            if (!($cy == "\x75\x73\x65\162\x6e\141\x6d\x65")) {
                goto XZ;
            }
            $Y6 = self::getUserInfo($Z2);
            if (empty($Y6)) {
                goto bO;
            }
            $xF = $Y6->id;
            bO:
            XZ:
            if (!($cy == "\x67\162\157\165\x70")) {
                goto ro;
            }
            $Ch = explode("\x3b", $Z2);
            ro:
            if (!$Y6) {
                goto Lj;
            }
            $xF = $Y6->id;
            $Xa = self::getUserNameByGroupID($xF);
            $qn = array();
            foreach ($Xa as $cy => $Z2) {
                $qn[] = $Z2["\x74\x69\164\x6c\x65"];
                EY:
            }
            Pq:
            foreach ($Ch as $cy => $Z2) {
                $pA = self::loadUserGroupID($Z2)["\151\144"];
                $Au = self::isGroupAlreadyExist($xF, $pA);
                if (!(!isset($Au["\165\163\x65\x72\137\151\144"]) || empty($Au["\165\x73\x65\162\x5f\x69\144"]))) {
                    goto a4;
                }
                self::insertNewGroup($xF, $pA);
                a4:
                Ri:
            }
            Jr:
            Lj:
            KC:
        }
        rf:
    }
    public static function insertUpdateUserProfile($Pg)
    {
        $Y6 = NULL;
        $Ch = array();
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        foreach ($Pg as $cy => $Z2) {
            if (!($cy == "\165\163\x65\x72\156\x61\155\x65")) {
                goto iL;
            }
            $Y6 = self::getUserInfo($Z2);
            if (empty($Y6)) {
                goto VQ;
            }
            $xF = $Y6->id;
            VQ:
            iL:
            if (!($cy == "\x70\162\x6f\146\x69\154\x65")) {
                goto hb;
            }
            $Z2 = trim($Z2, "\173");
            $Z2 = trim($Z2, "\175");
            $qV = explode("\73", $Z2);
            hb:
            ZO:
        }
        N8:
        if (!$Y6) {
            goto I5;
        }
        $xF = $Y6->id;
        $mK = self::getUserProfileInfoID($xF);
        foreach ($qV as $rm => $rc) {
            $lw = explode("\72", $rc);
            $cy = "\x70\162\x6f\146\151\x6c\145\56" . strtolower(trim($lw[0], "\42"));
            $Z2 = trim($lw[1], "\x22");
            if (in_array($cy, $mK)) {
                goto tI;
            }
            if (!($lw[0] != '')) {
                goto PE;
            }
            $vJ = self::selectMaxOrdering($xF);
            $tP = $qq->getQuery(true);
            $IT = array("\x75\163\x65\162\137\151\x64", "\x70\x72\x6f\146\151\154\145\x5f\x6b\x65\x79", "\x70\x72\157\146\x69\x6c\x65\137\x76\141\x6c\x75\145", "\157\x72\144\145\x72\151\x6e\147");
            $g_ = array($xF, $qq->quote($cy), $qq->quote($Z2), ++$vJ);
            $tP->insert($qq->quoteName("\43\137\x5f\165\x73\145\162\x5f\160\162\x6f\146\151\x6c\x65\x73"))->columns($qq->quoteName($IT))->values(implode("\x2c", $g_));
            PE:
            try {
                $qq->setQuery($tP);
                $qq->execute();
            } catch (Exception $Sl) {
                $CX = $Sl->getMessage();
                JLog::add("\111\x6e\x73\x69\144\145\x20\x69\156\163\x65\x72\x74\x55\160\144\141\x74\x65\125\x73\x65\162\x50\162\157\146\151\x6c\145\40\x66\x75\x6e\143\164\151\157\x6e\40\x61\156\x64\x20\164\x68\x69\x73\x20\161\x75\x65\x72\x79\x20\146\x61\x69\x6c\x65\144\40\x61\164\40\45\163\72\x20" . __LINE__, $CX);
                JLog::add("\x54\150\151\x73\x20\161\x75\x65\162\171\x20\146\141\x69\x6c\x65\144\72\40" . $tP);
                self::mo_log("\x49\x6e\x73\151\x64\x65\x20\x69\x6e\163\145\162\x74\125\x70\x64\x61\164\145\x55\x73\x65\x72\x50\162\x6f\x66\x69\x6c\145\40\146\165\x6e\x63\x74\x69\157\x6e\40\x61\156\x64\40\146\x61\x69\154\x65\144\40\x74\157\40\151\x6e\163\145\162\164\x20\164\150\145\40\x76\141\154\165\x65\x73\56\x20" . $CX);
                return FALSE;
            }
            goto Xq;
            tI:
            $tP = $qq->getQuery(true);
            $W5 = array($qq->quoteName("\160\x72\x6f\x66\x69\154\x65\137\166\141\154\x75\145") . "\40\75\x20" . $qq->quote($Z2));
            $RB = array($qq->quoteName("\x75\x73\x65\x72\137\151\144") . "\x20\75\40" . $qq->quote($xF), $qq->quoteName("\x70\162\157\146\151\x6c\145\x5f\x6b\145\171") . "\x20\x3d\x20" . $qq->quote($cy));
            $tP->update($qq->quoteName("\x23\137\137\x75\x73\145\x72\137\160\162\157\146\x69\x6c\145\163"))->set($W5)->where($RB);
            Xq:
            FB:
        }
        rW:
        return TRUE;
        I5:
    }
    public static function selectMaxOrdering($eL)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $tP->select("\115\101\130\50\157\162\144\x65\162\151\156\x67\51");
        $tP->from($qq->quoteName("\x23\x5f\x5f\x75\x73\x65\x72\x5f\160\x72\x6f\x66\151\x6c\145\163"));
        $tP->where($qq->quoteName("\165\x73\x65\x72\137\x69\x64") . "\40\x3d\x20" . $qq->quote($eL));
        $qq->setQuery($tP);
        $Np = $qq->loadResult();
        return isset($Np) && !empty($Np) ? $Np : "\x30";
    }
    public static function getUserProfileInfoID($eL)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $tP->select("\160\x72\157\146\151\154\145\x5f\153\x65\x79");
        $tP->from("\x23\137\137\x75\x73\145\x72\137\160\x72\157\146\x69\x6c\145\163");
        $tP->where($qq->quoteName("\x75\x73\x65\x72\x5f\x69\x64") . "\x20\x3d\40" . $qq->quote($eL));
        $qq->setQuery($tP);
        return $qq->loadColumn();
    }
    public static function insertNewGroup($xF, $pA)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $mw = array("\x75\x73\145\x72\137\x69\x64", "\x67\162\x6f\x75\x70\137\x69\x64");
        $XM = array($qq->quote($xF), $qq->quote((int) $pA));
        $tP->insert($qq->quoteName("\43\x5f\137\165\x73\145\162\137\165\x73\145\162\147\162\x6f\x75\160\137\x6d\141\x70"))->columns($qq->quoteName($mw))->values(implode("\54", $XM));
        try {
            $qq->setQuery($tP);
            $qq->execute();
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\x49\x6e\x73\151\144\145\40\x69\156\163\x65\x72\x74\116\x65\167\x47\x72\157\x75\x70\x20\146\x75\156\143\164\x69\157\156\x20\141\x6e\x64\x20\164\x68\x69\x73\x20\x71\165\x65\x72\x79\40\x66\141\x69\x6c\x65\144\x20\x61\164\x20\45\163\x3a\x20" . __LINE__, $CX);
            JLog::add("\x54\150\151\x73\x20\x71\x75\x65\x72\x79\x20\x66\141\151\154\145\144\72\x20" . $tP);
            self::mo_log("\x49\156\163\x69\144\x65\x20\x69\x6e\x73\x65\x72\164\x4e\x65\167\107\162\157\165\160\40\146\165\x6e\143\x74\x69\x6f\156\40\x61\156\x64\x20\146\x61\151\x6c\145\144\x20\164\x6f\x20\151\156\163\145\x72\x74\x20\x74\150\x65\40\166\x61\x6c\165\x65\163\56\40" . $CX);
        }
    }
    public static function isGroupAlreadyExist($eL, $ug)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true)->select("\165\163\x65\x72\137\x69\x64")->from("\x23\x5f\x5f\x75\163\145\x72\137\x75\163\x65\x72\147\x72\157\x75\x70\137\155\141\160")->where($qq->quoteName("\147\162\x6f\165\160\137\x69\x64") . "\75" . $ug)->andWhere($qq->quoteName("\165\x73\x65\162\x5f\151\x64") . "\75" . $eL);
        $qq->setQuery($tP);
        $qq->execute();
        return $qq->loadAssoc();
    }
    public static function arrayParseToInsertUsers($Pg, $Ul, $j4)
    {
        $Mm = MoImportExportUtility::getConfig("\x23\137\x5f\155\151\x6e\151\157\x72\141\x6e\x67\x65\x5f\x69\x6d\x70\x6f\162\x74\x75\163\145\162\x73");
        $PH = isset($Mm["\x6d\x6f\x5f\x64\x65\154\x65\x74\145\137\x75\x73\x65\162\163\x5f\167\x68\151\143\150\137\x6e\x6f\x74\137\x69\x6e\x5f\143\x73\166"]) ? $Mm["\x6d\x6f\x5f\x64\x65\x6c\145\164\145\137\165\163\145\x72\x73\137\167\150\151\x63\x68\x5f\156\157\x74\137\151\156\x5f\x63\163\166"] : 0;
        if (!$PH) {
            goto rO;
        }
        self::updateUserInColumnForSuperuser();
        self::updateUserInColumnValue();
        rO:
        foreach ($Pg as $S8 => $ie) {
            $E_ = self::insertUser($ie, $Ul, $j4);
            self::insertUpdateGroups($ie);
            if (!$j4) {
                goto i6;
            }
            self::insertUpdateUserProfile($ie);
            i6:
            KU:
        }
        Dx:
        if (!$PH) {
            goto Xa;
        }
        self::deleteUsersNotinCSV();
        Xa:
        $ho = JFactory::getApplication();
        if ($E_) {
            goto BH;
        }
        $CX = "\106\141\x69\x6c\x65\144\40\164\157\x20\x69\155\160\157\x72\164\x20\164\150\145\x20\165\x73\x65\162\x73\56\40\131\157\165\40\x63\x61\x6e\40\x72\x65\146\145\x72\x20\74\x61\x20\x68\162\x65\x66\x3d\42\x68\164\164\160\x73\x3a\x2f\x2f\146\x61\x71\x2e\x6d\151\x6e\x69\x6f\x72\x61\156\147\145\56\143\157\x6d\x2f\153\156\157\167\154\145\x64\147\145\142\x61\163\145\57\151\163\163\165\x65\x2d\x69\x6e\55\151\x6d\160\x6f\x72\164\x69\x6e\x67\55\x75\x73\145\162\x73\x2d\165\163\x69\156\147\55\164\x68\145\x2d\152\157\157\155\154\x61\x2d\x69\155\160\x6f\162\164\55\x65\x78\160\x6f\x72\164\55\160\x6c\x75\147\x69\x6e\x2f\x22\40\x74\141\x72\x67\145\x74\75\x22\137\x62\154\141\156\153\x22\76\164\x68\151\x73\x3c\57\141\76\40\x46\101\x51\163\x20\146\x6f\x72\40\164\x72\x6f\x75\142\x6c\145\163\x68\157\x6f\x74\x69\x6e\147\56";
        $ho->enqueueMessage($CX, "\x65\x72\162\157\x72");
        $ho->redirect("\x69\156\144\145\x78\56\x70\150\x70\x3f\x6f\x70\164\x69\157\x6e\x3d\143\x6f\155\x5f\155\x69\x6e\151\157\162\141\156\147\145\137\151\x6d\x70\x6f\x72\164\x65\x78\160\x6f\x72\x74\x75\163\x65\162\163\x26\x76\151\145\167\x3d\141\x63\x63\x6f\x75\x6e\164\163\x65\164\x75\160\46\164\x61\142\55\160\x61\156\x65\x6c\75\x69\155\160\x6f\162\164\x73\145\164\164\x69\x6e\147\x73");
        return;
        goto Jl;
        BH:
        $ho->enqueueMessage("\x55\x73\145\162\40\150\x61\163\x20\142\x65\145\156\x20\151\155\x70\157\162\164\145\144\40\163\165\143\143\145\x73\x73\x66\165\154\154\x79\56", "\x73\165\x63\x63\x65\163\x73");
        $ho->redirect("\x69\x6e\144\x65\170\x2e\x70\x68\x70\x3f\x6f\160\x74\x69\157\156\75\x63\x6f\x6d\x5f\155\x69\156\x69\x6f\162\x61\156\x67\145\x5f\x69\x6d\160\157\x72\x74\145\170\160\x6f\162\164\x75\x73\x65\x72\163\46\166\151\145\x77\x3d\141\x63\143\x6f\x75\156\x74\x73\x65\164\165\160\46\x74\x61\x62\55\160\141\156\145\x6c\75\x69\x6d\x70\157\x72\x74\163\145\164\164\x69\156\x67\x73");
        return;
        Jl:
    }
    public static function insertUser($Pg, $Ul = FALSE, $j4 = FALSE)
    {
        $mw = array();
        $XM = array();
        $AA = '';
        if ($j4) {
            goto Cw;
        }
        $Up = count($Pg) - 1;
        goto bX;
        Cw:
        $Up = count($Pg) - 2;
        bX:
        $z1 = 1;
        $zk = 0;
        $xF = 0;
        $Y6 = NULL;
        $nu = 0;
        $Mm = MoImportExportUtility::getConfig("\43\x5f\x5f\155\x69\156\x69\157\x72\141\x6e\x67\145\x5f\151\x6d\160\x6f\162\x74\x75\x73\145\162\163");
        $VR = isset($Mm["\155\x6f\x5f\144\x6f\x6e\x6f\x74\x5f\x75\160\x64\x61\x74\x65\137\x65\x78\x69\x73\x74\x69\x6e\x67\x5f\x75\x73\145\162\x73"]) ? $Mm["\x6d\157\x5f\x64\x6f\x6e\x6f\x74\x5f\x75\x70\x64\141\164\145\137\145\x78\x69\x73\164\x69\156\x67\137\165\x73\145\162\x73"] : 0;
        $PH = isset($Mm["\155\x6f\137\144\145\154\145\164\145\137\165\x73\145\162\x73\x5f\x77\x68\x69\x63\150\x5f\156\157\x74\137\151\156\x5f\143\163\166"]) ? $Mm["\155\x6f\x5f\144\145\x6c\145\x74\145\x5f\165\163\145\x72\x73\137\x77\150\151\143\x68\137\x6e\157\x74\137\151\x6e\137\x63\163\x76"] : 0;
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        foreach ($Pg as $cy => $Z2) {
            if (!($cy == "\x75\163\145\x72\156\x61\155\145")) {
                goto o9;
            }
            $Y6 = self::getUserInfo($Z2);
            if (empty($Y6)) {
                goto CJ;
            }
            $xF = $Y6->id;
            if (!($PH && !empty($xF))) {
                goto SG;
            }
            MoImportExportUtility::updateUserInColumn($xF);
            SG:
            CJ:
            $Hd = self::loadUserGroups($xF);
            foreach ($Hd as $cy => $Z2) {
                $sU = $Z2["\147\162\157\165\x70\x5f\151\144"];
                if (!($sU == 7 || $sU == 8)) {
                    goto Od;
                }
                $nu = TRUE;
                Od:
                zD:
            }
            IG:
            o9:
            if (!($cy == "\x72\x65\x67\151\163\x74\145\x72\x44\141\x74\x65")) {
                goto Kv;
            }
            if (!empty($Pg[$cy]) && $Pg[$cy] != "\60\60\x30\x30\x2d\60\x30\x2d\x30\x30\x20\x30\60\72\x30\x30\72\x30\x30") {
                goto y7;
            }
            $Pg[$cy] = date("\131\55\x6d\55\144\x20\110\72\151\x3a\x73");
            goto vg;
            y7:
            $bj = DateTime::createFromFormat("\155\55\144\x2d\131\x20\110\72\151\72\163", $Pg[$cy]);
            $errors = DateTime::getLastErrors();
            if ($errors["\145\x72\x72\x6f\x72\x5f\x63\157\x75\156\x74"] > 0 || $errors["\167\141\162\x6e\x69\156\147\x5f\x63\157\165\156\164"] > 0) {
                goto xq;
            }
            $Pg[$cy] = $bj->format("\131\x2d\x6d\x2d\x64\40\x48\x3a\151\x3a\x73");
            goto Tq;
            xq:
            $Pg[$cy] = date("\131\55\155\x2d\x64\x20\x48\72\x69\72\x73");
            Tq:
            vg:
            Kv:
            if (!($cy == "\x6c\141\x73\164\x76\151\x73\x69\x74\x44\x61\164\x65" || $cy == "\154\x61\163\164\x52\145\x73\x65\x74\x54\151\x6d\145")) {
                goto qs;
            }
            if (!empty($Pg[$cy]) && $Pg[$cy] != "\x30\60\60\x30\x2d\60\x30\x2d\x30\x30\x20\x30\60\x3a\60\60\x3a\x30\x30") {
                goto QS;
            }
            $Pg[$cy] = date("\131\x2d\x6d\55\144\40\x48\72\x69\x3a\163");
            goto ZH;
            QS:
            $bj = DateTime::createFromFormat("\x6d\x2d\144\55\x59\x20\110\72\151", $Pg[$cy]);
            $errors = DateTime::getLastErrors();
            if ($errors["\x65\x72\x72\157\162\x5f\143\157\165\x6e\164"] > 0 || $errors["\x77\141\x72\156\151\x6e\147\x5f\x63\157\x75\x6e\164"] > 0) {
                goto tf;
            }
            $Pg[$cy] = $bj->format("\x59\x2d\155\55\x64\x20\110\72\x69\x3a\163");
            goto X9;
            tf:
            $Pg[$cy] = date("\131\x2d\155\55\x64\40\x48\x3a\151\72\163");
            X9:
            ZH:
            qs:
            if (!($cy == "\x70\141\163\163\167\157\162\144")) {
                goto ES;
            }
            $Pg[$cy] = "\44\62\x79\44\x31\x30\44\x61\117\161\x78\x43\161\162\x6b\x70\102\65\145\66\103\x6c\x45\117\x72\170\x78\x6c\x4f\x6e\165\x70\x71\167\x75\103\64\x55\x69\141\101\145\x67\x47\71\x41\142\142\152\106\151\63\164\170\130\164\125\143\x6c\x6d";
            ES:
            if (!($cy == "\142\x6c\x6f\x63\x6b" || $cy == "\x73\x65\156\x64\x45\x6d\x61\151\x6c" || $cy == "\x72\x65\163\145\164\x43\157\165\156\164" || $cy == "\x72\x65\161\x75\151\x72\x65\x52\145\163\x65\164")) {
                goto ic;
            }
            $Pg[$cy] = (int) $Z2;
            ic:
            if (!($cy == "\x70\141\x72\x61\155\163")) {
                goto oB;
            }
            $Pg[$cy] = str_replace("\x3b", "\54", $Z2);
            oB:
            qr:
        }
        TX:
        if ($Y6) {
            goto FC;
        }
        foreach ($Pg as $cy => $Z2) {
            if (!($cy == "\160\x61\162\x61\155\x73")) {
                goto hO;
            }
            $Z2 = str_replace("\73", "\54", $Z2);
            hO:
            if (!($cy != "\160\x72\x6f\146\151\x6c\145" && $cy != "\x67\162\157\x75\160" && !$nu)) {
                goto VZ;
            }
            array_push($mw, $cy);
            if ($z1 < $Up) {
                goto AK;
            }
            $AA .= $qq->quote($Z2);
            goto QN;
            AK:
            $AA .= $qq->quote($Z2) . "\54";
            QN:
            VZ:
            $z1++;
            if (!($z1 > $Up)) {
                goto Qy;
            }
            $zk = 1;
            Qy:
            UB:
        }
        Bz:
        goto gK;
        FC:
        $xF = $Y6->id;
        if ($nu) {
            goto vV;
        }
        if ($VR) {
            goto Os;
        }
        $E_ = self::updateUserInfo($Pg, $xF);
        if ($E_) {
            goto c5;
        }
        return FALSE;
        goto UC;
        c5:
        return TRUE;
        UC:
        Os:
        vV:
        gK:
        if (!($zk == 1)) {
            goto Cv;
        }
        $V1 = explode("\x2c", $AA);
        if (!$PH) {
            goto ag;
        }
        array_push($V1, "\x27\61\47");
        ag:
        array_shift($V1);
        $jX = implode("\x2c", $V1);
        array_push($XM, $jX);
        array_shift($mw);
        $zR = 0;
        if (!(count($Pg) > 16)) {
            goto tS;
        }
        $Pg = array_slice($Pg, 0, count($Pg) - 2);
        tS:
        foreach ($Pg as $cy => $Z2) {
            if (!($cy == "\165\x73\145\162\156\141\x6d\145" && empty($Z2) || $cy == "\145\155\x61\x69\x6c" && empty($Z2))) {
                goto DT;
            }
            $zR = 1;
            DT:
            e8:
        }
        U3:
        if (!$zR) {
            goto z4;
        }
        return;
        z4:
        if (!(count($mw) > 16)) {
            goto zP;
        }
        $mw = array_slice($mw, 0, count($mw) - 1);
        $Ep = explode("\54", $XM[0]);
        if (!(count($Ep) > 16)) {
            goto WH;
        }
        $XM = array_slice($Ep, 0, count($Ep) - 1);
        WH:
        zP:
        if (!$PH) {
            goto Xl;
        }
        array_push($mw, "\151\x6e\125\x73\x65\x72");
        Xl:
        $tP->insert($qq->quoteName("\43\x5f\x5f\165\x73\x65\x72\x73"))->columns($qq->quoteName($mw))->values(implode("\x2c", $XM));
        try {
            $qq->setQuery($tP);
            $qq->execute();
            self::mo_log("\x49\x6e\163\x69\x64\145\x20\151\x6e\x73\x65\162\164\125\x73\x65\162\x20\x66\165\x6e\143\164\151\x6f\156\x20\x61\x6e\144\40\x74\x68\151\x73\x20\x71\165\x65\x72\171\x20\x73\165\x63\x65\x73\163\40\x61\164\40\x25\x73\x3a\x20");
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\111\x6e\x73\151\144\x65\x20\x69\x6e\163\145\162\164\125\163\145\x72\x20\146\x75\x6e\x63\164\x69\157\x6e\x20\x61\x6e\144\40\x74\x68\151\x73\40\x71\x75\145\162\x79\x20\146\141\151\x6c\145\144\40\141\164\x20\45\163\72\x20" . __LINE__, $CX);
            JLog::add("\124\x68\151\x73\40\161\x75\x65\x72\171\40\146\141\151\x6c\145\144\x3a\40" . $tP);
            self::mo_log("\111\x6e\163\151\x64\145\40\x69\156\163\145\162\164\x55\163\x65\162\x20\146\165\156\x63\x74\151\x6f\156\40\x61\x6e\x64\x20\x66\x61\151\154\x65\144\x20\164\157\x20\x69\x6e\163\145\x72\x74\40\164\x68\x65\x20\166\141\154\x75\145\x73\56\40" . $CX);
            return FALSE;
        }
        Cv:
        return TRUE;
    }
    public static function mo_log($Sj)
    {
        $Cs = $_SERVER["\x44\117\x43\125\115\x45\x4e\124\x5f\122\117\x4f\124"] . "\57\x6c\157\x67\57\x6c\157\x67\x2e\x6c\157\147";
        $ES = filesize($Cs);
        $NC = number_format($ES / 1024, 2);
        if (!($NC >= 256)) {
            goto S9;
        }
        file_put_contents($Cs, '');
        S9:
        $WN = $_SERVER["\x44\117\103\x55\x4d\105\116\x54\x5f\122\x4f\x4f\124"] . "\57\154\157\x67";
        if (file_exists($WN)) {
            goto rR;
        }
        mkdir($WN, 0777, true);
        rR:
        file_put_contents($Cs, var_export($Sj, true) . "\12", FILE_APPEND);
    }
    public static function updateUserInColumnValue()
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $W5 = array($qq->quoteName("\x69\x6e\125\163\145\x72") . "\x20\x3d\x20" . $qq->quote("\60"));
        $tP->update($qq->quoteName("\43\x5f\x5f\x75\x73\145\162\163"))->set($W5);
        try {
            $qq->setQuery($tP);
            $qq->execute();
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\111\156\163\x69\144\x65\40\165\x70\x64\x61\164\x65\125\x73\x65\x72\x49\156\103\157\154\x75\x6d\156\126\141\x6c\165\x65\x20\x66\165\x6e\x63\164\151\x6f\x6e\x20\141\x6e\x64\x20\164\150\151\x73\x20\x71\x75\145\162\x79\x20\x66\141\x69\x6c\x65\144\x20\x61\164\x20\45\x73\72\x20" . __LINE__, $CX);
            JLog::add("\x54\x68\151\x73\x20\x71\x75\x65\162\171\x20\146\141\151\x6c\145\x64\72\x20" . $tP);
            self::mo_log("\111\156\x73\x69\144\x65\40\165\x70\144\x61\164\x65\x55\163\145\162\x49\156\x43\157\x6c\x75\155\156\126\141\154\165\x65\40\x66\x75\x6e\143\x74\x69\157\156\40\x61\x6e\x64\x20\x66\x61\x69\154\145\144\40\x74\157\40\165\x70\144\141\164\145\40\164\150\x65\x20\x76\x61\x6c\x75\x65\x73\x2e\40" . $CX);
        }
    }
    public static function deleteUsersNotinCSV()
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $RB = array($qq->quoteName("\151\156\x55\163\x65\x72") . "\x20\x3d\x20" . $qq->quote("\60"));
        $tP->delete($qq->quoteName("\x23\137\137\165\163\145\x72\x73"))->where($RB);
        try {
            $qq->setQuery($tP);
            $qq->execute();
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\111\156\x73\x69\x64\145\40\x64\x65\154\x65\164\x65\125\x73\x65\x72\163\x4e\157\x74\151\156\x43\123\x56\40\x66\165\x6e\143\x74\151\157\x6e\40\141\156\144\x20\x74\150\x69\163\x20\x71\x75\145\x72\171\40\x66\141\x69\154\145\x64\40\x61\x74\x20\x25\163\72\x20" . __LINE__, $CX);
            JLog::add("\124\150\x69\x73\40\x71\x75\145\162\x79\x20\x66\141\x69\x6c\x65\x64\x3a\x20" . $tP);
            self::mo_log("\111\x6e\163\x69\144\145\x20\144\x65\154\x65\164\x65\x55\163\145\162\163\116\x6f\x74\x69\156\x43\123\x56\x20\x66\165\156\143\x74\x69\x6f\x6e\x20\x61\x6e\x64\x20\x66\141\x69\154\145\x64\40\164\157\40\144\x65\x6c\x65\x74\145\40\164\150\x65\40\x76\141\154\x75\x65\163\56\x20" . $CX);
        }
    }
    public static function updateUserInColumn($xF)
    {
        self::updateUserInColumnForSuperuser();
        $Hd = self::loadUserGroups($xF);
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $W5 = array($qq->quoteName("\151\x6e\x55\163\145\162") . "\x20\75\40" . $qq->quote("\104\117\116\124\137\x44\105\x4c\105\124\x45"));
        $RB = array($qq->quoteName("\x69\x64") . "\40\75\40" . $qq->quote($xF));
        $tP->update($qq->quoteName("\43\137\x5f\165\x73\145\x72\x73"))->set($W5)->where($RB);
        try {
            $qq->setQuery($tP);
            $qq->execute();
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\x49\156\163\x69\x64\145\x20\165\160\144\x61\x74\x65\x55\163\x65\x72\x49\156\103\157\154\165\155\x6e\40\x66\165\156\x63\164\151\157\156\40\141\x6e\x64\40\164\150\151\x73\40\x71\165\145\x72\x79\x20\146\x61\151\154\145\x64\40\x61\x74\x20\x25\x73\x3a\x20" . __LINE__, $CX);
            JLog::add("\124\150\151\x73\x20\161\x75\x65\162\171\x20\146\141\x69\154\x65\144\x3a\x20" . $tP);
            self::mo_log("\111\156\163\151\144\x65\x20\165\160\144\141\164\x65\x55\163\145\x72\111\156\103\x6f\154\x75\155\156\x20\x66\165\x6e\x63\164\x69\x6f\x6e\40\141\x6e\144\x20\146\x61\x69\x6c\x65\144\40\x74\157\x20\x75\x70\x64\141\164\145\40\164\150\x65\40\166\141\154\165\145\x73\56\40" . $CX);
        }
    }
    public static function updateUserInColumnForSuperuser()
    {
        $H3 = self::loadAdminSuperuserRole("\70");
        $xf = self::loadAdminSuperuserRole("\67");
        $Fo = array_merge($H3, $xf);
        $D_ = array_unique($Fo, SORT_REGULAR);
        if (empty($D_)) {
            goto Cd;
        }
        foreach ($D_ as $cy => $Z2) {
            $xF = $Z2["\x75\163\x65\162\x5f\x69\144"];
            $Yt = self::isUserExist($xF);
            if (!$Yt) {
                goto t4;
            }
            self::updateUserInForSuperuser($xF);
            t4:
            NL:
        }
        lv:
        Cd:
    }
    public static function updateUserInForSuperuser($xF)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $W5 = array($qq->quoteName("\x69\x6e\125\163\145\162") . "\x20\x3d\x20" . $qq->quote("\104\x4f\x4e\x54\137\104\105\x4c\105\124\105"));
        $RB = array($qq->quoteName("\151\144") . "\x20\75\x20" . $xF);
        $tP->update($qq->quoteName("\x23\x5f\137\165\163\145\162\x73"))->set($W5)->where($RB);
        try {
            $qq->setQuery($tP);
            $qq->execute();
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\111\156\163\151\x64\x65\40\x75\x70\x64\x61\x74\145\125\163\145\162\x49\156\x46\157\162\x53\x75\x70\x65\162\x75\163\145\162\x20\x66\x75\x6e\x63\164\151\157\156\40\x61\156\144\40\x74\x68\x69\163\x20\161\165\145\162\171\40\x66\x61\x69\154\145\144\40\x61\x74\x20\45\163\72\40" . __LINE__, $CX);
            JLog::add("\x54\x68\151\x73\x20\161\165\145\162\171\x20\x66\x61\151\x6c\x65\x64\72\40" . $tP);
            self::mo_log("\111\156\x73\x69\x64\x65\40\165\160\144\141\x74\145\125\x73\145\162\x49\x6e\106\x6f\x72\123\x75\x70\x65\162\x75\x73\145\162\40\146\165\156\143\164\x69\157\x6e\x20\x61\156\x64\40\146\x61\151\x6c\x65\144\40\x74\x6f\40\x75\160\x64\x61\x74\145\x20\x74\150\x65\x20\166\141\154\x75\x65\163\x2e\40" . $CX);
        }
    }
    public static function isUserExist($eL)
    {
        $qq = JFactory::getDBO();
        $tP = $qq->getQuery(true)->select("\x75\x73\x65\x72\156\141\x6d\145")->from("\43\x5f\137\165\163\145\x72\x73")->where("\x69\x64\x3d" . $qq->quote($eL));
        $qq->setQuery($tP);
        $E_ = $qq->loadResult();
        return $E_;
    }
    public static function getUserNameByGroupID($WM)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $Vv = JAccess::getGroupsByUser($WM);
        $vj = "\x28" . implode("\54", $Vv) . "\51";
        $tP = $qq->getQuery(true);
        $tP->select("\151\144\54\x20\x74\x69\x74\154\145");
        $tP->from("\x23\x5f\x5f\165\x73\145\x72\x67\x72\x6f\x75\160\x73");
        $tP->where("\151\144\x20\x49\x4e\x20" . $vj);
        $qq->setQuery($tP);
        $DA = $qq->loadAssocList();
        return $DA;
    }
    public static function updateUserInfo($Pg, $xF)
    {
        $iZ = $Pg;
        if (!(count($Pg) > 16)) {
            goto a9;
        }
        array_shift($Pg);
        a9:
        $W5 = array();
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        foreach ($Pg as $cy => $Z2) {
            if (!($cy != "\x67\x72\x6f\165\160" && $cy != "\160\162\157\146\x69\154\x65")) {
                goto WV;
            }
            array_push($W5, $qq->quoteName($cy) . "\40\x3d\40" . $qq->quote($Z2));
            WV:
            S8:
        }
        jq:
        $RB = array($qq->quoteName("\151\144") . "\40\x3d\40" . $qq->quote($xF));
        $tP->update($qq->quoteName("\43\137\137\165\x73\x65\x72\163"))->set($W5)->where($RB);
        $hm = MoImportExportUtility::getConfig("\43\x5f\137\x6d\151\156\x69\x6f\162\141\x6e\x67\x65\137\143\x72\157\156\x69\155\160\157\x72\164");
        $mJ = isset($hm["\163\145\x6e\x64\x5f\145\x6d\141\x69\x6c\x5f\x61\146\164\x65\162\x5f\x75\x70\x64\x61\x74\145"]) ? $hm["\163\x65\156\144\x5f\x65\155\x61\x69\x6c\x5f\141\x66\164\145\162\137\165\160\x64\x61\x74\145"] : 0;
        $r7 = isset($hm["\163\x65\156\144\x5f\x65\x6d\141\151\x6c\x5f\164\157\137\x75\x70\x64\x61\x74\x65\144\x5f\165\x73\145\162\x73"]) ? $hm["\x73\x65\156\144\137\145\x6d\141\151\154\137\x74\x6f\x5f\x75\x70\144\141\x74\x65\x64\x5f\165\x73\x65\x72\x73"] : 0;
        try {
            $qq->setQuery($tP);
            $qq->execute();
            if (!($mJ || $r7)) {
                goto dK;
            }
            self::sendNotification($iZ);
            dK:
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\125\163\x65\x72\40\125\x70\144\141\164\145\x20\x55\x73\145\x72\x20\x71\165\145\162\x79\x20\146\x61\151\154\145\144\x20\x61\164\x20\45\x73\72\x20" . __LINE__, $CX);
            JLog::add("\124\x68\151\x73\x20\161\165\x65\162\x79\x20\x66\x61\x69\x6c\145\144\72\x20" . $tP);
            self::mo_log("\111\x6e\x73\x69\x64\145\40\165\x70\144\141\x74\145\x55\x73\145\x72\x49\156\146\x6f\x20\146\x75\156\x63\x74\151\x6f\156\40\141\x6e\144\40\146\x61\x69\x6c\x65\144\x20\164\x6f\x20\165\x70\144\141\164\145\40\164\150\145\x20\x76\x61\154\165\145\163\x2e\x20" . $CX);
            return FALSE;
        }
        return TRUE;
    }
    public static function sendNotification($Pg)
    {
        $Fc = self::getHostname();
        $BZ = $Fc . "\x2f\x6d\157\x61\x73\57\141\160\151\57\x6e\157\x74\151\146\171\x2f\163\145\156\x64";
        $oA = curl_init($BZ);
        $mO = self::getCustomerDetails();
        $eR = $mO["\143\x75\x73\x74\157\x6d\145\x72\x5f\153\x65\x79"];
        $RK = $mO["\141\160\151\x5f\153\x65\171"];
        $gY = $mO["\145\155\x61\x69\154"];
        $FE = $Pg["\x65\155\141\151\154"];
        $U4 = json_encode($Pg, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
        if (!(!empty($eR) && !empty($RK) && !empty($gY) && !empty($FE))) {
            goto Jg;
        }
        $vC = round(microtime(true) * 1000);
        $C2 = $eR . number_format($vC, 0, '', '') . $RK;
        $WH = hash("\x73\x68\141\65\x31\62", $C2);
        $EI = "\x43\x75\163\164\157\155\145\162\x2d\x4b\145\x79\x3a\40" . $eR;
        $FK = "\x54\x69\155\145\x73\x74\x61\x6d\160\x3a\40" . number_format($vC, 0, '', '');
        $xX = "\101\x75\x74\150\157\162\151\172\141\164\151\157\x6e\72\x20" . $WH;
        $rl = JFactory::getConfig();
        $Re = $rl->get("\x73\151\164\145\x6e\141\x6d\x65");
        $fi = "\125\x73\x65\x72\x20\165\160\x64\141\x74\145\x20\156\x6f\x74\x69\x66\151\x63\x61\164\151\157\156";
        $bU = "\131\157\x75\x72\x20\x75\x73\145\162\x20\151\156\x66\157\x72\x6d\x61\x74\x69\157\x6e\x20\x68\141\x73\x20\142\x65\x65\156\40\x63\x68\141\156\x67\x65\144\40\x6f\x6e\40\x74\150\145\x20\x73\x69\164\x65\72\40" . $Re . "\40\x54\x68\x65\x20\146\x6f\154\154\x6f\167\x69\x6e\x67\x20\165\163\x65\162\x20\x64\x61\164\x61\x20\150\141\x73\40\x62\x65\145\x6e\x20\x75\160\144\x61\164\145\x64\x2e\74\x62\x72\40\57\76\74\x62\162\40\57\x3e\x3c\x62\x72\x20\x2f\76";
        $bU .= $U4;
        $AT = "\152\x6f\x6f\155\x6c\141\163\x75\x70\160\157\x72\164\x40\170\x65\x63\x75\x72\151\x66\x79\56\143\x6f\x6d";
        $W5 = array("\143\x75\x73\164\157\x6d\145\x72\x4b\145\x79" => $eR, "\x73\145\156\144\105\x6d\141\x69\154" => true, "\x65\155\141\151\x6c" => array("\x63\x75\x73\164\x6f\x6d\x65\162\113\x65\171" => $eR, "\x66\x72\157\x6d\105\x6d\x61\151\x6c" => $AT, "\x62\x63\143\x45\x6d\141\151\154" => $FE, "\146\162\157\155\x4e\x61\155\x65" => "\155\151\x6e\151\117\162\141\x6e\147\x65", "\x74\x6f\x45\155\141\151\154" => $FE, "\x74\x6f\116\141\x6d\x65" => $FE, "\163\x75\142\x6a\x65\143\164" => "{$fi}", "\143\157\x6e\x74\145\x6e\x74" => $bU));
        $Il = json_encode($W5);
        curl_setopt($oA, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($oA, CURLOPT_ENCODING, '');
        curl_setopt($oA, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($oA, CURLOPT_AUTOREFERER, true);
        curl_setopt($oA, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($oA, CURLOPT_MAXREDIRS, 10);
        curl_setopt($oA, CURLOPT_HTTPHEADER, array("\103\157\x6e\x74\x65\156\164\x2d\x54\171\x70\145\72\40\141\x70\160\154\151\143\x61\x74\151\157\x6e\57\x6a\163\157\156", $EI, $FK, $xX));
        curl_setopt($oA, CURLOPT_POST, true);
        curl_setopt($oA, CURLOPT_POSTFIELDS, $Il);
        $bU = curl_exec($oA);
        if (!curl_errno($oA)) {
            goto OF;
        }
        return json_encode(array("\163\x74\141\x74\x75\163" => "\x45\x52\x52\x4f\122", "\x73\x74\x61\x74\x75\x73\x4d\145\x73\163\x61\x67\x65" => curl_error($oA)));
        OF:
        curl_close($oA);
        return json_encode(array("\163\164\x61\x74\165\x73" => "\x53\x55\103\x43\105\x53\123", "\x73\x74\x61\x74\x75\163\x4d\145\x73\x73\141\147\145" => "\123\x55\x43\x43\105\x53\x53"));
        Jg:
    }
    public static function updateDBValue($Nb, $qy, $L9)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $W5 = array($qq->quoteName($qy) . "\40\x3d\x20" . $qq->quote($L9));
        $RB = array($qq->quoteName("\x69\144") . "\40\75\40\61");
        $tP->update($qq->quoteName($Nb))->set($W5)->where($RB);
        $qq->setQuery($tP);
        $qq->execute();
    }
    public static function insertUsername($qy, $Z2)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $mw = array($qy);
        $XM = array($qq->quote($Z2));
        $tP->insert($qq->quoteName("\x23\137\137\165\163\x65\162\x73"))->columns($qq->quoteName($mw))->values(implode("\x2c", $XM));
        try {
            $qq->setQuery($tP);
            $qq->execute();
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\111\x6e\163\x69\144\145\x20\151\156\163\x65\x72\164\125\x73\145\162\x6e\141\155\145\x20\146\x75\x6e\x63\164\x69\x6f\x6e\40\141\156\x64\x20\164\x68\x69\x73\40\161\165\145\x72\x79\40\146\141\x69\154\x65\144\x20\141\164\40\45\x73\x3a\40" . __LINE__, $CX);
            JLog::add("\124\150\x69\x73\40\161\x75\145\x72\x79\40\146\141\151\x6c\x65\x64\x3a\40" . $tP);
            self::mo_log("\x49\x6e\x73\x69\144\145\40\x69\156\x73\145\162\164\x55\163\145\x72\156\141\155\145\40\146\165\156\x63\164\x69\157\x6e\40\x61\x6e\144\x20\146\141\151\154\x65\144\x20\164\x6f\x20\x69\156\x73\x65\x72\x74\x20\x74\150\145\x20\166\141\x6c\165\x65\163\x2e\40" . $CX);
        }
    }
    public static function getUserInfo($MI)
    {
        $qq = JFactory::getDBO();
        $tP = $qq->getQuery(true)->select("\x2a")->from("\43\137\x5f\165\163\145\x72\x73")->where("\x75\x73\x65\162\x6e\141\155\x65\75" . $qq->quote($MI));
        $qq->setQuery($tP);
        $E_ = $qq->loadObject();
        return $E_;
    }
    public static function decrypt($Z2)
    {
        if (self::isExtensionInstalled("\157\160\x65\x6e\163\163\x6c")) {
            goto nr;
        }
        return;
        nr:
        $mO = self::_genericGetDBValues("\43\x5f\137\x6d\x69\156\x69\x6f\x72\x61\156\147\145\x5f\151\155\160\x6f\162\x74\x65\x78\x70\x6f\162\164\137\x63\165\163\x74\157\155\x65\162\x5f\x64\x65\164\x61\x69\x6c\163");
        $cy = $mO["\x63\165\163\x74\x6f\x6d\145\x72\137\164\157\x6b\145\156"];
        $d6 = rtrim(openssl_decrypt(base64_decode($Z2), "\x61\145\x73\x2d\61\x32\x38\x2d\145\x63\x62", $cy, OPENSSL_RAW_DATA), "\0");
        return trim($d6, "\x0\x2e\x2e\x1a");
    }
    public static function encrypt($Gh)
    {
        $Gh = stripcslashes($Gh);
        if (self::isExtensionInstalled("\x6f\x70\145\156\x73\163\x6c")) {
            goto pN;
        }
        return;
        pN:
        $mO = self::_genericGetDBValues("\43\137\x5f\x6d\151\156\x69\157\x72\x61\156\147\145\x5f\x69\x6d\160\x6f\162\164\145\170\x70\x6f\x72\x74\x5f\143\x75\163\164\157\x6d\145\x72\137\x64\145\x74\141\151\154\x73");
        $cy = $mO["\x63\165\163\164\157\x6d\145\162\x5f\164\157\153\x65\156"];
        return base64_encode(openssl_encrypt($Gh, "\141\145\163\x2d\x31\x32\70\55\x65\143\x62", $cy, OPENSSL_RAW_DATA));
    }
    public static function getUserID($Z2)
    {
        $qq = JFactory::getDbo();
        $qq->setQuery($qq->getQuery(true)->select("\151\144")->from("\x23\x5f\x5f\x75\163\x65\x72\x73")->where($qq->quoteName("\x75\x73\x65\x72\156\x61\x6d\145") . "\x20\75\x20" . $qq->quote($Z2)));
        return $qq->loadAssoc();
    }
    public static function downloadCSVFile($vf, $j4)
    {
        $sM = '';
        $B7 = count($vf);
        $IG = "\x75\x73\145\x72\137\162\145\160\157\162\164\x2e\x63\163\x76";
        if (!$j4) {
            goto Tp;
        }
        $IG = "\165\163\145\x72\137\162\145\x70\157\162\164\x5f\x77\151\x74\150\137\160\x72\157\146\x69\x6c\x65\56\143\x73\x76";
        Tp:
        if (!is_array($vf)) {
            goto Jt;
        }
        foreach ($vf[0] as $cy => $Z2) {
            $sM .= $cy . "\x2c";
            zI:
        }
        VS:
        if ($j4) {
            goto AQ;
        }
        $sM .= "\x67\x72\x6f\x75\160";
        goto Jy;
        AQ:
        $sM .= "\147\162\157\x75\160" . "\54\160\162\157\146\151\x6c\145";
        Jy:
        $sM .= "\12";
        $Ja = '';
        $z1 = 0;
        Ls:
        if (!($z1 < $B7)) {
            goto bo;
        }
        if (!is_array($vf)) {
            goto LR;
        }
        foreach ($vf[$z1] as $cy => $Z2) {
            if (!($cy == "\160\141\162\x61\155\x73")) {
                goto c0;
            }
            $Z2 = str_replace("\x2c", "\x3b", $Z2);
            c0:
            if (!($cy == "\x70\x61\163\x73\167\157\162\144")) {
                goto yu;
            }
            $Z2 = "\44\x32\x79\x24\61\60\x24\x61\x4f\x71\x78\103\x71\x72\153\x70\x42\x35\145\66\103\154\105\117\162\170\x78\x6c\117\156\165\160\161\x77\165\103\64\x55\x69\141\101\145\147\107\x39\x41\142\142\152\106\x69\x33\x74\170\130\x74\125\x63\154\155";
            yu:
            $sM .= $Z2 . "\x2c";
            $xF = $vf[$z1]["\151\x64"];
            jimport("\x6a\157\x6f\155\154\x61\56\141\143\x63\145\x73\163\56\141\x63\143\x65\163\x73");
            $Vv = JAccess::getGroupsByUser($xF, false);
            $Ux = JUserHelper::getProfile($xF);
            Og:
        }
        io:
        $wd = '';
        if (is_array($Vv)) {
            goto rB;
        }
        $sM .= $Vv . "\54";
        goto P3;
        rB:
        $Zk = array();
        foreach ($Vv as $pw) {
            $Zk[] = self::getGroupNameByID($pw);
            I6:
        }
        n3:
        $wd = implode("\73", $Zk);
        $sM .= $wd . "\x2c";
        P3:
        LR:
        if (!$j4) {
            goto jR;
        }
        if (isset($Ux->profile) && is_array($Ux->profile)) {
            goto L8;
        }
        $sM .= "\x20\x2c";
        goto ga;
        L8:
        $sM .= "\x7b";
        foreach ($Ux->profile as $rm => $rc) {
            $rc = str_replace("\54", '', $rc);
            $sM .= "\x22" . $rm . "\x22\x3a\x22" . $rc . "\x22\73";
            Zo:
        }
        hy:
        $sM .= "\x7d";
        ga:
        jR:
        $sM .= "\12";
        Sy:
        $z1++;
        goto Ls;
        bo:
        header("\x43\157\x6e\x74\x65\x6e\164\55\124\x79\160\145\x3a\x20\141\160\160\x6c\x69\x63\141\164\x69\157\x6e\x2f\143\x73\166");
        header("\103\x6f\156\164\145\x6e\x74\x2d\x44\151\x73\x70\157\163\151\164\151\157\x6e\72\40\141\x74\x74\141\143\x68\155\145\156\x74\x3b\x20\146\x69\x6c\x65\156\141\x6d\145\x3d\x22" . $IG . "\42");
        print_r($sM);
        exit;
        Jt:
        header("\x43\157\156\x74\x65\x6e\x74\x2d\x54\x79\x70\x65\x3a\40\x61\x70\160\154\x69\x63\141\x74\151\x6f\156\57\x63\163\166");
        header("\103\157\156\x74\145\x6e\164\x2d\x44\151\x73\160\157\x73\x69\x74\x69\157\x6e\x3a\40\x61\x74\x74\x61\x63\x68\155\145\x6e\164\73\40\146\x69\x6c\x65\156\x61\155\x65\75\42" . $IG . "\x22");
        print_r($sM);
        exit;
    }
    public static function isExtensionInstalled($VK)
    {
        if (in_array($VK, get_loaded_extensions())) {
            goto I0;
        }
        return false;
        goto Iz;
        I0:
        return true;
        Iz:
    }
    public static function _genericGetDBValues($YE)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $tP->select(array("\52"));
        $tP->from($qq->quoteName($YE));
        $tP->where($qq->quoteName("\x69\144") . "\x20\x3d\x20\61");
        $qq->setQuery($tP);
        $E_ = $qq->loadAssoc();
        return $E_;
    }
    public static function getJoomlaCmsVersion()
    {
        $TE = new JVersion();
        return $TE->getShortVersion();
    }
    public static function downloadCSVFileWithGroups($vf)
    {
        $Mm = MoImportExportUtility::getConfig("\43\137\137\155\x69\x6e\151\157\x72\x61\x6e\x67\x65\x5f\x65\x78\160\x6f\162\x74\x75\163\x65\162\x73");
        $p3 = isset($Mm["\x6d\x6f\x5f\x73\171\x6e\143\x5f\146\x6f\162\x5f\x72\x6f\x6c\145\x73"]) && !empty($Mm["\155\157\x5f\x73\171\156\143\137\146\157\162\x5f\162\157\154\145\x73"]) ? json_decode($Mm["\155\157\x5f\x73\171\156\x63\x5f\146\157\162\137\162\x6f\154\x65\163"]) : array();
        $eZ = array();
        foreach ($p3 as $pw) {
            $ug = self::loadUserGroupID($pw);
            $vf = self::getUsersUsingGroupID($ug["\151\x64"]);
            array_push($eZ, $vf);
            Lq:
        }
        Zc:
        $Dm = array();
        foreach ($eZ as $jM => $ed) {
            if (!is_array($ed)) {
                goto wA;
            }
            foreach ($ed as $vf) {
                array_push($Dm, $vf);
                s_:
            }
            Bh:
            wA:
            MM:
        }
        PT:
        $C7 = array_map("\163\145\162\x69\141\154\151\172\x65", $Dm);
        $R4 = array_unique($C7);
        $dY = array_intersect_key($Dm, $R4);
        $vf = array_values($dY);
        self::exportUsersWithGroupsAndDownloadCSV($vf);
    }
    public static function exportUsersWithGroupsAndDownloadCSV($vf)
    {
        $sM = '';
        if (!is_array($vf)) {
            goto mk;
        }
        foreach ($vf as $cy => $Z2) {
            if (!(is_array($Z2) && !empty($Z2))) {
                goto Wu;
            }
            foreach ($Z2 as $cy => $jX) {
                $sM .= $cy . "\54";
                XG:
            }
            p8:
            goto cq;
            Wu:
            HL:
        }
        cq:
        $sM .= "\147\x72\157\165\x70" . "\54";
        $sM .= "\12";
        $B7 = count($vf);
        $z1 = 0;
        pR:
        if (!($z1 < $B7)) {
            goto Wg;
        }
        if (!is_array($vf)) {
            goto BN;
        }
        foreach ($vf[$z1] as $cy => $Z2) {
            if (!($cy == "\x70\x61\x72\x61\155\x73")) {
                goto V0;
            }
            $Z2 = str_replace("\x2c", "\x3b", $Z2);
            V0:
            $sM .= $Z2 . "\x2c";
            $xF = $vf[$z1]["\x69\x64"];
            jimport("\152\157\157\x6d\x6c\x61\56\141\143\x63\145\x73\163\56\141\x63\143\x65\x73\163");
            $Vv = JAccess::getGroupsByUser($xF, false);
            dH:
        }
        j0:
        if (!$vf[$z1]) {
            goto oD;
        }
        $wd = '';
        if (is_array($Vv)) {
            goto er;
        }
        $sM .= $Vv;
        goto eX;
        er:
        $Zk = array();
        foreach ($Vv as $pw) {
            $Zk[] = self::getGroupNameByID($pw);
            N7:
        }
        Ll:
        $wd = implode("\x3b", $Zk);
        $sM .= $wd;
        eX:
        oD:
        BN:
        if (!$vf[$z1]) {
            goto fz;
        }
        $sM .= "\12";
        fz:
        Kh:
        $z1++;
        goto pR;
        Wg:
        header("\103\x6f\x6e\164\x65\x6e\x74\x2d\x54\x79\160\x65\x3a\x20\141\160\160\x6c\151\x63\141\x74\151\157\x6e\57\143\163\x76");
        header("\x43\157\156\x74\x65\x6e\x74\55\x44\x69\163\x70\x6f\163\151\x74\x69\157\156\72\x20\x61\164\x74\x61\x63\x68\x6d\145\x6e\164\73\40\x66\151\x6c\x65\156\141\x6d\145\x3d\42\125\x73\145\x72\x52\145\160\157\x72\x74\x73\56\143\x73\x76\42");
        print_r($sM);
        exit;
        mk:
        header("\103\157\x6e\x74\145\x6e\164\55\x54\x79\x70\145\72\x20\141\x70\x70\x6c\x69\x63\141\164\x69\157\156\57\x63\163\166");
        header("\x43\157\x6e\164\145\156\x74\x2d\104\x69\x73\x70\x6f\x73\151\164\x69\x6f\156\x3a\x20\x61\164\x74\x61\143\150\x6d\x65\x6e\164\x3b\x20\146\151\154\145\156\x61\155\145\75\42\x55\x73\145\162\122\x65\x70\157\x72\164\163\56\143\163\166\x22");
        print_r($sM);
        exit;
    }
    public static function loadUserGroupID($Zk)
    {
        $qq = JFactory::getDbo();
        $qq->setQuery($qq->getQuery(true)->select("\x69\x64")->from("\43\x5f\x5f\165\x73\145\162\x67\162\x6f\x75\160\x73")->where($qq->quoteName("\164\151\x74\x6c\145") . "\40\75\40" . $qq->quote($Zk)));
        return $qq->loadAssoc();
    }
    public static function getUsersUsingGroupID($ug)
    {
        $qq = JFactory::getDbo();
        $qq->setQuery("\123\145\x6c\x65\143\x74\x20\165\163\x65\162\x6e\141\x6d\x65\40\x46\162\157\155\x20\x23\x5f\x5f\165\163\x65\162\x73\x20\x49\156\156\x65\x72\40\112\x6f\151\x6e\40\43\x5f\137\x75\x73\145\162\137\x75\x73\x65\x72\147\162\157\165\160\x5f\155\141\x70\x20\x4f\156\40\x23\x5f\x5f\x75\163\145\162\163\56\x69\144\x20\75\x20\x23\x5f\137\x75\x73\145\x72\x5f\165\163\145\x72\147\162\x6f\165\x70\137\155\141\160\x2e\165\163\x65\x72\x5f\x69\144\x20\x57\150\145\162\x65\x20\43\137\137\165\x73\x65\x72\x5f\165\x73\x65\162\147\x72\157\165\160\x5f\x6d\141\x70\56\x67\x72\x6f\x75\x70\137\151\x64\x20\x3d\x20" . $ug . '');
        $E_ = $qq->loadColumn();
        $NQ = count($E_);
        $cu = array();
        $z1 = 0;
        KE:
        if (!($z1 < $NQ)) {
            goto nU;
        }
        $sU = isset($E_[$z1]) && !empty($E_[$z1]) ? $E_[$z1] : NULL;
        if (!(NULL != $sU)) {
            goto Xm;
        }
        $cu[] = self::getUserInfoUsingUName($sU);
        Xm:
        tE:
        $z1++;
        goto KE;
        nU:
        return $cu;
    }
    public static function importRoles($eL, $ug)
    {
        $W5 = array();
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $W5 = array($W5, $qq->quoteName("\x75\163\x65\162\x5f\x69\144") . "\40\75\x20" . $qq->quote($eL), $W5, $qq->quoteName("\x67\x72\157\165\x70\137\151\x64") . "\40\75\40" . $qq->quote($ug));
        $tP->update($qq->quoteName("\x23\137\x5f\165\x73\145\162\x5f\165\163\145\x72\x67\x72\157\165\160\x5f\155\x61\160"))->set($W5);
        try {
            $qq->setQuery($tP);
            $qq->execute();
        } catch (Exception $Sl) {
            $CX = $Sl->getMessage();
            JLog::add("\111\x6e\163\x69\x64\x65\x20\151\155\x70\x6f\162\164\x52\157\154\145\x73\40\x66\x75\156\x63\x74\x69\x6f\156\40\x61\156\144\40\164\150\x69\x73\40\161\x75\x65\x72\171\x20\x66\x61\151\154\145\144\x20\x61\164\40\45\x73\72\x20" . __LINE__, $CX);
            JLog::add("\x54\x68\151\x73\x20\x71\165\145\x72\171\x20\146\x61\x69\x6c\145\x64\72\x20" . $tP);
            self::mo_log("\x49\x6e\x73\x69\x64\145\40\151\x6d\160\157\x72\164\122\x6f\154\145\x73\x20\146\x75\156\x63\x74\151\x6f\x6e\x20\141\x6e\x64\x20\x66\141\151\154\x65\x64\x20\x74\x6f\x20\165\x70\x64\141\164\145\x20\164\x68\x65\x20\x76\141\x6c\165\145\163\56\x20" . $CX);
        }
    }
    public static function getUserInfoUsingUName($MI)
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $tP->select("\52");
        $tP->from($qq->quoteName("\x23\x5f\137\x75\x73\145\x72\163"));
        $tP->where($qq->quoteName("\x75\163\145\162\156\x61\155\145") . "\x20\75\40" . $qq->quote($MI));
        $qq->setQuery($tP);
        return $qq->loadAssoc();
    }
    public static function getCustomerDetails()
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $tP->select("\52");
        $tP->from($qq->quoteName("\43\137\x5f\x6d\x69\156\151\x6f\x72\x61\x6e\x67\x65\137\x69\x6d\x70\x6f\162\x74\145\x78\160\x6f\162\164\137\143\x75\163\164\x6f\x6d\145\162\137\144\x65\x74\141\151\154\x73"));
        $tP->where($qq->quoteName("\x69\x64") . "\x20\x3d\40\61");
        $qq->setQuery($tP);
        return $qq->loadAssoc();
    }
    public static function getConfig($Nb)
    {
        $qq = JFactory::getDbo();
        $qq->setQuery($qq->getQuery(true)->select("\x2a")->from($Nb));
        return $qq->loadAssoc();
    }
    public static function check_empty_or_null($Z2)
    {
        if (!(!isset($Z2) || empty($Z2))) {
            goto K1;
        }
        return true;
        K1:
        return false;
    }
    public static function is_curl_installed()
    {
        if (in_array("\143\x75\x72\154", get_loaded_extensions())) {
            goto jc;
        }
        return 0;
        goto oM;
        jc:
        return 1;
        oM:
    }
    public static function getCustomerToken()
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $tP->select("\143\x75\x73\164\x6f\x6d\x65\x72\x5f\164\157\x6b\x65\156");
        $tP->from($qq->quoteName("\x23\x5f\x5f\155\151\x6e\x69\x6f\x72\141\x6e\147\x65\137\x69\x6d\x70\157\162\164\x65\x78\160\x6f\162\164\x5f\x63\165\x73\164\x6f\155\145\x72\x5f\x64\145\164\141\x69\x6c\x73"));
        $tP->where($qq->quoteName("\151\144") . "\40\x3d\x20\x31");
        $qq->setQuery($tP);
        return $qq->loadResult();
    }
    public static function is_extension_installed($VK)
    {
        if (in_array($VK, get_loaded_extensions())) {
            goto c2;
        }
        return false;
        goto EP;
        c2:
        return true;
        EP:
    }
    public static function getHostname()
    {
        return "\x68\164\164\x70\163\x3a\57\x2f\154\157\x67\151\156\56\x78\145\x63\165\162\x69\146\x79\x2e\x63\157\155";
    }
    public static function readUsersTableData()
    {
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $tP->select("\x2a");
        $tP->from($qq->quoteName("\43\x5f\x5f\165\x73\x65\x72\x73"));
        $qq->setQuery($tP);
        return $qq->loadAssocList();
    }
    public static function readSpecificUserData($xA)
    {
        $Aj = str_ends_with($xA, "\73");
        $v1 = explode("\73", $xA);
        if (!$Aj) {
            goto Dp;
        }
        $v1 = array_slice($v1, 0, count($v1) - 1);
        Dp:
        if (!(isset($v1[0]) && $v1[0] != "\151\144")) {
            goto Ty;
        }
        array_unshift($v1, "\151\144");
        Ty:
        $qq = JFactory::getDbo();
        $tP = $qq->getQuery(true);
        $tP->select($qq->quoteName($v1));
        $tP->from($qq->quoteName("\x23\137\137\x75\x73\145\162\163"));
        $qq->setQuery($tP);
        return $qq->loadAssocList();
    }
    public static function loadGroups()
    {
        $qq = JFactory::getDbo();
        $qq->setQuery($qq->getQuery(true)->select("\52")->from("\x23\137\137\165\x73\x65\x72\147\x72\157\x75\160\163"));
        return $qq->loadAssocList();
    }
    public static function loadUserGroups($xF)
    {
        $qq = JFactory::getDbo();
        $qq->setQuery($qq->getQuery(true)->select("\x67\x72\x6f\165\x70\x5f\151\144")->from("\43\x5f\137\x75\163\x65\162\x5f\165\163\x65\162\x67\x72\x6f\165\x70\x5f\155\x61\x70")->where($qq->quoteName("\165\163\145\162\x5f\x69\x64") . "\40\x3d\40" . $qq->quote($xF)));
        return $qq->loadAssocList();
    }
    public static function loadAdminSuperuserRole($ug)
    {
        $qq = JFactory::getDbo();
        $qq->setQuery($qq->getQuery(true)->select("\165\163\145\162\x5f\151\144")->from("\43\x5f\137\x75\x73\x65\162\x5f\165\x73\145\x72\147\x72\x6f\165\160\x5f\155\x61\x70")->where($qq->quoteName("\147\162\x6f\165\160\137\151\x64") . "\x20\75\x20" . $qq->quote($ug)));
        return $qq->loadAssocList();
    }
    public static function getGroupNameByID($ug)
    {
        $qq = JFactory::getDbo();
        $qq->setQuery($qq->getQuery(true)->select("\164\151\164\154\145")->from("\43\x5f\137\x75\x73\x65\x72\147\x72\157\x75\160\163")->where($qq->quoteName("\x69\x64") . "\x20\75\40" . $qq->quote($ug)));
        $E_ = $qq->loadAssoc();
        return $E_["\164\x69\x74\154\145"];
    }
    public static function get_plan_type($Sw)
    {
        if ($Sw == "\x6a\x6f\157\x6d\x6c\141\137\x69\155\160\157\162\x74\137\x65\170\160\157\162\x74\137\160\x72\x65\x6d\151\165\155\137\x71\x75\141\x72\164\x65\x72\154\171\137\160\x6c\141\156") {
            goto Bm;
        }
        if ($Sw == "\152\x6f\x6f\155\x6c\141\137\x69\155\160\157\x72\164\x5f\145\x78\160\157\162\x74\x5f\160\x72\145\x6d\x69\x75\x6d\137\x68\141\x6c\x66\x79\x65\x61\x72\154\x79\x5f\x70\154\x61\156") {
            goto PG;
        }
        return "\x79\x65\141\x72\154\171";
        goto Q_;
        PG:
        return "\150\141\x6c\146\x79\145\141\162\x6c\x79";
        Q_:
        goto sE;
        Bm:
        return "\161\165\x61\x72\164\x65\162\x6c\171";
        sE:
    }
    public static function check_license()
    {
        $mO = self::getCustomerDetails();
        $M3 = $mO["\151\x6e\137\143\155\160"];
        $k_ = $mO["\x73\x6d\154\137\x6c\x6b"];
        $sR = JURI::root() . $k_;
        $sR = self::encrypt($sR);
        $OX = JURI::base();
        if (!($sR === $M3) && $M3 != null && $M3 != '') {
            goto a3;
        }
        if (!($M3 == null || $M3 == '')) {
            goto ak;
        }
        echo "\x3c\144\151\166\x20\163\164\x79\154\145\75\42\146\x6f\156\x74\x2d\x66\x61\x6d\x69\154\x79\x3a\103\141\154\151\142\x72\151\73\x70\x61\x64\x64\151\156\x67\x3a\60\x20\63\45\73\x22\x3e";
        echo "\x3c\x64\151\166\x20\163\164\x79\x6c\145\x3d\x22\x63\157\154\157\162\x3a\40\43\x61\x39\x34\x34\x34\62\73\142\x61\143\x6b\x67\x72\x6f\165\x6e\x64\55\x63\157\154\x6f\x72\x3a\40\43\146\62\x64\145\x64\145\x3b\160\141\144\144\x69\156\147\x3a\x20\x31\65\160\170\x3b\155\141\x72\x67\x69\x6e\55\142\x6f\164\164\x6f\155\x3a\x20\x32\60\160\x78\x3b\x74\145\x78\x74\x2d\141\154\151\x67\x6e\72\x63\145\156\164\145\x72\73\x62\x6f\x72\x64\x65\162\x3a\x31\160\x78\x20\x73\x6f\x6c\151\x64\40\x23\105\x36\102\63\x42\62\x3b\146\x6f\156\164\x2d\x73\x69\172\145\x3a\61\x38\160\x74\x3b\42\x3e\x20\x45\122\122\x4f\x52\74\x2f\144\x69\166\76\xd\xa\40\x20\40\40\40\40\40\40\x20\40\x20\x20\x20\x20\40\x20\x20\x20\x20\40\x3c\x64\151\x76\40\x73\x74\171\154\x65\75\42\143\157\x6c\157\162\72\x20\x23\x61\x39\x34\64\64\62\73\146\157\156\164\55\163\151\x7a\x65\x3a\x31\x34\160\164\73\40\x6d\141\162\x67\x69\156\x2d\142\x6f\x74\164\157\155\72\62\x30\x70\170\x3b\x22\76\74\160\76\74\x73\164\x72\157\156\x67\76\x45\x72\x72\157\x72\x3a\x20\74\x2f\x73\164\x72\157\156\147\76\131\x6f\x75\x20\x61\x72\145\40\x6e\157\164\x20\154\x6f\x67\x67\x65\144\40\x69\x6e\74\57\160\x3e\15\xa\40\40\x20\x20\x20\x20\40\x20\x20\40\40\x20\40\x20\x20\40\40\40\40\x20\x20\40\x20\x20\74\x70\76\x50\154\x65\141\163\145\x20\x61\x63\164\151\x76\x61\x74\x65\40\x79\157\165\162\x20\154\x69\143\145\x6e\x73\145\x20\x6b\145\x79\40\146\151\162\163\x74\40\164\x6f\x20\x75\163\x65\x20\x74\150\145\40\160\x6c\165\147\x69\x6e\56\74\57\x70\x3e\xd\12\x20\x20\x20\x20\x20\x20\x20\x20\x20\40\40\x20\40\x20\40\x20\40\40\x20\x20\x20\x20\x20\40\x3c\160\x3e\x3c\x73\x74\x72\x6f\156\147\76\x50\x6f\x73\163\x69\142\x6c\145\x20\103\x61\x75\163\x65\x3a\40\74\57\x73\164\x72\157\x6e\147\x3e\x4d\x61\153\145\x20\x73\x75\x72\145\x20\x79\x6f\x75\40\x68\141\x76\145\40\x61\x63\164\151\x76\141\x74\145\x20\x79\157\x75\x72\40\x6c\151\143\x65\156\163\145\x20\153\145\171\40\151\156\40\164\157\40\160\154\165\147\x69\x6e\74\x2f\x70\x3e\15\xa\40\x20\40\40\x20\x20\x20\40\40\40\x20\40\x20\x20\x20\x20\x20\x20\x20\40\74\57\144\x69\x76\x3e\15\xa\40\40\40\x20\40\40\40\x20\40\x20\40\x20\x20\x20\x20\40\x3c\144\151\166\40\163\x74\x79\x6c\x65\x3d\42\x6d\x61\162\147\x69\156\72\63\45\73\144\151\163\x70\x6c\x61\x79\x3a\x62\x6c\157\143\x6b\x3b\x74\145\170\x74\x2d\x61\x6c\x69\x67\x6e\x3a\143\x65\x6e\x74\145\x72\x3b\x22\x3e";
        echo "\74\144\x69\x76\x20\163\164\171\x6c\145\x3d\42\x6d\141\x72\147\151\x6e\x3a\x33\45\73\144\151\x73\160\x6c\x61\x79\x3a\142\154\157\x63\x6b\73\x74\x65\170\x74\55\141\x6c\151\147\x6e\x3a\143\145\x6e\164\145\x72\x3b\42\76\x3c\x61\40\150\162\145\x66\75\x22";
        echo $OX;
        echo "\40\x22\76\74\x69\156\160\x75\x74\x20\x73\164\171\x6c\145\75\42\160\141\x64\144\x69\x6e\x67\x3a\x31\x25\x3b\x77\151\144\x74\150\72\61\60\60\160\170\x3b\x62\x61\x63\x6b\147\162\157\165\x6e\x64\x3a\40\x23\60\60\x39\61\103\x44\x20\156\x6f\156\x65\x20\x72\x65\160\145\141\x74\x20\163\x63\x72\157\x6c\x6c\40\60\45\x20\x30\45\73\143\x75\x72\163\x6f\x72\x3a\x20\x70\x6f\x69\156\164\x65\162\73\x66\x6f\x6e\164\55\x73\x69\x7a\145\72\61\x35\160\x78\x3b\x62\157\162\x64\x65\162\55\x77\151\x64\164\150\72\40\61\160\x78\73\142\157\x72\x64\x65\162\55\x73\164\x79\x6c\145\72\x20\x73\x6f\x6c\151\x64\x3b\x62\x6f\x72\144\x65\162\55\x72\141\x64\151\165\163\72\x20\63\x70\170\x3b\x77\150\151\x74\x65\55\x73\160\x61\143\145\72\x20\156\x6f\x77\x72\141\160\73\x62\x6f\170\x2d\163\151\172\151\x6e\147\72\40\x62\157\x72\144\x65\x72\x2d\142\157\170\73\142\157\x72\144\x65\x72\x2d\x63\157\x6c\157\x72\72\40\43\60\60\67\63\x41\x41\x3b\142\x6f\x78\55\163\x68\x61\144\x6f\167\x3a\x20\60\x70\x78\x20\61\x70\x78\40\x30\x70\170\x20\162\147\142\x61\50\x31\62\60\54\x20\x32\60\60\x2c\40\x32\x33\60\x2c\40\x30\x2e\66\x29\40\x69\156\x73\145\x74\x3b\143\x6f\154\157\x72\72\40\43\106\x46\106\x3b\42\x74\x79\160\145\75\x22\x62\x75\x74\x74\x6f\x6e\42\40\x76\141\x6c\x75\145\75\x22\104\x6f\156\145\42\x3e\x3c\57\141\76\74\57\144\x69\166\x3e";
        exit;
        ak:
        goto BI;
        a3:
        echo "\74\x64\x69\166\x20\x73\164\171\x6c\x65\x3d\x22\146\x6f\156\x74\x2d\146\141\x6d\x69\x6c\x79\72\x43\x61\154\x69\142\162\x69\73\160\x61\144\144\x69\x6e\x67\x3a\x30\40\63\45\73\x22\76";
        echo "\74\x64\x69\x76\x20\x73\x74\171\154\145\x3d\x22\143\x6f\x6c\x6f\x72\72\40\x23\141\71\x34\64\64\62\x3b\142\141\x63\x6b\x67\162\x6f\x75\x6e\x64\x2d\x63\157\154\x6f\162\x3a\40\43\x66\x32\144\145\x64\145\73\160\141\x64\x64\x69\x6e\147\72\40\61\65\x70\170\x3b\x6d\141\x72\x67\x69\156\x2d\142\x6f\164\x74\157\x6d\72\x20\62\60\x70\x78\73\x74\145\x78\x74\x2d\x61\x6c\x69\x67\x6e\x3a\143\x65\x6e\x74\145\x72\73\142\157\x72\x64\x65\162\x3a\61\x70\x78\40\x73\157\x6c\x69\x64\40\43\105\66\x42\x33\102\62\x3b\146\157\156\164\x2d\163\151\172\145\72\x31\x38\x70\164\x3b\42\x3e\x20\105\x52\x52\x4f\x52\74\x2f\x64\151\x76\x3e\15\12\x20\x20\x20\x20\x20\x20\40\40\40\x20\x20\x20\x20\x20\x20\40\x20\x20\40\x20\74\144\x69\166\40\163\x74\171\x6c\145\x3d\42\143\x6f\154\157\162\72\40\43\x61\x39\64\64\x34\x32\73\146\157\x6e\x74\x2d\x73\151\172\145\72\61\x34\160\164\73\40\x6d\x61\x72\147\151\x6e\55\x62\x6f\x74\x74\x6f\x6d\x3a\x32\60\x70\x78\x3b\42\x3e\74\x70\x3e\x3c\x73\164\x72\x6f\x6e\x67\x3e\x45\x72\x72\x6f\x72\x3a\40\x3c\57\163\x74\162\157\156\x67\x3e\104\x75\160\154\x69\x63\x61\x74\x65\40\x4c\151\x63\x65\156\143\145\40\x4b\x65\171\40\151\x73\x20\105\156\x63\x6f\x75\x6e\x74\x65\162\145\x64\56\74\x2f\x70\76\15\12\x20\40\x20\40\x20\x20\40\40\40\x20\x20\40\x20\40\40\40\40\40\40\x20\x20\x20\40\40\x3c\x70\x3e\x50\154\x65\141\163\145\40\143\157\x6e\164\141\x63\164\40\171\157\x75\162\x20\x61\x64\155\151\156\151\x73\x74\162\x61\164\x6f\162\x20\x61\x6e\x64\40\x72\145\160\157\x72\x74\40\164\x68\x65\40\146\x6f\x6c\154\x6f\167\151\156\x67\40\145\162\162\x6f\162\72\x3c\x2f\160\76\15\12\x20\x20\40\x20\40\x20\x20\x20\x20\40\x20\x20\x20\40\x20\x20\40\x20\40\x20\40\40\x20\40\x3c\x70\x3e\x3c\x73\x74\162\x6f\156\x67\x3e\x50\157\x73\x73\x69\142\x6c\x65\x20\x43\x61\x75\x73\145\72\x20\x3c\x2f\163\164\x72\x6f\x6e\147\76\x20\114\151\143\x65\156\x73\145\x20\x6b\x65\x79\40\x66\x6f\x72\40\x74\x68\x69\x73\40\151\156\x73\x74\141\156\x63\145\40\x69\x73\40\151\156\143\157\x72\162\x65\x63\164\56\x20\x4d\141\x6b\145\x20\163\165\x72\x65\x20\171\x6f\165\40\150\x61\166\x65\x20\156\157\164\x20\x74\x61\x6d\160\x65\x72\x65\x64\40\167\151\164\150\x20\x69\x74\40\141\x74\40\141\154\x6c\x2e\x20\120\154\145\x61\163\145\40\x65\x6e\164\x65\162\x20\141\40\166\141\x6c\151\144\40\x6c\x69\x63\x65\x6e\163\x65\40\153\x65\171\x2e\74\x2f\x70\x3e\xd\12\x20\40\40\40\40\x20\x20\x20\40\40\x20\x20\x20\x20\x20\x20\x20\40\x20\x20\74\x2f\144\x69\x76\76\15\xa\x20\x20\x20\x20\x20\x20\40\x20\x20\x20\40\x20\40\x20\40\x20\74\144\x69\x76\x20\163\x74\x79\154\145\x3d\42\x6d\x61\x72\147\151\156\72\x33\x25\73\x64\151\x73\x70\x6c\141\x79\72\x62\x6c\157\143\153\73\x74\x65\170\164\x2d\x61\154\x69\147\156\72\x63\145\156\x74\x65\x72\x3b\42\76";
        echo "\74\x64\x69\x76\40\x73\x74\171\x6c\x65\75\x22\x6d\x61\162\147\151\156\x3a\x33\45\x3b\x64\x69\163\160\154\141\x79\x3a\142\154\157\143\153\x3b\164\x65\170\164\x2d\141\x6c\x69\x67\x6e\72\143\145\x6e\x74\145\x72\x3b\42\76\x3c\141\x20\x68\162\145\146\75\x22";
        echo $OX;
        echo "\x20\42\x3e\x3c\151\156\x70\x75\164\x20\x73\x74\171\154\x65\75\42\160\x61\144\144\x69\156\x67\72\x31\45\x3b\x77\x69\144\x74\x68\72\61\x30\x30\160\170\x3b\142\x61\143\153\147\162\157\165\x6e\144\72\x20\x23\60\60\71\61\x43\x44\x20\156\157\x6e\x65\x20\x72\x65\x70\145\141\x74\x20\x73\143\162\157\154\x6c\x20\60\x25\40\x30\45\x3b\143\165\x72\163\x6f\x72\72\x20\x70\x6f\x69\x6e\x74\x65\x72\73\146\157\156\164\55\163\x69\x7a\x65\72\61\x35\160\x78\x3b\142\x6f\162\144\145\162\x2d\167\151\x64\x74\150\x3a\x20\61\x70\x78\73\142\x6f\162\144\145\x72\55\x73\x74\x79\154\145\x3a\x20\x73\157\x6c\151\x64\73\142\157\162\x64\145\162\55\162\x61\144\x69\165\163\x3a\x20\x33\160\170\73\167\x68\x69\x74\145\55\x73\160\141\143\x65\72\x20\x6e\157\x77\x72\x61\x70\x3b\x62\157\x78\x2d\x73\x69\x7a\x69\x6e\x67\72\x20\x62\157\162\144\x65\162\x2d\142\x6f\x78\x3b\142\x6f\x72\144\x65\162\x2d\x63\x6f\x6c\157\162\72\40\43\x30\x30\x37\x33\x41\101\73\x62\157\170\x2d\x73\150\x61\144\157\167\x3a\x20\x30\160\x78\40\61\x70\x78\x20\x30\160\170\40\162\147\142\x61\50\61\62\x30\x2c\40\x32\60\x30\x2c\40\x32\63\x30\x2c\x20\x30\56\x36\x29\40\x69\156\163\145\x74\x3b\x63\157\154\x6f\x72\72\x20\43\x46\106\106\x3b\x22\164\171\x70\x65\75\x22\142\165\x74\164\x6f\x6e\42\x20\x76\x61\x6c\165\x65\75\x22\x44\x6f\x6e\145\x22\76\x3c\x2f\x61\76\74\57\x64\151\166\x3e";
        exit;
        BI:
    }
}

Function Calls

None

Variables

None

Stats

MD5 c4db9a996197a37c5258cf7f3135d88f
Eval Count 0
Decode Time 97 ms