////////////////////////////////////////////////////////////////////////////////
//
// An output from JObfuscator v1.03 - Bartosz Wójcik
//
// Website : https://w...content-available-to-author-only...k.com/products/jobfuscator
// Version : v1.03
// Params : /MixCodeFlow /RenMethods /RenVars /ShuffleMethods /CryptStr /IntsToArray
// New lines : Windows (CRLF - \r\n)
// Date : 31.07.2021
//
////////////////////////////////////////////////////////////////////////////////
import java.util.* ;
import java.lang.* ;
import java.io.* ;
class Ideone {
public static double func_748( double [ ] numArray) {
double [ ] BCRDUROMOY_MNAXYNOXOG = { 1.8344549046243548 , 5.062054289224274 , 7.695212304538046 , 3.606439894394656 , 4.265849473042911 , 9.96684814353308 , 8.362462143997828 , 6.336325894460848 , 0.7265577365920909 , 2.9266295367407764 } ;
int [ ] dIixxpmMmowl = { 6 , 9 , 0 , 4 , 8 , 7 , 2 , 5 , 3 , 1 } ;
int [ ] XQKGIAFO_OQZSLJER = { 5 , 9 , 1 , 8 , 4 , 7 , 6 , 0 , 3 , 2 } ;
double [ ] tagYigawnpkqDhxlb = { 3.263948550416058 , 9.506111981988184 , 8.799502940234945 , 7.700252686617247 , 1.3465800623355373 , 2.131837713068907 , 5.6526718473487705 , 0.06485003367562314 , 6.782236296833905 , 4.00779348146718 } ;
int [ ] _oGLZW_uXim6WBCsx_7fGFm = { 3 , 7 , 2 , 0 , 8 , 1 , 4 , 6 , 5 , 9 } ;
int [ ] g_pDmfgavnzNonebuo = { 0 , 7 , 2 , 5 , 4 , 3 , 8 , 6 , 1 , 9 } ;
double [ ] k1j_sHi_k_suVW_nn51lh = { 6.850663063985456 , 1.0223415697622065 , 4.425450723540837 , 3.305111840357848 , 0.8509365697301294 , 2.6691116655865232 , 7.392181980579024 , 5.250660143996177 , 8.733419893526216 , 9.12956312338991 } ;
double [ ] _Ya_3b5B3nyUHEGf_LIb_ = { 4.669312410136314 , 9.905904441183344 , 1.41717038302091 , 7.982376427084375 , 0.25865577282531504 , 3.4462119989265823 , 6.8207154875949305 , 8.907167365920236 , 2.3288730590373348 , 5.774660880160418 } ;
double [ ] var_2348 = { 6.327896179462817E8, 3.007227578022376E8, 8.524628358549372E8, 2.4199821681698745 , 0.6530250709618525 , 1.7483600058531854E9, 5.2067350213003665E7, 1.4587142855345135E9, 1.400521274936009E8, 2.0650663616872746E8 } ;
int var_1784 = ( int ) ( var_2348[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_[ ( int ) ( k1j_sHi_k_suVW_nn51lh[ g_pDmfgavnzNonebuo[ _oGLZW_uXim6WBCsx_7fGFm[ ( int ) ( tagYigawnpkqDhxlb[ XQKGIAFO_OQZSLJER[ dIixxpmMmowl[ ( int ) ( BCRDUROMOY_MNAXYNOXOG[ 6 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ;
double YSXNIZHFC_VFLLKH = 0 , LNQABHOCUL_PRYEJ_VCWSMUEIF = 0 ;
double KZQIQLKZAU = 0 ;
int g_tagCfclaowvq = ( int ) ( var_2348[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_[ ( int ) ( k1j_sHi_k_suVW_nn51lh[ g_pDmfgavnzNonebuo[ _oGLZW_uXim6WBCsx_7fGFm[ ( int ) ( tagYigawnpkqDhxlb[ XQKGIAFO_OQZSLJER[ dIixxpmMmowl[ ( int ) ( BCRDUROMOY_MNAXYNOXOG[ 6 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ;
var_1784 = ( int ) ( var_2348[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_[ ( int ) ( k1j_sHi_k_suVW_nn51lh[ g_pDmfgavnzNonebuo[ _oGLZW_uXim6WBCsx_7fGFm[ ( int ) ( tagYigawnpkqDhxlb[ XQKGIAFO_OQZSLJER[ dIixxpmMmowl[ ( int ) ( BCRDUROMOY_MNAXYNOXOG[ 7 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ;
while ( var_1784 != ( int ) ( var_2348[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_[ ( int ) ( k1j_sHi_k_suVW_nn51lh[ g_pDmfgavnzNonebuo[ _oGLZW_uXim6WBCsx_7fGFm[ ( int ) ( tagYigawnpkqDhxlb[ XQKGIAFO_OQZSLJER[ dIixxpmMmowl[ ( int ) ( BCRDUROMOY_MNAXYNOXOG[ 5 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ) {
switch ( var_1784) {
case 1748360005 :
LNQABHOCUL_PRYEJ_VCWSMUEIF = 0.0 ;
var_1784 += ( int ) ( var_2348[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_[ ( int ) ( k1j_sHi_k_suVW_nn51lh[ g_pDmfgavnzNonebuo[ _oGLZW_uXim6WBCsx_7fGFm[ ( int ) ( tagYigawnpkqDhxlb[ XQKGIAFO_OQZSLJER[ dIixxpmMmowl[ ( int ) ( BCRDUROMOY_MNAXYNOXOG[ 2 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ;
break ;
case 1856283626 :
KZQIQLKZAU = YSXNIZHFC_VFLLKH / g_tagCfclaowvq;
var_1784 += - ( int ) ( var_2348[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_[ ( int ) ( k1j_sHi_k_suVW_nn51lh[ g_pDmfgavnzNonebuo[ _oGLZW_uXim6WBCsx_7fGFm[ ( int ) ( tagYigawnpkqDhxlb[ XQKGIAFO_OQZSLJER[ dIixxpmMmowl[ ( int ) ( BCRDUROMOY_MNAXYNOXOG[ 0 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ;
break ;
case 397569341 :
for ( double var_3315 : numArray) {
LNQABHOCUL_PRYEJ_VCWSMUEIF
+= Math .
pow ( var_3315
- KZQIQLKZAU,
( int ) ( var_2348
[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_
[ ( int ) ( k1j_sHi_k_suVW_nn51lh
[ g_pDmfgavnzNonebuo
[ _oGLZW_uXim6WBCsx_7fGFm
[ ( int ) ( tagYigawnpkqDhxlb
[ XQKGIAFO_OQZSLJER
[ dIixxpmMmowl
[ ( int ) ( BCRDUROMOY_MNAXYNOXOG
[ 8 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ) ; }
var_1784 ^= ( int ) ( var_2348[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_[ ( int ) ( k1j_sHi_k_suVW_nn51lh[ g_pDmfgavnzNonebuo[ _oGLZW_uXim6WBCsx_7fGFm[ ( int ) ( tagYigawnpkqDhxlb[ XQKGIAFO_OQZSLJER[ dIixxpmMmowl[ ( int ) ( BCRDUROMOY_MNAXYNOXOG[ 1 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ;
break ;
case 346558763 :
var_1784 -= ( int ) ( var_2348[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_[ ( int ) ( k1j_sHi_k_suVW_nn51lh[ g_pDmfgavnzNonebuo[ _oGLZW_uXim6WBCsx_7fGFm[ ( int ) ( tagYigawnpkqDhxlb[ XQKGIAFO_OQZSLJER[ dIixxpmMmowl[ ( int ) ( BCRDUROMOY_MNAXYNOXOG[ 3 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ;
break ;
case 2049082762 :
g_tagCfclaowvq = numArray.length ;
var_1784 ^= ( int ) ( var_2348[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_[ ( int ) ( k1j_sHi_k_suVW_nn51lh[ g_pDmfgavnzNonebuo[ _oGLZW_uXim6WBCsx_7fGFm[ ( int ) ( tagYigawnpkqDhxlb[ XQKGIAFO_OQZSLJER[ dIixxpmMmowl[ ( int ) ( BCRDUROMOY_MNAXYNOXOG[ 4 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ;
break ;
case 1223494009 :
for ( double Znwm6_8u9jX_xR5pTD_d_do : numArray) {
YSXNIZHFC_VFLLKH += Znwm6_8u9jX_xR5pTD_d_do;
}
var_1784 -= - ( int ) ( var_2348[ ( int ) ( _Ya_3b5B3nyUHEGf_LIb_[ ( int ) ( k1j_sHi_k_suVW_nn51lh[ g_pDmfgavnzNonebuo[ _oGLZW_uXim6WBCsx_7fGFm[ ( int ) ( tagYigawnpkqDhxlb[ XQKGIAFO_OQZSLJER[ dIixxpmMmowl[ ( int ) ( BCRDUROMOY_MNAXYNOXOG[ 9 ] ) ] ] ] ) ] ] ] ) ] ) ] ) ;
break ;
}
}
return Math .
sqrt ( LNQABHOCUL_PRYEJ_VCWSMUEIF
/ g_tagCfclaowvq
) ; }
public static void main
( String [ ] args
) { int [ ] IOGSLYG = { 6 , 9 , 8 , 1 , 4 , 7 , 3 , 5 , 2 , 0 } ;
double [ ] g_hWqxrgZtfdcUtwbkrws = { 9.893982473846211 , 8.837770674688722 , 4.067157256008418 , 2.3115297856816746 , 3.8716062493716654 , 5.507190514670451 , 7.818988112023534 , 1.7250220192323442 , 0.8523908886140618 , 6.747058567002978 } ;
double [ ] L_iKHhgT_aPp_5B9Ozwt = { 7.849531919066571 , 8.756056001455965 , 5.581372756652905 , 2.6854431574696265 , 9.54031957784418 , 4.751783077753141 , 0.6519077871165615 , 3.4725415203664936 , 1.1796436510537949 , 6.529240205849044 } ;
double [ ] var_1843 = { 3.5830414679999727 , 7.765002064574897 , 5.747420361437176 , 9.03918146781341 , 2.1694631753099203 , 4.461227633821848 , 0.5928498544188721 , 6.733060110767956 , 8.972045828379096 , 1.2936970621901658 } ;
int [ ] var_270 = { 3 , 4 , 8 , 5 , 2 , 0 , 7 , 9 , 6 , 1 } ;
double [ ] FGDZKSMUBL_BSADUFHN = { 2.709181395472024 , 1.4138229626532237 , 8.452781324621286 , 4.07039292629872 , 0.5563463088620194 , 3.190693548607314 , 9.40094856498094 , 7.255549494320699 , 5.936277596640855 , 6.592431990297909 } ;
double [ ] zYT7J_NZE_cvq1ru_kpu_ = { 7.3909715123201245 , 1.5001898092106307 , 3.9693951519131065 , 8.18801670301216 , 9.82689109546222 , 0.6781820978264445 , 4.300516190313363 , 6.311729342757382 , 2.786311440143259 , 5.545528271312568 } ;
int [ ] nJcdtqsqmUkqrltquhJavwrm = { 5 , 3 , 1 , 7 , 0 , 2 , 4 , 6 , 9 , 8 } ;
double [ ] var_1804 = { 6.792311684420676 , 8.201772053960008 , 3.479304446030777 , 4.052087473990268 , 1.6341533643498025 , 7.802566748925835 , 2.157374245574941 , 5.55583987079309 , 9.623213031935967 , 0.19074568575208029 } ;
int [ ] CGHFE_BQOXOKPBRE_CIHGIXCFM = { 1 , 25 , 15 , 0 , 65535 , 1629319923 , 798969606 , 265582820 , 312187509 , 1095933137 } ;
int EBDMEMH_JEVGN_LPJCQCVGCG = CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 5 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ;
double v0sksO_xvISrww64_my_W_Z = 0 ;
double [ ] bWnmupvqmjUyxevxldr = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
EBDMEMH_JEVGN_LPJCQCVGCG = CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 6 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ;
while ( EBDMEMH_JEVGN_LPJCQCVGCG != CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 7 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ) {
switch ( EBDMEMH_JEVGN_LPJCQCVGCG) {
case 798969606 :
v0sksO_xvISrww64_my_W_Z = func_748( bWnmupvqmjUyxevxldr) ;
EBDMEMH_JEVGN_LPJCQCVGCG += CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 9 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ;
break ;
case 1894902743 :
String f_WtDQJM_q_eckhu9
= "" ; int [ ] var_972 = { 0x00A8, 0x00EA, 0x00C4, 0x00DE, 0x00CA, 0x00C4, 0x00E6, 0x00CA, 0x0042, 0x008A, 0x00CC, 0x00EE, 0x00D4, 0x00C4, 0x00EA, 0x00D4, 0x00E0, 0x00DE, 0x0042, 0x007C, 0x0042, 0x004C, 0x005E, 0x006E, 0x00CE } ;
for ( int var_3152 = CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 5 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] , var_3085 = CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 5 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ; var_3152 < CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 2 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ; var_3152++ ) {
var_3085 = var_972[ var_3152] ;
var_3085 = ( ( ( var_3085 & CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 0 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ) >> CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 1 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ) | ( var_3085 << CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 8 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ) ) & CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 0 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ;
var_3085--;
f_WtDQJM_q_eckhu9 += ( char ) ( var_3085 & CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 0 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ) ;
}
System .
out .
format ( f_WtDQJM_q_eckhu9, v0sksO_xvISrww64_my_W_Z
) ; EBDMEMH_JEVGN_LPJCQCVGCG += - CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 4 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ;
break ;
case 312187509 :
double [ ] JSAWI_MIESGAXF_LTYZRZ = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
EBDMEMH_JEVGN_LPJCQCVGCG = CGHFE_BQOXOKPBRE_CIHGIXCFM[ ( int ) ( var_1804[ nJcdtqsqmUkqrltquhJavwrm[ ( int ) ( zYT7J_NZE_cvq1ru_kpu_[ ( int ) ( FGDZKSMUBL_BSADUFHN[ var_270[ ( int ) ( var_1843[ ( int ) ( L_iKHhgT_aPp_5B9Ozwt[ ( int ) ( g_hWqxrgZtfdcUtwbkrws[ IOGSLYG[ 3 ] ] ) ] ) ] ) ] ] ) ] ) ] ] ) ] ;
break ;
}
}
}
}
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gQW4gb3V0cHV0IGZyb20gSk9iZnVzY2F0b3IgdjEuMDMgLSBCYXJ0b3N6IFfDs2pjaWsKLy8KLy8gV2Vic2l0ZSAgIDogaHR0cHM6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5rLmNvbS9wcm9kdWN0cy9qb2JmdXNjYXRvcgovLyBWZXJzaW9uICAgOiB2MS4wMwovLyBQYXJhbXMgICAgOiAvTWl4Q29kZUZsb3cgL1Jlbk1ldGhvZHMgL1JlblZhcnMgL1NodWZmbGVNZXRob2RzIC9DcnlwdFN0ciAvSW50c1RvQXJyYXkKLy8gTmV3IGxpbmVzIDogV2luZG93cyAoQ1JMRiAtIFxyXG4pCi8vIERhdGUgICAgICA6IDMxLjA3LjIwMjEKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmltcG9ydCBqYXZhLnV0aWwuKjsKaW1wb3J0IGphdmEubGFuZy4qOwppbXBvcnQgamF2YS5pby4qOwoKY2xhc3MgSWRlb25lIHsKCiAgICBwdWJsaWMgc3RhdGljIGRvdWJsZSBmdW5jXzc0OChkb3VibGVbXSBudW1BcnJheSkgewogICAgICAgIGRvdWJsZVtdIEJDUkRVUk9NT1lfTU5BWFlOT1hPRyA9IHsgMS44MzQ0NTQ5MDQ2MjQzNTQ4LCA1LjA2MjA1NDI4OTIyNDI3NCwgNy42OTUyMTIzMDQ1MzgwNDYsIDMuNjA2NDM5ODk0Mzk0NjU2LCA0LjI2NTg0OTQ3MzA0MjkxMSwgOS45NjY4NDgxNDM1MzMwOCwgOC4zNjI0NjIxNDM5OTc4MjgsIDYuMzM2MzI1ODk0NDYwODQ4LCAwLjcyNjU1NzczNjU5MjA5MDksIDIuOTI2NjI5NTM2NzQwNzc2NCB9OwogICAgICAgIGludFtdIGRJaXh4cG1NbW93bCA9IHsgNiwgOSwgMCwgNCwgOCwgNywgMiwgNSwgMywgMSB9OwogICAgICAgIGludFtdIFhRS0dJQUZPX09RWlNMSkVSID0geyA1LCA5LCAxLCA4LCA0LCA3LCA2LCAwLCAzLCAyIH07CiAgICAgICAgZG91YmxlW10gdGFnWWlnYXducGtxRGh4bGIgPSB7IDMuMjYzOTQ4NTUwNDE2MDU4LCA5LjUwNjExMTk4MTk4ODE4NCwgOC43OTk1MDI5NDAyMzQ5NDUsIDcuNzAwMjUyNjg2NjE3MjQ3LCAxLjM0NjU4MDA2MjMzNTUzNzMsIDIuMTMxODM3NzEzMDY4OTA3LCA1LjY1MjY3MTg0NzM0ODc3MDUsIDAuMDY0ODUwMDMzNjc1NjIzMTQsIDYuNzgyMjM2Mjk2ODMzOTA1LCA0LjAwNzc5MzQ4MTQ2NzE4IH07CiAgICAgICAgaW50W10gX29HTFpXX3VYaW02V0JDc3hfN2ZHRm0gPSB7IDMsIDcsIDIsIDAsIDgsIDEsIDQsIDYsIDUsIDkgfTsKICAgICAgICBpbnRbXSBnX3BEbWZnYXZuek5vbmVidW8gPSB7IDAsIDcsIDIsIDUsIDQsIDMsIDgsIDYsIDEsIDkgfTsKICAgICAgICBkb3VibGVbXSBrMWpfc0hpX2tfc3VWV19ubjUxbGggPSB7IDYuODUwNjYzMDYzOTg1NDU2LCAxLjAyMjM0MTU2OTc2MjIwNjUsIDQuNDI1NDUwNzIzNTQwODM3LCAzLjMwNTExMTg0MDM1Nzg0OCwgMC44NTA5MzY1Njk3MzAxMjk0LCAyLjY2OTExMTY2NTU4NjUyMzIsIDcuMzkyMTgxOTgwNTc5MDI0LCA1LjI1MDY2MDE0Mzk5NjE3NywgOC43MzM0MTk4OTM1MjYyMTYsIDkuMTI5NTYzMTIzMzg5OTEgfTsKICAgICAgICBkb3VibGVbXSBfWWFfM2I1QjNueVVIRUdmX0xJYl8gPSB7IDQuNjY5MzEyNDEwMTM2MzE0LCA5LjkwNTkwNDQ0MTE4MzM0NCwgMS40MTcxNzAzODMwMjA5MSwgNy45ODIzNzY0MjcwODQzNzUsIDAuMjU4NjU1NzcyODI1MzE1MDQsIDMuNDQ2MjExOTk4OTI2NTgyMywgNi44MjA3MTU0ODc1OTQ5MzA1LCA4LjkwNzE2NzM2NTkyMDIzNiwgMi4zMjg4NzMwNTkwMzczMzQ4LCA1Ljc3NDY2MDg4MDE2MDQxOCB9OwogICAgICAgIGRvdWJsZVtdIHZhcl8yMzQ4ID0geyA2LjMyNzg5NjE3OTQ2MjgxN0U4LCAzLjAwNzIyNzU3ODAyMjM3NkU4LCA4LjUyNDYyODM1ODU0OTM3MkU4LCAyLjQxOTk4MjE2ODE2OTg3NDUsIDAuNjUzMDI1MDcwOTYxODUyNSwgMS43NDgzNjAwMDU4NTMxODU0RTksIDUuMjA2NzM1MDIxMzAwMzY2NUU3LCAxLjQ1ODcxNDI4NTUzNDUxMzVFOSwgMS40MDA1MjEyNzQ5MzYwMDlFOCwgMi4wNjUwNjYzNjE2ODcyNzQ2RTggfTsKICAgICAgICBpbnQgdmFyXzE3ODQgPSAoaW50KSAodmFyXzIzNDhbKGludCkgKF9ZYV8zYjVCM255VUhFR2ZfTEliX1soaW50KSAoazFqX3NIaV9rX3N1Vldfbm41MWxoW2dfcERtZmdhdm56Tm9uZWJ1b1tfb0dMWldfdVhpbTZXQkNzeF83ZkdGbVsoaW50KSAodGFnWWlnYXducGtxRGh4bGJbWFFLR0lBRk9fT1FaU0xKRVJbZElpeHhwbU1tb3dsWyhpbnQpIChCQ1JEVVJPTU9ZX01OQVhZTk9YT0dbNl0pXV1dKV1dXSldKV0pOwogICAgICAgIGRvdWJsZSBZU1hOSVpIRkNfVkZMTEtIID0gMCwgTE5RQUJIT0NVTF9QUllFSl9WQ1dTTVVFSUYgPSAwOwogICAgICAgIGRvdWJsZSBLWlFJUUxLWkFVID0gMDsKICAgICAgICBpbnQgZ190YWdDZmNsYW93dnEgPSAoaW50KSAodmFyXzIzNDhbKGludCkgKF9ZYV8zYjVCM255VUhFR2ZfTEliX1soaW50KSAoazFqX3NIaV9rX3N1Vldfbm41MWxoW2dfcERtZmdhdm56Tm9uZWJ1b1tfb0dMWldfdVhpbTZXQkNzeF83ZkdGbVsoaW50KSAodGFnWWlnYXducGtxRGh4bGJbWFFLR0lBRk9fT1FaU0xKRVJbZElpeHhwbU1tb3dsWyhpbnQpIChCQ1JEVVJPTU9ZX01OQVhZTk9YT0dbNl0pXV1dKV1dXSldKV0pOwogICAgICAgIHZhcl8xNzg0ID0gKGludCkgKHZhcl8yMzQ4WyhpbnQpIChfWWFfM2I1QjNueVVIRUdmX0xJYl9bKGludCkgKGsxal9zSGlfa19zdVZXX25uNTFsaFtnX3BEbWZnYXZuek5vbmVidW9bX29HTFpXX3VYaW02V0JDc3hfN2ZHRm1bKGludCkgKHRhZ1lpZ2F3bnBrcURoeGxiW1hRS0dJQUZPX09RWlNMSkVSW2RJaXh4cG1NbW93bFsoaW50KSAoQkNSRFVST01PWV9NTkFYWU5PWE9HWzddKV1dXSldXV0pXSldKTsKICAgICAgICB3aGlsZSAodmFyXzE3ODQgIT0gKGludCkgKHZhcl8yMzQ4WyhpbnQpIChfWWFfM2I1QjNueVVIRUdmX0xJYl9bKGludCkgKGsxal9zSGlfa19zdVZXX25uNTFsaFtnX3BEbWZnYXZuek5vbmVidW9bX29HTFpXX3VYaW02V0JDc3hfN2ZHRm1bKGludCkgKHRhZ1lpZ2F3bnBrcURoeGxiW1hRS0dJQUZPX09RWlNMSkVSW2RJaXh4cG1NbW93bFsoaW50KSAoQkNSRFVST01PWV9NTkFYWU5PWE9HWzVdKV1dXSldXV0pXSldKSkgewogICAgICAgICAgICBzd2l0Y2godmFyXzE3ODQpIHsKICAgICAgICAgICAgICAgIGNhc2UgMTc0ODM2MDAwNToKICAgICAgICAgICAgICAgICAgICBMTlFBQkhPQ1VMX1BSWUVKX1ZDV1NNVUVJRiA9IDAuMDsKICAgICAgICAgICAgICAgICAgICB2YXJfMTc4NCArPSAoaW50KSAodmFyXzIzNDhbKGludCkgKF9ZYV8zYjVCM255VUhFR2ZfTEliX1soaW50KSAoazFqX3NIaV9rX3N1Vldfbm41MWxoW2dfcERtZmdhdm56Tm9uZWJ1b1tfb0dMWldfdVhpbTZXQkNzeF83ZkdGbVsoaW50KSAodGFnWWlnYXducGtxRGh4bGJbWFFLR0lBRk9fT1FaU0xKRVJbZElpeHhwbU1tb3dsWyhpbnQpIChCQ1JEVVJPTU9ZX01OQVhZTk9YT0dbMl0pXV1dKV1dXSldKV0pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAxODU2MjgzNjI2OgogICAgICAgICAgICAgICAgICAgIEtaUUlRTEtaQVUgPSBZU1hOSVpIRkNfVkZMTEtIIC8gZ190YWdDZmNsYW93dnE7CiAgICAgICAgICAgICAgICAgICAgdmFyXzE3ODQgKz0gLShpbnQpICh2YXJfMjM0OFsoaW50KSAoX1lhXzNiNUIzbnlVSEVHZl9MSWJfWyhpbnQpIChrMWpfc0hpX2tfc3VWV19ubjUxbGhbZ19wRG1mZ2F2bnpOb25lYnVvW19vR0xaV191WGltNldCQ3N4XzdmR0ZtWyhpbnQpICh0YWdZaWdhd25wa3FEaHhsYltYUUtHSUFGT19PUVpTTEpFUltkSWl4eHBtTW1vd2xbKGludCkgKEJDUkRVUk9NT1lfTU5BWFlOT1hPR1swXSldXV0pXV1dKV0pXSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDM5NzU2OTM0MToKICAgICAgICAgICAgICAgICAgICBmb3IgKGRvdWJsZSB2YXJfMzMxNSA6IG51bUFycmF5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIExOUUFCSE9DVUxfUFJZRUpfVkNXU01VRUlGICs9IE1hdGgucG93KHZhcl8zMzE1IC0gS1pRSVFMS1pBVSwgKGludCkgKHZhcl8yMzQ4WyhpbnQpIChfWWFfM2I1QjNueVVIRUdmX0xJYl9bKGludCkgKGsxal9zSGlfa19zdVZXX25uNTFsaFtnX3BEbWZnYXZuek5vbmVidW9bX29HTFpXX3VYaW02V0JDc3hfN2ZHRm1bKGludCkgKHRhZ1lpZ2F3bnBrcURoeGxiW1hRS0dJQUZPX09RWlNMSkVSW2RJaXh4cG1NbW93bFsoaW50KSAoQkNSRFVST01PWV9NTkFYWU5PWE9HWzhdKV1dXSldXV0pXSldKSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHZhcl8xNzg0IF49IChpbnQpICh2YXJfMjM0OFsoaW50KSAoX1lhXzNiNUIzbnlVSEVHZl9MSWJfWyhpbnQpIChrMWpfc0hpX2tfc3VWV19ubjUxbGhbZ19wRG1mZ2F2bnpOb25lYnVvW19vR0xaV191WGltNldCQ3N4XzdmR0ZtWyhpbnQpICh0YWdZaWdhd25wa3FEaHhsYltYUUtHSUFGT19PUVpTTEpFUltkSWl4eHBtTW1vd2xbKGludCkgKEJDUkRVUk9NT1lfTU5BWFlOT1hPR1sxXSldXV0pXV1dKV0pXSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDM0NjU1ODc2MzoKICAgICAgICAgICAgICAgICAgICB2YXJfMTc4NCAtPSAoaW50KSAodmFyXzIzNDhbKGludCkgKF9ZYV8zYjVCM255VUhFR2ZfTEliX1soaW50KSAoazFqX3NIaV9rX3N1Vldfbm41MWxoW2dfcERtZmdhdm56Tm9uZWJ1b1tfb0dMWldfdVhpbTZXQkNzeF83ZkdGbVsoaW50KSAodGFnWWlnYXducGtxRGh4bGJbWFFLR0lBRk9fT1FaU0xKRVJbZElpeHhwbU1tb3dsWyhpbnQpIChCQ1JEVVJPTU9ZX01OQVhZTk9YT0dbM10pXV1dKV1dXSldKV0pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAyMDQ5MDgyNzYyOgogICAgICAgICAgICAgICAgICAgIGdfdGFnQ2ZjbGFvd3ZxID0gbnVtQXJyYXkubGVuZ3RoOwogICAgICAgICAgICAgICAgICAgIHZhcl8xNzg0IF49IChpbnQpICh2YXJfMjM0OFsoaW50KSAoX1lhXzNiNUIzbnlVSEVHZl9MSWJfWyhpbnQpIChrMWpfc0hpX2tfc3VWV19ubjUxbGhbZ19wRG1mZ2F2bnpOb25lYnVvW19vR0xaV191WGltNldCQ3N4XzdmR0ZtWyhpbnQpICh0YWdZaWdhd25wa3FEaHhsYltYUUtHSUFGT19PUVpTTEpFUltkSWl4eHBtTW1vd2xbKGludCkgKEJDUkRVUk9NT1lfTU5BWFlOT1hPR1s0XSldXV0pXV1dKV0pXSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDEyMjM0OTQwMDk6CiAgICAgICAgICAgICAgICAgICAgZm9yIChkb3VibGUgWm53bTZfOHU5alhfeFI1cFREX2RfZG8gOiBudW1BcnJheSkgewogICAgICAgICAgICAgICAgICAgICAgICBZU1hOSVpIRkNfVkZMTEtIICs9IFpud202Xzh1OWpYX3hSNXBURF9kX2RvOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXJfMTc4NCAtPSAtKGludCkgKHZhcl8yMzQ4WyhpbnQpIChfWWFfM2I1QjNueVVIRUdmX0xJYl9bKGludCkgKGsxal9zSGlfa19zdVZXX25uNTFsaFtnX3BEbWZnYXZuek5vbmVidW9bX29HTFpXX3VYaW02V0JDc3hfN2ZHRm1bKGludCkgKHRhZ1lpZ2F3bnBrcURoeGxiW1hRS0dJQUZPX09RWlNMSkVSW2RJaXh4cG1NbW93bFsoaW50KSAoQkNSRFVST01PWV9NTkFYWU5PWE9HWzldKV1dXSldXV0pXSldKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KExOUUFCSE9DVUxfUFJZRUpfVkNXU01VRUlGIC8gZ190YWdDZmNsYW93dnEpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBpbnRbXSBJT0dTTFlHID0geyA2LCA5LCA4LCAxLCA0LCA3LCAzLCA1LCAyLCAwIH07CiAgICAgICAgZG91YmxlW10gZ19oV3F4cmdadGZkY1V0d2JrcndzID0geyA5Ljg5Mzk4MjQ3Mzg0NjIxMSwgOC44Mzc3NzA2NzQ2ODg3MjIsIDQuMDY3MTU3MjU2MDA4NDE4LCAyLjMxMTUyOTc4NTY4MTY3NDYsIDMuODcxNjA2MjQ5MzcxNjY1NCwgNS41MDcxOTA1MTQ2NzA0NTEsIDcuODE4OTg4MTEyMDIzNTM0LCAxLjcyNTAyMjAxOTIzMjM0NDIsIDAuODUyMzkwODg4NjE0MDYxOCwgNi43NDcwNTg1NjcwMDI5NzggfTsKICAgICAgICBkb3VibGVbXSBMX2lLSGhnVF9hUHBfNUI5T3p3dCA9IHsgNy44NDk1MzE5MTkwNjY1NzEsIDguNzU2MDU2MDAxNDU1OTY1LCA1LjU4MTM3Mjc1NjY1MjkwNSwgMi42ODU0NDMxNTc0Njk2MjY1LCA5LjU0MDMxOTU3Nzg0NDE4LCA0Ljc1MTc4MzA3Nzc1MzE0MSwgMC42NTE5MDc3ODcxMTY1NjE1LCAzLjQ3MjU0MTUyMDM2NjQ5MzYsIDEuMTc5NjQzNjUxMDUzNzk0OSwgNi41MjkyNDAyMDU4NDkwNDQgfTsKICAgICAgICBkb3VibGVbXSB2YXJfMTg0MyA9IHsgMy41ODMwNDE0Njc5OTk5NzI3LCA3Ljc2NTAwMjA2NDU3NDg5NywgNS43NDc0MjAzNjE0MzcxNzYsIDkuMDM5MTgxNDY3ODEzNDEsIDIuMTY5NDYzMTc1MzA5OTIwMywgNC40NjEyMjc2MzM4MjE4NDgsIDAuNTkyODQ5ODU0NDE4ODcyMSwgNi43MzMwNjAxMTA3Njc5NTYsIDguOTcyMDQ1ODI4Mzc5MDk2LCAxLjI5MzY5NzA2MjE5MDE2NTggfTsKICAgICAgICBpbnRbXSB2YXJfMjcwID0geyAzLCA0LCA4LCA1LCAyLCAwLCA3LCA5LCA2LCAxIH07CiAgICAgICAgZG91YmxlW10gRkdEWktTTVVCTF9CU0FEVUZITiA9IHsgMi43MDkxODEzOTU0NzIwMjQsIDEuNDEzODIyOTYyNjUzMjIzNywgOC40NTI3ODEzMjQ2MjEyODYsIDQuMDcwMzkyOTI2Mjk4NzIsIDAuNTU2MzQ2MzA4ODYyMDE5NCwgMy4xOTA2OTM1NDg2MDczMTQsIDkuNDAwOTQ4NTY0OTgwOTQsIDcuMjU1NTQ5NDk0MzIwNjk5LCA1LjkzNjI3NzU5NjY0MDg1NSwgNi41OTI0MzE5OTAyOTc5MDkgfTsKICAgICAgICBkb3VibGVbXSB6WVQ3Sl9OWkVfY3ZxMXJ1X2twdV8gPSB7IDcuMzkwOTcxNTEyMzIwMTI0NSwgMS41MDAxODk4MDkyMTA2MzA3LCAzLjk2OTM5NTE1MTkxMzEwNjUsIDguMTg4MDE2NzAzMDEyMTYsIDkuODI2ODkxMDk1NDYyMjIsIDAuNjc4MTgyMDk3ODI2NDQ0NSwgNC4zMDA1MTYxOTAzMTMzNjMsIDYuMzExNzI5MzQyNzU3MzgyLCAyLjc4NjMxMTQ0MDE0MzI1OSwgNS41NDU1MjgyNzEzMTI1NjggfTsKICAgICAgICBpbnRbXSBuSmNkdHFzcW1Va3FybHRxdWhKYXZ3cm0gPSB7IDUsIDMsIDEsIDcsIDAsIDIsIDQsIDYsIDksIDggfTsKICAgICAgICBkb3VibGVbXSB2YXJfMTgwNCA9IHsgNi43OTIzMTE2ODQ0MjA2NzYsIDguMjAxNzcyMDUzOTYwMDA4LCAzLjQ3OTMwNDQ0NjAzMDc3NywgNC4wNTIwODc0NzM5OTAyNjgsIDEuNjM0MTUzMzY0MzQ5ODAyNSwgNy44MDI1NjY3NDg5MjU4MzUsIDIuMTU3Mzc0MjQ1NTc0OTQxLCA1LjU1NTgzOTg3MDc5MzA5LCA5LjYyMzIxMzAzMTkzNTk2NywgMC4xOTA3NDU2ODU3NTIwODAyOSB9OwogICAgICAgIGludFtdIENHSEZFX0JRT1hPS1BCUkVfQ0lIR0lYQ0ZNID0geyAxLCAyNSwgMTUsIDAsIDY1NTM1LCAxNjI5MzE5OTIzLCA3OTg5Njk2MDYsIDI2NTU4MjgyMCwgMzEyMTg3NTA5LCAxMDk1OTMzMTM3IH07CiAgICAgICAgaW50IEVCRE1FTUhfSkVWR05fTFBKQ1FDVkdDRyA9IENHSEZFX0JRT1hPS1BCUkVfQ0lIR0lYQ0ZNWyhpbnQpICh2YXJfMTgwNFtuSmNkdHFzcW1Va3FybHRxdWhKYXZ3cm1bKGludCkgKHpZVDdKX05aRV9jdnExcnVfa3B1X1soaW50KSAoRkdEWktTTVVCTF9CU0FEVUZITlt2YXJfMjcwWyhpbnQpICh2YXJfMTg0M1soaW50KSAoTF9pS0hoZ1RfYVBwXzVCOU96d3RbKGludCkgKGdfaFdxeHJnWnRmZGNVdHdia3J3c1tJT0dTTFlHWzVdXSldKV0pXV0pXSldXSldOwogICAgICAgIGRvdWJsZSB2MHNrc09feHZJU3J3dzY0X215X1dfWiA9IDA7CiAgICAgICAgZG91YmxlW10gYldubXVwdnFtalV5eGV2eGxkciA9IHsgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAgfTsKICAgICAgICBFQkRNRU1IX0pFVkdOX0xQSkNRQ1ZHQ0cgPSBDR0hGRV9CUU9YT0tQQlJFX0NJSEdJWENGTVsoaW50KSAodmFyXzE4MDRbbkpjZHRxc3FtVWtxcmx0cXVoSmF2d3JtWyhpbnQpICh6WVQ3Sl9OWkVfY3ZxMXJ1X2twdV9bKGludCkgKEZHRFpLU01VQkxfQlNBRFVGSE5bdmFyXzI3MFsoaW50KSAodmFyXzE4NDNbKGludCkgKExfaUtIaGdUX2FQcF81QjlPend0WyhpbnQpIChnX2hXcXhyZ1p0ZmRjVXR3Ymtyd3NbSU9HU0xZR1s2XV0pXSldKV1dKV0pXV0pXTsKICAgICAgICB3aGlsZSAoRUJETUVNSF9KRVZHTl9MUEpDUUNWR0NHICE9IENHSEZFX0JRT1hPS1BCUkVfQ0lIR0lYQ0ZNWyhpbnQpICh2YXJfMTgwNFtuSmNkdHFzcW1Va3FybHRxdWhKYXZ3cm1bKGludCkgKHpZVDdKX05aRV9jdnExcnVfa3B1X1soaW50KSAoRkdEWktTTVVCTF9CU0FEVUZITlt2YXJfMjcwWyhpbnQpICh2YXJfMTg0M1soaW50KSAoTF9pS0hoZ1RfYVBwXzVCOU96d3RbKGludCkgKGdfaFdxeHJnWnRmZGNVdHdia3J3c1tJT0dTTFlHWzddXSldKV0pXV0pXSldXSldKSB7CiAgICAgICAgICAgIHN3aXRjaChFQkRNRU1IX0pFVkdOX0xQSkNRQ1ZHQ0cpIHsKICAgICAgICAgICAgICAgIGNhc2UgNzk4OTY5NjA2OgogICAgICAgICAgICAgICAgICAgIHYwc2tzT194dklTcnd3NjRfbXlfV19aID0gZnVuY183NDgoYldubXVwdnFtalV5eGV2eGxkcik7CiAgICAgICAgICAgICAgICAgICAgRUJETUVNSF9KRVZHTl9MUEpDUUNWR0NHICs9IENHSEZFX0JRT1hPS1BCUkVfQ0lIR0lYQ0ZNWyhpbnQpICh2YXJfMTgwNFtuSmNkdHFzcW1Va3FybHRxdWhKYXZ3cm1bKGludCkgKHpZVDdKX05aRV9jdnExcnVfa3B1X1soaW50KSAoRkdEWktTTVVCTF9CU0FEVUZITlt2YXJfMjcwWyhpbnQpICh2YXJfMTg0M1soaW50KSAoTF9pS0hoZ1RfYVBwXzVCOU96d3RbKGludCkgKGdfaFdxeHJnWnRmZGNVdHdia3J3c1tJT0dTTFlHWzldXSldKV0pXV0pXSldXSldOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAxODk0OTAyNzQzOgogICAgICAgICAgICAgICAgICAgIFN0cmluZyBmX1d0RFFKTV9xX2Vja2h1OSA9ICIiOwogICAgICAgICAgICAgICAgICAgIGludFtdIHZhcl85NzIgPSB7IDB4MDBBOCwgMHgwMEVBLCAweDAwQzQsIDB4MDBERSwgMHgwMENBLCAweDAwQzQsIDB4MDBFNiwgMHgwMENBLCAweDAwNDIsIDB4MDA4QSwgMHgwMENDLCAweDAwRUUsIDB4MDBENCwgMHgwMEM0LCAweDAwRUEsIDB4MDBENCwgMHgwMEUwLCAweDAwREUsIDB4MDA0MiwgMHgwMDdDLCAweDAwNDIsIDB4MDA0QywgMHgwMDVFLCAweDAwNkUsIDB4MDBDRSB9OwogICAgICAgICAgICAgICAgICAgIGZvciAoaW50IHZhcl8zMTUyID0gQ0dIRkVfQlFPWE9LUEJSRV9DSUhHSVhDRk1bKGludCkgKHZhcl8xODA0W25KY2R0cXNxbVVrcXJsdHF1aEphdndybVsoaW50KSAoellUN0pfTlpFX2N2cTFydV9rcHVfWyhpbnQpIChGR0RaS1NNVUJMX0JTQURVRkhOW3Zhcl8yNzBbKGludCkgKHZhcl8xODQzWyhpbnQpIChMX2lLSGhnVF9hUHBfNUI5T3p3dFsoaW50KSAoZ19oV3F4cmdadGZkY1V0d2JrcndzW0lPR1NMWUdbNV1dKV0pXSldXSldKV1dKV0sIHZhcl8zMDg1ID0gQ0dIRkVfQlFPWE9LUEJSRV9DSUhHSVhDRk1bKGludCkgKHZhcl8xODA0W25KY2R0cXNxbVVrcXJsdHF1aEphdndybVsoaW50KSAoellUN0pfTlpFX2N2cTFydV9rcHVfWyhpbnQpIChGR0RaS1NNVUJMX0JTQURVRkhOW3Zhcl8yNzBbKGludCkgKHZhcl8xODQzWyhpbnQpIChMX2lLSGhnVF9hUHBfNUI5T3p3dFsoaW50KSAoZ19oV3F4cmdadGZkY1V0d2JrcndzW0lPR1NMWUdbNV1dKV0pXSldXSldKV1dKV07IHZhcl8zMTUyIDwgQ0dIRkVfQlFPWE9LUEJSRV9DSUhHSVhDRk1bKGludCkgKHZhcl8xODA0W25KY2R0cXNxbVVrcXJsdHF1aEphdndybVsoaW50KSAoellUN0pfTlpFX2N2cTFydV9rcHVfWyhpbnQpIChGR0RaS1NNVUJMX0JTQURVRkhOW3Zhcl8yNzBbKGludCkgKHZhcl8xODQzWyhpbnQpIChMX2lLSGhnVF9hUHBfNUI5T3p3dFsoaW50KSAoZ19oV3F4cmdadGZkY1V0d2JrcndzW0lPR1NMWUdbMl1dKV0pXSldXSldKV1dKV07IHZhcl8zMTUyKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyXzMwODUgPSB2YXJfOTcyW3Zhcl8zMTUyXTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyXzMwODUgPSAoKCh2YXJfMzA4NSAmIENHSEZFX0JRT1hPS1BCUkVfQ0lIR0lYQ0ZNWyhpbnQpICh2YXJfMTgwNFtuSmNkdHFzcW1Va3FybHRxdWhKYXZ3cm1bKGludCkgKHpZVDdKX05aRV9jdnExcnVfa3B1X1soaW50KSAoRkdEWktTTVVCTF9CU0FEVUZITlt2YXJfMjcwWyhpbnQpICh2YXJfMTg0M1soaW50KSAoTF9pS0hoZ1RfYVBwXzVCOU96d3RbKGludCkgKGdfaFdxeHJnWnRmZGNVdHdia3J3c1tJT0dTTFlHWzBdXSldKV0pXV0pXSldXSldKSA+PiBDR0hGRV9CUU9YT0tQQlJFX0NJSEdJWENGTVsoaW50KSAodmFyXzE4MDRbbkpjZHRxc3FtVWtxcmx0cXVoSmF2d3JtWyhpbnQpICh6WVQ3Sl9OWkVfY3ZxMXJ1X2twdV9bKGludCkgKEZHRFpLU01VQkxfQlNBRFVGSE5bdmFyXzI3MFsoaW50KSAodmFyXzE4NDNbKGludCkgKExfaUtIaGdUX2FQcF81QjlPend0WyhpbnQpIChnX2hXcXhyZ1p0ZmRjVXR3Ymtyd3NbSU9HU0xZR1sxXV0pXSldKV1dKV0pXV0pXSkgfCAodmFyXzMwODUgPDwgQ0dIRkVfQlFPWE9LUEJSRV9DSUhHSVhDRk1bKGludCkgKHZhcl8xODA0W25KY2R0cXNxbVVrcXJsdHF1aEphdndybVsoaW50KSAoellUN0pfTlpFX2N2cTFydV9rcHVfWyhpbnQpIChGR0RaS1NNVUJMX0JTQURVRkhOW3Zhcl8yNzBbKGludCkgKHZhcl8xODQzWyhpbnQpIChMX2lLSGhnVF9hUHBfNUI5T3p3dFsoaW50KSAoZ19oV3F4cmdadGZkY1V0d2JrcndzW0lPR1NMWUdbOF1dKV0pXSldXSldKV1dKV0pKSAmIENHSEZFX0JRT1hPS1BCUkVfQ0lIR0lYQ0ZNWyhpbnQpICh2YXJfMTgwNFtuSmNkdHFzcW1Va3FybHRxdWhKYXZ3cm1bKGludCkgKHpZVDdKX05aRV9jdnExcnVfa3B1X1soaW50KSAoRkdEWktTTVVCTF9CU0FEVUZITlt2YXJfMjcwWyhpbnQpICh2YXJfMTg0M1soaW50KSAoTF9pS0hoZ1RfYVBwXzVCOU96d3RbKGludCkgKGdfaFdxeHJnWnRmZGNVdHdia3J3c1tJT0dTTFlHWzBdXSldKV0pXV0pXSldXSldOwogICAgICAgICAgICAgICAgICAgICAgICB2YXJfMzA4NS0tOwogICAgICAgICAgICAgICAgICAgICAgICBmX1d0RFFKTV9xX2Vja2h1OSArPSAoY2hhcikgKHZhcl8zMDg1ICYgQ0dIRkVfQlFPWE9LUEJSRV9DSUhHSVhDRk1bKGludCkgKHZhcl8xODA0W25KY2R0cXNxbVVrcXJsdHF1aEphdndybVsoaW50KSAoellUN0pfTlpFX2N2cTFydV9rcHVfWyhpbnQpIChGR0RaS1NNVUJMX0JTQURVRkhOW3Zhcl8yNzBbKGludCkgKHZhcl8xODQzWyhpbnQpIChMX2lLSGhnVF9hUHBfNUI5T3p3dFsoaW50KSAoZ19oV3F4cmdadGZkY1V0d2JrcndzW0lPR1NMWUdbMF1dKV0pXSldXSldKV1dKV0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LmZvcm1hdChmX1d0RFFKTV9xX2Vja2h1OSwgdjBza3NPX3h2SVNyd3c2NF9teV9XX1opOwogICAgICAgICAgICAgICAgICAgIEVCRE1FTUhfSkVWR05fTFBKQ1FDVkdDRyArPSAtQ0dIRkVfQlFPWE9LUEJSRV9DSUhHSVhDRk1bKGludCkgKHZhcl8xODA0W25KY2R0cXNxbVVrcXJsdHF1aEphdndybVsoaW50KSAoellUN0pfTlpFX2N2cTFydV9rcHVfWyhpbnQpIChGR0RaS1NNVUJMX0JTQURVRkhOW3Zhcl8yNzBbKGludCkgKHZhcl8xODQzWyhpbnQpIChMX2lLSGhnVF9hUHBfNUI5T3p3dFsoaW50KSAoZ19oV3F4cmdadGZkY1V0d2JrcndzW0lPR1NMWUdbNF1dKV0pXSldXSldKV1dKV07CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDMxMjE4NzUwOToKICAgICAgICAgICAgICAgICAgICBkb3VibGVbXSBKU0FXSV9NSUVTR0FYRl9MVFlaUlogPSB7IDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwIH07CiAgICAgICAgICAgICAgICAgICAgRUJETUVNSF9KRVZHTl9MUEpDUUNWR0NHID0gQ0dIRkVfQlFPWE9LUEJSRV9DSUhHSVhDRk1bKGludCkgKHZhcl8xODA0W25KY2R0cXNxbVVrcXJsdHF1aEphdndybVsoaW50KSAoellUN0pfTlpFX2N2cTFydV9rcHVfWyhpbnQpIChGR0RaS1NNVUJMX0JTQURVRkhOW3Zhcl8yNzBbKGludCkgKHZhcl8xODQzWyhpbnQpIChMX2lLSGhnVF9hUHBfNUI5T3p3dFsoaW50KSAoZ19oV3F4cmdadGZkY1V0d2JrcndzW0lPR1NMWUdbM11dKV0pXSldXSldKV1dKV07CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K