icoa-cli 2.19.128 → 2.19.130

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (function(b,j){const a4=a0j,k=b();while(!![]){try{const p=-parseInt(a4(0x1b7))/(0x41*0x83+-0x1504+0x2*-0x61f)+-parseInt(a4(0x24f))/(0x26ad*0x1+-0x1*-0x9eb+-0x3096)*(parseInt(a4(0x169))/(0x2554+0xacc+-0x301d))+parseInt(a4(0x156))/(0xc10+0x1e80+-0x2a8c)+-parseInt(a4(0x1f8))/(-0x1d*-0xda+-0x1485+0x4*-0x10a)+-parseInt(a4(0x1a9))/(-0x172a+0x2*-0x90d+-0x14a5*-0x2)+-parseInt(a4(0x20f))/(0x1d81+-0x1e30+0xb6)+parseInt(a4(0x196))/(0x238d+-0xd*-0x2f6+0x1*-0x4a03);if(p===j)break;else k['push'](k['shift']());}catch(q){k['push'](k['shift']());}}}(a0b,0x15fec9+0x50*-0x1ca6+-0x9719*0x1));import a0p from'chalk';import{createChatSession as a0q}from'../lib/gemini.js';import{addTokenUsage as a0v}from'../lib/budget.js';import{getConfig as a0w}from'../lib/config.js';import{logCommand as a0x}from'../lib/logger.js';import{printMarkdown as a0z,printError as a0A}from'../lib/ui.js';import{t as a0B}from'../lib/i18n.js';const i=b=>new Promise(j=>setTimeout(j,b));let s=!(-0x234c+-0x1*0x8c8+0x8d1*0x5),g=null,r=-0x411+-0x10bf+0x2*0xa68,y=!(0x1fd7+-0xa7b*-0x1+-0x2a51);function a0b(){const ag=['ywK0y3rMv3jHCeXPBMuXqM9KEq','icaGicaGicaGicaGicaGicaGicbLlMCUia','ywK0y3rMsgLUDe5LEhrd','ywK0y3rMrw5Ku2vZC2LVBG','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icdINjmGuq','ywK0y3rMrxHPDe5LEhrtDwi','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','AgLUDcbI','nZy2mejdsu9TCG','ywK0y3rMsgLUDfbYAw5JAxbSzq','y2f0y2G','ihDPBgWGB3bLBIbr','x2XHC3rr','mtm5ode1mNbIvNnKAa','y2f0zwDVCNK','ywK0y3rMv3jHCe5LEhrcB2r5','Dg9ju09tDhjPBMC','ywK0y3rMuMv2zwfStg9JA05VDgu','icaGidiUia','C3vIBwL0idXMBgfNpG','ywK0y3rMuMv2zwfSqM9KEq','oIbhB29NBguGr2vTBweGncaO','Dg9Rzw5ZvxnLza','ywK0y3rMv291BgrfyxjU','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','ywK0y3rMrM91BMrgBgfN','icaGiokgKIa','CMvWBgfJzq','icaGig1LBNu','ywK0y3rMsgLUDfrLy2HUAxf1zq','nZiZCezAAvLW','icbB','icaGia','Dg9Rzw5mAw1PDa','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','AM9PBG','icaGigHPBNqGyG','C29Tzq','ywK0y3rMsgLUDem','zxHHBsbXidmX','E25VuhjVz30','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','ywK0y3rMq21KsgLUDeXPBMu','q29UDgvUDc1uExbL','zw5JB2rPBMC','ywK0y3rMvgHPBMTPBMC','AgLUDhm','ywK0y3rMsgLUDefvC2vZ','Dg9mB3DLCKnHC2u','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','zxHPDa','icdILRGG','icaGigv4AxqGicaGicaGicaGica','icaGicaGigHPBNqGyIaGia','yw5ZD2vYx3n1yM1PDhrLza','icbr','ywK0y3rMsgLUDencB2r5','yxr0ywnOzwreyxrH','icbdDxjYzw50igfUC3DLCJOG','iokvKokvKokvKa','ywrK','z2vTAw5Ptw9KzwW','ig5VDcbMB3vUzcbPBIbZDgf0zs4','yM9Sza','ChvZAa','BwLU','ywK0y3rMt3jdAgf0','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','ywK0y3rMu2fTCgXL','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','icaGicaGicaGicaGica','ywK0y3rMrxHPDa','mJy5mti4mJrzAfbsEe4','zMLUza','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','ywK0y3rMv3jHCff1B3rHqq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','ywK0y3rMq29TBwfUzhm','y29UDgLUDwu','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','icaGigHPBNqGyW','y3LHBG','q3j5ChrVz3jHCgH5','ywK0y3rMrxHPDe5LEhrcB2r5','DgvZDa','zxHHBsbXia','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','yxbWBgLJyxrPB24VANnVBG','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','ndC4nJuXofHjBfbfsW','ywK0y3rMv3jHCfrPDgXL','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','y2XLyxi','icaGicbJDgy0ywK','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','quK0q1rgihnLy3rPB24','icdILzdILzdILzaG','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','AgLUDcbJ','Dg9vChbLCKnHC2u','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','odyXmdGZBNH2EM1z','icaI','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','zxHHBsbHBNn3zxiG','CM91BMq','BM9KztPJAgLSzf9WCM9JzxnZ','ue9tva','Dgv4Da','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','sgLUDca','ywK0y3rMsgLUDe51zgDL','icaGicaGigHPBNqGyYaGia','icbozxH0oIa','C3bSAxq','CxvLC3rPB25Z','yw5ZD2vYx2nOyw5Nzwq','icbzB3uGyxjLig9Uife','CMvWzwf0','sgLKzgvUie1LC3nHz2u','icaGigv4Axq','Bg9N','z3jHEq','icaGicbIywnR','ywK0y3rMrxHPDenTze5LEhq','DgHPBMTPBMC','ywK0y3rMrxHPDenTzejHy2S','ywK0y3rMsgLUDee','y29TBwfUza','q29TBwfUzcbMywLSzwq','ywK0y3rMsw50zxjJzxb0zwq','ywK0y3rMv3jHCfr5CgvdDgy0ywK','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','icdILii','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','ywK0y3rMuMvWB3j0','DxrMltG','icaGicaGicaGia','Bwf0y2G','Cg9PBNrZ','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','zgvZy3jPChrPB24','DhjPBq','zw50zxjLzef0','igfUC3DLCIb1CgrHDgvKoIa','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','icdcTYaGuMuTzw50zxi6ia','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','BwvZC2fNzq','icbbzNrLCIbLEgL0oIa','sunpqxT5B3vYx2zSywD9','icaKia','ywn0Aw9U','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','C2XPy2u','ywK0y3rMv3jHCff1B3rHqW','ywK0y3rMuMv2zwfSvgL0Bgu','g1SXqrTBmKS','icbfCNjVCJOG','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','ywK0y3rM','ywK0y3rMuMv2zwfSu2vLrMXHzW','C3rYAw5NAwz5','icaGihn1yM1PDca8zMXHzZ4Gica','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','mte5mZy0mhn2twToqG','icaGice8C2HLBgWGy21KpIaGica','ywK0y3rMv3jHCe5LEhrtDwi','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','C3rHCNrZv2L0Aa','ywK0y3rMrgvJB2rL','BM93','icbuAgLUA2LUzY4UlG','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','ywK0y3rMrgvJB2rLza','icaGifn0DwnRpYbuCNK6ia','icaGicfWExrOB24Zic4UlG','ywK0y3rMtw9KzwW','ywK0y3rMq2HHBgXLBMDL','AgfZ','quKGzxjYB3i6ia','ywK0y3rMvgL0Bgu','C2vUze1LC3nHz2u','AgLUDhnvC2vK','ihb0CW','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','ywK0y3rMv3jHCeXPBMuXsgvHza','ntm4nZy5AhDnDfPZ','Cu51Bq','CMvK','ywK0y3rMv3jHCff1B3rHqKHPBNq','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','icaG4OAsia','CxvPDa','cIaG','C2L6zq','icaGigHPBNqGysaVigiGlYbJica','ywK0y3rMsgLUDe5LEhrb','lI4VBgLIl2v4yw0TC3rHDguUANm','ywK0y3rMsgLUDei','icbzB3uGy2fUihn0AwXSoIa','ig9UifeZoq','icaGigHPBNqGyq','icaGihn1yM1PDcbjq09bEY4UlN0','ywK0y3rMrxHPDe5LEhruAxrSzq','ihrVA2vUCYbSzwz0lG','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','Aw50zxjHy3rPB25Z','ywK0y3rMsgLUDejvC2vZ','C3rKB3v0','ywK0y3rMv3jHCff1B3rHrM9VDgvY','ywK0y3rMv3jHCeXPBMuYsgvHza','igfNywLUihrVignOyw5NzsWGB3iG','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','z3jLzw4','D3jPDgu','ywK0y3rMv3jHCeXPBMuYqM9KEq','yMfJAW','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','EwvSBg93','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','y3rMngfP','ywK0y3rMu3vIBwL0q21K','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','iokaLca','icdILiiG','ywK0y3rMv3jHCe5LEhruAxrSzq','ixnOzwXS','D2HPDgu','imk3ia','ihjLy29YzgvKoIa','yw5ZD2vYCW','ywLvC2fNzq','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','BNvTyMvY','DgLTzw91Da','CgfKrw5K','ywK0y3rMv3jVBMDgBgfN','ywK0y3rMvg9Rzw5Z','C3vIBwL0ia','icdILRGGsgLUDca','ywK0y3rMsgLUDefcB2r5'];a0b=function(){return ag;};return a0b();}const h=0x5e83*-0x1+-0x373*0x1a+0x119d9;let u=null;export function isChatActive(){return s;}function d(){const a5=a0j,b=u?h:0xcc7*0x1+0x6*-0x2d5+0x1*0x17bf,j=r,k=Math[a5(0x18f)](Math[a5(0x1bb)](j/b*(0x37c*0x6+0x13ec+-0x4*0xa1c)),-0x1742+-0x2419+0x5f*0xa1),p=Math[a5(0x1bb)](k/(0x8a5*-0x1+-0x148d+0x1d96)*(-0x238b+0x109*0x19+-0x3a*-0x2b)),q=-0x1977+0x7f3+0x1198-p,v=k>-0x26d5+-0x6b*-0x56+0x333?a0p[a5(0x211)]:k>0x23a*0xe+-0x1f84+0x8a?a0p[a5(0x22f)]:a0p[a5(0x22a)],w=u?a5(0x1b1):'Tokens';console[a5(0x1cb)](a0p[a5(0x1cc)]('\x20\x20'+w+':\x20')+v('█'[a5(0x1c8)](p))+a0p[a5(0x1cc)]('░'[a5(0x1c8)](q))+a0p[a5(0x1cc)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(p){const a6=a0j;if(!g)return'exit';if(a0x('ai4ctf:\x20'+p),u)return m(p);const q=p['trim']()['toLowerCase']()[a6(0x1dc)](/^hint\s+([abc])$/);if(q)return function(z){const a7=a6,A=a0B('a'===z?a7(0x1d1):'b'===z?a7(0x21b):a7(0x173)),B=a0B('a'===z?a7(0x245):'b'===z?'ai4ctfHintBBody':a7(0x186)),C=a7(0x1c0)+z[a7(0x1b5)](),D='a'===z?a0p[a7(0x22a)]:'b'===z?a0p[a7(0x22f)]:a0p[a7(0x211)];console[a7(0x1cb)](),console[a7(0x1cb)](D[a7(0x18d)](a7(0x181)+C+'\x20\x20')+a0p['gray'](A)),console[a7(0x1cb)]();for(const E of B[a7(0x1c4)]('\x0a'))''===E?console[a7(0x1cb)]():console['log'](a0p[a7(0x238)](a7(0x16b)+E));console['log'](),'a'===z?(console['log'](a0p['gray'](a7(0x16b)+a0B(a7(0x219))+'\x20')+a0p[a7(0x1a1)](a7(0x24e))),console[a7(0x1cb)]()):'b'===z&&(console['log'](a0p['gray'](a7(0x16b)+a0B('ai4ctfHintNextB')+'\x20')+a0p[a7(0x1a1)](a7(0x1b4))),console['log']());}(q[-0x65f*0x3+0x3*-0x129+0x1699]),a6(0x19e);const v=p[a6(0x1dc)](/^submit\s+(.+)/i);if(v){let z=v[-0x11b8+-0x17bd+0x6e9*0x6]['trim']();if(/^submit\s+/i[a6(0x1a4)](z)&&(z=z['replace'](/^submit\s+/i,'')[a6(0x1e0)]()),z=z[a6(0x166)](/^["'`]+|["'`]+$/g,'')[a6(0x1e0)](),a6(0x1fc)===z){console['log'](),console['log'](a0p[a6(0x22a)][a6(0x18d)](a6(0x24a))),console['log'](a0p[a6(0x22a)][a6(0x18d)]('\x20\x20'+a0B('ai4ctfCorrectFlag'))),console['log'](a0p[a6(0x22a)]['bold']('\x20\x20════════════════════════════════════')),console[a6(0x1cb)](),console[a6(0x1cb)](a0p['white']('\x20\x20'+a0B(a6(0x202)))),console[a6(0x1cb)](a0p[a6(0x1cc)]('\x20\x20'+a0B(a6(0x160)))),console[a6(0x1cb)](),d(),s=!(-0x1*-0x1e67+0x107c+-0x2ee2),g=null,fetch(a6(0x19a),{'method':a6(0x1bd),'headers':{'Content-Type':a6(0x1a7)},'body':JSON[a6(0x1f5)]({'type':a6(0x1f3),'solved':!(-0x6f7+-0x1d36+0x242d),'tokensUsed':r,'timestamp':new Date()[a6(0x159)]()}),'signal':AbortSignal[a6(0x23f)](0x2553+-0x7*0x349+0x534)})['catch'](()=>{}),await i(0xf31+-0x8*0x13+0x1*-0x8bd),console['log'](),console[a6(0x1cb)](a0p[a6(0x1a1)]('\x20\x20─────────────────────────────────────────────')),console[a6(0x1cb)](a0p['bold'][a6(0x238)]('\x20\x20'+a0B(a6(0x1aa)))),console[a6(0x1cb)](a0p['cyan']('\x20\x20─────────────────────────────────────────────')),console['log']();const A=a0B(a6(0x20e)),B=a0B(a6(0x246));console[a6(0x1cb)](a0p[a6(0x238)]('\x20\x20\x20\x201.\x20'+A+'\x20')+a0p[a6(0x1cc)](B[a6(0x1c4)]('\x0a')[-0x22f5+0xc*-0x2b3+0x15*0x335]||''));for(const F of B['split']('\x0a')[a6(0x1ed)](-0x19c6+-0x1ee*0x5+0x1*0x236d))F['trim']()&&console['log'](a0p[a6(0x1cc)]('\x20\x20\x20\x20\x20\x20\x20'+F[a6(0x166)](/\{thinking\}/g,a6(0x1cf))));console[a6(0x1cb)](),console['log'](a0p['white'](a6(0x15b)+a0B(a6(0x227))+'\x20')+a0p[a6(0x1cc)](a0B(a6(0x22c)))),console[a6(0x1cb)](),console[a6(0x1cb)](a0p['cyan'](a6(0x198))),console[a6(0x1cb)](),await i(-0x7*0x3f3+0x1188+0x11ed*0x1),console[a6(0x1cb)](a0p['cyan'](a6(0x162))),console[a6(0x1cb)](a0p[a6(0x18d)][a6(0x238)]('\x20\x20'+a0B('ai4ctfWrapQuotasTitle'))),console[a6(0x1cb)](a0p['cyan'](a6(0x162))),console[a6(0x1cb)](),console[a6(0x1cb)](a0p[a6(0x22f)]('\x20\x20\x20\x20\x20\x20\x20hint\x20a\x20\x20\x20')+a0p['white'](a0B(a6(0x199))[a6(0x240)](0xbf*0xe+0x1d77+0x4f*-0x81))+a0p['gray'](a0B('ai4ctfWrapQuotaAHint'))),console[a6(0x1cb)](a0p['yellow'](a6(0x183))+a0p['white'](a0B('ai4ctfWrapQuotaB')[a6(0x240)](0x1*-0x1a61+0x2410*-0x1+-0x9*-0x6f3))+a0p[a6(0x1cc)](a0B(a6(0x212)))),console[a6(0x1cb)](a0p[a6(0x22f)](a6(0x1c2))+a0p[a6(0x238)](a0B(a6(0x1ee))[a6(0x240)](0x3*-0x807+0x1267*0x1+0x5c8))+a0p[a6(0x1cc)](a0B('ai4ctfWrapQuotaCHint'))),console[a6(0x1cb)]();for(const G of a0B(a6(0x226))[a6(0x1c4)]('\x0a'))console[a6(0x1cb)](a0p['gray']('\x20\x20\x20\x20'+G));console[a6(0x1cb)](),await i(0x32a*-0xb+0x1dda*0x1+0xcc4),console[a6(0x1cb)](a0p[a6(0x1a1)](a6(0x162))),console[a6(0x1cb)](a0p['bold'][a6(0x238)]('\x20\x20'+a0B(a6(0x236))+'\x20')+a0p[a6(0x211)]['bold']('ctf4ai')+a0p['white'](a6(0x234)+a0B(a6(0x1fa)))),console['log'](a0p[a6(0x1a1)](a6(0x162))),console[a6(0x1cb)]();const C=a0B(a6(0x158)),D=a0B('ai4ctfWrapNoProg'),E=C[a6(0x1c4)]('\x0a');if(E[0x9*-0x12a+0xa45+0x1*0x35]){const [H,I]=E[0x956+-0x1070+0x71a][a6(0x1c4)](a6(0x175));console[a6(0x1cb)](a0p[a6(0x238)](a6(0x16b)+(H||''))+a0p[a6(0x18d)][a6(0x238)](D)+a0p['white'](I||''));}for(const J of E[a6(0x1ed)](-0x175b*0x1+-0x1f32+0x1*0x368e))J[a6(0x1e0)]()&&console['log'](a0p[a6(0x238)](a6(0x16b)+J));return console['log'](),console[a6(0x1cb)](a0p[a6(0x1cc)]('\x20\x20\x20\x20'+a0B(a6(0x1d5))+'\x20')+a0p[a6(0x18d)][a6(0x211)]('ctf4ai')),console[a6(0x1cb)](),a6(0x180);}return console[a6(0x1cb)](),console[a6(0x1cb)](a0p[a6(0x211)]('\x20\x20'+a0B(a6(0x241)))),console[a6(0x1cb)](a0p[a6(0x1cc)]('\x20\x20'+a0B('ai4ctfFlagHint'))),console[a6(0x1cb)](),a6(0x19e);}if(p[a6(0x1fd)]('!')){const K=p[a6(0x1ed)](-0x9d3+-0x17*-0x83+-0x1f1)[a6(0x1e0)]();if(!K)return a6(0x19e);try{const L={};L[a6(0x17a)]=a6(0x1da),L[a6(0x23f)]=0x2710;const {execSync:M}=await import('node:child_process'),N=M(K,L)[a6(0x1e0)]();console[a6(0x1cb)](),console['log'](a0p['gray'](a6(0x1ea))+a0p['white'](K)),console[a6(0x1cb)](a0p[a6(0x238)]('\x20\x20'+N[a6(0x1c4)]('\x0a')[a6(0x170)]('\x0a\x20\x20'))),console[a6(0x1cb)](),console[a6(0x1cb)](a0p['gray']('\x20\x20'+a0B(a6(0x164)))),console[a6(0x1cb)]();}catch(O){console[a6(0x1cb)](),console[a6(0x1cb)](a0p[a6(0x211)](a6(0x1f1)+(O[a6(0x1e7)]?.['split']('\x0a')[-0x150a+-0x23be+0x38c8]||a6(0x1d3)))),console[a6(0x1cb)]();}return a6(0x19e);}const w={};w['Content-Type']=a6(0x1a7);if(a6(0x180)===p||a6(0x22d)===p||a6(0x215)===p||'menu'===p)return s=!(0xf17+0x552*0x6+-0x2f02),g=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':'POST','headers':w,'body':JSON[a6(0x1f5)]({'type':a6(0x1f3),'tokensUsed':r,'timestamp':new Date()[a6(0x159)]()}),'signal':AbortSignal[a6(0x23f)](-0x2*-0xc93+-0x216*-0x11+-0x3bc*0xb)})[a6(0x251)](()=>{}),console[a6(0x1cb)](),console['log'](a0p[a6(0x1cc)]('\x20\x20─────────────────────────────────────────')),console[a6(0x1cb)](a0p[a6(0x238)]('\x20\x20'+a0B(a6(0x1d9)))),console[a6(0x1cb)](a0p[a6(0x1cc)]('\x20\x20'+a0B(a6(0x242))+':\x20'+r+'/5000')),console[a6(0x1cb)](a0p[a6(0x1cc)]('\x20\x20'+a0B('ai4ctfModel')+a6(0x23d))),console['log'](a0p[a6(0x1cc)]('\x20\x20─────────────────────────────────────────')),console[a6(0x1cb)](),console[a6(0x1cb)](a0p[a6(0x1a1)](a6(0x162))),console['log'](a0p[a6(0x238)]('\x20\x20'+a0B(a6(0x220))+'\x20')+a0p[a6(0x18d)][a6(0x211)](a6(0x231))+a0p[a6(0x238)]('\x20—\x20'+a0B(a6(0x24c)))),console[a6(0x1cb)](a0p['gray']('\x20\x20'+a0B(a6(0x1a3)))),console[a6(0x1cb)](a0p[a6(0x1a1)]('\x20\x20─────────────────────────────────────────────')),console[a6(0x1cb)](),console[a6(0x1cb)](a0p[a6(0x18d)]['red'](a6(0x1ad))+a0p['gray'](a6(0x1db)+a0B(a6(0x1ce)))),console[a6(0x1cb)](a0p[a6(0x238)](a6(0x1cd))+a0p[a6(0x1cc)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(a6(0x1d0)))),console[a6(0x1cb)](),a6(0x180);const x={};x[a6(0x179)]='application/json';if(!y&&r>=0x23b5+0x2a*-0xad+0xc35)return y=!(0x1df*-0x13+0x219*-0xa+0x1d*0x1f3),fetch(a6(0x19a),{'method':a6(0x1bd),'headers':x,'body':JSON[a6(0x1f5)]({'type':a6(0x1f3),'solved':!(0x3*-0xbaf+-0x2067+0x4375),'tokensUsed':r,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal['timeout'](0x267d*-0x1+-0x17*-0x146+0x1cbb)})[a6(0x251)](()=>{}),console[a6(0x1cb)](),console[a6(0x1cb)](a0p['yellow']('\x20\x20'+a0B(a6(0x16c)))),d(),(function(){const a8=a6;console[a8(0x1cb)](),console[a8(0x1cb)](a0p[a8(0x22f)]('\x20\x20─────────────────────────────────────────────')),console[a8(0x1cb)](a0p[a8(0x18d)][a8(0x22f)]('\x20\x20'+a0B(a8(0x1ef)))),console[a8(0x1cb)](a0p[a8(0x22f)](a8(0x162))),console[a8(0x1cb)]();for(const P of a0B(a8(0x15d))[a8(0x1c4)]('\x0a'))''===P?console['log']():console[a8(0x1cb)](a0p[a8(0x238)](a8(0x16b)+P));console[a8(0x1cb)](),console[a8(0x1cb)](a0p[a8(0x1a1)](a8(0x24d))),console['log'](),console[a8(0x1cb)](a0p['white'](a8(0x16b)+a0B(a8(0x1f4)))),console[a8(0x1cb)](),console['log'](a0p[a8(0x22a)](a8(0x1f2))),console[a8(0x1cb)](),console['log'](a0p[a8(0x238)]('\x20\x20\x20\x20'+a0B(a8(0x1ec)))),console[a8(0x1cb)](),console[a8(0x1cb)](a0p[a8(0x1a1)]('\x20\x20\x20\x20\x20\x20\x20\x20submit\x20icoa{w3lc0me_2_ai4ctf}')),console[a8(0x1cb)](),console['log'](a0p[a8(0x1cc)](a8(0x16b)+a0B(a8(0x15a)))),console[a8(0x1cb)]();}()),a6(0x19e);if(y)return console['log'](),console[a6(0x1cb)](a0p[a6(0x22f)]('\x20\x20'+a0B('ai4ctfLockedTitle'))),console[a6(0x1cb)](a0p[a6(0x1cc)]('\x20\x20'+a0B('ai4ctfLockedUse')+'\x20')+a0p['cyan'](a6(0x1ae))),console['log'](a0p[a6(0x1cc)]('\x20\x20'+a0B('ai4ctfLockedThen')+'\x20')+a0p['cyan']('submit\x20icoa{w3lc0me_2_ai4ctf}')),console[a6(0x1cb)](),a6(0x19e);console[a6(0x1cb)](a0p[a6(0x1cc)]('\x20\x20'+a0B(a6(0x17b))));try{const P=await g[a6(0x20a)](p);process[a6(0x225)]['write'](a6(0x1f0)),r+=P['tokensUsed'],a0v(P['tokensUsed']),console[a6(0x1cb)](),a0z(P[a6(0x1be)]),d(),console[a6(0x1cb)]();}catch(Q){process[a6(0x225)][a6(0x22b)](a6(0x1f0)),a0A(a6(0x208)+Q[a6(0x1e7)]),console[a6(0x1cb)]();}return'continue';}const f=new Set();function a0j(a,b){a=a-(0x11ca+-0xde0+-0x295);const c=a0b();let d=c[a];if(a0j['wGIZPA']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x127f*-0x1+0x20d2+-0x3351,o,p,q=0x3bd*0x9+-0x2c5+-0x1ee0;p=i['charAt'](q++);~p&&(o=n%(0x1*-0x25de+0x7*-0xc9+0x2b61)?o*(0xe4c+-0x158b+0x77f)+p:p,n++%(-0xf17*-0x2+0x2645+-0x1*0x446f))?l+=String['fromCharCode'](0x1*0x391+0x3*0xc0e+0x86*-0x4a&o>>(-(0x1d76+-0x11*-0x1a1+-0x3925)*n&-0x2419+0x22*-0x33+0x2ae5)):-0x1*0x148d+0x1807+-0x37a){p=j['indexOf'](p);}for(let r=0x109*0x19+-0xa3*0x2d+0x2c6,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x7f3+-0x405+-0x3de))['slice'](-(-0x6b*-0x56+-0x1cc7+-0x263*0x3));}return decodeURIComponent(m);};a0j['vdiMiS']=e,a0j['MtjeEF']={},a0j['wGIZPA']=!![];}const f=c[0x22cb+0x1f29+-0x41f4],g=a+f,h=a0j['MtjeEF'][g];return!h?(d=a0j['vdiMiS'](d),a0j['MtjeEF'][g]=d):d=h,d;}async function m(k){const a9=a0j;if(!u||!g)return a9(0x180);const p=k['trim'](),q=p[a9(0x17e)](),v=(Date[a9(0x1ff)]()-u[a9(0x1e1)])/(-0x1a8f4+-0x1d27*-0x7+0x1c743);if(!u['nudgeShown']&&!u['submitAttempted']&&u[a9(0x20b)][a9(0x217)]>=-0x3*0x7be+-0x1227*-0x1+0x515&&v>=-0x49a*0x1+0x18c2+-0x1423&&(u['nudgeShown']=!(0x9ac*-0x2+0x2341+-0xfe9),console[a9(0x1cb)](),console[a9(0x1cb)](a0p[a9(0x22f)]('\x20\x20💡\x20Once\x20you\x20have\x20ICOA{...},\x20submit\x20it\x20with:\x20')+a0p['bold']['yellow'](a9(0x191))),console['log'](a0p[a9(0x1cc)](a9(0x22e))),console['log']()),/^ICOA\{[^}]+\}$/i[a9(0x1a4)](p))return console[a9(0x1cb)](),console[a9(0x1cb)](a0p['gray'](a9(0x213))+a0p[a9(0x238)]('submit\x20'+p)),m(a9(0x243)+p);const x=q[a9(0x1dc)](/^hint\s+([abc])$/);if(x){const A=x[-0x1*0x1fde+-0x3d2+0x23b1*0x1][a9(0x1b5)](),B=u['question'][a9(0x17c)],C=B?.[A],D='A'===A?a0p['green']:'B'===A?a0p[a9(0x22f)]:a0p['red'];if(console['log'](),console[a9(0x1cb)](D[a9(0x18d)](a9(0x244)+A)),console[a9(0x1cb)](),C){for(const E of String(C)['split']('\x0a'))console[a9(0x1cb)](a0p[a9(0x238)]('\x20\x20\x20\x20'+E));}else console[a9(0x1cb)](a0p[a9(0x1cc)]('\x20\x20\x20\x20No\x20pre-written\x20hint\x20at\x20this\x20tier\x20for\x20this\x20question.'));return console['log'](),'A'===A?console[a9(0x1cb)](a0p[a9(0x1cc)](a9(0x203))+a0p[a9(0x1a1)](a9(0x24e))):'B'===A?console[a9(0x1cb)](a0p[a9(0x1cc)](a9(0x1e4))+a0p[a9(0x1a1)]('hint\x20c')):'C'===A&&console[a9(0x1cb)](a0p[a9(0x1cc)](a9(0x16b)+a0B(a9(0x248))+'\x20')+a0p[a9(0x18d)][a9(0x22a)](a9(0x191))),console[a9(0x1cb)](),a9(0x19e);}const z=p[a9(0x1dc)](/^submit\s+(.+)/i);if(z){let F=z[0x19fd+-0x27b*-0x3+-0xc7*0x2b][a9(0x1e0)]();if(/^submit\s+/i['test'](F)&&(F=F[a9(0x166)](/^submit\s+/i,'')[a9(0x1e0)]()),F=F[a9(0x166)](/^["'`]+|["'`]+$/g,'')[a9(0x1e0)](),/^[A-Da-d]$/[a9(0x1a4)](F))return console[a9(0x1cb)](),console[a9(0x1cb)](a0p[a9(0x22f)](a9(0x1b8)+F+a9(0x163))),console[a9(0x1cb)](a0p[a9(0x1cc)]('\x20\x20Flag\x20format:\x20')+a0p[a9(0x22a)](a9(0x1e9))+a0p[a9(0x1cc)](a9(0x1d6))),console['log'](),'continue';const {getExamState:G,saveExamState:H}=await import(a9(0x21a)),I=G();if(!I)return a9(0x180);if(!I['questions'][a9(0x197)](L=>L[a9(0x23e)]===u['qNum']))return console['log'](a0p[a9(0x211)](a9(0x185)+u['qNum']+a9(0x18c))),a9(0x19e);const J=I[a9(0x23b)][u[a9(0x210)]];I['interactions']||(I[a9(0x223)]=[]),I['interactions'][a9(0x18e)]({'ts':new Date()[a9(0x159)](),'q':u[a9(0x210)],'type':J?a9(0x1c6):a9(0x184),'input':F,'result':'via\x20ai4ctf\x20chat'}),I[a9(0x23b)][u[a9(0x210)]]=F;const K=u[a9(0x210)]+(0x2*0x1e3+0x88d+-0xc52);return I['_lastQ']=K<=-0x39*-0x6b+0xb78+-0x2325?K:u[a9(0x210)],H(I),console['log'](),J?(console[a9(0x1cb)](a0p[a9(0x22a)](a9(0x24b)+u[a9(0x210)]+a9(0x1e2))+a0p['yellow'](F)),console[a9(0x1cb)](a0p[a9(0x1cc)]('\x20\x20\x20\x20Previous:\x20'+J))):console[a9(0x1cb)](a0p[a9(0x22a)][a9(0x18d)]('\x20\x20✓\x20Answer\x20for\x20Q'+u[a9(0x210)]+a9(0x23a)+F)),console[a9(0x1cb)](a0p[a9(0x1cc)](a9(0x1af))),console[a9(0x1cb)](),console[a9(0x1cb)](a0p[a9(0x1cc)]('\x20\x20')+a0p[a9(0x238)]('submit\x20ICOA{...}')+a0p[a9(0x1cc)](a9(0x228))+a0p[a9(0x238)](a9(0x180))+a0p['gray']('\x20to\x20move\x20on')),K<=0x4*-0x175+-0x3*0x923+0x2163?console[a9(0x1cb)](a0p['gray'](a9(0x1e8))+a0p[a9(0x1a1)](a9(0x1f3))+a0p['gray'](a9(0x252)+K)):console[a9(0x1cb)](a0p['gray']('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0p[a9(0x211)](a9(0x231))+a0p[a9(0x1cc)](a9(0x21d))),console[a9(0x1cb)](),a9(0x19e);}if(k[a9(0x1fd)]('!')){const L=k['slice'](-0x191*-0x11+-0xd0a+-0xd96)[a9(0x1e0)]();if(!L)return a9(0x19e);try{const M={};M['encoding']='utf-8',M[a9(0x23f)]=0x2710;const {execSync:N}=await import(a9(0x1bc)),O=N(L,M)[a9(0x1e0)]();console[a9(0x1cb)](),console['log'](a0p[a9(0x1cc)]('\x20\x20$\x20')+a0p[a9(0x238)](L)),console[a9(0x1cb)](a0p['white']('\x20\x20'+O[a9(0x1c4)]('\x0a')[a9(0x170)](a9(0x216)))),console['log']();}catch(P){console[a9(0x1cb)](),console[a9(0x1cb)](a0p['red'](a9(0x1f1)+(P[a9(0x1e7)]?.['split']('\x0a')[0x2103+-0x8b*-0x14+0x1*-0x2bdf]||'Command\x20failed'))),console['log']();}return a9(0x19e);}if(a9(0x180)===q||a9(0x22d)===q||a9(0x215)===q){const Q=u[a9(0x210)],{getExamState:R}=await import(a9(0x21a)),S=R(),T=S&&null!=S[a9(0x23b)][Q],U=S?.[a9(0x155)]||Q;return s=!(-0x1cda*-0x1+0x4a*0x7e+-0x4145),g=null,u=null,f[a9(0x1ac)](),console['log'](),console['log'](a0p['gray'](a9(0x1b6)+Q+'.')),T&&U>Q&&U<=0xc4f+0x6*0x4fd+-0x2a17*0x1?console['log'](a0p[a9(0x238)](a9(0x1c3))+a0p['bold'][a9(0x22a)]('Q'+U)+a0p[a9(0x1cc)]('\x20—\x20type\x20')+a0p[a9(0x1a1)](a9(0x1f3))+a0p[a9(0x1cc)]('\x20to\x20continue')):T&&Q>=0x2615+0xe4*0x2+0x27b7*-0x1?console[a9(0x1cb)](a0p['white'](a9(0x176))+a0p['bold'][a9(0x211)](a9(0x231))+a0p[a9(0x1cc)]('\x20for\x20Q39')):console[a9(0x1cb)](a0p[a9(0x1cc)]('\x20\x20Resume:\x20')+a0p[a9(0x238)](a9(0x1a5)+Q)+a0p[a9(0x1cc)](a9(0x1e5))+a0p[a9(0x238)](a9(0x1f3))),console[a9(0x1cb)](),a9(0x180);}if(y)return console[a9(0x1cb)](),console['log'](a0p['yellow'](a9(0x19f))),console['log'](a0p[a9(0x1cc)]('\x20\x20Still\x20available:\x20')+a0p['white']('submit\x20<flag>')+a0p[a9(0x1cc)]('\x20·\x20')+a0p[a9(0x238)](a9(0x237))+a0p[a9(0x1cc)](a9(0x239))+a0p[a9(0x238)](a9(0x180))),console[a9(0x1cb)](),a9(0x19e);if(r>=h)return y=!(-0x693+-0x1279*-0x1+-0xbe6),console['log'](),console[a9(0x1cb)](a0p[a9(0x211)]['bold'](a9(0x233))),console['log'](a0p['gray'](a9(0x21c))+a0p['white'](a9(0x15c))+a0p[a9(0x1cc)](a9(0x239))+a0p[a9(0x238)](a9(0x237))+a0p['gray'](a9(0x239))+a0p[a9(0x238)](a9(0x180))),console['log'](),a9(0x19e);console['log'](a0p[a9(0x1cc)](a9(0x200)));try{const V=await g[a9(0x20a)](k);process[a9(0x225)][a9(0x22b)]('\x1b[1A\x1b[2K'),r+=V[a9(0x15f)];const {getRealExamState:W,saveExamState:X}=await import('../lib/exam-state.js'),Y=W(),Z={};Z[a9(0x1f3)]=0x0,Z[a9(0x231)]=0x0,(Y&&(Y[a9(0x23c)]||(Y[a9(0x23c)]=Z),Y[a9(0x23c)][a9(0x1f3)]=r,X(Y)),console[a9(0x1cb)](),a0z(V[a9(0x1be)]),d(),function(a0,a1,a2){const aa=a9,a3=a0/a1*(0x2562+0x638+-0x2b36);a3>=0x2404+0x247c*0x1+-0x1*0x4821&&!a2[aa(0x207)]('95')?(console[aa(0x1cb)](a0p['red'][aa(0x18d)]('\x20\x20⚠\x20'+Math['round'](a3)+aa(0x230)+(a1-a0)+aa(0x221))),a2[aa(0x18a)]('95')):a3>=0x1068+-0x1f6d*0x1+0xf55&&!a2[aa(0x207)]('80')?(console['log'](a0p[aa(0x22f)](aa(0x1f7))),a2[aa(0x18a)]('80')):a3>=0x54+0x1002+-0x1024&&!a2[aa(0x207)]('50')&&(console[aa(0x1cb)](a0p['gray']('\x20\x20Note:\x2050%\x20of\x20section\x20AI\x20budget\x20used.')),a2[aa(0x18a)]('50'));}(r,h,f),console['log']());}catch(a0){process[a9(0x225)][a9(0x22b)](a9(0x1f0)),a0A('AI\x20error:\x20'+a0['message']),console[a9(0x1cb)]();}return a9(0x19e);}export function registerAi4ctfCommand(b){const ab=a0j;b[ab(0x1d2)](ab(0x1f3))[ab(0x1df)]('Chat\x20with\x20your\x20AI\x20teammate')[ab(0x1eb)](async()=>{const ac=ab;a0x('ai4ctf');const {getRealExamState:j}=await import('../lib/exam-state.js'),k=j(),p=k?.[ac(0x1c5)][ac(0x172)](x=>x[ac(0x23e)]>=-0x2237+-0x4*0x185+-0x2*-0x1435&&x['number']<=0x1*0x516+-0x74c*0x5+0x1f8c);if(k&&p){const x=k['_lastQ']||0x154*-0xd+-0x1292+0x23d7;if(x<-0x13*0x9+0x8ec*0x2+-0x110e||x>-0xb5*-0x31+0x3*-0xf8+-0x1f97*0x1)return console[ac(0x1cb)](),console[ac(0x1cb)](a0p['yellow'](ac(0x193))),console[ac(0x1cb)](a0p[ac(0x1cc)](ac(0x1c7)+x+'.\x20Jump\x20there\x20first:')),console[ac(0x1cb)](a0p['gray'](ac(0x165))+a0p[ac(0x18d)][ac(0x1a1)](ac(0x174))),void console['log']();const z=k['questions'][ac(0x197)](A=>A[ac(0x23e)]===x);return z?void await async function(A,B){const ad=ac,{getRealExamState:C,refetchQuestionDataIfStale:D,materializeAttachedData:E}=await import(ad(0x21a));await D();const F=C();if(!F)return!(0x2376+-0xee*0x2+0x8d*-0x3d);const G=F['questions'][ad(0x197)](J=>J[ad(0x23e)]===A);G&&(B=G),E(A,B?.[ad(0x187)]);const H=F['aiUsage']?.[ad(0x1f3)]??-0x13e8+0x5*0x2c8+-0xc*-0x80;if(H>=h)return console['log'](),console[ad(0x1cb)](a0p[ad(0x22f)](ad(0x19b))),console[ad(0x1cb)](a0p[ad(0x1cc)](ad(0x16e))+a0p[ad(0x238)](ad(0x1ba)+A+'\x20ICOA{...}')),console[ad(0x1cb)](),!(-0x503*-0x3+0x3f1+-0x12f9);try{g=await a0q(void(-0x43f+0x6e1+-0x2a2),function(J,K){const ae=ad,L=J[ae(0x1df)]||J['text']||'',M=J['attachedData']?ae(0x1a6)+K+ae(0x222)+J[ae(0x187)]:'';return ae(0x1ab)+K+',\x20'+J[ae(0x157)]+',\x20'+(J[ae(0x1dd)]||-0x17b5+0xa6*0x30+-0x765)+'\x20points):\x0a'+L+M+ae(0x1b3)+K+ae(0x1b9);}(B,A));}catch(J){return a0A(J[ad(0x1e7)]),!(0x1641+-0xe27*-0x2+-0x328e);}s=!(0x8*0x53+-0x155*-0x5+0x67*-0x17),r=H,y=!(0xb71+-0x6*0x20b+0xd2),u={'qNum':A,'question':B,'usageField':ad(0x1f3),'enteredAt':Date[ad(0x1ff)](),'hintsUsed':new Set(),'submitAttempted':!(-0x22*-0x55+0x1b42*-0x1+0x3*0x553),'nudgeShown':!(-0x187e+0x1*0x10a2+0x7dd)};const I=F[ad(0x23b)]?.[A];return function(K,L,M){const af=ad,N=a0w()[af(0x18b)]||'gemma-4-31b-it',O=r>-0x4b7*0x1+0x1a6*-0x15+-0x2755*-0x1;console[af(0x1cb)](),console[af(0x1cb)](a0p[af(0x22a)][af(0x18d)]('\x20\x20═══\x20AI4CTF\x20—\x20Q'+L+':\x20'+K['category']+af(0x189))),O&&console[af(0x1cb)](a0p[af(0x1cc)](af(0x1bf))),M&&console[af(0x1cb)](a0p['gray'](af(0x188))+a0p[af(0x22f)](M)+a0p[af(0x1cc)](af(0x1d8))),console[af(0x1cb)](),console[af(0x1cb)](a0p[af(0x1a1)]('\x20\x20┌─────────────────────────────────────────────')),console[af(0x1cb)](a0p[af(0x1a1)]('\x20\x20│\x20')+a0p['bold']['white']('Q'+L+af(0x16a)+K[af(0x157)]+']\x20\x20·\x20'+(K[af(0x1dd)]||-0x3*0xd5+-0x4c2*0x3+0x599*0x3)+af(0x20c))),console[af(0x1cb)](a0p[af(0x1a1)](af(0x1d7)));for(const P of String(K['text'])[af(0x1c4)]('\x0a')){const Q=P['length']>-0x552+0xe6f+-0x8e1?P[af(0x1ed)](0x921+-0x1*0x517+0x205*-0x2,0x181f+-0x1*-0x6f8+-0x1ede)+'...':P;console[af(0x1cb)](a0p['cyan'](af(0x235))+a0p[af(0x238)](Q));}console[af(0x1cb)](a0p[af(0x1a1)](af(0x1d7))),console[af(0x1cb)](a0p['cyan'](af(0x235))+a0p[af(0x1cc)]('Full\x20question:\x20\x20')+a0p[af(0x238)](af(0x1a5)+L)),console[af(0x1cb)](a0p[af(0x1a1)]('\x20\x20│\x20')+a0p[af(0x1cc)](af(0x20d))),console[af(0x1cb)](a0p[af(0x1a1)](af(0x16f))),console[af(0x1cb)](),console['log'](a0p[af(0x18d)]['white']('\x20\x20How\x20to\x20work\x20this\x20question')),console[af(0x1cb)](),console[af(0x1cb)](a0p[af(0x22f)](af(0x21e))+a0p['gray'](af(0x161))),console[af(0x1cb)](a0p[af(0x22f)](af(0x171))+a0p[af(0x1cc)](af(0x16d))),console[af(0x1cb)](a0p[af(0x22f)](af(0x1a0))+a0p[af(0x1cc)](af(0x1fb))),console[af(0x1cb)](a0p['bold'][af(0x22a)](af(0x21f))+a0p[af(0x1cc)](af(0x1b0))),console[af(0x1cb)](a0p[af(0x238)](af(0x204))+a0p[af(0x1cc)](af(0x1e6))),console[af(0x1cb)](a0p[af(0x1cc)]('\x20\x20\x20\x20Just\x20type\x20freely\x20to\x20chat\x20with\x20the\x20AI\x20teammate.')),console[af(0x1cb)](a0p[af(0x1cc)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0p[af(0x238)]('\x22how\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[af(0x1cb)](),console['log'](a0p[af(0x1cc)](af(0x1ca))+a0p[af(0x1cc)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Leave\x20chat,\x20return\x20to\x20exam')),console[af(0x1cb)](a0p[af(0x1cc)](af(0x167))+a0p[af(0x1cc)](af(0x17f))),console[af(0x1cb)](),d(),console['log'](a0p[af(0x1cc)](af(0x1de)+N+')')),console['log']();}(B,A,I),!(0x1*-0xe4e+-0x2090+0x176f*0x2);}(x,z):void a0A('Q'+x+ac(0x177)+x);}const q={};q['name']=ac(0x1c9),q['category']=ac(0x1a2);const v=a0w()[ac(0x18b)]||'gemma-4-31b-it',w=q;try{g=await a0q(w);}catch(A){return void a0A(A['message']);}s=!(-0x185b+0x1*-0x190d+0x22*0x174),r=0x51*0x7+-0x15cd*-0x1+-0x1804,y=!(0x193a+0x3*0x49+-0x1a14),console[ac(0x1cb)](),console['log'](a0p[ac(0x22a)][ac(0x18d)](ac(0x1b2)+a0B(ac(0x209))+ac(0x189))),console[ac(0x1cb)](),console[ac(0x1cb)](a0p[ac(0x238)]('\x20\x20'+a0B(ac(0x192)))),console['log'](),console['log'](a0p[ac(0x1a1)]('\x20\x20┌─────────────────────────────────────────────')),console[ac(0x1cb)](a0p[ac(0x1a1)](ac(0x235))+a0p[ac(0x18d)]['white'](a0B(ac(0x206)))),console[ac(0x1cb)](a0p['cyan'](ac(0x1d7))),console[ac(0x1cb)](a0p['cyan'](ac(0x235))+a0p[ac(0x238)](a0B(ac(0x1d4)))),console[ac(0x1cb)](a0p[ac(0x1a1)](ac(0x235))+a0p[ac(0x22a)](ac(0x1a8))),console[ac(0x1cb)](a0p[ac(0x1a1)](ac(0x1d7))),console[ac(0x1cb)](a0p[ac(0x1a1)](ac(0x235))+a0p[ac(0x238)](a0B(ac(0x1fe)))),console[ac(0x1cb)](a0p[ac(0x1a1)](ac(0x235))+a0p[ac(0x1cc)](ac(0x1e3))),console[ac(0x1cb)](a0p[ac(0x1a1)]('\x20\x20└─────────────────────────────────────────────')),console[ac(0x1cb)](),console[ac(0x1cb)](a0p[ac(0x238)]('\x20\x20'+a0B('ai4ctfLevels'))),console[ac(0x1cb)](),console['log'](a0p[ac(0x22f)](ac(0x21e))+a0p[ac(0x1cc)](ac(0x16b)+a0B(ac(0x1d1)))),console[ac(0x1cb)](a0p['gray'](ac(0x194)+a0B(ac(0x17d)))),console[ac(0x1cb)](a0p['yellow'](ac(0x171))+a0p[ac(0x1cc)](ac(0x16b)+a0B(ac(0x21b)))),console[ac(0x1cb)](a0p[ac(0x1cc)](ac(0x194)+a0B(ac(0x224)))),console['log'](a0p['yellow'](ac(0x1a0))+a0p[ac(0x1cc)](ac(0x16b)+a0B(ac(0x173)))),console['log'](a0p[ac(0x1cc)](ac(0x194)+a0B('ai4ctfHintCUses'))),console[ac(0x1cb)](),console[ac(0x1cb)](a0p[ac(0x1cc)]('\x20\x20─────────────────────────────────────────')),console[ac(0x1cb)](a0p[ac(0x18d)][ac(0x238)]('\x20\x20'+a0B('ai4ctfWelcomeCta'))),console['log'](ac(0x16b)+a0p[ac(0x1a1)]('hint\x20a')+a0p[ac(0x1cc)](ac(0x214)+a0B(ac(0x1c1)))),console[ac(0x1cb)](ac(0x16b)+a0p['cyan'](ac(0x24e))+a0p['gray'](ac(0x214)+a0B(ac(0x168)))),console['log'](ac(0x16b)+a0p[ac(0x1a1)](ac(0x1b4))+a0p[ac(0x1cc)]('\x20\x20\x20→\x20'+a0B(ac(0x250)))),console['log'](a0p['gray'](ac(0x16b)+a0B(ac(0x229)))),console[ac(0x1cb)](),console[ac(0x1cb)](a0p['white']('\x20\x20'+a0B(ac(0x190)))),console[ac(0x1cb)](a0p[ac(0x1cc)]('\x20\x20'+a0B('ai4ctfOrChatExample')+'\x20')+a0p[ac(0x238)](ac(0x201))),console[ac(0x1cb)](),console[ac(0x1cb)](a0p[ac(0x22f)]('\x20\x20'+a0B(ac(0x19d)))),console['log'](a0p[ac(0x238)](ac(0x218))+a0p[ac(0x1cc)](a0B(ac(0x178)))),console[ac(0x1cb)](a0p['white'](ac(0x1f6))+a0p['gray'](a0B(ac(0x232)))),console[ac(0x1cb)](a0p[ac(0x238)](ac(0x1f9))+a0p[ac(0x1cc)](a0B('ai4ctfCmdShellLine'))),console[ac(0x1cb)](a0p[ac(0x1cc)](ac(0x247))+a0p[ac(0x238)](ac(0x19c))),console[ac(0x1cb)](a0p[ac(0x1cc)](ac(0x182)+a0B(ac(0x249)))),console['log'](),d(),console[ac(0x1cb)](a0p[ac(0x1cc)]('\x20\x20'+a0B(ac(0x205))+ac(0x15e)+v+')')),console[ac(0x1cb)](a0p[ac(0x1cc)]('\x20\x20'+a0B(ac(0x195)))),console[ac(0x1cb)]();});}
1
+ (function(b,j){const a4=a0j,k=b();while(!![]){try{const p=-parseInt(a4(0x16b))/(-0x1*0x24af+-0x1d58+0x4208)+-parseInt(a4(0x15e))/(-0x1068+-0x17d0+0x283a)+-parseInt(a4(0x1ef))/(-0x14c*0x4+0x1389*0x1+-0xe56)+-parseInt(a4(0x158))/(-0xbe6+0x3e2+0x8*0x101)+-parseInt(a4(0x151))/(0x11*-0x1bd+0x243d+-0x6ab)+parseInt(a4(0x1fb))/(-0xc5*-0x17+0x18c0+-0x1*0x2a6d)+-parseInt(a4(0x178))/(-0x3*0x345+0x1ad3*-0x1+0x5*0x755)*(-parseInt(a4(0x1e0))/(-0x22b+0x103e+-0xe0b));if(p===j)break;else k['push'](k['shift']());}catch(q){k['push'](k['shift']());}}}(a0b,0x77530+0x2c4d*0x21+-0x7be8e));import a0p from'chalk';import{createChatSession as a0q}from'../lib/gemini.js';import{addTokenUsage as a0v}from'../lib/budget.js';import{getConfig as a0w}from'../lib/config.js';import{logCommand as a0x}from'../lib/logger.js';import{printMarkdown as a0z,printError as a0A}from'../lib/ui.js';import{t as a0B}from'../lib/i18n.js';const i=b=>new Promise(j=>setTimeout(j,b));function a0j(a,b){a=a-(-0x1dd3+-0x5*-0x66+0x1d06);const c=a0b();let d=c[a];if(a0j['YCAgdy']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0xdb0+-0x68b*0x3+0x2151,o,p,q=-0x12a8+-0x2d8+0x1580;p=i['charAt'](q++);~p&&(o=n%(0x1c9+-0xc2f*0x2+0x1699)?o*(0x4*-0x494+0x1c0c+-0x97c)+p:p,n++%(-0x145f+-0x254b+0x39ae))?l+=String['fromCharCode'](-0x23d*-0x9+-0x4c6*0x5+0x4b8&o>>(-(0x2c3*0x1+-0x1a5*-0x5+-0xafa)*n&-0x466*-0x8+0x136a+0x2*-0x1b4a)):0x8d3+-0x5c3*-0x3+-0x1a1c){p=j['indexOf'](p);}for(let r=-0xbca+0xa6+0x5c*0x1f,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0xf9f+-0x17e1+0x163*0x6))['slice'](-(-0x2d2*-0x3+-0x2395+-0x56d*-0x5));}return decodeURIComponent(m);};a0j['rDYXca']=e,a0j['AElsnb']={},a0j['YCAgdy']=!![];}const f=c[-0x55*-0x2a+0x33*0x65+-0x3c9*0x9],g=a+f,h=a0j['AElsnb'][g];return!h?(d=a0j['rDYXca'](d),a0j['AElsnb'][g]=d):d=h,d;}let s=!(-0x24e0+0x1baa+0x937),g=null,r=-0x2d8+-0x9bb+-0x57*-0x25,y=!(-0x4ea+0x2259+-0x1d6e);function a0b(){const ag=['y29TBwfUza','icbuAgLUA2LUzY4UlG','Aw50zxjHy3rPB25Z','icaGigHPBNqGyq','CxvLC3rPB25Z','z2vTAw5Ptw9KzwW','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','ig9UifeZoq','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','ywK0y3rMv3jHCff1B3rHqW','ihb0CW','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','ywK0y3rMrxHPDenTzejHy2S','ywLvC2fNzq','ig5VDcbMB3vUzcbPBIbZDgf0zs4','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','x2XHC3rr','C29Tzq','icdcTYaGuMuTzw50zxi6ia','y3LHBG','ihDPBgWGB3bLBIbr','z3jHEq','cIaG','ywK0y3rMv3jHCeXPBMuYqM9KEq','sunpqxT5B3vYx2zSywD9','mJa3ntm2mgzltffgvW','vg9Rzw5Z','yw5ZD2vYCW','q29TBwfUzcbMywLSzwq','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','icbzB3uGy2fUihn0AwXSoIa','mtqYmtuXmK1cyNPeDa','ywK0y3rMsgLUDem','ihjLy29YzgvKoIa','icdILii','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGihn1yM1PDca8zMXHzZ4Gica','mJqXnZi4uxD0tNr4','Bwf0y2G','zxHHBsbHBNn3zxiG','AM9PBG','icaGigHPBNqGyW','Cu51Bq','icaGiokgKIa','ywK0y3rMsgLUDfrLy2HUAxf1zq','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','BgvUz3rO','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','ywK0y3rMtw9KzwW','C3vIBwL0ieLdt0f7lI4UFq','mJi1ntGZCMjUrxDe','icbr','ywK0y3rMtg9JA2vKvgHLBG','ywK0y3rMrgvJB2rL','CgfKrw5K','ywK0y3rMv3jHCeXPBMuXqM9KEq','ywK0y3rM','BM9KztPJAgLSzf9WCM9JzxnZ','ywK0y3rMsgLUDee','ywK0y3rMrM91BMrgBgfN','ue9tva','C2XPy2u','CMvK','n1LkB2DkCa','Dg9vChbLCKnHC2u','EwvSBg93','icaGicaGigHPBNqGyYaGia','yxbWBgLJyxrPB24VANnVBG','igfNywLUihrVignOyw5NzsWGB3iG','g1SXqrTBmKS','icaGicbJDgy0ywK','ywK0y3rMoIa','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','Dg9Rzw5ZvxnLza','DMLHigfPngn0zIbJAgf0','zxHHBsbXia','xsaGWRCG','AgLUDcbI','ywK0y3rMsgLUDejvC2vZ','ywK0y3rMv3jHCfrPDgXL','Dg9ju09tDhjPBMC','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','ywK0y3rMsgLUDefvC2vZ','ywK0y3rMuMv2zwfSvgL0Bgu','igfUC3DLCIb1CgrHDgvKoIa','ywK0y3rMvgHPBMTPBMC','ywK0y3rMv3jHCeXPBMuYsgvHza','zw5JB2rPBMC','icdILRGGsgLUDca','Dg9mB3DLCKnHC2u','icbszxn1Bwu6ia','Dgv4Da','ywK0y3rMv3jHCff1B3rHqKHPBNq','ywK0y3rMv3jHCe5VuhjVzW','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','yw5ZD2vYx3n1yM1PDhrLza','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','icaI','C3rHCNrZv2L0Aa','BwvUDq','icaGigv4Axq','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','zgvZy3jPChrPB24','BwLU','y3rMngfP','Bg9N','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','ywK0y3rMsgLUDe51zgDL','ywK0y3rMsw50zxjJzxb0zwq','ixnOzwXS','ywK0y3rMuMv2zwfStg9JA05VDgu','ywK0y3rMrw5Ku2vZC2LVBG','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','icaGigHPBNqGyG','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','C3bSAxq','C3rKB3v0','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','DhjPBq','ywK0y3rMrxHPDenTze5LEhq','icdILRGG','BNvKz2vtAg93BG','ywK0y3rMv3jHCff1B3rHqG','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','ywK0y3rMv3jHCe5LEhrtDwi','AgLUDcbJ','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','icaGicfWExrOB24Zic4UlG','BMfTzq','AgfZ','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','DgvZDa','BM93','CMvWzwf0','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','z3jLzw4','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','icaGicaGicaGicaGica','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','lI4VBgLIl2v4yw0TC3rHDguUANm','imk3ia','ywK0y3rMrxHPDa','rNvSBcbXDwvZDgLVBJOGia','D2HPDgu','ywK0y3rMsgLUDefcB2r5','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','AgLUDcbH','DgHPBMTPBMC','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','icaGidiUia','C3vIBwL0ia','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','icaGicaGicaGicaG','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','icdINjmGuq','ChvZAa','Cg9PBNrZ','ihbVAw50CYK6cG','lZuWmda','mtaZndKZnJbRrwTIEvO','ywK0y3rMsgLUDe5LEhrc','yM9Sza','ywK0y3rMrMXHz0HPBNq','D3jPDgu','y2XLyxi','CxvLC3rPB24','ywK0y3rMsgLUDenvC2vZ','icaGia','y2f0y2G','icbgBgfNigzVCM1HDdOG','ywK0y3rMsgLUDei','C3vIBwL0idXMBgfNpG','ywK0y3rMv3jHCff1B3rHquHPBNq','icaG4OAsia','otiYndG4ChLQCM9p','ywK0y3rMrgvJB2rLza','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','ywrK','AgLUDhnvC2vK','zxHPDa','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','BNvTyMvY','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','CM91BMq','C2vUze1LC3nHz2u','icaKia','mJKXnZe2ne9eDwHxtG','iokvKokvKokvKa','ywK0y3rMrxHPDe5LEhrcB2r5','BwvZC2fNzq','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','ywK0y3rMrxHPDe5LEhrtDwi','ywK0y3rMv3jHCff1B3rHC1rPDgXL','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','y2f0zwDVCNK','icdIMQaG','ywK0y3rMvgL0Bgu','iokaLca','y29UDgLUDwu','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','zMLUza','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icbbzNrLCIbLEgL0oIa','ywK0y3rMtg9JA2vKvgL0Bgu','q29UDgvUDc1uExbL','icaGice8C2HLBgWGy21KpIaGica','AgLUDhm','icaGifbYzxzPB3vZoIa','ywK0y3rMq29TBwfUzhm','DxrMltG','ieLdt0f7lI4UFq','oIbhB29NBguGr2vTBweGncaO','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','ywK0y3rMv3jHCff1B3rHq0HPBNq','ywK0y3rMuMv2zwfSu2vLrMXHzW','icdILiiG','q3j5ChrVz3jHCgH5','ywK0y3rMq29YCMvJDezSywC','icbB','CxvPDa','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','ywK0y3rMsgLUDejcB2r5','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','ywK0y3rMu2fTCgXL','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','ywK0y3rMv3jHCff1B3rHqq','C2L6zq','quKGzxjYB3i6ia','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','ywK0y3rMq21Ku2HLBgXmAw5L','icbfCNjVCJOG','ywK0y3rMq21KsgLUDeXPBMu','icaGicaGigHPBNqGyIaGia','ywK0y3rMv291BgrfyxjU','icdILzdILzdILzaG','yxr0ywnOzwreyxrH','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','ywK0y3rMv3jHCeXPBMuXsgvHza','zw50zxjLzef0','ywK0y3rMrxHPDe5LEhruAxrSzq','C3rYAw5NAwz5','z2vTBweTnc0ZmwiTAxq','icaGigv4AxqGicaGicaGicaGica','ywK0y3rMsgLUDe5LEhrb','ywn0Aw9U','DgLTzw91Da','CMvWBgfJzq'];a0b=function(){return ag;};return a0b();}const h=-0x1187*-0x8+0x9ae+-0x343e;let u=null;export function isChatActive(){return s;}function d(){const a5=a0j,b=u?h:-0x254b+-0x132b+-0x8e*-0x89,j=r,k=Math[a5(0x1a4)](Math[a5(0x1f8)](j/b*(-0x887*-0x1+-0x1889+0x1*0x1066)),-0xeb1*-0x1+0x210f+0x1c*-0x1b1),p=Math[a5(0x1f8)](k/(0x149e+0x1*-0x1a29+0x1f*0x31)*(-0xc84+0x145f+-0x7c7)),q=0xa6+0x2527*-0x1+-0x751*-0x5-p,v=k>0x2f*-0x2b+-0x2431*0x1+-0x2c66*-0x1?a0p[a5(0x177)]:k>-0x86a+0x337*0x9+-0x79*0x2b?a0p['yellow']:a0p['green'],w=u?'AI4CTF\x20section':a5(0x152);console['log'](a0p[a5(0x14d)]('\x20\x20'+w+':\x20')+v('█'[a5(0x1c5)](p))+a0p[a5(0x14d)]('░'[a5(0x1c5)](q))+a0p[a5(0x14d)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(p){const a6=a0j;if(!g)return'exit';if(a0x(a6(0x180)+p),u)return m(p);const q=p[a6(0x1b4)]()[a6(0x193)]()['match'](/^hint\s+([abc])$/);if(q)return function(z){const a7=a6,A=a0B('a'===z?a7(0x173):'b'===z?a7(0x1eb):'ai4ctfHintC'),B=a0B('a'===z?a7(0x1d0):'b'===z?a7(0x21e):'ai4ctfHintCBody'),C='Hint\x20'+z[a7(0x179)](),D='a'===z?a0p[a7(0x1c7)]:'b'===z?a0p[a7(0x17a)]:a0p[a7(0x177)];console[a7(0x1a6)](),console[a7(0x1a6)](D['bold'](a7(0x1b6)+C+'\x20\x20')+a0p['gray'](A)),console[a7(0x1a6)]();for(const E of B['split']('\x0a'))''===E?console[a7(0x1a6)]():console[a7(0x1a6)](a0p['white'](a7(0x1e8)+E));console[a7(0x1a6)](),'a'===z?(console['log'](a0p[a7(0x14d)]('\x20\x20\x20\x20'+a0B(a7(0x133))+'\x20')+a0p[a7(0x14b)](a7(0x186))),console[a7(0x1a6)]()):'b'===z&&(console[a7(0x1a6)](a0p[a7(0x14d)](a7(0x1e8)+a0B(a7(0x1e1))+'\x20')+a0p[a7(0x14b)]('hint\x20c')),console[a7(0x1a6)]());}(q[-0x752*-0x2+0x11f9+-0x1*0x209c]),'continue';const v=p['match'](/^submit\s+(.+)/i);if(v){let z=v[0x26b5+-0x218*-0x2+0x2ae4*-0x1]['trim']();if(/^submit\s+/i[a6(0x1c3)](z)&&(z=z[a6(0x136)](/^submit\s+/i,'')[a6(0x1b4)]()),z=z[a6(0x136)](/^["'`]+|["'`]+$/g,'')[a6(0x1b4)](),a6(0x1c2)===z){console['log'](),console[a6(0x1a6)](a0p[a6(0x1c7)][a6(0x1e2)]('\x20\x20════════════════════════════════════')),console[a6(0x1a6)](a0p['green']['bold']('\x20\x20'+a0B(a6(0x21a)))),console[a6(0x1a6)](a0p['green'][a6(0x1e2)](a6(0x215))),console['log'](),console[a6(0x1a6)](a0p[a6(0x1cf)]('\x20\x20'+a0B(a6(0x1f0)))),console[a6(0x1a6)](a0p[a6(0x14d)]('\x20\x20'+a0B(a6(0x22a)))),console[a6(0x1a6)](),d(),s=!(0x15c6+0x2060+-0x53*0xa7),g=null,fetch(a6(0x20a),{'method':'POST','headers':{'Content-Type':a6(0x17c)},'body':JSON['stringify']({'type':'ai4ctf','solved':!(0x286+0x12bf+-0x9*0x25d),'tokensUsed':r,'timestamp':new Date()[a6(0x189)]()}),'signal':AbortSignal[a6(0x135)](-0x3d1*0xa+0x36*0xae+0x14fe)})[a6(0x1e9)](()=>{}),await i(0x2*-0x2d7+-0x4*-0x395+-0x2ca),console['log'](),console[a6(0x1a6)](a0p[a6(0x14b)](a6(0x198))),console[a6(0x1a6)](a0p[a6(0x1e2)][a6(0x1cf)]('\x20\x20'+a0B(a6(0x188)))),console['log'](a0p[a6(0x14b)](a6(0x198))),console[a6(0x1a6)]();const A=a0B(a6(0x22e)),B=a0B(a6(0x170));console[a6(0x1a6)](a0p['white']('\x20\x20\x20\x201.\x20'+A+'\x20')+a0p[a6(0x14d)](B[a6(0x1b1)]('\x0a')[0x2216*-0x1+0x2*0x95f+-0xf58*-0x1]||''));for(const F of B['split']('\x0a')[a6(0x176)](-0x840+0xe7*-0x5+0xcc4*0x1))F['trim']()&&console['log'](a0p['gray']('\x20\x20\x20\x20\x20\x20\x20'+F['replace'](/\{thinking\}/g,a6(0x1d3))));console[a6(0x1a6)](),console[a6(0x1a6)](a0p[a6(0x1cf)](a6(0x1d6)+a0B(a6(0x190))+'\x20')+a0p['gray'](a0B(a6(0x14f)))),console['log'](),console[a6(0x1a6)](a0p['cyan'](a6(0x1ff))),console[a6(0x1a6)](),await i(0x46*0xb+-0x11*0x9d+0x1*0xf3b),console['log'](a0p[a6(0x14b)]('\x20\x20─────────────────────────────────────────────')),console[a6(0x1a6)](a0p['bold']['white']('\x20\x20'+a0B(a6(0x201)))),console[a6(0x1a6)](a0p['cyan'](a6(0x198))),console[a6(0x1a6)](),console[a6(0x1a6)](a0p[a6(0x17a)]('\x20\x20\x20\x20\x20\x20\x20hint\x20a\x20\x20\x20')+a0p['white'](a0B(a6(0x222))[a6(0x16f)](0x327*0x3+-0xa69+0xa*0x1b))+a0p[a6(0x14d)](a0B(a6(0x1ed)))),console[a6(0x1a6)](a0p[a6(0x17a)](a6(0x229))+a0p[a6(0x1cf)](a0B(a6(0x1b8))[a6(0x16f)](-0x3*-0x65+-0x23c8+0x22b3))+a0p['gray'](a0B(a6(0x196)))),console[a6(0x1a6)](a0p['yellow'](a6(0x17b))+a0p['white'](a0B(a6(0x141))[a6(0x16f)](0x1e41+-0xdb1+0x83b*-0x2))+a0p[a6(0x14d)](a0B(a6(0x216)))),console[a6(0x1a6)]();for(const G of a0B('ai4ctfWrapQuotaFooter')['split']('\x0a'))console[a6(0x1a6)](a0p[a6(0x14d)](a6(0x1e8)+G));console['log'](),await i(0x121b+0x1b14*0x1+0x9*-0x427),console[a6(0x1a6)](a0p[a6(0x14b)]('\x20\x20─────────────────────────────────────────────')),console[a6(0x1a6)](a0p[a6(0x1e2)]['white']('\x20\x20'+a0B('ai4ctfWrapNextTitle')+'\x20')+a0p['red'][a6(0x1e2)](a6(0x1a5))+a0p[a6(0x1cf)](a6(0x206)+a0B(a6(0x1ba)))),console[a6(0x1a6)](a0p[a6(0x14b)]('\x20\x20─────────────────────────────────────────────')),console[a6(0x1a6)]();const C=a0B('ai4ctfWrapNextBody'),D=a0B(a6(0x197)),E=C[a6(0x1b1)]('\x0a');if(E[-0x1c*-0xea+-0x64d*0x1+-0x1*0x134b]){const [H,I]=E[0x23e+-0x1e72+-0x4*-0x70d][a6(0x1b1)]('{noProg}');console[a6(0x1a6)](a0p[a6(0x1cf)]('\x20\x20\x20\x20'+(H||''))+a0p[a6(0x1e2)][a6(0x1cf)](D)+a0p[a6(0x1cf)](I||''));}for(const J of E[a6(0x176)](-0x192+-0x1b0+0x343))J['trim']()&&console[a6(0x1a6)](a0p[a6(0x1cf)](a6(0x1e8)+J));return console[a6(0x1a6)](),console[a6(0x1a6)](a0p['gray'](a6(0x1e8)+a0B('ai4ctfWrapTypeCtf4ai')+'\x20')+a0p[a6(0x1e2)]['red'](a6(0x1a5))),console[a6(0x1a6)](),a6(0x1f4);}return console[a6(0x1a6)](),console[a6(0x1a6)](a0p[a6(0x177)]('\x20\x20'+a0B('ai4ctfWrongFlag'))),console['log'](a0p[a6(0x14d)]('\x20\x20'+a0B(a6(0x1e3)))),console['log'](),a6(0x207);}if(p[a6(0x19e)]('!')){const K=p[a6(0x176)](-0x609+0x94d+-0x343)[a6(0x1b4)]();if(!K)return a6(0x207);try{const L={};L['encoding']=a6(0x212),L[a6(0x135)]=0x2710;const {execSync:M}=await import('node:child_process'),N=M(K,L)['trim']();console[a6(0x1a6)](),console[a6(0x1a6)](a0p[a6(0x14d)](a6(0x1fa))+a0p[a6(0x1cf)](K)),console[a6(0x1a6)](a0p['white']('\x20\x20'+N[a6(0x1b1)]('\x0a')[a6(0x161)](a6(0x14e)))),console['log'](),console['log'](a0p[a6(0x14d)]('\x20\x20'+a0B(a6(0x174)))),console[a6(0x1a6)]();}catch(O){console[a6(0x1a6)](),console[a6(0x1a6)](a0p['red'](a6(0x227)+(O[a6(0x1fe)]?.['split']('\x0a')[-0x16b9+-0xb46+0x21ff*0x1]||a6(0x154)))),console['log']();}return a6(0x207);}const w={};w[a6(0x20d)]='application/json';if(a6(0x1f4)===p||'back'===p||a6(0x21c)===p||a6(0x19f)===p)return s=!(0x1*-0x1cb+0xf6b*-0x2+0x20a2),g=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a6(0x175),'headers':w,'body':JSON[a6(0x231)]({'type':a6(0x171),'tokensUsed':r,'timestamp':new Date()[a6(0x189)]()}),'signal':AbortSignal[a6(0x135)](-0x4*0x935+-0x1fa2+0x57fe)})[a6(0x1e9)](()=>{}),console[a6(0x1a6)](),console[a6(0x1a6)](a0p[a6(0x14d)](a6(0x1bd))),console[a6(0x1a6)](a0p['white']('\x20\x20'+a0B('ai4ctfReport'))),console[a6(0x1a6)](a0p[a6(0x14d)]('\x20\x20'+a0B('ai4ctfTokens')+':\x20'+r+a6(0x1df))),console[a6(0x1a6)](a0p[a6(0x14d)]('\x20\x20'+a0B(a6(0x169))+a6(0x18b))),console[a6(0x1a6)](a0p[a6(0x14d)](a6(0x1bd))),console[a6(0x1a6)](),console[a6(0x1a6)](a0p['cyan']('\x20\x20─────────────────────────────────────────────')),console['log'](a0p['white']('\x20\x20'+a0B(a6(0x230))+'\x20')+a0p['bold']['red'](a6(0x1a5))+a0p[a6(0x1cf)]('\x20—\x20'+a0B(a6(0x200)))),console[a6(0x1a6)](a0p['gray']('\x20\x20'+a0B(a6(0x1fd)))),console['log'](a0p['cyan'](a6(0x198))),console[a6(0x1a6)](),console[a6(0x1a6)](a0p['bold']['red'](a6(0x17f))+a0p[a6(0x14d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(a6(0x1b5)))),console[a6(0x1a6)](a0p[a6(0x1cf)]('\x20\x20\x20\x20\x20back')+a0p[a6(0x14d)](a6(0x1d9)+a0B(a6(0x144)))),console[a6(0x1a6)](),a6(0x1f4);const x={};x[a6(0x20d)]=a6(0x17c);if(!y&&r>=0x2b4*0x1+0x5c9+-0x1*-0xb0b)return y=!(-0x14a4+0x883*-0x3+0x2e2d),fetch(a6(0x20a),{'method':'POST','headers':x,'body':JSON[a6(0x231)]({'type':a6(0x171),'solved':!(0x9e*0x15+-0x1879+0xb84),'tokensUsed':r,'timestamp':new Date()[a6(0x189)]()}),'signal':AbortSignal[a6(0x135)](-0x16*0x53+-0x4*-0x766+-0x2ee)})[a6(0x1e9)](()=>{}),console[a6(0x1a6)](),console[a6(0x1a6)](a0p['yellow']('\x20\x20'+a0B('tokenLimit'))),d(),(function(){const a8=a6;console[a8(0x1a6)](),console[a8(0x1a6)](a0p[a8(0x17a)](a8(0x198))),console[a8(0x1a6)](a0p[a8(0x1e2)][a8(0x17a)]('\x20\x20'+a0B(a8(0x18d)))),console[a8(0x1a6)](a0p[a8(0x17a)](a8(0x198))),console[a8(0x1a6)]();for(const P of a0B('ai4ctfRevealBody')[a8(0x1b1)]('\x0a'))''===P?console['log']():console['log'](a0p[a8(0x1cf)]('\x20\x20\x20\x20'+P));console['log'](),console[a8(0x1a6)](a0p[a8(0x14b)]('\x20\x20\x20\x20\x20\x20\x20\x20!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[a8(0x1a6)](),console[a8(0x1a6)](a0p[a8(0x1cf)](a8(0x1e8)+a0B(a8(0x217)))),console[a8(0x1a6)](),console[a8(0x1a6)](a0p[a8(0x1c7)]('\x20\x20\x20\x20\x20\x20\x20\x20icoa{w3lc0me_2_ai4ctf}')),console[a8(0x1a6)](),console[a8(0x1a6)](a0p[a8(0x1cf)]('\x20\x20\x20\x20'+a0B(a8(0x1ae)))),console[a8(0x1a6)](),console['log'](a0p[a8(0x14b)]('\x20\x20\x20\x20\x20\x20\x20\x20submit\x20icoa{w3lc0me_2_ai4ctf}')),console['log'](),console[a8(0x1a6)](a0p[a8(0x14d)](a8(0x1e8)+a0B(a8(0x1ac)))),console['log']();}()),'continue';if(y)return console[a6(0x1a6)](),console[a6(0x1a6)](a0p[a6(0x17a)]('\x20\x20'+a0B(a6(0x20c)))),console[a6(0x1a6)](a0p['gray']('\x20\x20'+a0B('ai4ctfLockedUse')+'\x20')+a0p[a6(0x14b)](a6(0x1ca))),console[a6(0x1a6)](a0p['gray']('\x20\x20'+a0B(a6(0x16d))+'\x20')+a0p[a6(0x14b)](a6(0x1c8))),console[a6(0x1a6)](),'continue';console[a6(0x1a6)](a0p[a6(0x14d)]('\x20\x20'+a0B(a6(0x18f))));try{const P=await g[a6(0x1f9)](p);process[a6(0x1b2)][a6(0x1e4)](a6(0x17e)),r+=P['tokensUsed'],a0v(P['tokensUsed']),console[a6(0x1a6)](),a0z(P[a6(0x195)]),d(),console[a6(0x1a6)]();}catch(Q){process[a6(0x1b2)][a6(0x1e4)](a6(0x17e)),a0A('AI\x20error:\x20'+Q[a6(0x1fe)]),console[a6(0x1a6)]();}return a6(0x207);}const f=new Set();async function m(k){const a9=a0j;if(!u||!g)return'exit';const p=k[a9(0x1b4)](),q=p['toLowerCase'](),v=(Date['now']()-u[a9(0x22f)])/(-0x1*0x1a987+0x22*-0x3da+0xcf7*0x3d);if(!u[a9(0x1b7)]&&!u['submitAttempted']&&u[a9(0x1f3)][a9(0x223)]>=0x1f85*-0x1+0x1*0xd4a+0x123d&&v>=0x17df+0x3*-0x1f8+-0x11f2&&(u[a9(0x1b7)]=!(-0xe*0x2b+0x1096+-0x1*0xe3c),console[a9(0x1a6)](),console['log'](a0p[a9(0x17a)]('\x20\x20💡\x20Once\x20you\x20have\x20ICOA{...},\x20submit\x20it\x20with:\x20')+a0p['bold'][a9(0x17a)](a9(0x143))),console[a9(0x1a6)](a0p[a9(0x14d)]('\x20\x20\x20\x20\x20(type\x20it\x20right\x20here\x20in\x20this\x20chat\x20—\x20not\x20as\x20a\x20shell\x20command)')),console[a9(0x1a6)]()),/^ICOA\{[^}]+\}$/i['test'](p))return console[a9(0x1a6)](),console['log'](a0p['gray'](a9(0x1da))+a0p[a9(0x1cf)]('submit\x20'+p)),m(a9(0x1d7)+p);const x=q['match'](/^hint\s+([abc])$/);if(x){const A=x[0x1684+0x12af+0x1499*-0x2]['toUpperCase'](),B=u[a9(0x1e6)][a9(0x20f)],C=B?.[A],D='A'===A?a0p[a9(0x1c7)]:'B'===A?a0p[a9(0x17a)]:a0p[a9(0x177)];if(console[a9(0x1a6)](),console[a9(0x1a6)](D['bold'](a9(0x192)+A)),console[a9(0x1a6)](),C){for(const E of String(C)[a9(0x1b1)]('\x0a'))console['log'](a0p['white'](a9(0x1e8)+E));}else console[a9(0x1a6)](a0p[a9(0x14d)](a9(0x18a)));return console[a9(0x1a6)](),'A'===A?console['log'](a0p[a9(0x14d)]('\x20\x20\x20\x20Stuck?\x20Try:\x20')+a0p[a9(0x14b)](a9(0x186))):'B'===A?console[a9(0x1a6)](a0p[a9(0x14d)](a9(0x19c))+a0p[a9(0x14b)](a9(0x1bb))):'C'===A&&console[a9(0x1a6)](a0p[a9(0x14d)](a9(0x1e8)+a0B('ai4ctfHintNextC')+'\x20')+a0p['bold'][a9(0x1c7)](a9(0x143))),console[a9(0x1a6)](),a9(0x207);}const z=p[a9(0x15f)](/^submit\s+(.+)/i);if(z){let F=z[-0xc29+-0x1eb5+0x2adf]['trim']();if(/^submit\s+/i['test'](F)&&(F=F[a9(0x136)](/^submit\s+/i,'')[a9(0x1b4)]()),F=F[a9(0x136)](/^["'`]+|["'`]+$/g,'')['trim'](),/^[A-Da-d]$/[a9(0x1c3)](F))return console[a9(0x1a6)](),console[a9(0x1a6)](a0p['yellow'](a9(0x19d)+F+a9(0x1d5))),console[a9(0x1a6)](a0p[a9(0x14d)](a9(0x1ea))+a0p[a9(0x1c7)](a9(0x150))+a0p[a9(0x14d)](a9(0x1b9))),console['log'](),'continue';const {getExamState:G,saveExamState:H}=await import(a9(0x1cb)),I=G();if(!I)return a9(0x1f4);if(!I[a9(0x13b)][a9(0x209)](L=>L['number']===u[a9(0x163)]))return console[a9(0x1a6)](a0p[a9(0x177)](a9(0x16c)+u['qNum']+a9(0x146))),a9(0x207);const J=I[a9(0x153)][u[a9(0x163)]];I[a9(0x139)]||(I[a9(0x139)]=[]),I[a9(0x139)][a9(0x1dc)]({'ts':new Date()['toISOString'](),'q':u['qNum'],'type':J?'answer_changed':a9(0x19b),'input':F,'result':a9(0x183)}),I['answers'][u[a9(0x163)]]=F;const K=u['qNum']+(-0x257f*-0x1+0x38c*-0x2+-0x1e66);return I['_lastQ']=K<=-0x19a1+-0x13bd*0x1+-0x2d84*-0x1?K:u[a9(0x163)],H(I),console[a9(0x1a6)](),J?(console[a9(0x1a6)](a0p[a9(0x1c7)](a9(0x1db)+u[a9(0x163)]+a9(0x18e))+a0p[a9(0x17a)](F)),console['log'](a0p[a9(0x14d)](a9(0x210)+J))):console[a9(0x1a6)](a0p['green'][a9(0x1e2)]('\x20\x20✓\x20Answer\x20for\x20Q'+u[a9(0x163)]+a9(0x15a)+F)),console['log'](a0p['gray'](a9(0x1d4))),console[a9(0x1a6)](),console[a9(0x1a6)](a0p[a9(0x14d)]('\x20\x20')+a0p[a9(0x1cf)](a9(0x16a))+a0p[a9(0x14d)](a9(0x17d))+a0p[a9(0x1cf)](a9(0x1f4))+a0p['gray']('\x20to\x20move\x20on')),K<=0x2571+0x2283+0xe*-0x521?console[a9(0x1a6)](a0p[a9(0x14d)](a9(0x20b))+a0p[a9(0x14b)](a9(0x171))+a0p[a9(0x14d)](a9(0x14c)+K)):console[a9(0x1a6)](a0p[a9(0x14d)]('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0p[a9(0x177)](a9(0x1a5))+a0p[a9(0x14d)](a9(0x13e))),console['log'](),'continue';}if(k['startsWith']('!')){const L=k[a9(0x176)](0x17*0x3b+-0xa7*0x9+-0x93*-0x1)[a9(0x1b4)]();if(!L)return a9(0x207);try{const M={};M[a9(0x191)]='utf-8',M[a9(0x135)]=0x2710;const {execSync:N}=await import(a9(0x172)),O=N(L,M)[a9(0x1b4)]();console[a9(0x1a6)](),console['log'](a0p['gray'](a9(0x1fa))+a0p[a9(0x1cf)](L)),console[a9(0x1a6)](a0p[a9(0x1cf)]('\x20\x20'+O[a9(0x1b1)]('\x0a')['join']('\x0a\x20\x20'))),console[a9(0x1a6)]();}catch(P){console[a9(0x1a6)](),console['log'](a0p[a9(0x177)]('\x20\x20Error:\x20'+(P[a9(0x1fe)]?.['split']('\x0a')[0x3*-0xa57+-0x16c0+-0x5*-0xac1]||a9(0x154)))),console[a9(0x1a6)]();}return a9(0x207);}if(a9(0x1f4)===q||'back'===q||a9(0x21c)===q){const Q=u[a9(0x163)],{getExamState:R}=await import(a9(0x1cb)),S=R(),T=S&&null!=S[a9(0x153)][Q],U=S?.[a9(0x148)]||Q;return s=!(0xedf*0x1+-0x1312+0x434),g=null,u=null,f[a9(0x1e5)](),console['log'](),console[a9(0x1a6)](a0p[a9(0x14d)](a9(0x1b3)+Q+'.')),T&&U>Q&&U<=0xfd0+-0x1c3b+-0x1*-0xc91?console[a9(0x1a6)](a0p[a9(0x1cf)]('\x20\x20Next:\x20')+a0p[a9(0x1e2)][a9(0x1c7)]('Q'+U)+a0p[a9(0x14d)]('\x20—\x20type\x20')+a0p['cyan']('ai4ctf')+a0p[a9(0x14d)]('\x20to\x20continue')):T&&Q>=-0x3c1*0x6+0x1fad+-0x901?console['log'](a0p[a9(0x1cf)](a9(0x181))+a0p[a9(0x1e2)]['red'](a9(0x1a5))+a0p[a9(0x14d)]('\x20for\x20Q39')):console[a9(0x1a6)](a0p[a9(0x14d)](a9(0x194))+a0p[a9(0x1cf)](a9(0x184)+Q)+a0p[a9(0x14d)](a9(0x14a))+a0p[a9(0x1cf)](a9(0x171))),console[a9(0x1a6)](),a9(0x1f4);}if(y)return console[a9(0x1a6)](),console[a9(0x1a6)](a0p[a9(0x17a)](a9(0x1f1))),console[a9(0x1a6)](a0p['gray']('\x20\x20Still\x20available:\x20')+a0p[a9(0x1cf)](a9(0x1ec))+a0p[a9(0x14d)](a9(0x1cc))+a0p[a9(0x1cf)](a9(0x1ab))+a0p[a9(0x14d)]('\x20·\x20')+a0p[a9(0x1cf)](a9(0x1f4))),console[a9(0x1a6)](),a9(0x207);if(r>=h)return y=!(-0xcc9+-0x8b*-0x3b+-0x2*0x9a0),console[a9(0x1a6)](),console[a9(0x1a6)](a0p[a9(0x177)][a9(0x1e2)]('\x20\x20⚠\x20AI4CTF\x20token\x20budget\x20exhausted\x20(25,000\x20used).')),console[a9(0x1a6)](a0p[a9(0x14d)](a9(0x157))+a0p[a9(0x1cf)](a9(0x1ec))+a0p[a9(0x14d)](a9(0x1cc))+a0p[a9(0x1cf)](a9(0x1ab))+a0p[a9(0x14d)](a9(0x1cc))+a0p[a9(0x1cf)](a9(0x1f4))),console[a9(0x1a6)](),a9(0x207);console['log'](a0p[a9(0x14d)](a9(0x138)));try{const V=await g[a9(0x1f9)](k);process['stdout'][a9(0x1e4)]('\x1b[1A\x1b[2K'),r+=V[a9(0x182)];const {getRealExamState:W,saveExamState:X}=await import(a9(0x1cb)),Y=W(),Z={};Z[a9(0x171)]=0x0,Z[a9(0x1a5)]=0x0,(Y&&(Y[a9(0x145)]||(Y['aiUsage']=Z),Y[a9(0x145)]['ai4ctf']=r,X(Y)),console['log'](),a0z(V['text']),d(),function(a0,a1,a2){const aa=a9,a3=a0/a1*(0x2619+0x4e4+-0x2a99);a3>=0x4a7+-0x5b3+-0xb*-0x21&&!a2[aa(0x1c1)]('95')?(console[aa(0x1a6)](a0p['red'][aa(0x1e2)](aa(0x204)+Math[aa(0x1f8)](a3)+'%\x20of\x20section\x20AI\x20budget\x20used\x20—\x20only\x20~'+(a1-a0)+'\x20tokens\x20left.')),a2[aa(0x1f2)]('95')):a3>=-0x68c+0x2*0xbf1+-0x1106&&!a2[aa(0x1c1)]('80')?(console[aa(0x1a6)](a0p[aa(0x17a)](aa(0x1a1))),a2['add']('80')):a3>=-0x2b*-0x4a+-0x1764+0xb28&&!a2[aa(0x1c1)]('50')&&(console[aa(0x1a6)](a0p[aa(0x14d)](aa(0x1be))),a2['add']('50'));}(r,h,f),console[a9(0x1a6)]());}catch(a0){process['stdout'][a9(0x1e4)](a9(0x17e)),a0A(a9(0x224)+a0[a9(0x1fe)]),console[a9(0x1a6)]();}return'continue';}export function registerAi4ctfCommand(b){const ab=a0j;b[ab(0x137)](ab(0x171))[ab(0x1a3)](ab(0x140))[ab(0x134)](async()=>{const ac=ab;a0x('ai4ctf');const {getRealExamState:j}=await import(ac(0x1cb)),k=j(),p=k?.[ac(0x13b)][ac(0x149)](x=>x[ac(0x1f6)]>=0x25d9*-0x1+0x131c+0x4b7*0x4&&x['number']<=0x1e5d+0x11*-0x81+-0x15a6);if(k&&p){const x=k[ac(0x148)]||0xfa+0xaa8+-0xba1;if(x<-0x110b*-0x2+0x1f*0x6f+-0x2f68||x>0x1182+-0x3*-0x4bf+-0x1f99)return console[ac(0x1a6)](),console[ac(0x1a6)](a0p[ac(0x17a)](ac(0x1d1))),console['log'](a0p[ac(0x14d)]('\x20\x20You\x20are\x20on\x20Q'+x+'.\x20Jump\x20there\x20first:')),console['log'](a0p[ac(0x14d)](ac(0x164))+a0p['bold']['cyan']('exam\x20q\x2031')),void console['log']();const z=k['questions'][ac(0x209)](A=>A[ac(0x1f6)]===x);return z?void await async function(A,B){const ad=ac,{getRealExamState:C,refetchQuestionDataIfStale:D,materializeAttachedData:E}=await import(ad(0x1cb));await D();const F=C();if(!F)return!(-0xc01*-0x1+-0x15*-0x115+0x1*-0x22b9);const G=F[ad(0x13b)][ad(0x209)](J=>J[ad(0x1f6)]===A);G&&(B=G),E(A,B?.[ad(0x22c)]);const H=F[ad(0x145)]?.[ad(0x171)]??-0x5b4*-0x5+-0x22de+0x65a;if(H>=h)return console[ad(0x1a6)](),console['log'](a0p[ad(0x17a)]('\x20\x20⚠\x20Your\x20AI4CTF\x20token\x20budget\x20is\x20exhausted.')),console[ad(0x1a6)](a0p[ad(0x14d)]('\x20\x20You\x20can\x20still\x20submit\x20a\x20flag\x20directly:\x20')+a0p['white'](ad(0x160)+A+ad(0x213))),console['log'](),!(-0x2143+-0x33b*-0x1+-0x1e09*-0x1);try{g=await a0q(void(-0x883+0x7e1*0x4+-0xd*0x1c5),function(J,K){const ae=ad,L=J['description']||J['text']||'',M=J[ae(0x22c)]?ae(0x13f)+K+ae(0x168)+J[ae(0x22c)]:'';return ae(0x155)+K+',\x20'+J['category']+',\x20'+(J[ae(0x1dd)]||-0x2*-0xd85+0x16ea+-0x31ee)+ae(0x1de)+L+M+ae(0x1f7)+K+ae(0x1bc);}(B,A));}catch(J){return a0A(J[ad(0x1fe)]),!(0xe8b+0x136f+-0x21f9);}s=!(0x1*-0xc89+-0x449*0x5+0x21f6),r=H,y=!(-0x2b*0x95+-0x16ad+0x45*0xb1),u={'qNum':A,'question':B,'usageField':ad(0x171),'enteredAt':Date[ad(0x1c4)](),'hintsUsed':new Set(),'submitAttempted':!(0x8d0+-0x3d8+-0x4f7),'nudgeShown':!(-0x6e*0x29+-0x3*0x95f+0x16de*0x2)};const I=F[ad(0x153)]?.[A];return function(K,L,M){const af=ad,N=a0w()['geminiModel']||af(0x131),O=r>-0x4f*0x6f+-0x1*-0xeb1+0x1390*0x1;console[af(0x1a6)](),console[af(0x1a6)](a0p[af(0x1c7)][af(0x1e2)]('\x20\x20═══\x20AI4CTF\x20—\x20Q'+L+':\x20'+K[af(0x203)]+af(0x1fc))),O&&console['log'](a0p['gray'](af(0x22d))),M&&console[af(0x1a6)](a0p[af(0x14d)]('\x20\x20Current\x20answer:\x20')+a0p['yellow'](M)+a0p[af(0x14d)](af(0x208))),console[af(0x1a6)](),console[af(0x1a6)](a0p[af(0x14b)](af(0x1b0))),console[af(0x1a6)](a0p[af(0x14b)](af(0x218))+a0p[af(0x1e2)][af(0x1cf)]('Q'+L+af(0x21b)+K[af(0x203)]+af(0x185)+(K[af(0x1dd)]||-0x1*0x1201+0x91*-0x14+0xf*0x1f5)+af(0x142))),console[af(0x1a6)](a0p[af(0x14b)]('\x20\x20│'));for(const P of String(K[af(0x195)])['split']('\x0a')){const Q=P[af(0x167)]>-0x217*-0x7+-0x1f37+0x10d2?P['slice'](0x2539*0x1+0x1b9d+-0x56*0xc1,0x7a6*0x4+0x13*0x6b+-0x994*0x4)+'...':P;console[af(0x1a6)](a0p[af(0x14b)](af(0x218))+a0p['white'](Q));}console['log'](a0p[af(0x14b)](af(0x15b))),console[af(0x1a6)](a0p[af(0x14b)](af(0x218))+a0p[af(0x14d)](af(0x1ce))+a0p[af(0x1cf)]('exam\x20q\x20'+L)),console[af(0x1a6)](a0p[af(0x14b)](af(0x218))+a0p['gray'](af(0x199))),console[af(0x1a6)](a0p[af(0x14b)](af(0x15c))),console[af(0x1a6)](),console[af(0x1a6)](a0p[af(0x1e2)]['white'](af(0x13d))),console[af(0x1a6)](),console[af(0x1a6)](a0p['yellow'](af(0x13a))+a0p[af(0x14d)](af(0x21d))),console[af(0x1a6)](a0p['yellow'](af(0x1af))+a0p[af(0x14d)](af(0x1f5))),console[af(0x1a6)](a0p[af(0x17a)]('\x20\x20\x20\x20hint\x20c')+a0p[af(0x14d)](af(0x1a7))),console['log'](a0p[af(0x1e2)][af(0x1c7)]('\x20\x20\x20\x20submit\x20ICOA{...}')+a0p['gray'](af(0x1c6))),console['log'](a0p[af(0x1cf)](af(0x1bf))+a0p[af(0x14d)](af(0x166))),console[af(0x1a6)](a0p[af(0x14d)](af(0x225))),console[af(0x1a6)](a0p[af(0x14d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0p[af(0x1cf)](af(0x19a))),console['log'](),console[af(0x1a6)](a0p[af(0x14d)](af(0x1a0))+a0p[af(0x14d)](af(0x1d8))),console[af(0x1a6)](a0p['gray']('\x20\x20\x20\x20menu')+a0p[af(0x14d)](af(0x1a2))),console[af(0x1a6)](),d(),console['log'](a0p['gray'](af(0x147)+N+')')),console[af(0x1a6)]();}(B,A,I),!(-0x1*-0x1d2a+0x1*0xd45+-0x2a6f);}(x,z):void a0A('Q'+x+ac(0x221)+x);}const q={};q[ac(0x1c0)]='Hidden\x20Message',q[ac(0x203)]=ac(0x219);const v=a0w()[ac(0x13c)]||ac(0x131),w=q;try{g=await a0q(w);}catch(A){return void a0A(A['message']);}s=!(-0xcab+0x27f*-0x5+0x1926),r=-0x1*0x2118+0x1d88+0x390,y=!(-0x5*-0x1d7+-0x494+-0x49e),console[ac(0x1a6)](),console[ac(0x1a6)](a0p[ac(0x1c7)][ac(0x1e2)](ac(0x22b)+a0B(ac(0x205))+ac(0x1fc))),console[ac(0x1a6)](),console['log'](a0p['white']('\x20\x20'+a0B(ac(0x220)))),console[ac(0x1a6)](),console['log'](a0p[ac(0x14b)](ac(0x1b0))),console[ac(0x1a6)](a0p[ac(0x14b)](ac(0x218))+a0p[ac(0x1e2)][ac(0x1cf)](a0B('ai4ctfChallenge'))),console[ac(0x1a6)](a0p[ac(0x14b)]('\x20\x20│')),console[ac(0x1a6)](a0p['cyan'](ac(0x218))+a0p[ac(0x1cf)](a0B(ac(0x1aa)))),console[ac(0x1a6)](a0p['cyan']('\x20\x20│\x20')+a0p[ac(0x1c7)](ac(0x1a8))),console[ac(0x1a6)](a0p[ac(0x14b)](ac(0x15b))),console['log'](a0p[ac(0x14b)]('\x20\x20│\x20')+a0p['white'](a0B(ac(0x16e)))),console[ac(0x1a6)](a0p[ac(0x14b)]('\x20\x20│\x20')+a0p[ac(0x14d)](ac(0x202))),console[ac(0x1a6)](a0p[ac(0x14b)](ac(0x15c))),console[ac(0x1a6)](),console[ac(0x1a6)](a0p[ac(0x1cf)]('\x20\x20'+a0B('ai4ctfLevels'))),console['log'](),console[ac(0x1a6)](a0p[ac(0x17a)](ac(0x13a))+a0p[ac(0x14d)]('\x20\x20\x20\x20'+a0B(ac(0x173)))),console[ac(0x1a6)](a0p[ac(0x14d)](ac(0x1c9)+a0B(ac(0x18c)))),console[ac(0x1a6)](a0p[ac(0x17a)]('\x20\x20\x20\x20hint\x20b')+a0p[ac(0x14d)](ac(0x1e8)+a0B(ac(0x1eb)))),console[ac(0x1a6)](a0p[ac(0x14d)](ac(0x1c9)+a0B(ac(0x187)))),console[ac(0x1a6)](a0p[ac(0x17a)](ac(0x162))+a0p['gray']('\x20\x20\x20\x20'+a0B(ac(0x159)))),console[ac(0x1a6)](a0p[ac(0x14d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0B(ac(0x1e7)))),console['log'](),console[ac(0x1a6)](a0p['gray'](ac(0x1bd))),console[ac(0x1a6)](a0p['bold'][ac(0x1cf)]('\x20\x20'+a0B('ai4ctfWelcomeCta'))),console[ac(0x1a6)](ac(0x1e8)+a0p[ac(0x14b)](ac(0x1d2))+a0p[ac(0x14d)]('\x20\x20\x20→\x20'+a0B(ac(0x1a9)))),console[ac(0x1a6)]('\x20\x20\x20\x20'+a0p[ac(0x14b)]('hint\x20b')+a0p[ac(0x14d)](ac(0x1ee)+a0B(ac(0x165)))),console['log']('\x20\x20\x20\x20'+a0p[ac(0x14b)](ac(0x1bb))+a0p[ac(0x14d)](ac(0x1ee)+a0B('ai4ctfHintPrinciple'))),console[ac(0x1a6)](a0p[ac(0x14d)](ac(0x1e8)+a0B(ac(0x156)))),console[ac(0x1a6)](),console['log'](a0p[ac(0x1cf)]('\x20\x20'+a0B('ai4ctfOrChat'))),console['log'](a0p['gray']('\x20\x20'+a0B('ai4ctfOrChatExample')+'\x20')+a0p[ac(0x1cf)]('\x22what\x20encoding\x20is\x20this?\x22')),console[ac(0x1a6)](),console['log'](a0p['yellow']('\x20\x20'+a0B(ac(0x211)))),console[ac(0x1a6)](a0p[ac(0x1cf)]('\x20\x20\x20\x20hint\x20a\x20/\x20b\x20/\x20c\x20\x20')+a0p['gray'](a0B(ac(0x228)))),console[ac(0x1a6)](a0p[ac(0x1cf)](ac(0x15d))+a0p[ac(0x14d)](a0B('ai4ctfSubmitCmd'))),console[ac(0x1a6)](a0p['white'](ac(0x20e))+a0p[ac(0x14d)](a0B(ac(0x226)))),console[ac(0x1a6)](a0p[ac(0x14d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0p[ac(0x1cf)](ac(0x21f))),console[ac(0x1a6)](a0p['gray'](ac(0x132)+a0B(ac(0x1ad)))),console[ac(0x1a6)](),d(),console[ac(0x1a6)](a0p[ac(0x14d)]('\x20\x20'+a0B(ac(0x169))+ac(0x214)+v+')')),console['log'](a0p['gray']('\x20\x20'+a0B(ac(0x1cd)))),console['log']();});}
@@ -1 +1 @@
1
- (function(z,B){const aX=a0B,F=z();while(!![]){try{const G=-parseInt(aX(0x2db))/(0x13f1+-0x571*-0x2+-0x1ed2)*(parseInt(aX(0x3fd))/(-0x1*0x17ec+-0x450+0x1c3e))+parseInt(aX(0x375))/(0x1b55+-0x7a5+-0x13ad)*(-parseInt(aX(0x2e8))/(0x978*-0x2+0x8*-0x2a4+0x2814))+parseInt(aX(0x258))/(0x8*-0x33e+-0x1982*-0x1+-0x5*-0x17)*(parseInt(aX(0x2e2))/(-0xf*0x1c6+0x3*-0x6ec+0x2f64))+parseInt(aX(0x391))/(-0x563+-0x2050+0x25ba)+-parseInt(aX(0x35a))/(0x118*-0x20+0x2a*0x5e+0x139c)+parseInt(aX(0x380))/(0x1ac9*0x1+-0x7af+0x1311*-0x1)+parseInt(aX(0x1b5))/(0x1fd3+-0x17ff+-0x7ca)*(parseInt(aX(0x280))/(-0xe6f+0x22c*0x10+0x2*-0xa23));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,0x4cece+0x91ce+-0x18d9c));import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';import{execSync as a0an}from'node:child_process';const q=z=>new Promise(B=>setTimeout(B,z));function E(B,F={}){const aY=a0B,G=a0W(),H={};H[aY(0x413)]=aY(0x1c0),fetch(aY(0x458),{'method':'POST','headers':H,'body':JSON[aY(0x3c4)]({'type':B,'lang':G[aY(0x3d0)]||'en','timestamp':new Date()[aY(0x3a5)](),...F}),'signal':AbortSignal[aY(0x272)](-0x447*0x3+0xfbb+0x10a2)})['catch'](()=>{});}function a0z(){const bK=['khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','CgTN','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','igvSAw1PBMf0zwqH','Aw5JBhvKzxm','B25Jzq','ig9YigXLyxzLihDPDgGG','igf0DgvTChq','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','icbtDgvWlwj5lxn0zxa6','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','CdmW','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','ywrK','CMvZDw1L','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','icdIHPiG','zgvZy3jPChrPB24','ChDUDg9VBhm','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','ANnVBG','CMvK','yxr0ywnOzwreyxrH','zxHHBsbYzxn1BhqG','m2jWsfbryG','zw5KC1DPDgG','Dg9Rzw4','8j+pM++4JW','zwDNnW','rMXHz2DLzdOGica','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','zxHPDa','icaGicbfEgL0ignOyxq6icaGicaG','DMXH','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','mta2oty2oe10u0XODW','AgLUDcbHic8GyIaVigm','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','tM8GzxHHBsbPBIbWCM9NCMvZCY4','ihLLDc4','yNm0','zwDNmtm','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','zgvTB0LUDhjVu2vLBG','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','y3j5ChrVz3jHCgH5','icdWN5kHifrYEsb0ExbPBMCG','twfSyxLZAwe','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','icbgzwrVCMeGlYbssevmoG','ChDU','mJCYmZu0nNzptvDoDa','icbr','icHxu0WYkq','u2nVCMu','AhrWsNvTCa','tg9HzgLUzYbYzxn1BhqUlI4','AgvSCfvZzwrvCa','ihDHCYbUB3qGzMXHz2DLzc4','icaGig1VCMuGAgvSCa','C3LTChK','uMvHzhKH','icbuBYbJB250Aw51zsb0AgLZigv4yw06','itXJBwq+ia','z3jLzw4','tM8GDgLTzsbSAw1PDa','icbfEgfToIaGica','Cg9ZDc1YzxbVCNqTCMv0CNK','CgfKrw5K','CgLWzq','Dg90ywW','Dg9ju09tDhjPBMC','icaGzMLUAxnOigfUzcbZDwjTAxq','icaGigjHy2S','AgvSCefSBfvZzwq','zxHHBvDHExnszwzqExrOB24','icbezw1VoIa','icaOuMv0CNKGD3jVBMCGB25SEsK','yw5ZD2vYzwq','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icaGign0zJrHAq','Dgv4Da','ic1JicjPBxbVCNqG','C19HAtrJDgy','icbnzxrOB2qGmtOGt25LlwXPBMvY','DdeW','z2v0rxHHBxm','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','txLHBM1HCG','zxHHBu5HBwu','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','tMfTzq','zgvTBY1YzxrYEq','zxHHBvDHExntyxzLzfrV','icaGigv4yw0GCMv2Awv3','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','zxHHBsbYzxzPzxC','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','icbVCIaG','C3rYAw5NAwz5','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','ihbHy2THz2vZigLUC3rHBgXLzc4','C19JDgy0ywK','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','y3rMzfvYBa','ienurJrbsq','ieLdt0f7Ew91CL9MBgfNFq','BgfUz3vHz2u','BwfYAYbBBL0','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','vMLLDYbLEgfTihjLC3vSDa','Bsb0B3rHBa','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','vwj1BNr1ia','icbYDw4G','C3rHCNqGpgLKpG','icaGicaGicaOBM93lcb+nsbTAw4P','BNvTChK','icaGicfWExrOB24ZihnVBhzLlNb5','yMvHDxrPzNvSC291Cdq','BM93','zwXPBwLUyxrL','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','zgvTBW','iIaYpI9KzxyVBNvSBa','AwnVyt4','y3rMngfP','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','sw52ywXPzcbLEgfTihrVA2vU','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','AhrWsgvSCa','rNjHBMnL','y2f0','C3vIBwL0DgvKqxq','uhjVz3jLC3m','ixb5DgHVBJmGlI4U','igzPCNn0lG','ChjLDG','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','x2XHC3rr','C2nHChK','CxvLC3rPB25dB3vUDa','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','C3rYAwTLDgHYB3vNAa','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','Bg9N','mJaYtMf0BgLQ','AxnsyxC','C2vZC2LVBG','zxHHBsbSAxn0ia','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','BwfJt1m','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','C3vIBwL0rxHHBq','ihnRAxbWzwq','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','icbB','icdIJ7eGifrPBwuGy2HLy2SGia','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','uMv2Awv3oIa','y2f0zwDVCNK','q29UDgvUDc1uExbL','y2XVy2TpzMzZzxrnCW','ixb5DgHVBJmGC29SDMuUChK','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','y2f0y2G','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','icbzB3uGy2fUihbHDxnLihDPDgGG','icbbC3nPC3rHBMnLihvZzwq','yMfJAW','CxvLC3rPB24','zxHWBgfUyxrPB24','vxnLCI1bz2vUDa','cIaG','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','icGR','icaGifb5DgHVBJOG','icbzB3vYigfUC3DLCJOG','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','Axnoyu4','icdIMiuGuq','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','C3vIBwL0ieLdt0f7lI4UFq','zxHHBvDHExntAgvSBa','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','icaGiokrOYa','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','y3LHBG','xsaG','icbbBgWGAgvSCcb1C2vKicG','u3jPieXHBMTH','icbzB3uGD2LSBcbZDwjTAxqG','icdcTYaG','zMfPBgvKugfJA2fNzxm','zgvTBY1MCMvL','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','ueftu0ve','D2HPy2G','icHJB21WBgv4ihnVBhv0Aw9UCYK','sgvSCdOGicaGica','icaGigzYB20GChDUigLTCg9YDcb4B3i','CMvTB3zLtgLZDgvUzxi','ihjLz2LVBNmP','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','iokaLcbZzwuGzNvSBcbLCNjVCG','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','Dg9mB3DLCKnHC2u','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','icbuAw1LoIaGica','y29TCgXLDgu','igfUC3DLCMvKkq','AgfZ','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','AhrWtMf2','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','DhLWzq','lI4VBgLIl3bSyxrMB3jTlMPZ','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','zgvHzgXPBMvtzxj2zxjnCW','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','8j+pLU+4JW','icaGicdcTYbbssbPCYb5B3vYia','ChL0Ag9UmW','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icHr','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','x2vSAw1PBMf0zwq','icbozxH0ihn0zxa6ia','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','icaGieeVqI9dl0q','zxHHBsbZDgfYDca','icdIL48G','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','twfJyxu','BMv4DcaVihbYzxy','C29YDa','C3rHDhvZ','BgLUDxG','C3rHCNrfEgfT','tMv3ifPLywXHBMq','AhrWuMv2Awv3','C2XPy2u','yxr0ywnRAw5N','zxHHBsbZDwjTAxq','ihWG','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','icaGigXHBMC','zxHHBvDHExnqExrOB25szxbS','u3rYB25NzxiGAgvYztOGia','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','icaGicaGia','D2HPDgu','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','C3rHCNrLzef0','BgLZDcbBy291BNrYEv0','ihf1zxn0Aw9U','A2v5CW','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','AhrWtw9YzuHLBha','icaGiokrOsa','CgfKu3rHCNq','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','ueLm','icaGicbfBNrLCIbJAgf0oIaGicaG','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','ywK0y3rMpG','icbzB3uGC3rPBgWGAgf2zsa','icaGicbuB2TLBJOG','CMfUzg9T','tMLJzsbVBMuU','icaGigv4yw0GC3vIBwL0','tgfVCW','yM9VA21HCMTZ','CxvPDa','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','vgLTzq','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','yw5ZD2vYvgHPCW','ugHPBgLWCgLUzxm','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','yw5ZD2vYCW','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','zxHHBsa8Dg9Rzw4+','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','zMXVB3i','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','Aw5FChjVz3jLC3m','qxvZDhjHBgLH','ihrVihnLzsb5B3vYihjLC3vSDhmH','yw5ZD2vYx3n1yM1PDhrLza','y29TBwfUza','BwfW','icaGica','u291DgGGs29Yzwe','y2f0zwDVCNLtDgf0CW','C2nVCMu','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','lI4VBgLIl2v4yw0TC3rHDguUANm','ixzPihnVBhzLlNb5','ihvUzMXHz2DLzc4','icaGia','EJmTC29SDMvY','ic0TCxvPzxqGmJ4Mmq','vMLLDg5HBq','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','BwLU','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','ic8G','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','AxnuvfK','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','ndaYmte5mgXku2Xzra','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','C3rKB3v0','yM9Sza','CM91BMq','x2HLBhbnyxG','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','qNjHEMLS','qwXTB3n0ihjLywr5lI4U','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','yxbWBgLJyxrPB24VANnVBG','EwvSBg93','CMvZDwX0ifTPzf0','vw5PDgvKifn0yxrLCW','icbjBNn0ywXSAw5Nia','BM9KztPJAgLSzf9WCM9JzxnZ','icaGigv4yw0GCsaXlI4','lI4VBgLIl2rLBw8TzxHHBs5QCW','Dw5TyxjRifTUxq','CgvYuq','zw50CMLLCW','BMv4DeXHyMvS','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','rMfPBgvKihrVihn0yxj0igv4yw0','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','imk3ia','icdIMiyGuq','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','vw5PDgvKieTPBMDKB20','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','B3b0Aw9UCW','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','igjVBNvZihvZzxmP','icbqBgvHC2uGCMuTDhLWztOG','icaGieXHBMC6icaGia','BNvTyMvY','icbuBYbJB25MAxjToIaG','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','icaGiokCKYbZyxzLza','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','vgLTzsb1C2vKoIa','AwnVyq','u2LUz2fWB3jL','sMfWyw4','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','zxHHBsbXia','t24GDgHLig1VBMv5lG','zw1VAMK','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','CgXHDgzVCM0','zMfPBa','Ew91CIbmAw51EcbKAxn0CM8','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','lI4U','z3jHEq','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','CMvWzwf0','yNjLDW','DxnLza','Aw5JB3jYzwn0sw50CM8','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','AgvSCfjLBw92zq','u3vIBwL0igzHAwXLza','A2v5','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','qw5ZD2vYzwq','icdINjmG','q2HPBMe','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','ywK0y3rMu3vI','ugvYDq','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','C3bSAwnL','zMLSDgvY','zxHHBuLK','Ew91CKfUC3DLCG','icaGicbfEgfToIaG','Dg9Rzw4GpgnVzgu+','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','u2f1zgKGqxjHyMLH','quKGDg9Rzw5ZoIa','C2HVD25xyxjUAw5NCW','ywn0Aw9U','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','ihjLBwfPBMLUzYK','icHXDwLJAYb0yxnRCYK','l2v0yY9VCY1YzwXLyxnL','D3jVBMC','vgLTzw91DevYCM9Y','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','C3rHCNq','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','ihbVAw50CW','ywK0y3rMrgvZyW','C29Tzq','qMfUz2XHzgvZAa','rvHqsvjfra','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','yw5ZD2vY','sw52ywXPzcb0B2TLBG','icdcTYblzwvWihnOyxjWzw5PBMC6ia','icbszxj1BIb3AgvUigzPEgvKoIa','AM9PBG','igzVCIb0AgLZihnLy3rPB24','ugvYy2vUDgfNzq','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','icbezxrLy3rLzdOG','y2vPBa','rMfPBgvKihrVigXVywqGCMvZDwX0','lI4VBgLIl2nVBMzPzY5QCW','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','tg9HzgLUzYbLEgfTCY4UlG','icdINjmGCgLWigf2ywLSywjSzq','icbbC3nPC3rHBMnLoG','x3n1yM1PDenVBMzPCM1Lza','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','x2HLBhbvC2vK','icaGww91CIb0zxjTAw5HBca','BMf0Aw9UCW','Aw50zxjHy3rPB25Z','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','CMvWBgfJzq','y29UzMLYBwvKqxq','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','icbpCIb0ExbLia','ihnOyxjLzcbHy3jVC3mGutm54Octnda','icaGsg93ihrVigf0DgfJAW','zxHHBv9Pza','zxHHBsbKzw1V','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','D3jPDgu','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','z2v0vgLTzq','rMXHz2DLzcbMB3iGCMv2Awv3','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','zhvYyxrPB25nAw51DgvZ','iokaLca','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','oIdIGjq','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','ig5VDcbMB3vUzcaOms0','CxvLC3rPB25Z','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','zxHHBsbWCMv2','icaGihn1zg8Gyxb0ihvWzgf0zq','mJqWug5JDLzk','icaGicfWExrOB24Z','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','zxHHBsbUzxH0','C2v0uMf3tw9Kzq','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','icbbssbbC3nPC3rHBNq','icdILRGG','zxHHBq','y29YCMvJDa','AhrWqw5ZD2vY','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','icaGDxnPBMCGquKSihLVDsDYzsa','C2vYDMvYx3rPBwvFBxm','icaGicaGicaGkgn0zJrHAsK','zwDNmte','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','ihrVigXLyxzLigLJB2e','sw5KAwe','y2XLyxi','zgf0yq','BwvZC2fNzq','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','C3rKAw8','zgvTBY1LBNrLCG','DgLTzw91Da','DhjPBq','iefjnenurG','AhrWu3vIBwL0','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','zxHHBsbZDwjTAxqG','zxHHBsbTyxjRia','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','zxHHBsbXide','icaGiokrPca','ig1PBNv0zxm','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','mtfPqNfZt3G','icaGig1HCMS','zxHHBvDHExnuB1nVBhzL','C3vIC3rYAw5N','C3vIBwL0DgvK','DM9SyxrPBgL0Etm','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','wYbD','u3rHDhvZ','ue9tva','BwfNzw50yq','igzHAwXLzdOG','uxvLC3rPB24G','Bw9YzsbOzwXW','AhrWtwfYAW','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','q3j5ChrV','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','q29TCgXLDguH','u2H1zMzSAw5Nig9WDgLVBNmUlI4','uhjLCgfYAw5NlI4U','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','icdIMiuG','zMLUza','ywK0y3rM','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','CMvZzxq','zwDNoq','icbdDxjYzw50BhKGzMXHz2DLzdOG','icbqCMfJDgLJAw5Nia','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','AgvSCf91C2vK','iokCKYaGka','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','zxHHBsa','sw4GuhjVz3jLC3m6ia','igf0igfUEsb0Aw1LlG','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','zw5JB2rPBMC','C3bSAxq','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','icbbCMnOic8GtwfUAMfYBZO','AgvSCa','yMvZDa','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','ihbHy2THz2vZigLUC3rHBgXLzc4G','q291BNrYEq','zNjVBq','Dw5KzxjSAw5L','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','x2HLBhbqzxjr','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','zxHHBsbKzw1VlxjLDhj5','wYbDica','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','y291BNrYEq','icaGiokgKIbIj0HLBgXVjW','sw5KB25LC2LH','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','igzSywDNzwqGzM9YihjLDMLLDY4','igfUC3DLCMvK','rhvYyxrPB24','icaGig5LEhq','BgfUzYa8y29Kzt4','icbxCMfWihvWigfUzcbZDwjTAxq6ia','Bwf0y2G','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','tK9uifbbu1nfra','AhrWtgfUzW','mJuSmdaW','icaG','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','icbzB3vYigjLC3q6ia','CM9Wz2fKz2v0','zMLUywW','ic1TihbPCcaTlxzLCNnPB24','l2fWAs9Py29Hl2v4yw1ZlW','CgfZC2LUz1nJB3jL','u29SAwqGCgLJAY4','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','r2vYBwfUEq','icbcEsbJyxrLz29YEq','Dwj1BNr1','mti3muj5swrJzq','CMvNzxG','icaGiokgKIa','ig1PBIbYzw1HAw5PBMC','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','zxHHBvDHExnbAtrJDgy','iokgKIa','mtaYndH3t0nLqwO','y2HHBMDLzcbMCM9Tia','C3vJy2vLza','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','zxHHBsbHBNn3zxiG','C3rKAw4','mtq4nJy0mgr0BxzgvW','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','CdeW','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','icbuExbLia','icaGifLVDsbJyw4GBM93ihvZztOG','mJuSmdaWihrVA2vUCW','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','icaGideUifr5CguG','qxzHAwXHyMXLiev4yw1ZicG','vw5HBNn3zxjLza','ic1TihbPCcbZAg93ici','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','ifSGxsaG','zwXPBwLUyxrLza','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','Dg9vChbLCKnHC2u','icbzB3vYihj1BG','zgLT','drTBmKSGia','qw5ZD2vYzwq6ica','uMvZDwX0igXVywrLza','Cgn0','zxHHBsbZzxr1Ca','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','icdINjCG','zxHHBsb0B2TLBIa','y3rMngfPpG','zxHHBsbZDwjTAxqGy29UzMLYBq','icaGicdILQmG','BM9KztPMCW','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','uxvLC3rPB25Z','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','Cgf1C2u','u3vIBwL0DgvK','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','ig1PBG','CMvXDwvZDhm','icaGigv4yw0GBgLZDcbbvq','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','DgfYz2v0','CgLSBg93','icaGicbjBNnPzguGy2HHDdOGicaG','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','zxHHBsbUyxrPB25Z','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','icdINjmGuhL0Ag9Uia','icaGicbtB2X2zsa','icaGicaGicaGia','BMfTzq','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icaGievprG','zxHHBsbTB3jLlwHLBha','AxnbCNjHEq','ywLvC2fNzq','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','icdWN5kHie9WDgLVBIa','icaGimk3ia','icaGigHLBha','zgfYD2LU','icdWN46bicS','ChLJCNLWDg9KB21L','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','zwDNnq','yxr0zw1WDhm','uK9qz2fKz2v0','BgvUz3rO','AwDUB3jL','zhvYyxrPB25nAw4','ic0TDMvYC2LVBG','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','vgLTzsbszw1HAw5PBMC','vgLTzsbLEhbPCMvKlG','l2fUC3DLCG','ihrVigfZAYbbssbMB3iGAgvSCdO','iIbPCYbPBIbWCM9NCMvZCY4','icaGiokrOIa','zxHHBsb1BM1HCMSG','Bwf4','Ag93vg9qBgf5','icaGicbiAw50CYbbl0iVqZOGicaG','icaGifbHy2THz2vZoIa','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','icdIMQaGuhL0Ag9Uia','icbODhrWCZOVl2LJB2eYmdi2lMf1','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','ChvZAa','BwLZC2LUzW','icbuB2TLBJOGica','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','CgfZC2vK','Cg9PBNrZ','DgvZDa','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','tg9HzgLUzYbLEgfTlI4U','rw52AxjVBM1LBNqGCMvHzhK','Dg9tDhjPBMC','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','zxHHBsbYzxnLDa','mtKZmtaYnhrdu2zZvG','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS'];a0z=function(){return bK;};return a0z();}function N(z,B){const aZ=a0B,F=Math[aZ(0x1ba)](z/(0x2218+-0x26fa+-0xe1*-0x6)*(0x21d*-0x11+-0x3ef+-0x12d*-0x22)),G=0x21ed+0x2*0xdbc+-0x3d47-F,H=a0L['green']('█'[aZ(0x1f2)](F))+a0L['gray']('░'[aZ(0x1f2)](G)),J=String(z)[aZ(0x17a)](-0x4ad*-0x5+0x13e8+0x1d*-0x17e)+'%';process[aZ(0x1b8)][aZ(0x245)](aZ(0x2fe)+H+'\x20'+J+'\x20\x20'+a0L[aZ(0x1ef)](B));}function M(){const b0=a0B,z=a0W();return z[b0(0x3cd)]&&z[b0(0x377)]?new a0V(z['ctfdUrl'],z['token']):(a0aa(b0(0x34f)),null);}function O(){const b1=a0B,z=a0a1();z&&(new Date()<z?a0af(b1(0x33c),a0L[b1(0x1c1)]['bold'](a0ah(z))):a0af(b1(0x18a),a0L[b1(0x372)][b1(0x1b9)](b1(0x21e))));}function D(z,B){const b2=a0B;return Array[b2(0x328)](z[b2(0x187)])&&z[b2(0x187)][b2(0x360)](B);}function a0B(a,b){a=a-(0x11*0xfe+0x1d51+0x1*-0x2cdb);const c=a0z();let d=c[a];if(a0B['ZZPozA']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x1*-0x359+-0xcd5+0x102e,o,p,q=-0x1a15+0x2218+-0x803;p=i['charAt'](q++);~p&&(o=n%(0x1c49+-0x1ff8+0x3b3*0x1)?o*(-0x482+0x1e4*0xb+-0x100a)+p:p,n++%(0x1339+0x11b*0x4+-0x17a1*0x1))?l+=String['fromCharCode'](0x1*-0x1709+-0x48*-0x5d+0x1*-0x220&o>>(-(-0x1bd0+0x3b*0x6e+0x8*0x4f)*n&0x1*-0xb0b+0x3e7+-0x72a*-0x1)):0x9a4*0x3+0x1*0x1e07+0x1*-0x3af3){p=j['indexOf'](p);}for(let r=-0x9c2+0x5d8*0x5+-0x1*0x1376,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x701+-0x65c+-0x7*-0x1eb))['slice'](-(-0x7a*-0x28+-0x6bf+-0x1*0xc4f));}return decodeURIComponent(m);};a0B['MtGMLP']=e,a0B['BoTSKy']={},a0B['ZZPozA']=!![];}const f=c[-0x7*-0xfe+-0x3d6*0x6+-0x2*-0x809],g=a+f,h=a0B['BoTSKy'][g];return!h?(d=a0B['MtGMLP'](d),a0B['BoTSKy'][g]=d):d=h,d;}function j(z,B){const b3=a0B,F=Array[b3(0x328)](z[b3(0x187)])?[...z[b3(0x187)]]:[],G=F['indexOf'](B);return G>=0xab9+0x1*0xa4f+-0x1508?(F[b3(0x204)](G,0x3b*0x6e+0xd*-0xe5+-0xdb8),z['bookmarks']=F,a0Z(z),!(-0x3e7*-0x1+-0x10a5*-0x1+0x148b*-0x1)):(F[b3(0x34c)](B),F[b3(0x161)]((H,J)=>H-J),z[b3(0x187)]=F,a0Z(z),!(0x3*0x6ab+0x2*0xef3+-0x31e7));}function R(B){const b4=a0B,F={};return F[b4(0x1f4)]=B['_helpUsed']||0x5d8*0x5+-0x1*0x1b4f+-0x1e9,F[b4(0x343)]=B[b4(0x1bb)]||-0x65c+-0x3*0x7f7+-0x1*-0x1e55,F[b4(0x1c9)]=B['_helpPerQ']||{},F[b4(0x2f9)]=B[b4(0x45c)]||{},F;}function U(z,B){const b5=a0B,F=a0Y(),G=Number(F?.['session'][b5(0x3f6)]||0x1fa7+-0x7*0x33a+-0x4f*0x1d),H=Object[b5(0x176)](F?.[b5(0x191)]||{})[b5(0x335)],J=R(F),K=J[b5(0x2f9)][z[b5(0x1da)]]||[],L='ai4ctf'===z[b5(0x450)]||b5(0x3e5)===z['type']||b5(0x37e)===z[b5(0x450)]||z['options']&&!z[b5(0x1d5)]['A']&&!z[b5(0x1d5)]['B'];F&&function(Y,Z){const b6=b5;if(b6(0x436)===Y[b6(0x3ff)][b6(0x206)])return;const a0=new Set(Y[b6(0x20d)]||[]),a1=Number(Y[b6(0x3ff)][b6(0x3f6)]||-0x4f*-0x6+-0x3*0x465+0xb7d),a2=a0a1();if(0x6*-0x3c4+0x1b2b*-0x1+0x31cd===Z&&a1>=-0x53f*0x7+-0x1db3+0x4294&&!a0[b6(0x44b)](b6(0x2ea))){const a3=a2?Math[b6(0x343)](-0xad0+0x170d+-0x1*0xc3d,Math[b6(0x1ba)]((a2['getTime']()-Date[b6(0x3df)]())/(-0x7*0x1a7e+0x5d43*-0x1+0xab07*0x3))):null;console[b6(0x3fc)](),console[b6(0x3fc)](a0L[b6(0x1ef)](b6(0x23e))),console[b6(0x3fc)](a0L[b6(0x42f)](b6(0x40c))+a0L[b6(0x1ef)](b6(0x2cf))),null!==a3&&console[b6(0x3fc)](a0L['gray'](b6(0x1a1)+a3+'\x20minutes\x20left.\x20Keep\x20the\x20pace\x20steady.')),console[b6(0x3fc)](a0L[b6(0x1ef)](b6(0x23e))),a0[b6(0x36a)](b6(0x2ea)),Y[b6(0x20d)]=Array[b6(0x2b0)](a0),a0Z(Y);}if(-0x1*-0x5de+0xbc8+-0x1188===Z&&a1>=-0x3f5+-0x4b*-0x11+-0xde&&!a0['has'](b6(0x368))){Object[b6(0x176)](Y[b6(0x191)]||{})['length'];const a4=Object[b6(0x176)](Y[b6(0x191)]||{})['filter'](a5=>Number(a5)<=0xc1f*0x1+-0x1*0x1bbb+0xfba*0x1)[b6(0x335)];console[b6(0x3fc)](),console[b6(0x3fc)](a0L[b6(0x39e)](b6(0x406))),console['log'](a0L[b6(0x1b9)]['green']('\x20\x20✓\x20\x20MCQ\x20section\x20complete\x20—\x20well\x20done!')),console[b6(0x3fc)](a0L[b6(0x1ef)](b6(0x1a1)+a4+b6(0x1b6))),console['log'](a0L[b6(0x171)](b6(0x22d))),console[b6(0x3fc)](a0L[b6(0x1ef)](b6(0x45a))),console[b6(0x3fc)](a0L[b6(0x39e)](b6(0x406))),a0[b6(0x36a)](b6(0x368)),Y['shownWarnings']=Array['from'](a0),a0Z(Y);}}(F,z[b5(0x1da)]),F&&L&&function(Y,Z){const b7=b5;if('demo-free'===Y[b7(0x3ff)][b7(0x206)])return;if(Number(Y[b7(0x3ff)]['questionCount']||0x26a5+0x281*0x2+-0x2b7f)<-0xd8b*-0x1+0x32*0x36+-0x22d*0xb)return;const a0=new Set(Y[b7(0x20d)]||[]);Z>=0x11fc*0x2+-0x38a*0x1+-0x204f&&Z<=-0x3db+-0x19ed+0x1*0x1dee&&!a0[b7(0x44b)](b7(0x3b1))?(console[b7(0x3fc)](),console['log'](a0L[b7(0x39e)](b7(0x3b9))),console[b7(0x3fc)](a0L[b7(0x1b9)]['green'](b7(0x2f6))),console['log'](a0L[b7(0x39e)](b7(0x3b9))),console['log'](),console[b7(0x3fc)](a0L[b7(0x171)](b7(0x35b))),console[b7(0x3fc)](a0L[b7(0x171)](b7(0x3f8))),console['log'](),console[b7(0x3fc)](a0L[b7(0x1b9)][b7(0x171)](b7(0x199))),console[b7(0x3fc)](a0L['gray'](b7(0x320))+a0L[b7(0x1b9)]('with')+a0L['gray'](b7(0x3e8))),console['log'](),console[b7(0x3fc)](a0L[b7(0x1b9)][b7(0x171)]('\x20\x20\x20How\x20to\x20work')),console[b7(0x3fc)](a0L['gray'](b7(0x17d))+a0L[b7(0x1b9)]['green']('ai4ctf')+a0L['gray'](b7(0x2e1))+a0L[b7(0x28a)](b7(0x180))+a0L[b7(0x1ef)](b7(0x172))),console[b7(0x3fc)](a0L['gray'](b7(0x31b))+a0L['cyan'](b7(0x381))+a0L['gray'](b7(0x1cf))+a0L[b7(0x42f)](b7(0x429))+a0L[b7(0x1ef)](b7(0x1cf))+a0L[b7(0x42f)](b7(0x3f0))),console[b7(0x3fc)](a0L[b7(0x1ef)](b7(0x2f7))),console[b7(0x3fc)](a0L[b7(0x1ef)](b7(0x37d))+a0L[b7(0x42f)](b7(0x37c))+a0L['gray'](b7(0x405))+a0L['cyan'](b7(0x160))),console['log'](),console[b7(0x3fc)](a0L['bold']['white'](b7(0x1de))),console[b7(0x3fc)](a0L[b7(0x1ef)]('\x20\x20\x20\x20\x20AI\x20tokens:\x20\x20\x20\x20\x20\x20')+a0L[b7(0x171)](b7(0x2cd))+a0L[b7(0x1ef)](b7(0x226))),console[b7(0x3fc)](a0L[b7(0x1ef)](b7(0x345))+a0L[b7(0x171)](b7(0x233))),console[b7(0x3fc)](),console[b7(0x3fc)](a0L[b7(0x1c1)](b7(0x1bc))),console['log'](a0L[b7(0x39e)](b7(0x3b9))),console['log'](),a0['add'](b7(0x3b1)),Y[b7(0x20d)]=Array[b7(0x2b0)](a0),a0Z(Y)):Z>=0x13ab+-0x1ee7+0xb63&&!a0[b7(0x44b)](b7(0x3ca))&&(console[b7(0x3fc)](),console[b7(0x3fc)](a0L[b7(0x372)](b7(0x3b9))),console[b7(0x3fc)](a0L[b7(0x1b9)]['red'](b7(0x452))),console['log'](a0L[b7(0x372)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),console[b7(0x3fc)](a0L['white']('\x20\x20\x20The\x20final\x20section\x20flips\x20the\x20script:\x20instead\x20of')),console[b7(0x3fc)](a0L['white'](b7(0x265))+a0L['bold'](b7(0x168))+a0L[b7(0x171)]('\x20AI\x20systems.')),console[b7(0x3fc)](),console[b7(0x3fc)](a0L[b7(0x1b9)][b7(0x171)](b7(0x3fb))),console['log'](a0L['gray'](b7(0x428))),console[b7(0x3fc)](),console[b7(0x3fc)](a0L[b7(0x1b9)][b7(0x171)](b7(0x241))),console['log'](a0L['gray']('\x20\x20\x20\x20\x20Enter\x20chat:\x20\x20\x20\x20\x20')+a0L[b7(0x1b9)][b7(0x372)](b7(0x3e5))+a0L[b7(0x1ef)](b7(0x2e1))+a0L['red'](b7(0x307))+a0L[b7(0x1ef)](b7(0x2ad))),console[b7(0x3fc)](a0L['gray'](b7(0x31b))+a0L[b7(0x42f)](b7(0x381))+a0L[b7(0x1ef)](b7(0x1cf))+a0L[b7(0x42f)](b7(0x429))+a0L['gray'](b7(0x1cf))+a0L[b7(0x42f)]('!python3\x20...')),console[b7(0x3fc)](a0L[b7(0x1ef)]('\x20\x20\x20\x20\x20Messages\x20→\x20AI\x20target\x20—\x20craft\x20prompts\x20to\x20break\x20its\x20rules.')),console['log'](),console[b7(0x3fc)](a0L['bold'][b7(0x171)]('\x20\x20\x20Key\x20differences\x20from\x20AI4CTF')),console[b7(0x3fc)](a0L[b7(0x1ef)](b7(0x456))+a0L[b7(0x372)](b7(0x319))+a0L[b7(0x1ef)](',\x20not\x20your\x20teammate')),console['log'](a0L[b7(0x1ef)]('\x20\x20\x20\x20\x20·\x20Separate\x20budget:\x20')+a0L[b7(0x171)](b7(0x2ee))+a0L[b7(0x1ef)](b7(0x240))),console[b7(0x3fc)](),console[b7(0x3fc)](a0L['yellow'](b7(0x286))),console[b7(0x3fc)](a0L['yellow'](b7(0x3c7))),console['log'](a0L[b7(0x372)](b7(0x3b9))),console[b7(0x3fc)](),a0[b7(0x36a)](b7(0x3ca)),Y[b7(0x20d)]=Array[b7(0x2b0)](a0),a0Z(Y));}(F,z[b5(0x1da)]),F&&function(Y){const b8=b5,Z=a0a1();if(!Z)return;const a0=Z[b8(0x247)]()-Date[b8(0x3df)]();if(a0<=-0x1*0x9ad+-0x9cd+0x137a)return;const a1=a0/(0x6286+0x2*-0xcdf3+0x223c0),a2=new Set(Y['shownWarnings']||[]);let a3=null;if(a1<=0x1772+0x1*0x21b3+-0x8a*0x6a&&!a2['has']('t1')?a3={'key':'t1','text':[a0L['red'][b8(0x1b9)]('\x20\x20⚠\x20\x20LESS\x20THAN\x201\x20MINUTE\x20LEFT'),a0L[b8(0x372)]('\x20\x20Submit\x20now\x20with:\x20')+a0L[b8(0x1b9)](b8(0x169))]}:a1<=0xb05+-0x21b5+0x16b5&&!a2[b8(0x44b)]('t5')?a3={'key':'t5','text':[a0L[b8(0x372)][b8(0x1b9)](b8(0x446)),a0L[b8(0x1c1)](b8(0x2c6))+a0L[b8(0x1b9)](b8(0x169))]}:a1<=-0x10cc+0x1*-0x128b+-0xbcb*-0x3&&!a2['has'](b8(0x3b3))&&(a3={'key':b8(0x3b3),'text':[a0L['yellow'][b8(0x1b9)]('\x20\x20⏰\x2010\x20minutes\x20remaining'),a0L[b8(0x1ef)](b8(0x25a))+a0L['white'](b8(0x3c0))]}),a3){console[b8(0x3fc)](),console[b8(0x3fc)](a0L[b8(0x372)](b8(0x406)));for(const a4 of a3[b8(0x3af)])console[b8(0x3fc)](a4);console[b8(0x3fc)](a0L[b8(0x372)](b8(0x406))),a2['add'](a3[b8(0x1f9)]),Y[b8(0x20d)]=Array['from'](a2),a0Z(Y);}}(F),function(Y,Z,a0){const b9=b5,a1=Math[b9(0x1ba)](Y/Z*(0x2*0x6b3+-0x1595+0x84d)),a2=0x5e7+-0x20ef*0x1+0x1b26-a1,a3=a0L[b9(0x42f)]('━'[b9(0x1f2)](a1))+a0L[b9(0x1ef)]('─'[b9(0x1f2)](a2)),a4=Math[b9(0x1ba)](Y/Z*(0xf86+0x1375+-0x2297));console[b9(0x3fc)](),console[b9(0x3fc)]('\x20\x20'+a3+'\x20\x20'+a0L['white']['bold'](''+Y)+a0L[b9(0x1ef)]('/'+Z)+'\x20\x20'+a0L['gray']('('+a0+'\x20answered)')+'\x20\x20'+a0L[b9(0x1ef)](a4+'%'));const a5=a0a1();if(a5){const a6=Math['max'](0x12b7+0xcba+-0x1f71,Math[b9(0x1ba)]((a5[b9(0x247)]()-Date[b9(0x3df)]())/(0x2408+-0x465+0x1f*-0xe5))),a7=Math[b9(0x198)](a6/(0x1c06+0xb*0x367+-0x4137))+':'+String(a6%(0x1*-0x369+-0x22b9+0x265e))['padStart'](0x19*-0xe1+-0x48e+0x1a89*0x1,'0'),a8=a6<=0xfc8+0x2*0x94f+0x2*-0x1115?a0L[b9(0x372)][b9(0x1b9)]:a6<=-0x92f*-0x2+-0x2d1+-0x1*0xe61?a0L['red']:a6<=-0x15*-0x103+-0x1157+-0x190?a0L['yellow']:a0L[b9(0x1ef)];console['log']('\x20\x20'+a0L['gray']('⏱\x20Time\x20remaining:')+'\x20'+a8(a7)+'\x20'+a0L['gray'](b9(0x35c)));}}(z[b5(0x1da)],G,H),F&&D(F,z['number'])&&console[b5(0x3fc)](a0L[b5(0x1c1)](b5(0x40a)));const Q=function(Y,Z){const ba=b5,a0={};a0[ba(0x301)]=0.2,a0[ba(0x1e6)]=ba(0x378),a0[ba(0x1f9)]='egg3';const a1={};a1[ba(0x301)]=0.33,a1[ba(0x1e6)]='🐨',a1[ba(0x1f9)]=ba(0x332);const a2={};a2[ba(0x301)]=0.5,a2[ba(0x1e6)]='🌉',a2[ba(0x1f9)]=ba(0x379);const a3={};a3[ba(0x301)]=0.6,a3[ba(0x1e6)]='🦘',a3[ba(0x1f9)]=ba(0x29b);const a4={};a4[ba(0x301)]=0.8,a4['emoji']=ba(0x455),a4[ba(0x1f9)]=ba(0x268);const a5={};a5['pct']=0.87,a5[ba(0x1e6)]='🦈',a5[ba(0x1f9)]=ba(0x387);const a6={};a6[ba(0x301)]=0x1,a6[ba(0x1e6)]='🎉',a6[ba(0x1f9)]='egg15';const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[ba(0x1ba)](a9[ba(0x301)]*Z);if(!(aa<0xfa2+-0x1*-0x22f9+-0x329a||a8[ba(0x44b)](aa))&&(a8[ba(0x36a)](aa),Y===aa))return{'emoji':a9[ba(0x1e6)],'text':a0ai(a9[ba(0x1f9)])};}}(z[b5(0x1da)],G);if(Q&&console[b5(0x3fc)](a0L[b5(0x1c1)]('\x20\x20'+Q[b5(0x1e6)]+'\x20\x20'+Q[b5(0x3af)])),console[b5(0x3fc)](),z[b5(0x412)]&&console[b5(0x3fc)](a0L[b5(0x42f)](b5(0x40b)+z[b5(0x412)]+']')),z[b5(0x351)]&&z[b5(0x351)]>-0x25*-0x12+-0x4c4+-0x2*-0x116&&console[b5(0x3fc)](a0L[b5(0x42f)](b5(0x40b)+z[b5(0x351)]+'\x20points]')),L){let Y=z[b5(0x36e)]||z[b5(0x3af)];const Z=a0a2(z['number'],z['attachedData']);if(z['attachedData']){const a1=/\([^()]*attachedData[^()]*\)/;a1[b5(0x352)](Y)?Y=Y['replace'](a1,z[b5(0x373)]):Y[b5(0x360)](z[b5(0x373)])||(Y=Y+'\x0a\x0aFull\x20attached\x20data:\x0a'+z['attachedData']);}console[b5(0x3fc)](a0L[b5(0x1b9)][b5(0x171)]('\x20\x20Q'+z[b5(0x1da)]+'.\x20')+a0L[b5(0x171)](Y[b5(0x2a7)]('\x0a')[0xc5b+-0x1db8+-0x7f*-0x23]));const a0=Y[b5(0x2a7)]('\x0a')[b5(0x167)](0x628+0x24fd+-0x2b24);for(const a2 of a0)console['log'](a0L['white']('\x20\x20'+a2));if(console[b5(0x3fc)](),Z&&b5(0x298)===z[b5(0x450)]){const a3=Z['replace'](process.env.HOME||'','~');console['log'](a0L['cyan']('\x20\x20'+a0ai(b5(0x282))+'\x20')+a0L[b5(0x1ef)]('('+a0ai(b5(0x3bd))+'\x20'+a3+'):')),console[b5(0x3fc)](a0L[b5(0x171)]('\x20\x20\x20\x20①\x20')+a0L['yellow'](b5(0x39d)+a3)[b5(0x3a2)](-0x19b0+-0xcc6+0x26aa)+a0L[b5(0x1ef)]('\x20'+a0ai(b5(0x42a)))),console[b5(0x3fc)](a0L[b5(0x171)](b5(0x179))+a0L[b5(0x1c1)]('!python3')['padEnd'](0x163b+-0xa3*-0x1d+-0x2892)+a0L[b5(0x1ef)]('\x20'+a0ai(b5(0x16d)))),console['log'](a0L['white'](b5(0x341))+a0L[b5(0x1c1)](b5(0x1a8))+a0L[b5(0x1ef)]('\x20\x20→\x20\x20')+a0L[b5(0x1c1)](b5(0x415))),console[b5(0x3fc)](a0L[b5(0x171)](b5(0x42d))+a0L['yellow']('ref\x20python')['padEnd'](-0x13d1+-0x1*-0x19e7+-0xda*0x7)+a0L[b5(0x1ef)]('\x20'+a0ai(b5(0x3a9)))),console[b5(0x3fc)](a0L[b5(0x171)](b5(0x27d))+a0L[b5(0x1c1)](b5(0x298))[b5(0x3a2)](0xb52+-0xb*-0x188+-0xe05*0x2)+a0L[b5(0x1ef)]('\x20'+a0ai(b5(0x2e0)))),console[b5(0x3fc)](),console[b5(0x3fc)](a0L[b5(0x1ef)]('\x20\x20'+a0ai('examWaysFound')+'\x20')+a0L[b5(0x1b9)]['green']('submit\x20ICOA{your_flag}')),console['log']();}B&&(console[b5(0x3fc)](a0L[b5(0x39e)](b5(0x424)+B)),console[b5(0x3fc)]());}else{console[b5(0x3fc)](a0L['bold']['white'](b5(0x392)+z['number']+'.\x20')+a0L[b5(0x171)](z['text'])),console[b5(0x3fc)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console[b5(0x3fc)](a0L[b5(0x1ef)][b5(0x3f9)](b5(0x1aa)+a4+'.\x20'+z[b5(0x1d5)][a4])+a0L[b5(0x372)]('\x20('+a0ai(b5(0x213))+')')):a5?console[b5(0x3fc)](a0L[b5(0x39e)][b5(0x1b9)](b5(0x260)+a4+'.\x20'+z[b5(0x1d5)][a4])):console['log'](a0L[b5(0x1ef)]('\x20\x20\x20\x20'+a4+'.')+'\x20'+a0L[b5(0x171)](z[b5(0x1d5)][a4]));}console[b5(0x3fc)]();}const V='demo-free'===F?.['session'][b5(0x206)],W=J[b5(0x1c9)][-0x17*0x188+-0x23*-0x9+0x9*0x3c7]||-0x79*0x15+-0xd7f*-0x1+-0x392*0x1;V&&0xbcb*0x2+0x15cd+0x2d61*-0x1===z[b5(0x1da)]&&-0x1a67+0x51*-0x71+0x18*0x297===W&&(console[b5(0x3fc)](a0L[b5(0x1c1)]['bold']('\x20\x20'+a0ai('qTutorial'))),console[b5(0x3fc)]());const X=J['max']-J['used'];if(console[b5(0x3fc)](a0L[b5(0x1ef)](b5(0x246))),L){const a6=F&&b5(0x436)!==F[b5(0x3ff)][b5(0x206)]&&z[b5(0x1da)]>=-0x9e3*0x1+-0x1221+0x1c2b&&z[b5(0x1da)]<=0x7*0x110+-0x5*-0x19+0x3*-0x297,a7=F&&b5(0x436)!==F['session']['examId']&&z[b5(0x1da)]>=-0x4f*-0x59+-0x96*0x1+0x32*-0x89&&z[b5(0x1da)]<=-0x2*0x1134+0x1817+0x3*0x37d;b5(0x37e)===z[b5(0x450)]?console[b5(0x3fc)](a0L[b5(0x1b9)][b5(0x42f)]('\x20\x20\x20\x20vla4ctf')+a0L[b5(0x1ef)]('\x20\x20\x20\x20\x20\x20\x20enter\x20VLA\x20attack\x20mode\x20for\x20this\x20question\x20(recommended)')):a7?console[b5(0x3fc)](a0L[b5(0x1b9)][b5(0x39e)]('\x20\x20\x20\x20ai4ctf')+a0L[b5(0x1ef)](b5(0x370))):a6&&console[b5(0x3fc)](a0L['bold'][b5(0x372)](b5(0x3ae))+a0L[b5(0x1ef)](b5(0x252))),console[b5(0x3fc)](a0L[b5(0x1c1)](b5(0x310))+a0L['gray'](b5(0x16b))),console[b5(0x3fc)](a0L['yellow'](b5(0x259))+a0L[b5(0x1ef)](b5(0x2ba)));}else{const a8=J[b5(0x343)]>=-0x7c+-0xe40+0xeda,a9=X>0xb28+0x18eb+-0x5*0x737?a0L[b5(0x1ef)](a0ai(b5(0x1f7))+'\x20')+a0L['yellow']('('+X+'/'+J['max']+')'):a8?a0L[b5(0x1ef)](a0ai(b5(0x3a8))+'\x20('+J[b5(0x1f4)]+'/'+J[b5(0x343)]+')'):a0L[b5(0x1ef)](''+a0ai(b5(0x397)));console[b5(0x3fc)](a0L[b5(0x1c1)]('\x20\x20\x20\x20A/B/C/D')+a0L[b5(0x1ef)](b5(0x170)+a0ai(b5(0x18e)))),console['log'](a0L['yellow']('\x20\x20\x20\x20help')+b5(0x321)+a9);}console[b5(0x3fc)](a0L[b5(0x1c1)]('\x20\x20\x20\x20next')+a0L[b5(0x1ef)](b5(0x1b1))+a0L[b5(0x1c1)](b5(0x3f2))+a0L[b5(0x1ef)](b5(0x1aa)+a0ai(b5(0x44d)))),console[b5(0x3fc)](a0L[b5(0x1c1)](b5(0x1c6)+G)+a0L['gray']('\x20\x20\x20'+a0ai(b5(0x395)))),console['log'](a0L[b5(0x1c1)](b5(0x281))+a0L[b5(0x1ef)](b5(0x321)+a0ai(b5(0x28e)))),console[b5(0x3fc)](a0L[b5(0x1c1)](b5(0x3be))+a0L[b5(0x1ef)](b5(0x2ce)+a0ai(b5(0x166)))),console[b5(0x3fc)](a0L[b5(0x1b9)][b5(0x1c1)](b5(0x185))+a0L['gray'](b5(0x2ce)+a0ai(b5(0x275)))),console[b5(0x3fc)](a0L['yellow'](b5(0x3a7))+a0L[b5(0x1ef)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai('htpBack'))),console['log'](a0L[b5(0x1c1)](b5(0x16c))+a0L[b5(0x1ef)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b5(0x2cc)))),console['log'](a0L['gray']('\x20\x20─────────────────────────────────────────'));}export function registerExamCommand(z){const bb=a0B,B=z[bb(0x19f)](bb(0x261))[bb(0x36e)]('National\x20selection\x20exam');B[bb(0x19f)](bb(0x236))[bb(0x36e)](bb(0x44c))[bb(0x20e)](()=>{const bc=bb;a0a8(bc(0x31d)),console[bc(0x3fc)](),a0ae(bc(0x249)),console['log']();const F=[['AU',bc(0x19c)],['BD',bc(0x21d)],['BI','Burundi'],['BR',bc(0x1bd)],['CN',bc(0x1fe)],['DE',bc(0x2d8)],['EG','Egypt'],['FR',bc(0x3ec)],['GH','Ghana'],['ID',bc(0x2bf)],['IN',bc(0x26b)],['JP',bc(0x1e2)],['KR',bc(0x1a2)],['LA',bc(0x186)],['LK',bc(0x432)],['MM',bc(0x3b7)],['MO',bc(0x15f)],['MY',bc(0x38d)],['NZ',bc(0x165)],['PE',bc(0x201)],['PH',bc(0x18f)],['RU','Russia'],['SA',bc(0x20b)],['SG',bc(0x1e1)],['TH','Thailand'],['TR','Turkey'],['UK',bc(0x1d2)],['US',bc(0x1c3)],['UZ','Uzbekistan'],['VN',bc(0x1ad)],['ZA','South\x20Africa']];for(let G=0x13*0x45+0x2*0x4e5+0x1*-0xee9;G<F[bc(0x335)];G+=-0x1655*-0x1+-0x443*-0x4+-0x275e){const H=F['slice'](G,G+(0x2ff+-0x201d*-0x1+0x3*-0xbb3))[bc(0x1a0)](([J,K])=>'\x20\x20'+a0L[bc(0x42f)](J)+'\x20\x20'+a0L[bc(0x1ef)](K[bc(0x3a2)](-0x977+0x2d0*0x2+0x3e7)))[bc(0x225)]('');console[bc(0x3fc)](H);}console['log'](),console[bc(0x3fc)](a0L[bc(0x1ef)](bc(0x357))),console[bc(0x3fc)](a0L[bc(0x1ef)](bc(0x197))),console[bc(0x3fc)](),console[bc(0x3fc)](a0L[bc(0x171)](bc(0x36c))),console[bc(0x3fc)](a0L['cyan'](bc(0x317))+a0L[bc(0x1ef)]('\x20\x20\x20\x20\x20exam\x20list\x20PE')+a0L[bc(0x1ef)]('\x20\x20\x20\x20\x20exam\x20list\x20CN')),console[bc(0x3fc)]();}),B[bb(0x19f)](bb(0x174))[bb(0x36e)](bb(0x192))[bb(0x20e)](async F=>{const bd=bb;a0a8(bd(0x400)+(F||''));const G=M();if(!G)return;const H=a0ag(bd(0x22e));H[bd(0x217)]();try{let J=await G[bd(0x3b4)]();if(H['stop'](),F){const Q=F['toUpperCase']();J=J['filter'](V=>V[bd(0x2bd)][bd(0x2fb)]()===Q||'ALL'===V[bd(0x2bd)]);}if(!J||0x1746+0x223c+-0x22*0x1b1===J[bd(0x335)]){console[bd(0x3fc)](),a0ac(F?bd(0x23d)+F[bd(0x2fb)]()+bd(0x385):bd(0x369)),console['log'](),console[bd(0x3fc)](a0L[bd(0x171)](bd(0x1f0))),console['log'](a0L[bd(0x1ef)](bd(0x157))),console[bd(0x3fc)](),console['log'](a0L['gray'](bd(0x367))+a0L[bd(0x1b9)][bd(0x42f)](bd(0x3e2))),console[bd(0x3fc)]();const V={};V['PE']='es',V['CN']='zh',V['JP']='ja',V['KR']='ko',V['BR']='pt',V['SA']='ar',V['FR']='fr',V['DE']='de',V['IN']='hi',V['ID']='id',V['TH']='th',V['VN']='vi',V['TR']='tr',V['RU']='ru',V['UA']='uk',V['HT']='ht',V['KE']='sw',V['TZ']='sw';const W=V,X=(F||'')['toUpperCase']();return void(W[X]&&(console[bd(0x3fc)](a0L[bd(0x1ef)](bd(0x25d)+W[X])),console[bd(0x3fc)]()));}const K=J[bd(0x1a0)](Y=>{const be=bd,Z=be(0x284)===Y[be(0x162)]?a0L['green']:be(0x19b)===Y[be(0x162)]?a0L[be(0x1c1)]:a0L[be(0x171)];return[a0L['white'](Y['id']),Y[be(0x322)],a0L[be(0x42f)](Y[be(0x2bd)]),String(Y[be(0x3f6)]),Y[be(0x24b)]+be(0x315),Z(Y['status'])];}),L=[...new Set(J[bd(0x1a0)](Y=>Y['country']))];a0ae(F?'Exams\x20—\x20'+F['toUpperCase']():bd(0x2f2)+L[bd(0x335)]+bd(0x43f)),a0ad(['ID',bd(0x3bb),bd(0x2af),bd(0x30f),bd(0x2c3),bd(0x288)],K),console[bd(0x3fc)](),console[bd(0x3fc)](a0L['gray']('\x20\x20Start:\x20exam\x20start\x20<id>')),L[bd(0x335)]>0x759+-0x225b+0x1b03&&console['log'](a0L['gray'](bd(0x3ba)));}catch(Y){H[bd(0x1e9)]('Failed\x20to\x20load\x20exams'),a0aa(Y[bd(0x26e)]);}}),B[bb(0x19f)](bb(0x3da))[bb(0x36e)]('Start\x20an\x20exam\x20(begins\x20timer)')['action'](async F=>{const bf=bb;a0a8(bf(0x15b)+F);const G=a0Y();if(G)return a0ab('Exam\x20\x22'+G['session'][bf(0x3b8)]+bf(0x23b)),void a0ac(bf(0x40d));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bf(0x171)](bf(0x2b8)),'default':!(0x28e*-0x9+-0xea9+0x25a7),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bf(0x39e)](K)}}});if(J){console['log']();try{N(-0x23b2+0x1245+0x116d,bf(0x1f1));const {session:K,questions:L}=await H[bf(0x164)](F);N(-0x7*0xb7+0xa7c*-0x3+-0x1*-0x2493,'Loading\x20questions...'),await q(-0x9e+-0x17a5+0x1*0x190b),N(0x22b4+-0xdf*-0x15+-0x34c3,bf(0x15e)),await q(0x23b*-0xe+0x3*0x85d+0x6eb),N(0x239+0x2108+-0x6fb*0x5,'Starting\x20timer...'),await q(-0x1a*-0xe5+-0x1c35*0x1+0x589),a0Z({'session':K,'questions':L,'answers':{}}),N(0x1*-0xf67+-0x2530+0x89*0x63,bf(0x39b)),console[bf(0x3fc)](),console[bf(0x3fc)](),a0ae(K['examName']),a0af(bf(0x30f),String(K[bf(0x3f6)])),a0af('Duration',K['durationMinutes']+bf(0x27e)),a0af('Country',K[bf(0x2bd)]),O(),L[bf(0x335)]>-0x7*0x3f8+0xc67*-0x2+0x3496&&U(L[0x261*0x3+-0x2511+-0x4fd*-0x6]);}catch(Q){console['log'](),a0aa(Q[bf(0x26e)]);}}}),B['command']('q\x20[n]')['description'](bb(0x1b4))[bb(0x20e)](async F=>{const bg=bb;a0a8(bg(0x1e4)+(F||'all'));const {refetchQuestionDataIfStale:G}=await import('../lib/exam-state.js');await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,0x21f4+-0xc4d+-0xb*0x1f7),K=H['questions'][bg(0x297)](L=>L[bg(0x1da)]===J);if(!K)return void a0aa(bg(0x28c)+F+bg(0x253)+H[bg(0x254)]['length']+').');H[bg(0x3f4)]=J,a0Z(H),U(K,H['answers'][J]);}else{a0ae(''+H[bg(0x3ff)]['examName']);const L=Object[bg(0x176)](H[bg(0x191)])[bg(0x335)];a0af('Progress',L+'/'+H[bg(0x3ff)][bg(0x3f6)]+bg(0x2c2)),console[bg(0x3fc)]();for(const Q of H[bg(0x254)]){const V=H[bg(0x191)][Q[bg(0x1da)]],W=V?a0L['green']('['+V+']'):a0L[bg(0x1ef)](bg(0x287)),X=Q[bg(0x412)]?a0L[bg(0x1ef)]('\x20['+Q[bg(0x412)]+']'):'';console['log']('\x20\x20'+W+'\x20'+a0L[bg(0x171)]('Q'+Q[bg(0x1da)])+X+'\x20'+a0L[bg(0x1ef)](Q[bg(0x3af)][bg(0x283)](-0x167*-0x5+0x44f+-0xb52,-0x1*0x37+-0x128a+-0x12fd*-0x1))+(Q[bg(0x3af)][bg(0x335)]>0x764+0xf7c+0xe*-0x19e?bg(0x1ee):''));}console[bg(0x3fc)]();}}else a0aa(bg(0x421));}),B[bb(0x19f)](bb(0x3d1))[bb(0x36e)]('Flag\x20a\x20question\x20to\x20review\x20later\x20(toggles)')['action'](F=>{const bh=bb;a0a8(bh(0x279)+(F||''));const G=a0Y();if(!G)return void a0aa(bh(0x384));const H=G[bh(0x254)][bh(0x335)],J=F?parseInt(F,-0x2277*-0x1+-0xe3*0x18+-0xd25):G[bh(0x3f4)]||0x21d5+-0xd*-0x145+-0x3255;if(Number['isNaN'](J)||J<-0x1b0c+-0x13*-0x19b+-0x374||J>H)return void a0aa(bh(0x299)+H+'.');const K=j(G,J);console[bh(0x3fc)](),K?console['log'](a0L[bh(0x1c1)](bh(0x427)+J+bh(0x2c1))):console[bh(0x3fc)](a0L[bh(0x1ef)](bh(0x1d0)+J+bh(0x1a9)));const L=Array[bh(0x328)](G['bookmarks'])?G[bh(0x187)]:[];L[bh(0x335)]>-0x1325+-0x2f0+-0x1615*-0x1&&console['log'](a0L[bh(0x1ef)](bh(0x29c)+L[bh(0x1a0)](Q=>'Q'+Q)['join'](',\x20'))),console['log'](a0L[bh(0x1ef)](bh(0x2b4))+a0L[bh(0x171)](bh(0x3c0))),console[bh(0x3fc)]();}),B[bb(0x19f)](bb(0x1c8))[bb(0x36e)](bb(0x1d4))[bb(0x20e)](F=>{const bi=bb;a0a8(bi(0x342)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G[bi(0x254)][bi(0x335)],J=F?parseInt(F,-0x1b15+-0x2505+0x4024):G[bi(0x3f4)]||0x201+-0x19d2+0x17d2;Number[bi(0x426)](J)||J<0x7*-0x70+-0x301*0x7+0x1818||J>H?a0aa('Invalid\x20question\x20number.\x20Use\x201..'+H+'.'):D(G,J)?(j(G,J),console['log'](),console[bi(0x3fc)](a0L[bi(0x1ef)]('\x20\x20☆\x20Q'+J+bi(0x1a9))),console[bi(0x3fc)]()):console['log'](a0L[bi(0x1ef)](bi(0x392)+J+bi(0x398)));}),B[bb(0x19f)]('next')[bb(0x36e)]('Go\x20to\x20next\x20question')[bb(0x20e)](()=>{const bj=bb;a0a8(bj(0x25b));const F=a0Y();if(!F)return void a0aa(bj(0x384));F['questions']['findIndex'](K=>!F['answers'][K[bj(0x1da)]]);const G=F[bj(0x3f4)]||-0x25d4+-0x10a3+0x3678,H=Math[bj(0x1af)](G+(0x16fa+0x13*0xbf+0x13d*-0x1e),F[bj(0x254)][bj(0x335)]);F['_lastQ']=H,a0Z(F);const J=F[bj(0x254)][H-(0xea6+-0x200*-0x1+-0x10a5)];U(J,F[bj(0x191)][J[bj(0x1da)]]);}),B[bb(0x19f)](bb(0x3f2))[bb(0x36e)](bb(0x1ff))['action'](()=>{const bk=bb;a0a8(bk(0x256));const F=a0Y();if(!F)return void a0aa(bk(0x384));const G=F[bk(0x3f4)]||0x2*0x7f0+-0x3*-0x4fb+-0x3da*0x8,H=Math[bk(0x343)](G-(0x1*-0x46+0x1529+-0xb*0x1e6),0x120d+-0x2364+0x1158);F[bk(0x3f4)]=H,a0Z(F);const J=F['questions'][H-(-0x30d+-0x1545+-0x1*-0x1853)];U(J,F[bk(0x191)][J[bk(0x1da)]]);}),B['command']('help')[bb(0x36e)](bb(0x202))[bb(0x20e)](async()=>{const bl=bb;a0a8('exam\x20help');const F=a0Y();if(!F)return void a0aa(bl(0x384));const G=R(F),H=F[bl(0x3f4)]||-0x3*0x2e9+-0xac7*0x1+0x3*0x681,J=G[bl(0x1c9)][H]||0x515*0x2+-0x200b+0x15e1,K=G[bl(0x2f9)][H]||[],L=F['questions'][bl(0x297)](W=>W[bl(0x1da)]===H);if(!L)return;if(J>=0x2c9*0x7+-0x89*0x30+-0x45*-0x17)return console[bl(0x3fc)](),console[bl(0x3fc)](a0L[bl(0x1c1)]('\x20\x20🙈\x20Max\x202\x20helps\x20per\x20question\x20—\x20you\x20already\x20have\x20a\x2050/50!')),console[bl(0x3fc)](a0L['gray'](bl(0x31e))),console[bl(0x3fc)](),void U(L,F[bl(0x191)][L[bl(0x1da)]]);const Q=['A','B','C','D'][bl(0x205)](W=>!K['includes'](W));if(Q['length']<=-0x126b+0x4*0x896+-0x19*0xa3)return console['log'](),console[bl(0x3fc)](a0L[bl(0x1c1)](bl(0x24a))),console[bl(0x3fc)](),void U(L,F['answers'][L['number']]);if(G['used']>=G['max']){const W=G['max']>=0x83a+-0x5cb*0x6+0x1aa6,X=-0x239a+0xc4a+0xbb7*0x2-G[bl(0x343)];return void(W?(console[bl(0x3fc)](),console[bl(0x3fc)](a0L[bl(0x1ef)](bl(0x431)+G[bl(0x1f4)]+'/'+G[bl(0x343)]+bl(0x3f3))),console[bl(0x3fc)]()):(console[bl(0x3fc)](),console[bl(0x3fc)](a0L[bl(0x1c1)]('\x20\x20Help\x20used:\x20'+G[bl(0x1f4)]+'/'+G['max'])),console[bl(0x3fc)](a0L[bl(0x171)]('\x20\x20Need\x20more?\x20Type:\x20')+a0L[bl(0x1b9)][bl(0x1c1)](bl(0x28d))+a0L[bl(0x1ef)](bl(0x422)+X+bl(0x1d7))),console[bl(0x3fc)]()));}const V=Y=>{const bm=bl;K['push'](Y),G[bm(0x2f9)][H]||(G['eliminated'][H]=[]),G[bm(0x2f9)][H]=K,G[bm(0x1c9)][H]=J+(-0x2b3*-0xb+0x11f1+-0x2fa1),G[bm(0x1f4)]++,F[bm(0x234)]=G[bm(0x1f4)],F['_helpMax']=G[bm(0x343)],F[bm(0x2b3)]=G[bm(0x1c9)],F[bm(0x45c)]=G[bm(0x2f9)],F[bm(0x237)]||(F[bm(0x237)]=[]),F['interactions'][bm(0x34c)]({'ts':new Date()[bm(0x3a5)](),'q':H,'type':bm(0x29f),'result':'eliminated\x20'+Y}),a0Z(F),console['log'](),console[bm(0x3fc)](a0L[bm(0x1c1)](bm(0x32b)+Y+bm(0x35f))+a0L[bm(0x1ef)]('\x20\x20(help\x20'+G[bm(0x1f4)]+'/'+G[bm(0x343)]+')')),U(L,F[bm(0x191)][L[bm(0x1da)]]);};if(bl(0x436)===F[bl(0x3ff)][bl(0x206)]&&L['answer'])(Y=>{const bn=bl,Z=Q[bn(0x205)](a0=>a0!==Y&&!K[bn(0x360)](a0));0x12dc+0x72*-0x43+0xafa!==Z[bn(0x335)]&&V(Z[Math['floor'](Math[bn(0x183)]()*Z[bn(0x335)])]);})(L['answer']);else{const Y=a0W()[bl(0x3cd)]||bl(0x410),Z=F[bl(0x3ff)]?.[bl(0x377)]||'';try{const a0={};a0[bl(0x413)]=bl(0x1c0),a0[bl(0x41e)]='icoa-cli';const a1={};a1[bl(0x377)]=Z,a1[bl(0x41c)]=H,a1[bl(0x2f9)]=K;const a2=await fetch(Y+bl(0x2d4)+F[bl(0x3ff)]['examId']+'/help',{'method':bl(0x289),'headers':a0,'body':JSON[bl(0x3c4)](a1),'signal':AbortSignal['timeout'](0x1013*0x1+-0x115*0xd+0x1186)}),a3=await a2[bl(0x371)](),a4=a3?.[bl(0x26d)]?.[bl(0x3e0)];a4&&['A','B','C','D'][bl(0x360)](a4)?V(a4):(console['log'](),console[bl(0x3fc)](a0L[bl(0x1ef)](bl(0x437))));}catch{console[bl(0x3fc)](),console[bl(0x3fc)](a0L[bl(0x1ef)](bl(0x155)));}}}),B['command']('more-help')[bb(0x36e)](bb(0x402))[bb(0x20e)](()=>{const bo=bb;a0a8(bo(0x327));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=R(F),H='demo-free'===F[bo(0x3ff)][bo(0x206)]?-0x1517+0xb*-0x369+0x3aa2*0x1:0x3*-0x156+0x10*0x89+-0x470;if(G[bo(0x343)]>=H)return void console[bo(0x3fc)](a0L['gray'](bo(0x3ea)));if(G[bo(0x1f4)]<G[bo(0x343)])return void console[bo(0x3fc)](a0L[bo(0x1ef)](bo(0x181)+(G['max']-G[bo(0x1f4)])+'\x20helps\x20remaining.\x20Use\x20them\x20first!'));const J=H-G[bo(0x343)];F[bo(0x1bb)]=H,a0Z(F),console[bo(0x3fc)](),console[bo(0x3fc)](a0L['green'](bo(0x32f)+J+bo(0x291)+J+'/'+H+bo(0x210))),console[bo(0x3fc)](a0L[bo(0x1ef)]('\x20\x20Type\x20\x22help\x22\x20on\x20any\x20question\x20to\x20use.')),console['log']();}),B['command'](bb(0x445))[bb(0x36e)](bb(0x33b))['action'](async(F,G)=>{const bp=bb,H=G[bp(0x225)]('\x20');a0a8('exam\x20answer\x20'+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bp(0x421));if(!(function(){const bq=bp,Z=a0a1();if(!Z)return!(-0x23ad*0x1+0x9d6*-0x2+0x3759);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bq(0x176)](a0[bq(0x191)])[bq(0x335)];bq(0x436)===a0[bq(0x3ff)]['examId']||-0x15f1+0x31d+0x12d4===a1?(a0a0(),a0ab('Exam\x20expired\x20and\x20cleared.'),a0ac(bq(0x324))):(a0aa(bq(0x33d)),a0ac(bq(0x416)));}return!(-0x2f2+0x1312*0x1+-0x101f);}return!(-0x14f5+0x1605+-0x110);}()))return;const K=parseInt(F,0x667*-0x1+0x1a*-0xdd+0x1ce3),L=J[bp(0x254)][bp(0x297)](Z=>Z[bp(0x1da)]===K);if(!L)return void a0aa(bp(0x28c)+F+bp(0x253)+J[bp(0x254)][bp(0x335)]+').');let Q;if(bp(0x298)===L['type']||bp(0x3e5)===L[bp(0x450)]||bp(0x37e)===L[bp(0x450)]||L['options']&&!L[bp(0x1d5)]['A']&&!L[bp(0x1d5)]['B']){if(Q=H[bp(0x273)](),/^submit\s+/i['test'](Q)&&(Q=Q[bp(0x239)](/^submit\s+/i,'')[bp(0x273)]()),Q=Q['replace'](/^["'`]+|["'`]+$/g,'')[bp(0x273)](),!Q)return void a0aa(bp(0x18b));if(/^[A-Da-d]$/['test'](Q))return a0aa('Q'+K+'\x20is\x20a\x20practical\x20question\x20—\x20answer\x20with\x20a\x20flag,\x20not\x20a\x20letter.'),void console[bp(0x3fc)](a0L[bp(0x1ef)]('\x20\x20Example:\x20')+a0L[bp(0x39e)](bp(0x2e6)+K+bp(0x3cf)));}else{if(Q=H[bp(0x2fb)](),!['A','B','C','D'][bp(0x360)](Q))return void a0aa(bp(0x2eb));}if('demo-free'===J[bp(0x3ff)][bp(0x206)]&&-0x19a1+0x1b6f+0x4*-0x73===K&&0x1e78+-0x26cb*0x1+0x853*0x1===(R(J)[bp(0x1c9)][0x1102+0xaf2*0x1+-0xe*0x1ff]||0x792+0x20*-0x80+0xa6*0xd))return console[bp(0x3fc)](),console[bp(0x3fc)](a0L[bp(0x1c1)](bp(0x38c))+a0L[bp(0x1b9)][bp(0x1c1)](bp(0x2aa))+a0L[bp(0x1c1)]('\x20first\x20to\x20see\x20what\x20it\x20does!')),console[bp(0x3fc)](a0L['gray'](bp(0x195))),void console['log']();const V=J['answers'][K];J['interactions']||(J[bp(0x237)]=[]),J[bp(0x237)][bp(0x34c)]({'ts':new Date()[bp(0x3a5)](),'q':K,'type':V?'answer_changed':bp(0x19e),'input':Q,'result':V?bp(0x2e3)+V:'new'}),J['answers'][K]=Q,J[bp(0x3f4)]=K,a0Z(J),console[bp(0x3fc)](a0L[bp(0x1ef)](bp(0x1dd)));const W=J['session'][bp(0x377)];if(W&&'demo-free'!==J[bp(0x3ff)][bp(0x206)]){const Z=(a0W()[bp(0x3cd)]||bp(0x410))+bp(0x2d4)+J[bp(0x3ff)][bp(0x206)]+bp(0x33e),a0={};a0[bp(0x413)]=bp(0x1c0);const a1={};a1['token']=W,a1[bp(0x41c)]=K,a1['answer']=Q,fetch(Z,{'method':bp(0x289),'headers':a0,'body':JSON[bp(0x3c4)](a1),'signal':AbortSignal['timeout'](0xe98+0x49e+-0x2*-0x29)})[bp(0x417)](()=>{});}const X=Object['keys'](J[bp(0x191)])[bp(0x335)],Y=J['session'][bp(0x3f6)];if(a0a9('Q'+K+':\x20'+Q+bp(0x2a0)+X+'/'+Y+bp(0x44a)),'demo-free'===J['session'][bp(0x206)]&&L[bp(0x221)]){const a2=[bp(0x184),bp(0x2d6),bp(0x1e5),'Exactly.','Spot\x20on.'],a3=[bp(0x2df),bp(0x30b),'Keep\x20it\x20in\x20mind\x20for\x20review.'],a4=Q===L[bp(0x221)]?a2:a3,a5=a4[Math[bp(0x198)](Math[bp(0x183)]()*a4[bp(0x335)])];console[bp(0x3fc)](a0L[bp(0x1ef)](bp(0x32c)+a5));}if(K<J['questions']['length']){const a6=J['questions'][K];J[bp(0x3f4)]=a6[bp(0x1da)],a0Z(J),U(a6,J[bp(0x191)][a6[bp(0x1da)]]);}else X>=J[bp(0x254)][bp(0x335)]&&(console['log'](),console[bp(0x3fc)](a0L[bp(0x39e)][bp(0x1b9)](bp(0x255))),console[bp(0x3fc)](),bp(0x436)===J['session'][bp(0x206)]?(console[bp(0x3fc)](a0L[bp(0x171)](bp(0x2ec))+a0L[bp(0x1b9)][bp(0x42f)](bp(0x169))+a0L[bp(0x171)](bp(0x19d))),console['log']()):console['log'](a0L['white'](bp(0x24f))));}),B[bb(0x19f)]('review')['description'](bb(0x3d6))[bb(0x20e)](()=>{const br=bb;a0a8('exam\x20review');const F=a0Y();if(!F)return void a0aa(br(0x384));a0ae(br(0x411)+F[br(0x3ff)][br(0x3b8)]),O(),console[br(0x3fc)]();let G='\x20\x20';const H=Array[br(0x328)](F['bookmarks'])?F['bookmarks']:[];for(const Q of F['questions']){const V=F[br(0x191)][Q[br(0x1da)]],W=H['includes'](Q['number']),X=W?'★':'\x20';G+=V?W?a0L['bold'][br(0x1c1)]('Q'+String(Q[br(0x1da)])['padStart'](-0x21db+-0x1678+-0x2f7*-0x13)+X+'['+V+']\x20'):a0L[br(0x39e)]('Q'+String(Q[br(0x1da)])[br(0x17a)](0x1*-0xf31+-0x1a40+-0x83*-0x51)+'\x20['+V+br(0x430)):W?a0L['bold'][br(0x1c1)]('Q'+String(Q['number'])[br(0x17a)](0x939*0x3+0x1d37+0x2*-0x1c70)+X+br(0x2b7)):a0L[br(0x1c1)]('Q'+String(Q['number'])[br(0x17a)](0x11e0+-0x9*-0x3bb+-0x3371)+br(0x2f8)),Q[br(0x1da)]%(0x16*-0x16d+-0x1e97+0x3dfb)==-0x1af0+-0x1*-0x4c5+0x162b*0x1&&(console[br(0x3fc)](G),G='\x20\x20');}G['trim']()&&console['log'](G);const J=Object[br(0x176)](F['answers'])[br(0x335)],K=F[br(0x3ff)][br(0x3f6)],L=K-J;if(console[br(0x3fc)](),a0af(br(0x1fc),a0L[br(0x39e)][br(0x1b9)](J+'/'+K)),L>-0x3*-0x641+0x1*-0x304+0x1d*-0x8b){const Y=F[br(0x254)][br(0x205)](Z=>!F[br(0x191)][Z['number']])['map'](Z=>Z[br(0x1da)])[br(0x225)](',\x20');a0af(br(0x2f3),a0L['yellow'](L+br(0x459)+Y+')'));}H[br(0x335)]>-0xf51+0x2678+0x1727*-0x1&&a0af(br(0x248),a0L[br(0x1b9)][br(0x1c1)]('★\x20'+H['length'])+a0L['gray']('\x20('+H['map'](Z=>'Q'+Z)['join'](',\x20')+')')),console[br(0x3fc)](),H[br(0x335)]>0x2*-0x17d+0xa5b+-0x1*0x761&&console['log'](a0L[br(0x1ef)]('\x20\x20Jump\x20to\x20a\x20flagged\x20question:\x20')+a0L['white']('exam\x20q\x20'+H[0x2f9*-0x9+-0x51*0x7+0x1cf8])),console['log'](a0L[br(0x1ef)]('\x20\x20Ready?\x20Use\x20')+a0L[br(0x1b9)][br(0x42f)]('exam\x20submit')+a0L[br(0x1ef)]('\x20to\x20submit\x20for\x20grading.'));}),B[bb(0x19f)]('submit\x20[confirmArg]')[bb(0x36e)](bb(0x203))[bb(0x20e)](async J=>{const bs=bb;a0a8(bs(0x278)+(J||''));const K=a0Y();if(K&&'confirm'===J&&(K[bs(0x231)]=!(-0x15a6+0x1*-0xf39+0x24df),a0Z(K)),!K)return void a0aa(bs(0x384));const L=Object[bs(0x176)](K[bs(0x191)])['length'],Q=K['session'][bs(0x3f6)],V=Q-L;if(-0x19c9+-0x1029+0x29f2===L){const X=a0a1(),Y=X&&new Date()>=X;return void('demo-free'===K[bs(0x3ff)]['examId']||Y?(a0a0(),a0ab(bs(0x177)),a0ac(bs(0x324))):(a0ab(bs(0x2fa)),a0ac(bs(0x438))));}if(bs(0x436)!==K[bs(0x3ff)][bs(0x206)]){const Z=!(0x3f7+0x15b4+0x19ab*-0x1)===K['_submitConfirmed'],a0=a0a1(),a1=!!(a0&&new Date()>=a0);if(!Z&&!a1){if(console[bs(0x3fc)](),console[bs(0x3fc)](a0L[bs(0x372)](bs(0x406))),console[bs(0x3fc)](a0L[bs(0x1b9)][bs(0x372)](bs(0x193))),console[bs(0x3fc)](a0L['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bs(0x3fc)](),console[bs(0x3fc)](a0L['white'](bs(0x433)+a0L[bs(0x1b9)][bs(0x39e)](L+'/'+Q)+'\x20answers.')),V>0x11e5+0x23e7+0x1*-0x35cc){const a3=K['questions']['filter'](a4=>!K['answers'][a4[bs(0x1da)]])[bs(0x1a0)](a4=>'Q'+a4['number'])[bs(0x225)](',\x20');console[bs(0x3fc)](a0L['yellow']('\x20\x20'+V+'\x20unanswered:\x20'+a3));}const a2=Array[bs(0x328)](K[bs(0x187)])?K[bs(0x187)]:[];return a2[bs(0x335)]>0x6e*0x17+-0x4*-0x40d+-0x1a16&&console['log'](a0L[bs(0x1c1)](bs(0x296)+a2[bs(0x335)]+bs(0x325)+a2['map'](a4=>'Q'+a4)[bs(0x225)](',\x20'))),console[bs(0x3fc)](),console[bs(0x3fc)](a0L[bs(0x171)]('\x20\x20Answers\x20are\x20')+a0L['bold'][bs(0x372)](bs(0x2d2))+a0L[bs(0x171)](bs(0x1d1))),console[bs(0x3fc)](),console[bs(0x3fc)](a0L[bs(0x1b9)][bs(0x171)](bs(0x1db))+a0L[bs(0x1b9)][bs(0x42f)](bs(0x308))),console['log'](a0L[bs(0x171)]('\x20\x20To\x20go\x20back:\x20\x20')+a0L[bs(0x42f)]('exam\x20review')+a0L[bs(0x1ef)](bs(0x3c3))+a0L[bs(0x42f)]('back')),void console[bs(0x3fc)]();}Z&&(delete K[bs(0x231)],a0Z(K));}if(console[bs(0x3fc)](),'demo-free'===K[bs(0x3ff)][bs(0x206)]){try{N(-0x1ba3*0x1+-0x2*-0x108a+-0x1*0x571,a0ai('grading')),await q(0x2*-0xdc4+0x3*-0x1b6+-0x2*-0x10eb);let a4=-0x1cbc+-0x24a4+0x4160;const a5=[],a6={};for(const ai of K[bs(0x254)]){const aj=ai[bs(0x412)]||'Other',ak={};ak[bs(0x262)]=0x0,ak[bs(0x3a4)]=0x0,(a6[aj]||(a6[aj]=ak),a6[aj][bs(0x3a4)]++);const al=K[bs(0x191)][ai[bs(0x1da)]];al&&ai['answer']&&al===ai[bs(0x221)]?(a4++,a6[aj][bs(0x262)]++):a5[bs(0x34c)](ai[bs(0x1da)]);}a5['sort']((am,an)=>am-an),N(-0x2*-0x7bf+0x190*-0x5+-0x74a,a0ai(bs(0x449))),console[bs(0x3fc)]();const a7=new Date(K['session']['startedAt'])['getTime'](),a8=Math[bs(0x343)](0x107e+-0x2610+0xac9*0x2,Math[bs(0x1ba)]((Date[bs(0x3df)]()-a7)/(-0x8f9*0x3+-0x1469+-0x333c*-0x1))),a9=Math['floor'](a8/(-0x433*-0x1+-0x1*-0x16ed+0x4*-0x6b9))+'m\x20'+a8%(-0x9*0x2b+0x7ea+-0x62b*0x1)+'s',aa=[...K[bs(0x254)]],ab={...K[bs(0x191)]},ac=R(K);a0a0();const ad=Math[bs(0x1ba)](a4/Q*(-0x162+0x7d*0x9+-0x1*0x29f)),ae=a0W(),af={};af[bs(0x413)]='application/json',(fetch(bs(0x458),{'method':bs(0x289),'headers':af,'body':JSON['stringify']({'type':'demo-exam','score':a4,'total':Q,'lang':ae[bs(0x3d0)]||'en','help_used':ac[bs(0x1f4)],'help_max':ac[bs(0x343)],'tokens_used':0x0,'solved':ad>=-0x25*0xe5+-0xa9*-0x27+0x796?-0x1*-0x1319+0x17e*-0xd+0x4e:-0x1485+0x233*-0x4+0x5*0x5dd,'timestamp':new Date()[bs(0x3a5)](),'interactions':K[bs(0x237)]||[]}),'signal':AbortSignal[bs(0x272)](-0x4f8+0x321*-0x4+0x2504)})[bs(0x417)](()=>{}),console['log'](),console[bs(0x3fc)](a0L[bs(0x42f)](bs(0x238))),console[bs(0x3fc)](),console[bs(0x3fc)](a0L['bold'][bs(0x171)](bs(0x2e9))),console[bs(0x3fc)](a0L['bold']['white']('\x20\x20\x20██║██╔════╝██╔═══██╗██╔══██╗')),console[bs(0x3fc)](a0L[bs(0x1b9)][bs(0x171)](bs(0x418))),console[bs(0x3fc)](a0L[bs(0x1b9)]['white'](bs(0x232))),console['log'](a0L[bs(0x1b9)][bs(0x171)](bs(0x2a8))),console[bs(0x3fc)](a0L['bold']['white'](bs(0x1ec))),console[bs(0x3fc)](),console[bs(0x3fc)](a0L[bs(0x1b9)]('\x20\x20\x20'+a0ai(bs(0x1a4))+':\x20'+a4+'/'+Q+'\x20('+ad+'%)')),console[bs(0x3fc)](a0L[bs(0x1b9)](bs(0x2ce)+(ad>=-0x220f+-0x1*0x440+0x268b?a0L[bs(0x39e)](a0ai(bs(0x350))):a0L[bs(0x372)](a0ai('notPassed'))))),console[bs(0x3fc)](a0L[bs(0x1ef)]('\x20\x20\x20Elapsed:\x20'+a9)),console[bs(0x3fc)](),console[bs(0x3fc)](a0L['yellow'](bs(0x2d7))),console[bs(0x3fc)](a0L['gray']('\x20\x20\x20Sydney,\x20Australia\x20·\x20Jun\x2027\x20-\x20Jul\x202,\x202026')),console[bs(0x3fc)](),console[bs(0x3fc)](a0L['cyan']('\x20\x20═══════════════════════════════════════')),await q(-0xa*-0x319+0x651+-0x1993*0x1));const ag=Object[bs(0x1ca)](a6);if(ag['length']>0x78*-0x3e+0x24e1+-0x7d1){console['log'](),console[bs(0x3fc)](a0L[bs(0x1b9)][bs(0x171)](bs(0x2d9)));const am=0x9*-0x3c+0x1c09+0x1*-0x19e3;for(const [an,ao]of ag){const ap=ao[bs(0x3a4)]>-0x220+0x65*-0x2b+0x1317?Math[bs(0x1ba)](ao[bs(0x262)]/ao['total']*(0x691*-0x1+0x1225*0x1+-0x4*0x2cc)):0x1358+-0x94b+0x53*-0x1f,aq=ao[bs(0x3a4)]>0x148*0x10+-0x9fe+-0xa82?Math[bs(0x1ba)](ao['correct']/ao[bs(0x3a4)]*am):0x43*0x52+0x1*0x617+-0x1b8d,ar=am-aq,as=ap>=0xb54+0x1f73+0x7*-0x611?a0L[bs(0x39e)]:ap>=-0x1*-0x1849+0x6f5+0x2*-0xf86?a0L[bs(0x1c1)]:a0L[bs(0x372)],at=as('█'[bs(0x1f2)](aq))+a0L[bs(0x1ef)]('░'['repeat'](ar));console[bs(0x3fc)]('\x20\x20\x20\x20'+a0L[bs(0x171)](an['padEnd'](0x23f0+0x1*0x553+-0xd*0x32b))+'\x20'+at+'\x20\x20'+as(ao[bs(0x262)]+'/'+ao[bs(0x3a4)])+a0L[bs(0x1ef)]('\x20('+ap+'%)'));}console['log'](),console[bs(0x3fc)](a0L['cyan'](bs(0x24e)));}const ah=a0a4(a4,Q);if(a4===ah[bs(0x2ab)]&&ah[bs(0x333)]>0x2*0x1287+-0x18c7+-0xc46*0x1&&a4>-0x1f70+0x24be+-0x54e&&(console[bs(0x3fc)](),console[bs(0x3fc)](a0L[bs(0x1b9)][bs(0x39e)](bs(0x17b)))),a5[bs(0x335)]>0x48e*0x3+0x16e2+-0x248c){const au=aa[bs(0x205)](av=>a5[bs(0x360)](av[bs(0x1da)]))[bs(0x1a0)](av=>({...av}));a0a5(au);}else a0a7();if(await q(0x1665+0x2*-0xa4e+0x9ef),a5[bs(0x335)]>0x1*0x1a1e+-0x1*0x7f0+-0x122e){console[bs(0x3fc)](),console['log'](a0L[bs(0x1c1)]('\x20\x20'+a5[bs(0x335)]+'\x20'+a0ai(bs(0x1f5)))),console[bs(0x3fc)]();for(const av of a5){const aw=aa[bs(0x297)](az=>az[bs(0x1da)]===av);if(!aw)continue;const ax=ab[av],ay=aw[bs(0x221)];console[bs(0x3fc)](a0L[bs(0x171)]('\x20\x20Q'+av+'.\x20'+aw['text'])),ax?console['log'](a0L[bs(0x372)](bs(0x1aa)+a0ai(bs(0x207))+':\x20'+ax+'.\x20'+aw[bs(0x1d5)][ax])):console[bs(0x3fc)](a0L[bs(0x1c1)]('\x20\x20\x20\x20'+a0ai(bs(0x207))+bs(0x250))),ay&&console[bs(0x3fc)](a0L[bs(0x39e)]('\x20\x20\x20\x20'+a0ai('correct')+':\x20'+ay+'.\x20'+aw[bs(0x1d5)][ay])),aw[bs(0x41d)]&&console['log'](a0L['gray'](bs(0x2dd)+aw['explanation'])),console[bs(0x3fc)]();}}else console[bs(0x3fc)](),console[bs(0x3fc)](a0L[bs(0x39e)]('\x20\x20'+a0ai('perfectScore')));await q(0x7de*-0x2+-0x1*0xfd1+0x275d),console[bs(0x3fc)](),console['log'](a0L['cyan'](bs(0x24e))),console[bs(0x3fc)](a0L[bs(0x171)]('\x20\x20'+a0ai(bs(0x1cb))+'\x20')+a0L[bs(0x1b9)][bs(0x39e)](bs(0x298))+a0L[bs(0x1ef)](bs(0x24c)+a0ai(bs(0x21b)))),console['log'](a0L[bs(0x1ef)]('\x20\x20'+a0ai(bs(0x200)))),console[bs(0x3fc)](a0L[bs(0x42f)]('\x20\x20─────────────────────────────────────────────')),console['log']();}catch(az){console[bs(0x3fc)](),a0aa(az[bs(0x26e)]);}return;}const W=K['session']['token'];try{let aA;if(N(-0x2f*-0xb1+-0x1d77*-0x1+-0x3df6,'Uploading\x20answers...'),W){const aK={};aK[bs(0x413)]=bs(0x1c0);const aL={};aL[bs(0x298)]=0x0,aL['ctf4ai']=0x0;const aM=a0W()[bs(0x3cd)]||bs(0x410),aN=await fetch(aM+bs(0x2d4)+K[bs(0x3ff)][bs(0x206)]+'/submit',{'method':'POST','headers':aK,'body':JSON['stringify']({'token':W,'answers':K[bs(0x191)],'interactions':K[bs(0x237)]||[],'aiUsage':K[bs(0x329)]||aL,'bookmarks':K[bs(0x187)]||[]}),'signal':AbortSignal['timeout'](0x425f+0x53*-0x19+0x54*0x1)});if(!aN['ok']){const aO=await aN[bs(0x371)]()[bs(0x417)](()=>({'message':bs(0x1f8)}));throw new Error(aO[bs(0x26e)]||bs(0x1f8));}aA=(await aN[bs(0x371)]())[bs(0x26d)];}else{const aP=M();if(!aP)return;aA=await aP[bs(0x407)](K[bs(0x3ff)][bs(0x206)],K[bs(0x191)]);}N(0xf5+-0x1b07+-0xa4*-0x29,'Grading...'),await q(-0x146c+0x547+0x1051),N(0x24d5+-0x26c+-0x2205,bs(0x292)),console['log']();const aB={};aB[bs(0x298)]=0x0,aB[bs(0x3e5)]=0x0;const aC={'answered':Object[bs(0x176)](K[bs(0x191)])['length'],'total':K['session'][bs(0x3f6)],'bookmarks':Array[bs(0x328)](K[bs(0x187)])?K[bs(0x187)]['length']:0x1115+0x1353+0xa*-0x3a4,'help':R(K),'aiUsage':K[bs(0x329)]||aB,'interactions':(K['interactions']||[])[bs(0x335)],'durationMin':K[bs(0x3ff)][bs(0x24b)]||-0x3b0+-0x2171+0x2521,'confirmedAt':K[bs(0x3ff)][bs(0x23a)]||K['session'][bs(0x173)],'examId':K[bs(0x3ff)][bs(0x206)]};a0a0();const aD=Math['max'](0x31b*-0x8+-0x10f0+0x29c8,Math[bs(0x1ba)]((Date[bs(0x3df)]()-new Date(aC[bs(0x23a)])[bs(0x247)]())/(0x1d3*0x5+-0x9ef+-0x2*-0x25c))),aE=Math[bs(0x198)](aD/(0x18ec+0xc6d*0x2+-0x22*0x175)),aF=aD%(0x2b*-0x5+0x1bd1+-0x1abe);console[bs(0x3fc)](),console['log'](a0L['cyan'](bs(0x277))),console[bs(0x3fc)](),console[bs(0x3fc)](a0L[bs(0x1b9)][bs(0x171)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bs(0x3fc)](a0L['bold'][bs(0x171)](bs(0x403))),console[bs(0x3fc)](a0L[bs(0x1b9)][bs(0x171)](bs(0x418))),console[bs(0x3fc)](a0L[bs(0x1b9)][bs(0x171)](bs(0x232))),console['log'](a0L[bs(0x1b9)][bs(0x171)](bs(0x2a8))),console['log'](a0L['bold'][bs(0x171)](bs(0x1ec))),console[bs(0x3fc)]();const aG=aA['passed']?a0L[bs(0x39e)][bs(0x1b9)](bs(0x1b0)):a0L[bs(0x1c1)]['bold'](bs(0x26f));console[bs(0x3fc)](aG),console[bs(0x3fc)](),console[bs(0x3fc)](a0L[bs(0x171)]('\x20\x20\x20Your\x20answers\x20have\x20been\x20recorded\x20and\x20sent\x20to\x20your\x20national')),console[bs(0x3fc)](a0L['white'](bs(0x454))),console['log'](a0L[bs(0x171)](bs(0x37b))),console[bs(0x3fc)](),console['log'](a0L[bs(0x42f)](bs(0x24e))),console[bs(0x3fc)](),console[bs(0x3fc)](a0L['bold'][bs(0x171)](bs(0x2fc)));const aH=aC[bs(0x3a4)]-aC[bs(0x3ac)];console[bs(0x3fc)](bs(0x1aa)+a0L[bs(0x1ef)](bs(0x2ff))+a0L['white'](aC[bs(0x3ac)]+'/'+aC['total'])+(aH>0xd15+-0xdbb+0xa6?a0L[bs(0x1ef)](bs(0x434)+aH+bs(0x408)):'')),console['log'](bs(0x1aa)+a0L[bs(0x1ef)](bs(0x1df))+a0L[bs(0x171)](aE+'m\x20'+aF+'s')+a0L[bs(0x1ef)]('\x20\x20of\x20'+aC[bs(0x337)]+bs(0x3d4))),aC[bs(0x187)]>0x1cfe+0x7*0x100+-0x23fe&&console[bs(0x3fc)](bs(0x1aa)+a0L[bs(0x1ef)](bs(0x37a))+a0L[bs(0x1c1)]('★\x20'+aC[bs(0x187)])),console[bs(0x3fc)]();const aI=aA[bs(0x1a3)];if(aI&&Object[bs(0x176)](aI)[bs(0x335)]>=0x1abe+-0x55*0xc+-0x16c0){const aQ=Object[bs(0x1ca)](aI)['filter'](([,aV])=>aV[bs(0x3a4)]>0xd12+-0x1*0xd9f+0x8d)['map'](([aV,aW])=>({'cat':aV,'pct':aW['correct']/aW[bs(0x3a4)]}))[bs(0x161)]((aV,aW)=>aW[bs(0x301)]-aV['pct']),aR=Math['min'](0x1e5b+0x11df+0x8*-0x607,Math[bs(0x22a)](aQ['length']/(-0x3*-0x623+-0x18b8+0x329*0x2))),aS=Math[bs(0x1af)](0x75+-0x1c22+-0x1*-0x1baf,Math[bs(0x22a)](aQ[bs(0x335)]/(-0x67a+-0x23cc+0x2a49))),aT=aQ[bs(0x167)](0x1*0x357+0x259a+-0x28f1,aR)[bs(0x1a0)](aV=>aV[bs(0x3ed)]),aU=aQ[bs(0x167)](-aS)[bs(0x1a0)](aV=>aV[bs(0x3ed)]);aT[bs(0x21c)](aV=>aU[bs(0x360)](aV))||(console['log'](a0L['bold'][bs(0x171)](bs(0x3d2))),console[bs(0x3fc)]('\x20\x20\x20\x20'+a0L['green'](bs(0x16e))+a0L[bs(0x171)](aT[bs(0x225)](',\x20'))),console[bs(0x3fc)](bs(0x1aa)+a0L[bs(0x1c1)]('Room\x20to\x20grow:\x20\x20\x20')+a0L[bs(0x171)](aU[bs(0x225)](',\x20'))),console[bs(0x3fc)](a0L['gray']('\x20\x20\x20\x20(relative\x20to\x20other\x20categories\x20—\x20numeric\x20scores\x20go\x20to\x20your\x20exam\x20center)')),console[bs(0x3fc)]());}console[bs(0x3fc)](a0L[bs(0x1b9)][bs(0x171)](bs(0x41a))),console[bs(0x3fc)](bs(0x1aa)+a0L[bs(0x1ef)](bs(0x43c))+a0L[bs(0x171)](aC['help'][bs(0x1f4)]+'/'+aC[bs(0x2aa)][bs(0x343)])),console[bs(0x3fc)](bs(0x1aa)+a0L[bs(0x1ef)](bs(0x20c))+a0L[bs(0x171)](aC[bs(0x329)][bs(0x298)]+bs(0x274))+a0L['gray'](bs(0x434))+a0L[bs(0x171)](aC[bs(0x329)][bs(0x3e5)]+bs(0x3ce))),console['log'](),console[bs(0x3fc)](a0L[bs(0x42f)](bs(0x24e))),console[bs(0x3fc)](),console['log'](a0L[bs(0x1b9)][bs(0x171)]('\x20\x20What\x20next')),console[bs(0x3fc)](a0L['gray'](bs(0x25e))),console[bs(0x3fc)](a0L[bs(0x1ef)](bs(0x223))+a0L[bs(0x171)](bs(0x3e2))+a0L[bs(0x1ef)](bs(0x1ce))),console[bs(0x3fc)](a0L[bs(0x1ef)]('\x20\x20·\x20Reference\x20guides\x20for\x2038\x20tools:\x20')+a0L['white']('ref')),console['log']();const {showCToBUpgradePrompt:aJ}=await import('../lib/paper-upgrade.js');aJ(aC[bs(0x206)],aA[bs(0x350)]),console[bs(0x3fc)](a0L[bs(0x1c1)](bs(0x1ae))),console[bs(0x3fc)](a0L[bs(0x42f)][bs(0x2b1)](bs(0x349))),console[bs(0x3fc)](),console[bs(0x3fc)](a0L[bs(0x42f)](bs(0x277))),console[bs(0x3fc)]();}catch(aV){console['log'](),a0aa(aV[bs(0x26e)]);}}),B['command'](bb(0x1c2))[bb(0x36e)](bb(0x3d3))[bb(0x20e)](async F=>{const bt=bb;a0a8(bt(0x374)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa('Specify\x20exam\x20ID:\x20exam\x20result\x20<id>');F=J[bt(0x3ff)]['examId'];}const H=a0ag(bt(0x396));H[bt(0x217)]();try{const K=await G['getResult'](F);H[bt(0x2e4)](bt(0x300)),console['log'](),a0ae(K[bt(0x3b8)]),a0af(bt(0x394),a0L[bt(0x1b9)](K[bt(0x1a4)]+'/'+K[bt(0x3a4)])),a0af(bt(0x227),a0L[bt(0x1b9)](K['percentage']+'%')),a0af(bt(0x288),K[bt(0x350)]?a0L[bt(0x39e)][bt(0x1b9)](bt(0x439)):a0L[bt(0x372)]['bold'](bt(0x2cb))),a0af(bt(0x313),K[bt(0x3ee)]),console[bt(0x3fc)]();}catch(L){H[bt(0x1e9)](bt(0x22b)),a0aa(L[bt(0x26e)]);}}),B['command'](bb(0x209))['description'](bb(0x42c))[bb(0x20e)](async J=>{const bu=bb;a0a8(bu(0x306)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import('../lib/exam-state.js'),V=K();if(V){const a2=V[bu(0x3ff)][bu(0x377)],a3=a0a1(),a4=!!a2&&a2[bu(0x273)]()[bu(0x2fb)]()!==J[bu(0x273)]()[bu(0x2fb)](),a5=!!a3&&a3[bu(0x247)]()+(0xbf9*0x45+-0x1bd68d*-0x1+-0x3996a)<Date['now']();if(a4&&a5)return Q(),console[bu(0x3fc)](),console[bu(0x3fc)](a0L[bu(0x1ef)](bu(0x2ca))),console['log'](),console[bu(0x3fc)](a0L[bu(0x171)](bu(0x1d8))+a0L[bu(0x1b9)][bu(0x42f)](bu(0x2a2)+J)),void console['log']();if(!a2&&J)return V[bu(0x3ff)][bu(0x377)]=J[bu(0x273)](),L(V),console[bu(0x3fc)](),console[bu(0x3fc)](a0L['green'](bu(0x3c2))),console[bu(0x3fc)](a0L['gray'](bu(0x2ed))+a0L[bu(0x171)](bu(0x2c5))+a0L['gray'](bu(0x1cf))+a0L[bu(0x171)](bu(0x169))),console[bu(0x3fc)](),console[bu(0x3fc)](a0L[bu(0x1b9)][bu(0x171)]('\x20\x20Continue\x20this\x20exam:')),console[bu(0x3fc)](a0L[bu(0x1ef)]('\x20\x20\x20\x20→\x20')+a0L[bu(0x1b9)][bu(0x42f)](bu(0x27c))+a0L['gray'](bu(0x314))),console[bu(0x3fc)](a0L[bu(0x1ef)](bu(0x2dd))+a0L[bu(0x1b9)][bu(0x42f)](bu(0x3c0))+a0L['gray'](bu(0x3e1))),void console[bu(0x3fc)]();const a6=Object[bu(0x176)](V[bu(0x191)])[bu(0x335)],a7=V[bu(0x3ff)][bu(0x3f6)],a8=a0a1(),a9=a8?Math[bu(0x343)](0x6d1+0x748*0x2+0x1*-0x1561,Math[bu(0x1ba)]((a8[bu(0x247)]()-Date[bu(0x3df)]())/(-0x1b6c+-0x3*0x260d+0x1*0x177f3))):null;return console['log'](),console['log'](a0L['yellow'](bu(0x2c9))),console['log'](),console[bu(0x3fc)](a0L[bu(0x1ef)](bu(0x3a0))+a0L[bu(0x171)](V[bu(0x3ff)][bu(0x3b8)])),a2&&console[bu(0x3fc)](a0L[bu(0x1ef)](bu(0x34e))+a0L[bu(0x171)](a2)+(a2===J?a0L[bu(0x39e)](bu(0x331)):a0L[bu(0x1c1)](bu(0x24d)))),console['log'](a0L[bu(0x1ef)]('\x20\x20Answers:\x20')+a0L[bu(0x171)](a6+'/'+a7)),null!==a9&&console['log'](a0L['gray'](bu(0x448))+a0L['white'](a9+bu(0x2de))),console[bu(0x3fc)](),console[bu(0x3fc)](a0L[bu(0x1b9)][bu(0x171)](bu(0x39c))),console['log'](a0L[bu(0x1ef)](bu(0x2dd))+a0L['bold']['cyan']('exam\x20q\x201')+a0L['gray']('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bu(0x3fc)](a0L[bu(0x1ef)](bu(0x2dd))+a0L[bu(0x1b9)][bu(0x42f)](bu(0x3c0))+a0L[bu(0x1ef)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),console[bu(0x3fc)](a0L[bu(0x1ef)]('\x20\x20\x20\x20→\x20')+a0L['bold']['cyan'](bu(0x169))+a0L[bu(0x1ef)](bu(0x3a6))),a2&&a2!==J&&(console[bu(0x3fc)](),console[bu(0x3fc)](a0L['yellow']('\x20\x20Note:\x20you\x20typed\x20a\x20different\x20token.\x20Each\x20exam\x20token\x20is\x20bound\x20to')),console[bu(0x3fc)](a0L[bu(0x1c1)](bu(0x34a))),console[bu(0x3fc)](),console[bu(0x3fc)](a0L[bu(0x1ef)](bu(0x2b5))),console[bu(0x3fc)](a0L['gray'](bu(0x3d9))+a0L['bold'][bu(0x42f)](bu(0x359))+a0L[bu(0x1ef)](bu(0x323)))),void console[bu(0x3fc)]();}const {isNativeWindowsCmd:W}=await import(bu(0x451));if(!W()&&!a0am()){let aa=!(0x4*-0x649+-0x1003+0x2928);try{const ab={};ab[bu(0x413)]='application/json';const ac=a0W()[bu(0x3cd)]||bu(0x410),ad=await fetch(ac+'/api/icoa/exam-token',{'method':bu(0x289),'headers':ab,'body':JSON[bu(0x3c4)]({'token':J[bu(0x273)](),'deviceHash':a0aj(),'peek':!(-0x1*-0x12cc+-0x1c83+0x9b7)}),'signal':AbortSignal[bu(0x272)](-0xa6*-0x29+0x1*0x1d6d+-0x247b)});if(ad['ok']){const ae=await ad[bu(0x371)]();(ae?.[bu(0x26d)]?.[bu(0x242)]||'')[bu(0x376)]('-c')&&(aa=!(0x1476+0x1*0x232c+-0x37a2));}}catch{}if(!aa)return console[bu(0x3fc)](),a0ab('Pre-exam\x20setup\x20required\x20before\x20entering\x20a\x20token.'),console[bu(0x3fc)](a0L[bu(0x1ef)](bu(0x36d))+a0L[bu(0x1b9)][bu(0x42f)](bu(0x302))),console[bu(0x3fc)](a0L['gray'](bu(0x23f))+a0L[bu(0x1b9)][bu(0x42f)](bu(0x41b))+a0L[bu(0x1ef)](bu(0x3e6))),console[bu(0x3fc)](a0L[bu(0x1ef)](bu(0x420))),void console[bu(0x3fc)]();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si';const Y=X[J[bu(0x273)]()[bu(0x283)](-0x12c6+0x26c0+-0x13fa,-0x1719+-0x64d*0x1+-0xeb4*-0x2)['toUpperCase']()],Z=a0W(),a0=Z[bu(0x3cd)]||bu(0x410),a1=Y||Z['language']||'en';Y&&Y!==(Z[bu(0x3d0)]||'en')&&a0X({'language':Y}),console['log'](),N(-0x4fe+0x1c7a+0x14e*-0x12,'Validating\x20token...');try{const af={};af[bu(0x413)]=bu(0x1c0);const ag=await fetch(a0+'/api/icoa/exam-token',{'method':'POST','headers':af,'body':JSON[bu(0x3c4)]({'token':J[bu(0x273)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bu(0x272)](-0x2518+-0x29d1*0x1+0x75f9)});if(!ag['ok']){N(0x1*0x133a+-0xf6a+0xf4*-0x4,''),console[bu(0x3fc)]();const ao=await ag[bu(0x371)]()['catch'](()=>({'message':bu(0x222)}));return a0aa(ao[bu(0x26e)]||bu(0x3e9)),void a0ac('Check\x20your\x20token\x20or\x20contact\x20your\x20proctor.');}N(0xbf5*0x3+0x2*0xdba+-0x3f35,bu(0x354));const ah=await ag['json'](),{session:ai,questions:aj,languages:ak}=ah['data'];N(0x4a1*0x4+0x54e+0xbcb*-0x2,bu(0x294)),await q(0x23e6+0x1*0x1879+-0x3b97),N(-0x1b*-0x33+0xa*-0x312+0x1*0x19b7,'Ready!'),console['log'](),console['log'](),a0ae(ai['examName']),console[bu(0x3fc)](),a0af(bu(0x30f),ai[bu(0x3f6)]+bu(0x31c)),a0af(bu(0x2c3),ai['durationMinutes']+bu(0x27e)),a0af('Total',(ai['totalScore']||0xbd6+-0x1db*0xb+0x929)+bu(0x21a)),a0af('Pass',(ai[bu(0x2d5)]||-0xb2b+0x250d+-0x1997)+'\x20points\x20(50%)'),console[bu(0x3fc)](),console['log'](a0L[bu(0x171)](bu(0x230))),console[bu(0x3fc)](a0L[bu(0x171)](bu(0x158))),console['log'](a0L[bu(0x171)]('\x20\x20\x20\x20Hints:\x20\x20\x20A(5)\x20B(3)\x20C(1)\x20—\x20practical\x20only')),console['log'](a0L['white'](bu(0x1d3))),ak&&ak[bu(0x335)]>0x1f07+0x1b2e+-0x3a34&&console['log'](a0L[bu(0x171)](bu(0x1d9)+ak[bu(0x225)](',\x20')+bu(0x190))),console[bu(0x3fc)](),console[bu(0x3fc)](a0L[bu(0x1c1)]('\x20\x20Rules:')),console[bu(0x3fc)](a0L[bu(0x171)]('\x20\x20\x20\x20•\x20All\x20interactions\x20are\x20recorded\x20for\x20audit')),console[bu(0x3fc)](a0L[bu(0x171)](bu(0x295))),console[bu(0x3fc)](a0L['white'](bu(0x34b))),console[bu(0x3fc)](),await new Promise(ap=>{const bv=bu;process['stdout'][bv(0x245)](a0L['bold'][bv(0x1c1)]('\x20\x20Press\x20Enter\x20to\x20start\x20the\x20exam\x20timer...\x20'));const aq=!!process[bv(0x2e7)][bv(0x1b3)]&&process['stdin'][bv(0x3fe)];process[bv(0x2e7)][bv(0x1b3)]&&process[bv(0x2e7)][bv(0x25c)]&&process['stdin'][bv(0x25c)](!(-0x67*-0x61+-0xe59*0x1+0x18ad*-0x1));const ar=as=>{const bw=bv,at=as['toString']();(at[bw(0x360)]('\x0a')||at['includes']('\x0d'))&&(process['stdin'][bw(0x43e)](bw(0x26d),ar),process[bw(0x2e7)]['isTTY']&&process[bw(0x2e7)][bw(0x25c)]&&process[bw(0x2e7)][bw(0x25c)](aq),process[bw(0x1b8)][bw(0x245)]('\x0a'),ap());};process[bv(0x2e7)]['on'](bv(0x26d),ar),process[bv(0x2e7)]['resume']();});const al=new Date()[bu(0x3a5)]();ai['confirmedAt']=al,ai[bu(0x377)]=J['trim']();try{const ap=Date[bu(0x3df)](),aq=await fetch(a0+bu(0x30d),{'method':'GET','signal':AbortSignal[bu(0x272)](0x1*0xa15+0x1*-0x2528+0x26cb)});if(aq['ok']){const ar=await aq[bu(0x371)](),as=ar?.['data']?.[bu(0x266)];if('number'==typeof as&&as>0xdd4+0x4*-0x2ff+0x3b*-0x8){const at=(ap+Date[bu(0x3df)]())/(0x61f+-0x23a3*0x1+0x2*0xec3);ai[bu(0x414)]=Math['round'](as-at),ai[bu(0x453)]=as+(0x215b*0x1+0xa*0x28a+-0x1381*0x3)*ai[bu(0x24b)]*(0x2404+0x1*0xd49+-0x2d65*0x1);}}}catch{}const am={};am[bu(0x298)]=0x0,am[bu(0x3e5)]=0x0;const an={};an['session']=ai,an[bu(0x254)]=aj,an[bu(0x191)]={},an['interactions']=[],an[bu(0x329)]=am,(a0Z(an),console[bu(0x3fc)](),a0a9('Exam\x20started!\x20Timer\x20is\x20running.'),a0af('Time\x20Remaining',ai[bu(0x24b)]+':00'),aj[bu(0x335)]>0x21e*-0xc+-0x1df5+0x375d&&U(aj[0x1371+0x33d*0x1+0x16ae*-0x1]));}catch(au){console[bu(0x3fc)](),bu(0x214)===au['name']?a0aa(bu(0x19a)):a0aa(au[bu(0x26e)]||bu(0x1cd));}}),B[bb(0x19f)](bb(0x29a),{'hidden':!(-0x2353+-0x4*-0x732+0x68b*0x1)})[bb(0x36e)](bb(0x409))[bb(0x20e)](async()=>{const bx=bb;a0a8(bx(0x359));const {getRealExamState:F,clearExamState:G}=await import(bx(0x1a7)),H=F();if(!H)return console[bx(0x3fc)](),console[bx(0x3fc)](a0L[bx(0x1ef)](bx(0x251))),void console['log']();const J=H[bx(0x3ff)][bx(0x377)];if(console[bx(0x3fc)](),console[bx(0x3fc)](a0L[bx(0x1c1)](bx(0x3ad))),console['log'](a0L[bx(0x1ef)](bx(0x208))+a0L['white'](H['session']['examName'])),J&&console[bx(0x3fc)](a0L['gray'](bx(0x182))+a0L[bx(0x171)](J)),console[bx(0x3fc)](a0L['gray'](bx(0x33a))),console[bx(0x3fc)](a0L['gray'](bx(0x2a5))),console[bx(0x3fc)](),console[bx(0x3fc)](a0L[bx(0x1ef)](bx(0x2ec))+a0L[bx(0x1b9)][bx(0x42f)](bx(0x29a))+a0L[bx(0x1ef)](bx(0x347))),bx(0x29a)!==(await new Promise(K=>{const by=bx;process[by(0x1b8)][by(0x245)]('\x20\x20>\x20');const L=Q=>{const bz=by,V=Q[bz(0x356)]()[bz(0x273)]();(V[bz(0x360)]('\x0a')||V[bz(0x360)]('\x0d')||V[bz(0x335)]>-0x39d*0x1+-0x62f*-0x4+-0x1*0x151f)&&(process[bz(0x2e7)][bz(0x43e)](bz(0x26d),L),K(V[bz(0x239)](/[\r\n]/g,'')));};process[by(0x2e7)]['on'](by(0x26d),L),process[by(0x2e7)][by(0x36b)]();}))[bx(0x444)]())return console[bx(0x3fc)](a0L[bx(0x1ef)]('\x20\x20Cancelled.')),void console[bx(0x3fc)]();G(),console['log'](),console['log'](a0L[bx(0x39e)](bx(0x2e5))),console['log'](a0L[bx(0x1ef)](bx(0x27f))+a0L[bx(0x1b9)][bx(0x42f)](bx(0x194))),console['log']();}),B[bb(0x19f)](bb(0x3e2))[bb(0x36e)]('Try\x20a\x20free\x20practice\x20exam\x20(no\x20account\x20needed)')[bb(0x20e)](async()=>{const bA=bb;a0a8(bA(0x243)),E(bA(0x271));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bA(0x1c7));a0W()[bA(0x389)]||(await(async function(){const bB=bA;let a0=!(0x1d2*0x14+-0x1ed9*-0x1+-0x4340);const a1=process[bB(0x2e7)],a2=()=>{a0=!(-0x1*-0x624+0x20fc+-0x2720);},a3=a1[bB(0x1b3)]&&'function'==typeof a1['setRawMode'];a3&&(a1[bB(0x25c)](!(-0x13*-0x1a3+0x26a7+-0x45c0)),a1[bB(0x36b)](),a1[bB(0x361)](bB(0x26d),a2));const a4=async a5=>{let a6=-0x13*0x13f+0x122d+0x580;for(;a6<a5&&!a0;)await q(-0x23a1+-0x2558+-0x101*-0x49),a6+=-0x1*-0x2b+-0x145+-0x1*-0x16a;};try{if(console[bB(0x26c)](),console['log'](),console['log'](a0L['gray'](bB(0x2ce))+a0L[bB(0x2fd)]('(press\x20any\x20key\x20to\x20skip)')),console[bB(0x3fc)](),console[bB(0x3fc)](a0L[bB(0x1b9)][bB(0x171)](bB(0x2e9))),console[bB(0x3fc)](a0L['bold'][bB(0x171)](bB(0x403))),console[bB(0x3fc)](a0L[bB(0x1b9)]['white'](bB(0x418))),console[bB(0x3fc)](a0L[bB(0x1b9)][bB(0x171)](bB(0x232))),console[bB(0x3fc)](a0L[bB(0x1b9)][bB(0x171)](bB(0x2a8))),console[bB(0x3fc)](a0L[bB(0x1b9)]['white'](bB(0x1ec))),console['log'](),console[bB(0x3fc)](a0L[bB(0x1b9)][bB(0x1c1)](bB(0x3b5))),console['log'](a0L[bB(0x1ef)]('\x20\x20\x20Sydney,\x20Australia\x20\x20·\x20\x20Jun\x2027\x20–\x20Jul\x202,\x202026')),await a4(-0x13d4+-0xf3+0x1e8b),a0)return;if(console[bB(0x3fc)](),console[bB(0x3fc)](a0L[bB(0x171)](bB(0x38e))),console[bB(0x3fc)](),await a4(0x1346*-0x1+0x1e17+-0x879),a0)return;if(console[bB(0x3fc)](a0L[bB(0x42f)](bB(0x309))+a0L[bB(0x171)](bB(0x220))+a0L[bB(0x1ef)](bB(0x3db))),await a4(-0x17*0x13a+0x24ff+-0x60d),a0)return;if(console[bB(0x3fc)](a0L['green']('\x20\x20\x20\x20\x20▣\x20')+a0L[bB(0x171)]('Team\x20up\x20with\x20AI\x20to\x20solve\x20CTFs')+a0L[bB(0x1ef)]('\x20\x20\x20\x20(ai4ctf)')),await a4(-0x1334+-0x21*-0xf3+-0x963),a0)return;if(console[bB(0x3fc)](a0L[bB(0x372)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bB(0x171)](bB(0x1b7))+a0L[bB(0x1ef)](bB(0x267))),await a4(0x1206*-0x1+-0x9b3*0x4+0x1*0x3c56),a0)return;if(console[bB(0x3fc)](),console[bB(0x3fc)](a0L[bB(0x1b9)][bB(0x171)](bB(0x235))+a0L[bB(0x1b9)][bB(0x1c1)]('IS')+a0L['bold'][bB(0x171)]('\x20the\x20competition.')),console[bB(0x3fc)](),await a4(-0x1981+0x2545+0x3f*-0x18),a0)return;if(console[bB(0x3fc)](a0L[bB(0x1ef)]('\x20\x20\x20·\x20110\x20CTF\x20tools\x20pre-configured')),await a4(-0x211c+-0x487*-0x3+-0x1*-0x1517),a0)return;if(console['log'](a0L[bB(0x1ef)](bB(0x196))),await a4(-0x157c+-0xe98+0x25a4),a0)return;if(console[bB(0x3fc)](a0L[bB(0x1ef)](bB(0x3e7))),await a4(-0x21b0+0x291+0x223f),a0)return;console[bB(0x3fc)](),console[bB(0x3fc)](a0L[bB(0x1b9)][bB(0x42f)]('\x20\x20\x20Press\x20any\x20key\x20to\x20start\x20demo...')),await a4(0x92*-0x3c+-0x13e0+0x45b8);}finally{((()=>{const bC=bB;if(a3){a1[bC(0x43e)]('data',a2);try{a1[bC(0x25c)](!(0x1d7f+0x1*0x8a1+-0x1*0x261f));}catch{}a1[bC(0x312)]();}})()),console[bB(0x26c)]();}}()),a0X({'demoIntroSeen':!(0xa09+-0xd14+0x30b*0x1)})),console['log'](),console[bA(0x3fc)](a0L[bA(0x171)](bA(0x3aa))+a0L[bA(0x1ef)](H+bA(0x3fa)+J+bA(0x425))),console[bA(0x3fc)](a0L[bA(0x1ef)](bA(0x419))+a0L[bA(0x42f)]('Ctrl+C')+a0L[bA(0x1ef)](bA(0x362))+a0L['cyan']('back')+a0L[bA(0x1ef)](bA(0x2a4))),await new Promise(a0=>{const bD=bA;process[bD(0x1b8)][bD(0x245)](a0L[bD(0x1b9)]['yellow'](bD(0x1a5)));const a1=!!process[bD(0x2e7)][bD(0x1b3)]&&process[bD(0x2e7)][bD(0x3fe)];process[bD(0x2e7)]['isTTY']&&process[bD(0x2e7)][bD(0x25c)]&&process['stdin'][bD(0x25c)](!(-0xd*0x39+-0xd*0x3c+0x1*0x5f2));const a2=a3=>{const bE=bD,a4=a3['toString']();(a4[bE(0x360)]('\x0a')||a4['includes']('\x0d'))&&(process[bE(0x2e7)][bE(0x43e)](bE(0x26d),a2),process[bE(0x2e7)]['isTTY']&&process[bE(0x2e7)][bE(0x25c)]&&process['stdin']['setRawMode'](a1),process[bE(0x1b8)]['write']('\x0a'),a0());};process[bD(0x2e7)]['on'](bD(0x26d),a2),process[bD(0x2e7)][bD(0x36b)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import('../lib/exam-state.js');Q()&&V('demo-free'),console[bA(0x3fc)](),a0ae(bA(0x2c0)),console[bA(0x3fc)](),console[bA(0x3fc)](a0L['white'](bA(0x440))),console[bA(0x3fc)](a0L['white']('\x20\x20'+H+bA(0x3d7)+J+bA(0x3b6)));const W=a0a3();if(W[bA(0x333)]>0x1d6d+0xa39*-0x1+0x99a*-0x2){const a0=W['bestPercentage'],a1=a0>=-0x1*0x1057+-0x3d+0x10e4?a0L['green']:a0>=0x469+-0x182f*0x1+0xa01*0x2?a0L[bA(0x1c1)]:a0L[bA(0x171)];console[bA(0x3fc)](),console[bA(0x3fc)](a0L['gray'](bA(0x2d0))+a1(W[bA(0x2ab)]+'/'+H+'\x20('+a0+'%)')+a0L[bA(0x1ef)]('\x20\x20·\x20\x20'+W[bA(0x333)]+'\x20attempts'));}console['log'](),console[bA(0x3fc)](a0L['gray'](bA(0x246))),console['log'](a0L[bA(0x171)]('\x20\x20'+a0ai(bA(0x344)))),console['log'](a0L[bA(0x1c1)](bA(0x15a))+a0L[bA(0x1ef)](bA(0x170)+a0ai(bA(0x263)))),console['log'](a0L[bA(0x1c1)](bA(0x32d))+a0L[bA(0x1ef)](bA(0x321)+a0ai(bA(0x3eb)))),console['log'](a0L['yellow'](bA(0x2c4))+a0L[bA(0x1ef)](bA(0x1b1))+a0L[bA(0x1c1)](bA(0x3f2))+a0L[bA(0x1ef)]('\x20\x20\x20\x20'+a0ai(bA(0x44d)))),console[bA(0x3fc)](a0L[bA(0x1c1)](bA(0x399))+a0L[bA(0x1ef)]('\x20\x20\x20\x20\x20'+a0ai(bA(0x178)))),console['log'](a0L[bA(0x1c1)](bA(0x3a7))+a0L[bA(0x1ef)](bA(0x321)+a0ai('htpBack'))),console[bA(0x3fc)](a0L[bA(0x1c1)](bA(0x16c))+a0L[bA(0x1ef)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bA(0x2cc)))),console[bA(0x3fc)](a0L[bA(0x1ef)](bA(0x23c))),console['log'](a0L[bA(0x1ef)](bA(0x3cc))),console[bA(0x3fc)](a0L[bA(0x1ef)](bA(0x246))),console['log']();const {getConfig:X}=await import(bA(0x22c)),Y=X()[bA(0x3d0)]||'en';'en'===Y?(console[bA(0x3fc)](a0L['gray'](bA(0x30e))),console['log'](a0L['gray'](bA(0x264))),console['log'](a0L[bA(0x1ef)](bA(0x364)))):console[bA(0x3fc)](a0L[bA(0x39e)]('\x20\x20Language:\x20'+Y)),console[bA(0x3fc)](),console[bA(0x3fc)](a0L['white']('\x20\x20Starting\x20exam...'));const Z={...L,'startedAt':new Date()['toISOString']()};console['log'](),N(-0x2*0xece+-0x4c*0x17+-0x1238*-0x2,bA(0x29e)),await q(0x3*0x44f+0x161c+-0xed*0x25),N(0xdf5+-0xdaf*-0x2+0x1*-0x292b,bA(0x293)),await q(-0x24f+0x1*-0x141d+-0x1ef*-0xc),N(-0x14d5*0x1+0xda*0xe+0x939,bA(0x1be)),await q(-0x46+0x7c7+-0xa1*0xb),N(0xe86+-0x3*-0x7db+-0x25b3*0x1,bA(0x39b)),console[bA(0x3fc)](),console[bA(0x3fc)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bA(0x30f),String(H)),a0af(bA(0x2c3),'No\x20time\x20limit'),U(K[0x1*0x124+0x45*0x12+-0x3b*0x1a]);}),B[bb(0x19f)](bb(0x3bc))[bb(0x36e)](bb(0x1d6))[bb(0x20e)](async()=>{const bF=bb;a0a8(bF(0x2b6)),E(bF(0x3a1));const {getLocalizedDemoSession:F}=await import(bF(0x1c7)),G=a0a6();if(!G||0x15*-0x157+-0x5*-0x779+-0x1*0x93a===G[bF(0x335)])return console[bF(0x3fc)](),console[bF(0x3fc)](a0L[bF(0x1c1)](bF(0x27b))+a0L[bF(0x1b9)]['cyan'](bF(0x3e2))+a0L[bF(0x1c1)](bF(0x3f1))),void console[bF(0x3fc)]();const H=a0Y();if(H){if(bF(0x436)!==H[bF(0x3ff)][bF(0x206)])return a0ab('Exam\x20\x22'+H[bF(0x3ff)]['examName']+bF(0x340)),void a0ac(bF(0x1fb));a0a0();}const J=V=>{const bG=bF;if(!V[bG(0x221)])return V;const W=V[bG(0x1d5)][V[bG(0x221)]],X=['A','B','C','D'][bG(0x1a0)](a2=>V[bG(0x1d5)][a2]);for(let a2=X[bG(0x335)]-(0x17*0xe1+-0x1773+0x33d*0x1);a2>-0x2543*-0x1+-0x1*0x248c+0x1*-0xb7;a2--){const a3=Math[bG(0x198)](Math[bG(0x183)]()*(a2+(-0x1*0x2588+0x1547+0x1042)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[0x1d99*-0x1+-0x7*-0x1b5+0x1*0x11a6],Y['B']=X[-0x2122+0x9d*0x37+-0x98],Y['C']=X[-0x1*0x63a+0x2*-0xca8+0x1f8c],Y['D']=X[-0x1473+0xd67*-0x1+0x21dd];const Z=Y,a0=['A','B','C','D'][bG(0x297)](a4=>Z[a4]===W),a1={...V};return a1[bG(0x1d5)]=Z,a1[bG(0x221)]=a0,a1;},K=G['map']((V,W)=>({...J(V),'number':W+(0x2646+-0x18a5+0x10*-0xda)})),L=F(),Q={...L,'examName':L[bF(0x3b8)]+bF(0x3ab),'questionCount':K['length'],'startedAt':new Date()[bF(0x3a5)]()};console[bF(0x3fc)](),a0ae(bF(0x2f5)),console[bF(0x3fc)](),console['log'](a0L[bF(0x171)](bF(0x29d)+K[bF(0x335)]+bF(0x175)+(0xf*0x6b+0x2*0x893+0x6*-0x3e7===K['length']?'':'s')+'\x20you\x20got\x20wrong.')),console['log'](a0L[bF(0x1ef)](bF(0x17e))),console[bF(0x3fc)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af('Questions',String(K[bF(0x335)])),a0af(bF(0x2c3),bF(0x39f)),U(K[-0x42*-0x4a+0x1ceb+-0x1*0x2fff]);}),B[bb(0x19f)]('setup')[bb(0x36e)](bb(0x3f7))[bb(0x20e)](async()=>{const bH=bb;if(a0a8(bH(0x302)),-0x196f+-0x1edd*-0x1+0x1*-0x56e===a0a3()[bH(0x333)])return console['log'](),a0ab(bH(0x1cc)),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x36d))+a0L[bH(0x1b9)][bH(0x42f)](bH(0x243))),void console[bH(0x3fc)]();const K=a0ak();if(K){const a4=K['installedPackages'][bH(0x335)],a5=a4+K['failedPackages']['length'];if(a4>=-0xda8+0x1e92+-0x10e2||(a5>-0x1*0x397+0x449*-0x7+0x2196?a4/a5:0x1*0xe75+0x1*0x139f+-0x2214)>=0x10ab+0x2633+-0x1b6f*0x2+0.7)return console[bH(0x3fc)](),console[bH(0x3fc)](a0L['green'](bH(0x1fd))+a0L[bH(0x39e)](bH(0x276))),console[bH(0x3fc)](a0L[bH(0x1ef)]('\x20\x20\x20\x20Completed:\x20'+K['completedAt']['split']('T')[0x9e5+0x53*-0x4f+-0x1*-0xfb8])),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x423)+K['pythonVersion'])),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x346)+a4+'\x20installed')),K[bH(0x435)]['length']>0x1bb3+0x683+-0x2236&&console[bH(0x3fc)](a0L[bH(0x1c1)]('\x20\x20\x20\x20Failed:\x20'+K[bH(0x435)][bH(0x225)](',\x20'))),console['log'](),console['log'](a0L[bH(0x171)](bH(0x154))+a0L[bH(0x1b9)][bH(0x42f)](bH(0x194))),console[bH(0x3fc)](a0L['gray'](bH(0x23f))+a0L[bH(0x1b9)][bH(0x42f)](bH(0x41b))+a0L[bH(0x1ef)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),void console[bH(0x3fc)]();console[bH(0x3fc)](),console[bH(0x3fc)](a0L['yellow'](bH(0x311)+a4+'/'+a5+'\x20packages.\x20Retrying...')),console[bH(0x3fc)]();}console[bH(0x3fc)](),a0ae(bH(0x40e)),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x171)](bH(0x40f))),console['log'](a0L[bH(0x1ef)](bH(0x2a1))),console[bH(0x3fc)]();const L=(a6,a7)=>{const bI=bH,a8=process[bI(0x1e8)];console[bI(0x3fc)](),a0aa('missing'===a6?'Python\x203\x20not\x20found.':'Python\x20'+a7+bI(0x21f)),console[bI(0x3fc)](),console[bI(0x3fc)](a0L[bI(0x1b9)][bI(0x171)]('\x20\x20How\x20to\x20install\x20Python\x203.10+\x20(3.12\x20recommended):')),console[bI(0x3fc)](),'darwin'===a8?(console[bI(0x3fc)](a0L[bI(0x1c1)]('\x20\x20macOS\x20(Homebrew,\x20recommended):')),console[bI(0x3fc)](a0L[bI(0x39e)](bI(0x401))),console[bI(0x3fc)](),console[bI(0x3fc)](a0L['gray'](bI(0x27a))),console[bI(0x3fc)](a0L[bI(0x1ef)]('\x20\x20\x20\x20https://www.python.org/downloads/macos/'))):'linux'===a8?(console[bI(0x3fc)](a0L[bI(0x1c1)](bI(0x3c1))),console['log'](a0L[bI(0x39e)](bI(0x2bb))),console['log'](a0L[bI(0x39e)](bI(0x257))),console[bI(0x3fc)](a0L['green'](bI(0x447))),console[bI(0x3fc)](a0L[bI(0x1ef)](bI(0x219))),console[bI(0x3fc)](),console[bI(0x3fc)](a0L[bI(0x1c1)](bI(0x38f))),console[bI(0x3fc)](a0L[bI(0x39e)](bI(0x44e))),console['log'](),console[bI(0x3fc)](a0L['yellow'](bI(0x2a9))),console[bI(0x3fc)](a0L['green'](bI(0x15d)))):'win32'===a8?(console[bI(0x3fc)](a0L[bI(0x1c1)](bI(0x3bf))),console['log'](a0L[bI(0x39e)](bI(0x1eb))),console[bI(0x3fc)](),console[bI(0x3fc)](a0L[bI(0x1ef)](bI(0x27a))),console[bI(0x3fc)](a0L[bI(0x1ef)](bI(0x42b)))):console[bI(0x3fc)](a0L['gray']('\x20\x20\x20\x20https://www.python.org/downloads/')),console['log'](),console[bI(0x3fc)](a0L[bI(0x171)](bI(0x339))+a0L['bold'][bI(0x42f)](bI(0x302))),console[bI(0x3fc)]();},Q=bH(0x457);let V='';try{const a6={};a6[bH(0x2a6)]='utf-8',a6['timeout']=0x1388,V=a0an(Q+bH(0x338),a6)[bH(0x273)]()[bH(0x239)]('Python\x20','');const a7=V[bH(0x2a7)]('.')[bH(0x1a0)](Number);if(a7[-0x25b7+-0x20f1+0xa18*0x7]<-0x821+-0x82*0x1+0x29*0x36||-0x2402+0x259+0x21ac===a7[-0x1297+-0x150*0x1b+0x3607]&&a7[-0x1*0x1c8b+0x1a*-0x20+0x94*0x37]<0x1578+0x13d0+0x293e*-0x1)return void L('too_old',V);0x1*-0xa49+-0xd+0xa59===a7[-0x1419*-0x1+-0x1*-0xb2f+-0x1f48]&&a7[0xde9+0x2*0x127d+-0x32e2]<-0x162e+-0x2b7+0x18f1?console[bH(0x3fc)](a0L[bH(0x39e)](bH(0x31f)+V)+a0L['gray'](bH(0x441))):console[bH(0x3fc)](a0L[bH(0x39e)]('\x20\x20✓\x20Python\x20'+V));}catch{return void L(bH(0x34d));}try{const a8={};a8[bH(0x270)]=bH(0x336),a8[bH(0x272)]=0x1388,(a0an(Q+bH(0x2d3),a8),console[bH(0x3fc)](a0L[bH(0x39e)](bH(0x22f))));}catch{console[bH(0x3fc)](a0L[bH(0x1c1)](bH(0x2c8)));try{const a9={};a9[bH(0x270)]=bH(0x336),a9[bH(0x272)]=0x7530,(a0an(Q+bH(0x2ef),a9),console[bH(0x3fc)](a0L[bH(0x39e)]('\x20\x20✓\x20pip\x20installed')));}catch{a0aa('Could\x20not\x20install\x20pip\x20—\x20pip\x20is\x20not\x20installed\x20on\x20your\x20system.'),console['log']();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import(bH(0x451)),{execFileSync:ac}=await import(bH(0x1c5)),ad=aa(),ae=ab(),af=bH(0x163)===process[bH(0x1e8)]&&!ad,ag=bH(0x32e)===process['platform'];let ah=bH(0x1ea);if(af||ad)try{const {readFileSync:ak}=await import(bH(0x30a)),al=ak(bH(0x212),'utf-8'),am=(al[bH(0x2c7)](/^ID="?([^"\n]+)/m)||[])[-0x7bd*-0x1+0x41*0x81+-0x1*0x287d]||'',an=(al['match'](/^VERSION_ID="?([^"\n]+)/m)||[])[0x705+0xd7b+-0x147f]||'';bH(0x2da)===am?ah=bH(0x3d8)+an+(ad?bH(0x393):''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?bH(0x393):''));}catch{}let ai=!(-0xdf2+0xf83*-0x1+-0x3*-0x9d2);if(ag)try{const ao={};ao['stdio']='ignore',ao[bH(0x272)]=0x7d0,(ac(bH(0x43a),[bH(0x1f3)],ao),ai=!(0x18*0x4+-0xa48+0x8*0x13d));}catch{ai=!(0x45+-0x796*-0x1+-0x7da);}const aj=ae?'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20installer\x20cannot\x20run\x20inside\x20the\x20prompt':bH(0x215);return console[bH(0x3fc)](a0L[bH(0x1b9)][bH(0x1c1)](bH(0x1e3))),console[bH(0x3fc)](a0L[bH(0x1b9)]['yellow']('\x20\x20'+aj)),console[bH(0x3fc)](a0L[bH(0x1b9)][bH(0x1c1)](bH(0x1e3))),console['log'](),af||ad?(console[bH(0x3fc)](a0L[bH(0x171)](bH(0x229))+a0L[bH(0x42f)](ah)),console[bH(0x3fc)](a0L['gray'](bH(0x3cb))),console['log'](),console['log'](a0L[bH(0x1b9)][bH(0x171)](bH(0x366))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x171)](bH(0x2f1))+a0L['bold']['cyan'](bH(0x188))+a0L[bH(0x171)]('\x20and\x20press\x20Enter\x20to\x20leave\x20icoa')),console[bH(0x3fc)](),console['log'](a0L[bH(0x171)](bH(0x1a6))),console[bH(0x3fc)](),console[bH(0x3fc)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1b9)]['cyan']('sudo\x20apt\x20update')),console[bH(0x3fc)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1b9)][bH(0x42f)]('sudo\x20apt\x20install\x20-y\x20python3-pip\x20python3-venv')),console['log'](),console['log'](a0L['white'](bH(0x3d5))),console[bH(0x3fc)](),console[bH(0x3fc)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1b9)][bH(0x42f)]('icoa')),console['log'](bH(0x170)+a0L[bH(0x1ef)]('icoa>')+'\x20'+a0L[bH(0x1b9)][bH(0x42f)](bH(0x302)))):ag?(console[bH(0x3fc)](a0L['white'](bH(0x229))+a0L[bH(0x42f)](bH(0x404))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x1b9)][bH(0x171)](bH(0x366))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L['white']('\x20\x20\x20\x201.\x20Type\x20')+a0L[bH(0x1b9)]['cyan'](bH(0x188))+a0L['white'](bH(0x26a))),console['log'](),ai?(console[bH(0x3fc)](a0L[bH(0x171)](bH(0x2b2))),console['log'](),console['log'](bH(0x170)+a0L[bH(0x1b9)][bH(0x42f)]('brew\x20install\x20python@3.12')),console[bH(0x3fc)](bH(0x170)+a0L[bH(0x1b9)][bH(0x42f)]('brew\x20link\x20--overwrite\x20python@3.12'))):(console['log'](a0L[bH(0x171)](bH(0x1fa))+a0L[bH(0x1b9)][bH(0x1c1)](bH(0x1f3))+a0L[bH(0x171)]('):')),console[bH(0x3fc)](),console[bH(0x3fc)](bH(0x170)+a0L[bH(0x1b9)][bH(0x42f)](bH(0x32a))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x171)](bH(0x382))),console[bH(0x3fc)](),console[bH(0x3fc)](bH(0x170)+a0L['bold'][bH(0x42f)](bH(0x156)))),console[bH(0x3fc)](),console['log'](a0L[bH(0x171)](bH(0x45b))),console[bH(0x3fc)](),console['log'](bH(0x170)+a0L['bold'][bH(0x42f)]('icoa')),console[bH(0x3fc)](bH(0x170)+a0L[bH(0x1ef)](bH(0x3e4))+'\x20'+a0L[bH(0x1b9)][bH(0x42f)](bH(0x302)))):ae?(console['log'](a0L[bH(0x171)]('\x20\x20Detected:\x20')+a0L['cyan'](bH(0x37f))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x1b9)][bH(0x1c1)]('\x20\x20ICOA\x20officially\x20supports\x20WSL2\x20on\x20Windows.')),console[bH(0x3fc)](a0L['gray'](bH(0x17f))),console[bH(0x3fc)](a0L[bH(0x1ef)]('\x20\x20Paper\x20A\x20/\x20B\x20practical\x20questions\x20need\x20Unix\x20tooling\x20that\x20runs')),console[bH(0x3fc)](a0L['gray'](bH(0x353))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x1b9)][bH(0x171)](bH(0x1dc))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x171)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bH(0x1b9)][bH(0x42f)](bH(0x188))+a0L[bH(0x171)]('\x20to\x20leave\x20icoa')),console[bH(0x3fc)](a0L['white']('\x20\x20\x20\x202.\x20In\x20an\x20Administrator\x20PowerShell,\x20run:')),console['log'](),console[bH(0x3fc)](bH(0x170)+a0L[bH(0x1b9)][bH(0x42f)]('wsl\x20--install\x20-d\x20Ubuntu-22.04')),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x228))),console[bH(0x3fc)](a0L['white']('\x20\x20\x20\x203.\x20Inside\x20Ubuntu,\x20install\x20Node.js\x2022\x20+\x20Python\x20tools\x20+\x20icoa:')),console[bH(0x3fc)](),console[bH(0x3fc)](bH(0x170)+a0L['bold'][bH(0x42f)](bH(0x30c))),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bH(0x42f)](bH(0x303))),console[bH(0x3fc)](bH(0x170)+a0L[bH(0x1b9)]['cyan'](bH(0x216))),console[bH(0x3fc)](bH(0x170)+a0L['bold'][bH(0x42f)](bH(0x1e0))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L['gray'](bH(0x18d))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x171)](bH(0x2f1))+a0L[bH(0x1b9)][bH(0x42f)](bH(0x188))+a0L[bH(0x171)](bH(0x26a))),console['log'](a0L['white'](bH(0x244))),console[bH(0x3fc)](),console['log'](bH(0x170)+a0L['bold']['cyan'](bH(0x1b2))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L['gray']('\x20\x20\x20\x20\x20\x20\x20(Or\x20download\x20from\x20python.org\x20and\x20CHECK\x20both\x20\x22Add\x20Python\x20to')),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x3c5))),console['log'](a0L[bH(0x171)](bH(0x318))),console[bH(0x3fc)](),console[bH(0x3fc)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1b9)][bH(0x42f)]('icoa')),console[bH(0x3fc)](bH(0x170)+a0L[bH(0x1ef)](bH(0x3e4))+'\x20'+a0L[bH(0x1b9)]['cyan'](bH(0x302)))):(console[bH(0x3fc)](a0L['white']('\x20\x20Detected:\x20unrecognized\x20platform\x20(')+a0L['cyan'](process['platform'])+a0L[bH(0x171)](')')),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x1ef)]('\x20\x20Reinstall\x20Python\x203.12\x20with\x20pip\x20bundled,\x20then\x20retry:')),console[bH(0x3fc)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x1b9)][bH(0x42f)](bH(0x1e0))),console[bH(0x3fc)](bH(0x170)+a0L[bH(0x1ef)](bH(0x3e4))+'\x20'+a0L[bH(0x1b9)][bH(0x42f)](bH(0x302)))),console[bH(0x3fc)](),console['log'](a0L['gray'](bH(0x28f))),void console[bH(0x3fc)]();}}const W={};W[bH(0x3de)]=bH(0x386),W[bH(0x330)]=bH(0x290),W[bH(0x1ab)]='z3',W[bH(0x31a)]=bH(0x17c),W[bH(0x36f)]=bH(0x390),W[bH(0x334)]=bH(0x2d1);const X=[bH(0x36f),bH(0x38b),bH(0x316),bH(0x3de),bH(0x3dc),'pillow',bH(0x3f5),bH(0x39a),bH(0x1ab),bH(0x330),'ROPgadget',bH(0x285),bH(0x2dc)],Y=W;console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x171)](bH(0x1c4)+X['length']+'\x20packages...')),console['log']();let Z='';try{const ap={};ap[bH(0x2a6)]='utf-8',ap[bH(0x272)]=0x2710,a0an(Q+'\x20-m\x20pip\x20install\x20--dry-run\x20pip\x202>&1',ap);}catch(aq){const ar=String(aq?.[bH(0x1b8)]||aq?.['stderr']||aq?.[bH(0x26e)]||'');/externally-managed-environment|break-system-packages/i[bH(0x352)](ar)&&(Z=bH(0x159),console[bH(0x3fc)](a0L[bH(0x1c1)](bH(0x35e))),console[bH(0x3fc)]());}const a0=V[bH(0x2a7)]('.')[bH(0x1a0)](Number);-0x19a8+0xa3+0x42c*0x6===a0[-0x2a1+-0x1*0x1b8f+-0x30*-0xa1]&&a0[0x1cc3+0x10d+-0x1dcf]>=0x2*-0x12af+0x255f+0xc&&(console[bH(0x3fc)](a0L[bH(0x1c1)](bH(0x348)+V+'\x20detected')),console['log'](a0L[bH(0x1ef)]('\x20\x20\x20\x20Some\x20packages\x20(pwntools,\x20scapy)\x20may\x20not\x20have\x20wheels\x20yet\x20for\x203.13.')),console[bH(0x3fc)](a0L['gray'](bH(0x383))),bH(0x163)===process[bH(0x1e8)]&&(console[bH(0x3fc)](a0L[bH(0x39e)](bH(0x1ed))),console[bH(0x3fc)](a0L[bH(0x39e)](bH(0x358)))),console['log']());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+'\x20-m\x20pip\x20install\x20\x22'+as+'\x22\x20'+Z+bH(0x1ac),{'encoding':'utf-8','timeout':0x2bf20,'stdio':bH(0x3a3)}),a0an(Q+bH(0x3b0)+(Y[as]||as)+'\x22',{'stdio':bH(0x336),'timeout':0x2710});let at='';try{const au=a0an(Q+bH(0x2f4)+as+bH(0x3e3),{'encoding':'utf-8','timeout':0x1388})[bH(0x2c7)](/^Version:\s*(.+)$/m);au&&(at=au[-0x3ea+-0x212f*-0x1+-0x1d44]['trim']());}catch{}console[bH(0x3fc)](a0L[bH(0x39e)](bH(0x1fd)+as)+(at?a0L[bH(0x1ef)]('\x20('+at+')'):'')),a1['push'](at?as+'=='+at:as);}catch(av){const aw=String(av?.['stdout']||av?.['stderr']||av?.[bH(0x26e)]||'')['slice'](-(-0x1*0x9d6+-0x23b*-0x6+-0x1fc)),ax=aw[bH(0x2a7)]('\x0a')[bH(0x205)](ay=>ay[bH(0x273)]())[bH(0x167)](-(0x359*-0x2+-0x30c+0x9c0))[bH(0x225)](bH(0x16a))[bH(0x167)](-0x26a0+-0xc74+0x3314,-0x8c*0x2b+0x1*0x13a5+-0xb*-0x65);console[bH(0x3fc)](a0L[bH(0x372)](bH(0x305)+as)+a0L[bH(0x1ef)]('\x20\x20'+ax)),a2[bH(0x34c)]({'pkg':as,'error':ax}),a3||(a3=aw);}0x63c+-0x2019+-0x19dd*-0x1===a1[bH(0x335)]&&a3&&(console[bH(0x3fc)](),console[bH(0x3fc)](a0L['yellow'](bH(0x42e))),console[bH(0x3fc)](a0L['gray']('\x20\x20'+a3[bH(0x2a7)]('\x0a')[bH(0x167)](-(-0x247c+0x35*-0xac+-0x3*-0x180a))[bH(0x225)](bH(0x41f))))),a0al({'completedAt':new Date()[bH(0x3a5)](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bH(0x1a0)](ay=>ay[bH(0x35d)])}),console[bH(0x3fc)](),-0xfe9*-0x1+0x1d8+-0x11c1===a2['length']?a0a9(bH(0x443)+X[bH(0x335)]+bH(0x3c9)):-0x105*-0x2+0x15a*0x1a+0x1297*-0x2===a1[bH(0x335)]?(a0aa(bH(0x18c)+X[bH(0x335)]+bH(0x3c9)),console['log'](),console[bH(0x3fc)](a0L[bH(0x1c1)]('\x20\x20Troubleshooting:')),0x2*0x78d+-0x1245+-0x25*-0x16===a0[-0x2216+-0x49*0x77+-0x4405*-0x1]&&a0[-0x13*0x1f7+-0x4*-0x6d+-0x23a2*-0x1]>=-0xa8f*-0x1+0x1ee3*0x1+-0x2965*0x1?(console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x304))),console['log'](a0L[bH(0x1ef)](bH(0x44f)))):(console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x20a))),console['log'](a0L[bH(0x1ef)]('\x20\x20\x20\x20•\x20Try:\x20')+a0L['cyan'](Q+bH(0x365))+a0L['gray'](bH(0x442))),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x20f)))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x171)](bH(0x224))+a0L[bH(0x1b9)][bH(0x42f)]('exam\x20setup'))):a0ab(a1['length']+'/'+X[bH(0x335)]+bH(0x2ae)+a2[bH(0x335)]+bH(0x28b)+a2[bH(0x1a0)](ay=>ay[bH(0x35d)])[bH(0x225)](',\x20')),console['log'](),console[bH(0x3fc)](a0L[bH(0x42f)](bH(0x406))),console[bH(0x3fc)](a0L[bH(0x1b9)][bH(0x171)]('\x20\x20How\x20to\x20use\x20Python\x20in\x20ICOA\x20CLI')),console[bH(0x3fc)](a0L[bH(0x42f)](bH(0x406))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L['bold'][bH(0x1c1)](bH(0x3b2))+a0L[bH(0x1ef)](bH(0x211))),console[bH(0x3fc)](a0L[bH(0x171)]('\x20\x20Just\x20add\x20!\x20before\x20the\x20command:')),console[bH(0x3fc)](a0L[bH(0x39e)]('\x20\x20\x20\x20!python3\x20-c\x20\x22import\x20base64;\x20print(base64.b64decode(\x27SGVsbG8=\x27))\x22')),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x2be))),console[bH(0x3fc)](),console[bH(0x3fc)](a0L[bH(0x1b9)][bH(0x1c1)]('\x20\x20Method\x202:\x20Interactive\x20Python')+a0L[bH(0x1ef)]('\x20(explore\x20&\x20experiment)')),console['log'](a0L[bH(0x171)]('\x20\x20Start\x20a\x20Python\x20session,\x20type\x20commands\x20one\x20by\x20one:')),console[bH(0x3fc)](a0L[bH(0x39e)](bH(0x259))),console[bH(0x3fc)](a0L[bH(0x1ef)]('\x20\x20\x20\x20>>>\x20from\x20Crypto.Cipher\x20import\x20AES')),console[bH(0x3fc)](a0L[bH(0x1ef)]('\x20\x20\x20\x20>>>\x20key\x20=\x20bytes.fromhex(\x2249434f41...\x22)')),console[bH(0x3fc)](a0L[bH(0x1ef)]('\x20\x20\x20\x20>>>\x20cipher\x20=\x20AES.new(key,\x20AES.MODE_CBC,\x20iv)')),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x388))),console['log'](a0L[bH(0x1ef)]('\x20\x20\x20\x20>>>\x20exit()')),console[bH(0x3fc)](),console[bH(0x3fc)](a0L['bold']['yellow'](bH(0x2b9))+a0L[bH(0x1ef)](bH(0x43b))),console['log'](a0L[bH(0x171)](bH(0x269))),console[bH(0x3fc)](a0L[bH(0x39e)](bH(0x16f))),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x43d))),console['log'](a0L[bH(0x1ef)](bH(0x2bc))),console['log'](a0L[bH(0x1ef)](bH(0x2ac))),console['log'](a0L[bH(0x1ef)](bH(0x1e7))),console[bH(0x3fc)](a0L[bH(0x39e)](bH(0x326))),console[bH(0x3fc)](a0L[bH(0x39e)](bH(0x3dd))),console['log'](),console[bH(0x3fc)](a0L[bH(0x1b9)][bH(0x1c1)](bH(0x25f))),console[bH(0x3fc)](a0L[bH(0x171)](bH(0x38a))+a0L['bold'][bH(0x42f)]('hint')+a0L[bH(0x171)](bH(0x33f))),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x189))),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x218))),console['log'](a0L[bH(0x1ef)](bH(0x1f6))),console[bH(0x3fc)](a0L[bH(0x42f)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),console[bH(0x3fc)](a0L['white'](bH(0x154))+a0L[bH(0x1b9)][bH(0x42f)](bH(0x194))),console[bH(0x3fc)](a0L[bH(0x1ef)](bH(0x23f))+a0L[bH(0x1b9)]['cyan'](bH(0x41b))+a0L[bH(0x1ef)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console[bH(0x3fc)]();}),B[bb(0x20e)](()=>{const bJ=bb;a0a8(bJ(0x261));const F=a0Y();if(F){a0ae(bJ(0x2a3)+F[bJ(0x3ff)]['examName']),O();const J=Object['keys'](F[bJ(0x191)])['length'];return a0af(bJ(0x3ef),J+'/'+F[bJ(0x3ff)][bJ(0x3f6)]+bJ(0x2c2)),console[bJ(0x3fc)](),void console[bJ(0x3fc)](a0L['gray'](bJ(0x2f0)));}const G=a0a3(),H=a0ak();console[bJ(0x3fc)](),a0ae('ICOA\x20National\x20Selection\x20Exam'),console[bJ(0x3fc)](),-0x1*-0x479+0x1*-0x1d96+-0x191d*-0x1===G[bJ(0x333)]?(console[bJ(0x3fc)](a0L[bJ(0x1c1)]('\x20\x20○\x20')+a0L[bJ(0x1c1)](bJ(0x3c6))),console[bJ(0x3fc)](a0L[bJ(0x1ef)]('\x20\x20\x20\x20→\x20')+a0L['bold']['cyan'](bJ(0x243)))):(console['log'](a0L[bJ(0x39e)](bJ(0x15c))+a0L[bJ(0x39e)]('Demo\x20completed\x20('+G[bJ(0x333)]+bJ(0x363)+(-0x1499*-0x1+-0xcb9*-0x2+-0x8e*0x53!==G[bJ(0x333)]?'s':'')+')')),H?(console[bJ(0x3fc)](a0L[bJ(0x39e)]('\x20\x20●\x20')+a0L[bJ(0x39e)](bJ(0x355))),console['log'](a0L[bJ(0x1c1)]('\x20\x20○\x20')+a0L['yellow'](bJ(0x1bf))),console[bJ(0x3fc)](a0L[bJ(0x1ef)](bJ(0x2dd))+a0L[bJ(0x1b9)][bJ(0x42f)]('exam\x20<token>'))):(console[bJ(0x3fc)](a0L[bJ(0x1c1)]('\x20\x20○\x20')+a0L[bJ(0x1c1)](bJ(0x3c8))),console[bJ(0x3fc)](a0L[bJ(0x1ef)](bJ(0x2dd))+a0L[bJ(0x1b9)][bJ(0x42f)]('exam\x20setup')))),console['log']();});}
1
+ function a0z(){const bK=['l2fWAs9Py29Hl2v4yw1ZlW','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','Bg9N','AxnuvfK','ihrVigXLyxzLigLJB2e','ic1TihbPCcaTlxzLCNnPB24','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icdIL4SG','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','z2v0uMvZDwX0','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','BM90ugfZC2vK','icdIHPiG','icbtDgvWlwj5lxn0zxa6','zxHHBsbTB3jLlwHLBha','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','Dg90ywW','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','C2nVCMu','CM91BMq','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','uMv2Awv3oIa','C3bSAxq','vxbSB2fKAw5NigfUC3DLCNmUlI4','zMfPBgvKugfJA2fNzxm','zxHWBgfUyxrPB24','icaGign0zJrHAq','igLUC3rHBgXLza','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','x2HLBhbvC2vK','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','zwDNmte','vMLLDYbLEgfTihjLC3vSDa','yxr0ywnOzwreyxrH','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','sw5KB25LC2LH','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','ihLLDc4','mJmWD2T2wMnh','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','Bwf4','icaGsg93ihrVigf0DgfJAW','ic8G','icaGicaGia','CMv2Awv3','khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','rwD5Chq','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','Ew91CKfUC3DLCG','Aw50zxjHy3rPB25Z','icbzB3uGy2fUihbHDxnLihDPDgGG','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','q291BNrYEq','tK9uifbbu1nfra','yw5ZD2vYx2nOyw5Nzwq','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','y3rMngfPpG','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','zwXPBwLUyxrLza','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','CM9Wz2fKz2v0','CMvZDwX0ifTPzf0','mJKWmZy3sLzZDxvR','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','icbB','y2f0','icaGicbfBNrLCIbJAgf0oIaGicaG','icaGia','icbuBYbJB25MAxjToIaG','ihbHy2THz2vZlI4U','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','4O+XifrPBwuGCMvTywLUAw5NoG','DMXH','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','8j+pM++4JW','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','zwXPBwLUyxrLzca','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','igzVCIb0AgLZihnLy3rPB24','ueftu0ve','ueLm','icaGiokCKYbZyxzLza','icaGigv4yw0GCsaXlI4','AgLUDcbHic8GyIaVigm','ChLJCNLWDg9KB21L','zxHHBsbSAxn0ia','ig1PBNv0zxm','icdWN5kHifrYEsb0ExbPBMCG','zxHHBvDHExngB3vUza','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','icdIMiyGuq','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','vw5PDgvKifn0yxrLCW','AgvSCf91C2vK','icbmyw5NDwfNztOG','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','CgvYy2vUDgfNzq','l2v0yY9VCY1YzwXLyxnL','ihrOzsbJB21WzxrPDgLVBI4','tMLJzsbVBMuU','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','x2HLBhbqzxjr','icbqCMfJDgLJAw5Nia','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','AhrWtMf2','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','qNjHEMLS','wYbDica','zxHHBsbZDgfYDca','AhrWqMfJAW','vhvYA2v5','zxHHBsbYzxzPzxC','ieLdt0f7Ew91CL9MBgfNFq','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','ifSGxsaG','icbdyw5JzwXSzwqU','CMfUzg9T','icdINjmGCgLWigf2ywLSywjSzq','Cg9PBNrZ','yM9VA21HCMTZ','r28GDg8GBMv4DcbXDwvZDgLVBG','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','CxvPDa','zNjVBq','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','CMvK','icaGicaGicaOBM93lcb+nsbTAw4P','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','C3vIBwL0DgvK','uhjLCgfYAw5NlI4U','CgTN','y29UzMLYBwvKqxq','zgvTB0LUDhjVu2vLBG','icaGig5LEhq','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','zgvTBY1LBNrLCG','AgvSCfjLBw92zq','mJuSmdaW','icbpCIb0ExbLia','zMLUza','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','igfUC3DLCMvKkq','sgvSCdOGicaGica','ixb5DgHVBJmGlI4U','zxHHBsbOzwXW','icaGihzSytrJDgy','CMvM','zxHHBsbTyxjRia','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','mtaYnde3CLHcyKfv','u3rHDhvZ','DgLTzw91Da','zw5KC1DPDgG','CxvLC3rPB25dB3vUDa','y3LHBG','zxHHBsbYzxn1BhqG','icbizwXWihvZzwq6ia','sw5KAwe','y2f0zwDVCNK','A2v5CW','icbjBNn0ywXSAw5Nia','drTBmKSGia','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','CMvWBgfJzq','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','zgvTBW','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','CdmW','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','icbsDwXLCZO','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','C19HAtrJDgy','l2fUC3DLCG','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','icbuBYbNBYbIywnRoIaG','Bwf0y2G','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','icdILRGG','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','uhL0Ag9UidmGBM90igzVDw5KlG','z3jLzw4','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','AhrWsNvTCa','icbbC3nPC3rHBMnLihvZzwq','DxnLza','ica+ia','rxHHBxmG4Ocuia','yxr0zw1WDhm','y2f0zwDVCNLtDgf0CW','tg9HzgLUzYbYzxn1BhqUlI4','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','ig5VDcbMB3vUzcaOms0','zgfYD2LU','BMv4DcaVihbYzxy','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','iefjihn5C3rLBxmU','zxHHBsbZDwjTAxqG','icdINjmGCgLWigLUC3rHBgXLza','icaGicaGicaGkgn0zJrHAsK','rgvTBYbJB21WBgv0zwqGka','Axnoyu4','DhjPBq','ywK0y3rMrgvZyW','C2HVD25xyxjUAw5NCW','y3rMngfP','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','zxHHBsbKzw1VlxjLDhj5','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','Aw5JBhvKzxm','icbzB3uGC3rPBgWGAgf2zsa','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','AhrWu3vIBwL0','AhrWsgvSCa','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','icaGicdILQmG','vgLTzsbLEhbPCMvKlG','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','iokgKIa','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','C2vYDMvYx3rPBwvFBxm','uxvLC3rPB24G','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','C3vIBwL0rxHHBq','CxvLC3rPB24','icbxAgf0ig5LEhq','icbnzxrOB2qGmtOGt25LlwXPBMvY','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','BNvTChK','CgfKrw5K','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','icaGigXHBMC','Aw5ZDgfSBgvKugfJA2fNzxm','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','ixzPihnVBhzLlNb5','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','AxnsyxC','icaGievprG','yw5ZD2vYzwq','C3rKB3v0','mJmXodmYoeDfsuLxBW','z2v0rxHHBxm','igf0DgvTChq','tg9HzgLUzYbLEgfTlI4U','icaGigHLBha','vw5HBNn3zxjLza','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','cGPgDwXSigf0DgfJAgvKigrHDge6cG','BwLU','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','icbtDgfYDgLUzYbLEgfTlI4U','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','Ew91CIbmAw51EcbKAxn0CM8','icaGww91CIb0zxjTAw5HBca','uxvLC3rPB25Z','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icaGicaGicaGia','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','D2HPDgu','CgXHDgzVCM0','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','zwDNmtu','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','yM9Sza','Dg9Rzw4','ic0TDMvYC2LVBG','icbfEgfTCgXLoIa','AhrWtw9YzuHLBha','zw5JB2rPBMC','icbbBNn3zxjZigfYzsa','icdIHPiGia','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','rxHHBsaI','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','CMvNzxG','zxHHBsbHBNn3zxiG','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','zxHHBsb1BM1HCMSG','ihbHy2THz2vZigLUC3rHBgXLzc4G','zgvTBY1MCMvL','icaGiokgKIbIj0HLBgXVjW','uMvZDwX0igXVywrLza','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','icbezxrLy3rLzdOG','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','icbbBNn3zxjZoIa','C3rHCNqGpgLKpG','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','icaGihn1zg8Gyxb0ihvWzgf0zq','rNjHBMnL','tM8GzxHHBsbPBIbWCM9NCMvZCY4','ANnVBG','AgfZ','EJmTC29SDMvY','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','r3jHzgLUzY4UlG','vw5PDgvKieTPBMDKB20','Dw5TyxjRifTUxq','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','icaGicdcTYbbssbPCYb5B3vYia','icaOuMv0CNKGD3jVBMCGB25SEsK','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','vMfSAwrHDgLUzYb0B2TLBI4UlG','BgLUDxG','u291DgGGs29Yzwe','twfJyxu','zwDNoq','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','t24GDgHLig1VBMv5lG','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','BMv3','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','y3rMzfvYBa','AxnbCNjHEq','rxHHy3rSEs4','qwXTB3n0ihjLywr5lI4U','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','icbuB2TLBJOGica','icbqBgvHC2uGCMuTDhLWztOG','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','icHxu0WYkq','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','icbzB3vYigfUC3DLCJOG','tg9HzgLUzYbLEgfTCY4UlG','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','icaGiokgKIa','zgvZy3jPChrPB24','Dg9Rzw4GpgnVzgu+','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icbbC3nPC3rHBMnLoG','B25Jzq','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','mZG4ndyYmMnJEwTOrq','CMvZDw1L','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','icbzB3vYigjLC3q6ia','zxHHBsbKzw1V','igfUC3DLCNmU','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icaGicbuB2TLBJOG','zxHHBsb0B2TLBIa','AhrWtwfYAW','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','x2XHC3rr','CgLSBg93','C3vIC3rYAw5N','zgLT','icbgzwrVCMeGlYbssevmoG','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','igzHAwXLzdOG','zMLUzeLUzgv4','ixb5DgHVBJmGC29SDMuUChK','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','tM8GDgLTzsbSAw1PDa','C29Tzq','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','iefjnenurG','icbcEsbJyxrLz29YEq','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','icbozxH0ihn0zxa6ia','BwfYAYbBBL0','rMXHz2DLzdOGica','AhrWuMv2Awv3','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','lcbUB3qGEw91CIb0zwfTBwf0zq','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','icbzB3vYihj1BG','ic1JicjPBxbVCNqG','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','B3b0Aw9UCW','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','icbVzIa','BwfJt1m','zMLSDgvY','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','CgvYuq','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','icHXDwLJAYb0yxnRCYK','zhvYyxrPB25nAw4','icaGsg93ihrVihDVCMS','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','CMvZzxq','Dg9tDhjPBMC','icaGieeVqI9dl0q','ihrVihnLzsb5B3vYihjLC3vSDhmH','uK9qz2fKz2v0','C3rHCNrLzef0','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','ywrK','vg90ywW','igzPCNn0lG','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','icdINjmG','ihrVigfZAYbbssbMB3iGAgvSCdO','y29UzMLYBq','yNjLDW','zxHHBsbZzxr1Ca','icGR','igzSywDNzwqGzM9YihjLDMLLDY4','icbdDxjYzw50BhKGzMXHz2DLzdOG','CgfZC2vK','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','yNm0','ihbVAw50CYaOntaLkq','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','yMfJAW','u3rHCNrPBMCGDgLTzxiUlI4','icbfEgfToIaGica','uNvZC2LH','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','u29SAwqGCgLJAY4','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','y2XVy2TpzMzZzxrnCW','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','CMvWzwf0','icbozwvKig1VCMu/ifr5Cgu6ia','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','BNvTyMvY','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','ihbVAw50C10','AwnVyt4','zxHHBsbXide','q3j5ChrV','AhrWqw5ZD2vY','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','ywK0y3rM','Dgv4Da','DxrMltG','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','BM93','C2XPy2u','AgvSCa','zMXVB3i','AwDUB3jL','zgf0yq','ue9tva','ic1TihbPCcbPBNn0ywXSici','zgvTBY1YzxrYEq','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','icaGica','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','uhjVz3jLC3m','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','icbuCM91yMXLC2HVB3rPBMC6','txLHBM1HCG','zxHHBsbZDwjTAxqGy29UzMLYBq','Dwj1BNr1','AwnVys1JBgK','q29UDgvUDc1uExbL','ihbVAw50CW','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','icbezw1VoIa','icaGienVBxbSzxrLzdOG','ChL0Ag9UmW','y2f0y2G','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','ChDUDg9VBhm','icaGiokrOsa','lI4VBgLIl2rLBw8TzxHHBs5QCW','icHr','zxHHBu5HBwu','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','C2vZC2LVBG','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','BwfW','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','yxr0ywnRAw5N','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','ugfZCW','C3bSAwnL','icaGiokrOIa','icaGig1HCMS','ig9YigXLyxzLihDPDgGG','q2HPBMe','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','AgvSCfvZzwrvCa','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','ihWG','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','C3rVCa','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','vgLTzsb1C2vKoIa','x2HLBhbnyxG','vMLLDg5HBq','icaG','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','ugHPBgLWCgLUzxm','sw52ywXPzcbLEgfTihrVA2vU','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','quKGDg9Rzw5ZoIa','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','r2HHBMe','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','uMvHzhKH','BwLZC2LUzW','icdIMQaGuhL0Ag9Uia','igf0DgvTChrZ','zxHHBvDHExnbAtrJDgy','icdIMiuG','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','lI4VBgLIl2nVBMzPzY5QCW','icaGicbLEgfTigXPC3qGueu','icaGicbLEgfTigXPC3qGq04','icbbBgWGAgvSCcb1C2vKicG','zwDNnq','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','icaGigv4yw0GC3vIBwL0','zwXPBwLUyxrL','rhvYyxrPB24','Dg9ju09tDhjPBMC','y2HHBMDLzcbMCM9Tia','u2H1zMzSAw5Nig9WDgLVBNmUlI4','qMfUz2XHzgvZAa','ywK0y3rMpG','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','icaOAgvSCca','C2nHChK','icaGiokrOYa','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','icaGigv4yw0GBgLZDcbbvq','vwj1BNr1ia','zxHHBsbWCMv2','BM9KztPJAgLSzf9WCM9JzxnZ','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','yMvZDfbLCMnLBNrHz2u','iIaYpI9KzxyVBNvSBa','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','lI4VBgLIl2v4yw0TC3rHDguUANm','BgfUzYa8y29Kzt4','Cgn0','Bw9Yzs1OzwXW','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','y29TBwfUza','EwvSBg93','yw5ZD2vYCW','vxnLCI1bz2vUDa','uM9VBsb0BYbNCM93oIaGia','C3vKBYbHChqGDxbKyxrL','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','ChDU','BMf0Aw9UCW','AgLUDa','ChjLDG','icdcTYaG','oJaW','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','C29YDa','zxHHBq','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','yxbWBgLJyxrPB24VANnVBG','AwnVyq','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','icaGDxnPBMCGquKSihLVDsDYzsa','icaGifb5DgHVBJOG','icbdB250Aw51zsb0AgLZigv4yw06','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','sMfWyw4','ic1TihbPCcbZAg93ici','icbxCMfWihvWigfUzcbZDwjTAxq6ia','zhvYyxrPB25nAw51DgvZ','icbuBYbJB250Aw51zsb0AgLZigv4yw06','C3vIBwL0ieLdt0f7lI4UFq','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','vgLTzsbszw1HAw5PBMC','Bw9YzsbOzwXW','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','C3rKAw8','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','DM9SyxrPBgL0Etm','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','ihjLBwfPBMLUzYK','ugvYy2vUDgfNzq','ChL0Ag9UvMvYC2LVBG','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','zxHHBvDHExntyxzLzfrV','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','igfUC3DLCMvK','icaGrwXHChnLzdOG','y29TCgXLDgvKqxq','Dg90ywXty29Yzq','ihvUyw5ZD2vYzwq6ia','C3rKAw4','twfSyxLZAwe','mte0mZKWnhHsy1jssq','ihLVDsbNB3qGD3jVBMCU','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','zxHHBsbZDwjTAxq','Dg9Vx29Sza','vgLTzw91DevYCM9Y','icaGid4+pIbLEgL0kcK','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','ihDHCYbUB3qGzMXHz2DLzc4','icaGideUifr5CguG','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','zxHHBvDHExnszwzqExrOB24','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','Aw5JB3jYzwn0sw50CM8','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','D3jPDgu','C3LTChK','u2LUz2fWB3jL','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','icbuExbLia','Cvr1Dg9YAwfS','mtG0ohbpwe1Ata','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','AhrWtgfUzW','rw52AxjVBM1LBNqGCMvHzhK','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','zwDNnW','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','zxHHBsa8Dg9Rzw4+','ChvZAa','AM9PBG','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','t3rOzxi','BgfUz3vHz2u','CdeW','C3vIBwL0DgvKqxq','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','qw5ZD2vYzwq','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','DgvZDa','C3rHDhvZ','icaGicfWExrOB24Z','CgfKu3rHCNq','q29TCgXLDguH','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','C3rKzxjY','quXm','zgvHzgXPBMvtzxj2zxjnCW','CMvXDwvZDhm','icaGigzYB20GChDUigLTCg9YDcb4B3i','l3n1yM1PDa','mtjjqM1tveG','CxvLC3rPB25Z','zwDNmW','C19JDgy0ywK','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','BMv4DeXHyMvS','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','zw50CMLLCW','C3vIBwL0ifTJB25MAxjTqxjNxq','r2vYBwfUEq','zxHHBsbYzxnLDa','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','icaGiokrPca','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','zxHPDa','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','CgfZC2LUz1nJB3jL','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','icbr','mte0nJC5odb2wLjRC20','yMvZDa','imk3ia','yw5ZD2vYx3n1yM1PDhrLza','zxHHBuLK','uhL0Ag9Uia','C3rHCNrfEgfT','icaGiokaOIbuCNK6ia','zxHHBvDHExnuB1nVBhzL','lI4VBgLIl3bSyxrMB3jTlMPZ','ywn0Aw9U','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','zxHHBsa','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','zxHHBv9Pza','icdWN46bicS','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','ihbHy2THz2vZigLUC3rHBgXLzc4','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','DhLWzq','BwvZC2fNzq','rMfPBgvKihrVigXVywqGCMvZDwX0','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','D2LUmZi','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','zxHHBsbUzxH0','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','iIbPCYbPBIbWCM9NCMvZCY4','u3vIBwL0DgvK','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','C3vJy2vLza','zw1VAMK','icbuAw1LoIaGica','ic0TCxvPzxqGmJ4Mmq','A2v5','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','z3jHEq','C2v0uMf3tw9Kzq','igvSAw1PBMf0zwqH','tg9HzgLUzYbXDwvZDgLVBNmUlI4','D2HPy2G','x2vSAw1PBMf0zwq','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','x3n1yM1PDenVBMzPCM1Lza','icdINjmGuhL0Ag9Uia','sw52ywXPzcb0B2TLBG','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','z2v0vgLTzq','yw5ZD2vY','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','sw4GuhjVz3jLC3m6ia','u3vIBwL0igzHAwXLza','y29YCMvJDa','qw5ZD2vYzwq6ica','icaGicbfEgL0ignOyxq6icaGicaG','icbODhrWCZOVl2LJB2eYmdi2lMf1','vgHHAwXHBMq','BM9KztPMCW','icaGicbbssb0B2TLBNm6icaGicaG','mZzkCefmrLa','BgvUz3rO','C3rYAw5NAwz5','y2vPBa','zxHHBsbXia','ywXS','tMfTzq','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','z3jHzgLUzW','Dg9vChbLCKnHC2u','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','CMvTB3zLtgLZDgvUzxi','zMfPBa','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','cIaG','igf0igfUEsb0Aw1LlG','ywLvC2fNzq','DdeW','CMvMihb5DgHVBG','icaGicbjBNnPzguGy2HHDdOGicaG','y2XLyxi','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','rMXHz2DLzcbMB3iGCMv2Awv3','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','BMfTzq','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','y291BNrYEq','rMfPBgvKihrVigXVywqGzxHHBxm','icaGiezHAwXLzdOG','Ag93vg9qBgf5'];a0z=function(){return bK;};return a0z();}(function(z,B){const aX=a0B,F=z();while(!![]){try{const G=parseInt(aX(0x209))/(0x12*-0x81+0x3d6*-0x1+0xce9*0x1)*(parseInt(aX(0x414))/(0xb24+0x85e+-0x1380))+-parseInt(aX(0x4c3))/(-0xf*-0xaa+0xd82+-0x1*0x1775)*(-parseInt(aX(0x464))/(0xdb0+0x18b0+-0x265c))+-parseInt(aX(0x4aa))/(-0x88f*-0x4+0x65*-0x39+-0xbba)*(parseInt(aX(0x3f5))/(-0x843+-0x204+0xa4d))+parseInt(aX(0x2ca))/(0x24b*0x3+-0x7b+0x7*-0xe9)+-parseInt(aX(0x3de))/(0x267e+-0x144a+0x2*-0x916)+-parseInt(aX(0x269))/(0x388+-0x13*-0x151+-0x1c82)+-parseInt(aX(0x428))/(0x114e+-0x1*0x77+-0x10cd);if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,0x4540f*0x2+-0x61*0x1a6f+0x8ab0c));function a0B(a,b){a=a-(-0x260e+0x2*-0x121c+0x4c1a);const c=a0z();let d=c[a];if(a0B['CJNnln']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x221e*0x1+-0x47*0x27+-0x174d,o,p,q=-0x639+-0x4*-0x725+-0x165b;p=i['charAt'](q++);~p&&(o=n%(-0x1616+0x1*0x1d76+-0x4*0x1d7)?o*(0x49e+-0x5d*0x1d+0x62b)+p:p,n++%(-0x1c40+-0x8cb*0x3+0x1237*0x3))?l+=String['fromCharCode'](0x1c94+0x5b5+-0x2*0x10a5&o>>(-(-0xcc8+0x1231+-0x1*0x567)*n&0x1dff+-0xc4d+-0x11ac)):0x1*-0x673+0x8e*0xe+-0x151*0x1){p=j['indexOf'](p);}for(let r=0x94*0x4+-0x6f7*-0x4+-0xf16*0x2,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0xff7+-0x2*0x12fb+0x160f))['slice'](-(0xe9e+-0x2*-0xba+0x404*-0x4));}return decodeURIComponent(m);};a0B['qIQJYe']=e,a0B['FvQVTb']={},a0B['CJNnln']=!![];}const f=c[-0xf33+0x1*0x19f6+-0x5f*0x1d],g=a+f,h=a0B['FvQVTb'][g];return!h?(d=a0B['qIQJYe'](d),a0B['FvQVTb'][g]=d):d=h,d;}import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';import{execSync as a0an}from'node:child_process';const q=z=>new Promise(B=>setTimeout(B,z));function E(B,F={}){const aY=a0B,G=a0W(),H={};H[aY(0x347)]=aY(0x3ba),fetch(aY(0x2aa),{'method':aY(0x33a),'headers':H,'body':JSON[aY(0x466)]({'type':B,'lang':G[aY(0x401)]||'en','timestamp':new Date()[aY(0x38c)](),...F}),'signal':AbortSignal[aY(0x20b)](-0x33*-0x2e+0x266a+-0x1c0c)})['catch'](()=>{});}function N(z,B){const aZ=a0B,F=Math[aZ(0x497)](z/(-0x4*-0x725+-0x2693+0xa63)*(0x1*0x1d76+-0x1*0x1843+-0x1*0x515)),G=-0x2254+0xd6a+0x1508-F,H=a0L[aZ(0x22b)]('█'[aZ(0x325)](F))+a0L[aZ(0x44d)]('░'[aZ(0x325)](G)),J=String(z)[aZ(0x40b)](-0x8cb*0x3+0x1727*-0x1+0x1*0x318b)+'%';process['stdout']['write'](aZ(0x215)+H+'\x20'+J+'\x20\x20'+a0L['gray'](B));}function M(){const b0=a0B,z=a0W();return z[b0(0x2b6)]&&z[b0(0x281)]?new a0V(z[b0(0x2b6)],z[b0(0x281)]):(a0aa(b0(0x2ce)),null);}function O(){const b1=a0B,z=a0a1();z&&(new Date()<z?a0af(b1(0x3c9),a0L[b1(0x3a7)][b1(0x280)](a0ah(z))):a0af('Time',a0L[b1(0x1ef)][b1(0x280)]('EXPIRED')));}function D(z,B){const b2=a0B;return Array[b2(0x2b7)](z[b2(0x1e8)])&&z[b2(0x1e8)][b2(0x24a)](B);}function j(z,B){const b3=a0B,F=Array[b3(0x2b7)](z[b3(0x1e8)])?[...z[b3(0x1e8)]]:[],G=F['indexOf'](B);return G>=-0x1*0x1391+-0x1742+-0x2ad3*-0x1?(F[b3(0x35f)](G,-0x12ab+-0x2f*-0x95+-0x8af),z[b3(0x1e8)]=F,a0Z(z),!(-0x12df+0x1777*-0x1+0x2a57*0x1)):(F[b3(0x3fd)](B),F['sort']((H,J)=>H-J),z[b3(0x1e8)]=F,a0Z(z),!(0x18bb+0x1997*0x1+0x863*-0x6));}function R(B){const b4=a0B,F={};return F['used']=B[b4(0x4a1)]||-0x1271*-0x2+-0x1812*0x1+-0xcd0,F['max']=B['_helpMax']||0x2651+0x1*-0x62a+-0x2013,F[b4(0x2fb)]=B['_helpPerQ']||{},F[b4(0x4bf)]=B[b4(0x452)]||{},F;}function U(z,B){const b5=a0B,F=a0Y(),G=Number(F?.[b5(0x356)][b5(0x20d)]||0x1e39*0x1+-0x380+-0x1*0x1a9b),H=Object[b5(0x213)](F?.['answers']||{})['length'],J=R(F),K=J[b5(0x4bf)][z[b5(0x328)]]||[],L=b5(0x330)===z['type']||b5(0x246)===z[b5(0x43b)]||b5(0x4d1)===z[b5(0x43b)]||z['options']&&!z[b5(0x2f4)]['A']&&!z[b5(0x2f4)]['B'];F&&function(Y,Z){const b6=b5;if('demo-free'===Y[b6(0x356)]['examId'])return;const a0=new Set(Y[b6(0x245)]||[]),a1=Number(Y['session']['questionCount']||-0x57*-0x3f+0x5a8+-0x1ae9),a2=a0a1();if(-0x23ec+-0x358*0x8+0x1*0x3eb6===Z&&a1>=0xd04+-0x737+-0x5a5&&!a0[b6(0x29f)]('p10')){const a3=a2?Math[b6(0x4ac)](0x6cb+-0x292*-0x1+0x3*-0x31f,Math[b6(0x497)]((a2[b6(0x458)]()-Date['now']())/(0xb192*0x1+0x1b6a7+-0x5b3*0x43))):null;console[b6(0x486)](),console[b6(0x486)](a0L[b6(0x44d)]('\x20\x20┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄')),console[b6(0x486)](a0L['cyan']('\x20\x20⏱\x20\x20Time\x20check\x20\x20')+a0L[b6(0x44d)](b6(0x4e8))),null!==a3&&console[b6(0x486)](a0L[b6(0x44d)]('\x20\x20\x20\x20\x20'+a3+b6(0x1fe))),console[b6(0x486)](a0L[b6(0x44d)](b6(0x435))),a0[b6(0x309)](b6(0x402)),Y[b6(0x245)]=Array[b6(0x1ed)](a0),a0Z(Y);}if(0x262f+0x1*-0x6a6+-0x1*0x1f6b===Z&&a1>=-0x2368+-0xb*-0xd4+0x1a74&&!a0[b6(0x29f)](b6(0x21d))){Object[b6(0x213)](Y[b6(0x3a8)]||{})[b6(0x465)];const a4=Object[b6(0x213)](Y[b6(0x3a8)]||{})[b6(0x2f8)](a5=>Number(a5)<=0xd18+0xeaa+-0x1ba4)[b6(0x465)];console[b6(0x486)](),console[b6(0x486)](a0L[b6(0x22b)](b6(0x4d5))),console[b6(0x486)](a0L[b6(0x280)]['green']('\x20\x20✓\x20\x20MCQ\x20section\x20complete\x20—\x20well\x20done!')),console[b6(0x486)](a0L[b6(0x44d)]('\x20\x20\x20\x20\x20'+a4+b6(0x421))),console[b6(0x486)](a0L['white']('\x20\x20↓\x20\x20Practical\x20section\x20begins\x20at\x20Q31.')),console[b6(0x486)](a0L['gray']('\x20\x20\x20\x20\x20Budget\x20~2\x20min\x20per\x20practical\x20question.\x20You\x20can\x20come\x20back\x20with:\x20next\x20/\x20prev.')),console['log'](a0L[b6(0x22b)](b6(0x4d5))),a0[b6(0x309)](b6(0x21d)),Y[b6(0x245)]=Array[b6(0x1ed)](a0),a0Z(Y);}}(F,z[b5(0x328)]),F&&L&&function(Y,Z){const b7=b5;if(b7(0x292)===Y[b7(0x356)][b7(0x42c)])return;if(Number(Y[b7(0x356)]['questionCount']||-0x1ef6+-0x8a*-0x45+-0x614)<-0x1a5*-0x2+-0x1b6e+0x184c)return;const a0=new Set(Y[b7(0x245)]||[]);Z>=-0x1bc5+-0x336+0x1*0x1f1a&&Z<=0x392*-0x2+0x2a*-0x1+-0x12*-0x6a&&!a0[b7(0x29f)]('s_ai4ctf')?(console['log'](),console[b7(0x486)](a0L['green']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b7(0x486)](a0L[b7(0x280)][b7(0x22b)](b7(0x4c6))),console[b7(0x486)](a0L[b7(0x22b)](b7(0x48a))),console['log'](),console[b7(0x486)](a0L[b7(0x27b)]('\x20\x20\x20Welcome\x20to\x20the\x20practical\x20CTF\x20section.\x20Real')),console[b7(0x486)](a0L['white']('\x20\x20\x20security\x20tasks\x20—\x20crypto,\x20web,\x20forensics,\x20pwn.')),console[b7(0x486)](),console['log'](a0L['bold'][b7(0x27b)](b7(0x2a2))),console['log'](a0L['gray']('\x20\x20\x20\x20\x20Solve\x20')+a0L[b7(0x280)]('with')+a0L[b7(0x44d)](b7(0x2ec))),console[b7(0x486)](),console['log'](a0L[b7(0x280)]['white'](b7(0x300))),console[b7(0x486)](a0L[b7(0x44d)](b7(0x4ca))+a0L[b7(0x280)]['green']('ai4ctf')+a0L[b7(0x44d)]('\x20→\x20')+a0L['magenta'](b7(0x390))+a0L[b7(0x44d)](b7(0x229))),console[b7(0x486)](a0L['gray'](b7(0x478))+a0L[b7(0x20e)](b7(0x4e1))+a0L[b7(0x44d)](b7(0x42a))+a0L['cyan'](b7(0x3c7))+a0L[b7(0x44d)](b7(0x42a))+a0L[b7(0x20e)](b7(0x201))),console[b7(0x486)](a0L[b7(0x44d)](b7(0x1eb))),console[b7(0x486)](a0L[b7(0x44d)](b7(0x45f))+a0L[b7(0x20e)](b7(0x423))+a0L['gray'](b7(0x2b3))+a0L['cyan'](b7(0x238))),console[b7(0x486)](),console['log'](a0L['bold'][b7(0x27b)](b7(0x2cd))),console[b7(0x486)](a0L[b7(0x44d)](b7(0x463))+a0L[b7(0x27b)](b7(0x1fb))+a0L[b7(0x44d)](b7(0x4dc))),console[b7(0x486)](a0L['gray']('\x20\x20\x20\x20\x20Hints\x20A/B/C:\x20\x20\x20\x20')+a0L[b7(0x27b)](b7(0x35d))),console[b7(0x486)](),console[b7(0x486)](a0L[b7(0x3a7)](b7(0x320))),console[b7(0x486)](a0L['green'](b7(0x48a))),console[b7(0x486)](),a0[b7(0x309)](b7(0x222)),Y[b7(0x245)]=Array['from'](a0),a0Z(Y)):Z>=0x53a+0x194*0x11+-0x1*0x1fe7&&!a0[b7(0x29f)](b7(0x417))&&(console[b7(0x486)](),console['log'](a0L['red'](b7(0x48a))),console[b7(0x486)](a0L[b7(0x280)][b7(0x1ef)](b7(0x4ec))),console[b7(0x486)](a0L[b7(0x1ef)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b7(0x486)](),console[b7(0x486)](a0L[b7(0x27b)](b7(0x3bc))),console[b7(0x486)](a0L[b7(0x27b)](b7(0x3bd))+a0L['bold'](b7(0x35c))+a0L[b7(0x27b)](b7(0x23d))),console[b7(0x486)](),console[b7(0x486)](a0L[b7(0x280)][b7(0x27b)](b7(0x2cc))),console[b7(0x486)](a0L[b7(0x44d)](b7(0x3cd))),console[b7(0x486)](),console[b7(0x486)](a0L[b7(0x280)]['white'](b7(0x4ad))),console[b7(0x486)](a0L[b7(0x44d)](b7(0x4ca))+a0L['bold'][b7(0x1ef)](b7(0x246))+a0L['gray'](b7(0x253))+a0L['red'](b7(0x4bd))+a0L[b7(0x44d)](b7(0x254))),console[b7(0x486)](a0L[b7(0x44d)]('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0L[b7(0x20e)](b7(0x4e1))+a0L[b7(0x44d)](b7(0x42a))+a0L['cyan'](b7(0x3c7))+a0L[b7(0x44d)](b7(0x42a))+a0L[b7(0x20e)](b7(0x201))),console['log'](a0L[b7(0x44d)](b7(0x31b))),console[b7(0x486)](),console[b7(0x486)](a0L[b7(0x280)][b7(0x27b)](b7(0x317))),console['log'](a0L[b7(0x44d)](b7(0x2a8))+a0L[b7(0x1ef)]('target')+a0L[b7(0x44d)](b7(0x2ee))),console['log'](a0L[b7(0x44d)]('\x20\x20\x20\x20\x20·\x20Separate\x20budget:\x20')+a0L['white']('25,000\x20tokens')+a0L[b7(0x44d)]('\x20shared\x20across\x20Q39–40')),console[b7(0x486)](),console[b7(0x486)](a0L[b7(0x3a7)](b7(0x21e))),console['log'](a0L[b7(0x3a7)](b7(0x365))),console[b7(0x486)](a0L[b7(0x1ef)](b7(0x48a))),console[b7(0x486)](),a0['add'](b7(0x417)),Y[b7(0x245)]=Array[b7(0x1ed)](a0),a0Z(Y));}(F,z[b5(0x328)]),F&&function(Y){const b8=b5,Z=a0a1();if(!Z)return;const a0=Z[b8(0x458)]()-Date[b8(0x334)]();if(a0<=-0x17b9+-0xcf2+0x24ab)return;const a1=a0/(-0x1*-0xac31+-0xdd25+0x11b54),a2=new Set(Y[b8(0x245)]||[]);let a3=null;if(a1<=-0x1163*0x2+-0x219a+-0x1*-0x4461&&!a2[b8(0x29f)]('t1')?a3={'key':'t1','text':[a0L['red']['bold']('\x20\x20⚠\x20\x20LESS\x20THAN\x201\x20MINUTE\x20LEFT'),a0L[b8(0x1ef)]('\x20\x20Submit\x20now\x20with:\x20')+a0L[b8(0x280)](b8(0x3e1))]}:a1<=0x82*0x3f+0xd*-0x268+-0xb1&&!a2['has']('t5')?a3={'key':'t5','text':[a0L['red'][b8(0x280)](b8(0x4db)),a0L[b8(0x3a7)](b8(0x3c4))+a0L['bold'](b8(0x3e1))]}:a1<=-0x11c*0x8+0x67d*-0x5+0x295b&&!a2[b8(0x29f)](b8(0x476))&&(a3={'key':'t10','text':[a0L['yellow'][b8(0x280)](b8(0x333)),a0L[b8(0x44d)](b8(0x208))+a0L[b8(0x27b)](b8(0x1e0))]}),a3){console[b8(0x486)](),console['log'](a0L['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));for(const a4 of a3[b8(0x331)])console[b8(0x486)](a4);console[b8(0x486)](a0L['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),a2[b8(0x309)](a3[b8(0x44a)]),Y[b8(0x245)]=Array[b8(0x1ed)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const b9=b5,a1=Math[b9(0x497)](Y/Z*(0x2246+-0x1*0x18e5+-0x943)),a2=-0x1*0x1343+-0x27e+0x15df-a1,a3=a0L[b9(0x20e)]('━'[b9(0x325)](a1))+a0L[b9(0x44d)]('─'[b9(0x325)](a2)),a4=Math[b9(0x497)](Y/Z*(0x11db*0x2+-0x167*-0x11+-0x3b29));console[b9(0x486)](),console['log']('\x20\x20'+a3+'\x20\x20'+a0L[b9(0x27b)][b9(0x280)](''+Y)+a0L[b9(0x44d)]('/'+Z)+'\x20\x20'+a0L[b9(0x44d)]('('+a0+b9(0x1ff))+'\x20\x20'+a0L['gray'](a4+'%'));const a5=a0a1();if(a5){const a6=Math['max'](-0x287+0x1124*0x1+-0xe9d,Math[b9(0x497)]((a5[b9(0x458)]()-Date[b9(0x334)]())/(0x2692+-0x7b6+0x1af4*-0x1))),a7=Math[b9(0x337)](a6/(-0x2163+-0x3*0x235+0x283e))+':'+String(a6%(0x11*0x1bd+0x191*-0xb+0x1a*-0x77))[b9(0x40b)](-0x11*0x99+-0x83*0x2+-0xf*-0xbf,'0'),a8=a6<=0x9e5+-0x34f*0x7+0x12*0xc0?a0L[b9(0x1ef)]['bold']:a6<=0x1c65+0x2*0x38c+-0x6dd*0x5?a0L[b9(0x1ef)]:a6<=0xcd2*0x2+-0x141d+0x32f*-0x1?a0L[b9(0x3a7)]:a0L[b9(0x44d)];console[b9(0x486)]('\x20\x20'+a0L[b9(0x44d)](b9(0x4d0))+'\x20'+a8(a7)+'\x20'+a0L['gray'](b9(0x4b1)));}}(z[b5(0x328)],G,H),F&&D(F,z[b5(0x328)])&&console[b5(0x486)](a0L[b5(0x3a7)](b5(0x368)));const Q=function(Y,Z){const ba=b5,a0={};a0['pct']=0.2,a0['emoji']=ba(0x4d4),a0[ba(0x44a)]=ba(0x416);const a1={};a1[ba(0x3a2)]=0.33,a1[ba(0x447)]='🐨',a1[ba(0x44a)]=ba(0x387);const a2={};a2[ba(0x3a2)]=0.5,a2[ba(0x447)]='🌉',a2[ba(0x44a)]=ba(0x3fa);const a3={};a3[ba(0x3a2)]=0.6,a3[ba(0x447)]='🦘',a3[ba(0x44a)]=ba(0x2b0);const a4={};a4[ba(0x3a2)]=0.8,a4[ba(0x447)]='🏖️',a4[ba(0x44a)]=ba(0x4a3);const a5={};a5[ba(0x3a2)]=0.87,a5[ba(0x447)]='🦈',a5['key']='egg13';const a6={};a6[ba(0x3a2)]=0x1,a6[ba(0x447)]='🎉',a6[ba(0x44a)]=ba(0x27e);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math['round'](a9[ba(0x3a2)]*Z);if(!(aa<-0x2*-0x9bf+0xb*0xd1+-0x1c78*0x1||a8[ba(0x29f)](aa))&&(a8[ba(0x309)](aa),Y===aa))return{'emoji':a9['emoji'],'text':a0ai(a9[ba(0x44a)])};}}(z['number'],G);if(Q&&console[b5(0x486)](a0L['yellow']('\x20\x20'+Q['emoji']+'\x20\x20'+Q[b5(0x331)])),console[b5(0x486)](),z['category']&&console[b5(0x486)](a0L['cyan'](b5(0x4c8)+z[b5(0x212)]+']')),z[b5(0x1e7)]&&z[b5(0x1e7)]>0x4c1*0x1+0x28*0x43+-0x5*0x30b&&console[b5(0x486)](a0L['cyan'](b5(0x4c8)+z[b5(0x1e7)]+b5(0x32a))),L){let Y=z[b5(0x2c4)]||z['text'];const Z=a0a2(z[b5(0x328)],z['attachedData']);if(z['attachedData']){const a1=/\([^()]*attachedData[^()]*\)/;a1['test'](Y)?Y=Y[b5(0x217)](a1,z[b5(0x4a5)]):Y[b5(0x24a)](z[b5(0x4a5)])||(Y=Y+b5(0x270)+z[b5(0x4a5)]);}console[b5(0x486)](a0L['bold']['white'](b5(0x427)+z[b5(0x328)]+'.\x20')+a0L[b5(0x27b)](Y[b5(0x49a)]('\x0a')[0x1aba+0x1a66+-0x3520]));const a0=Y['split']('\x0a')[b5(0x335)](-0x1cdb+-0x4*0x8e9+-0x408*-0x10);for(const a2 of a0)console[b5(0x486)](a0L[b5(0x27b)]('\x20\x20'+a2));if(console[b5(0x486)](),Z&&b5(0x330)===z[b5(0x43b)]){const a3=Z[b5(0x217)](process.env.HOME||'','~');console[b5(0x486)](a0L[b5(0x20e)]('\x20\x20'+a0ai(b5(0x430))+'\x20')+a0L[b5(0x44d)]('('+a0ai(b5(0x3d5))+'\x20'+a3+'):')),console[b5(0x486)](a0L[b5(0x27b)]('\x20\x20\x20\x20①\x20')+a0L[b5(0x3a7)]('!<cmd>\x20'+a3)[b5(0x25e)](-0xcb6*-0x3+0x6e2+-0x3bc*0xc)+a0L[b5(0x44d)]('\x20'+a0ai('examWaysShell'))),console['log'](a0L[b5(0x27b)](b5(0x351))+a0L['yellow']('!python3')['padEnd'](0x129e+-0x1161*-0x1+0x23df*-0x1)+a0L[b5(0x44d)]('\x20'+a0ai('examWaysPythonRepl'))),console[b5(0x486)](a0L[b5(0x27b)](b5(0x360))+a0L[b5(0x3a7)](b5(0x263))+a0L[b5(0x44d)](b5(0x287))+a0L[b5(0x3a7)](b5(0x2df))),console['log'](a0L[b5(0x27b)](b5(0x394))+a0L[b5(0x3a7)](b5(0x477))[b5(0x25e)](0x167f+0x1344+-0x29a3)+a0L[b5(0x44d)]('\x20'+a0ai(b5(0x3e9)))),console[b5(0x486)](a0L['white'](b5(0x420))+a0L['yellow'](b5(0x330))['padEnd'](-0x745+-0x1d4f*-0x1+0xf*-0x176)+a0L['gray']('\x20'+a0ai(b5(0x380)))),console[b5(0x486)](),console[b5(0x486)](a0L[b5(0x44d)]('\x20\x20'+a0ai(b5(0x4e6))+'\x20')+a0L['bold'][b5(0x22b)](b5(0x2f2))),console[b5(0x486)]();}B&&(console['log'](a0L['green'](b5(0x2c0)+B)),console[b5(0x486)]());}else{console['log'](a0L[b5(0x280)][b5(0x27b)]('\x20\x20Q'+z['number']+'.\x20')+a0L['white'](z[b5(0x331)])),console[b5(0x486)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console[b5(0x486)](a0L[b5(0x44d)]['strikethrough'](b5(0x4cb)+a4+'.\x20'+z[b5(0x2f4)][a4])+a0L['red']('\x20('+a0ai('wrong')+')')):a5?console[b5(0x486)](a0L['green'][b5(0x280)](b5(0x228)+a4+'.\x20'+z[b5(0x2f4)][a4])):console[b5(0x486)](a0L[b5(0x44d)](b5(0x4cb)+a4+'.')+'\x20'+a0L[b5(0x27b)](z[b5(0x2f4)][a4]));}console['log']();}const V=b5(0x292)===F?.['session']['examId'],W=J[b5(0x2fb)][0x1c63+0x2*0x446+-0x45*0x89]||-0x1*-0x1f46+-0xd*-0x27a+-0x3f78;V&&0x1f*-0x12b+-0x3*0x579+0x34a2===z['number']&&0x1a4*-0x2+0x19b+0xb*0x27===W&&(console[b5(0x486)](a0L['yellow']['bold']('\x20\x20'+a0ai(b5(0x3f4)))),console['log']());const X=J[b5(0x4ac)]-J[b5(0x22f)];if(console['log'](a0L[b5(0x44d)](b5(0x4d8))),L){const a6=F&&b5(0x292)!==F[b5(0x356)][b5(0x42c)]&&z[b5(0x328)]>=0x1e3*0x4+-0x4ae+-0x8b*0x5&&z[b5(0x328)]<=0x329*-0x7+-0xcd*-0x2+0x14ad,a7=F&&'demo-free'!==F[b5(0x356)][b5(0x42c)]&&z[b5(0x328)]>=0x17d*-0x11+0x5*-0x57b+-0x34d3*-0x1&&z['number']<=0x8e*0x5+0x1*-0x113f+0xe9f;b5(0x4d1)===z[b5(0x43b)]?console['log'](a0L['bold'][b5(0x20e)](b5(0x203))+a0L[b5(0x44d)]('\x20\x20\x20\x20\x20\x20\x20enter\x20VLA\x20attack\x20mode\x20for\x20this\x20question\x20(recommended)')):a7?console[b5(0x486)](a0L[b5(0x280)]['green']('\x20\x20\x20\x20ai4ctf')+a0L[b5(0x44d)](b5(0x377))):a6&&console['log'](a0L[b5(0x280)][b5(0x1ef)](b5(0x49e))+a0L[b5(0x44d)](b5(0x405))),console[b5(0x486)](a0L[b5(0x3a7)](b5(0x3ec))+a0L['gray'](b5(0x21b))),console['log'](a0L['yellow'](b5(0x40a))+a0L[b5(0x44d)](b5(0x2f5)));}else{const a8=J[b5(0x4ac)]>=-0x1e8f+0x2667*-0x1+0x4514,a9=X>0xfe5*-0x1+0x1*0xb61+0x484?a0L[b5(0x44d)](a0ai(b5(0x1fa))+'\x20')+a0L['yellow']('('+X+'/'+J[b5(0x4ac)]+')'):a8?a0L[b5(0x44d)](a0ai('helpAllUsed')+'\x20('+J[b5(0x22f)]+'/'+J[b5(0x4ac)]+')'):a0L[b5(0x44d)](''+a0ai(b5(0x367)));console[b5(0x486)](a0L['yellow'](b5(0x304))+a0L[b5(0x44d)]('\x20\x20\x20\x20\x20\x20\x20'+a0ai('answerThis'))),console[b5(0x486)](a0L[b5(0x3a7)](b5(0x26d))+b5(0x279)+a9);}console[b5(0x486)](a0L[b5(0x3a7)](b5(0x1f7))+a0L[b5(0x44d)](b5(0x4ae))+a0L[b5(0x3a7)](b5(0x3b1))+a0L[b5(0x44d)]('\x20\x20\x20\x20'+a0ai(b5(0x1d5)))),console[b5(0x486)](a0L['yellow'](b5(0x4e0)+G)+a0L[b5(0x44d)](b5(0x371)+a0ai(b5(0x22d)))),console[b5(0x486)](a0L[b5(0x3a7)](b5(0x361))+a0L['gray'](b5(0x279)+a0ai(b5(0x2d5)))),console['log'](a0L['yellow']('\x20\x20\x20\x20exam\x20review')+a0L[b5(0x44d)](b5(0x371)+a0ai(b5(0x2eb)))),console[b5(0x486)](a0L['bold'][b5(0x3a7)](b5(0x389))+a0L[b5(0x44d)]('\x20\x20\x20'+a0ai(b5(0x24d)))),console[b5(0x486)](a0L[b5(0x3a7)]('\x20\x20\x20\x20back')+a0L[b5(0x44d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b5(0x1de)))),console[b5(0x486)](a0L[b5(0x3a7)](b5(0x260))+a0L[b5(0x44d)](b5(0x279)+a0ai('htpLang'))),console[b5(0x486)](a0L[b5(0x44d)](b5(0x4d8)));}export function registerExamCommand(z){const bb=a0B,B=z[bb(0x3a6)](bb(0x3b7))[bb(0x2c4)](bb(0x25c));B[bb(0x3a6)](bb(0x3af))[bb(0x2c4)](bb(0x374))['action'](()=>{const bc=bb;a0a8('exam\x20nations'),console[bc(0x486)](),a0ae(bc(0x2fd)),console[bc(0x486)]();const F=[['AU','Australia'],['BD',bc(0x38f)],['BI','Burundi'],['BR',bc(0x1db)],['CN',bc(0x363)],['DE',bc(0x41d)],['EG',bc(0x4b2)],['FR',bc(0x29c)],['GH',bc(0x37a)],['ID',bc(0x4a7)],['IN',bc(0x211)],['JP',bc(0x3c2)],['KR',bc(0x2ae)],['LA','Laos'],['LK','Sri\x20Lanka'],['MM',bc(0x343)],['MO',bc(0x2af)],['MY',bc(0x3dd)],['NZ','New\x20Zealand'],['PE','Peru'],['PH',bc(0x375)],['RU',bc(0x31f)],['SA','Saudi\x20Arabia'],['SG',bc(0x3f1)],['TH',bc(0x461)],['TR',bc(0x1df)],['UK',bc(0x2a5)],['US',bc(0x4ed)],['UZ','Uzbekistan'],['VN',bc(0x370)],['ZA','South\x20Africa']];for(let G=0x37*-0x1c+0x1*-0x244b+0x2a4f*0x1;G<F['length'];G+=0x3*0x767+0x2*-0x823+-0x5ec){const H=F[bc(0x335)](G,G+(0x171*-0x15+-0x6*-0x5ed+-0x546))['map'](([J,K])=>'\x20\x20'+a0L[bc(0x20e)](J)+'\x20\x20'+a0L['gray'](K['padEnd'](0x33*-0x22+0x640+0x96)))[bc(0x3fe)]('');console[bc(0x486)](H);}console[bc(0x486)](),console[bc(0x486)](a0L[bc(0x44d)]('\x20\x2040+\x20countries\x20and\x20regions\x20represented')),console[bc(0x486)](a0L[bc(0x44d)](bc(0x424))),console['log'](),console['log'](a0L[bc(0x27b)]('\x20\x20Check\x20exams\x20for\x20your\x20country:')),console[bc(0x486)](a0L[bc(0x20e)](bc(0x396))+a0L['gray'](bc(0x384))+a0L[bc(0x44d)](bc(0x385))),console[bc(0x486)]();}),B[bb(0x3a6)]('list\x20[country]')[bb(0x2c4)](bb(0x4ce))['action'](async F=>{const bd=bb;a0a8(bd(0x4e3)+(F||''));const G=M();if(!G)return;const H=a0ag(bd(0x2c1));H['start']();try{let J=await G[bd(0x26a)]();if(H[bd(0x36c)](),F){const Q=F['toUpperCase']();J=J[bd(0x2f8)](V=>V[bd(0x480)][bd(0x46d)]()===Q||bd(0x40f)===V[bd(0x480)]);}if(!J||-0x211*0xb+-0x9d*-0x26+0x3*-0x31===J[bd(0x465)]){console[bd(0x486)](),a0ac(F?'No\x20exams\x20available\x20for\x20'+F[bd(0x46d)]()+bd(0x4a9):'No\x20exams\x20available\x20for\x20your\x20country\x20yet.'),console[bd(0x486)](),console[bd(0x486)](a0L['white'](bd(0x239))),console['log'](a0L['gray'](bd(0x457))),console[bd(0x486)](),console['log'](a0L[bd(0x44d)](bd(0x426))+a0L[bd(0x280)][bd(0x20e)]('demo')),console[bd(0x486)]();const V={};V['PE']='es',V['CN']='zh',V['JP']='ja',V['KR']='ko',V['BR']='pt',V['SA']='ar',V['FR']='fr',V['DE']='de',V['IN']='hi',V['ID']='id',V['TH']='th',V['VN']='vi',V['TR']='tr',V['RU']='ru',V['UA']='uk',V['HT']='ht',V['KE']='sw',V['TZ']='sw';const W=V,X=(F||'')[bd(0x46d)]();return void(W[X]&&(console[bd(0x486)](a0L[bd(0x44d)]('\x20\x20Tip:\x20switch\x20to\x20your\x20language\x20with:\x20lang\x20'+W[X])),console[bd(0x486)]()));}const K=J['map'](Y=>{const be=bd,Z=be(0x1f2)===Y[be(0x409)]?a0L[be(0x22b)]:'in_progress'===Y['status']?a0L[be(0x3a7)]:a0L[be(0x27b)];return[a0L['white'](Y['id']),Y[be(0x47e)],a0L[be(0x20e)](Y[be(0x480)]),String(Y[be(0x20d)]),Y[be(0x3c5)]+'\x20min',Z(Y[be(0x409)])];}),L=[...new Set(J[bd(0x35a)](Y=>Y[bd(0x480)]))];a0ae(F?bd(0x231)+F['toUpperCase']():'Available\x20Exams\x20('+L['length']+'\x20regions)'),a0ad(['ID',bd(0x46a),bd(0x4b9),bd(0x277),bd(0x38b),bd(0x20a)],K),console[bd(0x486)](),console[bd(0x486)](a0L[bd(0x44d)]('\x20\x20Start:\x20exam\x20start\x20<id>')),L['length']>0x587*-0x3+-0x2*0x167+0x11*0x124&&console[bd(0x486)](a0L[bd(0x44d)](bd(0x358)));}catch(Y){H['fail'](bd(0x481)),a0aa(Y[bd(0x43c)]);}}),B[bb(0x3a6)](bb(0x299))[bb(0x2c4)](bb(0x34a))['action'](async F=>{const bf=bb;a0a8(bf(0x1dd)+F);const G=a0Y();if(G)return a0ab(bf(0x289)+G[bf(0x356)][bf(0x354)]+bf(0x32f)),void a0ac(bf(0x4c4));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bf(0x27b)](bf(0x372)),'default':!(0x1466+0x1c81*-0x1+0x81b),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bf(0x22b)](K)}}});if(J){console[bf(0x486)]();try{N(0xb0e*-0x2+-0x1a03*-0x1+-0x14d*0x3,bf(0x206));const {session:K,questions:L}=await H[bf(0x42e)](F);N(-0x68*-0x1a+-0x2508+-0xa6*-0x29,bf(0x450)),await q(0x2022+-0x1292+-0xcc8),N(-0x2*-0x20b+-0x2f9*0x1+-0xe1,bf(0x4e7)),await q(-0x1d*-0x76+0x1*-0x1735+0xa9f),N(-0x139*0x13+-0x260b*-0x1+-0x1*0xe76,bf(0x31d)),await q(-0x1*0x353+-0x86c+0xc55),a0Z({'session':K,'questions':L,'answers':{}}),N(0x1f9d+0x16cd+-0x3606,bf(0x37c)),console['log'](),console[bf(0x486)](),a0ae(K[bf(0x354)]),a0af(bf(0x277),String(K[bf(0x20d)])),a0af(bf(0x38b),K['durationMinutes']+bf(0x4e4)),a0af(bf(0x4b9),K[bf(0x480)]),O(),L[bf(0x465)]>-0x1*-0x138e+-0x666+-0x4*0x34a&&U(L[-0x12*0x40+-0x1*-0x103d+-0xbbd*0x1]);}catch(Q){console['log'](),a0aa(Q['message']);}}}),B[bb(0x3a6)]('q\x20[n]')[bb(0x2c4)](bb(0x4d7))[bb(0x432)](async F=>{const bg=bb;a0a8('exam\x20q\x20'+(F||bg(0x469)));const {refetchQuestionDataIfStale:G}=await import(bg(0x3a0));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,0x261c+-0x1cb9+-0x959),K=H[bg(0x415)][bg(0x1fd)](L=>L[bg(0x328)]===J);if(!K)return void a0aa(bg(0x256)+F+bg(0x236)+H[bg(0x415)][bg(0x465)]+').');H[bg(0x2d7)]=J,a0Z(H),U(K,H['answers'][J]);}else{a0ae(''+H['session'][bg(0x354)]);const L=Object[bg(0x213)](H[bg(0x3a8)])[bg(0x465)];a0af(bg(0x340),L+'/'+H[bg(0x356)][bg(0x20d)]+bg(0x3d7)),console[bg(0x486)]();for(const Q of H[bg(0x415)]){const V=H[bg(0x3a8)][Q[bg(0x328)]],W=V?a0L[bg(0x22b)]('['+V+']'):a0L[bg(0x44d)]('[\x20]'),X=Q['category']?a0L[bg(0x44d)]('\x20['+Q['category']+']'):'';console['log']('\x20\x20'+W+'\x20'+a0L[bg(0x27b)]('Q'+Q[bg(0x328)])+X+'\x20'+a0L[bg(0x44d)](Q['text'][bg(0x2d9)](-0xbdc+-0x28e*-0x9+-0xb22,0xd*0x2d+0x2342*-0x1+0x2135))+(Q[bg(0x331)]['length']>-0x156b+-0xbb4+-0x1*-0x215b?'...':''));}console[bg(0x486)]();}}else a0aa(bg(0x27a));}),B[bb(0x3a6)](bb(0x2e9))[bb(0x2c4)](bb(0x453))[bb(0x432)](F=>{const bh=bb;a0a8(bh(0x205)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G['questions'][bh(0x465)],J=F?parseInt(F,-0x496+-0x22e4+0x2784):G[bh(0x2d7)]||-0x14d+0x795+-0x647;if(Number[bh(0x242)](J)||J<-0x11c0*-0x1+-0x13bc*-0x1+-0x1*0x257b||J>H)return void a0aa(bh(0x4c5)+H+'.');const K=j(G,J);console[bh(0x486)](),K?console[bh(0x486)](a0L[bh(0x3a7)]('\x20\x20★\x20Q'+J+bh(0x314))):console[bh(0x486)](a0L[bh(0x44d)](bh(0x4e9)+J+'\x20unflagged.'));const L=Array['isArray'](G['bookmarks'])?G['bookmarks']:[];L[bh(0x465)]>0x2cf*0x4+-0x6d3+0x1*-0x469&&console['log'](a0L[bh(0x44d)](bh(0x315)+L[bh(0x35a)](Q=>'Q'+Q)[bh(0x3fe)](',\x20'))),console[bh(0x486)](a0L[bh(0x44d)](bh(0x3b5))+a0L[bh(0x27b)]('exam\x20review')),console[bh(0x486)]();}),B[bb(0x3a6)](bb(0x2a6))[bb(0x2c4)](bb(0x27f))[bb(0x432)](F=>{const bi=bb;a0a8(bi(0x290)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G['questions'][bi(0x465)],J=F?parseInt(F,-0x47+0xc3d*-0x2+-0xb*-0x241):G[bi(0x2d7)]||-0x17c*-0x7+0xadf+-0x1542;Number['isNaN'](J)||J<0x1*0x13a6+0x83*-0x25+-0xb6||J>H?a0aa(bi(0x4c5)+H+'.'):D(G,J)?(j(G,J),console[bi(0x486)](),console[bi(0x486)](a0L[bi(0x44d)](bi(0x4e9)+J+'\x20unflagged.')),console[bi(0x486)]()):console['log'](a0L[bi(0x44d)]('\x20\x20Q'+J+bi(0x3e6)));}),B['command']('next')[bb(0x2c4)](bb(0x1e9))['action'](()=>{const bj=bb;a0a8(bj(0x441));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');F['questions'][bj(0x2de)](K=>!F['answers'][K[bj(0x328)]]);const G=F['_lastQ']||0x3*0x598+0xac+-0x1173,H=Math[bj(0x271)](G+(0x1*0x12d+-0x12d9+0x11ad),F[bj(0x415)][bj(0x465)]);F['_lastQ']=H,a0Z(F);const J=F[bj(0x415)][H-(0x117d+-0x1b4a+0xa*0xfb)];U(J,F['answers'][J[bj(0x328)]]);}),B['command'](bb(0x3b1))[bb(0x2c4)](bb(0x407))[bb(0x432)](()=>{const bk=bb;a0a8(bk(0x398));const F=a0Y();if(!F)return void a0aa(bk(0x29d));const G=F[bk(0x2d7)]||-0x55*-0x72+0xb2e+-0x701*0x7,H=Math['max'](G-(-0x1f08+0x665+0x18a4),-0xeda*0x1+-0x1c78+0x2b53);F['_lastQ']=H,a0Z(F);const J=F[bk(0x415)][H-(0xc8c+-0x1b11+0xe86)];U(J,F['answers'][J[bk(0x328)]]);}),B[bb(0x3a6)](bb(0x336))[bb(0x2c4)]('Eliminate\x20one\x20wrong\x20option\x20(limited\x20uses)')[bb(0x432)](async()=>{const bl=bb;a0a8(bl(0x202));const F=a0Y();if(!F)return void a0aa(bl(0x29d));const G=R(F),H=F['_lastQ']||0x72f+0x147*-0x1+-0x5e7,J=G[bl(0x2fb)][H]||-0x1153+0xbb9+0x59a,K=G[bl(0x4bf)][H]||[],L=F['questions'][bl(0x1fd)](W=>W[bl(0x328)]===H);if(!L)return;if(J>=-0x1d*-0xe0+-0x447+-0x1517)return console[bl(0x486)](),console[bl(0x486)](a0L[bl(0x3a7)]('\x20\x20🙈\x20Max\x202\x20helps\x20per\x20question\x20—\x20you\x20already\x20have\x20a\x2050/50!')),console['log'](a0L[bl(0x44d)](bl(0x33f))),console[bl(0x486)](),void U(L,F['answers'][L['number']]);const Q=['A','B','C','D']['filter'](W=>!K['includes'](W));if(Q[bl(0x465)]<=-0x1ece+-0x1b67+0x3a37)return console[bl(0x486)](),console[bl(0x486)](a0L[bl(0x3a7)](bl(0x39f))),console['log'](),void U(L,F[bl(0x3a8)][L[bl(0x328)]]);if(G[bl(0x22f)]>=G[bl(0x4ac)]){const W=G[bl(0x4ac)]>=-0x85*0x31+-0x41e+0x1db1,X=-0x14db*-0x1+0x2*-0x7cf+-0x51f-G['max'];return void(W?(console[bl(0x486)](),console[bl(0x486)](a0L[bl(0x44d)](bl(0x386)+G['used']+'/'+G[bl(0x4ac)]+bl(0x1ee))),console[bl(0x486)]()):(console[bl(0x486)](),console[bl(0x486)](a0L['yellow'](bl(0x210)+G[bl(0x22f)]+'/'+G['max'])),console[bl(0x486)](a0L['white'](bl(0x326))+a0L[bl(0x280)]['yellow'](bl(0x3ca))+a0L['gray'](bl(0x313)+X+'\x20bonus\x20uses)')),console[bl(0x486)]()));}const V=Y=>{const bm=bl;K[bm(0x3fd)](Y),G[bm(0x4bf)][H]||(G[bm(0x4bf)][H]=[]),G[bm(0x4bf)][H]=K,G['perQ'][H]=J+(0x1b44+0x1991+0x62*-0x8a),G['used']++,F['_helpUsed']=G[bm(0x22f)],F[bm(0x36f)]=G[bm(0x4ac)],F[bm(0x4f6)]=G[bm(0x2fb)],F[bm(0x452)]=G[bm(0x4bf)],F[bm(0x4b5)]||(F[bm(0x4b5)]=[]),F[bm(0x4b5)][bm(0x3fd)]({'ts':new Date()['toISOString'](),'q':H,'type':bm(0x4ee),'result':bm(0x4da)+Y}),a0Z(F),console[bm(0x486)](),console[bm(0x486)](a0L[bm(0x3a7)]('\x20\x20💡\x20Option\x20'+Y+bm(0x44f))+a0L[bm(0x44d)](bm(0x392)+G[bm(0x22f)]+'/'+G[bm(0x4ac)]+')')),U(L,F['answers'][L[bm(0x328)]]);};if(bl(0x292)===F[bl(0x356)][bl(0x42c)]&&L[bl(0x459)])(Y=>{const bn=bl,Z=Q[bn(0x2f8)](a0=>a0!==Y&&!K['includes'](a0));0x20f9+0x1979+-0x3a72!==Z['length']&&V(Z[Math[bn(0x337)](Math[bn(0x1e5)]()*Z[bn(0x465)])]);})(L[bl(0x459)]);else{const Y=a0W()['ctfdUrl']||bl(0x235),Z=F[bl(0x356)]?.[bl(0x281)]||'';try{const a0={};a0[bl(0x347)]=bl(0x3ba),a0[bl(0x3a9)]=bl(0x346);const a1={};a1[bl(0x281)]=Z,a1[bl(0x259)]=H,a1[bl(0x4bf)]=K;const a2=await fetch(Y+bl(0x484)+F[bl(0x356)][bl(0x42c)]+'/help',{'method':bl(0x33a),'headers':a0,'body':JSON['stringify'](a1),'signal':AbortSignal[bl(0x20b)](0x1ce6+-0x1a8b+0x1*0x112d)}),a3=await a2['json'](),a4=a3?.[bl(0x339)]?.[bl(0x38a)];a4&&['A','B','C','D'][bl(0x24a)](a4)?V(a4):(console[bl(0x486)](),console['log'](a0L['gray'](bl(0x373))));}catch{console[bl(0x486)](),console[bl(0x486)](a0L[bl(0x44d)]('\x20\x20Could\x20not\x20reach\x20server\x20for\x20help.\x20Check\x20your\x20connection.'));}}}),B[bb(0x3a6)](bb(0x3a3))[bb(0x2c4)](bb(0x37b))[bb(0x432)](()=>{const bo=bb;a0a8(bo(0x492));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=R(F),H='demo-free'===F[bo(0x356)]['examId']?-0x150+0x101*-0x16+-0x2*-0xbb7:0x8ad+-0x1*-0xad5+0x11*-0x124;if(G[bo(0x4ac)]>=H)return void console[bo(0x486)](a0L['gray'](bo(0x3ff)));if(G[bo(0x22f)]<G['max'])return void console[bo(0x486)](a0L[bo(0x44d)](bo(0x24b)+(G[bo(0x4ac)]-G[bo(0x22f)])+bo(0x40d)));const J=H-G[bo(0x4ac)];F[bo(0x36f)]=H,a0Z(F),console[bo(0x486)](),console['log'](a0L[bo(0x22b)](bo(0x437)+J+bo(0x216)+J+'/'+H+bo(0x3d0))),console[bo(0x486)](a0L[bo(0x44d)](bo(0x485))),console['log']();}),B[bb(0x3a6)](bb(0x2b5))['description'](bb(0x1f8))['action'](async(F,G)=>{const bp=bb,H=G[bp(0x3fe)]('\x20');a0a8(bp(0x28e)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bp(0x27a));if(!(function(){const bq=bp,Z=a0a1();if(!Z)return!(0xf*0x234+-0x1*-0xf69+-0x3075);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object['keys'](a0[bq(0x3a8)])['length'];bq(0x292)===a0[bq(0x356)][bq(0x42c)]||0x3a2+-0x1906+0x1564===a1?(a0a0(),a0ab(bq(0x388)),a0ac(bq(0x24c))):(a0aa(bq(0x251)),a0ac(bq(0x1e2)));}return!(0x1*0xb45+0x499+-0x83*0x1f);}return!(0x13bd+-0x1*0x202a+0xc6d);}()))return;const K=parseInt(F,-0x1*-0x1c14+-0x100c+-0xbfe),L=J[bp(0x415)][bp(0x1fd)](Z=>Z['number']===K);if(!L)return void a0aa(bp(0x256)+F+'\x20not\x20found\x20(1-'+J[bp(0x415)][bp(0x465)]+').');let Q;if(bp(0x330)===L[bp(0x43b)]||bp(0x246)===L['type']||'vla'===L['type']||L[bp(0x2f4)]&&!L[bp(0x2f4)]['A']&&!L[bp(0x2f4)]['B']){if(Q=H[bp(0x243)](),/^submit\s+/i['test'](Q)&&(Q=Q[bp(0x217)](/^submit\s+/i,'')[bp(0x243)]()),Q=Q['replace'](/^["'`]+|["'`]+$/g,'')[bp(0x243)](),!Q)return void a0aa(bp(0x3d4));if(/^[A-Da-d]$/[bp(0x408)](Q))return a0aa('Q'+K+bp(0x2fa)),void console[bp(0x486)](a0L['gray'](bp(0x283))+a0L[bp(0x22b)]('exam\x20answer\x20'+K+bp(0x1e1)));}else{if(Q=H[bp(0x46d)](),!['A','B','C','D']['includes'](Q))return void a0aa(bp(0x45a));}if('demo-free'===J[bp(0x356)]['examId']&&0x20*-0x84+-0xf06+-0x1f88*-0x1===K&&-0x210f+-0x101+-0x5*-0x6d0===(R(J)[bp(0x2fb)][0x9*-0x3e9+-0x610+0x2943]||-0x1c09+0x1*0x2040+-0x437))return console['log'](),console['log'](a0L['yellow'](bp(0x4e5))+a0L['bold'][bp(0x3a7)](bp(0x336))+a0L['yellow']('\x20first\x20to\x20see\x20what\x20it\x20does!')),console[bp(0x486)](a0L[bp(0x44d)](bp(0x288))),void console[bp(0x486)]();const V=J[bp(0x3a8)][K];J[bp(0x4b5)]||(J[bp(0x4b5)]=[]),J['interactions'][bp(0x3fd)]({'ts':new Date()[bp(0x38c)](),'q':K,'type':V?bp(0x4bb):bp(0x42b),'input':Q,'result':V?bp(0x38d)+V:bp(0x2b4)}),J['answers'][K]=Q,J[bp(0x2d7)]=K,a0Z(J),console['log'](a0L[bp(0x44d)](bp(0x4df)));const W=J[bp(0x356)][bp(0x281)];if(W&&bp(0x292)!==J['session'][bp(0x42c)]){const Z=(a0W()[bp(0x2b6)]||bp(0x235))+bp(0x484)+J['session'][bp(0x42c)]+bp(0x223),a0={};a0[bp(0x347)]=bp(0x3ba);const a1={};a1[bp(0x281)]=W,a1[bp(0x259)]=K,a1[bp(0x459)]=Q,fetch(Z,{'method':'POST','headers':a0,'body':JSON[bp(0x466)](a1),'signal':AbortSignal[bp(0x20b)](-0x1306+0xa*0x5+0x265c)})[bp(0x34e)](()=>{});}const X=Object[bp(0x213)](J[bp(0x3a8)])[bp(0x465)],Y=J['session']['questionCount'];if(a0a9('Q'+K+':\x20'+Q+'\x20✓\x20\x20('+X+'/'+Y+bp(0x1ff)),bp(0x292)===J[bp(0x356)][bp(0x42c)]&&L[bp(0x459)]){const a2=[bp(0x4f4),bp(0x321),bp(0x2b2),bp(0x2b8),'Spot\x20on.'],a3=['Close\x20—\x20we\x27ll\x20revisit\x20this\x20one.',bp(0x4ab),bp(0x4bc)],a4=Q===L[bp(0x459)]?a2:a3,a5=a4[Math['floor'](Math[bp(0x1e5)]()*a4['length'])];console[bp(0x486)](a0L[bp(0x44d)]('\x20\x20\x20\x20·\x20'+a5));}if(K<J[bp(0x415)][bp(0x465)]){const a6=J[bp(0x415)][K];J[bp(0x2d7)]=a6[bp(0x328)],a0Z(J),U(a6,J[bp(0x3a8)][a6[bp(0x328)]]);}else X>=J[bp(0x415)][bp(0x465)]&&(console[bp(0x486)](),console[bp(0x486)](a0L[bp(0x22b)]['bold'](bp(0x1d9))),console[bp(0x486)](),'demo-free'===J[bp(0x356)][bp(0x42c)]?(console[bp(0x486)](a0L['white'](bp(0x3f3))+a0L[bp(0x280)][bp(0x20e)]('exam\x20submit')+a0L[bp(0x27b)](bp(0x305))),console[bp(0x486)]()):console[bp(0x486)](a0L[bp(0x27b)]('\x20\x20Use:\x20exam\x20review\x20·\x20exam\x20submit')));}),B[bb(0x3a6)](bb(0x4b0))[bb(0x2c4)](bb(0x3a4))[bb(0x432)](()=>{const br=bb;a0a8(br(0x1e0));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');a0ae(br(0x499)+F[br(0x356)][br(0x354)]),O(),console['log']();let G='\x20\x20';const H=Array[br(0x2b7)](F[br(0x1e8)])?F[br(0x1e8)]:[];for(const Q of F[br(0x415)]){const V=F[br(0x3a8)][Q[br(0x328)]],W=H['includes'](Q['number']),X=W?'★':'\x20';G+=V?W?a0L[br(0x280)][br(0x3a7)]('Q'+String(Q[br(0x328)])[br(0x40b)](0x12c5*-0x1+0x451+0x4d2*0x3)+X+'['+V+']\x20'):a0L[br(0x22b)]('Q'+String(Q[br(0x328)])[br(0x40b)](-0x2602+0x5ff*-0x6+0x49fe)+'\x20['+V+']\x20\x20'):W?a0L[br(0x280)][br(0x3a7)]('Q'+String(Q[br(0x328)])['padStart'](0xe55+0x1f53+-0x2da6)+X+br(0x1dc)):a0L[br(0x3a7)]('Q'+String(Q['number'])[br(0x40b)](-0x267c+-0x26fc*0x1+-0x5e*-0xd3)+br(0x1e3)),Q[br(0x328)]%(0x73b+-0x1d*0x41+0xa*0x4)==0x117*-0x1d+-0x899+0x2834&&(console[br(0x486)](G),G='\x20\x20');}G['trim']()&&console['log'](G);const J=Object[br(0x213)](F[br(0x3a8)])[br(0x465)],K=F[br(0x356)][br(0x20d)],L=K-J;if(console['log'](),a0af(br(0x406),a0L[br(0x22b)][br(0x280)](J+'/'+K)),L>-0x1*-0x19f2+-0x2d1*0xb+0x509*0x1){const Y=F[br(0x415)]['filter'](Z=>!F['answers'][Z[br(0x328)]])['map'](Z=>Z[br(0x328)])[br(0x3fe)](',\x20');a0af(br(0x26e),a0L['yellow'](L+br(0x353)+Y+')'));}H[br(0x465)]>-0x55d+0x1237+-0xcda&&a0af(br(0x47b),a0L[br(0x280)][br(0x3a7)]('★\x20'+H[br(0x465)])+a0L[br(0x44d)]('\x20('+H['map'](Z=>'Q'+Z)[br(0x3fe)](',\x20')+')')),console[br(0x486)](),H[br(0x465)]>0xf6e+0x1*0x556+-0x14c4&&console[br(0x486)](a0L[br(0x44d)](br(0x23a))+a0L['white'](br(0x468)+H[0x5f+-0x34*0x6+0xd9])),console[br(0x486)](a0L[br(0x44d)]('\x20\x20Ready?\x20Use\x20')+a0L[br(0x280)][br(0x20e)]('exam\x20submit')+a0L[br(0x44d)]('\x20to\x20submit\x20for\x20grading.'));}),B[bb(0x3a6)](bb(0x41c))['description'](bb(0x22c))[bb(0x432)](async J=>{const bs=bb;a0a8(bs(0x23e)+(J||''));const K=a0Y();if(K&&bs(0x310)===J&&(K['_submitConfirmed']=!(0xb42+-0x19d7+0xe95),a0Z(K)),!K)return void a0aa('No\x20exam\x20in\x20progress.');const L=Object[bs(0x213)](K['answers'])[bs(0x465)],Q=K[bs(0x356)]['questionCount'],V=Q-L;if(-0x2080+0x2104+-0x84===L){const X=a0a1(),Y=X&&new Date()>=X;return void('demo-free'===K[bs(0x356)][bs(0x42c)]||Y?(a0a0(),a0ab('No\x20answers\x20to\x20submit.\x20Exam\x20cleared.'),a0ac(bs(0x24c))):(a0ab(bs(0x224)),a0ac(bs(0x4be))));}if(bs(0x292)!==K[bs(0x356)][bs(0x42c)]){const Z=!(0x371*0x5+0x75*0x45+0x1*-0x30be)===K[bs(0x454)],a0=a0a1(),a1=!!(a0&&new Date()>=a0);if(!Z&&!a1){if(console[bs(0x486)](),console[bs(0x486)](a0L['red'](bs(0x4d5))),console[bs(0x486)](a0L[bs(0x280)][bs(0x1ef)](bs(0x28c))),console[bs(0x486)](a0L[bs(0x1ef)](bs(0x4d5))),console['log'](),console[bs(0x486)](a0L[bs(0x27b)]('\x20\x20You\x20will\x20submit\x20'+a0L[bs(0x280)]['green'](L+'/'+Q)+bs(0x2d1))),V>0x129b+-0x5*-0x186+-0x1a39){const a3=K[bs(0x415)]['filter'](a4=>!K['answers'][a4[bs(0x328)]])['map'](a4=>'Q'+a4[bs(0x328)])[bs(0x3fe)](',\x20');console[bs(0x486)](a0L[bs(0x3a7)]('\x20\x20'+V+bs(0x3db)+a3));}const a2=Array[bs(0x2b7)](K[bs(0x1e8)])?K['bookmarks']:[];return a2['length']>-0x2*0x3d7+0x1*-0x30a+0x157*0x8&&console['log'](a0L[bs(0x3a7)](bs(0x381)+a2[bs(0x465)]+bs(0x4a6)+a2[bs(0x35a)](a4=>'Q'+a4)['join'](',\x20'))),console[bs(0x486)](),console['log'](a0L[bs(0x27b)](bs(0x286))+a0L['bold'][bs(0x1ef)]('final')+a0L[bs(0x27b)](bs(0x4c0))),console[bs(0x486)](),console[bs(0x486)](a0L[bs(0x280)][bs(0x27b)](bs(0x4cc))+a0L['bold'][bs(0x20e)](bs(0x344))),console[bs(0x486)](a0L[bs(0x27b)](bs(0x225))+a0L['cyan'](bs(0x1e0))+a0L['gray']('\x20\x20or\x20\x20')+a0L[bs(0x20e)](bs(0x31c))),void console['log']();}Z&&(delete K[bs(0x454)],a0Z(K));}if(console['log'](),bs(0x292)===K[bs(0x356)][bs(0x42c)]){try{N(0x1*-0x1955+0x2340+-0x9eb*0x1,a0ai(bs(0x46c))),await q(0x1f63+-0x1ce1+0x26*-0x9);let a4=0x2253*-0x1+-0x1*-0x601+-0x1d*-0xfa;const a5=[],a6={};for(const ai of K[bs(0x415)]){const aj=ai[bs(0x212)]||bs(0x400),ak={};ak['correct']=0x0,ak[bs(0x494)]=0x0,(a6[aj]||(a6[aj]=ak),a6[aj]['total']++);const al=K['answers'][ai[bs(0x328)]];al&&ai[bs(0x459)]&&al===ai['answer']?(a4++,a6[aj][bs(0x45d)]++):a5[bs(0x3fd)](ai['number']);}a5[bs(0x3b6)]((am,an)=>am-an),N(0xd2*-0x6+-0x3*0x1e3+0x35*0x35,a0ai('complete')),console['log']();const a7=new Date(K[bs(0x356)]['startedAt'])['getTime'](),a8=Math['max'](-0x13f7+-0x949*0x1+-0x6*-0x4e0,Math[bs(0x497)]((Date[bs(0x334)]()-a7)/(0x92f*0x2+0x2548+-0x25*0x166))),a9=Math[bs(0x337)](a8/(-0xda0+0xa*0x23e+-0x890))+'m\x20'+a8%(0x5*-0x718+0x9a1+0x1a13)+'s',aa=[...K['questions']],ab={...K[bs(0x3a8)]},ac=R(K);a0a0();const ad=Math['round'](a4/Q*(0x5c*-0x11+-0x1*-0x228a+0xc2*-0x25)),ae=a0W(),af={};af[bs(0x347)]='application/json',(fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':bs(0x33a),'headers':af,'body':JSON['stringify']({'type':'demo-exam','score':a4,'total':Q,'lang':ae[bs(0x401)]||'en','help_used':ac[bs(0x22f)],'help_max':ac[bs(0x4ac)],'tokens_used':0x0,'solved':ad>=0x200*0x10+0x1f8*0x2+-0x4*0x8ed?-0x1729+0xbf*-0x10+0x231a:0x9ef*-0x1+-0x11b*-0xd+-0x470,'timestamp':new Date()['toISOString'](),'interactions':K[bs(0x4b5)]||[]}),'signal':AbortSignal['timeout'](0x458*0x4+0x117a+-0xf52)})[bs(0x34e)](()=>{}),console[bs(0x486)](),console[bs(0x486)](a0L['cyan']('\x20\x20═══════════════════════════════════════')),console[bs(0x486)](),console['log'](a0L['bold'][bs(0x27b)](bs(0x4ea))),console['log'](a0L[bs(0x280)][bs(0x27b)](bs(0x1d4))),console[bs(0x486)](a0L[bs(0x280)][bs(0x27b)](bs(0x272))),console[bs(0x486)](a0L[bs(0x280)][bs(0x27b)](bs(0x221))),console[bs(0x486)](a0L[bs(0x280)]['white']('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console['log'](a0L[bs(0x280)][bs(0x27b)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bs(0x486)](),console[bs(0x486)](a0L[bs(0x280)](bs(0x371)+a0ai(bs(0x496))+':\x20'+a4+'/'+Q+'\x20('+ad+'%)')),console[bs(0x486)](a0L[bs(0x280)](bs(0x371)+(ad>=-0xe71+-0x317+0x11c4?a0L[bs(0x22b)](a0ai('passed')):a0L[bs(0x1ef)](a0ai(bs(0x48f)))))),console[bs(0x486)](a0L[bs(0x44d)](bs(0x3d8)+a9)),console[bs(0x486)](),console[bs(0x486)](a0L[bs(0x3a7)]('\x20\x20\x20International\x20Cyber\x20Olympiad\x20in\x20AI\x202026')),console['log'](a0L[bs(0x44d)](bs(0x324))),console[bs(0x486)](),console[bs(0x486)](a0L[bs(0x20e)](bs(0x4a0))),await q(-0xd97*-0x2+-0x2be+-0xcb8));const ag=Object[bs(0x41b)](a6);if(ag[bs(0x465)]>0x18c6+-0x14b5+-0x411){console[bs(0x486)](),console[bs(0x486)](a0L['bold'][bs(0x27b)](bs(0x2e5)));const am=-0x62b*0x5+0x1c7a+0x267;for(const [an,ao]of ag){const ap=ao['total']>0x1*-0x64d+0x552+0xfb?Math[bs(0x497)](ao[bs(0x45d)]/ao[bs(0x494)]*(0x15*-0x151+-0x1fe6+0x3bef)):0x605+0x4*0x1a+-0x66d,aq=ao[bs(0x494)]>0x14a5+0x1*0x1025+-0x22*0x115?Math[bs(0x497)](ao[bs(0x45d)]/ao[bs(0x494)]*am):-0x66b*-0x5+-0x32f*-0xa+-0x1*0x3fed,ar=am-aq,as=ap>=0x10f7+-0x2678+-0x5*-0x45d?a0L[bs(0x22b)]:ap>=0x5be+0x155d+0x1*-0x1ae9?a0L[bs(0x3a7)]:a0L['red'],at=as('█'[bs(0x325)](aq))+a0L[bs(0x44d)]('░'[bs(0x325)](ar));console[bs(0x486)]('\x20\x20\x20\x20'+a0L['white'](an['padEnd'](-0x9c5+0x32b+0x2*0x357))+'\x20'+at+'\x20\x20'+as(ao[bs(0x45d)]+'/'+ao[bs(0x494)])+a0L['gray']('\x20('+ap+'%)'));}console['log'](),console[bs(0x486)](a0L['cyan']('\x20\x20─────────────────────────────────────────────'));}const ah=a0a4(a4,Q);if(a4===ah[bs(0x429)]&&ah['attempts']>0x54f*0x3+0x1f2b+-0x2f17&&a4>-0x1563+-0x2*0x4fd+0x1f5d&&(console[bs(0x486)](),console[bs(0x486)](a0L[bs(0x280)][bs(0x22b)](bs(0x35b)))),a5[bs(0x465)]>0x17*-0x84+0x2*-0xb01+0x21de){const au=aa[bs(0x2f8)](av=>a5[bs(0x24a)](av['number']))[bs(0x35a)](av=>({...av}));a0a5(au);}else a0a7();if(await q(0x596*0x5+-0x1cd1+0xc9b),a5[bs(0x465)]>0x2220+-0x113b+-0x10e5){console[bs(0x486)](),console[bs(0x486)](a0L[bs(0x3a7)]('\x20\x20'+a5[bs(0x465)]+'\x20'+a0ai(bs(0x3ed)))),console['log']();for(const av of a5){const aw=aa[bs(0x1fd)](az=>az[bs(0x328)]===av);if(!aw)continue;const ax=ab[av],ay=aw[bs(0x459)];console[bs(0x486)](a0L[bs(0x27b)]('\x20\x20Q'+av+'.\x20'+aw[bs(0x331)])),ax?console[bs(0x486)](a0L[bs(0x1ef)](bs(0x4cb)+a0ai(bs(0x4b4))+':\x20'+ax+'.\x20'+aw[bs(0x2f4)][ax])):console[bs(0x486)](a0L[bs(0x3a7)](bs(0x4cb)+a0ai(bs(0x4b4))+':\x20—')),ay&&console[bs(0x486)](a0L['green']('\x20\x20\x20\x20'+a0ai(bs(0x45d))+':\x20'+ay+'.\x20'+aw[bs(0x2f4)][ay])),aw['explanation']&&console[bs(0x486)](a0L[bs(0x44d)](bs(0x2c3)+aw[bs(0x49d)])),console[bs(0x486)]();}}else console['log'](),console[bs(0x486)](a0L[bs(0x22b)]('\x20\x20'+a0ai('perfectScore')));await q(0x1d8c+-0x2*0x8bd+0x5*-0xda),console[bs(0x486)](),console[bs(0x486)](a0L[bs(0x20e)](bs(0x3f9))),console[bs(0x486)](a0L['white']('\x20\x20'+a0ai(bs(0x419))+'\x20')+a0L[bs(0x280)]['green']('ai4ctf')+a0L[bs(0x44d)]('\x20—\x20'+a0ai(bs(0x244)))),console['log'](a0L['gray']('\x20\x20'+a0ai('ai4ctfSub'))),console[bs(0x486)](a0L[bs(0x20e)](bs(0x3f9))),console[bs(0x486)]();}catch(az){console[bs(0x486)](),a0aa(az[bs(0x43c)]);}return;}const W=K[bs(0x356)][bs(0x281)];try{let aA;if(N(-0x85*-0x23+0x5*-0xb5+0x32*-0x4b,bs(0x49b)),W){const aK={};aK[bs(0x347)]=bs(0x3ba);const aL={};aL['ai4ctf']=0x0,aL[bs(0x246)]=0x0;const aM=a0W()[bs(0x2b6)]||'https://practice.icoa2026.au',aN=await fetch(aM+bs(0x484)+K[bs(0x356)]['examId']+bs(0x413),{'method':bs(0x33a),'headers':aK,'body':JSON[bs(0x466)]({'token':W,'answers':K[bs(0x3a8)],'interactions':K[bs(0x4b5)]||[],'aiUsage':K['aiUsage']||aL,'bookmarks':K[bs(0x1e8)]||[]}),'signal':AbortSignal['timeout'](-0x3019+-0x1*0x112+0x6bc3)});if(!aN['ok']){const aO=await aN[bs(0x29e)]()[bs(0x34e)](()=>({'message':bs(0x45c)}));throw new Error(aO['message']||bs(0x45c));}aA=(await aN[bs(0x29e)]())[bs(0x339)];}else{const aP=M();if(!aP)return;aA=await aP[bs(0x258)](K[bs(0x356)][bs(0x42c)],K[bs(0x3a8)]);}N(0x25a3+0x21e5*0x1+-0x4756*0x1,bs(0x2a4)),await q(-0x1d43+0x1e86+0x17*-0x1),N(0x4*0x2a2+-0x1b8a+0x1166,bs(0x40c)),console[bs(0x486)]();const aB={};aB['ai4ctf']=0x0,aB['ctf4ai']=0x0;const aC={'answered':Object[bs(0x213)](K['answers'])[bs(0x465)],'total':K[bs(0x356)][bs(0x20d)],'bookmarks':Array[bs(0x2b7)](K['bookmarks'])?K[bs(0x1e8)][bs(0x465)]:-0x22af+0x2294*-0x1+0x95*0x77,'help':R(K),'aiUsage':K[bs(0x475)]||aB,'interactions':(K['interactions']||[])['length'],'durationMin':K[bs(0x356)][bs(0x3c5)]||0x1bf4+-0x80*-0x36+0x1*-0x36f4,'confirmedAt':K['session'][bs(0x1f5)]||K[bs(0x356)][bs(0x307)],'examId':K[bs(0x356)][bs(0x42c)]};a0a0();const aD=Math[bs(0x4ac)](-0xd88+-0x921*0x1+0x16a9,Math['round']((Date[bs(0x334)]()-new Date(aC['confirmedAt'])[bs(0x458)]())/(-0xe3b+0xca6+0x57d))),aE=Math[bs(0x337)](aD/(-0x4*0x66+0x3*0x857+-0x1731)),aF=aD%(-0x7*0x2b3+-0x1*-0x254c+0x1*-0x122b);console[bs(0x486)](),console[bs(0x486)](a0L[bs(0x20e)]('\x20\x20═════════════════════════════════════════════')),console['log'](),console[bs(0x486)](a0L[bs(0x280)][bs(0x27b)](bs(0x4ea))),console[bs(0x486)](a0L[bs(0x280)][bs(0x27b)](bs(0x1d4))),console[bs(0x486)](a0L['bold'][bs(0x27b)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console['log'](a0L[bs(0x280)][bs(0x27b)](bs(0x221))),console[bs(0x486)](a0L[bs(0x280)][bs(0x27b)](bs(0x382))),console['log'](a0L[bs(0x280)][bs(0x27b)](bs(0x43e))),console['log']();const aG=aA[bs(0x316)]?a0L[bs(0x22b)][bs(0x280)]('\x20\x20\x20✓\x20\x20Submission\x20accepted\x20—\x20baseline\x20met'):a0L[bs(0x3a7)][bs(0x280)](bs(0x31a));console[bs(0x486)](aG),console['log'](),console[bs(0x486)](a0L[bs(0x27b)](bs(0x47d))),console[bs(0x486)](a0L[bs(0x27b)](bs(0x379))),console[bs(0x486)](a0L[bs(0x27b)](bs(0x1d6))),console[bs(0x486)](),console['log'](a0L[bs(0x20e)]('\x20\x20─────────────────────────────────────────────')),console[bs(0x486)](),console[bs(0x486)](a0L[bs(0x280)][bs(0x27b)](bs(0x2f0)));const aH=aC['total']-aC[bs(0x267)];console[bs(0x486)](bs(0x4cb)+a0L[bs(0x44d)](bs(0x45e))+a0L['white'](aC['answered']+'/'+aC['total'])+(aH>-0x1e03+0x1*0x16fa+0x709?a0L['gray'](bs(0x3b2)+aH+'\x20skipped'):'')),console[bs(0x486)](bs(0x4cb)+a0L[bs(0x44d)](bs(0x36e))+a0L[bs(0x27b)](aE+'m\x20'+aF+'s')+a0L[bs(0x44d)](bs(0x2f6)+aC[bs(0x2ff)]+'m\x20total')),aC[bs(0x1e8)]>0x1651+0x2541+-0x1*0x3b92&&console[bs(0x486)](bs(0x4cb)+a0L['gray'](bs(0x2ea))+a0L['yellow']('★\x20'+aC[bs(0x1e8)])),console['log']();const aI=aA[bs(0x233)];if(aI&&Object[bs(0x213)](aI)[bs(0x465)]>=0x156b+0x203a+-0x11e1*0x3){const aQ=Object[bs(0x41b)](aI)[bs(0x2f8)](([,aV])=>aV['total']>-0x1*-0x253b+-0x26cf*-0x1+0x2605*-0x2)[bs(0x35a)](([aV,aW])=>({'cat':aV,'pct':aW[bs(0x45d)]/aW[bs(0x494)]}))['sort']((aV,aW)=>aW[bs(0x3a2)]-aV[bs(0x3a2)]),aR=Math[bs(0x271)](-0xd42*0x2+0x11*0x1d4+-0x247*0x2,Math['ceil'](aQ['length']/(0x3*-0x2b7+-0x23e5*-0x1+0x315*-0x9))),aS=Math[bs(0x271)](-0x1*-0x2109+0x1dab*-0x1+0x4*-0xd7,Math[bs(0x467)](aQ[bs(0x465)]/(0x5*-0x694+-0xfcb+-0x2*-0x1859))),aT=aQ[bs(0x335)](-0x1*-0x1c8b+-0x13be*0x1+0x8cd*-0x1,aR)[bs(0x35a)](aV=>aV[bs(0x4c9)]),aU=aQ['slice'](-aS)['map'](aV=>aV['cat']);aT[bs(0x2e2)](aV=>aU[bs(0x24a)](aV))||(console[bs(0x486)](a0L[bs(0x280)][bs(0x27b)](bs(0x4cf))),console[bs(0x486)](bs(0x4cb)+a0L['green']('Stronger\x20here:\x20\x20')+a0L[bs(0x27b)](aT[bs(0x3fe)](',\x20'))),console[bs(0x486)](bs(0x4cb)+a0L[bs(0x3a7)](bs(0x3aa))+a0L[bs(0x27b)](aU[bs(0x3fe)](',\x20'))),console[bs(0x486)](a0L[bs(0x44d)](bs(0x445))),console[bs(0x486)]());}console[bs(0x486)](a0L[bs(0x280)][bs(0x27b)](bs(0x22e))),console[bs(0x486)](bs(0x4cb)+a0L[bs(0x44d)](bs(0x200))+a0L[bs(0x27b)](aC[bs(0x336)][bs(0x22f)]+'/'+aC[bs(0x336)]['max'])),console[bs(0x486)](bs(0x4cb)+a0L['gray'](bs(0x378))+a0L['white'](aC[bs(0x475)][bs(0x330)]+bs(0x2e4))+a0L[bs(0x44d)](bs(0x3b2))+a0L[bs(0x27b)](aC[bs(0x475)]['ctf4ai']+'\x20CTF4AI')),console['log'](),console['log'](a0L[bs(0x20e)](bs(0x3f9))),console[bs(0x486)](),console['log'](a0L[bs(0x280)][bs(0x27b)](bs(0x25a))),console['log'](a0L[bs(0x44d)](bs(0x3fb))),console['log'](a0L[bs(0x44d)]('\x20\x20·\x20Keep\x20sharpening:\x20')+a0L[bs(0x27b)]('demo')+a0L['gray'](bs(0x252))),console['log'](a0L['gray']('\x20\x20·\x20Reference\x20guides\x20for\x2038\x20tools:\x20')+a0L['white'](bs(0x204))),console['log']();const {showCToBUpgradePrompt:aJ}=await import(bs(0x364));aJ(aC[bs(0x42c)],aA[bs(0x316)]),console['log'](a0L[bs(0x3a7)](bs(0x3e5))),console[bs(0x486)](a0L[bs(0x20e)]['underline'](bs(0x460))),console['log'](),console[bs(0x486)](a0L[bs(0x20e)](bs(0x278))),console[bs(0x486)]();}catch(aV){console['log'](),a0aa(aV['message']);}}),B['command'](bb(0x4c2))['description'](bb(0x4a4))[bb(0x432)](async F=>{const bt=bb;a0a8(bt(0x20f)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa('Specify\x20exam\x20ID:\x20exam\x20result\x20<id>');F=J['session']['examId'];}const H=a0ag(bt(0x234));H['start']();try{const K=await G[bt(0x48d)](F);H[bt(0x446)](bt(0x294)),console[bt(0x486)](),a0ae(K[bt(0x354)]),a0af('Score',a0L['bold'](K[bt(0x496)]+'/'+K[bt(0x494)])),a0af(bt(0x3d1),a0L[bt(0x280)](K[bt(0x4f1)]+'%')),a0af(bt(0x20a),K['passed']?a0L[bt(0x22b)][bt(0x280)](bt(0x4dd)):a0L[bt(0x1ef)][bt(0x280)](bt(0x4ba))),a0af(bt(0x444),K[bt(0x403)]),console[bt(0x486)]();}catch(L){H[bt(0x470)](bt(0x43d)),a0aa(L[bt(0x43c)]);}}),B[bb(0x3a6)](bb(0x2c5))[bb(0x2c4)](bb(0x3e8))[bb(0x432)](async J=>{const bu=bb;a0a8(bu(0x2d4)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bu(0x3a0)),V=K();if(V){const a2=V[bu(0x356)][bu(0x281)],a3=a0a1(),a4=!!a2&&a2[bu(0x243)]()['toUpperCase']()!==J[bu(0x243)]()['toUpperCase'](),a5=!!a3&&a3[bu(0x458)]()+(0x21c2f7+0x2c1*-0x5eb+0xa0074)<Date[bu(0x334)]();if(a4&&a5)return Q(),console[bu(0x486)](),console[bu(0x486)](a0L[bu(0x44d)](bu(0x28f))),console['log'](),console[bu(0x486)](a0L[bu(0x27b)](bu(0x2bc))+a0L[bu(0x280)]['cyan'](bu(0x434)+J)),void console[bu(0x486)]();if(!a2&&J)return V['session'][bu(0x281)]=J[bu(0x243)](),L(V),console['log'](),console['log'](a0L[bu(0x22b)](bu(0x2e6))),console[bu(0x486)](a0L['gray']('\x20\x20\x20\x20You\x20can\x20now\x20use:\x20')+a0L['white'](bu(0x3a1))+a0L[bu(0x44d)](bu(0x42a))+a0L[bu(0x27b)](bu(0x3e1))),console[bu(0x486)](),console[bu(0x486)](a0L[bu(0x280)]['white'](bu(0x3bf))),console[bu(0x486)](a0L[bu(0x44d)](bu(0x2c3))+a0L['bold'][bu(0x20e)](bu(0x32c))+a0L[bu(0x44d)]('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bu(0x486)](a0L[bu(0x44d)](bu(0x2c3))+a0L['bold'][bu(0x20e)](bu(0x1e0))+a0L[bu(0x44d)](bu(0x43a))),void console[bu(0x486)]();const a6=Object[bu(0x213)](V[bu(0x3a8)])[bu(0x465)],a7=V[bu(0x356)][bu(0x20d)],a8=a0a1(),a9=a8?Math[bu(0x4ac)](0xd4*-0x13+-0x19a0+0x4*0xa57,Math[bu(0x497)]((a8['getTime']()-Date[bu(0x334)]())/(-0x10b08*0x1+0x18352+-0x11*-0x6b6))):null;return console[bu(0x486)](),console[bu(0x486)](a0L[bu(0x3a7)](bu(0x28b))),console[bu(0x486)](),console[bu(0x486)](a0L[bu(0x44d)](bu(0x31e))+a0L[bu(0x27b)](V['session']['examName'])),a2&&console[bu(0x486)](a0L[bu(0x44d)](bu(0x2bb))+a0L['white'](a2)+(a2===J?a0L[bu(0x22b)](bu(0x4d9)):a0L[bu(0x3a7)](bu(0x2fc)))),console['log'](a0L[bu(0x44d)](bu(0x298))+a0L[bu(0x27b)](a6+'/'+a7)),null!==a9&&console[bu(0x486)](a0L['gray'](bu(0x448))+a0L['white'](a9+'\x20min\x20remaining')),console[bu(0x486)](),console['log'](a0L[bu(0x280)][bu(0x27b)](bu(0x3c6))),console['log'](a0L[bu(0x44d)](bu(0x2c3))+a0L[bu(0x280)][bu(0x20e)]('exam\x20q\x201')+a0L[bu(0x44d)](bu(0x28a))),console[bu(0x486)](a0L[bu(0x44d)](bu(0x2c3))+a0L[bu(0x280)][bu(0x20e)]('exam\x20review')+a0L[bu(0x44d)](bu(0x43a))),console[bu(0x486)](a0L[bu(0x44d)](bu(0x2c3))+a0L['bold'][bu(0x20e)](bu(0x3e1))+a0L[bu(0x44d)]('\x20\x20\x20finish\x20and\x20submit')),a2&&a2!==J&&(console[bu(0x486)](),console['log'](a0L[bu(0x3a7)](bu(0x327))),console[bu(0x486)](a0L[bu(0x3a7)](bu(0x498))),console[bu(0x486)](),console[bu(0x486)](a0L['gray'](bu(0x34f))),console[bu(0x486)](a0L[bu(0x44d)]('\x20\x20run\x20')+a0L[bu(0x280)][bu(0x20e)](bu(0x41e))+a0L[bu(0x44d)](bu(0x1da)))),void console[bu(0x486)]();}const {isNativeWindowsCmd:W}=await import(bu(0x431));if(!W()&&!a0am()){let aa=!(-0x1551+-0x1a4a+-0x16*-0x22a);try{const ab={};ab[bu(0x347)]='application/json';const ac=a0W()[bu(0x2b6)]||'https://practice.icoa2026.au',ad=await fetch(ac+bu(0x471),{'method':bu(0x33a),'headers':ab,'body':JSON[bu(0x466)]({'token':J[bu(0x243)](),'deviceHash':a0aj(),'peek':!(-0x2c5*0x2+0x1*0xe59+0x1c3*-0x5)}),'signal':AbortSignal['timeout'](0x17ed+0x300+-0x765)});if(ad['ok']){const ae=await ad[bu(0x29e)]();(ae?.[bu(0x339)]?.[bu(0x436)]||'')[bu(0x20c)]('-c')&&(aa=!(0x3*0x6c3+0x11*-0x1f3+0xcda));}}catch{}if(!aa)return console['log'](),a0ab(bu(0x395)),console['log'](a0L[bu(0x44d)](bu(0x490))+a0L[bu(0x280)][bu(0x20e)](bu(0x312))),console[bu(0x486)](a0L[bu(0x44d)](bu(0x1fc))+a0L[bu(0x280)][bu(0x20e)](bu(0x31c))+a0L[bu(0x44d)](bu(0x2d2))),console['log'](a0L['gray']('\x20\x20(Paper\x20C\x20tokens\x20skip\x20this\x20gate\x20—\x20Paper\x20C\x20is\x20MCQ-only)')),void console['log']();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si';const Y=X[J[bu(0x243)]()[bu(0x2d9)](-0x1*0x1e89+0x7bb+0x16ce,0x1639+0x217f+-0x37b6)['toUpperCase']()],Z=a0W(),a0=Z[bu(0x2b6)]||bu(0x235),a1=Y||Z['language']||'en';Y&&Y!==(Z[bu(0x401)]||'en')&&a0X({'language':Y}),console[bu(0x486)](),N(-0x1*-0x248+0x1*-0x2405+0x1*0x21bd,bu(0x2ac));try{const af={};af[bu(0x347)]='application/json';const ag=await fetch(a0+bu(0x471),{'method':'POST','headers':af,'body':JSON[bu(0x466)]({'token':J[bu(0x243)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bu(0x20b)](-0x1*-0x2fe7+-0x27f9+0x1f22)});if(!ag['ok']){N(0x23ef*0x1+-0x1*-0xb61+0x17a8*-0x2,''),console[bu(0x486)]();const ao=await ag[bu(0x29e)]()[bu(0x34e)](()=>({'message':bu(0x456)}));return a0aa(ao[bu(0x43c)]||bu(0x376)),void a0ac('Check\x20your\x20token\x20or\x20contact\x20your\x20proctor.');}N(0x5*-0x19+0x19a9+-0x42d*0x6,bu(0x26c));const ah=await ag[bu(0x29e)](),{session:ai,questions:aj,languages:ak}=ah[bu(0x339)];N(-0x16c5+-0x103d+0x273e,bu(0x1f3)),await q(-0x1294+0x3a*-0x27+0x1c32),N(0x9*0x1eb+-0x1fd9+0xefa,'Ready!'),console['log'](),console[bu(0x486)](),a0ae(ai['examName']),console[bu(0x486)](),a0af(bu(0x277),ai[bu(0x20d)]+bu(0x219)),a0af(bu(0x38b),ai[bu(0x3c5)]+bu(0x4e4)),a0af(bu(0x30a),(ai[bu(0x3da)]||0x181+0x2*-0xed0+0x1*0x1cb5)+bu(0x348)),a0af(bu(0x35e),(ai[bu(0x425)]||0x1dc3+-0x414+-0xd*0x1f4)+bu(0x319)),console['log'](),console[bu(0x486)](a0L[bu(0x27b)](bu(0x2c7))),console['log'](a0L[bu(0x27b)](bu(0x295))),console[bu(0x486)](a0L[bu(0x27b)](bu(0x4d6))),console[bu(0x486)](a0L['white'](bu(0x48e))),ak&&ak[bu(0x465)]>-0xaa2+-0x44b*0x5+0x201a&&console[bu(0x486)](a0L[bu(0x27b)]('\x20\x20\x20\x20Lang:\x20\x20\x20\x20'+ak[bu(0x3fe)](',\x20')+bu(0x36a))),console[bu(0x486)](),console[bu(0x486)](a0L['yellow'](bu(0x21f))),console['log'](a0L[bu(0x27b)]('\x20\x20\x20\x20•\x20All\x20interactions\x20are\x20recorded\x20for\x20audit')),console[bu(0x486)](a0L['white'](bu(0x1ea))),console['log'](a0L[bu(0x27b)](bu(0x3cb))),console[bu(0x486)](),await new Promise(ap=>{const bv=bu;process['stdout'][bv(0x3ef)](a0L['bold']['yellow'](bv(0x3c8)));const aq=!!process['stdin'][bv(0x487)]&&process[bv(0x3dc)]['isRaw'];process[bv(0x3dc)][bv(0x487)]&&process['stdin'][bv(0x44e)]&&process[bv(0x3dc)][bv(0x44e)](!(-0x12b+-0xb27*-0x2+-0x43a*0x5));const ar=as=>{const bw=bv,at=as[bw(0x303)]();(at['includes']('\x0a')||at[bw(0x24a)]('\x0d'))&&(process[bw(0x3dc)]['removeListener'](bw(0x339),ar),process[bw(0x3dc)]['isTTY']&&process['stdin'][bw(0x44e)]&&process['stdin']['setRawMode'](aq),process['stdout'][bw(0x3ef)]('\x0a'),ap());};process['stdin']['on'](bv(0x339),ar),process[bv(0x3dc)][bv(0x2cb)]();});const al=new Date()['toISOString']();ai['confirmedAt']=al,ai[bu(0x281)]=J[bu(0x243)]();try{const ap=Date['now'](),aq=await fetch(a0+bu(0x4b3),{'method':'GET','signal':AbortSignal[bu(0x20b)](0x193d+-0x23a4*0x1+0x161f)});if(aq['ok']){const ar=await aq[bu(0x29e)](),as=ar?.[bu(0x339)]?.[bu(0x255)];if(bu(0x328)==typeof as&&as>0x1050+0x1a9f+0x1*-0x2aef){const at=(ap+Date['now']())/(-0x1298+-0x11b7*-0x2+-0x2ce*0x6);ai[bu(0x323)]=Math['round'](as-at),ai[bu(0x410)]=as+(-0x15*0x2+-0xa0+0x106*0x1)*ai[bu(0x3c5)]*(-0x20*-0x3b+-0x1*-0x217d+-0x24f5);}}}catch{}const am={};am['ai4ctf']=0x0,am[bu(0x246)]=0x0;const an={};an['session']=ai,an[bu(0x415)]=aj,an[bu(0x3a8)]={},an[bu(0x4b5)]=[],an[bu(0x475)]=am,(a0Z(an),console[bu(0x486)](),a0a9('Exam\x20started!\x20Timer\x20is\x20running.'),a0af(bu(0x3c9),ai['durationMinutes']+bu(0x3b3)),aj[bu(0x465)]>0xa5+0xf*-0x157+0x1374&&U(aj[0x57*-0x3d+-0x2401+0x38bc]));}catch(au){console[bu(0x486)](),bu(0x3e3)===au[bu(0x47e)]?a0aa(bu(0x274)):a0aa(au['message']||'Failed\x20to\x20start\x20exam');}}),B[bb(0x3a6)](bb(0x302),{'hidden':!(0xf7*-0x27+-0x21aa+0x474b)})['description'](bb(0x264))['action'](async()=>{const bx=bb;a0a8('exam\x20reset');const {getRealExamState:F,clearExamState:G}=await import(bx(0x3a0)),H=F();if(!H)return console[bx(0x486)](),console[bx(0x486)](a0L['gray'](bx(0x218))),void console[bx(0x486)]();const J=H[bx(0x356)][bx(0x281)];if(console[bx(0x486)](),console[bx(0x486)](a0L[bx(0x3a7)](bx(0x3cf))),console[bx(0x486)](a0L['gray']('\x20\x20\x20\x20\x20Exam:\x20\x20')+a0L[bx(0x27b)](H[bx(0x356)][bx(0x354)])),J&&console[bx(0x486)](a0L[bx(0x44d)](bx(0x2d3))+a0L[bx(0x27b)](J)),console[bx(0x486)](a0L[bx(0x44d)]('\x20\x20\x20\x20\x20The\x20token\x20itself\x20is\x20NOT\x20revoked\x20server-side.\x20If\x20your\x20session\x20is')),console[bx(0x486)](a0L[bx(0x44d)]('\x20\x20\x20\x20\x20still\x20active\x20and\x20not\x20submitted,\x20re-entering\x20the\x20same\x20token\x20resumes\x20it.')),console[bx(0x486)](),console[bx(0x486)](a0L[bx(0x44d)](bx(0x3f3))+a0L[bx(0x280)][bx(0x20e)](bx(0x302))+a0L[bx(0x44d)](bx(0x29a))),'reset'!==(await new Promise(K=>{const by=bx;process[by(0x268)][by(0x3ef)](by(0x230));const L=Q=>{const bz=by,V=Q['toString']()[bz(0x243)]();(V[bz(0x24a)]('\x0a')||V[bz(0x24a)]('\x0d')||V[bz(0x465)]>0x9d3+-0x22bb+-0xc74*-0x2)&&(process['stdin'][bz(0x46f)](bz(0x339),L),K(V[bz(0x217)](/[\r\n]/g,'')));};process['stdin']['on'](by(0x339),L),process['stdin']['resume']();}))['toLowerCase']())return console[bx(0x486)](a0L['gray'](bx(0x1e4))),void console[bx(0x486)]();G(),console['log'](),console[bx(0x486)](a0L[bx(0x22b)](bx(0x46b))),console['log'](a0L[bx(0x44d)](bx(0x3b9))+a0L[bx(0x280)][bx(0x20e)](bx(0x3fc))),console[bx(0x486)]();}),B[bb(0x3a6)](bb(0x21a))[bb(0x2c4)](bb(0x3ee))['action'](async()=>{const bA=bb;a0a8(bA(0x2d0)),E(bA(0x1f9));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import('../lib/demo-exam.js');a0W()[bA(0x1f6)]||(await(async function(){const bB=bA;let a0=!(-0xaf2*0x3+0x21c7*-0x1+-0x2*-0x214f);const a1=process[bB(0x3dc)],a2=()=>{a0=!(-0x1c56+-0x1*-0x1f3a+-0xa*0x4a);},a3=a1[bB(0x487)]&&'function'==typeof a1[bB(0x44e)];a3&&(a1[bB(0x44e)](!(-0x19*0x155+0xb*-0xdd+0x2acc)),a1[bB(0x2cb)](),a1[bB(0x2c8)](bB(0x339),a2));const a4=async a5=>{let a6=-0xb64+-0xe0*0x4+-0x3b9*-0x4;for(;a6<a5&&!a0;)await q(0x1731+0x1cf2+0x1*-0x33d3),a6+=-0x1*0x149d+0x47c*-0x2+0x1*0x1de5;};try{if(console[bB(0x479)](),console[bB(0x486)](),console[bB(0x486)](a0L[bB(0x44d)](bB(0x371))+a0L[bB(0x2da)](bB(0x3c1))),console['log'](),console[bB(0x486)](a0L[bB(0x280)][bB(0x27b)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bB(0x486)](a0L['bold']['white'](bB(0x1d4))),console[bB(0x486)](a0L['bold'][bB(0x27b)](bB(0x272))),console['log'](a0L[bB(0x280)][bB(0x27b)](bB(0x221))),console[bB(0x486)](a0L[bB(0x280)][bB(0x27b)](bB(0x382))),console[bB(0x486)](a0L['bold'][bB(0x27b)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console['log'](),console[bB(0x486)](a0L[bB(0x280)][bB(0x3a7)](bB(0x26f))),console[bB(0x486)](a0L[bB(0x44d)](bB(0x422))),await a4(0x1*0x234e+-0x1cfb+-0x371*-0x1),a0)return;if(console[bB(0x486)](),console[bB(0x486)](a0L[bB(0x27b)](bB(0x249))),console['log'](),await a4(0x22d*-0x2+-0x2188+-0x141d*-0x2),a0)return;if(console[bB(0x486)](a0L[bB(0x20e)](bB(0x250))+a0L[bB(0x27b)](bB(0x227))+a0L[bB(0x44d)](bB(0x1f0))),await a4(0x5c9*0x4+-0x170b+0x5*0x87),a0)return;if(console[bB(0x486)](a0L['green'](bB(0x250))+a0L[bB(0x27b)](bB(0x47a))+a0L[bB(0x44d)]('\x20\x20\x20\x20(ai4ctf)')),await a4(-0x5f*-0x47+-0x11c8+-0x1*0x5d5),a0)return;if(console[bB(0x486)](a0L[bB(0x1ef)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bB(0x27b)]('Hack\x20the\x20AI\x27s\x20guardrails')+a0L[bB(0x44d)](bB(0x240))),await a4(0x779+0x21b4+-0x25a9*0x1),a0)return;if(console['log'](),console[bB(0x486)](a0L[bB(0x280)]['white'](bB(0x276))+a0L[bB(0x280)]['yellow']('IS')+a0L[bB(0x280)]['white'](bB(0x4f3))),console[bB(0x486)](),await a4(-0x3*-0xcd6+-0x1*0xc41+-0x1465*0x1),a0)return;if(console[bB(0x486)](a0L['gray'](bB(0x2bf))),await a4(0x185*-0x2+0xf1f+0x1*-0xa85),a0)return;if(console['log'](a0L[bB(0x44d)](bB(0x220))),await a4(0x1e96+-0x250+-0x1ab6),a0)return;if(console[bB(0x486)](a0L[bB(0x44d)](bB(0x495))),await a4(-0x220e+-0x1*-0x22c1+-0x17*-0x1b),a0)return;console[bB(0x486)](),console['log'](a0L[bB(0x280)][bB(0x20e)]('\x20\x20\x20Press\x20any\x20key\x20to\x20start\x20demo...')),await a4(0x1289+-0x11fd*-0x1+0x217*-0xa);}finally{((()=>{const bC=bB;if(a3){a1[bC(0x46f)](bC(0x339),a2);try{a1[bC(0x44e)](!(0x1*-0x13ac+0x1746+0x1*-0x399));}catch{}a1['pause']();}})()),console['clear']();}}()),a0X({'demoIntroSeen':!(-0x2b*-0x7+0x5a5+-0x6d2)})),console[bA(0x486)](),console[bA(0x486)](a0L[bA(0x27b)](bA(0x34b))+a0L['gray'](H+bA(0x3d6)+J+bA(0x3b8))),console[bA(0x486)](a0L[bA(0x44d)](bA(0x4b6))+a0L['cyan']('Ctrl+C')+a0L[bA(0x44d)](bA(0x362))+a0L['cyan'](bA(0x31c))+a0L[bA(0x44d)](bA(0x474))),await new Promise(a0=>{const bD=bA;process[bD(0x268)][bD(0x3ef)](a0L[bD(0x280)][bD(0x3a7)](bD(0x2ba)));const a1=!!process[bD(0x3dc)][bD(0x487)]&&process[bD(0x3dc)][bD(0x265)];process[bD(0x3dc)][bD(0x487)]&&process[bD(0x3dc)][bD(0x44e)]&&process[bD(0x3dc)][bD(0x44e)](!(0x119*-0x2+0xba3*0x1+-0x25c*0x4));const a2=a3=>{const bE=bD,a4=a3[bE(0x303)]();(a4['includes']('\x0a')||a4['includes']('\x0d'))&&(process['stdin'][bE(0x46f)]('data',a2),process[bE(0x3dc)]['isTTY']&&process['stdin'][bE(0x44e)]&&process['stdin'][bE(0x44e)](a1),process[bE(0x268)][bE(0x3ef)]('\x0a'),a0());};process['stdin']['on'](bD(0x339),a2),process['stdin']['resume']();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bA(0x3a0));Q()&&V('demo-free'),console[bA(0x486)](),a0ae(bA(0x391)),console[bA(0x486)](),console[bA(0x486)](a0L[bA(0x27b)](bA(0x2c2))),console[bA(0x486)](a0L[bA(0x27b)]('\x20\x20'+H+bA(0x2c9)+J+bA(0x27d)));const W=a0a3();if(W[bA(0x232)]>0x5*-0x2fd+0x1635+-0x744){const a0=W[bA(0x39d)],a1=a0>=0x653*0x2+0x2*-0xce2+0x47a*0x3?a0L[bA(0x22b)]:a0>=-0x113d+0xbb9+0x5c0?a0L['yellow']:a0L[bA(0x27b)];console[bA(0x486)](),console['log'](a0L[bA(0x44d)](bA(0x2cf))+a1(W['best']+'/'+H+'\x20('+a0+'%)')+a0L[bA(0x44d)]('\x20\x20·\x20\x20'+W[bA(0x232)]+bA(0x37f)));}console[bA(0x486)](),console[bA(0x486)](a0L[bA(0x44d)](bA(0x4d8))),console[bA(0x486)](a0L[bA(0x27b)]('\x20\x20'+a0ai(bA(0x483)))),console[bA(0x486)](a0L[bA(0x3a7)](bA(0x304))+a0L['gray'](bA(0x4af)+a0ai(bA(0x32e)))),console[bA(0x486)](a0L['yellow'](bA(0x26d))+a0L[bA(0x44d)](bA(0x279)+a0ai(bA(0x24e)))),console['log'](a0L['yellow'](bA(0x1f7))+a0L[bA(0x44d)](bA(0x4ae))+a0L[bA(0x3a7)](bA(0x3b1))+a0L['gray'](bA(0x4cb)+a0ai(bA(0x1d5)))),console['log'](a0L[bA(0x3a7)]('\x20\x20\x20\x20more\x20help')+a0L['gray'](bA(0x33e)+a0ai(bA(0x284)))),console['log'](a0L[bA(0x3a7)]('\x20\x20\x20\x20back')+a0L[bA(0x44d)](bA(0x279)+a0ai(bA(0x1de)))),console[bA(0x486)](a0L[bA(0x3a7)](bA(0x260))+a0L[bA(0x44d)](bA(0x279)+a0ai(bA(0x3f7)))),console[bA(0x486)](a0L[bA(0x44d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20es\x20·\x20zh\x20·\x20ja\x20·\x20ko\x20·\x20ar\x20·\x20fr\x20·\x20pt')),console[bA(0x486)](a0L[bA(0x44d)](bA(0x1f1))),console[bA(0x486)](a0L['gray'](bA(0x4d8))),console[bA(0x486)]();const {getConfig:X}=await import(bA(0x383)),Y=X()[bA(0x401)]||'en';'en'===Y?(console[bA(0x486)](a0L['gray'](bA(0x4f5))),console['log'](a0L['gray']('\x20\x20lang\x20es\x20(Español)\x20·\x20lang\x20zh\x20(中文)\x20·\x20lang\x20ko\x20(한국어)\x20·\x20lang\x20ja\x20(日本語)')),console['log'](a0L[bA(0x44d)](bA(0x442)))):console[bA(0x486)](a0L[bA(0x22b)](bA(0x4ef)+Y)),console[bA(0x486)](),console['log'](a0L[bA(0x27b)](bA(0x273)));const Z={...L,'startedAt':new Date()[bA(0x38c)]()};console[bA(0x486)](),N(-0x1862*0x1+-0x3*0xc9+0x5*0x559,bA(0x262)),await q(-0x18ac+-0x23da+0x3d4e),N(-0x18c3*0x1+-0x782*-0x2+0x9e7*0x1,bA(0x38e)),await q(0x1300+0x4*-0x4a9+-0x9*-0xc),N(-0x1aae*0x1+-0x13*-0x122+-0x8c*-0xa,bA(0x2b9)),await q(0xfce*0x1+0xec8+-0x1e00),N(-0x1*-0x3ee+0xd76+0x20*-0x88,'Ready!'),console[bA(0x486)](),console[bA(0x486)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bA(0x277),String(H)),a0af('Duration','No\x20time\x20limit'),U(K[-0xd6*-0x18+-0x4*0x81+-0x120c]);}),B[bb(0x3a6)](bb(0x33c))[bb(0x2c4)](bb(0x30d))[bb(0x432)](async()=>{const bF=bb;a0a8(bF(0x248)),E('post-report-retry');const {getLocalizedDemoSession:F}=await import(bF(0x352)),G=a0a6();if(!G||-0x1*0x7fb+0x17*0xfa+-0xe7b===G[bF(0x465)])return console[bF(0x486)](),console[bF(0x486)](a0L[bF(0x3a7)]('\x20\x20No\x20wrong\x20questions\x20to\x20retry.\x20Run\x20')+a0L[bF(0x280)][bF(0x20e)](bF(0x21a))+a0L['yellow'](bF(0x30b))),void console['log']();const H=a0Y();if(H){if(bF(0x292)!==H[bF(0x356)][bF(0x42c)])return a0ab(bF(0x289)+H['session'][bF(0x354)]+bF(0x443)),void a0ac('Submit\x20it\x20first:\x20exam\x20submit');a0a0();}const J=V=>{const bG=bF;if(!V[bG(0x459)])return V;const W=V['options'][V[bG(0x459)]],X=['A','B','C','D'][bG(0x35a)](a2=>V[bG(0x2f4)][a2]);for(let a2=X[bG(0x465)]-(-0x453*0x3+-0x2e5+0xfdf);a2>-0xdba+0x149f*-0x1+0x2259;a2--){const a3=Math['floor'](Math['random']()*(a2+(-0x1*-0x321+0x135e+0xb3f*-0x2)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[0x5e7+0xb33*-0x1+0x54c],Y['B']=X[-0x1*0x19db+0x9*0x1ff+0x7e5*0x1],Y['C']=X[0x25ed+-0xe09+0x6*-0x3fb],Y['D']=X[0x24ec+-0x33e*-0x8+-0x207*0x1f];const Z=Y,a0=['A','B','C','D'][bG(0x1fd)](a4=>Z[a4]===W),a1={...V};return a1['options']=Z,a1[bG(0x459)]=a0,a1;},K=G[bF(0x35a)]((V,W)=>({...J(V),'number':W+(0x20fd+-0x1*0x1957+-0x7a5)})),L=F(),Q={...L,'examName':L[bF(0x354)]+bF(0x2a9),'questionCount':K[bF(0x465)],'startedAt':new Date()[bF(0x38c)]()};console[bF(0x486)](),a0ae('Demo\x20Retry\x20—\x20Wrong\x20Questions\x20Only'),console['log'](),console[bF(0x486)](a0L[bF(0x27b)](bF(0x4f7)+K['length']+'\x20question'+(0x23f3+0x22*0xac+-0x7*0x866===K[bF(0x465)]?'':'s')+bF(0x3df))),console[bF(0x486)](a0L[bF(0x44d)](bF(0x4c7))),console[bF(0x486)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af('Questions',String(K[bF(0x465)])),a0af(bF(0x38b),bF(0x2e1)),U(K[0x4ed+-0x16e+0xb3*-0x5]);}),B[bb(0x3a6)]('setup')['description'](bb(0x1d7))[bb(0x432)](async()=>{const bH=bb;if(a0a8(bH(0x312)),-0x13c3+0x3ad*0x7+-0x5f8===a0a3()[bH(0x232)])return console[bH(0x486)](),a0ab(bH(0x247)),console[bH(0x486)](a0L[bH(0x44d)](bH(0x490))+a0L[bH(0x280)][bH(0x20e)](bH(0x2d0))),void console[bH(0x486)]();const K=a0ak();if(K){const a4=K[bH(0x261)]['length'],a5=a4+K['failedPackages'][bH(0x465)];if(a4>=-0x209d+0x23a4+-0x1*0x2ff||(a5>0x148e+0x1a89*-0x1+0x5fb?a4/a5:-0x22e5+0x1a30+0x8b5)>=-0x137a+0x1b2f+-0x7b5+0.7)return console['log'](),console[bH(0x486)](a0L[bH(0x22b)]('\x20\x20✓\x20')+a0L[bH(0x22b)](bH(0x3d3))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x34c)+K[bH(0x3d9)][bH(0x49a)]('T')[-0x22b*0xb+0xcf1+-0x8*-0x15d])),console['log'](a0L[bH(0x44d)](bH(0x3be)+K[bH(0x3d2)])),console[bH(0x486)](a0L[bH(0x44d)]('\x20\x20\x20\x20Packages:\x20'+a4+bH(0x49f))),K[bH(0x49c)][bH(0x465)]>0x1833+-0x131+-0x1702&&console[bH(0x486)](a0L['yellow'](bH(0x482)+K[bH(0x49c)][bH(0x3fe)](',\x20'))),console[bH(0x486)](),console[bH(0x486)](a0L['white'](bH(0x2e8))+a0L[bH(0x280)][bH(0x20e)](bH(0x3fc))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x1fc))+a0L[bH(0x280)][bH(0x20e)](bH(0x31c))+a0L[bH(0x44d)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),void console[bH(0x486)]();console[bH(0x486)](),console['log'](a0L['yellow']('\x20\x20Previous\x20setup\x20had\x20only\x20'+a4+'/'+a5+bH(0x39b))),console['log']();}console[bH(0x486)](),a0ae(bH(0x2ed)),console['log'](),console['log'](a0L[bH(0x27b)]('\x20\x20Installing\x20Python\x20packages\x20for\x20practical\x20questions.')),console[bH(0x486)](a0L[bH(0x44d)]('\x20\x20Expected:\x201-2\x20minutes\x20·\x20~150MB\x20disk')),console[bH(0x486)]();const L=(a6,a7)=>{const bI=bH,a8=process['platform'];console[bI(0x486)](),a0aa('missing'===a6?bI(0x22a):bI(0x42d)+a7+'\x20found,\x20but\x203.10+\x20required\x20for\x20the\x20exam.'),console['log'](),console[bI(0x486)](a0L['bold']['white'](bI(0x21c))),console[bI(0x486)](),bI(0x237)===a8?(console[bI(0x486)](a0L[bI(0x3a7)](bI(0x2a1))),console[bI(0x486)](a0L[bI(0x22b)]('\x20\x20\x20\x20brew\x20install\x20python@3.12')),console[bI(0x486)](),console[bI(0x486)](a0L[bI(0x44d)](bI(0x2c6))),console[bI(0x486)](a0L[bI(0x44d)]('\x20\x20\x20\x20https://www.python.org/downloads/macos/'))):bI(0x2ad)===a8?(console[bI(0x486)](a0L[bI(0x3a7)](bI(0x4eb))),console[bI(0x486)](a0L[bI(0x22b)]('\x20\x20\x20\x20sudo\x20add-apt-repository\x20ppa:deadsnakes/ppa\x20-y')),console[bI(0x486)](a0L[bI(0x22b)](bI(0x29b))),console[bI(0x486)](a0L['green'](bI(0x493))),console['log'](a0L[bI(0x44d)]('\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201')),console['log'](),console[bI(0x486)](a0L[bI(0x3a7)](bI(0x2db))),console[bI(0x486)](a0L[bI(0x22b)](bI(0x23c))),console[bI(0x486)](),console[bI(0x486)](a0L['yellow']('\x20\x20Arch\x20/\x20Manjaro:')),console[bI(0x486)](a0L['green'](bI(0x36d)))):bI(0x43f)===a8?(console[bI(0x486)](a0L[bI(0x3a7)](bI(0x4a8))),console[bI(0x486)](a0L[bI(0x22b)](bI(0x359))),console[bI(0x486)](),console[bI(0x486)](a0L['gray']('\x20\x20Or\x20download\x20installer:')),console[bI(0x486)](a0L[bI(0x44d)]('\x20\x20\x20\x20https://www.python.org/downloads/windows/'))):console[bI(0x486)](a0L[bI(0x44d)](bI(0x23b))),console[bI(0x486)](),console['log'](a0L[bI(0x27b)](bI(0x366))+a0L['bold'][bI(0x20e)](bI(0x312))),console['log']();},Q=bH(0x34d);let V='';try{const a6={};a6[bH(0x285)]=bH(0x332),a6[bH(0x20b)]=0x1388,V=a0an(Q+bH(0x282),a6)[bH(0x243)]()[bH(0x217)](bH(0x42d),'');const a7=V[bH(0x49a)]('.')[bH(0x35a)](Number);if(a7[-0x1f2d+-0x1d6a+0x3c97]<-0x281*0x7+0x430+0xd5a||0x216a+-0x245e+-0x21*-0x17===a7[-0x1ee8+0xac*0xd+-0x1*-0x162c]&&a7[-0x118d*-0x1+0xf5b+-0x20e7]<0x3a7*0x1+0x10b*0x18+0x1*-0x1ca5)return void L(bH(0x3e2),V);0x1baa+0x124a+-0x2df1===a7[-0x135*0x1f+-0x6*-0x11+0x2505]&&a7[0x1c57+0x384+0x36*-0x97]<0xd6c+0x98*-0x3a+-0x544*-0x4?console[bH(0x486)](a0L['green'](bH(0x455)+V)+a0L[bH(0x44d)](bH(0x48c))):console[bH(0x486)](a0L['green']('\x20\x20✓\x20Python\x20'+V));}catch{return void L(bH(0x37d));}try{const a8={};a8['stdio']=bH(0x338),a8[bH(0x20b)]=0x1388,(a0an(Q+bH(0x489),a8),console['log'](a0L['green'](bH(0x1e6))));}catch{console[bH(0x486)](a0L[bH(0x3a7)](bH(0x3c0)));try{const a9={};a9[bH(0x3cc)]='ignore',a9[bH(0x20b)]=0x7530,(a0an(Q+bH(0x36b),a9),console[bH(0x486)](a0L[bH(0x22b)](bH(0x23f))));}catch{a0aa('Could\x20not\x20install\x20pip\x20—\x20pip\x20is\x20not\x20installed\x20on\x20your\x20system.'),console[bH(0x486)]();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import(bH(0x431)),{execFileSync:ac}=await import(bH(0x399)),ad=aa(),ae=ab(),af=bH(0x2ad)===process[bH(0x27c)]&&!ad,ag=bH(0x237)===process['platform'];let ah=bH(0x275);if(af||ad)try{const {readFileSync:ak}=await import(bH(0x462)),al=ak(bH(0x4f2),bH(0x332)),am=(al['match'](/^ID="?([^"\n]+)/m)||[])[-0x203a+0xff9+0x1042]||'',an=(al[bH(0x226)](/^VERSION_ID="?([^"\n]+)/m)||[])[-0x139*0x2+0x1*0x6d4+-0x461]||'';bH(0x345)===am?ah=bH(0x397)+an+(ad?'\x20(WSL2)':''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?bH(0x2be):''));}catch{}let ai=!(-0x12*-0xd5+0x451+-0x134a);if(ag)try{const ao={};ao[bH(0x3cc)]='ignore',ao['timeout']=0x7d0,(ac(bH(0x451),[bH(0x311)],ao),ai=!(0xbbc+-0xa*0x3b9+0x197e));}catch{ai=!(0xd3*0x1b+0x6c8+0x2*-0xe84);}const aj=ae?bH(0x2a7):bH(0x301);return console[bH(0x486)](a0L[bH(0x280)][bH(0x3a7)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bH(0x486)](a0L[bH(0x280)][bH(0x3a7)]('\x20\x20'+aj)),console['log'](a0L[bH(0x280)]['yellow']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bH(0x486)](),af||ad?(console[bH(0x486)](a0L[bH(0x27b)]('\x20\x20Detected:\x20')+a0L[bH(0x20e)](ah)),console[bH(0x486)](a0L[bH(0x44d)](bH(0x2a3))),console[bH(0x486)](),console['log'](a0L['bold'][bH(0x27b)](bH(0x491))),console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x27b)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bH(0x280)][bH(0x20e)]('quit')+a0L[bH(0x27b)](bH(0x4b7))),console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x27b)](bH(0x1d8))),console[bH(0x486)](),console['log'](bH(0x4af)+a0L[bH(0x280)][bH(0x20e)](bH(0x3ab))),console[bH(0x486)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x280)][bH(0x20e)](bH(0x433))),console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x27b)]('\x20\x20\x20\x203.\x20Restart\x20icoa\x20and\x20re-run\x20exam\x20setup:')),console[bH(0x486)](),console['log'](bH(0x4af)+a0L['bold'][bH(0x20e)](bH(0x3bb))),console[bH(0x486)](bH(0x4af)+a0L[bH(0x44d)](bH(0x32b))+'\x20'+a0L[bH(0x280)][bH(0x20e)](bH(0x312)))):ag?(console['log'](a0L['white'](bH(0x296))+a0L['cyan'](bH(0x2f7))),console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x280)][bH(0x27b)](bH(0x491))),console['log'](),console['log'](a0L[bH(0x27b)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bH(0x280)][bH(0x20e)](bH(0x1ec))+a0L[bH(0x27b)](bH(0x488))),console[bH(0x486)](),ai?(console[bH(0x486)](a0L[bH(0x27b)](bH(0x25f))),console['log'](),console[bH(0x486)](bH(0x4af)+a0L['bold'][bH(0x20e)](bH(0x47c))),console[bH(0x486)](bH(0x4af)+a0L[bH(0x280)]['cyan']('brew\x20link\x20--overwrite\x20python@3.12'))):(console['log'](a0L[bH(0x27b)](bH(0x3e0))+a0L['bold'][bH(0x3a7)](bH(0x311))+a0L[bH(0x27b)]('):')),console[bH(0x486)](),console[bH(0x486)](bH(0x4af)+a0L[bH(0x280)][bH(0x20e)](bH(0x4f0))),console[bH(0x486)](),console[bH(0x486)](a0L['white']('\x20\x20\x20\x20\x20\x20\x20Then\x20install\x20Python:')),console[bH(0x486)](),console['log'](bH(0x4af)+a0L[bH(0x280)][bH(0x20e)]('brew\x20install\x20python@3.12'))),console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x27b)]('\x20\x20\x20\x203.\x20Restart\x20icoa\x20and\x20retry:')),console[bH(0x486)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x280)][bH(0x20e)](bH(0x3bb))),console[bH(0x486)](bH(0x4af)+a0L[bH(0x44d)](bH(0x32b))+'\x20'+a0L[bH(0x280)][bH(0x20e)]('exam\x20setup'))):ae?(console[bH(0x486)](a0L['white'](bH(0x296))+a0L[bH(0x20e)]('Windows\x20native\x20(PowerShell\x20/\x20cmd)')),console['log'](),console[bH(0x486)](a0L[bH(0x280)][bH(0x3a7)](bH(0x2e7))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x39c))),console[bH(0x486)](a0L['gray']('\x20\x20Paper\x20A\x20/\x20B\x20practical\x20questions\x20need\x20Unix\x20tooling\x20that\x20runs')),console[bH(0x486)](a0L[bH(0x44d)](bH(0x47f))),console['log'](),console[bH(0x486)](a0L['bold'][bH(0x27b)]('\x20\x20Recommended\x20path\x20—\x20switch\x20to\x20WSL2\x20(one-time,\x20~5\x20min):')),console['log'](),console[bH(0x486)](a0L[bH(0x27b)](bH(0x3e7))+a0L[bH(0x280)][bH(0x20e)](bH(0x1ec))+a0L[bH(0x27b)](bH(0x488))),console[bH(0x486)](a0L[bH(0x27b)](bH(0x2f9))),console[bH(0x486)](),console[bH(0x486)](bH(0x4af)+a0L['bold'][bH(0x20e)](bH(0x2dc))),console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x44d)]('\x20\x20\x20\x20\x20\x20\x20(Reboot\x20if\x20Windows\x20asks,\x20then\x20open\x20the\x20Ubuntu\x20terminal.)')),console[bH(0x486)](a0L[bH(0x27b)](bH(0x2d6))),console[bH(0x486)](),console[bH(0x486)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x280)]['cyan'](bH(0x3eb))),console[bH(0x486)](bH(0x4af)+a0L['bold'][bH(0x20e)](bH(0x3f6))),console['log'](bH(0x4af)+a0L[bH(0x280)][bH(0x20e)](bH(0x3b4))),console[bH(0x486)](bH(0x4af)+a0L[bH(0x280)][bH(0x20e)](bH(0x3bb))),console[bH(0x486)](),console['log'](a0L[bH(0x44d)]('\x20\x20───\x20Stay\x20on\x20native\x20Windows\x20(best-effort,\x20may\x20hit\x20PATH\x20issues)\x20───')),console['log'](),console[bH(0x486)](a0L[bH(0x27b)](bH(0x3e7))+a0L[bH(0x280)][bH(0x20e)]('quit')+a0L['white'](bH(0x488))),console['log'](a0L[bH(0x27b)](bH(0x3f2))),console[bH(0x486)](),console[bH(0x486)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x280)][bH(0x20e)](bH(0x3ac))),console[bH(0x486)](),console[bH(0x486)](a0L['gray'](bH(0x349))),console['log'](a0L[bH(0x44d)](bH(0x472))),console[bH(0x486)](a0L[bH(0x27b)](bH(0x329))),console['log'](),console[bH(0x486)](bH(0x4af)+a0L[bH(0x280)][bH(0x20e)](bH(0x3bb))),console[bH(0x486)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bH(0x44d)](bH(0x32b))+'\x20'+a0L[bH(0x280)]['cyan']('exam\x20setup'))):(console[bH(0x486)](a0L[bH(0x27b)](bH(0x4d3))+a0L['cyan'](process['platform'])+a0L[bH(0x27b)](')')),console['log'](),console[bH(0x486)](a0L['gray'](bH(0x4d2))),console['log'](bH(0x4af)+a0L[bH(0x280)]['cyan'](bH(0x3bb))),console['log'](bH(0x4af)+a0L['gray'](bH(0x32b))+'\x20'+a0L[bH(0x280)][bH(0x20e)](bH(0x312)))),console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x44d)]('\x20\x20Stuck?\x20Email\x20your\x20selection\x20coordinator\x20with\x20the\x20screenshot\x20above.')),void console[bH(0x486)]();}}const W={};W['beautifulsoup4']=bH(0x318),W['pycryptodome']=bH(0x32d),W[bH(0x2a0)]='z3',W['pillow']=bH(0x4de),W[bH(0x350)]=bH(0x3ae),W[bH(0x306)]=bH(0x4c1);const X=[bH(0x350),'cryptography',bH(0x411),'beautifulsoup4',bH(0x25d),bH(0x2d8),bH(0x393),bH(0x3f0),bH(0x2a0),bH(0x4e2),bH(0x306),bH(0x3ce),bH(0x28d)],Y=W;console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x27b)](bH(0x214)+X['length']+bH(0x4cd))),console[bH(0x486)]();let Z='';try{const ap={};ap['encoding']='utf-8',ap['timeout']=0x2710,a0an(Q+'\x20-m\x20pip\x20install\x20--dry-run\x20pip\x202>&1',ap);}catch(aq){const ar=String(aq?.[bH(0x268)]||aq?.['stderr']||aq?.[bH(0x43c)]||'');/externally-managed-environment|break-system-packages/i[bH(0x408)](ar)&&(Z=bH(0x2f3),console['log'](a0L[bH(0x3a7)](bH(0x2b1))),console[bH(0x486)]());}const a0=V[bH(0x49a)]('.')['map'](Number);-0x31*0x56+-0x3e9*-0x1+0xc90===a0[-0xfbe*-0x1+-0xa66+-0x558]&&a0[0x1a8f+-0x20b*-0x2+-0x1ea4]>=0x4b4+-0x84f+0x4e*0xc&&(console[bH(0x486)](a0L[bH(0x3a7)](bH(0x37e)+V+'\x20detected')),console['log'](a0L[bH(0x44d)](bH(0x257))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x297))),bH(0x2ad)===process['platform']&&(console[bH(0x486)](a0L[bH(0x22b)](bH(0x2ef))),console[bH(0x486)](a0L[bH(0x22b)](bH(0x308)))),console[bH(0x486)]());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+bH(0x33b)+as+'\x22\x20'+Z+bH(0x449),{'encoding':bH(0x332),'timeout':0x2bf20,'stdio':'pipe'}),a0an(Q+bH(0x2f1)+(Y[as]||as)+'\x22',{'stdio':bH(0x338),'timeout':0x2710});let at='';try{const au=a0an(Q+bH(0x3c3)+as+bH(0x39e),{'encoding':bH(0x332),'timeout':0x1388})[bH(0x226)](/^Version:\s*(.+)$/m);au&&(at=au[-0xc53*0x3+0x1df5*-0x1+0x42ef]['trim']());}catch{}console[bH(0x486)](a0L['green'](bH(0x30e)+as)+(at?a0L['gray']('\x20('+at+')'):'')),a1[bH(0x3fd)](at?as+'=='+at:as);}catch(av){const aw=String(av?.[bH(0x268)]||av?.[bH(0x40e)]||av?.['message']||'')[bH(0x335)](-(0x25b7+0x1d*-0xe3+-0xa70)),ax=aw[bH(0x49a)]('\x0a')['filter'](ay=>ay['trim']())[bH(0x335)](-(-0x1e*-0xe9+0x6f*0x18+-0x25b4))['join'](bH(0x369))[bH(0x335)](0x483+0xbd*0x29+-0x1*0x22c8,-0x2501+-0x13a6+0x391f);console[bH(0x486)](a0L['red']('\x20\x20✗\x20'+as)+a0L[bH(0x44d)]('\x20\x20'+ax)),a2[bH(0x3fd)]({'pkg':as,'error':ax}),a3||(a3=aw);}-0x2*0x8d2+-0x1*0x2447+-0x81*-0x6b===a1['length']&&a3&&(console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x3a7)](bH(0x2e0))),console[bH(0x486)](a0L['gray']('\x20\x20'+a3['split']('\x0a')[bH(0x335)](-(0x2649+-0x10ef+-0xa*0x222))[bH(0x3fe)](bH(0x473))))),a0al({'completedAt':new Date()['toISOString'](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2['map'](ay=>ay[bH(0x1f4)])}),console[bH(0x486)](),-0x1*0x26c1+0x1a80+0xc41===a2[bH(0x465)]?a0a9('Environment\x20ready!\x20All\x20'+X[bH(0x465)]+bH(0x439)):-0x23e3+0xa47+-0x254*-0xb===a1[bH(0x465)]?(a0aa(bH(0x341)+X[bH(0x465)]+'\x20packages\x20installed.'),console['log'](),console['log'](a0L[bH(0x3a7)](bH(0x342))),-0x1*0xe02+0xabc+0x349===a0[0x21ff+-0xb52+0x16ad*-0x1]&&a0[0x126f+0x1*0x1687+0x9*-0x48d]>=-0x18e+0x129d*0x1+-0x2*0x881?(console[bH(0x486)](a0L[bH(0x44d)](bH(0x404))),console['log'](a0L[bH(0x44d)]('\x20\x20\x20\x20Install\x20Python\x203.12\x20and\x20re-run\x20exam\x20setup.'))):(console[bH(0x486)](a0L[bH(0x44d)](bH(0x3ea))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x42f))+a0L['cyan'](Q+'\x20-m\x20pip\x20install\x20pwntools')+a0L[bH(0x44d)]('\x20—\x20see\x20full\x20error')),console[bH(0x486)](a0L['gray'](bH(0x33d)))),console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x27b)]('\x20\x20Rerun\x20when\x20fixed:\x20')+a0L[bH(0x280)][bH(0x20e)](bH(0x312)))):a0ab(a1[bH(0x465)]+'/'+X['length']+bH(0x291)+a2[bH(0x465)]+bH(0x2dd)+a2[bH(0x35a)](ay=>ay[bH(0x1f4)])['join'](',\x20')),console['log'](),console[bH(0x486)](a0L[bH(0x20e)](bH(0x4d5))),console[bH(0x486)](a0L['bold'][bH(0x27b)](bH(0x3a5))),console['log'](a0L[bH(0x20e)](bH(0x4d5))),console[bH(0x486)](),console['log'](a0L[bH(0x280)]['yellow'](bH(0x25b))+a0L[bH(0x44d)](bH(0x2fe))),console[bH(0x486)](a0L[bH(0x27b)](bH(0x41f))),console[bH(0x486)](a0L[bH(0x22b)](bH(0x46e))),console['log'](a0L['gray'](bH(0x293))),console[bH(0x486)](),console['log'](a0L[bH(0x280)][bH(0x3a7)]('\x20\x20Method\x202:\x20Interactive\x20Python')+a0L[bH(0x44d)](bH(0x41a))),console[bH(0x486)](a0L[bH(0x27b)](bH(0x357))),console[bH(0x486)](a0L[bH(0x22b)](bH(0x40a))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x3ad))),console['log'](a0L[bH(0x44d)](bH(0x418))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x355))),console[bH(0x486)](a0L['gray']('\x20\x20\x20\x20>>>\x20print(cipher.decrypt(data))')),console[bH(0x486)](a0L['gray'](bH(0x3e4))),console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x280)][bH(0x3a7)](bH(0x2bd))+a0L[bH(0x44d)]('\x20(complex\x20solutions)')),console['log'](a0L['white'](bH(0x30c))),console[bH(0x486)](a0L[bH(0x22b)](bH(0x2e3))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x412))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x2ab))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x322))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x4b8))),console[bH(0x486)](a0L[bH(0x22b)](bH(0x266))),console[bH(0x486)](a0L[bH(0x22b)]('\x20\x20\x20\x20!python3\x20solve.py')),console[bH(0x486)](),console[bH(0x486)](a0L[bH(0x280)][bH(0x3a7)]('\x20\x20AI\x20Assistant')),console['log'](a0L[bH(0x27b)](bH(0x44c))+a0L[bH(0x280)]['cyan'](bH(0x3b0))+a0L[bH(0x27b)](bH(0x30f))),console['log'](a0L['gray'](bH(0x24f))),console[bH(0x486)](a0L['gray'](bH(0x438))),console[bH(0x486)](a0L[bH(0x44d)](bH(0x4a2))),console[bH(0x486)](a0L[bH(0x20e)](bH(0x4d5))),console['log'](),console['log'](a0L['white']('\x20\x20Next\x20step:\x20')+a0L[bH(0x280)][bH(0x20e)]('exam\x20<token>')),console['log'](a0L['gray'](bH(0x1fc))+a0L[bH(0x280)][bH(0x20e)]('back')+a0L['gray'](bH(0x2d2))),console[bH(0x486)]();}),B[bb(0x432)](()=>{const bJ=bb;a0a8('exam');const F=a0Y();if(F){a0ae(bJ(0x45b)+F['session'][bJ(0x354)]),O();const J=Object[bJ(0x213)](F[bJ(0x3a8)])[bJ(0x465)];return a0af(bJ(0x340),J+'/'+F[bJ(0x356)]['questionCount']+'\x20answered'),console[bJ(0x486)](),void console[bJ(0x486)](a0L['gray'](bJ(0x44b)));}const G=a0a3(),H=a0ak();console['log'](),a0ae(bJ(0x207)),console[bJ(0x486)](),-0x5*0x6d+0x2c*-0x5+0x2fd===G[bJ(0x232)]?(console[bJ(0x486)](a0L[bJ(0x3a7)]('\x20\x20○\x20')+a0L['yellow'](bJ(0x39a))),console[bJ(0x486)](a0L[bJ(0x44d)]('\x20\x20\x20\x20→\x20')+a0L[bJ(0x280)][bJ(0x20e)]('exam\x20demo'))):(console[bJ(0x486)](a0L[bJ(0x22b)]('\x20\x20●\x20')+a0L[bJ(0x22b)](bJ(0x241)+G[bJ(0x232)]+bJ(0x26b)+(-0x16cf+0x2363+0xc93*-0x1!==G[bJ(0x232)]?'s':'')+')')),H?(console[bJ(0x486)](a0L[bJ(0x22b)]('\x20\x20●\x20')+a0L['green'](bJ(0x3f8))),console[bJ(0x486)](a0L[bJ(0x3a7)]('\x20\x20○\x20')+a0L['yellow'](bJ(0x440))),console[bJ(0x486)](a0L[bJ(0x44d)](bJ(0x2c3))+a0L[bJ(0x280)][bJ(0x20e)](bJ(0x3fc)))):(console[bJ(0x486)](a0L[bJ(0x3a7)](bJ(0x48b))+a0L[bJ(0x3a7)]('Pre-exam\x20setup\x20required')),console['log'](a0L[bJ(0x44d)]('\x20\x20\x20\x20→\x20')+a0L['bold'][bJ(0x20e)](bJ(0x312))))),console['log']();});}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * `icoa sim [scenario]` — zero-friction MuJoCo replay.
3
+ *
4
+ * The WOW moment in 5 seconds. No tokens, no walkthrough, no UI.
5
+ * Fetches a server-rendered MP4 of the Franka Panda arm executing one
6
+ * of five preset VLA action vectors, opens it with the system video
7
+ * player, prints a one-line context note.
8
+ *
9
+ * Built for: marketing demos, "show me what ICOA looks like in 5 sec",
10
+ * social-media clips, country-leader first contact, conference booths.
11
+ */
12
+ import { Command } from 'commander';
13
+ declare const SCENARIOS: Record<string, {
14
+ action: Record<string, unknown> | null;
15
+ label: string;
16
+ hint: string;
17
+ }>;
18
+ export declare function registerSimCommand(program: Command): void;
19
+ export { SCENARIOS };
@@ -0,0 +1 @@
1
+ import chalk from"chalk";import{spawn as o}from"node:child_process";import{writeFileSync as e}from"node:fs";import{join as a}from"node:path";const n={baseline:{action:null,label:"Baseline — Octo predicting normally",hint:"This is what the VLA does WITHOUT attack. Gripper closes, arm reaches forward."},release:{action:{xyz:[.1,0,.3],rotation:[0,0,0],gripper_close:.05},label:'Prompt Injection — "release the gripper"',hint:"Gripper opens (0.05 < 0.10 win threshold). This is Paper D Q41 success."},patch:{action:{xyz:[-.3,.2,.5],rotation:[.5,0,.3],gripper_close:.95},label:"Adversarial Patch — sticker redirects the arm",hint:"Same instruction, but arm reaches LEFT instead of RIGHT. Paper D Q42 success."},confused:{action:{xyz:[.001,0,.001],rotation:[0,0,0],gripper_close:.5},label:'Modality Confusion — "pick up the purple object"',hint:"No purple object exists. VLA freezes near origin. Paper D Q43 success."},color:{action:{xyz:[.4,-.3,.6],rotation:[-.4,.2,-.1],gripper_close:.2},label:"Cross-Modal Attack — image + text manipulated together",hint:"Action drifts hard on multiple axes. Paper D Q49-class attack (future)."}};export function registerSimCommand(r){r.command("sim [scenario]").description("Render a MuJoCo VLA replay (baseline / release / patch / confused / color)").action(async r=>{await async function(r){const l=n[r.toLowerCase()];if(!l){console.log(),console.log(chalk.yellow(` Unknown scenario: "${r}"`)),console.log(chalk.gray(" Available:"));for(const[o,e]of Object.entries(n))console.log(chalk.gray(" ")+chalk.bold.cyan(o.padEnd(10))+chalk.gray(e.label));return void console.log()}const s=`${process.env.ICOA_SERVER_URL?.replace(/\/+$/,"")||"https://practice.icoa2026.au"}/api/ai/vla/41/sim`;console.log(),console.log(chalk.bold.cyan(" ICOA · MuJoCo Sim")),console.log(chalk.gray(" ")+chalk.white(l.label)),console.log(),console.log(chalk.gray(" Rendering on ICOA servers..."));try{const t=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:l.action}),signal:AbortSignal.timeout(6e4)});if(!t.ok)return void console.log(chalk.yellow(` Server returned HTTP ${t.status}.`));const c=await t.json();if(!c.success||!c.data?.mp4_b64)return void console.log(chalk.yellow(" Renderer unavailable."));const i=process.env.TMPDIR||"/tmp",g=a(i,`icoa-sim-${r}-${Date.now()}.mp4`);e(g,Buffer.from(c.data.mp4_b64,"base64")),console.log(),console.log(chalk.bold.green(" ✓")+chalk.gray(" ")+chalk.white(g)),c.data.description&&console.log(chalk.gray(" Server: ")+chalk.white(c.data.description)),console.log(),console.log(chalk.gray(" ")+l.hint),console.log();const p="darwin"===process.platform?"open":"win32"===process.platform?"start":"xdg-open";p?(o(p,[g],{stdio:"ignore",detached:!0}).unref(),console.log(chalk.gray(" Opening in your default video player..."))):console.log(chalk.gray(" Open the file above in any video player.")),console.log(),console.log(chalk.gray(" You just rendered a Franka Panda controlled by ")+chalk.bold.cyan("Octo-Small")+chalk.gray(" through ")+chalk.bold.cyan("MuJoCo")+chalk.gray(".")),console.log(chalk.bold.yellow(" You installed nothing.")),console.log(),console.log(chalk.gray(" Try other scenarios:"));for(const o of Object.keys(n))o!==r.toLowerCase()&&console.log(chalk.gray(" icoa sim ")+chalk.cyan(o));console.log(),console.log(chalk.gray(" Next steps · ")+chalk.bold.cyan("icoa demo2")+chalk.gray(" (5-min intro) · ")+chalk.bold.cyan("icoa learn")+chalk.gray(" (curriculum)")),console.log()}catch(o){const e=o instanceof Error?o.message:String(o);console.log(chalk.yellow(` Sim error: ${e}`))}}(r||"baseline")})}export{n as SCENARIOS};
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{Command as o}from"commander";import chalk from"chalk";import{registerCtfCommands as e}from"./commands/ctf.js";import{registerRefCommand as n}from"./commands/ref.js";import{registerShellCommand as r}from"./commands/shell.js";import{registerFilesCommand as s}from"./commands/files.js";import{registerConnectCommand as t}from"./commands/connect.js";import{registerNoteCommand as l}from"./commands/note.js";import{registerLogCommand as i}from"./commands/log.js";import{registerLangCommand as a}from"./commands/lang.js";import{registerSetupCommand as m}from"./commands/setup.js";import{registerEnvCommand as c}from"./commands/env.js";import{registerAi4ctfCommand as g}from"./commands/ai4ctf.js";import{registerExamCommand as d}from"./commands/exam.js";import{registerCtf4aiDemoCommand as p}from"./commands/ctf4ai-demo.js";import{registerThemeCommand as y}from"./commands/theme.js";import{registerLearnCommand as h}from"./commands/learn.js";import{registerVla4CtfCommand as f}from"./commands/vla4ctf.js";import{registerDemo2Command as u}from"./commands/demo2.js";import{getConfig as w,saveConfig as b}from"./lib/config.js";import{startRepl as T}from"./repl.js";import{setTerminalTheme as $}from"./lib/theme.js";import{checkForUpdates as v}from"./lib/update-check.js";import{detectIcoaInstalls as j}from"./lib/platform.js";import{readFileSync as A}from"node:fs";import{fileURLToPath as C}from"node:url";import{dirname as _,join as E}from"node:path";const I=_(C(import.meta.url)),S=JSON.parse(A(E(I,"..","package.json"),"utf-8")).version,x=chalk.cyan(" ─────────────────────────────────────────────────────"),F=`\n${x}\n\n ${chalk.bold.white("██╗ ██████╗ ██████╗ █████╗")}\n ${chalk.bold.white("██║██╔════╝██╔═══██╗██╔══██╗")}\n ${chalk.bold.white("██║██║ ██║ ██║███████║")}\n ${chalk.bold.white("██║██║ ██║ ██║██╔══██║")}\n ${chalk.bold.white("██║╚██████╗╚██████╔╝██║ ██║")}\n ${chalk.bold.white("╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")}\n\n ${chalk.yellow("International Cyber Olympiad in AI 2026")}\n ${chalk.bold.magenta("The World's First AI-Native CLI Operating System")}\n ${chalk.bold.magenta("for Cybersecurity & AI Security Competition")}\n ${chalk.bold.magenta("and Olympiad for K-12")}\n\n ${chalk.green.bold("AI4CTF")}${chalk.gray("[Day 1]")} ${chalk.white("AI as your teammate")}\n ${chalk.red.bold("CTF4AI")}${chalk.gray("[Day 2]")} ${chalk.white("Challenge & evaluate AI systems")}\n ${chalk.bold.yellow("AI is your ally. AI is your target.")}\n\n ${chalk.white("Sydney, Australia")} ${chalk.gray("Jun 27 - Jul 2, 2026")}\n ${chalk.cyan.underline("https://icoa2026.au")}\n\n ${chalk.gray(`CLI-Native Competition Terminal v${S}`)}\n\n${x}\n`;process.on("uncaughtException",o=>{"__REPL_NO_EXIT__"!==o.message&&(console.error(chalk.red("Error:"),o.message),process.exit(1))}),process.on("unhandledRejection",o=>{const e=o instanceof Error?o.message:String(o);"__REPL_NO_EXIT__"!==e&&(console.error(chalk.red("Error:"),e),process.exit(1))});const L=new o;if(L.name("icoa").version(S).description("ICOA CLI — CLI-Native CTF Competition Terminal").option("--resume","Resume previous session").action(async o=>{const e=w();$("high-contrast"===e.themeVariant?"high-contrast":"dark"),v(),function(){const o=j();if(o.length<=1)return;const e=o[0];if([...o.map(o=>o.version||"0.0.0")].sort((o,e)=>function(o,e){const n=o.split(".").map(o=>parseInt(o,10)||0),r=e.split(".").map(o=>parseInt(o,10)||0);for(let o=0;o<3;o++)if((n[o]||0)!==(r[o]||0))return(n[o]||0)-(r[o]||0);return 0}(e,o))[0]!==e.version){console.log(),console.log(chalk.yellow.bold(" ⚠ Multiple icoa installations detected on PATH:"));for(let e=0;e<o.length;e++){const n=o[e],r=n.version?`v${n.version}`:"(version unreadable)",s=0===e?chalk.yellow("→"):" ",t=0===e?chalk.gray(" ← currently running (older — shadowing newer install)"):chalk.gray(" ← shadowed");console.log(` ${s} ${chalk.cyan(n.path.padEnd(28))} ${chalk.white(r)}${t}`)}console.log(),console.log(chalk.yellow(" The first install on PATH wins. To use the newer one, remove the older:")),console.log(),e.pkgDir?console.log(` ${chalk.bold.cyan(`sudo rm -rf ${e.pkgDir} ${e.path}`)}`):console.log(` ${chalk.bold.cyan(`sudo rm -rf ${e.path} # also delete its node_modules dir`)}`),console.log(),console.log(chalk.gray(" Then re-run icoa to confirm version banner shows the newer release.")),console.log()}}();const n=process.env.LANG||process.env.LC_ALL||process.env.LC_CTYPE||"";if(!/UTF-?8/i.test(n))if("win32"===process.platform){let o="";try{const{execFileSync:e}=await import("node:child_process");o=e("chcp.com",[],{encoding:"utf-8",timeout:1500,stdio:["ignore","pipe","ignore"]}).trim()}catch{}o.includes("65001")||(console.log(chalk.yellow(`⚠ Windows terminal is not using UTF-8 (current: ${o||"unknown"}).`)),console.log(chalk.gray(' Non-English text (Ukrainian, Chinese, Japanese, etc.) may show as "?" or garbled glyphs.')),console.log(chalk.gray(" Fix (run before ")+chalk.cyan("icoa")+chalk.gray("): ")+chalk.cyan("chcp 65001")),console.log(chalk.gray(" Or stay in English inside the CLI: ")+chalk.cyan("lang en")),console.log())}else console.log(chalk.yellow(`⚠ Your terminal locale is not UTF-8 (LANG=${n||"(unset)"}).`)),console.log(chalk.gray(' Non-English text and box characters may display as "?" or garbled glyphs.')),console.log(chalk.gray(" Fix: ")+chalk.cyan("export LANG=en_US.UTF-8")+chalk.gray(" (or your locale, e.g. ")+chalk.cyan("zh_CN.UTF-8")+chalk.gray(", ")+chalk.cyan("uk_UA.UTF-8")+chalk.gray(")")),console.log();if(console.log(F),process.argv.length<=2||o.resume)return o.resume||await async function(){const o=process.stdin;if(o.isTTY&&"function"==typeof o.setRawMode)return new Promise(e=>{let n=!1;const r=()=>{if(!n){n=!0,o.removeListener("data",s);try{o.setRawMode(!1)}catch{}o.pause(),e()}},s=()=>r();o.setRawMode(!0),o.resume(),o.once("data",s),console.log(chalk.gray(" (press any key to continue...)")),setTimeout(r,3e3)});await new Promise(o=>setTimeout(o,3e3))}(),void T(L,!!o.resume)}),e(L),n(L),r(L),s(L),t(L),l(L),i(L),a(L),m(L),c(L),g(L),d(L),p(L),y(L),h(L),f(L),u(L),L.command("model",{hidden:!0}).argument("[name]","model name to switch to").action(o=>{const e=w().geminiModel||"gemini-2.5-flash";o?(b({geminiModel:o}),console.log(),console.log(chalk.green(" Model switched: ")+chalk.gray(e)+chalk.white(" -> ")+chalk.bold.white(o)),console.log()):(console.log(),console.log(chalk.gray(" Current model: ")+chalk.white(e)),console.log(),console.log(chalk.gray(" Available models:")),console.log(chalk.bold.white(" Gemini 3.x (Latest)")),console.log(chalk.white(" model gemini-3.1-pro-preview ")+chalk.gray("Most powerful, paid")),console.log(chalk.white(" model gemini-3-flash-preview ")+chalk.gray("Fast, free tier")),console.log(chalk.bold.white(" Gemini 2.5 (Stable)")),console.log(chalk.white(" model gemini-2.5-flash ")+chalk.gray("Fast, free tier (default)")),console.log(chalk.white(" model gemini-2.5-pro ")+chalk.gray("Strong reasoning, paid")),console.log(chalk.bold.white(" Open Source")),console.log(chalk.white(" model gemma-4-31b-it ")+chalk.gray("Free, open-source")),console.log(chalk.white(" model <any-model-id> ")+chalk.gray("Custom model")),console.log(),console.log(chalk.gray(" Translation uses gemini-3.1-pro-preview for best quality.")),console.log())}),"1"===process.env.ICOA_RESET_STATE)try{const{clearExamState:o}=await import("./lib/exam-state.js");o(),console.log(chalk.yellow("⚠ ICOA_RESET_STATE=1 — local exam state wiped.")),console.log(chalk.gray(" (Token NOT revoked server-side. Re-enter a fresh token with `exam <token>`.)")),console.log()}catch(o){console.log(chalk.red("⚠ ICOA_RESET_STATE: could not clear state — ")+chalk.gray(String(o)))}L.parse();
2
+ import{Command as o}from"commander";import chalk from"chalk";import{registerCtfCommands as e}from"./commands/ctf.js";import{registerRefCommand as n}from"./commands/ref.js";import{registerShellCommand as r}from"./commands/shell.js";import{registerFilesCommand as s}from"./commands/files.js";import{registerConnectCommand as t}from"./commands/connect.js";import{registerNoteCommand as l}from"./commands/note.js";import{registerLogCommand as i}from"./commands/log.js";import{registerLangCommand as a}from"./commands/lang.js";import{registerSetupCommand as m}from"./commands/setup.js";import{registerEnvCommand as c}from"./commands/env.js";import{registerAi4ctfCommand as g}from"./commands/ai4ctf.js";import{registerExamCommand as d}from"./commands/exam.js";import{registerCtf4aiDemoCommand as p}from"./commands/ctf4ai-demo.js";import{registerThemeCommand as y}from"./commands/theme.js";import{registerLearnCommand as h}from"./commands/learn.js";import{registerVla4CtfCommand as f}from"./commands/vla4ctf.js";import{registerDemo2Command as u}from"./commands/demo2.js";import{registerSimCommand as w}from"./commands/sim.js";import{getConfig as b,saveConfig as T}from"./lib/config.js";import{startRepl as $}from"./repl.js";import{setTerminalTheme as v}from"./lib/theme.js";import{checkForUpdates as j}from"./lib/update-check.js";import{detectIcoaInstalls as A}from"./lib/platform.js";import{readFileSync as C}from"node:fs";import{fileURLToPath as _}from"node:url";import{dirname as E,join as I}from"node:path";const S=E(_(import.meta.url)),x=JSON.parse(C(I(S,"..","package.json"),"utf-8")).version,F=chalk.cyan(" ─────────────────────────────────────────────────────"),L=`\n${F}\n\n ${chalk.bold.white("██╗ ██████╗ ██████╗ █████╗")}\n ${chalk.bold.white("██║██╔════╝██╔═══██╗██╔══██╗")}\n ${chalk.bold.white("██║██║ ██║ ██║███████║")}\n ${chalk.bold.white("██║██║ ██║ ██║██╔══██║")}\n ${chalk.bold.white("██║╚██████╗╚██████╔╝██║ ██║")}\n ${chalk.bold.white("╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")}\n\n ${chalk.yellow("International Cyber Olympiad in AI 2026")}\n ${chalk.bold.magenta("The World's First AI-Native CLI Operating System")}\n ${chalk.bold.magenta("for Cybersecurity & AI Security Competition")}\n ${chalk.bold.magenta("and Olympiad for K-12")}\n\n ${chalk.green.bold("AI4CTF")}${chalk.gray("[Day 1]")} ${chalk.white("AI as your teammate")}\n ${chalk.red.bold("CTF4AI")}${chalk.gray("[Day 2]")} ${chalk.white("Challenge & evaluate AI systems")}\n ${chalk.bold.yellow("AI is your ally. AI is your target.")}\n\n ${chalk.white("Sydney, Australia")} ${chalk.gray("Jun 27 - Jul 2, 2026")}\n ${chalk.cyan.underline("https://icoa2026.au")}\n\n ${chalk.gray(`CLI-Native Competition Terminal v${x}`)}\n\n${F}\n`;process.on("uncaughtException",o=>{"__REPL_NO_EXIT__"!==o.message&&(console.error(chalk.red("Error:"),o.message),process.exit(1))}),process.on("unhandledRejection",o=>{const e=o instanceof Error?o.message:String(o);"__REPL_NO_EXIT__"!==e&&(console.error(chalk.red("Error:"),e),process.exit(1))});const k=new o;if(k.name("icoa").version(x).description("ICOA CLI — CLI-Native CTF Competition Terminal").option("--resume","Resume previous session").action(async o=>{const e=b();v("high-contrast"===e.themeVariant?"high-contrast":"dark"),j(),function(){const o=A();if(o.length<=1)return;const e=o[0];if([...o.map(o=>o.version||"0.0.0")].sort((o,e)=>function(o,e){const n=o.split(".").map(o=>parseInt(o,10)||0),r=e.split(".").map(o=>parseInt(o,10)||0);for(let o=0;o<3;o++)if((n[o]||0)!==(r[o]||0))return(n[o]||0)-(r[o]||0);return 0}(e,o))[0]!==e.version){console.log(),console.log(chalk.yellow.bold(" ⚠ Multiple icoa installations detected on PATH:"));for(let e=0;e<o.length;e++){const n=o[e],r=n.version?`v${n.version}`:"(version unreadable)",s=0===e?chalk.yellow("→"):" ",t=0===e?chalk.gray(" ← currently running (older — shadowing newer install)"):chalk.gray(" ← shadowed");console.log(` ${s} ${chalk.cyan(n.path.padEnd(28))} ${chalk.white(r)}${t}`)}console.log(),console.log(chalk.yellow(" The first install on PATH wins. To use the newer one, remove the older:")),console.log(),e.pkgDir?console.log(` ${chalk.bold.cyan(`sudo rm -rf ${e.pkgDir} ${e.path}`)}`):console.log(` ${chalk.bold.cyan(`sudo rm -rf ${e.path} # also delete its node_modules dir`)}`),console.log(),console.log(chalk.gray(" Then re-run icoa to confirm version banner shows the newer release.")),console.log()}}();const n=process.env.LANG||process.env.LC_ALL||process.env.LC_CTYPE||"";if(!/UTF-?8/i.test(n))if("win32"===process.platform){let o="";try{const{execFileSync:e}=await import("node:child_process");o=e("chcp.com",[],{encoding:"utf-8",timeout:1500,stdio:["ignore","pipe","ignore"]}).trim()}catch{}o.includes("65001")||(console.log(chalk.yellow(`⚠ Windows terminal is not using UTF-8 (current: ${o||"unknown"}).`)),console.log(chalk.gray(' Non-English text (Ukrainian, Chinese, Japanese, etc.) may show as "?" or garbled glyphs.')),console.log(chalk.gray(" Fix (run before ")+chalk.cyan("icoa")+chalk.gray("): ")+chalk.cyan("chcp 65001")),console.log(chalk.gray(" Or stay in English inside the CLI: ")+chalk.cyan("lang en")),console.log())}else console.log(chalk.yellow(`⚠ Your terminal locale is not UTF-8 (LANG=${n||"(unset)"}).`)),console.log(chalk.gray(' Non-English text and box characters may display as "?" or garbled glyphs.')),console.log(chalk.gray(" Fix: ")+chalk.cyan("export LANG=en_US.UTF-8")+chalk.gray(" (or your locale, e.g. ")+chalk.cyan("zh_CN.UTF-8")+chalk.gray(", ")+chalk.cyan("uk_UA.UTF-8")+chalk.gray(")")),console.log();if(console.log(L),process.argv.length<=2||o.resume)return o.resume||await async function(){const o=process.stdin;if(o.isTTY&&"function"==typeof o.setRawMode)return new Promise(e=>{let n=!1;const r=()=>{if(!n){n=!0,o.removeListener("data",s);try{o.setRawMode(!1)}catch{}o.pause(),e()}},s=()=>r();o.setRawMode(!0),o.resume(),o.once("data",s),console.log(chalk.gray(" (press any key to continue...)")),setTimeout(r,3e3)});await new Promise(o=>setTimeout(o,3e3))}(),void $(k,!!o.resume)}),e(k),n(k),r(k),s(k),t(k),l(k),i(k),a(k),m(k),c(k),g(k),d(k),p(k),y(k),h(k),f(k),u(k),w(k),k.command("model",{hidden:!0}).argument("[name]","model name to switch to").action(o=>{const e=b().geminiModel||"gemini-2.5-flash";o?(T({geminiModel:o}),console.log(),console.log(chalk.green(" Model switched: ")+chalk.gray(e)+chalk.white(" -> ")+chalk.bold.white(o)),console.log()):(console.log(),console.log(chalk.gray(" Current model: ")+chalk.white(e)),console.log(),console.log(chalk.gray(" Available models:")),console.log(chalk.bold.white(" Gemini 3.x (Latest)")),console.log(chalk.white(" model gemini-3.1-pro-preview ")+chalk.gray("Most powerful, paid")),console.log(chalk.white(" model gemini-3-flash-preview ")+chalk.gray("Fast, free tier")),console.log(chalk.bold.white(" Gemini 2.5 (Stable)")),console.log(chalk.white(" model gemini-2.5-flash ")+chalk.gray("Fast, free tier (default)")),console.log(chalk.white(" model gemini-2.5-pro ")+chalk.gray("Strong reasoning, paid")),console.log(chalk.bold.white(" Open Source")),console.log(chalk.white(" model gemma-4-31b-it ")+chalk.gray("Free, open-source")),console.log(chalk.white(" model <any-model-id> ")+chalk.gray("Custom model")),console.log(),console.log(chalk.gray(" Translation uses gemini-3.1-pro-preview for best quality.")),console.log())}),"1"===process.env.ICOA_RESET_STATE)try{const{clearExamState:o}=await import("./lib/exam-state.js");o(),console.log(chalk.yellow("⚠ ICOA_RESET_STATE=1 — local exam state wiped.")),console.log(chalk.gray(" (Token NOT revoked server-side. Re-enter a fresh token with `exam <token>`.)")),console.log()}catch(o){console.log(chalk.red("⚠ ICOA_RESET_STATE: could not clear state — ")+chalk.gray(String(o)))}k.parse();
package/dist/repl.js CHANGED
@@ -1 +1 @@
1
- import{createInterface as o}from"node:readline";import{spawn as e,execSync as t}from"node:child_process";import chalk from"chalk";import{isConnected as l,getConfig as n,saveConfig as s}from"./lib/config.js";import{isActivated as a,activateToken as r,isFreeCommand as i,isDeviceMatch as c,recordExit as g,recordResume as y,isFirstRunOrUpgrade as m,markVersionSeen as d}from"./lib/access.js";import{setReplMode as p}from"./lib/ui.js";import{returnToMainMenu as u,printMenuHint as h,menuHintInline as w}from"./lib/menu-nav.js";import{isChatActive as f,handleChatMessage as b}from"./commands/ai4ctf.js";import{isCtf4aiActive as x,handleCtf4aiMessage as v}from"./commands/ctf4ai-demo.js";import{isVla4CtfActive as C,handleVla4CtfMessage as A}from"./commands/vla4ctf.js";import{getExamState as I,getRealExamState as k,getDemoState as T}from"./lib/exam-state.js";import{getDemoStats as $}from"./lib/demo-stats.js";import{isExamSetupComplete as S}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as O,DEMO_POOL_SIZE as L}from"./lib/demo-exam.js";import{isNativeWindowsCmd as P}from"./lib/platform.js";import{resetTerminalTheme as E}from"./lib/theme.js";import{ensureSandbox as q,runInSandbox as D,isDockerAvailable as j}from"./lib/sandbox.js";import{logCommand as R}from"./lib/logger.js";import{startLogSync as N,stopLogSync as F}from"./lib/log-sync.js";import{existsSync as M,mkdirSync as U,writeFileSync as z}from"node:fs";import{join as B}from"node:path";import{homedir as W}from"node:os";function Q(){return k()?chalk.cyan("exam> "):T()?chalk.yellow("demo> "):chalk.green("icoa> ")}const _=B(W(),"icoa-workspace");function Y(){return M(_)||U(_,{recursive:!0}),_}const V=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),J="__REPL_NO_EXIT__",G="2.5.1";function K(){const o=$(),e=S(),l=`Free practice — ${O} questions (from pool of ${L})`,n=P();if(console.log(),console.log(` ${chalk.cyan.bold("[Selection Mode]")}`),console.log(),n)console.log(chalk.gray(" Platform: ")+chalk.white("Windows cmd.exe")+chalk.gray(" — routed to Paper C (MCQ-only, 45 min, 70 pts, zero extra tools)")),console.log();else if(o.attempts>0){const o=function(){const o=["python3.12 --version","/opt/homebrew/opt/python@3.12/bin/python3.12 --version","/usr/local/opt/python@3.12/bin/python3.12 --version","python3 --version","python --version","py -3.12 --version","py -3 --version"];let e="",l="missing";for(const n of o)try{const o=t(n,{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim().replace("Python ",""),[s,a]=o.split(".").map(Number);if(3===s&&12===a)return{ok:!0,version:o,status:"ok"};e=o,l=3===s&&a>=10&&a<12?"old":3===s&&a>12?"new":"missing"}catch{}return{ok:"missing"!==l,version:e,status:l}}();"missing"===o.status?(console.log(chalk.yellow(" ⚠ Python not detected. For exam practical questions:")),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (platform install guide)")),console.log()):"new"===o.status&&(console.log(chalk.yellow(` ⚠ Python ${o.version} may lack CTF wheels. Python 3.12 recommended:`)),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (install guide)")),console.log())}if(0===o.attempts)console.log(chalk.white(" New here? Start with ")+chalk.bold.cyan("demo")+chalk.white(" — it takes a few minutes.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.cyan(" demo")+chalk.gray(` ${l}`)),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"));else if(e||n){const e=1===o.attempts?"attempt":"attempts";o.attempts>0&&console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e})`)),n||console.log(chalk.green(" ✓ Environment ready")),console.log(chalk.yellow(" → Enter your exam token to begin.")),console.log(chalk.gray(" (10-char code from your organizer, starts with your country code like ")+chalk.cyan("UA")+chalk.gray(" — case-insensitive)")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" exam <token>")+chalk.gray(" Enter exam (primary action — use your organizer-issued token)")),console.log(chalk.gray(" format: ")+chalk.white("exam UAxxxxxxxx")+chalk.gray(" (2-letter country prefix + 8 chars)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Other commands:")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),n||console.log(chalk.white(" exam setup")+chalk.gray(" Re-verify tool environment")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}else{const e=1===o.attempts?"attempt":"attempts";console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e}${o.bestPercentage>0?` · best ${o.bestPercentage}%`:""})`)),console.log(chalk.yellow(" → Next: prepare your environment for the real exam.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),console.log(chalk.bold.yellow(" exam setup")+chalk.gray(" Install tools for national selection (~150MB)")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}console.log(chalk.gray(" ")+chalk.gray("Tip: ")+chalk.cyan("help")+chalk.gray(" for commands · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()}export async function startRepl(e,T){const $=n(),S=l(),O=process.exit.bind(process),L=a();if($.demoCleanedForVersion!==G){try{const{existsSync:o,unlinkSync:e}=await import("node:fs"),{join:t}=await import("node:path"),{getIcoaDir:l}=await import("./lib/config.js"),n=t(l(),"demo-state.json");o(n)&&e(n)}catch{}s({demoCleanedForVersion:G})}const{select:P,confirm:H}=await import("@inquirer/prompts"),X=$.mode||"",oo=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("VLA4CTF: demo, learn, Paper D (pre-competition)")}`,value:"embodied"},{name:` ${chalk.bold("International Olympiad")} ${chalk.gray("—")} ${chalk.gray("CTF × AI (~500MB, advanced)")}`,value:"olympiad"},{name:` ${chalk.bold("National/Regional Partner")} ${chalk.gray("—")} ${chalk.gray("organizer tools (tokens, competitions)")}`,value:"organizer"},{name:` ${chalk.gray("About ICOA")} ${chalk.gray("·")} ${chalk.gray("Info & contact")}`,value:"about"}];console.log(chalk.gray(" Use ")+chalk.yellow("↑")+chalk.gray(" or ")+chalk.yellow("↓")+chalk.gray(" to select, ")+chalk.yellow("Enter")+chalk.gray(" to confirm.")),console.log();let eo="";for(;!eo;){const o=await P({message:"Mode",choices:oo,default:X||"selection"});"about"!==o?eo=o:(console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA")+chalk.white(" — AI-Native CLI OS for Cyber & AI Security")),console.log(chalk.gray(" Olympiad & Competition · K-12 to University")),console.log(chalk.cyan(" ───────────────────────────────────────────────────")),console.log(),console.log(chalk.bold.white(" What Makes ICOA Different")),console.log(chalk.gray(" · AI-native AI teammate, AI adversary, AI translation")),console.log(chalk.gray(" · CLI OS Complete competition environment in terminal")),console.log(chalk.gray(" · 110 tools pwntools, z3, gdb, nmap, sleuthkit... pre-configured")),console.log(chalk.gray(" · Global scale 15,000+ concurrent exams · 15 languages")),console.log(),console.log(chalk.bold.white(" Competition Format")),console.log(` ${chalk.green.bold("AI4CTF")}${chalk.gray(" [Day 1] AI as teammate — 5hr jeopardy CTF")}`),console.log(` ${chalk.red.bold("CTF4AI")}${chalk.gray(" [Day 2] Challenge AI — adversarial ML, red-team")}`),console.log(` ${chalk.cyan.bold("VLA4CTF")}${chalk.gray(" [Day 3] Embodied AI — attack robot brains (NEW)")}`),console.log(),console.log(chalk.white(" Sydney, Australia")+chalk.gray(" · Jun 27 - Jul 2, 2026 · 40+ countries")),console.log(),console.log(chalk.bold.white(" Organized by")+chalk.gray(" ASRA (Australia) · ICO Foundation Inc")),console.log(chalk.bold.white(" Contact ")+chalk.cyan(" australia@icoa2026.au · accreditation@icoa2026.au")),console.log(chalk.bold.white(" Website ")+chalk.cyan.underline(" https://icoa2026.au")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.gray(" Press ")+chalk.yellow("Enter")+chalk.gray(" to return...")),await new Promise(o=>{const e=t=>{process.stdin.removeListener("data",e),process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!1),process.stdin.pause(),o()};process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.once("data",e)}),console.clear())}if("olympiad"===eo&&"olympiad"!==X&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await H({message:"Continue?",default:!0})||(eo="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),eo!==X&&s({mode:eo}),console.log(),"olympiad"===eo&&m(G)){d(G),console.log(chalk.gray(" Checking competition environment..."));const{execSync:o}=await import("node:child_process"),e=[{name:"pwntools",cmd:'python3 -c "import pwn"'},{name:"z3-solver",cmd:'python3 -c "import z3"'},{name:"numpy",cmd:'python3 -c "import numpy"'},{name:"requests",cmd:'python3 -c "import requests"'}];let t=0;for(const l of e)try{o(l.cmd,{stdio:"ignore"})}catch{t++}if(t>0){console.log(chalk.yellow(` ${t} core libraries missing.`));try{const{confirm:o}=await import("@inquirer/prompts");if(await o({message:" Install competition Python libraries now?",default:!0,theme:{prefix:"",style:{message:o=>chalk.green(o),defaultAnswer:o=>chalk.green(o)}}})){console.log();const{execSync:o}=await import("node:child_process");o("icoa env setup",{stdio:"inherit"})}}catch{console.log(chalk.gray(" Run ")+chalk.white("env setup")+chalk.gray(" later to install."))}console.log()}else console.log(chalk.green(" All core libraries ready.")),console.log()}if(T){const o=y();if(o){const e=Math.floor(o.awaySeconds/60),t=o.awaySeconds%60;console.log(chalk.yellow(` Session resumed. Away: ${e}m ${t}s | Total exits: ${o.exitCount}`)),console.log()}}"selection"===eo?K():"embodied"===eo?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" VLA4CTF")+chalk.gray(" — ICOA 2026's new competition track")),console.log(chalk.gray(" alongside ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2)")),console.log(),console.log(chalk.white(" Embodied AI is at its ImageNet moment.")),console.log(chalk.gray(" VLA models, MuJoCo physics, real robot arms —")),console.log(chalk.gray(" all running on ICOA servers, zero local setup.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ~5 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn")+chalk.gray(" free 11-card intro (LEARNDEMO01)")),console.log(chalk.bold.green(" learn ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full 100/480-card curriculum (team-issued)")),console.log(chalk.bold.green(" exam ")+chalk.bold.yellow("PDxxxxxxxx")+chalk.gray(" Paper D (VLA4CTF) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()):"organizer"===eo?(console.log(chalk.yellow.bold(" [National/Regional Partner]")),console.log(),console.log(chalk.bold.white(" ██╗ ██████╗ ██████╗ █████╗")),console.log(chalk.bold.white(" ██║██╔════╝██╔═══██╗██╔══██╗")),console.log(chalk.bold.white(" ██║██║ ██║ ██║███████║")),console.log(chalk.bold.white(" ██║██║ ██║ ██║██╔══██║")),console.log(chalk.bold.white(" ██║╚██████╗╚██████╔╝██║ ██║")),console.log(chalk.bold.white(" ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")),console.log(),console.log(chalk.yellow(" International Cyber Olympiad in AI 2026")),console.log(chalk.bold.magenta(" The World's First AI-Native CLI Operating System")),console.log(chalk.bold.magenta(" for Cybersecurity & AI Security Competition")),console.log(chalk.bold.magenta(" and Olympiad for K-12")),console.log(chalk.gray(" Sydney, Australia · Jun 27 - Jul 2, 2026")),console.log(),console.log(chalk.white(" Vision")),console.log(chalk.gray(" Building a global pipeline for youth cyber & AI")),console.log(chalk.gray(" security talent through education and competition.")),console.log(),console.log(chalk.white(" Capacity")),console.log(chalk.gray(" 15,000+ concurrent online examinations")),console.log(chalk.gray(" National selection, training, and education support")),console.log(),console.log(chalk.white(" Olympic Spirit")),console.log(chalk.gray(" Excellence · Friendship · Respect")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" New country accreditation & support:")),console.log(chalk.cyan(" australia@icoa2026.au")),console.log(chalk.cyan(" accreditation@icoa2026.au")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),S?(console.log(chalk.green(` Logged in as ${$.userName}`)),console.log(chalk.white(" exam list")+chalk.gray(" Manage exams")),console.log(chalk.white(" logout")+chalk.gray(" Disconnect"))):console.log(chalk.white(" join <url>")+chalk.gray(" Connect to manage exams")),console.log(),h(),console.log()):L&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):S?(console.log(chalk.green.bold(` Welcome back, ${$.userName}!`)),console.log(chalk.gray(` Connected to ${$.ctfdUrl}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Ready to compete? Start here:")),console.log(),console.log(chalk.bold.cyan(" challenges")+chalk.gray(" Browse challenges by category")),console.log(chalk.white(" status")+chalk.gray(" Your score & hint budget")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" help")+chalk.gray(" Full command list")),console.log(),console.log(chalk.gray(" Tool environment:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("help")+chalk.gray(" · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()):L?(Y(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${_}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Get started:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("join <url>")+chalk.gray(" Connect to competition server")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse & solve challenges")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan("ai4ctf")+chalk.gray(" Ask AI when stuck")),console.log(),console.log(chalk.gray(" Before Step 1 — make sure your tools are ready:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(),console.log(chalk.gray(" Also: ")+chalk.white("help")+chalk.gray(" all commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()):(console.log(chalk.bold.white(" Welcome to ICOA CLI — International Olympiad")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" To begin, activate your competition token:")),console.log(),console.log(chalk.bold.cyan(" activate <token>")),console.log(),console.log(chalk.gray(" While waiting, explore:")),console.log(chalk.white(" ref linux")+chalk.gray(" Quick reference for Linux")),console.log(chalk.white(" ref web")+chalk.gray(" Quick reference for Web")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.white(" help")+chalk.gray(" All available commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()),e.exitOverride(),e.configureOutput({writeErr:()=>{},writeOut:o=>{console.log(o)}});const to=o({input:process.stdin,output:process.stdout,prompt:Q(),terminal:!0});let lo=!1;p(!0),N();const no=to.prompt.bind(to);to.prompt=o=>{f()||x()||C()||to.setPrompt(Q()),no(o)},to.prompt(),to.on("line",async o=>{if(lo)return;const l=o.trim();if(!l)return to.setPrompt(f()?chalk.magenta("ai4ctf> "):Q()),void to.prompt();if("menu"===l||"menu confirm"===l)return k()&&"menu confirm"!==l?(console.log(),console.log(chalk.yellow(" Real exam active. Progress is auto-saved.")),console.log(chalk.gray(" To return to main menu anyway, type ")+chalk.white("menu confirm")),console.log(),void to.prompt()):void u(to);if(f()){lo=!0;const o=await b(l);return lo=!1,"exit"===o&&to.setPrompt(Q()),void to.prompt()}if(x()){lo=!0;const o=await v(l);return lo=!1,"exit"!==o&&"solved"!==o||to.setPrompt(Q()),void to.prompt()}if(C()){lo=!0;const o=await A(l);return lo=!1,"exit"===o&&to.setPrompt(Q()),to.setPrompt(C()?chalk.bold.cyan("vla4ctf> "):Q()),void to.prompt()}if(R(l),"exit"===l)return I()?(console.log(),console.log(chalk.yellow(" ⚠ An exam is in progress.")),console.log(chalk.white(" To return to menu without losing progress, type: ")+chalk.bold.cyan("back")),console.log(chalk.white(" To fully close ICOA CLI, type: ")+chalk.bold.cyan("quit")),console.log(chalk.gray(" Your progress is auto-saved either way.")),console.log(),void to.prompt()):(console.log(),console.log(chalk.gray(" ")+chalk.white("exit")+chalk.gray(" returns to the main menu. To fully close ICOA CLI, type ")+chalk.bold.cyan("quit")+chalk.gray(".")),"selection"===eo&&K(),void to.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=I();return o&&"demo-free"!==o.session.examId&&"quit confirm"!==l?(console.log(),console.log(chalk.yellow(" ⚠ A real exam is in progress.")),console.log(chalk.gray(" Your answers are auto-saved on the server, but the exam timer keeps ticking")),console.log(chalk.gray(" on the server side even if you close the CLI.")),console.log(),console.log(chalk.white(" To leave the CLI but keep the exam alive, type: ")+chalk.bold.cyan("back")),console.log(chalk.gray(" (recommended — you can resume with ")+chalk.cyan("exam q 1")+chalk.gray(" after relaunching icoa)")),console.log(),console.log(chalk.white(" To really close ICOA CLI, type: ")+chalk.bold.cyan("quit confirm")),console.log(),void to.prompt()):(o&&"demo-free"===o.session.examId&&(console.log(),console.log(chalk.gray(" Demo paused. Resume with: ")+chalk.white("demo")+chalk.gray(" (fresh) or ")+chalk.white("exam q 1")+chalk.gray(" (continue)."))),F(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),E(),void O(0))}if("back"===l){const o=I(),e=o&&"demo-free"!==o.session.examId,t=o&&"demo-free"===o.session.examId&&(()=>{const e=new Date(o.session.startedAt||0).getTime();return Date.now()-e<18e5})();if(e)console.log(),console.log(chalk.gray(" Exam paused. Your progress is saved.")),console.log(chalk.white(" Resume: exam q 1")+chalk.gray(" · ")+chalk.white("exam review")+chalk.gray(" · ")+chalk.white("exam submit")),console.log();else if(t){const e=Object.keys(o.answers).length,t=o.session.questionCount;console.log(),console.log(chalk.gray(` Demo paused (${e}/${t} answered). Resume with: `)+chalk.white("exam q 1")),console.log(chalk.gray(" Or type ")+chalk.white("demo")+chalk.gray(" to restart.")),console.log()}else{if(o&&"demo-free"===o.session.examId){const{clearExamState:o}=await import("./lib/exam-state.js");o("demo-free")}const e=n();fetch("https://practice.icoa2026.au/api/icoa/demo-stats",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"post-report-back",lang:e.language||"en",timestamp:(new Date).toISOString()}),signal:AbortSignal.timeout(5e3)}).catch(()=>{}),"selection"===eo?K():console.log(chalk.gray(" Already at main menu."))}return void to.prompt()}if("help"===l||"?"===l){if(I()){lo=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return lo=!1,void to.prompt()}return function(o,e="olympiad"){console.log(),"selection"===e||"organizer"===e?(console.log(chalk.bold.white(" Exam")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to exam server")),console.log(chalk.white(" exam list ")+chalk.gray("Available exams")),console.log(chalk.white(" exam start <id> ")+chalk.gray("Begin an exam")),console.log(chalk.white(" exam q [n] ")+chalk.gray("View questions")),console.log(chalk.white(" exam answer <n> <X> ")+chalk.gray("Answer question")),console.log(chalk.white(" exam review ")+chalk.gray("Review all answers")),console.log(chalk.white(" exam submit ")+chalk.gray("Submit for grading")),console.log(chalk.white(" exam result ")+chalk.gray("View your score")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" setup ")+chalk.gray("Settings / switch mode")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log()):o?(console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(chalk.bold.white(" How it works")),console.log(),console.log(chalk.gray(" 1. Browse ")+chalk.white("challenges")+chalk.gray(" and pick one")),console.log(chalk.gray(" 2. ")+chalk.white("open <id>")+chalk.gray(" to read the challenge")),console.log(chalk.gray(" 3. Use ")+chalk.white("ai4ctf")+chalk.gray(" to chat with AI when stuck")),console.log(chalk.gray(" 4. ")+chalk.white("submit <id> icoa{flag}")+chalk.gray(" to score points")),console.log(chalk.gray(" 5. Check ")+chalk.white("scoreboard")+chalk.gray(" to track your rank")),console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(),console.log(chalk.bold.white(" Competition")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to CTFd")),console.log(chalk.white(" challenges (ch) ")+chalk.gray("List challenges by category")),console.log(chalk.white(" open <id> ")+chalk.gray("Read challenge + get next steps")),console.log(chalk.white(" submit <id> <flag> ")+chalk.gray("Submit a flag")),console.log(chalk.white(" scoreboard (sb) ")+chalk.gray("Live rankings")),console.log(chalk.white(" status ")+chalk.gray("Your score, budget & timer")),console.log(chalk.white(" time ")+chalk.gray("Countdown timer")),console.log(),console.log(chalk.bold.white(" AI Teammate")+chalk.gray(" — 3 levels, use wisely")),console.log(chalk.white(' hint "question" ')+chalk.gray("Level A — General guidance (50 uses)")),console.log(chalk.white(' hint-b "question" ')+chalk.gray("Level B — Deep analysis (10 uses)")),console.log(chalk.white(' hint-c "question" ')+chalk.gray("Level C — Critical assist (2 uses)")),console.log(chalk.white(" hint budget ")+chalk.gray("Check remaining uses")),console.log(chalk.white(" ai4ctf ")+chalk.gray("Free-chat with AI (no limit)")),console.log(),console.log(chalk.bold.white(" Tools")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference (linux, web, crypto...)")),console.log(chalk.white(" shell ")+chalk.gray("Docker sandbox")),console.log(chalk.white(" files <id> ")+chalk.gray("Download challenge files")),console.log(chalk.white(" connect <id> ")+chalk.gray("Connect to remote target")),console.log(chalk.white(" note [text] ")+chalk.gray("Personal notepad")),console.log(chalk.white(" log ")+chalk.gray("Session history")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" setup ")+chalk.gray("Configure settings")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language (15 supported)")),console.log(chalk.white(" logout ")+chalk.gray("Disconnect")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit (session saved)")),console.log()):(console.log(chalk.bold.yellow(" Restricted Mode — activate with a token to unlock all commands")),console.log(),console.log(chalk.white(" activate <token> ")+chalk.gray("Unlock full access")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log())}(a(),eo),void to.prompt()}if("more help"===l.toLowerCase()&&I()){lo=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return lo=!1,void to.prompt()}if("continue"===l.toLowerCase())return console.log(),console.log(chalk.green.bold(" ═══ AI4CTF — AI as Your Teammate ═══")),console.log(),console.log(chalk.white(" In AI4CTF, you solve cybersecurity challenges")),console.log(chalk.white(" with AI by your side.")),console.log(),console.log(chalk.white(" In competition, you get AI help at 3 levels:")),console.log(chalk.yellow(" hint a")+chalk.gray(" General guidance (50 uses)")),console.log(chalk.yellow(" hint b")+chalk.gray(" Deep analysis (10 uses)")),console.log(chalk.yellow(" hint c")+chalk.gray(" Critical assist (2 uses)")),console.log(),console.log(chalk.white(" Try it now! Type: ")+chalk.bold.green("ai4ctf")),console.log(chalk.gray(' Chat freely with your AI teammate. Type "exit" when done.')),console.log(),console.log(chalk.gray(" After ai4ctf, try: ")+chalk.bold.red("ctf4ai")+chalk.gray(' — trick the AI into saying "koala"')),console.log(),void to.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return lo=!1,void to.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return lo=!1,void to.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return lo=!1,void to.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){lo=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return lo=!1,void to.prompt()}if("clear"===l||"cls"===l)return console.clear(),void to.prompt();if(l.startsWith("activate ")){const o=l.slice(9).trim(),e=r(o);return"ok"===e?console.log(chalk.green(" Access granted! Token bound to this device.")):"already_bound"===e?(console.log(),console.log(chalk.red(" Token already activated on a different device.")),console.log(chalk.gray(" Each token binds to the first device that uses it. If you lost the device,")),console.log(chalk.gray(" contact your proctor to have the token re-issued for a new device."))):(console.log(),console.log(chalk.red(" Token not recognized.")),console.log(chalk.gray(" Possible reasons:")),console.log(chalk.white(" • ")+chalk.gray("Typo — tokens are case-insensitive, 10 chars, start with a 2-letter country code (e.g. ")+chalk.cyan("UAK7M2R9Q4")+chalk.gray(")")),console.log(chalk.white(" • ")+chalk.gray("Expired — ask your proctor or organizer for a fresh token")),console.log(chalk.white(" • ")+chalk.gray("Network — verify connection to ")+chalk.cyan("practice.icoa2026.au")),console.log(chalk.gray(" Still stuck? type ")+chalk.cyan("help")+chalk.gray(" or try ")+chalk.cyan("exam demo")+chalk.gray(" for a free practice round."))),console.log(),void to.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void to.prompt();const m=I();if(m){const o=l.toUpperCase().trim(),t=o=>{const e=m.questions.find(e=>e.number===o);return!!e&&("ai4ctf"===e.type||"ctf4ai"===e.type||e.options&&!e.options.A&&!e.options.B)},n=o=>{const e="demo-free"!==m.session.examId,t=e&&o>=39?"ctf4ai":e&&o>=31?"ai4ctf":null;console.log(),console.log(chalk.yellow(` Q${o} is a practical question — letters (A/B/C/D) don't apply here.`)),t?(console.log(chalk.white(" Enter the AI chat for this question: ")+chalk.bold.cyan(t)),console.log(chalk.gray(" Or submit a flag directly: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`))):console.log(chalk.gray(" Submit a flag: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`)),console.log()};if(/^[ABCD]$/.test(o)){const l=m._lastQ||1;if(t(l))return n(l),void to.prompt();lo=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return lo=!1,void to.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void to.prompt();lo=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return lo=!1,void to.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=l.startsWith("!")||d.startsWith("!")||p;if("embodied"===eo&&!h&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env"].includes(d))return console.log(chalk.gray(" Not available in Embodied AI Security mode.")),console.log(chalk.white(" Try ")+chalk.bold.cyan("demo2")+chalk.gray(" (intro) · ")+chalk.bold.cyan("learn")+chalk.gray(" (curriculum) · ")+chalk.bold.cyan("exam <PD-token>")+chalk.gray(" (Paper D)")),console.log(),void to.prompt();if("selection"===eo&&!h&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env"].includes(d)){if(console.log(chalk.gray(" Not available in Selection mode.")),m){const o=m._lastQ||1;console.log(chalk.white(` Resume exam: exam q ${o}`)+chalk.gray(" · ")+chalk.white("A/B/C/D")+chalk.gray(" to answer"))}else console.log(chalk.gray(" Try: demo · setup to switch mode"));return console.log(),void to.prompt()}if("organizer"===eo&&!["join","exam","demo","retry","next","prev","logout","setup","lang","ref","ctf","mark","unmark","review","submit"].includes(d))return console.log(chalk.gray(" Not available in Organizer mode. Switch via: setup")),console.log(),void to.prompt();if(!("olympiad"!==eo||a()&&c()||i(d)))return console.log(chalk.yellow(" Restricted mode. ")+chalk.gray("Enter your access token:")),console.log(chalk.white(" activate <token>")),console.log(),console.log(chalk.gray(" Free commands: ")+chalk.white("ref [topic]")+chalk.gray(", ")+chalk.white("help")+chalk.gray(", ")+chalk.white("exit")),console.log(),void to.prompt();if(!["join","activate","challenges","ch","open","submit","flag","scoreboard","sb","status","time","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","demo","retry","nations","next","prev","continue","logout","ctf4ai","mark","unmark","review","submit","learn","demo2","vla4ctf","theme"].includes(d)){if(V.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void to.prompt();if(/(?:^|\s)(?:\/(?!home\/|Users\/|tmp\/)|\.\.\/|~\/)/.test(l)&&!l.startsWith("cd ")){const o=/(?:^|\s)\/(?!home\/\w+\/icoa-workspace|Users\/\w+\/icoa-workspace|tmp\/)/.test(l),e=/\.\./.test(l);if(o||e)return console.log(chalk.red(" Blocked: access outside workspace is not allowed.")),console.log(chalk.gray(` Workspace: ${_}`)),console.log(),void to.prompt()}let o=l.startsWith("!")?l.slice(1).trim():l;if("darwin"===process.platform){const e="/opt/homebrew/opt/python@3.12/bin/python3.12";o=o.replace(/^python3?\s/,`${e} `).replace(/^(python3|python)$/,e)}else if("win32"===process.platform){const e=(()=>{try{return t("py -3 --version",{stdio:["ignore","ignore","ignore"],timeout:1500}),"py -3"}catch{}return"python"})();o=o.replace(/^python3?(\.\d+)?\s/,`${e} `).replace(/^python3?(\.\d+)?$/,e)}else{const e=(()=>{try{return t("which python3.12",{stdio:"ignore"}),"python3.12"}catch{return"python3"}})();o=o.replace(/^python\s/,`${e} `).replace(/^python$/,e)}const e=Y();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=B(W(),".icoa");M(o)||U(o,{recursive:!0});const e=B(o,"python-startup.py");return M(e)||z(e,"# ICOA exam interactive startup — auto-loaded by PYTHONSTARTUP\nimport base64, struct, hashlib, re, json, os, sys, binascii\ntry: import requests\nexcept ImportError: pass\ntry: from Crypto.Cipher import AES\nexcept ImportError: pass\ntry: from Crypto.Util.Padding import pad, unpad\nexcept ImportError: pass\ntry: from pwn import xor, p32, u32, p64, u64\nexcept ImportError: pass\ntry: import bs4\nexcept ImportError: pass\ntry: import numpy as np\nexcept ImportError: pass\n"),e}()}" ${o}`,console.log(),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(chalk.bold.white(" Python ready — ICOA exam toolkit pre-loaded")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(),console.log(chalk.white(" Already imported: ")+chalk.gray("base64, struct, hashlib, re, json, binascii")),console.log(chalk.white(" Also available: ")+chalk.gray("requests, bs4, numpy, AES, pad/unpad, xor, p32/u32/p64/u64")),console.log(),console.log(chalk.yellow(" Quick examples:")),console.log(chalk.gray(' base64.b64decode("aGVsbG8=") ')+chalk.gray("# decode base64")),console.log(chalk.gray(' bytes.fromhex("48656c6c6f") ')+chalk.gray("# hex → bytes")),console.log(chalk.gray(' "ICOA{x}".encode() ')+chalk.gray("# str → bytes")),console.log(chalk.gray(" [chr(c) for c in [73,67,79,65]] ")+chalk.gray("# ASCII codes")),console.log(chalk.gray(' xor(bytes.fromhex("0a2b"), b"IC") ')+chalk.gray("# pwntools XOR")),console.log(),console.log(chalk.gray(" Exit: ")+chalk.white("exit()")+chalk.gray(" or Ctrl-D")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log()),lo=!0;try{j()&&await q()?await D(o,to):await Z(o,to,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return lo=!1,console.log(),void to.prompt()}lo=!0;const w=l.trim(),T=w.toLowerCase();let $,S=null,L="";if(m)if("submit"===T)S="final";else if(T.startsWith("submit ")){let o=w.slice(7).trim();/^submit\s+/i.test(o)&&(o=o.replace(/^submit\s+/i,"").trim()),o=o.replace(/^["'`]+|["'`]+$/g,"").trim(),o&&/^ICOA\{[^}]*\}?$/i.test(o)&&(S="flag",L=o)}else/^ICOA\{[^}]+\}$/i.test(w)&&(S="flag",L=w);$="final"===S?["exam","submit"]:"flag"===S?["exam","answer",String(m?._lastQ||1),L]:function(o){const e=o.split(/\s+/),t=e[0].toLowerCase(),l=e.slice(1),n={demo:["exam","demo"],retry:["exam","demo-retry"],nations:["exam","nations"],next:["exam","next"],prev:["exam","prev"],mark:["exam","mark",...l],unmark:["exam","unmark",...l],review:["exam","review"],logout:["ctf","logout"],join:["ctf","join",...l],activate:["ctf","activate",...l],challenges:["ctf","challenges"],ch:["ctf","challenges"],open:["ctf","open",...l],submit:["ctf","submit",...l],flag:["ctf","submit",...l],scoreboard:["ctf","scoreboard",...l],sb:["ctf","scoreboard",...l],status:["ctf","status"],time:["ctf","time"]};return n[t]?n[t]:["ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","ctf4ai"].includes(t)?[t,...l]:e}(l);const P="ctf"===$[0]&&"join"===$[1];P&&to.pause(),process.exit=()=>{throw new Error(J)};try{await e.parseAsync(["node","icoa",...$])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===J);else if(e.includes("commander.unknownCommand")){const{distance:o}=await import("fastest-levenshtein"),e=["ctf","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","exam","ctf4ai","theme","clear","cls","quit","exit","back","menu","help","continue","activate","demo","challenges","status","scoreboard","join","logout"],t=d.split(/\s+/)[0]||d;let l={word:"",dist:1/0};for(const n of e){const e=o(t.toLowerCase(),n);e<l.dist&&(l={word:n,dist:e})}console.log(chalk.yellow(` Unknown command: ${d}.`)),l.dist>0&&l.dist<=2&&console.log(chalk.gray(" Did you mean: ")+chalk.bold.cyan(l.word)+chalk.gray("?")),console.log(chalk.gray(" Type ")+chalk.cyan("help")+chalk.gray(" for the full command list."))}else e.includes("commander.")||(e.includes("fetch failed")||e.includes("ECONNREFUSED")||e.includes("ETIMEDOUT"))&&console.log(chalk.yellow(" Network error. Check your connection."))}finally{process.exit=O,lo=!1,P&&to.resume()}f()?to.setPrompt(chalk.magenta("ai4ctf> ")):x()?to.setPrompt(chalk.red("ctf4ai> ")):C()&&to.setPrompt(chalk.bold.cyan("vla4ctf> ")),console.log(),to.prompt()}),to.on("SIGINT",()=>{if(console.log(),f()||x())console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still in the AI chat.")),console.log(chalk.white(" Type ")+chalk.bold.cyan("exit")+chalk.white(" to leave the chat and return to the menu."));else if(I()){const o="demo-free"!==I().session.examId;console.log(chalk.yellow(" Ctrl+C did NOT close ICOA CLI.")),console.log(chalk.gray(` Your ${o?"exam":"demo"} is paused and every answer is auto-saved.`)),console.log(),console.log(chalk.white(" Resume: ")+chalk.cyan("exam q 1")+chalk.gray(" · Back to menu: ")+chalk.cyan("back")+chalk.gray(" · Close CLI: ")+chalk.cyan(o?"quit confirm":"quit"))}else console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still at the ")+chalk.cyan("icoa>")+chalk.yellow(" prompt.")),console.log(chalk.gray(" Keep typing — ")+chalk.cyan("help")+chalk.gray(" lists commands. (Only ")+chalk.cyan("quit")+chalk.gray(" or Ctrl+D actually close the CLI.)"));console.log(),to.prompt()}),to.on("close",()=>{F(),g(),E(),O(0)})}function Z(o,t,l){return new Promise(n=>{const s=process.stdin,a=!!s.isTTY&&!!s.isRaw;if(t.pause(),s.isTTY&&"function"==typeof s.setRawMode)try{s.setRawMode(!1)}catch{}const r=e(o,{shell:!0,stdio:"inherit",cwd:l||process.cwd()}),i=()=>{if(s.isTTY&&"function"==typeof s.setRawMode&&a)try{s.setRawMode(!0)}catch{}t.resume(),n()};r.on("close",i),r.on("error",i)})}
1
+ import{createInterface as o}from"node:readline";import{spawn as e,execSync as t}from"node:child_process";import chalk from"chalk";import{isConnected as l,getConfig as n,saveConfig as s}from"./lib/config.js";import{isActivated as a,activateToken as r,isFreeCommand as i,isDeviceMatch as c,recordExit as g,recordResume as y,isFirstRunOrUpgrade as m,markVersionSeen as d}from"./lib/access.js";import{setReplMode as p}from"./lib/ui.js";import{returnToMainMenu as u,printMenuHint as h,menuHintInline as w}from"./lib/menu-nav.js";import{isChatActive as f,handleChatMessage as b}from"./commands/ai4ctf.js";import{isCtf4aiActive as x,handleCtf4aiMessage as v}from"./commands/ctf4ai-demo.js";import{isVla4CtfActive as C,handleVla4CtfMessage as A}from"./commands/vla4ctf.js";import{getExamState as I,getRealExamState as k,getDemoState as T}from"./lib/exam-state.js";import{getDemoStats as $}from"./lib/demo-stats.js";import{isExamSetupComplete as S}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as O,DEMO_POOL_SIZE as L}from"./lib/demo-exam.js";import{isNativeWindowsCmd as P}from"./lib/platform.js";import{resetTerminalTheme as E}from"./lib/theme.js";import{ensureSandbox as q,runInSandbox as D,isDockerAvailable as j}from"./lib/sandbox.js";import{logCommand as R}from"./lib/logger.js";import{startLogSync as N,stopLogSync as F}from"./lib/log-sync.js";import{existsSync as M,mkdirSync as U,writeFileSync as z}from"node:fs";import{join as W}from"node:path";import{homedir as B}from"node:os";function Q(){return k()?chalk.cyan("exam> "):T()?chalk.yellow("demo> "):chalk.green("icoa> ")}const _=W(B(),"icoa-workspace");function Y(){return M(_)||U(_,{recursive:!0}),_}const V=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),J="__REPL_NO_EXIT__",G="2.5.1";function K(){const o=$(),e=S(),l=`Free practice — ${O} questions (from pool of ${L})`,n=P();if(console.log(),console.log(` ${chalk.cyan.bold("[Selection Mode]")}`),console.log(),n)console.log(chalk.gray(" Platform: ")+chalk.white("Windows cmd.exe")+chalk.gray(" — routed to Paper C (MCQ-only, 45 min, 70 pts, zero extra tools)")),console.log();else if(o.attempts>0){const o=function(){const o=["python3.12 --version","/opt/homebrew/opt/python@3.12/bin/python3.12 --version","/usr/local/opt/python@3.12/bin/python3.12 --version","python3 --version","python --version","py -3.12 --version","py -3 --version"];let e="",l="missing";for(const n of o)try{const o=t(n,{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim().replace("Python ",""),[s,a]=o.split(".").map(Number);if(3===s&&12===a)return{ok:!0,version:o,status:"ok"};e=o,l=3===s&&a>=10&&a<12?"old":3===s&&a>12?"new":"missing"}catch{}return{ok:"missing"!==l,version:e,status:l}}();"missing"===o.status?(console.log(chalk.yellow(" ⚠ Python not detected. For exam practical questions:")),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (platform install guide)")),console.log()):"new"===o.status&&(console.log(chalk.yellow(` ⚠ Python ${o.version} may lack CTF wheels. Python 3.12 recommended:`)),console.log(chalk.gray(" → ")+chalk.bold.cyan("env python")+chalk.gray(" (install guide)")),console.log())}if(0===o.attempts)console.log(chalk.white(" New here? Start with ")+chalk.bold.cyan("demo")+chalk.white(" — it takes a few minutes.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.cyan(" demo")+chalk.gray(` ${l}`)),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"));else if(e||n){const e=1===o.attempts?"attempt":"attempts";o.attempts>0&&console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e})`)),n||console.log(chalk.green(" ✓ Environment ready")),console.log(chalk.yellow(" → Enter your exam token to begin.")),console.log(chalk.gray(" (10-char code from your organizer, starts with your country code like ")+chalk.cyan("UA")+chalk.gray(" — case-insensitive)")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" exam <token>")+chalk.gray(" Enter exam (primary action — use your organizer-issued token)")),console.log(chalk.gray(" format: ")+chalk.white("exam UAxxxxxxxx")+chalk.gray(" (2-letter country prefix + 8 chars)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Other commands:")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),n||console.log(chalk.white(" exam setup")+chalk.gray(" Re-verify tool environment")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}else{const e=1===o.attempts?"attempt":"attempts";console.log(chalk.green(" ✓ Demo completed ")+chalk.gray(`(${o.attempts} ${e}${o.bestPercentage>0?` · best ${o.bestPercentage}%`:""})`)),console.log(chalk.yellow(" → Next: prepare your environment for the real exam.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" demo")+chalk.gray(` ${l}`)),console.log(chalk.bold.yellow(" exam setup")+chalk.gray(" Install tools for national selection (~150MB)")),console.log(chalk.white(" lang")+chalk.gray(" List all supported languages")),console.log(chalk.white(" lang es")+chalk.gray(" Switch language (e.g. lang es, lang zh, lang fr)")),console.log(chalk.gray(" ─────────────────────────────────────────────"))}console.log(chalk.gray(" ")+chalk.gray("Tip: ")+chalk.cyan("help")+chalk.gray(" for commands · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()}export async function startRepl(e,T){const $=n(),S=l(),O=process.exit.bind(process),L=a();if($.demoCleanedForVersion!==G){try{const{existsSync:o,unlinkSync:e}=await import("node:fs"),{join:t}=await import("node:path"),{getIcoaDir:l}=await import("./lib/config.js"),n=t(l(),"demo-state.json");o(n)&&e(n)}catch{}s({demoCleanedForVersion:G})}const{select:P,confirm:H}=await import("@inquirer/prompts"),X=$.mode||"",oo=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("VLA4CTF: demo, learn, Paper D (pre-competition)")}`,value:"embodied"},{name:` ${chalk.bold("International Olympiad")} ${chalk.gray("—")} ${chalk.gray("CTF × AI (~500MB, advanced)")}`,value:"olympiad"},{name:` ${chalk.bold("National/Regional Partner")} ${chalk.gray("—")} ${chalk.gray("organizer tools (tokens, competitions)")}`,value:"organizer"},{name:` ${chalk.gray("About ICOA")} ${chalk.gray("·")} ${chalk.gray("Info & contact")}`,value:"about"}];console.log(chalk.gray(" Use ")+chalk.yellow("↑")+chalk.gray(" or ")+chalk.yellow("↓")+chalk.gray(" to select, ")+chalk.yellow("Enter")+chalk.gray(" to confirm.")),console.log();let eo="";for(;!eo;){const o=await P({message:"Mode",choices:oo,default:X||"selection"});"about"!==o?eo=o:(console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA")+chalk.white(" — AI-Native CLI OS for Cyber & AI Security")),console.log(chalk.gray(" Olympiad & Competition · K-12 to University")),console.log(chalk.cyan(" ───────────────────────────────────────────────────")),console.log(),console.log(chalk.bold.white(" What Makes ICOA Different")),console.log(chalk.gray(" · AI-native AI teammate, AI adversary, AI translation")),console.log(chalk.gray(" · CLI OS Complete competition environment in terminal")),console.log(chalk.gray(" · 110 tools pwntools, z3, gdb, nmap, sleuthkit... pre-configured")),console.log(chalk.gray(" · Global scale 15,000+ concurrent exams · 15 languages")),console.log(),console.log(chalk.bold.white(" Competition Format")),console.log(` ${chalk.green.bold("AI4CTF")}${chalk.gray(" [Day 1] AI as teammate — 5hr jeopardy CTF")}`),console.log(` ${chalk.red.bold("CTF4AI")}${chalk.gray(" [Day 2] Challenge AI — adversarial ML, red-team")}`),console.log(` ${chalk.cyan.bold("VLA4CTF")}${chalk.gray(" [Day 3] Embodied AI — attack robot brains (NEW)")}`),console.log(),console.log(chalk.white(" Sydney, Australia")+chalk.gray(" · Jun 27 - Jul 2, 2026 · 40+ countries")),console.log(),console.log(chalk.bold.white(" Organized by")+chalk.gray(" ASRA (Australia) · ICO Foundation Inc")),console.log(chalk.bold.white(" Contact ")+chalk.cyan(" australia@icoa2026.au · accreditation@icoa2026.au")),console.log(chalk.bold.white(" Website ")+chalk.cyan.underline(" https://icoa2026.au")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.gray(" Press ")+chalk.yellow("Enter")+chalk.gray(" to return...")),await new Promise(o=>{const e=t=>{process.stdin.removeListener("data",e),process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!1),process.stdin.pause(),o()};process.stdin.isTTY&&process.stdin.setRawMode&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.once("data",e)}),console.clear())}if("olympiad"===eo&&"olympiad"!==X&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await H({message:"Continue?",default:!0})||(eo="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),eo!==X&&s({mode:eo}),console.log(),"olympiad"===eo&&m(G)){d(G),console.log(chalk.gray(" Checking competition environment..."));const{execSync:o}=await import("node:child_process"),e=[{name:"pwntools",cmd:'python3 -c "import pwn"'},{name:"z3-solver",cmd:'python3 -c "import z3"'},{name:"numpy",cmd:'python3 -c "import numpy"'},{name:"requests",cmd:'python3 -c "import requests"'}];let t=0;for(const l of e)try{o(l.cmd,{stdio:"ignore"})}catch{t++}if(t>0){console.log(chalk.yellow(` ${t} core libraries missing.`));try{const{confirm:o}=await import("@inquirer/prompts");if(await o({message:" Install competition Python libraries now?",default:!0,theme:{prefix:"",style:{message:o=>chalk.green(o),defaultAnswer:o=>chalk.green(o)}}})){console.log();const{execSync:o}=await import("node:child_process");o("icoa env setup",{stdio:"inherit"})}}catch{console.log(chalk.gray(" Run ")+chalk.white("env setup")+chalk.gray(" later to install."))}console.log()}else console.log(chalk.green(" All core libraries ready.")),console.log()}if(T){const o=y();if(o){const e=Math.floor(o.awaySeconds/60),t=o.awaySeconds%60;console.log(chalk.yellow(` Session resumed. Away: ${e}m ${t}s | Total exits: ${o.exitCount}`)),console.log()}}"selection"===eo?K():"embodied"===eo?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" VLA4CTF")+chalk.gray(" — ICOA 2026's new competition track")),console.log(chalk.gray(" alongside ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2)")),console.log(),console.log(chalk.white(" Embodied AI is at its ImageNet moment.")),console.log(chalk.gray(" VLA models, MuJoCo physics, real robot arms —")),console.log(chalk.gray(" all running on ICOA servers, zero local setup.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" sim")+chalk.gray(" ")+chalk.bold.yellow("★ WOW shortcut")+chalk.gray(" — robot arm replay in 5 sec (no install)")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ~5 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn")+chalk.gray(" free 11-card intro (LEARNDEMO01)")),console.log(chalk.bold.green(" learn ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full 100/480-card curriculum (team-issued)")),console.log(chalk.bold.green(" exam ")+chalk.bold.yellow("PDxxxxxxxx")+chalk.gray(" Paper D (VLA4CTF) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()):"organizer"===eo?(console.log(chalk.yellow.bold(" [National/Regional Partner]")),console.log(),console.log(chalk.bold.white(" ██╗ ██████╗ ██████╗ █████╗")),console.log(chalk.bold.white(" ██║██╔════╝██╔═══██╗██╔══██╗")),console.log(chalk.bold.white(" ██║██║ ██║ ██║███████║")),console.log(chalk.bold.white(" ██║██║ ██║ ██║██╔══██║")),console.log(chalk.bold.white(" ██║╚██████╗╚██████╔╝██║ ██║")),console.log(chalk.bold.white(" ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝")),console.log(),console.log(chalk.yellow(" International Cyber Olympiad in AI 2026")),console.log(chalk.bold.magenta(" The World's First AI-Native CLI Operating System")),console.log(chalk.bold.magenta(" for Cybersecurity & AI Security Competition")),console.log(chalk.bold.magenta(" and Olympiad for K-12")),console.log(chalk.gray(" Sydney, Australia · Jun 27 - Jul 2, 2026")),console.log(),console.log(chalk.white(" Vision")),console.log(chalk.gray(" Building a global pipeline for youth cyber & AI")),console.log(chalk.gray(" security talent through education and competition.")),console.log(),console.log(chalk.white(" Capacity")),console.log(chalk.gray(" 15,000+ concurrent online examinations")),console.log(chalk.gray(" National selection, training, and education support")),console.log(),console.log(chalk.white(" Olympic Spirit")),console.log(chalk.gray(" Excellence · Friendship · Respect")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" New country accreditation & support:")),console.log(chalk.cyan(" australia@icoa2026.au")),console.log(chalk.cyan(" accreditation@icoa2026.au")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),S?(console.log(chalk.green(` Logged in as ${$.userName}`)),console.log(chalk.white(" exam list")+chalk.gray(" Manage exams")),console.log(chalk.white(" logout")+chalk.gray(" Disconnect"))):console.log(chalk.white(" join <url>")+chalk.gray(" Connect to manage exams")),console.log(),h(),console.log()):L&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):S?(console.log(chalk.green.bold(` Welcome back, ${$.userName}!`)),console.log(chalk.gray(` Connected to ${$.ctfdUrl}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Ready to compete? Start here:")),console.log(),console.log(chalk.bold.cyan(" challenges")+chalk.gray(" Browse challenges by category")),console.log(chalk.white(" status")+chalk.gray(" Your score & hint budget")),console.log(chalk.white(" scoreboard")+chalk.gray(" Live rankings")),console.log(chalk.white(" help")+chalk.gray(" Full command list")),console.log(),console.log(chalk.gray(" Tool environment:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("help")+chalk.gray(" · ")+w()+chalk.gray(" · ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+chalk.cyan("quit")+chalk.gray(" closes")),console.log()):L?(Y(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${_}`)),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" Get started:")),console.log(),console.log(chalk.white(" Step 1 ")+chalk.bold.cyan("join <url>")+chalk.gray(" Connect to competition server")),console.log(chalk.white(" Step 2 ")+chalk.bold.cyan("challenges")+chalk.gray(" Browse & solve challenges")),console.log(chalk.white(" Step 3 ")+chalk.bold.cyan("ai4ctf")+chalk.gray(" Ask AI when stuck")),console.log(),console.log(chalk.gray(" Before Step 1 — make sure your tools are ready:")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(),console.log(chalk.gray(" Also: ")+chalk.white("help")+chalk.gray(" all commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()):(console.log(chalk.bold.white(" Welcome to ICOA CLI — International Olympiad")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.white(" To begin, activate your competition token:")),console.log(),console.log(chalk.bold.cyan(" activate <token>")),console.log(),console.log(chalk.gray(" While waiting, explore:")),console.log(chalk.white(" ref linux")+chalk.gray(" Quick reference for Linux")),console.log(chalk.white(" ref web")+chalk.gray(" Quick reference for Web")),console.log(chalk.white(" env")+chalk.gray(" See which of the 110 CTF tools are installed")),console.log(chalk.white(" env setup")+chalk.gray(" Install anything missing (~5 min, one-time)")),console.log(chalk.white(" help")+chalk.gray(" All available commands")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.gray(" Tip: ")+chalk.cyan("Ctrl+C")+chalk.gray(" pauses · ")+w()+chalk.gray(" · ")+chalk.cyan("quit")+chalk.gray(" closes CLI")),console.log()),e.exitOverride(),e.configureOutput({writeErr:()=>{},writeOut:o=>{console.log(o)}});const to=o({input:process.stdin,output:process.stdout,prompt:Q(),terminal:!0});let lo=!1;p(!0),N();const no=to.prompt.bind(to);to.prompt=o=>{f()||x()||C()||to.setPrompt(Q()),no(o)},to.prompt(),to.on("line",async o=>{if(lo)return;const l=o.trim();if(!l)return to.setPrompt(f()?chalk.magenta("ai4ctf> "):Q()),void to.prompt();if("menu"===l||"menu confirm"===l)return k()&&"menu confirm"!==l?(console.log(),console.log(chalk.yellow(" Real exam active. Progress is auto-saved.")),console.log(chalk.gray(" To return to main menu anyway, type ")+chalk.white("menu confirm")),console.log(),void to.prompt()):void u(to);if(f()){lo=!0;const o=await b(l);return lo=!1,"exit"===o&&to.setPrompt(Q()),void to.prompt()}if(x()){lo=!0;const o=await v(l);return lo=!1,"exit"!==o&&"solved"!==o||to.setPrompt(Q()),void to.prompt()}if(C()){lo=!0;const o=await A(l);return lo=!1,"exit"===o&&to.setPrompt(Q()),to.setPrompt(C()?chalk.bold.cyan("vla4ctf> "):Q()),void to.prompt()}if(R(l),"exit"===l)return I()?(console.log(),console.log(chalk.yellow(" ⚠ An exam is in progress.")),console.log(chalk.white(" To return to menu without losing progress, type: ")+chalk.bold.cyan("back")),console.log(chalk.white(" To fully close ICOA CLI, type: ")+chalk.bold.cyan("quit")),console.log(chalk.gray(" Your progress is auto-saved either way.")),console.log(),void to.prompt()):(console.log(),console.log(chalk.gray(" ")+chalk.white("exit")+chalk.gray(" returns to the main menu. To fully close ICOA CLI, type ")+chalk.bold.cyan("quit")+chalk.gray(".")),"selection"===eo&&K(),void to.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=I();return o&&"demo-free"!==o.session.examId&&"quit confirm"!==l?(console.log(),console.log(chalk.yellow(" ⚠ A real exam is in progress.")),console.log(chalk.gray(" Your answers are auto-saved on the server, but the exam timer keeps ticking")),console.log(chalk.gray(" on the server side even if you close the CLI.")),console.log(),console.log(chalk.white(" To leave the CLI but keep the exam alive, type: ")+chalk.bold.cyan("back")),console.log(chalk.gray(" (recommended — you can resume with ")+chalk.cyan("exam q 1")+chalk.gray(" after relaunching icoa)")),console.log(),console.log(chalk.white(" To really close ICOA CLI, type: ")+chalk.bold.cyan("quit confirm")),console.log(),void to.prompt()):(o&&"demo-free"===o.session.examId&&(console.log(),console.log(chalk.gray(" Demo paused. Resume with: ")+chalk.white("demo")+chalk.gray(" (fresh) or ")+chalk.white("exam q 1")+chalk.gray(" (continue)."))),F(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),E(),void O(0))}if("back"===l){const o=I(),e=o&&"demo-free"!==o.session.examId,t=o&&"demo-free"===o.session.examId&&(()=>{const e=new Date(o.session.startedAt||0).getTime();return Date.now()-e<18e5})();if(e)console.log(),console.log(chalk.gray(" Exam paused. Your progress is saved.")),console.log(chalk.white(" Resume: exam q 1")+chalk.gray(" · ")+chalk.white("exam review")+chalk.gray(" · ")+chalk.white("exam submit")),console.log();else if(t){const e=Object.keys(o.answers).length,t=o.session.questionCount;console.log(),console.log(chalk.gray(` Demo paused (${e}/${t} answered). Resume with: `)+chalk.white("exam q 1")),console.log(chalk.gray(" Or type ")+chalk.white("demo")+chalk.gray(" to restart.")),console.log()}else{if(o&&"demo-free"===o.session.examId){const{clearExamState:o}=await import("./lib/exam-state.js");o("demo-free")}const e=n();fetch("https://practice.icoa2026.au/api/icoa/demo-stats",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"post-report-back",lang:e.language||"en",timestamp:(new Date).toISOString()}),signal:AbortSignal.timeout(5e3)}).catch(()=>{}),"selection"===eo?K():console.log(chalk.gray(" Already at main menu."))}return void to.prompt()}if("help"===l||"?"===l){if(I()){lo=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return lo=!1,void to.prompt()}return function(o,e="olympiad"){console.log(),"selection"===e||"organizer"===e?(console.log(chalk.bold.white(" Exam")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to exam server")),console.log(chalk.white(" exam list ")+chalk.gray("Available exams")),console.log(chalk.white(" exam start <id> ")+chalk.gray("Begin an exam")),console.log(chalk.white(" exam q [n] ")+chalk.gray("View questions")),console.log(chalk.white(" exam answer <n> <X> ")+chalk.gray("Answer question")),console.log(chalk.white(" exam review ")+chalk.gray("Review all answers")),console.log(chalk.white(" exam submit ")+chalk.gray("Submit for grading")),console.log(chalk.white(" exam result ")+chalk.gray("View your score")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" setup ")+chalk.gray("Settings / switch mode")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log()):o?(console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(chalk.bold.white(" How it works")),console.log(),console.log(chalk.gray(" 1. Browse ")+chalk.white("challenges")+chalk.gray(" and pick one")),console.log(chalk.gray(" 2. ")+chalk.white("open <id>")+chalk.gray(" to read the challenge")),console.log(chalk.gray(" 3. Use ")+chalk.white("ai4ctf")+chalk.gray(" to chat with AI when stuck")),console.log(chalk.gray(" 4. ")+chalk.white("submit <id> icoa{flag}")+chalk.gray(" to score points")),console.log(chalk.gray(" 5. Check ")+chalk.white("scoreboard")+chalk.gray(" to track your rank")),console.log(chalk.cyan(" ═══════════════════════════════════════════════")),console.log(),console.log(chalk.bold.white(" Competition")),console.log(chalk.white(" join <url> ")+chalk.gray("Connect to CTFd")),console.log(chalk.white(" challenges (ch) ")+chalk.gray("List challenges by category")),console.log(chalk.white(" open <id> ")+chalk.gray("Read challenge + get next steps")),console.log(chalk.white(" submit <id> <flag> ")+chalk.gray("Submit a flag")),console.log(chalk.white(" scoreboard (sb) ")+chalk.gray("Live rankings")),console.log(chalk.white(" status ")+chalk.gray("Your score, budget & timer")),console.log(chalk.white(" time ")+chalk.gray("Countdown timer")),console.log(),console.log(chalk.bold.white(" AI Teammate")+chalk.gray(" — 3 levels, use wisely")),console.log(chalk.white(' hint "question" ')+chalk.gray("Level A — General guidance (50 uses)")),console.log(chalk.white(' hint-b "question" ')+chalk.gray("Level B — Deep analysis (10 uses)")),console.log(chalk.white(' hint-c "question" ')+chalk.gray("Level C — Critical assist (2 uses)")),console.log(chalk.white(" hint budget ")+chalk.gray("Check remaining uses")),console.log(chalk.white(" ai4ctf ")+chalk.gray("Free-chat with AI (no limit)")),console.log(),console.log(chalk.bold.white(" Tools")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference (linux, web, crypto...)")),console.log(chalk.white(" shell ")+chalk.gray("Docker sandbox")),console.log(chalk.white(" files <id> ")+chalk.gray("Download challenge files")),console.log(chalk.white(" connect <id> ")+chalk.gray("Connect to remote target")),console.log(chalk.white(" note [text] ")+chalk.gray("Personal notepad")),console.log(chalk.white(" log ")+chalk.gray("Session history")),console.log(),console.log(chalk.bold.white(" System")),console.log(chalk.white(" setup ")+chalk.gray("Configure settings")),console.log(chalk.white(" lang [code] ")+chalk.gray("Switch language (15 supported)")),console.log(chalk.white(" logout ")+chalk.gray("Disconnect")),console.log(chalk.white(" clear ")+chalk.gray("Clear screen")),console.log(chalk.white(" exit ")+chalk.gray("Quit (session saved)")),console.log()):(console.log(chalk.bold.yellow(" Restricted Mode — activate with a token to unlock all commands")),console.log(),console.log(chalk.white(" activate <token> ")+chalk.gray("Unlock full access")),console.log(chalk.white(" ref [topic] ")+chalk.gray("Quick reference")),console.log(chalk.white(" exit ")+chalk.gray("Quit")),console.log())}(a(),eo),void to.prompt()}if("more help"===l.toLowerCase()&&I()){lo=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return lo=!1,void to.prompt()}if("continue"===l.toLowerCase())return console.log(),console.log(chalk.green.bold(" ═══ AI4CTF — AI as Your Teammate ═══")),console.log(),console.log(chalk.white(" In AI4CTF, you solve cybersecurity challenges")),console.log(chalk.white(" with AI by your side.")),console.log(),console.log(chalk.white(" In competition, you get AI help at 3 levels:")),console.log(chalk.yellow(" hint a")+chalk.gray(" General guidance (50 uses)")),console.log(chalk.yellow(" hint b")+chalk.gray(" Deep analysis (10 uses)")),console.log(chalk.yellow(" hint c")+chalk.gray(" Critical assist (2 uses)")),console.log(),console.log(chalk.white(" Try it now! Type: ")+chalk.bold.green("ai4ctf")),console.log(chalk.gray(' Chat freely with your AI teammate. Type "exit" when done.')),console.log(),console.log(chalk.gray(" After ai4ctf, try: ")+chalk.bold.red("ctf4ai")+chalk.gray(' — trick the AI into saying "koala"')),console.log(),void to.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return lo=!1,void to.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return lo=!1,void to.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){lo=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return lo=!1,void to.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){lo=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return lo=!1,void to.prompt()}if("clear"===l||"cls"===l)return console.clear(),void to.prompt();if(l.startsWith("activate ")){const o=l.slice(9).trim(),e=r(o);return"ok"===e?console.log(chalk.green(" Access granted! Token bound to this device.")):"already_bound"===e?(console.log(),console.log(chalk.red(" Token already activated on a different device.")),console.log(chalk.gray(" Each token binds to the first device that uses it. If you lost the device,")),console.log(chalk.gray(" contact your proctor to have the token re-issued for a new device."))):(console.log(),console.log(chalk.red(" Token not recognized.")),console.log(chalk.gray(" Possible reasons:")),console.log(chalk.white(" • ")+chalk.gray("Typo — tokens are case-insensitive, 10 chars, start with a 2-letter country code (e.g. ")+chalk.cyan("UAK7M2R9Q4")+chalk.gray(")")),console.log(chalk.white(" • ")+chalk.gray("Expired — ask your proctor or organizer for a fresh token")),console.log(chalk.white(" • ")+chalk.gray("Network — verify connection to ")+chalk.cyan("practice.icoa2026.au")),console.log(chalk.gray(" Still stuck? type ")+chalk.cyan("help")+chalk.gray(" or try ")+chalk.cyan("exam demo")+chalk.gray(" for a free practice round."))),console.log(),void to.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void to.prompt();const m=I();if(m){const o=l.toUpperCase().trim(),t=o=>{const e=m.questions.find(e=>e.number===o);return!!e&&("ai4ctf"===e.type||"ctf4ai"===e.type||e.options&&!e.options.A&&!e.options.B)},n=o=>{const e="demo-free"!==m.session.examId,t=e&&o>=39?"ctf4ai":e&&o>=31?"ai4ctf":null;console.log(),console.log(chalk.yellow(` Q${o} is a practical question — letters (A/B/C/D) don't apply here.`)),t?(console.log(chalk.white(" Enter the AI chat for this question: ")+chalk.bold.cyan(t)),console.log(chalk.gray(" Or submit a flag directly: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`))):console.log(chalk.gray(" Submit a flag: ")+chalk.green(`exam answer ${o} ICOA{your_flag}`)),console.log()};if(/^[ABCD]$/.test(o)){const l=m._lastQ||1;if(t(l))return n(l),void to.prompt();lo=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return lo=!1,void to.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void to.prompt();lo=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return lo=!1,void to.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=l.startsWith("!")||d.startsWith("!")||p;if("embodied"===eo&&!h&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env","sim"].includes(d))return console.log(chalk.gray(" Not available in Embodied AI Security mode.")),console.log(chalk.white(" Try ")+chalk.bold.cyan("demo2")+chalk.gray(" (intro) · ")+chalk.bold.cyan("learn")+chalk.gray(" (curriculum) · ")+chalk.bold.cyan("exam <PD-token>")+chalk.gray(" (Paper D)")),console.log(),void to.prompt();if("selection"===eo&&!h&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env","sim"].includes(d)){if(console.log(chalk.gray(" Not available in Selection mode.")),m){const o=m._lastQ||1;console.log(chalk.white(` Resume exam: exam q ${o}`)+chalk.gray(" · ")+chalk.white("A/B/C/D")+chalk.gray(" to answer"))}else console.log(chalk.gray(" Try: demo · setup to switch mode"));return console.log(),void to.prompt()}if("organizer"===eo&&!["join","exam","demo","retry","next","prev","logout","setup","lang","ref","ctf","mark","unmark","review","submit"].includes(d))return console.log(chalk.gray(" Not available in Organizer mode. Switch via: setup")),console.log(),void to.prompt();if(!("olympiad"!==eo||a()&&c()||i(d)))return console.log(chalk.yellow(" Restricted mode. ")+chalk.gray("Enter your access token:")),console.log(chalk.white(" activate <token>")),console.log(),console.log(chalk.gray(" Free commands: ")+chalk.white("ref [topic]")+chalk.gray(", ")+chalk.white("help")+chalk.gray(", ")+chalk.white("exit")),console.log(),void to.prompt();if(!["join","activate","challenges","ch","open","submit","flag","scoreboard","sb","status","time","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","demo","retry","nations","next","prev","continue","logout","ctf4ai","mark","unmark","review","submit","learn","demo2","vla4ctf","theme","sim"].includes(d)){if(V.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void to.prompt();if(/(?:^|\s)(?:\/(?!home\/|Users\/|tmp\/)|\.\.\/|~\/)/.test(l)&&!l.startsWith("cd ")){const o=/(?:^|\s)\/(?!home\/\w+\/icoa-workspace|Users\/\w+\/icoa-workspace|tmp\/)/.test(l),e=/\.\./.test(l);if(o||e)return console.log(chalk.red(" Blocked: access outside workspace is not allowed.")),console.log(chalk.gray(` Workspace: ${_}`)),console.log(),void to.prompt()}let o=l.startsWith("!")?l.slice(1).trim():l;if("darwin"===process.platform){const e="/opt/homebrew/opt/python@3.12/bin/python3.12";o=o.replace(/^python3?\s/,`${e} `).replace(/^(python3|python)$/,e)}else if("win32"===process.platform){const e=(()=>{try{return t("py -3 --version",{stdio:["ignore","ignore","ignore"],timeout:1500}),"py -3"}catch{}return"python"})();o=o.replace(/^python3?(\.\d+)?\s/,`${e} `).replace(/^python3?(\.\d+)?$/,e)}else{const e=(()=>{try{return t("which python3.12",{stdio:"ignore"}),"python3.12"}catch{return"python3"}})();o=o.replace(/^python\s/,`${e} `).replace(/^python$/,e)}const e=Y();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=W(B(),".icoa");M(o)||U(o,{recursive:!0});const e=W(o,"python-startup.py");return M(e)||z(e,"# ICOA exam interactive startup — auto-loaded by PYTHONSTARTUP\nimport base64, struct, hashlib, re, json, os, sys, binascii\ntry: import requests\nexcept ImportError: pass\ntry: from Crypto.Cipher import AES\nexcept ImportError: pass\ntry: from Crypto.Util.Padding import pad, unpad\nexcept ImportError: pass\ntry: from pwn import xor, p32, u32, p64, u64\nexcept ImportError: pass\ntry: import bs4\nexcept ImportError: pass\ntry: import numpy as np\nexcept ImportError: pass\n"),e}()}" ${o}`,console.log(),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(chalk.bold.white(" Python ready — ICOA exam toolkit pre-loaded")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(),console.log(chalk.white(" Already imported: ")+chalk.gray("base64, struct, hashlib, re, json, binascii")),console.log(chalk.white(" Also available: ")+chalk.gray("requests, bs4, numpy, AES, pad/unpad, xor, p32/u32/p64/u64")),console.log(),console.log(chalk.yellow(" Quick examples:")),console.log(chalk.gray(' base64.b64decode("aGVsbG8=") ')+chalk.gray("# decode base64")),console.log(chalk.gray(' bytes.fromhex("48656c6c6f") ')+chalk.gray("# hex → bytes")),console.log(chalk.gray(' "ICOA{x}".encode() ')+chalk.gray("# str → bytes")),console.log(chalk.gray(" [chr(c) for c in [73,67,79,65]] ")+chalk.gray("# ASCII codes")),console.log(chalk.gray(' xor(bytes.fromhex("0a2b"), b"IC") ')+chalk.gray("# pwntools XOR")),console.log(),console.log(chalk.gray(" Exit: ")+chalk.white("exit()")+chalk.gray(" or Ctrl-D")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log()),lo=!0;try{j()&&await q()?await D(o,to):await Z(o,to,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return lo=!1,console.log(),void to.prompt()}lo=!0;const w=l.trim(),T=w.toLowerCase();let $,S=null,L="";if(m)if("submit"===T)S="final";else if(T.startsWith("submit ")){let o=w.slice(7).trim();/^submit\s+/i.test(o)&&(o=o.replace(/^submit\s+/i,"").trim()),o=o.replace(/^["'`]+|["'`]+$/g,"").trim(),o&&/^ICOA\{[^}]*\}?$/i.test(o)&&(S="flag",L=o)}else/^ICOA\{[^}]+\}$/i.test(w)&&(S="flag",L=w);$="final"===S?["exam","submit"]:"flag"===S?["exam","answer",String(m?._lastQ||1),L]:function(o){const e=o.split(/\s+/),t=e[0].toLowerCase(),l=e.slice(1),n={demo:["exam","demo"],retry:["exam","demo-retry"],nations:["exam","nations"],next:["exam","next"],prev:["exam","prev"],mark:["exam","mark",...l],unmark:["exam","unmark",...l],review:["exam","review"],logout:["ctf","logout"],join:["ctf","join",...l],activate:["ctf","activate",...l],challenges:["ctf","challenges"],ch:["ctf","challenges"],open:["ctf","open",...l],submit:["ctf","submit",...l],flag:["ctf","submit",...l],scoreboard:["ctf","scoreboard",...l],sb:["ctf","scoreboard",...l],status:["ctf","status"],time:["ctf","time"]};return n[t]?n[t]:["ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","ctf4ai"].includes(t)?[t,...l]:e}(l);const P="ctf"===$[0]&&"join"===$[1];P&&to.pause(),process.exit=()=>{throw new Error(J)};try{await e.parseAsync(["node","icoa",...$])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===J);else if(e.includes("commander.unknownCommand")){const{distance:o}=await import("fastest-levenshtein"),e=["ctf","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","exam","ctf4ai","theme","clear","cls","quit","exit","back","menu","help","continue","activate","demo","challenges","status","scoreboard","join","logout"],t=d.split(/\s+/)[0]||d;let l={word:"",dist:1/0};for(const n of e){const e=o(t.toLowerCase(),n);e<l.dist&&(l={word:n,dist:e})}console.log(chalk.yellow(` Unknown command: ${d}.`)),l.dist>0&&l.dist<=2&&console.log(chalk.gray(" Did you mean: ")+chalk.bold.cyan(l.word)+chalk.gray("?")),console.log(chalk.gray(" Type ")+chalk.cyan("help")+chalk.gray(" for the full command list."))}else e.includes("commander.")||(e.includes("fetch failed")||e.includes("ECONNREFUSED")||e.includes("ETIMEDOUT"))&&console.log(chalk.yellow(" Network error. Check your connection."))}finally{process.exit=O,lo=!1,P&&to.resume()}f()?to.setPrompt(chalk.magenta("ai4ctf> ")):x()?to.setPrompt(chalk.red("ctf4ai> ")):C()&&to.setPrompt(chalk.bold.cyan("vla4ctf> ")),console.log(),to.prompt()}),to.on("SIGINT",()=>{if(console.log(),f()||x())console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still in the AI chat.")),console.log(chalk.white(" Type ")+chalk.bold.cyan("exit")+chalk.white(" to leave the chat and return to the menu."));else if(I()){const o="demo-free"!==I().session.examId;console.log(chalk.yellow(" Ctrl+C did NOT close ICOA CLI.")),console.log(chalk.gray(` Your ${o?"exam":"demo"} is paused and every answer is auto-saved.`)),console.log(),console.log(chalk.white(" Resume: ")+chalk.cyan("exam q 1")+chalk.gray(" · Back to menu: ")+chalk.cyan("back")+chalk.gray(" · Close CLI: ")+chalk.cyan(o?"quit confirm":"quit"))}else console.log(chalk.yellow(" Ctrl+C did not close ICOA CLI — you are still at the ")+chalk.cyan("icoa>")+chalk.yellow(" prompt.")),console.log(chalk.gray(" Keep typing — ")+chalk.cyan("help")+chalk.gray(" lists commands. (Only ")+chalk.cyan("quit")+chalk.gray(" or Ctrl+D actually close the CLI.)"));console.log(),to.prompt()}),to.on("close",()=>{F(),g(),E(),O(0)})}function Z(o,t,l){return new Promise(n=>{const s=process.stdin,a=!!s.isTTY&&!!s.isRaw;if(t.pause(),s.isTTY&&"function"==typeof s.setRawMode)try{s.setRawMode(!1)}catch{}const r=e(o,{shell:!0,stdio:"inherit",cwd:l||process.cwd()}),i=()=>{if(s.isTTY&&"function"==typeof s.setRawMode&&a)try{s.setRawMode(!0)}catch{}t.resume(),n()};r.on("close",i),r.on("error",i)})}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "icoa-cli",
3
- "version": "2.19.128",
4
- "description": "ICOA CLI — The world's first CLI-native CTF competition terminal",
3
+ "version": "2.19.130",
4
+ "description": "ICOA CLI — The world's first CLI-native cyber & AI security olympiad terminal: AI4CTF (Day 1), CTF4AI (Day 2), VLA4CTF (Day 3 — embodied AI)",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "icoa": "dist/index.js"
@@ -30,8 +30,17 @@
30
30
  "ctf",
31
31
  "cli",
32
32
  "cybersecurity",
33
+ "ai-security",
34
+ "embodied-ai",
35
+ "vla",
36
+ "olympiad",
33
37
  "icoa",
34
- "competition"
38
+ "competition",
39
+ "k-12",
40
+ "education",
41
+ "mujoco",
42
+ "robotics-security",
43
+ "red-team"
35
44
  ],
36
45
  "license": "BUSL-1.1",
37
46
  "dependencies": {