icoa-cli 2.19.167 → 2.19.169
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.
- package/assets/sim/ensemble.mp4 +0 -0
- package/dist/commands/ai4ctf.js +1 -1
- package/dist/commands/exam.js +1 -1
- package/dist/commands/sim.d.ts +6 -3
- package/dist/commands/sim.js +1 -1
- package/dist/repl.js +1 -1
- package/package.json +3 -2
|
Binary file
|
package/dist/commands/ai4ctf.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(b,j){const a7=a0j,k=b();while(!![]){try{const q=-parseInt(a7(0x19e))/(0xc4d+-0xc71+0x25)+-parseInt(a7(0x257))/(0x101*0x21+0x5e1+-0x2*0x1380)+parseInt(a7(0x16d))/(-0x42*0x6+-0x2401+-0x8*-0x4b2)*(-parseInt(a7(0x206))/(-0x2e*-0x65+0xb6*-0x11+0x183*-0x4))+-parseInt(a7(0x24a))/(0x2*-0xb8a+-0x3ab+0x1ac4)+parseInt(a7(0x1a9))/(0x2*-0x89f+0x1602+0x1*-0x4be)+-parseInt(a7(0x19c))/(-0x1d49+0x145e+0x8f2*0x1)*(parseInt(a7(0x168))/(-0x3*0x28c+-0x2*0x706+-0x2*-0xadc))+parseInt(a7(0x1ce))/(0x2*0xd45+-0xd81+-0xd00);if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,0x40*-0x48b+-0x4*0xc9a3+0x1*0x91a2c));import a0q from'chalk';import{createChatSession as a0v}from'../lib/gemini.js';import{addTokenUsage as a0x}from'../lib/budget.js';import{getConfig as a0z}from'../lib/config.js';import{logCommand as a0A}from'../lib/logger.js';import{printMarkdown as a0B,printError as a0C}from'../lib/ui.js';import{t as a0D}from'../lib/i18n.js';import{getExamState as a0E,saveExamState as a0F}from'../lib/exam-state.js';const g=b=>new Promise(j=>setTimeout(j,b));let r=!(0x6*0x95+-0x64*-0x53+-0x23e9),y=null,h=-0x11aa+0xa28+-0x1f*-0x3e,u=!(0x1*-0x25e5+-0xc8b+0x25*0x15d);const d=0x3793*-0x1+-0x9607+0x12f42;function a0b(){const aj=['q3j5ChrVz3jHCgH5','sgLUDca','icdILzdILzdILzaGquK0q1rgiokaLcbr','icaGicbJDgy0ywK','ywLvC2fNzq','ihbVAw50CYK6cG','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','ihrVig1VDMuGB24','ihb0CW','CMvWBgfJzq','icdILii','lIbkDw1WihrOzxjLigzPCNn0oG','Dgv4Da','zMLUza','ywK0y3rMq29YCMvJDezSywC','ywK0y3rMv3jHCeXPBMuYqM9KEq','BM9KztPJAgLSzf9WCM9JzxnZ','ig5VDcbMB3vUzcbPBIbZDgf0zs4','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','BM93','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','yMfJAW','BwvZC2fNzq','icbB','ywK0y3rMtw9KzwW','y2f0zwDVCNK','ChvZAa','y29UDgLUDwu','icaGiokgKIa','C29Tzq','ywK0y3rMsgLUDfrLy2HUAxf1zq','icaGig1LBNu','icaGice8C2HLBgWGy21KpIaGica','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','icdILiiG','icdILzdILzdILzaG','C3vIBwL0ieLdt0f7lI4UFq','yw5ZD2vYx2nOyw5Nzwq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','ywK0y3rMv3jHCff1B3rHquHPBNq','icaG4OAsia','ywK0y3rMsgLUDem','iokaLca','icbzB3uGyxjLig9Uife','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','quKGzxjYB3i6ia','icaGigHPBNqGyW','zxHPDa','ihDPBgWGB3bLBIbr','mJi2ndyWnwfJt2XeDG','ig9UifeZoq','icaGicaGigHPBNqGyIaGia','x2XHC3rr','ywrK','ywK0y3rMrxHPDenTzejHy2S','zxHHBsbHBNn3zxiG','ywK0y3rM','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','Dg9ju09tDhjPBMC','iokaLcb0ExbLia','ywK0y3rMv3jHCe5VuhjVzW','nZu0nZa0yu1it1rd','lZuWmda','icbuAgLUA2LUzY4UlG','C3vIBwL0idXMBgfNpG','DxrMltG','icaGigHPBNqGyq','icaGihn1yM1PDcbjq09bEY4UlN0','z2vTAw5Ptw9KzwW','y3LHBG','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','xsaGWRCG','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','Dg9vChbLCKnHC2u','ywK0y3rMsgLUDenvC2vZ','ywK0y3rMu2fTCgXL','BNvTyMvY','CxvPDa','yxr0ywnOzwreyxrH','icdIMQaG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMt3jdAgf0','D2HPDgu','igfNywLUihrVignOyw5NzsWGB3iG','Dg9mB3DLCKnHC2u','mtq0uMfysfDT','ywK0y3rMv3jHCff1B3rHqW','ywK0y3rMt3jdAgf0rxHHBxbSzq','icbgBgfNigzVCM1HDdOG','icdINjmGqw5ZD2vYigzVCIbr','ote4mdG3AxvrvuXI','sunpqxT5B3vYx2zSywD9','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','ywK0y3rMv291BgrfyxjU','ywK0y3rMtg9JA2vKvgHLBG','ywK0y3rMsgLUDe5LEhrc','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','ywK0y3rMsgLUDejcB2r5','icaGigv4Axq','zxHHBsbXia','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','AgLUDcbJ','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','icaGicaGicaGicaGicaGicaGicbLlMCUia','yxbWBgLJyxrPB24VANnVBG','ywK0y3rMv3jHCeXPBMuYsgvHza','BMfTzq','DhjPBq','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','icdILRGG','icaGifbYzxzPB3vZoIa','icbbzNrLCIbLEgL0oIa','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','CMvWzwf0','ywK0y3rMsgLUDei','imk3ia','zw5JB2rPBMC','ywK0y3rMv3jHCeXPBMuXsgvHza','C2L6zq','q29TBwfUzcbMywLSzwq','ywK0y3rMrxHPDenTze5LEhq','BNvKz2vtAg93BG','ywK0y3rMrgvJB2rLza','ywK0y3rMtg9JA2vKvxnL','icaKia','igzVCIbrmZK','ywK0y3rMsgLUDfbYAw5JAxbSzq','Cg9PBNrZ','ywK0y3rMv3jHCe5LEhrcB2r5','iokvKokvKokvKa','g1SXqrTBmKS','ywK0y3rMoIa','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','Bwf0y2G','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','mJe3mZe1DuPYueLc','ywK0y3rMsgLUDefcB2r5','mZqYntuZEuPAsuzT','y2XLyxi','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icdILRGGsgLUDca','icaGifn0DwnRpYbuCNK6ia','CxvLC3rPB24','C3rHCNrZv2L0Aa','ywK0y3rMvg9Rzw5Z','ywK0y3rMrxHPDa','ywK0y3rMsgLUDejvC2vZ','mtm3mZuZogniD3bODq','rNvSBcbXDwvZDgLVBJOGia','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','ywK0y3rMsgLUDe51zgDL','icaGicbIywnR','icbzB3uGy2fUihn0AwXSoIa','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','ywK0y3rMq21Ku2HLBgXmAw5L','ywK0y3rMrM91BMrgBgfN','Cu51Bq','AM9PBG','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','ywK0y3rMuMv2zwfStg9JA05VDgu','z3jLzw4','Bg9N','AgLUDcbH','CM91BMq','ywK0y3rMu3vIBwL0q21K','EwvSBg93','quK0q1rgihnLy3rPB24','ywK0y3rMvgL0Bgu','ywK0y3rMv3jHCff1B3rHrM9VDgvY','C3bSAxq','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','oIbhB29NBguGr2vTBweGncaO','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','C2vUze1LC3nHz2u','ywK0y3rMv3jVBMDgBgfN','icaI','icbtDgLSBcbHDMfPBgfIBgu6ia','BwvUDq','ywK0y3rMrxHPDe5LEhruAxrSzq','ywK0y3rMq2HHBgXLBMDL','icaGicaGicaGicaGica','Aw50zxjHy3rPB25Z','D3jPDgu','mtKXmtKYmJjxvgDAqvK','C3rYAw5NAwz5','ywK0y3rMq21KsgLUDeXPBMu','ywK0y3rMuMv2zwfSvgL0Bgu','ywK0y3rMrgvJB2rL','lI4VBgLIl2v4yw0TC3rHDguUANm','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','icbszxn1Bwu6ia','CxvLC3rPB25Z','zgvZy3jPChrPB24','yM9Sza','ywK0y3rMsgLUDee','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','CMvK','ixnOzwXS','ywK0y3rMrMXHz0HPBNq','AgfZ','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','ue9tva','icaGideUia','y2f0y2G','icaGigHPBNqGyG','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','AgLUDhnvC2vK','lI4U','q29UDgvUDc1uExbL','ywK0y3rMsgLUDefvC2vZ','z3jHEq','icbozxH0oIa','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','ywK0y3rMv3jHCe5LEhruAxrSzq','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','icaGia','DgvZDa','ywK0y3rMv3jHCff1B3rHq0HPBNq','icbfCNjVCJOG','y29TBwfUza','C2XPy2u','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','ywK0y3rMv3jHCeXPBMuXqM9KEq','ywK0y3rMsgLUDe5LEhrb','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','Dg9Rzw5mAw1PDa','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','sgLKzgvUie1LC3nHz2u','DgLTzw91Da','C3rKB3v0','AgLUDcbI','yw5ZD2vYCW','BgvUz3rO','ywK0y3rMtg9JA2vKvgL0Bgu','ywK0y3rMv3jHCff1B3rHqG','ywK0y3rMv3jHCff1B3rHC1rPDgXL','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','ywK0y3rMuMvWB3j0','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','nhvdC1nSrW','icaGicfWExrOB24Zic4UlG','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','ywK0y3rMv3jHCff1B3rHqq','cIaG','icbdDxjYzw50igfUC3DLCJOG','Dg9Rzw5ZvxnLza','ywK0y3rMvgHPBMTPBMC','zxHHBsbXidmX','CgfKrw5K','ihrVignVBNrPBNvL','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','y3rMngfP','zw50zxjLzef0','z2vTBweTnc0ZmwiTAxq'];a0b=function(){return aj;};return a0b();}let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:0x2210+0xa0c*-0x1+-0x47c,j=h,k=Math['min'](Math[a8(0x1b9)](j/b*(0x251f+-0xa7*-0xd+-0x2d36)),-0x25*0x3b+0x1*-0x4ff+0xdea*0x1),q=Math[a8(0x1b9)](k/(0x31*0xba+0x1cd7+0x35f*-0x13)*(-0x17de+-0x1*-0xba7+0x419*0x3)),v=-0x3*-0x1e7+0x550+-0xaf1-q,x=k>-0x18d7+0x115e+0x7c9?a0q[a8(0x1db)]:k>0xa65+-0x19dc+0x13*0xd3?a0q['yellow']:a0q['green'],z=f?a8(0x1bc):'Tokens';console[a8(0x1b7)](a0q[a8(0x1e9)]('\x20\x20'+z+':\x20')+x('█'[a8(0x186)](q))+a0q[a8(0x1e9)]('░'[a8(0x186)](v))+a0q[a8(0x1e9)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0x248);if(a0A(a9(0x198)+q),f)return p(q);const v=q[a9(0x17f)]()[a9(0x167)]()[a9(0x19a)](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0x1d9):'b'===B?'ai4ctfHintB':aa(0x242)),D=a0D('a'===B?aa(0x19d):'b'===B?aa(0x175):'ai4ctfHintCBody'),E=aa(0x217)+B[aa(0x264)](),F='a'===B?a0q[aa(0x1b6)]:'b'===B?a0q[aa(0x1bb)]:a0q[aa(0x1db)];console[aa(0x1b7)](),console[aa(0x1b7)](F[aa(0x1d8)](aa(0x182)+E+'\x20\x20')+a0q[aa(0x1e9)](C)),console[aa(0x1b7)]();for(const G of D[aa(0x1bf)]('\x0a'))''===G?console[aa(0x1b7)]():console['log'](a0q[aa(0x165)](aa(0x1ee)+G));console[aa(0x1b7)](),'a'===B?(console[aa(0x1b7)](a0q[aa(0x1e9)](aa(0x1ee)+a0D(aa(0x1f6))+'\x20')+a0q[aa(0x25f)](aa(0x1fd))),console[aa(0x1b7)]()):'b'===B&&(console['log'](a0q[aa(0x1e9)](aa(0x1ee)+a0D(aa(0x173))+'\x20')+a0q['cyan'](aa(0x179))),console[aa(0x1b7)]());}(v[-0x14ef+-0x20ac+0x92*0x5e]),a9(0x232);const x=q['match'](/^submit\s+(.+)/i);if(x){let B=x[0x1f*0xc3+0x24d*0x2+0x2*-0xe1b][a9(0x17f)]();if(/^submit\s+/i[a9(0x1ef)](B)&&(B=B[a9(0x21f)](/^submit\s+/i,'')[a9(0x17f)]()),B=B[a9(0x21f)](/^["'`]+|["'`]+$/g,'')[a9(0x17f)](),a9(0x1ed)===B){console[a9(0x1b7)](),console['log'](a0q[a9(0x1b6)][a9(0x1d8)](a9(0x238))),console['log'](a0q[a9(0x1b6)][a9(0x1d8)]('\x20\x20'+a0D(a9(0x224)))),console[a9(0x1b7)](a0q[a9(0x1b6)][a9(0x1d8)](a9(0x238))),console[a9(0x1b7)](),console['log'](a0q[a9(0x165)]('\x20\x20'+a0D(a9(0x18f)))),console['log'](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x171)))),console[a9(0x1b7)](),m(),r=!(-0x1*-0x9ef+0x807+0x1*-0x11f5),y=null,fetch(a9(0x23f),{'method':a9(0x1e0),'headers':{'Content-Type':a9(0x17c)},'body':JSON[a9(0x1cf)]({'type':'ai4ctf','solved':!(-0x1*0xca+-0x1c67+0x1d31),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a9(0x1fb)](-0xa42+0xa*-0x1a9+-0xb99*-0x4)})[a9(0x1e2)](()=>{}),await g(-0x1*-0x267d+-0x2*0x5b3+-0x153b),console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x25f)](a9(0x163))),console[a9(0x1b7)](a0q[a9(0x1d8)][a9(0x165)]('\x20\x20'+a0D('ai4ctfWrapTitle'))),console[a9(0x1b7)](a0q[a9(0x25f)](a9(0x163))),console['log']();const C=a0D(a9(0x18a)),D=a0D(a9(0x1f5));console[a9(0x1b7)](a0q[a9(0x165)](a9(0x1e1)+C+'\x20')+a0q[a9(0x1e9)](D['split']('\x0a')[0xcaf+-0x265a+0x1*0x19ab]||''));for(const H of D[a9(0x1bf)]('\x0a')[a9(0x1f3)](-0x2071+0x9*0x407+0x7*-0x8b))H[a9(0x17f)]()&&console['log'](a0q[a9(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20'+H['replace'](/\{thinking\}/g,'thinking')));console['log'](),console[a9(0x1b7)](a0q['white']('\x20\x20\x20\x202.\x20'+a0D(a9(0x17d))+'\x20')+a0q[a9(0x1e9)](a0D(a9(0x225)))),console[a9(0x1b7)](),console[a9(0x1b7)](a0q['cyan'](a9(0x1da))),console[a9(0x1b7)](),await g(0x36*0x4e+0x15c7+-0x1e6b),console[a9(0x1b7)](a0q[a9(0x25f)](a9(0x163))),console[a9(0x1b7)](a0q[a9(0x1d8)]['white']('\x20\x20'+a0D(a9(0x202)))),console['log'](a0q['cyan'](a9(0x163))),console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1bb)]('\x20\x20\x20\x20\x20\x20\x20hint\x20a\x20\x20\x20')+a0q['white'](a0D(a9(0x209))[a9(0x20f)](-0x1278+0x199*-0xb+0x13*0x1e7))+a0q[a9(0x1e9)](a0D(a9(0x240)))),console[a9(0x1b7)](a0q[a9(0x1bb)](a9(0x24c))+a0q[a9(0x165)](a0D(a9(0x201))[a9(0x20f)](0x1dc3+0x1b64+-0x390d))+a0q[a9(0x1e9)](a0D('ai4ctfWrapQuotaBHint'))),console[a9(0x1b7)](a0q[a9(0x1bb)]('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0q[a9(0x165)](a0D(a9(0x169))[a9(0x20f)](0x4*0x628+-0x1a22+0x2*0xce))+a0q[a9(0x1e9)](a0D(a9(0x1f0)))),console[a9(0x1b7)]();for(const I of a0D(a9(0x1be))['split']('\x0a'))console['log'](a0q[a9(0x1e9)]('\x20\x20\x20\x20'+I));console['log'](),await g(-0x25a9+0x1bd5+0x11a4),console['log'](a0q[a9(0x25f)](a9(0x163))),console['log'](a0q['bold']['white']('\x20\x20'+a0D(a9(0x1ec))+'\x20')+a0q[a9(0x1db)]['bold'](a9(0x213))+a0q['white']('\x20—\x20'+a0D('ai4ctfWrapNextSub'))),console[a9(0x1b7)](a0q[a9(0x25f)](a9(0x163))),console[a9(0x1b7)]();const E=a0D(a9(0x195)),F=a0D(a9(0x256)),G=E[a9(0x1bf)]('\x0a');if(G[-0x483*0x2+0xcef+0x7*-0x8f]){const [J,K]=G[-0x1add+0x26*-0xf8+-0x3fad*-0x1]['split']('{noProg}');console[a9(0x1b7)](a0q['white'](a9(0x1ee)+(J||''))+a0q[a9(0x1d8)][a9(0x165)](F)+a0q[a9(0x165)](K||''));}for(const L of G[a9(0x1f3)](0xc*0x2a+0x1280+-0x1477))L['trim']()&&console[a9(0x1b7)](a0q[a9(0x165)](a9(0x1ee)+L));return console[a9(0x1b7)](),console['log'](a0q['gray'](a9(0x1ee)+a0D('ai4ctfWrapTypeCtf4ai')+'\x20')+a0q[a9(0x1d8)][a9(0x1db)](a9(0x213))),console[a9(0x1b7)](),a9(0x248);}return console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1db)]('\x20\x20'+a0D(a9(0x1c5)))),console['log'](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x1dd)))),console[a9(0x1b7)](),a9(0x232);}if(q['startsWith']('!')){const M=q[a9(0x1f3)](0x1c97+0x77*0xd+-0x22a1)['trim']();if(!M)return'continue';try{const N={};N[a9(0x189)]=a9(0x25b),N[a9(0x1fb)]=0x2710;const {execSync:O}=await import(a9(0x226)),P=O(M,N)['trim']();console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1e9)](a9(0x191))+a0q['white'](M)),console[a9(0x1b7)](a0q[a9(0x165)]('\x20\x20'+P[a9(0x1bf)]('\x0a')[a9(0x1b3)](a9(0x20a)))),console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x1b1)))),console[a9(0x1b7)]();}catch(Q){console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1db)]('\x20\x20Error:\x20'+(Q[a9(0x22d)]?.['split']('\x0a')[0x479*0x2+-0x1c97+0x6b*0x2f]||a9(0x18c)))),console['log']();}return a9(0x232);}const z={};z[a9(0x1e7)]=a9(0x17c);if(a9(0x248)===q||a9(0x22c)===q||'quit'===q||a9(0x1c8)===q)return r=!(-0x1*-0x20e3+-0x1411+-0xcd1),y=null,fetch(a9(0x23f),{'method':a9(0x1e0),'headers':z,'body':JSON[a9(0x1cf)]({'type':'ai4ctf','tokensUsed':h,'timestamp':new Date()[a9(0x254)]()}),'signal':AbortSignal[a9(0x1fb)](-0x1eab*-0x1+0x2*-0xeac+0x1*0x1235)})['catch'](()=>{}),console[a9(0x1b7)](),console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20─────────────────────────────────────────')),console['log'](a0q['white']('\x20\x20'+a0D(a9(0x204)))),console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x1a6))+':\x20'+h+a9(0x258))),console[a9(0x1b7)](a0q['gray']('\x20\x20'+a0D(a9(0x22f))+a9(0x1c2))),console['log'](a0q['gray']('\x20\x20─────────────────────────────────────────')),console[a9(0x1b7)](),console['log'](a0q['cyan'](a9(0x163))),console[a9(0x1b7)](a0q['white']('\x20\x20'+a0D(a9(0x1c9))+'\x20')+a0q[a9(0x1d8)][a9(0x1db)](a9(0x213))+a0q[a9(0x165)](a9(0x243)+a0D('ai4ctfExitNextSub'))),console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20'+a0D('ai4ctfExitNextBody'))),console[a9(0x1b7)](a0q[a9(0x25f)](a9(0x163))),console[a9(0x1b7)](),console['log'](a0q[a9(0x1d8)]['red'](a9(0x219))+a0q[a9(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(a9(0x18d)))),console['log'](a0q[a9(0x165)](a9(0x1ad))+a0q[a9(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(a9(0x24f)))),console['log'](),a9(0x248);const A={};A[a9(0x1e7)]=a9(0x17c);if(!u&&h>=0x1*0x1e9d+-0x53*-0x17+0x6*-0x317)return u=!(-0x1*0x8f5+-0x2f*0x8+-0x1*-0xa6d),fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a9(0x1e0),'headers':A,'body':JSON[a9(0x1cf)]({'type':a9(0x251),'solved':!(0x1*0xce6+-0x1dc*0x15+0x1a27),'tokensUsed':h,'timestamp':new Date()[a9(0x254)]()}),'signal':AbortSignal[a9(0x1fb)](-0xd*0x123+-0x1*0x1993+0x3be2)})['catch'](()=>{}),console[a9(0x1b7)](),console[a9(0x1b7)](a0q['yellow']('\x20\x20'+a0D(a9(0x1f8)))),m(),(function(){const ab=a9;console['log'](),console[ab(0x1b7)](a0q[ab(0x1bb)](ab(0x163))),console[ab(0x1b7)](a0q['bold'][ab(0x1bb)]('\x20\x20'+a0D(ab(0x1d1)))),console[ab(0x1b7)](a0q[ab(0x1bb)]('\x20\x20─────────────────────────────────────────────')),console['log']();for(const R of a0D('ai4ctfRevealBody')[ab(0x1bf)]('\x0a'))''===R?console[ab(0x1b7)]():console['log'](a0q[ab(0x165)](ab(0x1ee)+R));console[ab(0x1b7)](),console[ab(0x1b7)](a0q[ab(0x25f)]('\x20\x20\x20\x20\x20\x20\x20\x20!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[ab(0x1b7)](),console['log'](a0q[ab(0x165)](ab(0x1ee)+a0D('ai4ctfRevealSeeFlag'))),console[ab(0x1b7)](),console[ab(0x1b7)](a0q[ab(0x1b6)](ab(0x1f7))),console[ab(0x1b7)](),console['log'](a0q[ab(0x165)](ab(0x1ee)+a0D('ai4ctfRevealThenSubmit'))),console[ab(0x1b7)](),console[ab(0x1b7)](a0q[ab(0x25f)](ab(0x203))),console[ab(0x1b7)](),console[ab(0x1b7)](a0q['gray'](ab(0x1ee)+a0D(ab(0x1b5)))),console[ab(0x1b7)]();}()),a9(0x232);if(u)return console['log'](),console[a9(0x1b7)](a0q[a9(0x1bb)]('\x20\x20'+a0D(a9(0x200)))),console[a9(0x1b7)](a0q['gray']('\x20\x20'+a0D(a9(0x190))+'\x20')+a0q['cyan'](a9(0x260))),console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x172))+'\x20')+a0q[a9(0x25f)](a9(0x253))),console[a9(0x1b7)](),a9(0x232);console[a9(0x1b7)](a0q[a9(0x1e9)]('\x20\x20'+a0D(a9(0x20d))));try{const R=await y[a9(0x1c4)](q);process[a9(0x1fc)][a9(0x1cd)](a9(0x197)),h+=R[a9(0x20c)],a0x(R[a9(0x20c)]),console['log'](),a0B(R[a9(0x222)]),m(),console['log']();}catch(S){process[a9(0x1fc)][a9(0x1cd)](a9(0x197)),a0C(a9(0x246)+S[a9(0x22d)]),console[a9(0x1b7)]();}return'continue';}const w=new Set();function a0j(a,b){a=a-(0x3e9+0x46f+-0x6f9);const c=a0b();let d=c[a];if(a0j['pSZstK']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x5*-0x627+0x7*0x347+0xb6*0xb,o,p,q=-0x158b+-0x5*0x1f1+0x1f40;p=i['charAt'](q++);~p&&(o=n%(0x1177+-0x11ea+0x1*0x77)?o*(-0xd*0x16d+0x15fc+0x111*-0x3)+p:p,n++%(-0x1*0x13d9+-0x20a4+0x3481*0x1))?l+=String['fromCharCode'](-0x2b*0x8+-0xdd*-0x2b+-0x22c8&o>>(-(-0x25*0x3b+0x1*-0x4ff+0xd88*0x1)*n&0x31*0xba+0x1cd7+0xef*-0x45)):-0x17de+-0x1*-0xba7+0x3b*0x35){p=j['indexOf'](p);}for(let r=-0x3*-0x1e7+0x550+-0xb05,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x18d7+0x115e+0x789))['slice'](-(0xa65+-0x19dc+0x11*0xe9));}return decodeURIComponent(m);};a0j['hbwtnm']=e,a0j['DuGMGT']={},a0j['pSZstK']=!![];}const f=c[-0x14ef+-0x20ac+0x359b*0x1],g=a+f,h=a0j['DuGMGT'][g];return!h?(d=a0j['hbwtnm'](d),a0j['DuGMGT'][g]=d):d=h,d;}async function p(q){const ac=a0j;if(!f||!y)return ac(0x248);const v=q[ac(0x17f)](),x=v['toLowerCase'](),z=(Date['now']()-f[ac(0x214)])/(-0x2*-0x691a+0x7*0xedc+-0x4*0x13f6);if(!f[ac(0x18e)]&&!f['submitAttempted']&&f['hintsUsed'][ac(0x18b)]>=-0x4d*-0x57+-0x35f*0x7+-0x290&&z>=0x21a8+0xe68+-0x6dd*0x7&&(f[ac(0x18e)]=!(0x1b98+-0x104e+0x2*-0x5a5),console[ac(0x1b7)](),console[ac(0x1b7)](a0q[ac(0x1bb)]('\x20\x20💡\x20Once\x20you\x20have\x20ICOA{...},\x20submit\x20it\x20with:\x20')+a0q['bold']['yellow'](ac(0x1e4))),console[ac(0x1b7)](a0q['gray']('\x20\x20\x20\x20\x20(type\x20it\x20right\x20here\x20in\x20this\x20chat\x20—\x20not\x20as\x20a\x20shell\x20command)')),console[ac(0x1b7)]()),/^ICOA\{[^}]+\}$/i[ac(0x1ef)](v))return console[ac(0x1b7)](),console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x178))+a0q[ac(0x165)]('submit\x20'+v)),p('submit\x20'+v);const A=x[ac(0x19a)](/^hint\s+([abc])$/);if(A){const C=A[-0x10a5*-0x2+0x8b*-0x1d+-0x118a][ac(0x264)]();f[ac(0x1e5)][ac(0x24e)](C);const D=a0E();D&&(D['interactions']||(D[ac(0x1cc)]=[]),D['interactions'][ac(0x231)]({'ts':new Date()[ac(0x254)](),'q':f[ac(0x1b2)],'type':'hint_used','input':C}),a0F(D));const E=f[ac(0x1a4)]['hints'],F=E?.[C],G='A'===C?a0q[ac(0x1b6)]:'B'===C?a0q[ac(0x1bb)]:a0q[ac(0x1db)];if(console[ac(0x1b7)](),console[ac(0x1b7)](G['bold'](ac(0x1a2)+C)),console[ac(0x1b7)](),F){for(const H of String(F)[ac(0x1bf)]('\x0a'))console['log'](a0q[ac(0x165)](ac(0x1ee)+H));}else console[ac(0x1b7)](a0q[ac(0x1e9)]('\x20\x20\x20\x20No\x20pre-written\x20hint\x20at\x20this\x20tier\x20for\x20this\x20question.'));return console[ac(0x1b7)](),'A'===C?console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x1a3))+a0q[ac(0x25f)](ac(0x1fd))):'B'===C?console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x1d4))+a0q[ac(0x25f)](ac(0x179))):'C'===C&&console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x1ee)+a0D('ai4ctfHintNextC')+'\x20')+a0q[ac(0x1d8)][ac(0x1b6)](ac(0x1e4))),console[ac(0x1b7)](),'continue';}const B=v[ac(0x19a)](/^submit\s+(.+)/i);if(B){let I=B[-0x17f*0x2+0xff1+-0x1*0xcf2][ac(0x17f)]();if(/^submit\s+/i[ac(0x1ef)](I)&&(I=I[ac(0x21f)](/^submit\s+/i,'')['trim']()),I=I['replace'](/^["'`]+|["'`]+$/g,'')[ac(0x17f)](),/^[A-Da-d]$/[ac(0x1ef)](I))return console[ac(0x1b7)](),console['log'](a0q[ac(0x1bb)](ac(0x1c6)+I+ac(0x1b4))),console['log'](a0q[ac(0x1e9)](ac(0x16b))+a0q['green'](ac(0x16e))+a0q[ac(0x1e9)](ac(0x180))),console[ac(0x1b7)](),'continue';const {getExamState:J,saveExamState:K}=await import(ac(0x1d3)),L=J();if(!L)return ac(0x248);if(!L[ac(0x1d6)][ac(0x223)](O=>O['number']===f[ac(0x1b2)]))return console[ac(0x1b7)](a0q[ac(0x1db)]('\x20\x20Q'+f[ac(0x1b2)]+ac(0x227))),ac(0x232);const M=L[ac(0x1fe)][f['qNum']];L[ac(0x1cc)]||(L[ac(0x1cc)]=[]),L[ac(0x1cc)][ac(0x231)]({'ts':new Date()[ac(0x254)](),'q':f[ac(0x1b2)],'type':M?ac(0x23e):'answer_submitted','input':I,'result':'via\x20ai4ctf\x20chat'}),L[ac(0x1fe)][f[ac(0x1b2)]]=I;const N=f[ac(0x1b2)]+(-0x19*0xdf+-0x11*-0xda+0x74e);return L[ac(0x24d)]=N<=-0x202+0x12b3*0x1+-0x108b?N:f['qNum'],K(L),console[ac(0x1b7)](),M?(console[ac(0x1b7)](a0q[ac(0x1b6)]('\x20\x20✓\x20Q'+f[ac(0x1b2)]+'\x20answer\x20updated:\x20')+a0q[ac(0x1bb)](I)),console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x183)+M))):console[ac(0x1b7)](a0q[ac(0x1b6)][ac(0x1d8)](ac(0x16c)+f[ac(0x1b2)]+'\x20recorded:\x20'+I)),console[ac(0x1b7)](a0q['gray'](ac(0x1f4))),console['log'](),console[ac(0x1b7)](a0q[ac(0x1e9)]('\x20\x20')+a0q[ac(0x165)](ac(0x23d))+a0q[ac(0x1e9)](ac(0x166))+a0q[ac(0x165)]('exit')+a0q[ac(0x1e9)](ac(0x21d))),N<=-0x461*0x2+0x1461+-0x10b*0xb?console['log'](a0q[ac(0x1e9)](ac(0x184))+a0q[ac(0x25f)]('ai4ctf')+a0q[ac(0x1e9)](ac(0x249)+N)):console['log'](a0q[ac(0x1e9)]('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0q[ac(0x1db)]('ctf4ai')+a0q['gray'](ac(0x24b))),console[ac(0x1b7)](),ac(0x232);}if(q[ac(0x1a5)]('!')){const O=q[ac(0x1f3)](0x1*-0xc1f+0x228e+-0x166e)[ac(0x17f)]();if(!O)return ac(0x232);try{const P={};P[ac(0x189)]=ac(0x25b),P['timeout']=0x2710;const {execSync:Q}=await import('node:child_process'),R=Q(O,P)[ac(0x17f)]();console[ac(0x1b7)](),console['log'](a0q[ac(0x1e9)](ac(0x191))+a0q[ac(0x165)](O)),console[ac(0x1b7)](a0q[ac(0x165)]('\x20\x20'+R[ac(0x1bf)]('\x0a')[ac(0x1b3)](ac(0x20a)))),console[ac(0x1b7)]();}catch(S){console[ac(0x1b7)](),console[ac(0x1b7)](a0q[ac(0x1db)](ac(0x1f1)+(S['message']?.[ac(0x1bf)]('\x0a')[0x13a3+0xccb+-0x206e]||'Command\x20failed'))),console['log']();}return ac(0x232);}if('exit'===x||'back'===x||ac(0x160)===x){const T=f[ac(0x1b2)],{getExamState:U}=await import(ac(0x1d3)),V=U(),W=V&&null!=V[ac(0x1fe)][T],X=V?.['_lastQ']||T;return r=!(0xecd+0x18a0+0xae*-0x3a),y=null,f=null,w[ac(0x19f)](),console['log'](),console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x22b)+T+'.')),W&&X>T&&X<=-0x1eb2*-0x1+0x1c73+0x3aff*-0x1?console['log'](a0q[ac(0x165)](ac(0x1ea))+a0q[ac(0x1d8)][ac(0x1b6)]('Q'+X)+a0q['gray'](ac(0x255))+a0q[ac(0x25f)]('ai4ctf')+a0q[ac(0x1e9)](ac(0x210))):W&&T>=0x72a*-0x1+0x18*0x5e+-0x180?console[ac(0x1b7)](a0q[ac(0x165)](ac(0x185))+a0q[ac(0x1d8)]['red'](ac(0x213))+a0q[ac(0x1e9)](ac(0x192))):console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x1d5))+a0q['white']('exam\x20q\x20'+T)+a0q[ac(0x1e9)]('\x20\x20·\x20\x20Re-enter:\x20')+a0q[ac(0x165)]('ai4ctf')),console[ac(0x1b7)](),ac(0x248);}if(u)return console[ac(0x1b7)](),console[ac(0x1b7)](a0q[ac(0x1bb)](ac(0x261))),console['log'](a0q[ac(0x1e9)](ac(0x1c7))+a0q[ac(0x165)](ac(0x25a))+a0q[ac(0x1e9)]('\x20·\x20')+a0q[ac(0x165)](ac(0x1dc))+a0q['gray'](ac(0x188))+a0q[ac(0x165)](ac(0x248))),console[ac(0x1b7)](),'continue';if(h>=d)return u=!(0x2381+-0xd*-0x151+-0x349e),console[ac(0x1b7)](),console['log'](a0q['red']['bold'](ac(0x17a))),console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x1ae))+a0q['white'](ac(0x25a))+a0q[ac(0x1e9)](ac(0x188))+a0q[ac(0x165)](ac(0x1dc))+a0q[ac(0x1e9)](ac(0x188))+a0q[ac(0x165)](ac(0x248))),console[ac(0x1b7)](),ac(0x232);console[ac(0x1b7)](a0q[ac(0x1e9)](ac(0x259)));try{const Y=await y[ac(0x1c4)](q);process[ac(0x1fc)][ac(0x1cd)](ac(0x197)),h+=Y['tokensUsed'];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0x1d3)),a1=Z(),a2={};a2[ac(0x251)]=0x0,a2[ac(0x213)]=0x0,(a1&&(a1[ac(0x21a)]||(a1['aiUsage']=a2),a1[ac(0x21a)]['ai4ctf']=h,a0(a1)),console[ac(0x1b7)](),a0B(Y[ac(0x222)]),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(0x589*-0x3+-0x1*0x2242+-0x1*-0x3341);a6>=0x16a3+-0xbc*-0x8+-0x1c24&&!a5[ad(0x1de)]('95')?(console[ad(0x1b7)](a0q[ad(0x1db)][ad(0x1d8)](ad(0x162)+Math['round'](a6)+ad(0x1eb)+(a4-a3)+'\x20tokens\x20left.')),a5[ad(0x24e)]('95')):a6>=0x1631*-0x1+-0x1350+-0x5*-0x85d&&!a5[ad(0x1de)]('80')?(console[ad(0x1b7)](a0q[ad(0x1bb)]('\x20\x20⚠\x2080%\x20of\x20section\x20AI\x20budget\x20used.')),a5[ad(0x24e)]('80')):a6>=-0x1609*0x1+0x11db+0x460&&!a5[ad(0x1de)]('50')&&(console['log'](a0q[ad(0x1e9)](ad(0x229))),a5[ad(0x24e)]('50'));}(h,d,w),console[ac(0x1b7)]());}catch(a3){process[ac(0x1fc)][ac(0x1cd)](ac(0x197)),a0C('AI\x20error:\x20'+a3[ac(0x22d)]),console[ac(0x1b7)]();}return ac(0x232);}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0x1f2)]('ai4ctf')[ae(0x1d7)](ae(0x199))['action'](async()=>{const af=ae;a0A('ai4ctf');const {getRealExamState:j}=await import('../lib/exam-state.js'),k=j(),q=k?.[af(0x1d6)][af(0x234)](A=>A[af(0x15f)]>=0x10b*0x1f+0x1*-0x70b+0x1*-0x192b&&A[af(0x15f)]<=0x1*0x162b+0xb9c+-0x21a1);if(k&&q){const A=k[af(0x24d)]||-0x1*0x1d3c+-0x1b*0x8f+0x2c52;if(A<-0x20a*-0x3+0x12d*-0x14+0x5*0x381||A>0x1efe+0x1*-0x1639+-0x89f)return console['log'](),console['log'](a0q['yellow'](af(0x245))),console[af(0x1b7)](a0q[af(0x1e9)](af(0x244)+A+af(0x221))),console[af(0x1b7)](a0q[af(0x1e9)](af(0x233))+a0q[af(0x1d8)][af(0x25f)](af(0x20e))),void console[af(0x1b7)]();const B=k[af(0x1d6)][af(0x223)](C=>C[af(0x15f)]===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import('../lib/exam-state.js');await F();const H=E();if(!H)return!(-0x1*-0x1c42+0x13e0+-0x559*0x9);const I=H[ag(0x1d6)][ag(0x223)](L=>L[ag(0x15f)]===C);I&&(D=I),G(C,D?.[ag(0x161)]);const J=H[ag(0x21a)]?.[ag(0x251)]??0x13dc*-0x1+-0x15c9*-0x1+-0x1d*0x11;if(J>=d)return console[ag(0x1b7)](),console[ag(0x1b7)](a0q['yellow'](ag(0x1c0))),console['log'](a0q[ag(0x1e9)](ag(0x16f))+a0q['white'](ag(0x250)+C+'\x20ICOA{...}')),console[ag(0x1b7)](),!(-0x24d9+-0xec*-0x17+0xfa6);try{y=await a0v(void(-0x14*-0x11+-0x1*-0x1ae3+0x1*-0x1c37),function(L,M){const ah=ag,N=L['description']||L[ah(0x222)]||'',O=L[ah(0x161)]?'\x0a\x0aATTACHED\x20DATA\x20(also\x20saved\x20to\x20challenges/q'+M+ah(0x21c)+L[ah(0x161)]:'';return ah(0x1c3)+M+',\x20'+L[ah(0x230)]+',\x20'+(L[ah(0x194)]||-0xcaf+-0x1f83+-0x14*-0x236)+ah(0x21b)+N+O+ah(0x19b)+M+ah(0x174);}(D,C));}catch(L){return a0C(L[ag(0x22d)]),!(0x1dda+-0x1*-0xf3a+-0x2d13);}r=!(-0x5c7+0xb5*-0x7+0xaba),h=J,u=!(-0x1ed8+-0x25f6+0x44cf),f={'qNum':C,'question':D,'usageField':'ai4ctf','enteredAt':Date[ag(0x22a)](),'hintsUsed':new Set(),'submitAttempted':!(0x36d*0x2+0x15fa+-0x1cd3),'nudgeShown':!(-0x2c5*0x3+-0x1*-0x623+-0x22d*-0x1)};const K=H['answers']?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0x25e)]||'gemma-4-31b-it',Q=h>-0x1*0xb8d+-0x1*0x1e51+0x1d2*0x17;console[ai(0x1b7)](),console[ai(0x1b7)](a0q[ai(0x1b6)][ai(0x1d8)](ai(0x218)+N+':\x20'+M[ai(0x230)]+ai(0x196))),Q&&console['log'](a0q[ai(0x1e9)](ai(0x1a0))),O&&console[ai(0x1b7)](a0q['gray'](ai(0x20b))+a0q[ai(0x1bb)](O)+a0q['gray'](ai(0x181))),console[ai(0x1b7)](),console[ai(0x1b7)](a0q[ai(0x25f)]('\x20\x20┌─────────────────────────────────────────────')),console[ai(0x1b7)](a0q[ai(0x25f)]('\x20\x20│\x20')+a0q[ai(0x1d8)][ai(0x165)]('Q'+N+ai(0x22e)+M['category']+ai(0x262)+(M['points']||0x16e0+-0x1b2b+0x451)+ai(0x21e))),console[ai(0x1b7)](a0q['cyan'](ai(0x220)));for(const R of String(M[ai(0x222)])[ai(0x1bf)]('\x0a')){const S=R[ai(0x1ff)]>0x1*0x1451+-0xded+-0x628?R[ai(0x1f3)](-0x445+0x26d1+-0x86*0x42,-0x48b*0x7+0x2696*0x1+-0x690)+ai(0x1e6):R;console[ai(0x1b7)](a0q['cyan'](ai(0x23b))+a0q[ai(0x165)](S));}console[ai(0x1b7)](a0q['cyan'](ai(0x220))),console[ai(0x1b7)](a0q[ai(0x25f)](ai(0x23b))+a0q[ai(0x1e9)](ai(0x1aa))+a0q['white'](ai(0x177)+N)),console[ai(0x1b7)](a0q['cyan'](ai(0x23b))+a0q[ai(0x1e9)](ai(0x263))),console[ai(0x1b7)](a0q[ai(0x25f)](ai(0x228))),console['log'](),console['log'](a0q['bold'][ai(0x165)]('\x20\x20How\x20to\x20work\x20this\x20question')),console[ai(0x1b7)](),console[ai(0x1b7)](a0q['yellow'](ai(0x25c))+a0q[ai(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20A\x20gentle\x20nudge\x20(pre-written)')),console[ai(0x1b7)](a0q[ai(0x1bb)](ai(0x1e3))+a0q[ai(0x1e9)](ai(0x205))),console[ai(0x1b7)](a0q[ai(0x1bb)](ai(0x247))+a0q[ai(0x1e9)](ai(0x1f9))),console[ai(0x1b7)](a0q[ai(0x1d8)][ai(0x1b6)](ai(0x25d))+a0q['gray'](ai(0x239))),console[ai(0x1b7)](a0q[ai(0x165)](ai(0x207))+a0q['gray']('\x20\x20\x20\x20\x20Run\x20Python\x20in\x20shell')),console[ai(0x1b7)](a0q[ai(0x1e9)](ai(0x1df))),console[ai(0x1b7)](a0q[ai(0x1e9)](ai(0x17b))+a0q[ai(0x165)](ai(0x170))),console['log'](),console[ai(0x1b7)](a0q['gray'](ai(0x176))+a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Leave\x20chat,\x20return\x20to\x20exam')),console[ai(0x1b7)](a0q['gray'](ai(0x236))+a0q['gray'](ai(0x252))),console[ai(0x1b7)](),m(),console[ai(0x1b7)](a0q[ai(0x1e9)](ai(0x208)+P+')')),console[ai(0x1b7)]();}(D,C,K),!(-0xafc+-0x7d5*0x2+0x1aa6);}(A,B):void a0C('Q'+A+af(0x212)+A);}const v={};v[af(0x17e)]=af(0x1fa),v[af(0x230)]=af(0x216);const x=a0z()[af(0x25e)]||af(0x215),z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0x22d)]);}r=!(-0x2385+0xf11+0x2ec*0x7),h=0xcbe+0x16a9+0xab*-0x35,u=!(0x2537+0xbf*0x3+0x2773*-0x1),console[af(0x1b7)](),console[af(0x1b7)](a0q[af(0x1b6)][af(0x1d8)](af(0x23c)+a0D(af(0x1bd))+af(0x196))),console['log'](),console[af(0x1b7)](a0q[af(0x165)]('\x20\x20'+a0D(af(0x266)))),console[af(0x1b7)](),console[af(0x1b7)](a0q[af(0x25f)]('\x20\x20┌─────────────────────────────────────────────')),console[af(0x1b7)](a0q[af(0x25f)]('\x20\x20│\x20')+a0q[af(0x1d8)][af(0x165)](a0D(af(0x1ca)))),console[af(0x1b7)](a0q[af(0x25f)](af(0x220))),console[af(0x1b7)](a0q[af(0x25f)](af(0x23b))+a0q[af(0x165)](a0D('ai4ctfIntercepted'))),console[af(0x1b7)](a0q[af(0x25f)](af(0x23b))+a0q[af(0x1b6)]('aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==')),console[af(0x1b7)](a0q[af(0x25f)]('\x20\x20│')),console[af(0x1b7)](a0q[af(0x25f)]('\x20\x20│\x20')+a0q[af(0x165)](a0D(af(0x1d2)))),console[af(0x1b7)](a0q[af(0x25f)](af(0x23b))+a0q[af(0x1e9)](af(0x23a))),console[af(0x1b7)](a0q[af(0x25f)]('\x20\x20└─────────────────────────────────────────────')),console[af(0x1b7)](),console[af(0x1b7)](a0q[af(0x165)]('\x20\x20'+a0D('ai4ctfLevels'))),console[af(0x1b7)](),console['log'](a0q[af(0x1bb)]('\x20\x20\x20\x20hint\x20a')+a0q[af(0x1e9)](af(0x1ee)+a0D(af(0x1d9)))),console['log'](a0q[af(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0x1e8)))),console['log'](a0q[af(0x1bb)](af(0x1e3))+a0q[af(0x1e9)]('\x20\x20\x20\x20'+a0D(af(0x187)))),console['log'](a0q['gray'](af(0x1cb)+a0D(af(0x1a8)))),console[af(0x1b7)](a0q[af(0x1bb)]('\x20\x20\x20\x20hint\x20c')+a0q['gray'](af(0x1ee)+a0D(af(0x242)))),console[af(0x1b7)](a0q['gray'](af(0x1cb)+a0D(af(0x265)))),console[af(0x1b7)](),console[af(0x1b7)](a0q['gray'](af(0x1a1))),console['log'](a0q[af(0x1d8)][af(0x165)]('\x20\x20'+a0D('ai4ctfWelcomeCta'))),console[af(0x1b7)]('\x20\x20\x20\x20'+a0q[af(0x25f)](af(0x1b8))+a0q[af(0x1e9)]('\x20\x20\x20→\x20'+a0D(af(0x1ac)))),console[af(0x1b7)](af(0x1ee)+a0q[af(0x25f)](af(0x1fd))+a0q[af(0x1e9)](af(0x241)+a0D(af(0x235)))),console['log'](af(0x1ee)+a0q['cyan'](af(0x179))+a0q[af(0x1e9)]('\x20\x20\x20→\x20'+a0D(af(0x193)))),console[af(0x1b7)](a0q[af(0x1e9)](af(0x1ee)+a0D(af(0x1ab)))),console[af(0x1b7)](),console['log'](a0q[af(0x165)]('\x20\x20'+a0D(af(0x164)))),console[af(0x1b7)](a0q[af(0x1e9)]('\x20\x20'+a0D(af(0x16a))+'\x20')+a0q[af(0x165)](af(0x1af))),console['log'](),console['log'](a0q[af(0x1bb)]('\x20\x20'+a0D('ai4ctfCommands'))),console[af(0x1b7)](a0q[af(0x165)]('\x20\x20\x20\x20hint\x20a\x20/\x20b\x20/\x20c\x20\x20')+a0q[af(0x1e9)](a0D(af(0x1d0)))),console[af(0x1b7)](a0q[af(0x165)]('\x20\x20\x20\x20submit\x20<flag>\x20\x20\x20')+a0q[af(0x1e9)](a0D(af(0x1ba)))),console[af(0x1b7)](a0q[af(0x165)](af(0x237))+a0q[af(0x1e9)](a0D(af(0x1b0)))),console[af(0x1b7)](a0q[af(0x1e9)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0q['white'](af(0x211))),console[af(0x1b7)](a0q[af(0x1e9)]('\x20\x20\x20\x20exit\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D('ai4ctfEndSession'))),console[af(0x1b7)](),m(),console[af(0x1b7)](a0q[af(0x1e9)]('\x20\x20'+a0D(af(0x22f))+af(0x1c1)+x+')')),console[af(0x1b7)](a0q[af(0x1e9)]('\x20\x20'+a0D(af(0x1a7)))),console[af(0x1b7)]();});}
|
|
1
|
+
(function(b,j){const a7=a0j,k=b();while(!![]){try{const q=parseInt(a7(0xd2))/(0xb*-0x2bd+0x3c9+0x1a57)+-parseInt(a7(0x85))/(0x2359*0x1+0xf05+0xb*-0x494)*(parseInt(a7(0x164))/(0x867+-0x25*-0x105+-0x2e1d))+parseInt(a7(0x129))/(0xb*-0x329+-0x78d*0x1+0x2a54)+parseInt(a7(0xc8))/(-0x1752+-0x1d49+-0x20*-0x1a5)+-parseInt(a7(0xfa))/(0x1*0x23a7+-0xb9b*-0x3+0x47*-0xfe)*(parseInt(a7(0xec))/(-0x1943+-0x1*0x2558+0x3ea2*0x1))+-parseInt(a7(0xf9))/(0xb8c+-0x1328+-0x7a4*-0x1)*(parseInt(a7(0xaf))/(-0xae7+-0x25ab+-0x17*-0x21d))+parseInt(a7(0x145))/(0x224c*0x1+0x3*0xa23+-0x40ab);if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,0x4beea*-0x2+0x7357*-0x7+0x3*0x6db1f));import a0q from'chalk';import{createChatSession as a0v}from'../lib/gemini.js';import{addTokenUsage as a0x}from'../lib/budget.js';import{getConfig as a0z}from'../lib/config.js';import{logCommand as a0A}from'../lib/logger.js';function a0j(a,b){a=a-(-0x1447+-0x2413*-0x1+-0xf68);const c=a0b();let d=c[a];if(a0j['VGMPEK']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0xd50+0x191*-0x2+0x1072,o,p,q=-0x37*-0x98+-0x1d72+-0x3*0x112;p=i['charAt'](q++);~p&&(o=n%(-0x1*-0x2114+0x2680+-0x28*0x1ca)?o*(0x1637*0x1+-0x270a+-0x2f*-0x5d)+p:p,n++%(0x19e4+-0x1749+-0x297))?l+=String['fromCharCode'](0x192b+-0x2451+-0xc25*-0x1&o>>(-(-0x6*-0x42d+-0x1cc7+0x3bb)*n&-0xe*-0x109+-0x1a33+0xbbb)):-0x11c6+0x1e69+-0xca3){p=j['indexOf'](p);}for(let r=0x107*0x25+-0xdad*0x1+-0x1856,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x91a*-0x1+-0x1d4b+0x2675))['slice'](-(0x12f6+0x9b*-0x3a+-0x2*-0x815));}return decodeURIComponent(m);};a0j['wogNDY']=e,a0j['zAbPZL']={},a0j['VGMPEK']=!![];}const f=c[-0x214c+0x19d*0x4+0x1ad8],g=a+f,h=a0j['zAbPZL'][g];return!h?(d=a0j['wogNDY'](d),a0j['zAbPZL'][g]=d):d=h,d;}import{printMarkdown as a0B,printError as a0C}from'../lib/ui.js';import{t as a0D}from'../lib/i18n.js';import{getExamState as a0E,saveExamState as a0F}from'../lib/exam-state.js';const g=b=>new Promise(j=>setTimeout(j,b));let r=!(-0x2db*0xb+-0x9b*-0x2+-0x4*-0x78d),y=null,h=-0x1854+0x1a0d*0x1+-0x1*0x1b9,u=!(-0x1361+-0x111a*-0x1+0x124*0x2);const d=-0x503+-0xa85f*-0x1+-0x41b4;let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:-0xe67*0x1+-0x2707+0x48f6,j=h,k=Math[a8(0xbd)](Math[a8(0x10a)](j/b*(-0x39a*-0x7+-0x18*0x199+0xd86)),-0x441+-0xe*-0x109+-0x9d9),q=Math[a8(0x10a)](k/(-0x3*0x256+-0x11c6+0x192c)*(0x107*0x25+-0xdad*0x1+-0x1842)),v=0x91a*-0x1+-0x1d4b+0x2679-q,x=k>0x12f6+0x9b*-0x3a+-0x11*-0xf8?a0q[a8(0xa3)]:k>-0x214c+0x19d*0x4+0x1b0a?a0q['yellow']:a0q[a8(0x122)],z=f?a8(0x111):a8(0x10b);console[a8(0x8f)](a0q['gray']('\x20\x20'+z+':\x20')+x('█'[a8(0x11c)](q))+a0q['gray']('░'[a8(0x11c)](v))+a0q[a8(0x10f)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return'exit';if(a0A(a9(0x8a)+q),f)return p(q);const v=q[a9(0x121)]()[a9(0x99)]()['match'](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0x83):'b'===B?'ai4ctfHintB':'ai4ctfHintC'),D=a0D('a'===B?aa(0xc3):'b'===B?'ai4ctfHintBBody':'ai4ctfHintCBody'),E=aa(0x7f)+B[aa(0x107)](),F='a'===B?a0q[aa(0x122)]:'b'===B?a0q[aa(0xc2)]:a0q['red'];console[aa(0x8f)](),console[aa(0x8f)](F[aa(0x137)](aa(0xc0)+E+'\x20\x20')+a0q['gray'](C)),console[aa(0x8f)]();for(const G of D['split']('\x0a'))''===G?console[aa(0x8f)]():console['log'](a0q[aa(0x6e)](aa(0x94)+G));console[aa(0x8f)](),'a'===B?(console[aa(0x8f)](a0q['gray']('\x20\x20\x20\x20'+a0D(aa(0x151))+'\x20')+a0q[aa(0x11b)](aa(0x114))),console[aa(0x8f)]()):'b'===B&&(console[aa(0x8f)](a0q[aa(0x10f)]('\x20\x20\x20\x20'+a0D('ai4ctfHintNextB')+'\x20')+a0q[aa(0x11b)](aa(0x91))),console['log']());}(v[-0x909+-0xe7f*0x2+-0x1*-0x2608]),a9(0x87);const x=q[a9(0xba)](/^submit\s+(.+)/i);if(x){let B=x[-0x1c53*0x1+-0x3*0x51+-0x5db*-0x5][a9(0x121)]();if(/^submit\s+/i['test'](B)&&(B=B[a9(0x80)](/^submit\s+/i,'')[a9(0x121)]()),B=B['replace'](/^["'`]+|["'`]+$/g,'')['trim'](),a9(0x141)===B){console[a9(0x8f)](),console[a9(0x8f)](a0q[a9(0x122)][a9(0x137)](a9(0x14a))),console[a9(0x8f)](a0q[a9(0x122)][a9(0x137)]('\x20\x20'+a0D(a9(0x12a)))),console[a9(0x8f)](a0q['green'][a9(0x137)](a9(0x14a))),console[a9(0x8f)](),console[a9(0x8f)](a0q[a9(0x6e)]('\x20\x20'+a0D('ai4ctfDecoded'))),console[a9(0x8f)](a0q[a9(0x10f)]('\x20\x20'+a0D('ai4ctfWouldEarn'))),console['log'](),m(),r=!(-0x4*-0x8cc+-0x930+-0x79*0x37),y=null,fetch(a9(0x133),{'method':a9(0xb1),'headers':{'Content-Type':a9(0x97)},'body':JSON[a9(0x6f)]({'type':a9(0x9e),'solved':!(-0x4*-0xc9+0x1c84+-0x1fa8),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a9(0xfd)](0x1f0c+-0x4b*0x29+0x7f)})[a9(0x12b)](()=>{}),await g(-0x3*0x435+0x259d+-0x1322*0x1),console[a9(0x8f)](),console[a9(0x8f)](a0q[a9(0x11b)](a9(0xd6))),console['log'](a0q[a9(0x137)][a9(0x6e)]('\x20\x20'+a0D(a9(0x166)))),console[a9(0x8f)](a0q[a9(0x11b)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x8f)]();const C=a0D(a9(0x15e)),D=a0D(a9(0xdb));console['log'](a0q[a9(0x6e)](a9(0xb5)+C+'\x20')+a0q[a9(0x10f)](D['split']('\x0a')[-0xac1*-0x1+0x1*0x305+-0xdc6]||''));for(const H of D[a9(0x167)]('\x0a')['slice'](0xeb9+0x32e*-0x2+0x1*-0x85c))H[a9(0x121)]()&&console[a9(0x8f)](a0q[a9(0x10f)](a9(0x102)+H[a9(0x80)](/\{thinking\}/g,a9(0x92))));console['log'](),console[a9(0x8f)](a0q[a9(0x6e)](a9(0xf1)+a0D(a9(0x154))+'\x20')+a0q[a9(0x10f)](a0D(a9(0x8d)))),console['log'](),console[a9(0x8f)](a0q[a9(0x11b)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[a9(0x8f)](),await g(-0xee3+0xab0+0xc03),console[a9(0x8f)](a0q[a9(0x11b)](a9(0xd6))),console[a9(0x8f)](a0q[a9(0x137)][a9(0x6e)]('\x20\x20'+a0D(a9(0xc1)))),console[a9(0x8f)](a0q[a9(0x11b)](a9(0xd6))),console['log'](),console[a9(0x8f)](a0q['yellow'](a9(0xac))+a0q[a9(0x6e)](a0D(a9(0x14e))[a9(0x81)](0x131*-0x1+-0x7f*-0x14+-0x8a1))+a0q['gray'](a0D(a9(0x136)))),console['log'](a0q[a9(0xc2)](a9(0xb3))+a0q[a9(0x6e)](a0D('ai4ctfWrapQuotaB')[a9(0x81)](-0x1*0x2266+0x1*-0xd72+-0x143*-0x26))+a0q['gray'](a0D(a9(0x15f)))),console[a9(0x8f)](a0q[a9(0xc2)]('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0q['white'](a0D(a9(0x11f))[a9(0x81)](-0x19*-0x7c+0x1*0x1908+0x250a*-0x1))+a0q[a9(0x10f)](a0D(a9(0x11e)))),console[a9(0x8f)]();for(const I of a0D('ai4ctfWrapQuotaFooter')['split']('\x0a'))console[a9(0x8f)](a0q[a9(0x10f)](a9(0x94)+I));console[a9(0x8f)](),await g(0x1f3+-0x239d*-0x1+-0x1dc0),console[a9(0x8f)](a0q[a9(0x11b)](a9(0xd6))),console[a9(0x8f)](a0q['bold'][a9(0x6e)]('\x20\x20'+a0D(a9(0x147))+'\x20')+a0q['red'][a9(0x137)](a9(0xc5))+a0q['white'](a9(0xff)+a0D(a9(0xf2)))),console[a9(0x8f)](a0q['cyan'](a9(0xd6))),console['log']();const E=a0D('ai4ctfWrapNextBody'),F=a0D(a9(0x90)),G=E[a9(0x167)]('\x0a');if(G[0xb62+0x31d+-0xe7f*0x1]){const [J,K]=G[0x1d90+0x7d0*-0x1+-0x15c0][a9(0x167)]('{noProg}');console[a9(0x8f)](a0q[a9(0x6e)](a9(0x94)+(J||''))+a0q['bold'][a9(0x6e)](F)+a0q[a9(0x6e)](K||''));}for(const L of G[a9(0x13f)](0x6d*-0x28+-0x4*0x2a5+-0x1b9d*-0x1))L[a9(0x121)]()&&console['log'](a0q[a9(0x6e)](a9(0x94)+L));return console[a9(0x8f)](),console[a9(0x8f)](a0q[a9(0x10f)](a9(0x94)+a0D(a9(0x12c))+'\x20')+a0q[a9(0x137)][a9(0xa3)]('ctf4ai')),console['log'](),'exit';}return console['log'](),console[a9(0x8f)](a0q[a9(0xa3)]('\x20\x20'+a0D(a9(0x118)))),console['log'](a0q[a9(0x10f)]('\x20\x20'+a0D(a9(0xb4)))),console[a9(0x8f)](),a9(0x87);}if(q[a9(0x88)]('!')){const M=q['slice'](0x16e5+-0xc5*-0x1a+-0x242*0x13)[a9(0x121)]();if(!M)return a9(0x87);try{const N={};N[a9(0xdc)]=a9(0x13d),N['timeout']=0x2710;const {execSync:O}=await import('node:child_process'),P=O(M,N)['trim']();console[a9(0x8f)](),console[a9(0x8f)](a0q[a9(0x10f)]('\x20\x20$\x20')+a0q[a9(0x6e)](M)),console[a9(0x8f)](a0q[a9(0x6e)]('\x20\x20'+P[a9(0x167)]('\x0a')[a9(0xc7)]('\x0a\x20\x20'))),console[a9(0x8f)](),console['log'](a0q['gray']('\x20\x20'+a0D(a9(0xa5)))),console['log']();}catch(Q){console[a9(0x8f)](),console['log'](a0q[a9(0xa3)](a9(0x86)+(Q[a9(0x142)]?.['split']('\x0a')[0xded+0x3c*-0x13+-0x979]||a9(0x76)))),console[a9(0x8f)]();}return a9(0x87);}const z={};z[a9(0x7e)]=a9(0x97);if('exit'===q||'back'===q||a9(0xe4)===q||'menu'===q)return r=!(0x1fde+-0x9d*0x18+-0x3*0x5b7),y=null,fetch(a9(0x133),{'method':a9(0xb1),'headers':z,'body':JSON['stringify']({'type':a9(0x9e),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a9(0xfd)](-0x21c7+0x9*-0x1e7+0x466e)})[a9(0x12b)](()=>{}),console[a9(0x8f)](),console[a9(0x8f)](a0q[a9(0x10f)](a9(0x15a))),console[a9(0x8f)](a0q[a9(0x6e)]('\x20\x20'+a0D(a9(0x7c)))),console['log'](a0q[a9(0x10f)]('\x20\x20'+a0D(a9(0xd5))+':\x20'+h+a9(0xd4))),console[a9(0x8f)](a0q[a9(0x10f)]('\x20\x20'+a0D(a9(0x169))+a9(0x13b))),console[a9(0x8f)](a0q[a9(0x10f)]('\x20\x20─────────────────────────────────────────')),console['log'](),console['log'](a0q[a9(0x11b)](a9(0xd6))),console['log'](a0q[a9(0x6e)]('\x20\x20'+a0D(a9(0x79))+'\x20')+a0q['bold']['red'](a9(0xc5))+a0q[a9(0x6e)]('\x20—\x20'+a0D(a9(0x82)))),console[a9(0x8f)](a0q['gray']('\x20\x20'+a0D(a9(0x157)))),console[a9(0x8f)](a0q['cyan'](a9(0xd6))),console[a9(0x8f)](),console[a9(0x8f)](a0q[a9(0x137)]['red'](a9(0xe3))+a0q[a9(0x10f)](a9(0x71)+a0D('ai4ctfExitCmdNext'))),console[a9(0x8f)](a0q['white'](a9(0x148))+a0q[a9(0x10f)](a9(0xee)+a0D(a9(0x124)))),console[a9(0x8f)](),'exit';const A={};A[a9(0x7e)]=a9(0x97);if(!u&&h>=0x269e+-0x2127+0xe11)return u=!(0xc6*-0x9+0xd*-0x77+0xd01),fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a9(0xb1),'headers':A,'body':JSON['stringify']({'type':a9(0x9e),'solved':!(0x571*-0x7+-0x2313+0x492b),'tokensUsed':h,'timestamp':new Date()[a9(0x106)]()}),'signal':AbortSignal[a9(0xfd)](-0x169d+-0x4fd*-0x1+0x4a5*0x8)})[a9(0x12b)](()=>{}),console[a9(0x8f)](),console['log'](a0q[a9(0xc2)]('\x20\x20'+a0D('tokenLimit'))),m(),(function(){const ab=a9;console['log'](),console[ab(0x8f)](a0q[ab(0xc2)]('\x20\x20─────────────────────────────────────────────')),console[ab(0x8f)](a0q[ab(0x137)][ab(0xc2)]('\x20\x20'+a0D('ai4ctfRevealTitle'))),console[ab(0x8f)](a0q[ab(0xc2)](ab(0xd6))),console['log']();for(const R of a0D(ab(0x8c))[ab(0x167)]('\x0a'))''===R?console[ab(0x8f)]():console[ab(0x8f)](a0q[ab(0x6e)](ab(0x94)+R));console[ab(0x8f)](),console[ab(0x8f)](a0q['cyan'](ab(0xb7))),console[ab(0x8f)](),console[ab(0x8f)](a0q[ab(0x6e)](ab(0x94)+a0D(ab(0xe0)))),console['log'](),console[ab(0x8f)](a0q['green'](ab(0x84))),console[ab(0x8f)](),console[ab(0x8f)](a0q['white'](ab(0x94)+a0D(ab(0x153)))),console[ab(0x8f)](),console[ab(0x8f)](a0q[ab(0x11b)](ab(0x138))),console[ab(0x8f)](),console['log'](a0q[ab(0x10f)](ab(0x94)+a0D(ab(0x12f)))),console[ab(0x8f)]();}()),a9(0x87);if(u)return console[a9(0x8f)](),console['log'](a0q['yellow']('\x20\x20'+a0D('ai4ctfLockedTitle'))),console[a9(0x8f)](a0q[a9(0x10f)]('\x20\x20'+a0D('ai4ctfLockedUse')+'\x20')+a0q[a9(0x11b)]('!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[a9(0x8f)](a0q[a9(0x10f)]('\x20\x20'+a0D(a9(0xa4))+'\x20')+a0q[a9(0x11b)]('submit\x20icoa{w3lc0me_2_ai4ctf}')),console['log'](),'continue';console[a9(0x8f)](a0q[a9(0x10f)]('\x20\x20'+a0D(a9(0x156))));try{const R=await y[a9(0x159)](q);process['stdout'][a9(0x10d)]('\x1b[1A\x1b[2K'),h+=R[a9(0x69)],a0x(R[a9(0x69)]),console[a9(0x8f)](),a0B(R[a9(0x10c)]),m(),console[a9(0x8f)]();}catch(S){process['stdout'][a9(0x10d)](a9(0x161)),a0C('AI\x20error:\x20'+S['message']),console[a9(0x8f)]();}return a9(0x87);}const w=new Set();async function p(q){const ac=a0j;if(!f||!y)return ac(0xa0);const v=q['trim'](),x=v[ac(0x99)](),z=(Date[ac(0x135)]()-f[ac(0xe7)])/(0xf8d+-0x161f9*-0x1+-0x8726);if(!f[ac(0x14b)]&&!f[ac(0x78)]&&f[ac(0xa7)][ac(0xda)]>=0x1*-0xd33+-0x43*-0x4d+0x1*-0x6f2&&z>=0x1dc8+-0x1cb7+-0x1*0x10c&&(f[ac(0x14b)]=!(-0x31*-0x35+-0x122e+-0x11*-0x79),console[ac(0x8f)](),console[ac(0x8f)](a0q[ac(0xc2)]('\x20\x20💡\x20Once\x20you\x20have\x20ICOA{...},\x20submit\x20it\x20with:\x20')+a0q['bold'][ac(0xc2)](ac(0xb2))),console['log'](a0q[ac(0x10f)](ac(0x8b))),console['log']()),/^ICOA\{[^}]+\}$/i[ac(0x109)](v))return console['log'](),console[ac(0x8f)](a0q['gray']('\x20\x20Detected\x20flag\x20—\x20treating\x20as:\x20')+a0q[ac(0x6e)](ac(0xcd)+v)),p(ac(0xcd)+v);const A=x[ac(0xba)](/^hint\s+([abc])$/);if(A){const C=A[-0x12*0x223+-0x1305+-0x397c*-0x1]['toUpperCase']();f[ac(0xa7)][ac(0xd7)](C);const D=a0E();D&&(D['interactions']||(D[ac(0x68)]=[]),D[ac(0x68)][ac(0xde)]({'ts':new Date()[ac(0x106)](),'q':f[ac(0x103)],'type':ac(0x117),'input':C}),a0F(D));const E=f[ac(0x6b)][ac(0x6d)],F=E?.[C],G='A'===C?a0q['green']:'B'===C?a0q[ac(0xc2)]:a0q['red'];if(console[ac(0x8f)](),console[ac(0x8f)](G['bold']('\x20\x20▸\x20Hint\x20'+C)),console[ac(0x8f)](),F){for(const H of String(F)[ac(0x167)]('\x0a'))console['log'](a0q[ac(0x6e)](ac(0x94)+H));}else console[ac(0x8f)](a0q[ac(0x10f)]('\x20\x20\x20\x20No\x20pre-written\x20hint\x20at\x20this\x20tier\x20for\x20this\x20question.'));return console['log'](),'A'===C?console[ac(0x8f)](a0q[ac(0x10f)](ac(0x146))+a0q['cyan'](ac(0x114))):'B'===C?console['log'](a0q[ac(0x10f)](ac(0x9d))+a0q[ac(0x11b)](ac(0x91))):'C'===C&&console[ac(0x8f)](a0q[ac(0x10f)]('\x20\x20\x20\x20'+a0D(ac(0xb9))+'\x20')+a0q[ac(0x137)][ac(0x122)]('submit\x20ICOA{your_flag}')),console[ac(0x8f)](),'continue';}const B=v['match'](/^submit\s+(.+)/i);if(B){let I=B[0xc9*0x31+-0x20be+0x2*-0x2dd][ac(0x121)]();if(/^submit\s+/i[ac(0x109)](I)&&(I=I[ac(0x80)](/^submit\s+/i,'')[ac(0x121)]()),I=I[ac(0x80)](/^["'`]+|["'`]+$/g,'')[ac(0x121)](),/^[A-Da-d]$/[ac(0x109)](I))return console['log'](),console[ac(0x8f)](a0q['yellow']('\x20\x20\x22'+I+'\x22\x20looks\x20like\x20an\x20MCQ\x20letter,\x20not\x20a\x20flag.')),console[ac(0x8f)](a0q[ac(0x10f)](ac(0x15d))+a0q[ac(0x122)](ac(0x64))+a0q['gray']('.\x20Try\x20again\x20inside\x20this\x20chat.')),console['log'](),'continue';const {getExamState:J,saveExamState:K}=await import(ac(0xcf)),L=J();if(!L)return ac(0xa0);if(!L['questions'][ac(0x9c)](O=>O['number']===f[ac(0x103)]))return console['log'](a0q[ac(0xa3)]('\x20\x20Q'+f[ac(0x103)]+'\x20not\x20found\x20in\x20state.')),'continue';const M=L['answers'][f['qNum']];L[ac(0x68)]||(L['interactions']=[]),L[ac(0x68)][ac(0xde)]({'ts':new Date()[ac(0x106)](),'q':f[ac(0x103)],'type':M?ac(0x7a):ac(0x77),'input':I,'result':ac(0x15c)}),L[ac(0x110)][f[ac(0x103)]]=I;const N=f[ac(0x103)]+(-0x1a*-0x115+0x240a+0x1*-0x402b);return L[ac(0xd1)]=N<=-0xb3f*0x2+0x62*0x65+-0x1*0x1006?N:f[ac(0x103)],K(L),console[ac(0x8f)](),M?(console[ac(0x8f)](a0q[ac(0x122)](ac(0xa1)+f[ac(0x103)]+ac(0xe2))+a0q[ac(0xc2)](I)),console[ac(0x8f)](a0q[ac(0x10f)](ac(0x100)+M))):console[ac(0x8f)](a0q[ac(0x122)][ac(0x137)](ac(0x149)+f['qNum']+ac(0x158)+I)),console[ac(0x8f)](a0q[ac(0x10f)]('\x20\x20\x20\x20(Grading\x20happens\x20at\x20exam\x20submit\x20—\x20you\x20cannot\x20preview\x20correctness\x20during\x20the\x20exam.)')),console['log'](),console[ac(0x8f)](a0q[ac(0x10f)]('\x20\x20')+a0q[ac(0x6e)](ac(0xea))+a0q['gray'](ac(0x144))+a0q[ac(0x6e)]('exit')+a0q[ac(0x10f)](ac(0xbc))),N<=0x2706+0x2060+0xf0*-0x4c?console[ac(0x8f)](a0q[ac(0x10f)](ac(0x11a))+a0q[ac(0x11b)]('ai4ctf')+a0q[ac(0x10f)]('\x20will\x20open\x20Q'+N)):console[ac(0x8f)](a0q[ac(0x10f)](ac(0xf5))+a0q['red']('ctf4ai')+a0q[ac(0x10f)](ac(0x132))),console['log'](),'continue';}if(q[ac(0x88)]('!')){const O=q[ac(0x13f)](0x8ac+-0x2*0x4b1+-0x1*-0xb7)[ac(0x121)]();if(!O)return'continue';try{const P={};P['encoding']='utf-8',P[ac(0xfd)]=0x2710;const {execSync:Q}=await import(ac(0x13a)),R=Q(O,P)[ac(0x121)]();console['log'](),console[ac(0x8f)](a0q[ac(0x10f)]('\x20\x20$\x20')+a0q[ac(0x6e)](O)),console['log'](a0q[ac(0x6e)]('\x20\x20'+R[ac(0x167)]('\x0a')[ac(0xc7)](ac(0x73)))),console[ac(0x8f)]();}catch(S){console[ac(0x8f)](),console['log'](a0q[ac(0xa3)](ac(0x86)+(S[ac(0x142)]?.[ac(0x167)]('\x0a')[-0x565*-0x2+-0xfe7+-0xbb*-0x7]||ac(0x76)))),console[ac(0x8f)]();}return ac(0x87);}if(ac(0xa0)===x||ac(0x128)===x||ac(0xe4)===x){const T=f[ac(0x103)],{getExamState:U}=await import(ac(0xcf)),V=U(),W=V&&null!=V[ac(0x110)][T],X=V?.[ac(0xd1)]||T;return r=!(0x1363+0x76d*-0x3+0x2e5),y=null,f=null,w[ac(0x150)](),console[ac(0x8f)](),console['log'](a0q[ac(0x10f)](ac(0xc9)+T+'.')),W&&X>T&&X<=0x19a3*-0x1+-0x1*0x1127+0xc*0x394?console['log'](a0q['white'](ac(0xf6))+a0q['bold'][ac(0x122)]('Q'+X)+a0q[ac(0x10f)](ac(0xce))+a0q[ac(0x11b)]('ai4ctf')+a0q[ac(0x10f)](ac(0x168))):W&&T>=0x50b*-0x7+-0x18f4+0x1*0x3c67?console['log'](a0q[ac(0x6e)]('\x20\x20AI4CTF\x20section\x20complete\x20—\x20')+a0q[ac(0x137)]['red']('ctf4ai')+a0q[ac(0x10f)]('\x20for\x20Q39')):console[ac(0x8f)](a0q[ac(0x10f)](ac(0x123))+a0q[ac(0x6e)]('exam\x20q\x20'+T)+a0q[ac(0x10f)](ac(0x160))+a0q['white']('ai4ctf')),console['log'](),ac(0xa0);}if(u)return console[ac(0x8f)](),console[ac(0x8f)](a0q[ac(0xc2)]('\x20\x20AI\x20budget\x20exhausted\x20for\x20AI4CTF\x20section.')),console[ac(0x8f)](a0q['gray'](ac(0x74))+a0q[ac(0x6e)](ac(0x116))+a0q[ac(0x10f)](ac(0x11d))+a0q['white'](ac(0x14c))+a0q[ac(0x10f)](ac(0x11d))+a0q[ac(0x6e)](ac(0xa0))),console[ac(0x8f)](),'continue';if(h>=d)return u=!(-0x12*0x6+-0x15cc+0x9e*0x24),console[ac(0x8f)](),console[ac(0x8f)](a0q[ac(0xa3)][ac(0x137)](ac(0x14d))),console[ac(0x8f)](a0q[ac(0x10f)](ac(0x67))+a0q[ac(0x6e)](ac(0x116))+a0q[ac(0x10f)]('\x20·\x20')+a0q[ac(0x6e)](ac(0x14c))+a0q[ac(0x10f)]('\x20·\x20')+a0q['white'](ac(0xa0))),console[ac(0x8f)](),ac(0x87);console[ac(0x8f)](a0q[ac(0x10f)]('\x20\x20Thinking...'));try{const Y=await y[ac(0x159)](q);process['stdout'][ac(0x10d)](ac(0x161)),h+=Y[ac(0x69)];const {getRealExamState:Z,saveExamState:a0}=await import('../lib/exam-state.js'),a1=Z(),a2={};a2[ac(0x9e)]=0x0,a2[ac(0xc5)]=0x0,(a1&&(a1['aiUsage']||(a1[ac(0x6c)]=a2),a1[ac(0x6c)]['ai4ctf']=h,a0(a1)),console['log'](),a0B(Y[ac(0x10c)]),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(-0xe9*0x23+0x3*0x362+0x1*0x1619);a6>=-0x14dd+0x2222+-0x1*0xce6&&!a5['has']('95')?(console[ad(0x8f)](a0q[ad(0xa3)][ad(0x137)](ad(0x113)+Math['round'](a6)+'%\x20of\x20section\x20AI\x20budget\x20used\x20—\x20only\x20~'+(a4-a3)+ad(0xc4))),a5[ad(0xd7)]('95')):a6>=0x1afe*0x1+-0x2211+0x763&&!a5[ad(0x8e)]('80')?(console[ad(0x8f)](a0q['yellow'](ad(0xd8))),a5[ad(0xd7)]('80')):a6>=-0x243c+0x8ac+-0xb*-0x286&&!a5['has']('50')&&(console[ad(0x8f)](a0q[ad(0x10f)](ad(0xfb))),a5[ad(0xd7)]('50'));}(h,d,w),console[ac(0x8f)]());}catch(a3){process['stdout'][ac(0x10d)](ac(0x161)),a0C(ac(0x9a)+a3[ac(0x142)]),console['log']();}return'continue';}function a0b(){const aj=['zgvZy3jPChrPB24','DgLTzw91Da','ieLdt0f7lI4UFq','iokaLca','icaGifbYzxzPB3vZoIa','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','icaGicaGia','Cu51Bq','icdILii','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','Dg9ju09tDhjPBMC','Dg9vChbLCKnHC2u','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','DgvZDa','CM91BMq','vg9Rzw5Z','Dgv4Da','D3jPDgu','ywK0y3rMrxHPDa','z3jHEq','yw5ZD2vYCW','quK0q1rgihnLy3rPB24','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','icdIMQaG','AgLUDcbI','ywK0y3rMvgL0Bgu','C3vIBwL0idXMBgfNpG','AgLUDf91C2vK','ywK0y3rMv3jVBMDgBgfN','icdILzdILzdILzaGquK0q1rgiokaLcbr','icbbzNrLCIbLEgL0oIa','y3LHBG','CMvWzwf0','imk3ia','ywK0y3rMv3jHCff1B3rHq0HPBNq','ywK0y3rMv3jHCff1B3rHqW','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','DhjPBq','z3jLzw4','icbszxn1Bwu6ia','ywK0y3rMrxHPDenTzejHy2S','BgvUz3rO','ywK0y3rMsgLUDfrLy2HUAxf1zq','Cg9PBNrZ','yMfJAW','ndaZmJC5mLzSuNDrDW','ywK0y3rMq29YCMvJDezSywC','y2f0y2G','ywK0y3rMv3jHCfr5CgvdDgy0ywK','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','zxHHBsbXidmX','ywK0y3rMuMv2zwfStg9JA05VDgu','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','ig9UifeZoq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icbdDxjYzw50igfUC3DLCJOG','BM93','ywK0y3rMv3jHCff1B3rHquHPBNq','yM9Sza','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','BM9KztPJAgLSzf9WCM9JzxnZ','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','ywK0y3rMsgLUDe51zgDL','DxrMltG','ywK0y3rMt3jdAgf0','C2XPy2u','ywn0Aw9U','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','BwvZC2fNzq','icaGigv4AxqGicaGicaGicaGica','igfNywLUihrVignOyw5NzsWGB3iG','nJu2otKZmgjWwLHstG','icaGifn0DwnRpYbuCNK6ia','ywK0y3rMv3jHCe5LEhruAxrSzq','icaGicbIywnR','icdINjmGqw5ZD2vYigzVCIbr','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','BNvKz2vtAg93BG','ixnOzwXS','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','ywK0y3rMv3jHCff1B3rHqq','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','y2XLyxi','ywK0y3rMsgLUDe5LEhrb','icbzB3uGyxjLig9Uife','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','ywK0y3rMv3jHCeXPBMuYsgvHza','ywK0y3rMv2vSy29Tzun0yq','ywK0y3rMvgHPBMTPBMC','ywK0y3rMrxHPDe5LEhrcB2r5','ihjLy29YzgvKoIa','C2vUze1LC3nHz2u','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMsgLUDei','DMLHigfPngn0zIbJAgf0','icbgBgfNigzVCM1HDdOG','ywK0y3rMv3jHCeXPBMuXsgvHza','ywK0y3rMv3jHCff1B3rHqKHPBNq','icdcTYaGuMuTzw50zxi6ia','g1SXqrTBmKS','zxHHBsbXia','icaGigv4Axq','mtvVqM5HB20','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','ywK0y3rMv3jHCfrPDgXL','C3bSAxq','ihrVignVBNrPBNvL','ywK0y3rMtw9KzwW','iokvKokvKokvKa','sunpqxT5B3vYx2zSywD9','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','icaGigHPBNqGysaVigiGlYbJica','icbzB3uGy2fUihn0AwXSoIa','Aw50zxjHy3rPB25Z','Dg9Rzw5ZvxnLza','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','CxvLC3rPB24','ywLvC2fNzq','AgLUDhm','D2HPDgu','C3rYAw5NAwz5','z2vTAw5Ptw9KzwW','icaGicaGicaGia','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','cIaG','icbtDgLSBcbHDMfPBgfIBgu6ia','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','q29TBwfUzcbMywLSzwq','yw5ZD2vYx3n1yM1PDhrLza','C3vIBwL0qxr0zw1WDgvK','ywK0y3rMrxHPDe5LEhruAxrSzq','yw5ZD2vYx2nOyw5Nzwq','sgLKzgvUie1LC3nHz2u','ywK0y3rMuMvWB3j0','z2vTBweTnc0ZmwiTAxq','q29UDgvUDc1uExbL','sgLUDca','CMvWBgfJzq','CgfKrw5K','ywK0y3rMrxHPDe5LEhrtDwi','ywK0y3rMsgLUDee','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','mJq3mJK4tu1jq3Dw','icbfCNjVCJOG','y29UDgLUDwu','C3rHCNrZv2L0Aa','icaGice8C2HLBgWGy21KpIaGica','ywK0y3rMoIa','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','ywK0y3rMuMv2zwfSqM9KEq','ywK0y3rMv3jHCeXPBMuYqM9KEq','AgfZ','Bg9N','ywK0y3rMv3jHCe5VuhjVzW','AgLUDcbJ','DgHPBMTPBMC','yxr0ywnOzwreyxrH','icaGia','CxvLC3rPB25Z','ywK0y3rMrw5Ku2vZC2LVBG','yxbWBgLJyxrPB24VANnVBG','BMfTzq','Dg9mB3DLCKnHC2u','quKGzxjYB3i6ia','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','zMLUza','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','ywK0y3rM','ywK0y3rMtgv2zwXZ','zxHPDa','icdINjmGuq','zxHHBsbHBNn3zxiG','CMvK','ywK0y3rMtg9JA2vKvgHLBG','ywK0y3rMrM91BMrgBgfN','icaGigHPBNqGyq','AgLUDhnvC2vK','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','icaG4OAsia','icaGicaGicaGicaGicaGicaGicbLlMCUia','ihb0CW','icaGicaGigHPBNqGysaGia','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','oIbhB29NBguGr2vTBweGncaO','nZq2muzcwLnlzG','ywK0y3rMq29TBwfUzhm','ue9tva','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','icaGicaGigHPBNqGyIaGia','ywK0y3rMrMXHz0HPBNq','icaGideUia','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','icdILiiG','ywK0y3rMsgLUDe5LEhrd','Bwf0y2G','ywK0y3rMt3jdAgf0rxHHBxbSzq','ihrVig1VDMuGB24','BwLU','ywK0y3rMq21KsgLUDeXPBMu','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','icdILRGG','ywK0y3rMv3jHCff1B3rHC1rPDgXL','EwvSBg93','ywK0y3rMsgLUDefcB2r5','ihrVA2vUCYbSzwz0lG','y3rMngfP','icaGig1LBNu','AM9PBG','mtCYnZaXnujWs2zLsW','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','ihbVAw50CYK6cG','icaGigHPBNqGyW','ywK0y3rMsw50zxjJzxb0zwq','C3vIBwL0ia','iokaLcb0ExbLia','lI4VBgLIl2v4yw0TC3rHDguUANm','y2f0zwDVCNK','x2XHC3rr','mJeXntm2v3DRvvDm','icaGicfWExrOB24Zic4UlG','lZuWmda','ywK0y3rMvg9Rzw5Z','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywrK','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','C2L6zq','ywK0y3rMv3jHCeXPBMuXqM9KEq','zw5JB2rPBMC','ywK0y3rMq2HHBgXLBMDL','ChvZAa','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','ywK0y3rMuMv2zwfSu2vLrMXHzW','icaGigHPBNqGyG','igfUC3DLCIb1CgrHDgvKoIa','icaGicbJDgy0ywK','CxvPDa','ywK0y3rMsgLUDem','AgLUDcbH','zw50zxjLzef0','lI4U','y29TBwfUza','C3vIBwL0ieLdt0f7lI4UFq','BNvTyMvY','otGZmtiYwKn3vKPP','lIbkDw1WihrOzxjLigzPCNn0oG','icaGicaGicaGicaG','icaGicaGicaGicaGica','ywK0y3rMsgLUDejvC2vZ','icaGidiUia','ywK0y3rMv3jHCe5LEhrtDwi','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','rNvSBcbXDwvZDgLVBJOGia','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','icbozxH0oIa','icaGiokgKIa','ywK0y3rMsgLUDenvC2vZ','oteXmKLrCfHYuG','nLLiEgDPqW','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4'];a0b=function(){return aj;};return a0b();}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0xe9)]('ai4ctf')['description'](ae(0xdf))[ae(0x140)](async()=>{const af=ae;a0A(af(0x9e));const {getRealExamState:j}=await import('../lib/exam-state.js'),k=j(),q=k?.['questions']['some'](A=>A[af(0xeb)]>=0x1119+-0x2533+0x1439&&A[af(0xeb)]<=0x1271+0x2677*0x1+-0x38c2);if(k&&q){const A=k['_lastQ']||0x2*0x11a7+-0x1*0xdb7+-0x1596;if(A<0x205f+-0x509+-0x1b37||A>0xf6c+0x11f5*-0x2+-0x1*-0x14a4)return console['log'](),console['log'](a0q[af(0xc2)](af(0xf3))),console[af(0x8f)](a0q[af(0x10f)](af(0x152)+A+af(0xed))),console[af(0x8f)](a0q[af(0x10f)](af(0xf7))+a0q[af(0x137)][af(0x11b)](af(0x12e))),void console[af(0x8f)]();const B=k['questions'][af(0x9c)](C=>C[af(0xeb)]===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0xcf));await F();const H=E();if(!H)return!(0x1916+-0x2263*-0x1+-0x3b78);const I=H[ag(0x95)][ag(0x9c)](L=>L[ag(0xeb)]===C);I&&(D=I),G(C,D?.['attachedData']);const J=H['aiUsage']?.[ag(0x9e)]??-0x186a+0xbf1*0x1+0x1f*0x67;if(J>=d)return console[ag(0x8f)](),console[ag(0x8f)](a0q[ag(0xc2)](ag(0x139))),console[ag(0x8f)](a0q[ag(0x10f)](ag(0x165))+a0q[ag(0x6e)](ag(0xa2)+C+ag(0xfe))),console[ag(0x8f)](),!(0xafc+0x161b+-0x2116);try{y=await a0v(void(-0x6*-0x1b4+0x178*0x14+-0x2798),function(L,M){const ah=ag,N=L[ah(0xfc)]||L[ah(0x10c)]||'',O=L[ah(0x93)]?ah(0xad)+M+ah(0x65)+L[ah(0x93)]:'';return ah(0xa8)+M+',\x20'+L[ah(0xd0)]+',\x20'+(L[ah(0x127)]||-0x1*-0x21fb+-0x1*-0xe2c+-0x3021)+ah(0xca)+N+O+ah(0xbf)+M+ah(0xd9);}(D,C));}catch(L){return a0C(L['message']),!(-0x165c+-0x1*-0x215+0x1448);}r=!(-0x4*-0x83+0x157d+-0x1789),h=J,u=!(0x19*-0x28+-0x20c*-0x8+-0xc77*0x1),f={'qNum':C,'question':D,'usageField':'ai4ctf','enteredAt':Date[ag(0x135)](),'hintsUsed':new Set(),'submitAttempted':!(0x1*-0xd03+0x1a0f+-0x9f*0x15),'nudgeShown':!(0x26ef+-0x13bf+0x132f*-0x1)};const K=H['answers']?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0x70)]||'gemma-4-31b-it',Q=h>-0xea4+0x10f3+0xc5*-0x3;console['log'](),console[ai(0x8f)](a0q[ai(0x122)]['bold'](ai(0x119)+N+':\x20'+M[ai(0xd0)]+ai(0x16a))),Q&&console[ai(0x8f)](a0q[ai(0x10f)]('\x20\x20(resuming\x20—\x20prior\x20chat\x20is\x20not\x20remembered,\x20but\x20tokens\x20already\x20used\x20stay\x20deducted)')),O&&console[ai(0x8f)](a0q[ai(0x10f)](ai(0x134))+a0q[ai(0xc2)](O)+a0q[ai(0x10f)]('\x20\x20(submit\x20again\x20to\x20change)')),console[ai(0x8f)](),console['log'](a0q[ai(0x11b)](ai(0x14f))),console[ai(0x8f)](a0q[ai(0x11b)](ai(0xb8))+a0q[ai(0x137)][ai(0x6e)]('Q'+N+'\x20\x20['+M[ai(0xd0)]+']\x20\x20·\x20'+(M[ai(0x127)]||-0xfe1*-0x1+-0x5*-0x176+0x1729*-0x1)+ai(0xab))),console['log'](a0q[ai(0x11b)](ai(0x104)));for(const R of String(M['text'])[ai(0x167)]('\x0a')){const S=R[ai(0x125)]>-0x22bc+0x14e*0x1b+-0xb*0x6?R[ai(0x13f)](0x191d+0x22dd+0x355*-0x12,-0x2*-0xb27+-0xb1*-0x1d+-0x2a22)+ai(0xe8):R;console[ai(0x8f)](a0q['cyan'](ai(0xb8))+a0q['white'](S));}console[ai(0x8f)](a0q[ai(0x11b)](ai(0x104))),console[ai(0x8f)](a0q[ai(0x11b)](ai(0xb8))+a0q['gray'](ai(0xf4))+a0q[ai(0x6e)](ai(0x162)+N)),console[ai(0x8f)](a0q[ai(0x11b)](ai(0xb8))+a0q[ai(0x10f)](ai(0x112))),console[ai(0x8f)](a0q[ai(0x11b)](ai(0x120))),console[ai(0x8f)](),console[ai(0x8f)](a0q['bold'][ai(0x6e)](ai(0x108))),console['log'](),console[ai(0x8f)](a0q['yellow'](ai(0xa6))+a0q[ai(0x10f)](ai(0x130))),console['log'](a0q[ai(0xc2)](ai(0xe1))+a0q[ai(0x10f)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Technique\x20hint\x20(pre-written)')),console[ai(0x8f)](a0q[ai(0xc2)](ai(0xcb))+a0q[ai(0x10f)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Key\x20breakthrough\x20(pre-written)')),console[ai(0x8f)](a0q[ai(0x137)][ai(0x122)]('\x20\x20\x20\x20submit\x20ICOA{...}')+a0q[ai(0x10f)](ai(0x12d))),console[ai(0x8f)](a0q['white'](ai(0xd3))+a0q[ai(0x10f)](ai(0x9b))),console[ai(0x8f)](a0q[ai(0x10f)](ai(0x75))),console[ai(0x8f)](a0q[ai(0x10f)](ai(0xaa))+a0q[ai(0x6e)]('\x22how\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[ai(0x8f)](),console[ai(0x8f)](a0q['gray'](ai(0x163))+a0q[ai(0x10f)](ai(0x131))),console[ai(0x8f)](a0q[ai(0x10f)](ai(0xc6))+a0q[ai(0x10f)](ai(0x6a))),console[ai(0x8f)](),m(),console[ai(0x8f)](a0q[ai(0x10f)](ai(0x101)+P+')')),console[ai(0x8f)]();}(D,C,K),!(0x10b2+0xda6+-0x1e58);}(A,B):void a0C('Q'+A+af(0xb6)+A);}const v={};v[af(0x98)]=af(0x7b),v['category']='Cryptography';const x=a0z()[af(0x70)]||af(0x7d),z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0x142)]);}r=!(-0x221*0x11+0x1*-0xf5b+-0x2*-0x19c6),h=0x1b5+-0x1408+-0x1253*-0x1,u=!(-0x129d+-0x16ec+0x298a*0x1),console[af(0x8f)](),console['log'](a0q[af(0x122)]['bold']('\x20\x20═══\x20'+a0D(af(0x115))+af(0x16a))),console[af(0x8f)](),console[af(0x8f)](a0q[af(0x6e)]('\x20\x20'+a0D('ai4ctfSample'))),console['log'](),console[af(0x8f)](a0q['cyan'](af(0x14f))),console[af(0x8f)](a0q[af(0x11b)]('\x20\x20│\x20')+a0q[af(0x137)][af(0x6e)](a0D(af(0xdd)))),console[af(0x8f)](a0q[af(0x11b)](af(0x104))),console['log'](a0q[af(0x11b)](af(0xb8))+a0q[af(0x6e)](a0D(af(0xcc)))),console['log'](a0q[af(0x11b)]('\x20\x20│\x20')+a0q['green'](af(0x72))),console[af(0x8f)](a0q['cyan'](af(0x104))),console['log'](a0q[af(0x11b)]('\x20\x20│\x20')+a0q[af(0x6e)](a0D('ai4ctfDecode'))),console['log'](a0q[af(0x11b)](af(0xb8))+a0q[af(0x10f)](af(0x105))),console['log'](a0q[af(0x11b)]('\x20\x20└─────────────────────────────────────────────')),console['log'](),console[af(0x8f)](a0q['white']('\x20\x20'+a0D(af(0x9f)))),console[af(0x8f)](),console[af(0x8f)](a0q['yellow'](af(0xa6))+a0q[af(0x10f)]('\x20\x20\x20\x20'+a0D(af(0x83)))),console[af(0x8f)](a0q[af(0x10f)](af(0xef)+a0D('ai4ctfHintAUses'))),console['log'](a0q[af(0xc2)](af(0xe1))+a0q[af(0x10f)](af(0x94)+a0D(af(0x15b)))),console[af(0x8f)](a0q['gray'](af(0xef)+a0D(af(0xf0)))),console[af(0x8f)](a0q[af(0xc2)](af(0xcb))+a0q['gray'](af(0x94)+a0D(af(0xe5)))),console[af(0x8f)](a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0xf8)))),console[af(0x8f)](),console[af(0x8f)](a0q[af(0x10f)](af(0x15a))),console[af(0x8f)](a0q[af(0x137)][af(0x6e)]('\x20\x20'+a0D(af(0x155)))),console[af(0x8f)](af(0x94)+a0q[af(0x11b)](af(0xe6))+a0q[af(0x10f)](af(0xa9)+a0D(af(0x13c)))),console[af(0x8f)](af(0x94)+a0q[af(0x11b)](af(0x114))+a0q['gray'](af(0xa9)+a0D(af(0x126)))),console[af(0x8f)]('\x20\x20\x20\x20'+a0q[af(0x11b)](af(0x91))+a0q[af(0x10f)](af(0xa9)+a0D('ai4ctfHintPrinciple'))),console[af(0x8f)](a0q['gray'](af(0x94)+a0D('ai4ctfWelcomeNoReveal'))),console['log'](),console['log'](a0q[af(0x6e)]('\x20\x20'+a0D(af(0x13e)))),console[af(0x8f)](a0q[af(0x10f)]('\x20\x20'+a0D(af(0xbb))+'\x20')+a0q[af(0x6e)]('\x22what\x20encoding\x20is\x20this?\x22')),console[af(0x8f)](),console[af(0x8f)](a0q[af(0xc2)]('\x20\x20'+a0D(af(0xb0)))),console[af(0x8f)](a0q[af(0x6e)](af(0x66))+a0q[af(0x10f)](a0D(af(0xbe)))),console[af(0x8f)](a0q[af(0x6e)]('\x20\x20\x20\x20submit\x20<flag>\x20\x20\x20')+a0q['gray'](a0D('ai4ctfSubmitCmd'))),console[af(0x8f)](a0q[af(0x6e)](af(0x89))+a0q[af(0x10f)](a0D('ai4ctfCmdShellLine'))),console['log'](a0q['gray'](af(0xaa))+a0q[af(0x6e)]('!echo\x20aWNv...\x20|\x20base64\x20-d')),console[af(0x8f)](a0q['gray'](af(0x143)+a0D(af(0x96)))),console[af(0x8f)](),m(),console['log'](a0q[af(0x10f)]('\x20\x20'+a0D(af(0x169))+af(0xae)+x+')')),console['log'](a0q[af(0x10f)]('\x20\x20'+a0D(af(0x10e)))),console[af(0x8f)]();});}
|
package/dist/commands/exam.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(z,B){const b0=a0B,F=z();while(!![]){try{const G=parseInt(b0(0x2d8))/(0x472*0x2+0x245+-0x22*0x54)+parseInt(b0(0x109))/(0x44b+0x51b+0x964*-0x1)+-parseInt(b0(0x3d0))/(-0xb*0x48+0x369*-0x1+0x684)+-parseInt(b0(0x319))/(0x1*-0x11fc+0x18*-0xe3+-0x4*-0x9d2)+parseInt(b0(0x169))/(0xd47+-0x634+-0x70e)*(parseInt(b0(0x2e5))/(-0x32b*0x1+0x1cdb+0x2da*-0x9))+parseInt(b0(0x387))/(-0x1d81+0x57b+-0x83*-0x2f)*(-parseInt(b0(0x3cc))/(0x1e57+0x15d2+-0x3421))+-parseInt(b0(0x13d))/(-0x137c+0x2*0x6e8+0x5b5);if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x2d*0x1177+0x18a5a+-0x1b*-0x1e6b));function a0B(a,b){a=a-(-0x5*0x2eb+-0x8fd+-0x25*-0xa9);const c=a0z();let d=c[a];if(a0B['QOSzHW']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x1a3*0x7+0x15e8+-0xa73,o,p,q=-0x15af+0x8f5+0xcba;p=i['charAt'](q++);~p&&(o=n%(0xa2d+0x1b7*-0x13+-0x46*-0x52)?o*(-0x2*-0x835+-0xad2+-0x72*0xc)+p:p,n++%(0x1bf4*-0x1+0xf61+0xc97))?l+=String['fromCharCode'](0xa95*0x1+-0x1*-0x24ac+-0x2e42&o>>(-(0x97c+-0xf0a*-0x2+-0x278e)*n&-0x29d*-0x5+0x109d+-0x1da8)):0x254c+0x1*0x1581+-0x3acd){p=j['indexOf'](p);}for(let r=0xe00+0xc25*-0x1+-0x1db,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x19b+0x101*-0x23+-0x56*-0x64))['slice'](-(-0x12b*-0x9+-0x33d*0xa+0x15e1));}return decodeURIComponent(m);};a0B['XSKSVz']=e,a0B['lnxidi']={},a0B['QOSzHW']=!![];}const f=c[-0xa9b+0x21c*-0x4+0x145*0xf],g=a+f,h=a0B['lnxidi'][g];return!h?(d=a0B['XSKSVz'](d),a0B['lnxidi'][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';function a0z(){const bP=['icaGicbbssb0B2TLBNm6icaGicaG','icdINjmG','ihjLBwfPBMLUzYK','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','C29YDa','icaGicbjBNnPzguGy2HHDdOGicaG','vgHHAwXHBMq','x2HLBhbvC2vK','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','CxvLC3rPB25Z','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','icbqBgvHC2uGCMuTDhLWztOG','zxHHBsbYzxzPzxC','CxvLC3rPB25dB3vUDa','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','C3vIBwL0ieLdt0f7lI4UFq','D3jVBMC','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','Cg9PBNrZ','icaGigjHy2S','nZDhsuDfvwi','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','CdmW','ixzPihnVBhzLlNb5','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','icaGienVBxbSzxrLzdOG','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','icdIL48G','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','AgfZ','ihf1zxn0Aw9UCY4','ihbHy2THz2vZigLUC3rHBgXLzc4','zxHHBvDHExngB3vUza','uxvLC3rPB25Z','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','Dg90ywXty29Yzq','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','zw5JB2rPBMC','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','zMXVB3i','DxrMltG','C3rKAw8','icbozwvKig1VCMu/ifr5Cgu6ia','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','icaGigzYB20GChDUigLTCg9YDcb4B3i','zgvHzgXPBMvtzxj2zxjnCW','zw1VAMK','uMvZDwX0igXVywrLza','igfUC3DLCMvKkq','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','AhrWqMfJAW','BwfJt1m','zxHHBq','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','icaGigv4yw0GCsaXlI4','Bwf0y2G','BgLUDxG','rNjHBMnL','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','ihrVihnLzsb5B3vYihjLC3vSDhmH','icdIMiuG','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','BwLZC2LUzW','vxbSB2fKAw5NigfUC3DLCNmUlI4','zw5KC1DPDgG','ihDHCYbUB3qGzMXHz2DLzc4','CMvZDw1L','icaGicbfBNrLCIbJAgf0oIaGicaG','icdILRGG','igfUC3DLCNmSihr5Cgu6','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','icbtDwjTAxr0Aw5Nig5VDYbZy29YzxmGzNjVBsbVBMX5ia','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','ic1TihbPCcbPBNn0ywXSici','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','BwLU','igf0DgvTChrZ','zgf0yq','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','ic1TihbPCcaTlxzLCNnPB24','ywK0y3rMpG','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','drTBmKSGia','uxvLC3rPB24G','nJmWmdbfv1L2Efa','icaGicbfEgfToIaG','AwnVyq','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','odyYodnJwe5lEfK','zMfPBgvKugfJA2fNzxm','Dg9Vx29Sza','C3rYAwTLDgHYB3vNAa','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','ic8G','8j+pLU+4JW','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','AhrWtMf2','AxnuvfK','rhvYyxrPB24','lI4VBgLIl21HAw4TCMWUANm','icHJB21WBgv4ihnVBhv0Aw9UCYK','Cg9ZDc1YzxbVCNqTCMv0CNK','uhjLCgfYAw5NlI4U','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','lI4U','Bwf4','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','iIaYpI9KzxyVBNvSBa','A2v5CW','zMLSDgvY','AgLUDcbHic8GyIaVigm','icdIMiyGuq','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','y29TCgXLDgu','x2XHC3rr','ywrK','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','icbVCIaG','ic1TihbPCcbZAg93ici','q3rYBcTd','ugfZCW','CxvPDa','icbqCMfJDgLJAw5Nia','y3rMngfP','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','vgLTzsbszw1HAw5PBMC','rxHHBxmG4Ocuia','DM9SyxrPBgL0Etm','DhLWzq','zgvTBY1LEgfT','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','C3rKB3v0','BwfYAYbBBL0','Dw5TyxjRifTUxq','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','yM9VA21HCMTZ','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','icaGicfWExrOB24ZihnVBhzLlNb5','icaGicbtB2X2zsa','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','yxr0zw1WDhm','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','icbzB3vYigfUC3DLCJOG','icbuBYbNBYbIywnRoIaG','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','icbzB3vYigjLC3q6ia','iokgKIa','tg9HzgLUzYbLEgfTlI4U','yxbWBgLJyxrPB24VANnVBG','ihnRAxbWzwq','sMfWyw4','igLUC3rHBgXLza','Cgn0','zgvTBW','igrLDgvJDgvK','ywK0y3rM','wYbD','zNvUy3rPB24','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','icbuCM91yMXLC2HVB3rPBMC6','AgvSCefSBfvZzwq','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','icdIL4SG','A2v5','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','icaGiokrOYa','iokaLca','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','Cgf1C2u','C3rHDhvZ','mJa1mZK0AxPiC1fO','icbdDxjYzw50BhKGzMXHz2DLzdOG','y2f0y2G','icdIHPiG','zxHHBsbUzxH0','zxHHBvDHExnbAtrJDgy','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','icbuExbLia','ig1PBG','icaGihn1zg8Gyxb0ihvWzgf0zq','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','yxr0ywnOzwreyxrH','igLZihDLBgWGyMvSB3CU','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icaGicdILQmG','CgLSBg93','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','sw52ywXPzcb0B2TLBG','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','C2v0uMf3tw9Kzq','CgfKu3rHCNq','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','oYb0AgLZihbYzxzLBNrZigfJy2LKzw50CYK','AhrWtgfUzW','C3rVCa','y2vPBa','zxHHBsbHBNn3zxiG','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','oJaW','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','C3rKAw4','itXJBwq+ia','ica+ia','q2HPBMe','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','C3rHCNrfEgfT','AwnVyt4','ChL0Ag9UmY4Xma','y291BNrYEq','zwXPBwLUyxrL','zxHHBsbTB3jLlwHLBha','icbdB250Aw51zsb0AgLZigv4yw06','tM8GzxHHBsbPBIbWCM9NCMvZCY4','icaGicbfEgL0ignOyxq6icaGicaG','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','icaGifbHy2THz2vZoIa','lcbUB3qGEw91CIb0zwfTBwf0zq','otm5ndeXBwfdv3fP','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','vxPIzwTPC3rHBG','icbtDgvWlwj5lxn0zxa6','zNjVBq','zxHHBsbYzxnLDa','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','q291BNrYEq','zwDNnW','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','icaGiokaOIbuCNK6ia','icdcTYblzwvWihnOyxjWzw5PBMC6ia','y29UzMLYBq','icbjBNn0ywXSAw5Nia','ywK0y3rMrgvZyW','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','zxHHBsbWCMv2','icdINjmGuhL0Ag9Uia','l2v0yY9VCY1YzwXLyxnL','8j+pM++4JW','zxHHBsbZDwjTAxqGy29UzMLYBsa','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','yNjLDW','C3bSAxq','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','icaGigHLBha','icaOEwvZiokaLcbSAxrLCMfSBhKGDhLWzsb0AguGBNvTyMvYia','ANnVBG','CxvLC3rPB24','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','BM9KztPYzwfKBgLUzq','icdWN5kHifrYEsb0ExbPBMCG','r28GDg8GBMv4DcbXDwvZDgLVBG','zMLUzeLUzgv4','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','u3bVDcbVBI4','ywXS','icbezxrLy3rLzdOG','rMfPBgvKihrVigXVywqGCMvZDwX0','icdcTYaG','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','icaGicbuB2TLBJOG','ntbmwLHYsfu','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','icbzB3uGC3rPBgWGAgf2zsa','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','rgvTBYbJB21WBgv0zwqGka','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','ihLVDsbNB3qGD3jVBMCU','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','Dg90ywW','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','vMLLDg5HBq','y2f0zwDVCNLtDgf0CW','ihvUzMXHz2DLzc4','icbqyxnZihrOCMvZAg9SzcbPCYb0ExbPy2fSBhKGntaLiokaLca','igf0DgvTChq','ChL0Ag9UmW','ugHPBgLWCgLUzxm','icaGigv4yw0GC3vIBwL0','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','qNjHEMLS','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','C19HAtrJDgy','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','tK9uifbbu1nfra','Aw5WDxq','icaGiokrPca','zxHHBsbZzxr1Ca','C3rHCNrLzef0','icaGzMLUAxnOigfUzcbZDwjTAxq','B25Jzq','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','DgLTzw91Da','q29UDgvUDc1uExbL','icbmyw5NDwfNztOG','zgvZy3jPChrPB24','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','icbszxj1BIb3AgvUigzPEgvKoIa','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','CMfUzg9T','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','zxHHBsbZDwjTAxq','CMvK','CMvTB3zLqwXStgLZDgvUzxjZ','icaGifLVDsbJyw4GBM93ihvZztOG','EwvSBg93','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','z3jHEq','icdWN46bicS','Dw5KzxjSAw5L','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','y3rMngfPpG','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','BwvZC2fNzq','AgvSCa','icaGicaGicaGkgn0zJrHAsK','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','BNvTyMvY','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','lI4VBgLIl3bSyxrMB3jTlMPZ','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','imk3ia','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','DdeW','uhjVz3jLC3m','AgvSCf91C2vK','zxHHBu5HBwu','ihbVAw50CW','icbuBYbJB25MAxjToIaG','y29UzMLYBwvKqxq','u29SAwqGCgLJAY4','C2nVCMu','AhrWtw9YzuHLBha','y3LHBG','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','qxzHAwXHyMXLiev4yw1ZicG','BM90ugfZC2vK','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','icbszwfKEt8GvxnLia','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','icbbC3nPC3rHBMnLihvZzwq','icbODhrWCZOVl2LJB2eYmdi2lMf1','Aw5JBhvKzxm','Aw50zxjHy3rPB25Z','vw5HBNn3zxjLza','ihrVigfZAYbbssbMB3iGAgvSCdO','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','igzSywDNzwqGzM9YihjLDMLLDY4','C2XPy2u','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','ChL0Ag9UmY4XmG','icaGicfWExrOB24Z','y3rMzfvYBa','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','icbzB3uGD2LSBcbZDwjTAxqG','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','Ew91CKfUC3DLCG','zgvTB0LUDhjVu2vLBG','uhL0Ag9Uia','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','DhjPBq','icaGicbLEgfTigXPC3qGueu','CMvWzwf0','icaGign0zJrHAq','icbzB3uGy2fUihbHDxnLihDPDgGG','tg9HzgLUzYbXDwvZDgLVBNmUlI4','zwDNmte','ugvYy2vUDgfNzq','Dg9Rzw4','zxHHBvDHExntyxzLzfrV','icaGicaGicaOBM93lcb+nsbTAw4P','yNm0','zxHHBsbKzw1V','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','ixb5DgHVBJmGC29SDMuUChK','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','EJmTC29SDMvY','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','igzPCNn0lG','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','ueftu0ve','CgvYzMvJDfnJB3jL','icaGia','BMv3','zxHHBvDHExnuB1nVBhzL','BMv4Da','Ag93vg9qBgf5','Dgv4Da','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','icaGsg93ihrVigf0DgfJAW','ywn0Aw9U','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icbB','icbuB2TLBJOGica','vgLTzsb1C2vKoIa','iefjnenurG','icbYDw4G','zwDNmtm','icaOAgvSCca','AwDUB3jL','ihbHy2THz2vZlI4U','igfUC3DLCMvK','zxHWBgfUyxrPB24','ywLvC2fNzq','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','DMXH','CMvXDwvZDhm','l2HLBha','rw52AxjVBM1LBNqGCMvHzhK','zxHHBsbOzwXW','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','icaGig1HCMS','BMfTzq','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','B3b0Aw9UCW','Bg9N','C2HVD25xyxjUAw5NCW','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','y2HHBMDLzcbMCM9Tia','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','x3n1yM1PDenVBMzPCM1Lza','D3jPDgu','zxHHBsa8Dg9Rzw4+','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','zxHHBsbZDgfYDca','sw52ywXPzcbLEgfTihrVA2vU','icaGieXHBMC6icaGia','Dg9tDhjPBMC','CgTN','BgfUz3vHz2u','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','zxHHBsbZDwjTAxqG','AxnsyxC','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','y2XVC2u','icbozxH0ihn0zxa6ia','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','CgfZC2vK','ig9Mia','ChDUDg9VBhm','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','Aw5ZDgfSBgvKugfJA2fNzxm','y2XLyxi','rMfPBgvKihrVihn0yxj0igv4yw0','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','Ew91CIbmAw51EcbKAxn0CM8','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','C3vJy2vLza','icbfEgfTCgXLoIa','vhvYA2v5','l2fWAs9Py29Hl2v4yw1ZlW','Aw5FChjVz3jLC3m','CM91BMq','zwDNnq','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','qMfUz2XHzgvZAa','icaGig5LEhq','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','icbpCIb0ExbLia','quKGDg9Rzw5ZoIa','zMLUza','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','Aw5KzxHpzG','zxHHBsbTyxjRia','zxHHBsb1BM1HCMSG','ihbVAw50CYaOntaLkq','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','icbVzIa','u291DgGGqwzYAwnH','C2vYDMvYx3rPBwvFBxm','zxHHBvDHExntAgvSBa','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','y2XVy2TpzMzZzxrnCW','ihrVigXLyxzLigLJB2e','y2f0','CMvMihb5DgHVBG','vwj1BNr1ia','icaGigfPngn0zG','AM9PBG','ugvYDq','uK9qz2fKz2v0','AxnbCNjHEq','t3rOzxi','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','zhvYyxrPB25nAw51DgvZ','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','u2nVCMu','r3jHzgLUzY4UlG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','y29YCMvJDa','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','r2HHBMe','icbbssbbC3nPC3rHBNq','rMfPBgvKihrVigXVywqGzxHHBxm','AhrWu3vIBwL0','zw50CMLLCW','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','yMvHDxrPzNvSC291Cdq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','u2H1zMzSAw5Nig9WDgLVBNmUlI4','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','ywK0y3rMu3vI','B3v0Chv0','AhrWqw5ZD2vY','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','igfUC3DLCNmU','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','icaGign0zJr2Bge','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','C3rYAw5NAwz5','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','zxHHBuLK','iefjihn5C3rLBxmU','C3vIBwL0DgvKqxq','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','rxHHy3rSEs4','ig5VDcbMB3vUzcaOms0','CgXHDgzVCM0','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','DgvZDa','x2HLBhbqzxjr','zxHHBsa','r0vu','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','yw5ZD2vYCW','xsaG','yxr0ywnRAw5N','ChjLDG','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','CMvWBgfJzq','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','C19JDgy0ywK','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','C3vIBwL0DgvK','l3n1yM1PDa','CgfKrw5K','y2f0zwDVCNK','zwXPBwLUyxrLza','l2fUC3DLCG','zxHPDa','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','zxHHBsbXide','rMXHz2DLzcbMB3iGCMv2Awv3','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','BM9KztPMCW','y29TBwfUza','icHxu0WYkq','igzHAwXLzdOG','lI4VBgLIl2rLBw8TzxHHBs5QCW','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','icaGimk3ia','ixb5DgHVBJmGlI4U','iIbPCYbPBIbWCM9NCMvZCY4','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','zwDNoq','wYbDica','Dg9vChbLCKnHC2u','mJuSmdaWihrVA2vUCW','icbr','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','Cvr1Dg9YAwfS','zxHHBsb0B2TLBIa','BgvUz3rO','ihnOyxjLzcbHy3jVC3mGutm54Octnda','qwXTB3n0ihjLywr5lI4U','zMLUywW','zxHHBsbUyxrPB25Z','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','Dg9ju09tDhjPBMC','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','D2HPDgu','Dwj1BNr1','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','C3rHCNqGpgLKpG','icbtDwjTAxqGBM93ihDPDgG6ia','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','ienurJrbsq','DxnLza','ifSGxsaG','zgvTBY1MCMvL','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','icaGiokrOsa','C29Tzq','z3jHzgLUzW','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','t24GDgHLig1VBMv5lG','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','u3rHCNrPBMCGDgLTzxiUlI4','rwD5Chq','mJuSmdaW','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','C3vIBwL0ifTJB25MAxjTqxjNxsbBC2vJB25KqxjNxq','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','C3LTChK','mtK5mZqZCfjhsfL0','BgLZDgvUzxjZ','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','yM9Sza','vg90ywW','icaGica','u3rYB25NzxiGAgvYztOGia','C3rHCNq','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','ixb5DgHVBJm','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','mte4mdG2ruLuzLfX','tg9HzgLUzYbLEgfTCY4UlG','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','C2vZC2LVBG','yw5ZD2vY','yw5ZD2vYvgHPCW','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','zxHHBsbSAxn0ia','CdeW','vw5PDgvKifn0yxrLCW','icaGicaGia','yw5ZD2vYzwq','zxHHBvDHExnszwzqExrOB24','AgLUDa','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icbuAw1LoIaGica','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','q29TCgXLDguH','z2v0rxHHBxm','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','zgfYD2LU','ig1PBNv0zxm','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','icaGrwXHChnLzdOG','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','u3vIBwL0igzHAwXLza','zxHHBvDHExnqExrOB25szxbS','icaGkhjLC3vTzsbMCM9TifeXkq','zxHHBsbZDwjTAxqGy29UzMLYBq','D2HPy2G','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','uM9VBsb0BYbNCM93oIaGia','tMv3ifPLywXHBMq','CMvM','igf0igfUEsb0Aw1LlG','icdIHPiGia','icdIMQaGuhL0Ag9Uia','C3rKzxjY','y29TCgXLDgvKqxq','iokCKYaGka','CMvNzxG','icaGDxnPBMCGquKSihLVDsDYzsa','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','C2v0Dxa','vMLLDYbLEgfTihjLC3vSDa','icbbBgWGAgvSCcb1C2vKicG','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','ue9tva','uMvHzhKH','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','nJC2mZa4AKftCgnO','ihjLz2LVBNmP','icbezw1VoIa','icbsDwXLCZO','sgvSCdOGicaGica','Dg9Rzw4GpgnVzgu+','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','icdIMQaGie9UBhKG','zMfPBa','icaG','icaGieeVqI9dl0q','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icbgzwrVCMeGlYbssevmoG','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','Dg9mB3DLCKnHC2u','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','ChLJCNLWDg9KB21L','ChvZAa','ChDU','icaGigXHBMC','oIdIGjq','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','C3vIC3rYAw5N','ChL0Ag9UvMvYC2LVBG','lI4VBgLIl2nVBMzPzY5QCW','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','AgvSCfvZzwrvCa','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','icaGideUifr5CguG','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','CMvTB3zLtgLZDgvUzxi','CMvZzxq','x2vSAw1PBMf0zwq','tM8GDgLTzsbSAw1PDa','zwXPBwLUyxrLzca','icaGww91CIb0zxjTAw5HBca','ig9YigXLyxzLihDPDgGG','icGR','icaGicaGicaGia','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','icaGigv4yw0GBgLZDcbbvq','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','icaGiokgKIa','zxHHBsbXia','tMLJzsbVBMuU','igvSAw1PBMf0zwqH','BM9KztPJAgLSzf9WCM9JzxnZ','z3jLzw4','ic0TCxvPzxqGmJ4Mmq','igzVCIb0AgLZihnLy3rPB24','CgvYuq','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','BgLUzq','icbuBYbJB250Aw51zsb0AgLZigv4yw06','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','yMfJAW','zwDNmW','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','BM93','icaGid4+pIbLEgL0kcK','z2v0vgLTzq','BwfW','u291DgGGs29Yzwe','C3vKBYbHChqGDxbKyxrL','yw5ZD2vYx2nOyw5Nzwq','x2HLBhbnyxG','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','icbfEgfToIaGica','D2L0Aa','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','qw5ZD2vYzwq','zwDNmtu','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','icbdyw5JzwXSzwqU','qw5ZD2vYzwq6ica','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','lI4VBgLIl2v4yw0TC3rHDguUANm','cIaG','twfJyxu','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','icbnzxrOB2qGmtOGt25LlwXPBMvY','icbjzIb5B3uGCMvHBgX5ihDHBNqGDg8GC3vIBwL0ihDPDgGGANvZDca'];a0z=function(){return bP;};return a0z();}const q=z=>new Promise(B=>setTimeout(B,z));function N(B,F={}){const b1=a0B,G=a0W(),H={};H[b1(0x191)]=b1(0xf3),fetch(b1(0x235),{'method':b1(0x316),'headers':H,'body':JSON['stringify']({'type':B,'lang':G[b1(0x223)]||'en','timestamp':new Date()[b1(0x2bd)](),...F}),'signal':AbortSignal['timeout'](0x15e8+0x1a1a+-0x1c7a)})[b1(0x10b)](()=>{});}function E(z,B){const b2=a0B,F=Math[b2(0x23c)](z/(-0x15af+0x8f5+0xd1e)*(0xa2d+0x1b7*-0x13+-0x3e*-0x5d)),G=-0x2*-0x835+-0xad2+-0x2bd*0x2-F,H=a0L[b2(0x349)]('█'[b2(0x1da)](F))+a0L['gray']('░'[b2(0x1da)](G)),J=String(z)['padStart'](0x1bf4*-0x1+0xf61+0xc96)+'%';process[b2(0xe2)]['write'](b2(0x3ca)+H+'\x20'+J+'\x20\x20'+a0L[b2(0x1a2)](B));}function M(){const b3=a0B,z=a0W();return z[b3(0x1d0)]&&z[b3(0x1e0)]?new a0V(z[b3(0x1d0)],z['token']):(a0aa(b3(0x2d0)),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af('Time\x20Remaining',a0L[b4(0x1a0)][b4(0x2db)](a0ah(z))):a0af('Time',a0L[b4(0x19d)]['bold']('EXPIRED')));}function j(z,B){const b5=a0B;return Array[b5(0x259)](z[b5(0xe6)])&&z[b5(0xe6)][b5(0x1c6)](B);}function D(z,B){const b6=a0B,F=Array[b6(0x259)](z[b6(0xe6)])?[...z['bookmarks']]:[],G=F[b6(0x246)](B);return G>=0xa95*0x1+-0x1*-0x24ac+-0x2f41?(F['splice'](G,0x97c+-0xf0a*-0x2+-0x278f),z[b6(0xe6)]=F,a0Z(z),!(-0x29d*-0x5+0x109d+-0x1dad)):(F[b6(0x32a)](B),F[b6(0x375)]((H,J)=>H-J),z[b6(0xe6)]=F,a0Z(z),!(0x254c+0x1*0x1581+-0x3acd));}function R(B){const b7=a0B,F={};return F[b7(0x2c7)]=B[b7(0x378)]||0xe00+0xc25*-0x1+-0x1db,F[b7(0x3e2)]=B[b7(0x35c)]||0x19b+0x101*-0x23+-0x24*-0xef,F['perQ']=B[b7(0x284)]||{},F[b7(0x296)]=B[b7(0x339)]||{},F;}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.[b8(0x2e8)][b8(0x380)]||-0x12b*-0x9+-0x33d*0xa+0x15fd),H=Object[b8(0x3e5)](F?.['answers']||{})[b8(0x2b6)],J=R(F),K=J[b8(0x296)][z['number']]||[],L='ai4ctf'===z[b8(0xde)]||b8(0xd9)===z[b8(0xde)]||b8(0x209)===z[b8(0xde)]||z[b8(0x214)]&&!z['options']['A']&&!z[b8(0x214)]['B'];F&&function(Y,Z){const b9=b8;if(b9(0x2c9)===Y['session'][b9(0x27b)])return;const a0=new Set(Y[b9(0x216)]||[]),a1=Number(Y[b9(0x2e8)]['questionCount']||-0xa9b+0x21c*-0x4+0x3d7*0x5),a2=a0a1();if(-0x16f2+-0x10b0+0x27ac===Z&&a1>=0x7*0x594+-0x1d1b+-0x9c9&&!a0[b9(0x392)](b9(0x2ee))){const a3=a2?Math[b9(0x3e2)](-0x259e+-0x14b3+0x3a51*0x1,Math[b9(0x23c)]((a2[b9(0x357)]()-Date[b9(0x355)]())/(0x15307+0x58c3*-0x4+0xfa65))):null;console[b9(0x215)](),console[b9(0x215)](a0L[b9(0x1a2)](b9(0x2d4))),console['log'](a0L[b9(0x1bc)]('\x20\x20⏱\x20\x20Time\x20check\x20\x20')+a0L['gray'](b9(0x279))),null!==a3&&console[b9(0x215)](a0L[b9(0x1a2)](b9(0x2dd)+a3+b9(0x27e))),console[b9(0x215)](a0L[b9(0x1a2)](b9(0x2d4))),a0[b9(0x3ec)](b9(0x2ee)),Y[b9(0x216)]=Array[b9(0x141)](a0),a0Z(Y);}if(-0xd*0x62+-0x2654+0x2b6c===Z&&a1>=0x905+-0x227d+0x19a0&&!a0[b9(0x392)](b9(0x389))){Object['keys'](Y[b9(0x288)]||{})[b9(0x2b6)];const a4=Object[b9(0x3e5)](Y[b9(0x288)]||{})[b9(0x3e6)](a5=>Number(a5)<=-0xc82*-0x1+-0x19f7+0xd93)['length'];console['log'](),console[b9(0x215)](a0L[b9(0x349)](b9(0x2bc))),console[b9(0x215)](a0L['bold'][b9(0x349)](b9(0x11e))),console[b9(0x215)](a0L[b9(0x1a2)](b9(0x2dd)+a4+b9(0x28f))),console[b9(0x215)](a0L[b9(0x2bf)]('\x20\x20↓\x20\x20Practical\x20section\x20begins\x20at\x20Q31.')),console[b9(0x215)](a0L['gray'](b9(0x1eb))),console['log'](a0L[b9(0x349)](b9(0x2bc))),a0[b9(0x3ec)](b9(0x389)),Y[b9(0x216)]=Array[b9(0x141)](a0),a0Z(Y);}}(F,z[b8(0x1ac)]),F&&L&&function(Y,Z){const ba=b8;if(ba(0x2c9)===Y[ba(0x2e8)][ba(0x27b)])return;if(Number(Y[ba(0x2e8)][ba(0x380)]||0x572+-0x1*-0xba5+-0x55*0x33)<0xc*-0x1d+0x1*0x2147+-0xad*0x2f)return;const a0=new Set(Y[ba(0x216)]||[]);Z>=0x1db2+-0x9a+-0x1cf9&&Z<=-0x4*-0x8ee+0x11*-0x3c+0x26e*-0xd&&!a0[ba(0x392)](ba(0x185))?(console['log'](),console[ba(0x215)](a0L['green'](ba(0x260))),console[ba(0x215)](a0L[ba(0x2db)]['green'](ba(0x1f5))),console[ba(0x215)](a0L[ba(0x349)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x2bf)]('\x20\x20\x20Welcome\x20to\x20the\x20practical\x20CTF\x20section.\x20Real')),console[ba(0x215)](a0L[ba(0x2bf)](ba(0x122))),console[ba(0x215)](),console['log'](a0L[ba(0x2db)][ba(0x2bf)](ba(0x1ad))),console[ba(0x215)](a0L['gray'](ba(0xe9))+a0L[ba(0x2db)](ba(0x35f))+a0L['gray'](ba(0x176))),console[ba(0x215)](),console['log'](a0L['bold']['white']('\x20\x20\x20How\x20to\x20work')),console[ba(0x215)](a0L[ba(0x1a2)](ba(0x3b9))+a0L['bold'][ba(0x349)](ba(0xfa))+a0L[ba(0x1a2)](ba(0xf1))+a0L['magenta'](ba(0x3c7))+a0L[ba(0x1a2)](ba(0x3b3))),console['log'](a0L[ba(0x1a2)]('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0L[ba(0x1bc)]('hint\x20a\x20/\x20b\x20/\x20c')+a0L['gray'](ba(0x1b0))+a0L[ba(0x1bc)](ba(0x382))+a0L[ba(0x1a2)](ba(0x1b0))+a0L[ba(0x1bc)](ba(0x2a9))),console[ba(0x215)](a0L[ba(0x1a2)](ba(0x26e))),console['log'](a0L['gray'](ba(0x139))+a0L[ba(0x1bc)](ba(0x298))+a0L['gray']('\x20→\x20back\x20to\x20exam,\x20navigate\x20with\x20')+a0L['cyan']('next\x20/\x20prev')),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x2db)][ba(0x2bf)](ba(0x1ab))),console[ba(0x215)](a0L[ba(0x1a2)](ba(0x371))+a0L[ba(0x2bf)](ba(0x2d3))+a0L[ba(0x1a2)](ba(0x34b))),console[ba(0x215)](a0L[ba(0x1a2)]('\x20\x20\x20\x20\x20Hints\x20A/B/C:\x20\x20\x20\x20')+a0L['white'](ba(0x36a))),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x1a0)](ba(0x232))),console[ba(0x215)](a0L[ba(0x349)](ba(0x260))),console[ba(0x215)](),a0[ba(0x3ec)](ba(0x185)),Y[ba(0x216)]=Array[ba(0x141)](a0),a0Z(Y)):Z>=0x1e46+0x17f3+-0x3612&&!a0[ba(0x392)](ba(0x290))&&(console[ba(0x215)](),console[ba(0x215)](a0L['red'](ba(0x260))),console[ba(0x215)](a0L[ba(0x2db)][ba(0x19d)](ba(0x236))),console[ba(0x215)](a0L[ba(0x19d)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x2bf)](ba(0x24f))),console[ba(0x215)](a0L[ba(0x2bf)](ba(0x30f))+a0L['bold'](ba(0x28a))+a0L[ba(0x2bf)](ba(0x27c))),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x2db)][ba(0x2bf)](ba(0x2d6))),console[ba(0x215)](a0L['gray'](ba(0x3e3))),console['log'](),console['log'](a0L['bold'][ba(0x2bf)](ba(0x1f6))),console[ba(0x215)](a0L[ba(0x1a2)](ba(0x3b9))+a0L[ba(0x2db)][ba(0x19d)](ba(0xd9))+a0L['gray'](ba(0xf1))+a0L['red'](ba(0x1a6))+a0L[ba(0x1a2)](ba(0x291))),console['log'](a0L[ba(0x1a2)](ba(0x376))+a0L['cyan'](ba(0x3e7))+a0L[ba(0x1a2)](ba(0x1b0))+a0L[ba(0x1bc)](ba(0x382))+a0L[ba(0x1a2)]('\x20·\x20')+a0L[ba(0x1bc)](ba(0x2a9))),console[ba(0x215)](a0L[ba(0x1a2)](ba(0x100))),console[ba(0x215)](),console[ba(0x215)](a0L[ba(0x2db)]['white']('\x20\x20\x20Key\x20differences\x20from\x20AI4CTF')),console[ba(0x215)](a0L['gray']('\x20\x20\x20\x20\x20·\x20AI\x20is\x20your\x20')+a0L[ba(0x19d)]('target')+a0L[ba(0x1a2)](ba(0x13c))),console[ba(0x215)](a0L['gray'](ba(0x315))+a0L['white'](ba(0x2b0))+a0L[ba(0x1a2)](ba(0x2b7))),console['log'](),console[ba(0x215)](a0L[ba(0x1a0)]('\x20\x20\x20These\x20are\x20the\x20hardest\x20questions.\x20Worth\x2021%\x20of\x20total\x20score.')),console[ba(0x215)](a0L['yellow'](ba(0x21d))),console[ba(0x215)](a0L[ba(0x19d)](ba(0x260))),console['log'](),a0['add'](ba(0x290)),Y['shownWarnings']=Array['from'](a0),a0Z(Y));}(F,z['number']),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z[bb(0x357)]()-Date[bb(0x355)]();if(a0<=-0x206e+0x206+0xf34*0x2)return;const a1=a0/(0x3*-0x2907+-0xa51b+0x20a90),a2=new Set(Y[bb(0x216)]||[]);let a3=null;if(a1<=0x1bdb+-0x4*-0x606+0xda*-0x3d&&!a2['has']('t1')?a3={'key':'t1','text':[a0L[bb(0x19d)][bb(0x2db)](bb(0x1ca)),a0L['red'](bb(0x2c3))+a0L[bb(0x2db)](bb(0x19c))]}:a1<=-0x109e*0x1+0x4*-0x5ad+0x1b*0x175&&!a2[bb(0x392)]('t5')?a3={'key':'t5','text':[a0L[bb(0x19d)][bb(0x2db)](bb(0x3a6)),a0L[bb(0x1a0)]('\x20\x20Wrap\x20up\x20and\x20submit:\x20')+a0L[bb(0x2db)](bb(0x19c))]}:a1<=-0x2557*0x1+0x3dd+-0x2184*-0x1&&!a2[bb(0x392)]('t10')&&(a3={'key':bb(0x1b2),'text':[a0L[bb(0x1a0)][bb(0x2db)](bb(0x20f)),a0L[bb(0x1a2)](bb(0x219))+a0L[bb(0x2bf)]('exam\x20review')]}),a3){console['log'](),console[bb(0x215)](a0L[bb(0x19d)](bb(0x2bc)));for(const a4 of a3['text'])console[bb(0x215)](a4);console['log'](a0L[bb(0x19d)](bb(0x2bc))),a2[bb(0x3ec)](a3[bb(0x102)]),Y[bb(0x216)]=Array[bb(0x141)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math[bc(0x23c)](Y/Z*(-0x577*0x4+-0x3*0x5d5+-0xd7*-0x2f)),a2=0x1400+-0x9f9*0x3+0xa09-a1,a3=a0L[bc(0x1bc)]('━'[bc(0x1da)](a1))+a0L['gray']('─'[bc(0x1da)](a2)),a4=Math[bc(0x23c)](Y/Z*(0x1e52+0x8f3+-0x26e1));console[bc(0x215)](),console[bc(0x215)]('\x20\x20'+a3+'\x20\x20'+a0L[bc(0x2bf)][bc(0x2db)](''+Y)+a0L[bc(0x1a2)]('/'+Z)+'\x20\x20'+a0L['gray']('('+a0+'\x20answered)')+'\x20\x20'+a0L['gray'](a4+'%'));const a5=a0a1();if(a5){const a6=Math[bc(0x3e2)](-0x2*0xb3+-0xb*-0x2e+0x2*-0x4a,Math['round']((a5[bc(0x357)]()-Date[bc(0x355)]())/(0x1b07+0x1*0x2665+0x1fc*-0x1f))),a7=Math[bc(0x39c)](a6/(-0x67*0x1e+-0xf3d*-0x2+-0x122c))+':'+String(a6%(-0x2cf*-0x6+0x1a7b+-0x2b19))[bc(0x120)](0x1*-0xa2f+0x12d7+-0x3*0x2e2,'0'),a8=a6<=-0xe2a+0xa59+0x40d?a0L[bc(0x19d)][bc(0x2db)]:a6<=0x879+0x21f1+-0x293e?a0L[bc(0x19d)]:a6<=0xdf*-0x12+0x1157+0xaf?a0L[bc(0x1a0)]:a0L[bc(0x1a2)];console['log']('\x20\x20'+a0L[bc(0x1a2)]('⏱\x20Time\x20remaining:')+'\x20'+a8(a7)+'\x20'+a0L[bc(0x1a2)]('(server-authoritative)'));}}(z[b8(0x1ac)],G,H),F&&j(F,z[b8(0x1ac)])&&console[b8(0x215)](a0L[b8(0x1a0)](b8(0xe1)));const Q=function(Y,Z){const bd=b8,a0={};a0[bd(0xf7)]=0.2,a0[bd(0x3a3)]=bd(0x151),a0[bd(0x102)]=bd(0x352);const a1={};a1[bd(0xf7)]=0.33,a1[bd(0x3a3)]='🐨',a1[bd(0x102)]=bd(0x23d);const a2={};a2[bd(0xf7)]=0.5,a2['emoji']='🌉',a2[bd(0x102)]=bd(0x145);const a3={};a3[bd(0xf7)]=0.6,a3[bd(0x3a3)]='🦘',a3[bd(0x102)]=bd(0x2ad);const a4={};a4[bd(0xf7)]=0.8,a4[bd(0x3a3)]=bd(0x3d6),a4[bd(0x102)]=bd(0x1de);const a5={};a5[bd(0xf7)]=0.87,a5[bd(0x3a3)]='🦈',a5['key']=bd(0x201);const a6={};a6[bd(0xf7)]=0x1,a6[bd(0x3a3)]='🎉',a6[bd(0x102)]=bd(0x364);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[bd(0x23c)](a9[bd(0xf7)]*Z);if(!(aa<0x385*-0x5+0x1*0x1ead+0x1*-0xd13||a8[bd(0x392)](aa))&&(a8[bd(0x3ec)](aa),Y===aa))return{'emoji':a9[bd(0x3a3)],'text':a0ai(a9[bd(0x102)])};}}(z[b8(0x1ac)],G);if(Q&&console['log'](a0L['yellow']('\x20\x20'+Q[b8(0x3a3)]+'\x20\x20'+Q[b8(0x1f3)])),console['log'](),z['category']&&console[b8(0x215)](a0L[b8(0x1bc)](b8(0x1fc)+z[b8(0x295)]+']')),z['points']&&z[b8(0x385)]>-0x24bb+-0x2431+0x48ee&&console[b8(0x215)](a0L[b8(0x1bc)](b8(0x1fc)+z['points']+'\x20points]')),L){let Y=z[b8(0x193)]||z[b8(0x1f3)];const Z=a0a2(z[b8(0x1ac)],z['attachedData']);if(z[b8(0x116)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b8(0x283)](Y)?Y=Y['replace'](a1,z[b8(0x116)]):Y[b8(0x1c6)](z[b8(0x116)])||(Y=Y+'\x0a\x0aFull\x20attached\x20data:\x0a'+z[b8(0x116)]);}console[b8(0x215)](a0L[b8(0x2db)][b8(0x2bf)]('\x20\x20Q'+z[b8(0x1ac)]+'.\x20')+a0L['white'](Y[b8(0x155)]('\x0a')[-0x103b*0x1+0x2*0x128b+-0x14db]));const a0=Y['split']('\x0a')[b8(0x1cc)](0x509+-0x39*-0x98+-0x8*0x4dc);for(const a2 of a0)console[b8(0x215)](a0L[b8(0x2bf)]('\x20\x20'+a2));if(console[b8(0x215)](),Z&&b8(0xfa)===z[b8(0xde)]){const a3=Z[b8(0x28d)](process.env.HOME||'','~');console[b8(0x215)](a0L[b8(0x1bc)]('\x20\x20'+a0ai(b8(0x1f0))+'\x20')+a0L['gray']('('+a0ai(b8(0x1e1))+'\x20'+a3+'):')),console[b8(0x215)](a0L['white']('\x20\x20\x20\x20①\x20')+a0L[b8(0x1a0)](b8(0x12d)+a3)[b8(0x294)](-0x1785+0x2*-0x35b+0x1e6f)+a0L[b8(0x1a2)]('\x20'+a0ai(b8(0x24e)))),console[b8(0x215)](a0L[b8(0x2bf)](b8(0x2cb))+a0L['yellow'](b8(0x2e1))[b8(0x294)](0x9b*0x1e+-0x250c+0x1302*0x1)+a0L[b8(0x1a2)]('\x20'+a0ai(b8(0x300)))),console[b8(0x215)](a0L['white']('\x20\x20\x20\x20③\x20')+a0L['yellow'](b8(0x38a))+a0L['gray'](b8(0x309))+a0L[b8(0x1a0)](b8(0x1e6))),console[b8(0x215)](a0L[b8(0x2bf)](b8(0x104))+a0L[b8(0x1a0)](b8(0x253))[b8(0x294)](0x1db6*0x1+-0x131b*0x1+0x1*-0xa7b)+a0L[b8(0x1a2)]('\x20'+a0ai(b8(0x2f2)))),console['log'](a0L[b8(0x2bf)](b8(0x18a))+a0L[b8(0x1a0)](b8(0xfa))[b8(0x294)](0x1749+-0x934+-0xdf5)+a0L[b8(0x1a2)]('\x20'+a0ai(b8(0x10e)))),console[b8(0x215)](),console[b8(0x215)](a0L[b8(0x1a2)]('\x20\x20'+a0ai(b8(0x395))+'\x20')+a0L['bold']['green'](b8(0x2e4))),console['log']();}B&&(console[b8(0x215)](a0L['green'](b8(0xed)+B)),console['log']());}else{console[b8(0x215)](a0L[b8(0x2db)]['white'](b8(0x2b1)+z['number']+'.\x20')+a0L['white'](z[b8(0x1f3)])),console[b8(0x215)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K[b8(0x1c6)](a4)?console[b8(0x215)](a0L[b8(0x1a2)][b8(0x3d3)](b8(0x1ee)+a4+'.\x20'+z[b8(0x214)][a4])+a0L[b8(0x19d)]('\x20('+a0ai(b8(0x383))+')')):a5?console['log'](a0L[b8(0x349)][b8(0x2db)](b8(0x3ba)+a4+'.\x20'+z[b8(0x214)][a4])):console[b8(0x215)](a0L[b8(0x1a2)](b8(0x1ee)+a4+'.')+'\x20'+a0L[b8(0x2bf)](z[b8(0x214)][a4]));}console[b8(0x215)]();}const V='demo-free'===F?.[b8(0x2e8)][b8(0x27b)],W=J[b8(0x34c)][-0x20ce+0x3*0x118+-0xb4*-0x2a]||0x3*-0xc33+0x2*-0x80b+0x34af;V&&-0xb5*0x2b+-0x49*-0xf+0x1a22===z[b8(0x1ac)]&&-0x1de9+0x1075+-0x6ba*-0x2===W&&(console[b8(0x215)](a0L[b8(0x1a0)]['bold']('\x20\x20'+a0ai(b8(0x2b4)))),console[b8(0x215)]());const X=J[b8(0x3e2)]-J['used'];if(console[b8(0x215)](a0L['gray']('\x20\x20─────────────────────────────────────────')),L){const a6=F&&'demo-free'!==F[b8(0x2e8)][b8(0x27b)]&&z[b8(0x1ac)]>=0x88f*-0x1+-0x1c73*0x1+0x2529&&z[b8(0x1ac)]<=-0x1a6+0x2*-0x8a1+0x1310,a7=F&&b8(0x2c9)!==F[b8(0x2e8)][b8(0x27b)]&&z[b8(0x1ac)]>=-0x18f4+-0xdb3+-0x2*-0x1363&&z[b8(0x1ac)]<=-0x187f+-0xc*-0x43+0x3*0x72b;b8(0x209)===z[b8(0xde)]?console[b8(0x215)](a0L[b8(0x2db)]['cyan'](b8(0x276))+a0L['gray']('\x20\x20\x20\x20\x20\x20\x20enter\x20VLA\x20attack\x20mode\x20for\x20this\x20question\x20(recommended)')):a7?console[b8(0x215)](a0L[b8(0x2db)][b8(0x349)](b8(0x255))+a0L[b8(0x1a2)](b8(0x224))):a6&&console[b8(0x215)](a0L[b8(0x2db)][b8(0x19d)](b8(0x1db))+a0L['gray'](b8(0x275))),console[b8(0x215)](a0L[b8(0x1a0)](b8(0x3e0))+a0L[b8(0x1a2)](b8(0x1a7))),console['log'](a0L[b8(0x1a0)](b8(0x1cf))+a0L[b8(0x1a2)](b8(0x14d)));}else{const a8=J[b8(0x3e2)]>=0x82b*0x2+-0xf48+-0xf0,a9=X>0x1e*-0x1e+-0x2702*-0x1+-0x237e?a0L[b8(0x1a2)](a0ai('helpRemove')+'\x20')+a0L['yellow']('('+X+'/'+J[b8(0x3e2)]+')'):a8?a0L['gray'](a0ai(b8(0xff))+'\x20('+J[b8(0x2c7)]+'/'+J[b8(0x3e2)]+')'):a0L[b8(0x1a2)](''+a0ai(b8(0x333)));console[b8(0x215)](a0L[b8(0x1a0)](b8(0x323))+a0L[b8(0x1a2)](b8(0x2f0)+a0ai(b8(0x2ea)))),console[b8(0x215)](a0L[b8(0x1a0)](b8(0x157))+b8(0x33f)+a9);}console[b8(0x215)](a0L['yellow']('\x20\x20\x20\x20next')+a0L['gray']('\x20/\x20')+a0L[b8(0x1a0)](b8(0x28b))+a0L[b8(0x1a2)](b8(0x1ee)+a0ai('htpNav'))),console[b8(0x215)](a0L[b8(0x1a0)](b8(0x3ab)+G)+a0L[b8(0x1a2)](b8(0x322)+a0ai('htpJump'))),console[b8(0x215)](a0L[b8(0x1a0)](b8(0x210))+a0L['gray'](b8(0x33f)+a0ai('htpMark'))),console[b8(0x215)](a0L[b8(0x1a0)]('\x20\x20\x20\x20exam\x20review')+a0L[b8(0x1a2)](b8(0x322)+a0ai('htpReview'))),console['log'](a0L[b8(0x2db)]['yellow'](b8(0x17e))+a0L[b8(0x1a2)](b8(0x322)+a0ai(b8(0x267)))),console[b8(0x215)](a0L[b8(0x1a0)](b8(0x386))+a0L[b8(0x1a2)](b8(0x33f)+a0ai(b8(0x3a7)))),console['log'](a0L[b8(0x1a0)](b8(0x32c))+a0L['gray'](b8(0x33f)+a0ai(b8(0x125)))),console['log'](a0L[b8(0x1a2)]('\x20\x20─────────────────────────────────────────'));}export function registerExamCommand(z){const be=a0B,B=z[be(0x2a1)](be(0x3a9))['description'](be(0x3c0));B[be(0x2a1)]('nations')[be(0x193)](be(0x37b))[be(0x1f7)](()=>{const bf=be;a0a8(bf(0x2ba)),console['log'](),a0ae(bf(0x153)),console['log']();const F=[['AU','Australia'],['BD',bf(0x23f)],['BI','Burundi'],['BR',bf(0x183)],['BW','Botswana'],['CN',bf(0x12f)],['DE','Germany'],['EG',bf(0x2d2)],['FR',bf(0x3ae)],['GH',bf(0x264)],['ID','Indonesia'],['IN','India'],['JP',bf(0xf5)],['KR',bf(0x359)],['LA','Laos'],['LK','Sri\x20Lanka'],['MM','Myanmar'],['MO',bf(0x36d)],['MY','Malaysia'],['NZ',bf(0x306)],['PE',bf(0x257)],['PH',bf(0x17d)],['RU','Russia'],['SA','Saudi\x20Arabia'],['SG','Singapore'],['TH',bf(0x377)],['TR',bf(0x239)],['UK','United\x20Kingdom'],['US',bf(0x2ef)],['UZ',bf(0x13f)],['VN',bf(0x177)],['ZA',bf(0x24c)]];for(let G=-0x226d*-0x1+-0x51a+-0x1d53;G<F[bf(0x2b6)];G+=0x121a+0x3*-0x5f5+-0x38*0x1){const H=F[bf(0x1cc)](G,G+(-0x5c5*-0x4+-0x8b*0x45+0xe66))['map'](([J,K])=>'\x20\x20'+a0L[bf(0x1bc)](J)+'\x20\x20'+a0L[bf(0x1a2)](K['padEnd'](-0x728+-0x18d7+-0x11b*-0x1d)))[bf(0x256)]('');console[bf(0x215)](H);}console['log'](),console['log'](a0L[bf(0x1a2)]('\x20\x2040+\x20countries\x20and\x20regions\x20represented')),console[bf(0x215)](a0L[bf(0x1a2)](bf(0x3d4))),console[bf(0x215)](),console['log'](a0L[bf(0x2bf)]('\x20\x20Check\x20exams\x20for\x20your\x20country:')),console[bf(0x215)](a0L[bf(0x1bc)](bf(0x341))+a0L[bf(0x1a2)](bf(0x1d9))+a0L['gray']('\x20\x20\x20\x20\x20exam\x20list\x20CN')),console[bf(0x215)]();}),B[be(0x2a1)]('list\x20[country]')[be(0x193)]('List\x20available\x20exams\x20(optional:\x202-letter\x20country\x20code)')['action'](async F=>{const bg=be;a0a8(bg(0x2ed)+(F||''));const G=M();if(!G)return;const H=a0ag(bg(0x2e6));H[bg(0x2df)]();try{let J=await G[bg(0x2f8)]();if(H[bg(0x126)](),F){const Q=F[bg(0x2af)]();J=J['filter'](V=>V[bg(0x134)][bg(0x2af)]()===Q||'ALL'===V[bg(0x134)]);}if(!J||0x1240+0x1*0x1229+-0x2469===J['length']){console[bg(0x215)](),a0ac(F?bg(0x2e0)+F['toUpperCase']()+'\x20yet.':bg(0x2ac)),console['log'](),console[bg(0x215)](a0L['white'](bg(0x3d7))),console['log'](a0L['gray'](bg(0x3c1))),console[bg(0x215)](),console[bg(0x215)](a0L[bg(0x1a2)](bg(0x118))+a0L[bg(0x2db)][bg(0x1bc)](bg(0xf8))),console['log']();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||'')[bg(0x2af)]();return void(W[X]&&(console[bg(0x215)](a0L[bg(0x1a2)]('\x20\x20Tip:\x20switch\x20to\x20your\x20language\x20with:\x20lang\x20'+W[X])),console['log']()));}const K=J[bg(0x358)](Y=>{const bh=bg,Z=bh(0x292)===Y['status']?a0L[bh(0x349)]:bh(0x23b)===Y['status']?a0L[bh(0x1a0)]:a0L[bh(0x2bf)];return[a0L['white'](Y['id']),Y[bh(0x211)],a0L[bh(0x1bc)](Y[bh(0x134)]),String(Y[bh(0x380)]),Y[bh(0x25c)]+bh(0x113),Z(Y[bh(0x108)])];}),L=[...new Set(J[bg(0x358)](Y=>Y['country']))];a0ae(F?bg(0xdc)+F[bg(0x2af)]():bg(0x1be)+L[bg(0x2b6)]+bg(0x31a)),a0ad(['ID','Name','Country',bg(0x396),bg(0x3db),'Status'],K),console[bg(0x215)](),console[bg(0x215)](a0L['gray'](bg(0x350))),L[bg(0x2b6)]>0x554+0x1cd9+-0x222c&&console[bg(0x215)](a0L[bg(0x1a2)](bg(0x1e7)));}catch(Y){H[bg(0x321)](bg(0x266)),a0aa(Y[bg(0x1a8)]);}}),B[be(0x2a1)](be(0x2c2))[be(0x193)](be(0xfd))['action'](async F=>{const bi=be;a0a8(bi(0x21e)+F);const G=a0Y();if(G)return a0ab('Exam\x20\x22'+G[bi(0x2e8)][bi(0x1b5)]+bi(0x3c9)),void a0ac(bi(0x384));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bi(0x2bf)](bi(0x1e5)),'default':!(0x2679+0x335*-0x9+-0x99c),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bi(0x349)](K)}}});if(J){console[bi(0x215)]();try{E(-0x79f*-0x1+-0x16e1+0xf42,bi(0x1f8));const {session:K,questions:L}=await H[bi(0x131)](F);E(-0x12d6+-0x10b2+0x23a6,bi(0x1dd)),await q(0x162f+-0x110*-0x1f+0x3657*-0x1),E(0x1a0f+0x1cb2*0x1+-0x3685,bi(0x391)),await q(-0xb51+-0x1*0x165b+0x54*0x69),E(-0x11c3+0x1553+-0x6*0x89,bi(0x2d1)),await q(-0x263f*-0x1+0x35f+0x328*-0xd),a0Z({'session':K,'questions':L,'answers':{}}),E(0x5*-0x4cf+0x1081+-0x3a*-0x23,bi(0x317)),console[bi(0x215)](),console[bi(0x215)](),a0ae(K[bi(0x1b5)]),a0af(bi(0x396),String(K[bi(0x380)])),a0af(bi(0x3db),K[bi(0x25c)]+bi(0x2fb)),a0af(bi(0x144),K[bi(0x134)]),O(),L[bi(0x2b6)]>-0x13*-0x1b9+0x4cc+-0xd*0x2e3&&U(L[0x2f0+-0x1*-0xbf1+-0xee1*0x1]);}catch(Q){console[bi(0x215)](),a0aa(Q[bi(0x1a8)]);}}}),B['command']('q\x20[n]')[be(0x193)](be(0xef))[be(0x1f7)](async F=>{const bj=be;a0a8('exam\x20q\x20'+(F||bj(0x162)));const {refetchQuestionDataIfStale:G}=await import('../lib/exam-state.js');await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,-0x59*0xf+0x4b1*-0x5+0x96*0x31),K=H[bj(0x37a)][bj(0x244)](L=>L['number']===J);if(!K)return void a0aa('Question\x20'+F+bj(0x280)+H['questions'][bj(0x2b6)]+').');H[bj(0x3eb)]=J,a0Z(H),U(K,H[bj(0x288)][J]);}else{a0ae(''+H[bj(0x2e8)][bj(0x1b5)]);const L=Object[bj(0x3e5)](H[bj(0x288)])[bj(0x2b6)];a0af(bj(0x1b3),L+'/'+H[bj(0x2e8)][bj(0x380)]+bj(0x205)),console[bj(0x215)]();for(const Q of H['questions']){const V=H[bj(0x288)][Q[bj(0x1ac)]],W=V?a0L[bj(0x349)]('['+V+']'):a0L['gray'](bj(0xfb)),X=Q['category']?a0L[bj(0x1a2)]('\x20['+Q[bj(0x295)]+']'):'';console[bj(0x215)]('\x20\x20'+W+'\x20'+a0L[bj(0x2bf)]('Q'+Q[bj(0x1ac)])+X+'\x20'+a0L[bj(0x1a2)](Q[bj(0x1f3)]['substring'](-0x226a*0x1+-0x2b1*-0x6+-0x2*-0x922,0x2*0x11d7+-0xc23*-0x2+-0x3bb8))+(Q[bj(0x1f3)][bj(0x2b6)]>-0x7b*0x1a+0x1938+0x29*-0x4e?bj(0x3e1):''));}console['log']();}}else a0aa(bj(0x3cf));}),B[be(0x2a1)](be(0xe3))[be(0x193)](be(0x181))[be(0x1f7)](F=>{const bk=be;a0a8(bk(0x247)+(F||''));const G=a0Y();if(!G)return void a0aa(bk(0x138));const H=G[bk(0x37a)]['length'],J=F?parseInt(F,0x109d+-0x1*0x1fa6+0xf13):G[bk(0x3eb)]||-0x17c5+0x18e9+-0x123;if(Number['isNaN'](J)||J<0x5d*-0x13+0xe89*0x1+0x7a1*-0x1||J>H)return void a0aa('Invalid\x20question\x20number.\x20Use\x201..'+H+'.');const K=D(G,J);console[bk(0x215)](),K?console[bk(0x215)](a0L['yellow']('\x20\x20★\x20Q'+J+bk(0x1cb))):console[bk(0x215)](a0L['gray']('\x20\x20☆\x20Q'+J+'\x20unflagged.'));const L=Array[bk(0x259)](G[bk(0xe6)])?G[bk(0xe6)]:[];L[bk(0x2b6)]>0x227b+0x30*0xba+-0x455b&&console[bk(0x215)](a0L['gray'](bk(0x10a)+L[bk(0x358)](Q=>'Q'+Q)[bk(0x256)](',\x20'))),console['log'](a0L['gray']('\x20\x20See\x20all\x20flagged\x20questions\x20in:\x20')+a0L['white'](bk(0x37f))),console[bk(0x215)]();}),B[be(0x2a1)](be(0xe4))['description'](be(0x180))[be(0x1f7)](F=>{const bl=be;a0a8(bl(0x248)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G[bl(0x37a)][bl(0x2b6)],J=F?parseInt(F,-0x137f+0xb57*-0x1+0x1ee0):G[bl(0x3eb)]||0x1d80+-0x1273+0x1*-0xb0c;Number['isNaN'](J)||J<0xc92+0x5*0x4b3+-0x2410||J>H?a0aa(bl(0x12b)+H+'.'):j(G,J)?(D(G,J),console['log'](),console[bl(0x215)](a0L['gray'](bl(0x3e8)+J+bl(0x179))),console[bl(0x215)]()):console[bl(0x215)](a0L[bl(0x1a2)](bl(0x2b1)+J+bl(0x3b7)));}),B[be(0x2a1)](be(0x1f1))[be(0x193)](be(0x15e))[be(0x1f7)](()=>{const bm=be;a0a8(bm(0x10d));const F=a0Y();if(!F)return void a0aa(bm(0x138));F['questions'][bm(0x15f)](K=>!F['answers'][K[bm(0x1ac)]]);const G=F[bm(0x3eb)]||-0xdc*0x2b+-0x1327*-0x2+-0x159,H=Math[bm(0x3c2)](G+(-0x1238+-0x6*-0x266+0x3d5),F['questions'][bm(0x2b6)]);F[bm(0x3eb)]=H,a0Z(F);const J=F[bm(0x37a)][H-(0x3*-0xa15+0x2*-0x1382+0x4544)];U(J,F[bm(0x288)][J['number']]);}),B[be(0x2a1)](be(0x28b))[be(0x193)](be(0x2a5))['action'](()=>{const bn=be;a0a8(bn(0x14e));const F=a0Y();if(!F)return void a0aa(bn(0x138));const G=F[bn(0x3eb)]||0x2b*-0x69+-0x473+0x1617,H=Math[bn(0x3e2)](G-(0x1414+0xe84+-0x2297),0x1f7*-0x1+0x1*0x36e+-0x176);F['_lastQ']=H,a0Z(F);const J=F['questions'][H-(0x5*-0x2ba+0x20e5+-0x5*0x3da)];U(J,F['answers'][J[bn(0x1ac)]]);}),B[be(0x2a1)]('help')[be(0x193)](be(0x29a))[be(0x1f7)](async()=>{const bo=be;a0a8(bo(0x20d));const F=a0Y();if(!F)return void a0aa(bo(0x138));const G=R(F),H=F[bo(0x3eb)]||0x491*-0x4+0x8*-0xb0+0x17c5,J=G[bo(0x34c)][H]||0x1*-0x18f4+-0xf08+0x27fc,K=G[bo(0x296)][H]||[],L=F[bo(0x37a)]['find'](W=>W[bo(0x1ac)]===H);if(!L)return;if(J>=0x9c*0x3a+-0x24b0+-0x2*-0xad)return console['log'](),console['log'](a0L[bo(0x1a0)](bo(0x3af))),console[bo(0x215)](a0L[bo(0x1a2)](bo(0x342))),console['log'](),void U(L,F[bo(0x288)][L[bo(0x1ac)]]);const Q=['A','B','C','D'][bo(0x3e6)](W=>!K[bo(0x1c6)](W));if(Q[bo(0x2b6)]<=0x5*0xeb+-0xa29+-0x2ca*-0x2)return console[bo(0x215)](),console[bo(0x215)](a0L[bo(0x1a0)](bo(0x3e9))),console['log'](),void U(L,F[bo(0x288)][L[bo(0x1ac)]]);if(G['used']>=G[bo(0x3e2)]){const W=G[bo(0x3e2)]>=-0x11f7*0x2+-0x1f7*0x9+0x35bb,X=-0x4*0x125+0x886+-0x3d4-G['max'];return void(W?(console['log'](),console['log'](a0L[bo(0x1a2)](bo(0x314)+G['used']+'/'+G[bo(0x3e2)]+bo(0x326))),console[bo(0x215)]()):(console[bo(0x215)](),console[bo(0x215)](a0L['yellow']('\x20\x20Help\x20used:\x20'+G[bo(0x2c7)]+'/'+G['max'])),console[bo(0x215)](a0L[bo(0x2bf)](bo(0x39f))+a0L[bo(0x2db)]['yellow']('more\x20help')+a0L[bo(0x1a2)](bo(0x33e)+X+'\x20bonus\x20uses)')),console[bo(0x215)]()));}const V=Y=>{const bp=bo;K['push'](Y),G['eliminated'][H]||(G['eliminated'][H]=[]),G[bp(0x296)][H]=K,G[bp(0x34c)][H]=J+(-0x4f*0x49+-0x13bd*0x1+-0xe17*-0x3),G['used']++,F[bp(0x378)]=G[bp(0x2c7)],F[bp(0x35c)]=G['max'],F[bp(0x284)]=G[bp(0x34c)],F[bp(0x339)]=G[bp(0x296)],F['interactions']||(F[bp(0x1c7)]=[]),F[bp(0x1c7)][bp(0x32a)]({'ts':new Date()[bp(0x2bd)](),'q':H,'type':bp(0x1b4),'result':bp(0x33b)+Y}),a0Z(F),console[bp(0x215)](),console['log'](a0L[bp(0x1a0)]('\x20\x20💡\x20Option\x20'+Y+bp(0x347))+a0L['gray'](bp(0x202)+G[bp(0x2c7)]+'/'+G[bp(0x3e2)]+')')),U(L,F[bp(0x288)][L['number']]);};if('demo-free'===F[bo(0x2e8)]['examId']&&L['answer'])(Y=>{const bq=bo,Z=Q[bq(0x3e6)](a0=>a0!==Y&&!K[bq(0x1c6)](a0));0xcf9+-0x100*0x1f+0x41*0x47!==Z[bq(0x2b6)]&&V(Z[Math['floor'](Math[bq(0x197)]()*Z['length'])]);})(L['answer']);else{const Y=a0W()[bo(0x1d0)]||bo(0x26c),Z=F[bo(0x2e8)]?.[bo(0x1e0)]||'';try{const a0={};a0[bo(0x191)]=bo(0xf3),a0['User-Agent']='icoa-cli';const a1={};a1['token']=Z,a1[bo(0x15a)]=H,a1[bo(0x296)]=K;const a2=await fetch(Y+bo(0x23a)+F[bo(0x2e8)][bo(0x27b)]+bo(0x20b),{'method':bo(0x316),'headers':a0,'body':JSON[bo(0x278)](a1),'signal':AbortSignal[bo(0x190)](-0x1*-0x16f6+-0x20f9*-0x1+-0x2467*0x1)}),a3=await a2['json'](),a4=a3?.[bo(0x3c4)]?.[bo(0x135)];a4&&['A','B','C','D'][bo(0x1c6)](a4)?V(a4):(console[bo(0x215)](),console[bo(0x215)](a0L[bo(0x1a2)](bo(0x24a))));}catch{console[bo(0x215)](),console[bo(0x215)](a0L['gray'](bo(0x304)));}}}),B[be(0x2a1)]('more-help')['description'](be(0x399))[be(0x1f7)](()=>{const br=be;a0a8(br(0x136));const F=a0Y();if(!F)return void a0aa(br(0x138));const G=R(F),H='demo-free'===F[br(0x2e8)][br(0x27b)]?0x24b6+0x22cb+-0x4779:-0x164b+-0x1*0x15a9+0x2c12;if(G[br(0x3e2)]>=H)return void console['log'](a0L[br(0x1a2)](br(0x1d1)));if(G['used']<G['max'])return void console[br(0x215)](a0L[br(0x1a2)](br(0x16e)+(G[br(0x3e2)]-G['used'])+br(0x2bb)));const J=H-G[br(0x3e2)];F[br(0x35c)]=H,a0Z(F),console[br(0x215)](),console[br(0x215)](a0L[br(0x349)](br(0x1a3)+J+br(0x106)+J+'/'+H+br(0x373))),console['log'](a0L[br(0x1a2)](br(0x328))),console[br(0x215)]();}),B['command'](be(0x336))['description'](be(0xec))[be(0x1f7)](async(F,G)=>{const bs=be,H=G[bs(0x256)]('\x20');a0a8(bs(0x128)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa('No\x20exam\x20in\x20progress.\x20Use\x20\x22exam\x20start\x20<id>\x22\x20to\x20begin.');if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(-0x1b72*-0x1+-0x161f+0x553*-0x1);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x3e5)](a0[bt(0x288)])[bt(0x2b6)];bt(0x2c9)===a0[bt(0x2e8)][bt(0x27b)]||-0x133b+-0xadb+0x1e16===a1?(a0a0(),a0ab(bt(0x1c0)),a0ac(bt(0x146))):(a0aa('Time\x20expired.'),a0ac(bt(0x143)));}return!(-0x6*-0x469+0xc*0x1c3+-0x2f99);}return!(0x115a+-0x124*0x1a+0xc4e);}()))return;const K=parseInt(F,-0x1*-0x7b+-0x5*-0x353+-0x1110),L=J[bs(0x37a)]['find'](Z=>Z[bs(0x1ac)]===K);if(!L)return void a0aa(bs(0x3cb)+F+bs(0x280)+J['questions'][bs(0x2b6)]+').');let Q;if(bs(0xfa)===L['type']||bs(0xd9)===L[bs(0xde)]||bs(0x209)===L['type']||L[bs(0x214)]&&!L[bs(0x214)]['A']&&!L[bs(0x214)]['B']){if(Q=H[bs(0x1d8)](),/^submit\s+/i[bs(0x283)](Q)&&(Q=Q[bs(0x28d)](/^submit\s+/i,'')[bs(0x1d8)]()),Q=Q[bs(0x28d)](/^["'`]+|["'`]+$/g,'')[bs(0x1d8)](),!Q)return void a0aa(bs(0x369));if(/^[A-Da-d]$/['test'](Q))return a0aa('Q'+K+'\x20is\x20a\x20practical\x20question\x20—\x20answer\x20with\x20a\x20flag,\x20not\x20a\x20letter.'),void console[bs(0x215)](a0L['gray'](bs(0x238))+a0L[bs(0x349)](bs(0x128)+K+'\x20ICOA{your_flag}'));}else{if(Q=H[bs(0x2af)](),!['A','B','C','D'][bs(0x1c6)](Q))return void a0aa(bs(0x198));}if('demo-free'===J[bs(0x2e8)][bs(0x27b)]&&-0x22a2+-0x1abe*0x1+0x3d62===K&&0x3d3*-0x1+0xe3*-0x9+0xbce===(R(J)[bs(0x34c)][0x25c1+-0x1017+-0x15a8]||-0x38f+-0x4f*0x61+0x217e))return console[bs(0x215)](),console[bs(0x215)](a0L[bs(0x1a0)](bs(0x15d))+a0L['bold'][bs(0x1a0)]('help')+a0L[bs(0x1a0)](bs(0x2ca))),console['log'](a0L[bs(0x1a2)]('\x20\x20This\x20question\x20requires\x20you\x20to\x20use\x20help\x20before\x20answering.')),void console[bs(0x215)]();const V=J[bs(0x288)][K];J['interactions']||(J['interactions']=[]),J[bs(0x1c7)][bs(0x32a)]({'ts':new Date()[bs(0x2bd)](),'q':K,'type':V?bs(0x35b):'answer_submitted','input':Q,'result':V?bs(0x218)+V:bs(0x1ef)}),J[bs(0x288)][K]=Q,J[bs(0x3eb)]=K,a0Z(J),console[bs(0x215)](a0L[bs(0x1a2)]('\x20\x20\x20\x20✓\x20saved'));const W=J['session'][bs(0x1e0)];if(W&&bs(0x2c9)!==J[bs(0x2e8)]['examId']){const Z=(a0W()[bs(0x1d0)]||bs(0x26c))+'/api/icoa/exams/'+J[bs(0x2e8)][bs(0x27b)]+bs(0x297),a0={};a0['Content-Type']=bs(0xf3);const a1={};a1[bs(0x1e0)]=W,a1[bs(0x15a)]=K,a1[bs(0x2e9)]=Q,fetch(Z,{'method':'POST','headers':a0,'body':JSON[bs(0x278)](a1),'signal':AbortSignal[bs(0x190)](-0x1*0x2041+-0x1b74+0x4f3d)})['catch'](()=>{});}const X=Object[bs(0x3e5)](J['answers'])[bs(0x2b6)],Y=J[bs(0x2e8)][bs(0x380)];if(a0a9('Q'+K+':\x20'+Q+bs(0x30d)+X+'/'+Y+bs(0x3a5)),bs(0x2c9)===J[bs(0x2e8)]['examId']&&L[bs(0x2e9)]){const a2=[bs(0x346),bs(0x1b9),bs(0x2cf),bs(0x27f),bs(0x161)],a3=[bs(0x29c),bs(0x19a),bs(0x374)],a4=Q===L[bs(0x2e9)]?a2:a3,a5=a4[Math[bs(0x39c)](Math['random']()*a4['length'])];console['log'](a0L['gray'](bs(0x2a8)+a5));}if(K<J['questions'][bs(0x2b6)]){const a6=J[bs(0x37a)][K];J['_lastQ']=a6['number'],a0Z(J),U(a6,J['answers'][a6['number']]);}else X>=J[bs(0x37a)][bs(0x2b6)]&&(console[bs(0x215)](),console['log'](a0L[bs(0x349)][bs(0x2db)]('\x20\x20🎉\x20All\x20questions\x20answered!')),console['log'](),'demo-free'===J[bs(0x2e8)][bs(0x27b)]?(console['log'](a0L[bs(0x2bf)]('\x20\x20Type\x20')+a0L['bold'][bs(0x1bc)](bs(0x19c))+a0L[bs(0x2bf)](bs(0x3b0))),console[bs(0x215)]()):console[bs(0x215)](a0L[bs(0x2bf)]('\x20\x20Use:\x20exam\x20review\x20·\x20exam\x20submit')));}),B['command']('review')[be(0x193)]('Review\x20all\x20answers\x20before\x20submitting')[be(0x1f7)](()=>{const bu=be;a0a8(bu(0x37f));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');a0ae('Review:\x20'+F[bu(0x2e8)][bu(0x1b5)]),O(),console[bu(0x215)]();let G='\x20\x20';const H=Array['isArray'](F[bu(0xe6)])?F[bu(0xe6)]:[];for(const Q of F['questions']){const V=F[bu(0x288)][Q[bu(0x1ac)]],W=H[bu(0x1c6)](Q[bu(0x1ac)]),X=W?'★':'\x20';G+=V?W?a0L['bold'][bu(0x1a0)]('Q'+String(Q[bu(0x1ac)])['padStart'](0x13*-0xbf+0x25be+-0x178f)+X+'['+V+']\x20'):a0L['green']('Q'+String(Q['number'])['padStart'](0x24d4+0x844*0x2+0x2*-0x1aad)+'\x20['+V+bu(0x289)):W?a0L['bold']['yellow']('Q'+String(Q['number'])[bu(0x120)](-0x8b0+-0x2456+0x58*0x83)+X+bu(0x2ae)):a0L[bu(0x1a0)]('Q'+String(Q['number'])[bu(0x120)](0xf3d+0x107*0x25+0x122*-0x2f)+bu(0x2c8)),Q[bu(0x1ac)]%(-0x1ee9+0x5ff*0x1+0xa8*0x26)==0x1*0xbd7+-0x1cf*0x13+0x1686&&(console[bu(0x215)](G),G='\x20\x20');}G['trim']()&&console['log'](G);const J=Object[bu(0x3e5)](F['answers'])[bu(0x2b6)],K=F['session'][bu(0x380)],L=K-J;if(console[bu(0x215)](),a0af(bu(0x363),a0L[bu(0x349)][bu(0x2db)](J+'/'+K)),L>-0xaa7+-0xc21+0x1b*0xd8){const Y=F['questions']['filter'](Z=>!F[bu(0x288)][Z[bu(0x1ac)]])['map'](Z=>Z[bu(0x1ac)])[bu(0x256)](',\x20');a0af(bu(0x1c8),a0L['yellow'](L+'\x20(Q'+Y+')'));}H[bu(0x2b6)]>0x42e*-0x9+-0x6e*-0x4+-0xa*-0x397&&a0af(bu(0x29e),a0L['bold']['yellow']('★\x20'+H[bu(0x2b6)])+a0L[bu(0x1a2)]('\x20('+H[bu(0x358)](Z=>'Q'+Z)[bu(0x256)](',\x20')+')')),console[bu(0x215)](),H['length']>0x7e6+0x1f16+-0x26fc&&console[bu(0x215)](a0L[bu(0x1a2)](bu(0x187))+a0L[bu(0x2bf)](bu(0x345)+H[0xabd+0x669*0x6+-0x3133])),console[bu(0x215)](a0L[bu(0x1a2)](bu(0x1c1))+a0L[bu(0x2db)][bu(0x1bc)](bu(0x19c))+a0L[bu(0x1a2)]('\x20to\x20submit\x20for\x20grading.'));}),B['command'](be(0x2d5))[be(0x193)](be(0x212))[be(0x1f7)](async(J,K)=>{const bv=be;a0a8(bv(0x225)+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&bv(0x14a)===J&&!K&&(L[bv(0x21a)]=!(0x1c8d+-0xe82+-0xe0b),a0Z(L)),!L)return void a0aa(bv(0x138));const Q=Object[bv(0x3e5)](L[bv(0x288)])[bv(0x2b6)],V=L[bv(0x2e8)][bv(0x380)],W=V-Q;if(-0x1922+0x110+-0xc09*-0x2===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void(bv(0x2c9)===L['session']['examId']||a1?(a0a0(),a0ab(bv(0x2c5)),a0ac(bv(0x146))):(a0ab(bv(0x156)),a0ac(bv(0x123))));}const X=a0a1(),Y=!!(X&&new Date()>=X);if(bv(0x2c9)!==L['session'][bv(0x27b)]&&!Y&&bv(0x14a)===J&&Q<-0x2*-0x1069+-0xa79+0x164f*-0x1){if((K||'')[bv(0x1d8)]()!==String(Q))return console[bv(0x215)](),console['log'](a0L[bv(0x19d)](bv(0x260))),console['log'](a0L[bv(0x2db)]['red'](bv(0x320)+Q+'/'+V+'\x20answered\x20—\x20accidental\x20submit\x20guard')),console[bv(0x215)](a0L['red'](bv(0x260))),console[bv(0x215)](),console[bv(0x215)](a0L['white'](bv(0x3bd))+a0L[bv(0x2db)][bv(0x1a0)](''+Q)+a0L[bv(0x2bf)](bv(0x22c))+a0L['white'](''+V)+a0L[bv(0x2bf)](bv(0x393))),console[bv(0x215)](a0L[bv(0x2bf)](bv(0x17a))+a0L[bv(0x2db)][bv(0x19d)](Q+'/'+V+bv(0x117))),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20To\x20go\x20back\x20and\x20answer\x20more:')),console[bv(0x215)](a0L['gray'](bv(0x1ee))+a0L[bv(0x1bc)](bv(0x29d))+a0L[bv(0x1a2)](bv(0x301))),console[bv(0x215)](a0L[bv(0x1a2)](bv(0x1ee))+a0L['cyan'](bv(0x37f))+a0L[bv(0x1a2)]('\x20\x20(see\x20which\x20questions\x20are\x20blank)')),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0x370))+a0L[bv(0x2db)][bv(0x1a0)](''+Q)+a0L['bold'][bv(0x2bf)](bv(0x3bb))),console[bv(0x215)](a0L[bv(0x1a2)]('\x20\x20\x20\x20')+a0L[bv(0x2db)][bv(0x1bc)](bv(0x152)+Q)),console[bv(0x215)](a0L[bv(0x1a2)](bv(0x158)+Q+bv(0x124))),console[bv(0x215)](),void(L['_submitConfirmed']&&(delete L['_submitConfirmed'],a0Z(L)));L[bv(0x21a)]=!(-0x84*-0x9+-0x2f+0xa3*-0x7),a0Z(L);}if('demo-free'!==L['session'][bv(0x27b)]){const a2=!(-0x2343+0x7*0x39+-0x2*-0x10da)===L['_submitConfirmed'],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console[bv(0x215)](),console['log'](a0L['red'](bv(0x2bc))),console['log'](a0L[bv(0x2db)][bv(0x19d)](bv(0x3d8))),console[bv(0x215)](a0L['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bv(0x215)](),console['log'](a0L[bv(0x2bf)](bv(0x1d2)+a0L[bv(0x2db)][bv(0x349)](Q+'/'+V)+bv(0x274))),W>-0x1cb4+0x6ea+-0x2*-0xae5){const a6=L[bv(0x37a)][bv(0x3e6)](a7=>!L[bv(0x288)][a7[bv(0x1ac)]])[bv(0x358)](a7=>'Q'+a7[bv(0x1ac)])[bv(0x256)](',\x20');console['log'](a0L[bv(0x1a0)]('\x20\x20'+W+'\x20unanswered:\x20'+a6));}const a5=Array[bv(0x259)](L[bv(0xe6)])?L[bv(0xe6)]:[];return a5[bv(0x2b6)]>0x1ad4+0x5b*0x19+0x23b7*-0x1&&console[bv(0x215)](a0L['yellow'](bv(0x3b1)+a5['length']+bv(0x2f4)+a5[bv(0x358)](a7=>'Q'+a7)['join'](',\x20'))),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x2bf)]('\x20\x20Answers\x20are\x20')+a0L[bv(0x2db)][bv(0x19d)](bv(0x2b9))+a0L[bv(0x2bf)]('\x20—\x20you\x20cannot\x20change\x20them\x20after\x20submit.')),console['log'](),console[bv(0x215)](a0L['bold']['white'](bv(0x1b7))+a0L[bv(0x2db)]['cyan'](bv(0x302))),console[bv(0x215)](a0L[bv(0x2bf)](bv(0xee))+a0L[bv(0x1bc)](bv(0x37f))+a0L['gray'](bv(0x3ef))+a0L['cyan'](bv(0x351))),void console['log']();}a2&&(delete L[bv(0x21a)],a0Z(L));}if(console[bv(0x215)](),'demo-free'===L[bv(0x2e8)][bv(0x27b)]){try{E(0x28b*-0x8+0x1ac9+0x1*-0x671,a0ai(bv(0x2cd))),await q(-0x71*-0x3+-0xfd7+0xfb0*0x1);let a7=0x5d*-0x5d+-0xbd5+-0x2*-0x16cf;const a8=[],a9={};for(const al of L[bv(0x37a)]){const am=al['category']||bv(0x25a),an={};an[bv(0x262)]=0x0,an[bv(0x175)]=0x0,(a9[am]||(a9[am]=an),a9[am][bv(0x175)]++);const ao=L['answers'][al[bv(0x1ac)]];ao&&al[bv(0x2e9)]&&ao===al['answer']?(a7++,a9[am][bv(0x262)]++):a8[bv(0x32a)](al['number']);}a8[bv(0x375)]((ap,aq)=>ap-aq),E(0x12f*-0x9+-0x1c07+-0x683*-0x6,a0ai(bv(0x3ea))),console[bv(0x215)]();const aa=new Date(L['session'][bv(0x18c)])['getTime'](),ab=Math[bv(0x3e2)](0x37*0x6d+0x854*-0x1+-0xf17,Math[bv(0x23c)]((Date[bv(0x355)]()-aa)/(-0xace+-0x15*0x14d+0x2a07))),ac=Math[bv(0x39c)](ab/(-0x169*0x3+0x1*0x173+0x182*0x2))+'m\x20'+ab%(-0x1*0x66b+0x5*0x143+-0x58*-0x1)+'s',ad=[...L['questions']],ae={...L[bv(0x288)]},af=R(L);a0a0();const ag=Math[bv(0x23c)](a7/V*(-0x346+-0x29*0xbd+0x21ef)),ah=a0W(),ai={};ai['Content-Type']='application/json',(fetch(bv(0x235),{'method':'POST','headers':ai,'body':JSON[bv(0x278)]({'type':bv(0xdf),'score':a7,'total':V,'lang':ah['language']||'en','help_used':af['used'],'help_max':af['max'],'tokens_used':0x0,'solved':ag>=0xf36+0x1*-0x1ad5+0x1*0xbdb?-0xc82+0xd4+0xbaf:0x5c4+0x22*0xb9+-0x1e56,'timestamp':new Date()[bv(0x2bd)](),'interactions':L['interactions']||[]}),'signal':AbortSignal['timeout'](-0x1*-0x989+-0x1589+-0x4*-0x7e2)})[bv(0x10b)](()=>{}),console['log'](),console[bv(0x215)](a0L[bv(0x1bc)]('\x20\x20═══════════════════════════════════════')),console['log'](),console['log'](a0L['bold'][bv(0x2bf)](bv(0x2eb))),console['log'](a0L['bold']['white'](bv(0x167))),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0xea))),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0x160))),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bv(0x215)](a0L[bv(0x2db)]['white'](bv(0x199))),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x2db)](bv(0x322)+a0ai(bv(0x1ba))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console[bv(0x215)](a0L[bv(0x2db)]('\x20\x20\x20'+(ag>=-0x1*0x10fd+0x5dc+-0xb5d*-0x1?a0L[bv(0x349)](a0ai(bv(0x22b))):a0L['red'](a0ai(bv(0x1bf)))))),console[bv(0x215)](a0L[bv(0x1a2)](bv(0x2fd)+ac)),console['log'](),console[bv(0x215)](a0L[bv(0x1a0)](bv(0x3aa))),console[bv(0x215)](a0L[bv(0x1a2)](bv(0x213))),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x1bc)](bv(0x25b))),await q(-0x1d16+0x752*-0x1+0x3020));const aj=Object[bv(0x268)](a9);if(aj[bv(0x2b6)]>0x11*0xe1+0x1369+-0x2*0x112d){console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20By\x20category'));const ap=0x1*0x1ff+-0x1*-0xd1f+0xc1*-0x14;for(const [aq,ar]of aj){const as=ar['total']>0x131*-0x16+0xfdd+0x3*0x373?Math['round'](ar['correct']/ar[bv(0x175)]*(0x2c5+0x1d13+0xa7c*-0x3)):0x67c*0x1+-0x94e+-0x13*-0x26,at=ar['total']>-0x186b+-0x1b46*0x1+0x33b1*0x1?Math[bv(0x23c)](ar['correct']/ar[bv(0x175)]*ap):-0x1*0x1ed4+-0x67b+0x254f,au=ap-at,av=as>=0x1*-0xdeb+-0x166a+0x35*0xb1?a0L[bv(0x349)]:as>=0x1*-0x1a6c+0x2196+-0x6f8?a0L[bv(0x1a0)]:a0L['red'],aw=av('█'['repeat'](at))+a0L[bv(0x1a2)]('░'['repeat'](au));console[bv(0x215)](bv(0x1ee)+a0L[bv(0x2bf)](aq[bv(0x294)](0x1c9+-0x1*0x64e+0x1*0x499))+'\x20'+aw+'\x20\x20'+av(ar[bv(0x262)]+'/'+ar[bv(0x175)])+a0L[bv(0x1a2)]('\x20('+as+'%)'));}console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x1bc)](bv(0x196)));}const ak=a0a4(a7,V);if(a7===ak['best']&&ak[bv(0xeb)]>0x62*0xc+0x1041+-0x14d8&&a7>-0x3*0x416+-0x1d1*-0xd+-0xb5b&&(console['log'](),console[bv(0x215)](a0L['bold'][bv(0x349)]('\x20\x20★\x20New\x20personal\x20best!'))),a8[bv(0x2b6)]>0x7af*0x1+0x4c4*0x5+0xa81*-0x3){const ax=ad[bv(0x3e6)](ay=>a8[bv(0x1c6)](ay[bv(0x1ac)]))['map'](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(0x16bb+0x19*0x10d+-0x2548),a8[bv(0x2b6)]>0x2497+-0x1*0x1a5f+-0xa38){console['log'](),console[bv(0x215)](a0L['yellow']('\x20\x20'+a8['length']+'\x20'+a0ai('incorrectIntro'))),console['log']();for(const ay of a8){const az=ad['find'](aC=>aC[bv(0x1ac)]===ay);if(!az)continue;const aA=ae[ay],aB=az['answer'];console['log'](a0L[bv(0x2bf)](bv(0x2b1)+ay+'.\x20'+az[bv(0x1f3)])),aA?console['log'](a0L[bv(0x19d)](bv(0x1ee)+a0ai(bv(0x1d4))+':\x20'+aA+'.\x20'+az[bv(0x214)][aA])):console[bv(0x215)](a0L['yellow']('\x20\x20\x20\x20'+a0ai(bv(0x1d4))+bv(0x32d))),aB&&console['log'](a0L[bv(0x349)](bv(0x1ee)+a0ai(bv(0x262))+':\x20'+aB+'.\x20'+az[bv(0x214)][aB])),az['explanation']&&console[bv(0x215)](a0L[bv(0x1a2)]('\x20\x20\x20\x20→\x20'+az[bv(0x206)])),console['log']();}}else console[bv(0x215)](),console['log'](a0L[bv(0x349)]('\x20\x20'+a0ai(bv(0x1ed))));await q(-0x1436+0xa*0x131+-0x2*-0x80e),console[bv(0x215)](),console['log'](a0L[bv(0x1bc)](bv(0x196))),console['log'](a0L['white']('\x20\x20'+a0ai('nextLabel')+'\x20')+a0L[bv(0x2db)][bv(0x349)](bv(0xfa))+a0L[bv(0x1a2)](bv(0x105)+a0ai(bv(0x14c)))),console[bv(0x215)](a0L[bv(0x1a2)]('\x20\x20'+a0ai(bv(0x270)))),console['log'](a0L[bv(0x1bc)](bv(0x196))),console['log']();}catch(aC){console[bv(0x215)](),a0aa(aC[bv(0x1a8)]);}return;}const Z=L[bv(0x2e8)][bv(0x1e0)];try{let aD;if(E(-0x1d21+-0x1*0x1505+0x1*0x3226,bv(0x3b5)),Z){const aN={};aN[bv(0x191)]=bv(0xf3);const aO={};aO[bv(0xfa)]=0x0,aO[bv(0xd9)]=0x0;const aP=a0W()[bv(0x1d0)]||'https://practice.icoa2026.au',aQ=await fetch(aP+bv(0x23a)+L[bv(0x2e8)]['examId']+bv(0x293),{'method':'POST','headers':aN,'body':JSON[bv(0x278)]({'token':Z,'answers':L[bv(0x288)],'interactions':L['interactions']||[],'aiUsage':L['aiUsage']||aO,'bookmarks':L[bv(0xe6)]||[]}),'signal':AbortSignal[bv(0x190)](-0x59fd+0x65f*-0xa+0xd44b)});if(!aQ['ok']){const aR=await aQ[bv(0x159)]()[bv(0x10b)](()=>({'message':bv(0x2ff)}));throw new Error(aR[bv(0x1a8)]||bv(0x2ff));}aD=(await aQ['json']())[bv(0x3c4)];}else{const aS=M();if(!aS)return;aD=await aS['submitExam'](L[bv(0x2e8)]['examId'],L[bv(0x288)]);}E(-0x4d5*0x3+0xaa9+0x102*0x4,bv(0x25f)),await q(-0x77*-0x7+0x3f2*0x8+-0x3*0xb37),E(-0xd4d+0x1597+-0x7e6,bv(0x2f7)),console[bv(0x215)]();const aE={};aE[bv(0xfa)]=0x0,aE[bv(0xd9)]=0x0;const aF={'answered':Object['keys'](L['answers'])[bv(0x2b6)],'total':L['session'][bv(0x380)],'bookmarks':Array['isArray'](L['bookmarks'])?L[bv(0xe6)][bv(0x2b6)]:0x7de*-0x4+0x4*0x4e4+-0x2fa*-0x4,'help':R(L),'aiUsage':L[bv(0x207)]||aE,'interactions':(L[bv(0x1c7)]||[])[bv(0x2b6)],'durationMin':L[bv(0x2e8)]['durationMinutes']||-0x1a3e+-0x19ac+0x33ea*0x1,'confirmedAt':L[bv(0x2e8)]['confirmedAt']||L['session'][bv(0x18c)],'examId':L['session'][bv(0x27b)]};a0a0();const aG=Math[bv(0x3e2)](-0x9e8+-0x12da+-0x1*-0x1cc2,Math['round']((Date[bv(0x355)]()-new Date(aF['confirmedAt'])[bv(0x357)]())/(0x423*0x7+-0x238d+0xa80))),aH=Math[bv(0x39c)](aG/(0xc11*-0x1+0x183+0x2*0x565)),aI=aG%(0x1b*0x142+0x9*-0xa9+0x943*-0x3);console[bv(0x215)](),console['log'](a0L[bv(0x1bc)](bv(0x1fb))),console['log'](),console[bv(0x215)](a0L[bv(0x2db)]['white'](bv(0x2eb))),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20\x20██║██╔════╝██╔═══██╗██╔══██╗')),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0xea))),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0x160))),console[bv(0x215)](a0L['bold'][bv(0x2bf)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console['log'](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bv(0x215)]();const aJ=aD[bv(0x22b)]?a0L[bv(0x349)][bv(0x2db)](bv(0x2be)):a0L[bv(0x1a0)][bv(0x2db)]('\x20\x20\x20○\x20\x20Submission\x20accepted');console['log'](aJ),console['log'](),console[bv(0x215)](a0L[bv(0x2bf)](bv(0x354))),console[bv(0x215)](a0L[bv(0x2bf)](bv(0x38f))),console[bv(0x215)](a0L[bv(0x2bf)](bv(0x32e))),console[bv(0x215)](),console[bv(0x215)](a0L[bv(0x1bc)](bv(0x196))),console['log'](),console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)]('\x20\x20Your\x20run'));const aK=aF['total']-aF[bv(0x2f1)];console[bv(0x215)](bv(0x1ee)+a0L[bv(0x1a2)](bv(0x367))+a0L[bv(0x2bf)](aF['answered']+'/'+aF[bv(0x175)])+(aK>0xfd*0x3+-0x43a*-0x1+-0x7*0x107?a0L['gray'](bv(0x165)+aK+bv(0xf4)):'')),console[bv(0x215)](bv(0x1ee)+a0L[bv(0x1a2)](bv(0x1fe))+a0L[bv(0x2bf)](aH+'m\x20'+aI+'s')+a0L[bv(0x1a2)](bv(0x24b)+aF['durationMin']+'m\x20total')),aF['bookmarks']>-0x20a8+0x2*0x1df+-0xe75*-0x2&&console[bv(0x215)]('\x20\x20\x20\x20'+a0L[bv(0x1a2)]('Flagged:\x20\x20\x20')+a0L['yellow']('★\x20'+aF[bv(0xe6)])),console[bv(0x215)]();const aL=aD[bv(0x178)];if(aL&&Object[bv(0x3e5)](aL)[bv(0x2b6)]>=0xe36+-0xe63*0x1+-0x2f*-0x1){const aT=Object['entries'](aL)[bv(0x3e6)](([,aY])=>aY[bv(0x175)]>0x4*0x872+-0xe1*-0x10+0x2fd8*-0x1)[bv(0x358)](([aY,aZ])=>({'cat':aY,'pct':aZ['correct']/aZ[bv(0x175)]}))[bv(0x375)]((aY,aZ)=>aZ[bv(0xf7)]-aY['pct']),aU=Math[bv(0x3c2)](0xe*0x30+-0x1e0+0xa*-0x13,Math[bv(0x127)](aT['length']/(0xe*0x10b+-0x1783+-0x476*-0x2))),aV=Math[bv(0x3c2)](-0x11c4+0x700+0xe*0xc5,Math['ceil'](aT[bv(0x2b6)]/(0x113*-0xb+0xb7f*0x1+0x55))),aW=aT[bv(0x1cc)](0xbf3+0x170d+-0x2300,aU)[bv(0x358)](aY=>aY[bv(0x252)]),aX=aT['slice'](-aV)[bv(0x358)](aY=>aY[bv(0x252)]);aW[bv(0x2cc)](aY=>aX['includes'](aY))||(console[bv(0x215)](a0L[bv(0x2db)][bv(0x2bf)](bv(0x241))),console['log']('\x20\x20\x20\x20'+a0L['green'](bv(0x2de))+a0L[bv(0x2bf)](aW['join'](',\x20'))),console[bv(0x215)](bv(0x1ee)+a0L[bv(0x1a0)](bv(0x305))+a0L[bv(0x2bf)](aX[bv(0x256)](',\x20'))),console['log'](a0L[bv(0x1a2)]('\x20\x20\x20\x20(relative\x20to\x20other\x20categories\x20—\x20numeric\x20scores\x20go\x20to\x20your\x20exam\x20center)')),console['log']());}console[bv(0x215)](a0L[bv(0x2db)]['white'](bv(0x1c4))),console['log'](bv(0x1ee)+a0L[bv(0x1a2)](bv(0x31d))+a0L[bv(0x2bf)](aF[bv(0x1a9)][bv(0x2c7)]+'/'+aF[bv(0x1a9)][bv(0x3e2)])),console['log']('\x20\x20\x20\x20'+a0L[bv(0x1a2)](bv(0x243))+a0L['white'](aF[bv(0x207)][bv(0xfa)]+bv(0x1ff))+a0L['gray']('\x20\x20·\x20\x20')+a0L[bv(0x2bf)](aF['aiUsage']['ctf4ai']+bv(0x2c6))),console[bv(0x215)](),console['log'](a0L[bv(0x1bc)]('\x20\x20─────────────────────────────────────────────')),console['log'](),console[bv(0x215)](a0L[bv(0x2db)]['white']('\x20\x20What\x20next')),console['log'](a0L[bv(0x1a2)](bv(0x1c3))),console[bv(0x215)](a0L[bv(0x1a2)](bv(0x149))+a0L[bv(0x2bf)](bv(0xf8))+a0L[bv(0x1a2)](bv(0x1d3))),console[bv(0x215)](a0L['gray'](bv(0x365))+a0L[bv(0x2bf)](bv(0x307))),console[bv(0x215)]();const {showCToBUpgradePrompt:aM}=await import(bv(0x3be));aM(aF[bv(0x27b)],aD[bv(0x22b)]),console[bv(0x215)](a0L[bv(0x1a0)](bv(0x368))),console[bv(0x215)](a0L[bv(0x1bc)][bv(0x1a4)](bv(0x1c5))),console[bv(0x215)](),console['log'](a0L[bv(0x1bc)](bv(0x1fb))),console['log']();}catch(aY){console[bv(0x215)](),a0aa(aY['message']);}}),B[be(0x2a1)]('result\x20[id]')[be(0x193)](be(0x313))[be(0x1f7)](async F=>{const bw=be;a0a8('exam\x20result\x20'+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bw(0x397));F=J[bw(0x2e8)]['examId'];}const H=a0ag('Loading\x20result...');H[bw(0x2df)]();try{const K=await G['getResult'](F);H[bw(0x237)](bw(0x3a4)),console[bw(0x215)](),a0ae(K[bw(0x1b5)]),a0af(bw(0x25e),a0L[bw(0x2db)](K['score']+'/'+K['total'])),a0af(bw(0x1df),a0L[bw(0x2db)](K['percentage']+'%')),a0af('Status',K[bw(0x22b)]?a0L[bw(0x349)][bw(0x2db)](bw(0x1ec)):a0L[bw(0x19d)][bw(0x2db)](bw(0x188))),a0af('Submitted',K[bw(0x27d)]),console[bw(0x215)]();}catch(L){H['fail'](bw(0x164)),a0aa(L[bw(0x1a8)]);}}),B[be(0x2a1)](be(0x31e))[be(0x193)](be(0x38d))['action'](async J=>{const bx=be;a0a8(bx(0x2b5)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bx(0x36b)),V=K();if(V){const a2=V['session']['token'],a3=a0a1(),a4=!!a2&&a2[bx(0x1d8)]()[bx(0x2af)]()!==J[bx(0x1d8)]()[bx(0x2af)](),a5=!!a3&&a3['getTime']()+(0x58866+0x2*0x129eb+0x139b04)<Date[bx(0x355)]();if(a4&&a5)return Q(),console['log'](),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x2ce))),console[bx(0x215)](),console[bx(0x215)](a0L['white'](bx(0x37e))+a0L[bx(0x2db)][bx(0x1bc)](bx(0x285)+J)),void console[bx(0x215)]();if(!a2&&J)return V[bx(0x2e8)][bx(0x1e0)]=J['trim'](),L(V),console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x349)](bx(0x1f4))),console[bx(0x215)](a0L['gray'](bx(0x19f))+a0L[bx(0x2bf)]('lang\x20<code>')+a0L[bx(0x1a2)]('\x20·\x20')+a0L['white']('exam\x20submit')),console['log'](),console[bx(0x215)](a0L['bold'][bx(0x2bf)](bx(0x137))),console['log'](a0L[bx(0x1a2)]('\x20\x20\x20\x20→\x20')+a0L['bold'][bx(0x1bc)](bx(0x29d))+a0L['gray']('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bx(0x215)](a0L[bx(0x1a2)]('\x20\x20\x20\x20→\x20')+a0L[bx(0x2db)][bx(0x1bc)](bx(0x37f))+a0L[bx(0x1a2)](bx(0x172))),void console[bx(0x215)]();const a6=Object[bx(0x3e5)](V['answers'])[bx(0x2b6)],a7=V['session'][bx(0x380)],a8=a0a1(),a9=a8?Math[bx(0x3e2)](0x2049+0x43b+-0x2484,Math[bx(0x23c)]((a8['getTime']()-Date[bx(0x355)]())/(0x15c25+0x1*-0x76df+0x51a))):null;return console['log'](),console[bx(0x215)](a0L[bx(0x1a0)]('\x20\x20⚠\x20\x20An\x20exam\x20is\x20already\x20in\x20progress\x20on\x20this\x20device.')),console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x35e))+a0L['white'](V['session']['examName'])),a2&&console[bx(0x215)](a0L[bx(0x1a2)](bx(0x1fd))+a0L[bx(0x2bf)](a2)+(a2===J?a0L[bx(0x349)]('\x20\x20(same\x20as\x20you\x20just\x20typed)'):a0L[bx(0x1a0)](bx(0x103)))),console[bx(0x215)](a0L[bx(0x1a2)]('\x20\x20Answers:\x20')+a0L['white'](a6+'/'+a7)),null!==a9&&console[bx(0x215)](a0L[bx(0x1a2)](bx(0x2f5))+a0L[bx(0x2bf)](a9+'\x20min\x20remaining')),console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x2db)][bx(0x2bf)](bx(0x34f))),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x344))+a0L[bx(0x2db)][bx(0x1bc)](bx(0x29d))+a0L[bx(0x1a2)]('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x344))+a0L[bx(0x2db)]['cyan'](bx(0x37f))+a0L[bx(0x1a2)](bx(0x172))),console[bx(0x215)](a0L[bx(0x1a2)]('\x20\x20\x20\x20→\x20')+a0L[bx(0x2db)][bx(0x1bc)](bx(0x19c))+a0L[bx(0x1a2)](bx(0x18d))),a2&&a2!==J&&(console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x1a0)](bx(0x170))),console[bx(0x215)](a0L['yellow'](bx(0x110))),console['log'](),console[bx(0x215)](a0L['gray'](bx(0x3bc))),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x200))+a0L[bx(0x2db)][bx(0x1bc)](bx(0x142))+a0L[bx(0x1a2)](bx(0x282)))),void console[bx(0x215)]();}const {isNativeWindowsCmd:W}=await import('../lib/platform.js');if(!W()&&!a0am()){let aa=!(-0x3*0x833+0xb*0x23+0x1719);try{const ab={};ab[bx(0x191)]=bx(0xf3);const ac=a0W()[bx(0x1d0)]||bx(0x26c),ad=await fetch(ac+bx(0x28c),{'method':bx(0x316),'headers':ab,'body':JSON[bx(0x278)]({'token':J['trim'](),'deviceHash':a0aj(),'peek':!(-0x2*0xc1a+-0x2e*-0x1f+0x12a2)}),'signal':AbortSignal[bx(0x190)](-0xfdc+0x1460*-0x1+0x37c4)});if(ad['ok']){const ae=await ad[bx(0x159)]();(ae?.['data']?.['exam_id']||'')[bx(0x3b6)]('-c')&&(aa=!(0x110c*0x2+0x11*0x18a+-0x3c42));}}catch{}if(!aa)return console['log'](),a0ab('Pre-exam\x20setup\x20required\x20before\x20entering\x20a\x20token.'),console[bx(0x215)](a0L[bx(0x1a2)](bx(0x10c))+a0L[bx(0x2db)][bx(0x1bc)](bx(0x18b))),console['log'](a0L[bx(0x1a2)]('\x20\x20Or\x20type\x20')+a0L['bold']['cyan'](bx(0x351))+a0L[bx(0x1a2)](bx(0x16a))),console['log'](a0L['gray'](bx(0x277))),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',X['BW']='en';const Y=X[J[bx(0x1d8)]()[bx(0x32f)](-0x667+-0x24df*0x1+0x2b46,-0x702+-0xe70+0x1574)[bx(0x2af)]()],Z=a0W(),a0=Z[bx(0x1d0)]||bx(0x26c),a1=Y||Z[bx(0x223)]||'en';Y&&Y!==(Z[bx(0x223)]||'en')&&a0X({'language':Y}),console['log'](),E(-0x26aa+-0xf5f+0x57*0x9f,'Validating\x20token...');try{const af={};af['Content-Type']=bx(0xf3);const ag=await fetch(a0+bx(0x28c),{'method':bx(0x316),'headers':af,'body':JSON['stringify']({'token':J[bx(0x1d8)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal['timeout'](-0x2cc2+-0x411c+-0xd8a*-0xb)});if(!ag['ok']){E(-0x1*0x8ad+-0xfff+0x2*0xc56,''),console[bx(0x215)]();const ao=await ag[bx(0x159)]()['catch'](()=>({'message':bx(0x11d)}));return a0aa(ao[bx(0x1a8)]||bx(0x21f)),void a0ac(bx(0x2fe));}E(-0x16b2+0x7e3*-0x2+0x2696,bx(0xf2));const ah=await ag[bx(0x159)](),{session:ai,questions:aj,languages:ak}=ah[bx(0x3c4)];E(0x15d0*0x1+0x169e+0x2*-0x1619,bx(0x3df)),await q(0xdfe+0x1efd+-0x2c33),E(-0x5*0x3bf+0x8*-0x4bd+0x1*0x3907,'Ready!'),console['log'](),console[bx(0x215)](),a0ae(ai[bx(0x1b5)]),console[bx(0x215)](),a0af('Questions',ai[bx(0x380)]+bx(0x388)),a0af(bx(0x3db),ai[bx(0x25c)]+bx(0x2fb)),a0af(bx(0x2dc),(ai[bx(0x398)]||0x2362+0x1*0x1b50+-0x32*0x13e)+bx(0x1b6)),a0af(bx(0x3f2),(ai['passingScore']||0x1731*-0x1+0x5*-0x3aa+0x29ce)+bx(0x249)),console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x2bf)]('\x20\x20Assistance:')),console[bx(0x215)](a0L[bx(0x2bf)](bx(0x13e))),console['log'](a0L[bx(0x2bf)](bx(0x360))),console['log'](a0L[bx(0x2bf)](bx(0x311))),ak&&ak[bx(0x2b6)]>-0x5db*-0x1+-0x2339+0x1d5f&&console[bx(0x215)](a0L[bx(0x2bf)](bx(0x220)+ak[bx(0x256)](',\x20')+'\x20—\x20switch\x20with:\x20lang\x20<code>')),console[bx(0x215)](),console[bx(0x215)](a0L[bx(0x1a0)](bx(0x31c))),console[bx(0x215)](a0L[bx(0x2bf)](bx(0x2e2))),console[bx(0x215)](a0L[bx(0x2bf)](bx(0x208))),console[bx(0x215)](a0L['white'](bx(0x38b))),console[bx(0x215)](),await new Promise(ap=>{const by=bx;process[by(0xe2)][by(0x21b)](a0L[by(0x2db)][by(0x1a0)](by(0x2a7)));const aq=!!process[by(0x12c)][by(0x3da)]&&process[by(0x12c)][by(0x226)];process[by(0x12c)][by(0x3da)]&&process['stdin'][by(0x11f)]&&process[by(0x12c)][by(0x11f)](!(0xe06+-0x7*0x19f+-0x2ac));const ar=as=>{const bz=by,at=as['toString']();(at[bz(0x1c6)]('\x0a')||at['includes']('\x0d'))&&(process[bz(0x12c)]['removeListener']('data',ar),process[bz(0x12c)][bz(0x3da)]&&process[bz(0x12c)][bz(0x11f)]&&process['stdin'][bz(0x11f)](aq),process['stdout'][bz(0x21b)]('\x0a'),ap());};process[by(0x12c)]['on'](by(0x3c4),ar),process[by(0x12c)]['resume']();});const al=new Date()['toISOString']();ai[bx(0x1b8)]=al,ai[bx(0x1e0)]=J['trim']();try{const ap=Date[bx(0x355)](),aq=await fetch(a0+bx(0x147),{'method':bx(0x286),'signal':AbortSignal['timeout'](0x1c59+-0x14a1*-0x1+-0xfb*0x26)});if(aq['ok']){const ar=await aq['json'](),as=ar?.[bx(0x3c4)]?.[bx(0x24d)];if(bx(0x1ac)==typeof as&&as>-0x2643+-0x7*0x209+0x3482){const at=(ap+Date[bx(0x355)]())/(-0xec6+-0x7ed+0x16b5);ai[bx(0x250)]=Math['round'](as-at),ai[bx(0x3a2)]=as+(-0x1c5f+-0x2187+-0x42*-0xf1)*ai[bx(0x25c)]*(0x22e1+-0xb*0x101+-0x13ee);}}}catch{}const am={};am['ai4ctf']=0x0,am[bx(0xd9)]=0x0;const an={};an[bx(0x2e8)]=ai,an[bx(0x37a)]=aj,an[bx(0x288)]={},an[bx(0x1c7)]=[],an['aiUsage']=am,(a0Z(an),console['log'](),a0a9(bx(0x27a)),a0af(bx(0xdb),ai[bx(0x25c)]+bx(0x12a)),aj[bx(0x2b6)]>-0x14*-0xa0+-0x421*0x7+-0x11*-0xf7&&U(aj[-0xcb9+0x1*-0x5c7+0x4*0x4a0]));}catch(au){console[bx(0x215)](),'TimeoutError'===au[bx(0x211)]?a0aa('Server\x20not\x20reachable.\x20Check\x20your\x20internet\x20connection.'):a0aa(au[bx(0x1a8)]||bx(0x231));}}),B[be(0x2a1)](be(0x338),{'hidden':!(0x2*-0x3b3+0xb28+-0x3c2)})[be(0x193)]('Abandon\x20current\x20exam\x20session\x20and\x20wipe\x20local\x20state\x20(recovery\x20only)')['action'](async()=>{const bA=be;a0a8('exam\x20reset');const {getRealExamState:F,clearExamState:G}=await import(bA(0x36b)),H=F();if(!H)return console['log'](),console[bA(0x215)](a0L[bA(0x1a2)](bA(0x362))),void console['log']();const J=H[bA(0x2e8)][bA(0x1e0)];console['log'](),console[bA(0x215)](a0L[bA(0x1a0)](bA(0x2ab))),console[bA(0x215)](a0L[bA(0x1a2)](bA(0x3cd))+a0L[bA(0x2bf)](H['session'][bA(0x1b5)])),J&&console[bA(0x215)](a0L[bA(0x1a2)](bA(0x168))+a0L[bA(0x2bf)](J)),console[bA(0x215)](a0L[bA(0x1a2)](bA(0x16c))),console[bA(0x215)](a0L[bA(0x1a2)](bA(0x20e))),console[bA(0x215)](),console[bA(0x215)](a0L['gray'](bA(0x112))+a0L[bA(0x2db)][bA(0x1bc)](bA(0x338))+a0L[bA(0x1a2)]('\x20to\x20confirm,\x20or\x20anything\x20else\x20to\x20cancel:'));const {getMainRl:K}=await import(bA(0x3dc)),L=K();if('reset'!==(await new Promise(Q=>{const bB=bA;if(L){const V=L[bB(0x2d9)](bB(0x34e))[bB(0x1cc)]();L[bB(0x19e)]('line'),L['setPrompt'](bB(0x12e)),L['prompt'](),L[bB(0x18e)]('line',W=>{const bC=bB;for(const X of V)L['on'](bC(0x34e),X);Q(W['trim']());});}else((async()=>{const bD=bB,W={};W[bD(0x189)]=process[bD(0x12c)],W[bD(0x271)]=process[bD(0xe2)];const {createInterface:X}=await import(bD(0x15c)),Y=X(W);Y[bD(0x15a)]('\x20\x20>\x20',Z=>{const bE=bD;Y[bE(0x228)](),Q(Z[bE(0x1d8)]());});})());}))[bA(0x327)]())return console['log'](a0L[bA(0x1a2)](bA(0x366))),void console['log']();G(),console['log'](),console['log'](a0L[bA(0x349)]('\x20\x20✓\x20Exam\x20state\x20cleared.')),console[bA(0x215)](a0L['gray']('\x20\x20You\x20can\x20now\x20enter\x20a\x20new\x20token\x20with\x20')+a0L[bA(0x2db)][bA(0x1bc)](bA(0x21c))),console['log']();}),B[be(0x2a1)](be(0xf8))['description'](be(0x34d))[be(0x1f7)](async()=>{const bF=be;a0a8(bF(0x1e4)),N('demo-enter');const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bF(0x2a4));a0W()[bF(0x1d5)]||(await(async function(){const bG=bF;let a0=!(-0xb*-0x32e+0x71*-0x35+0x3dc*-0x3);const a1=process['stdin'],a2=()=>{a0=!(-0x201d*0x1+-0x23f*0xe+-0x3f8f*-0x1);},a3=a1[bG(0x3da)]&&bG(0xfc)==typeof a1[bG(0x11f)];a3&&(a1['setRawMode'](!(-0x2*-0x60d+-0x25fe+0x2*0xcf2)),a1['resume'](),a1[bG(0x18e)]('data',a2));const a4=async a5=>{let a6=-0x5fb*0x2+-0x1caf+0x5*0x821;for(;a6<a5&&!a0;)await q(-0x53*-0x1e+-0xd1b*0x1+0x3b1),a6+=0xed3+0x1b01*-0x1+-0xf6*-0xd;};try{if(console['clear'](),console[bG(0x215)](),console[bG(0x215)](a0L['gray'](bG(0x322))+a0L['dim']('(press\x20any\x20key\x20to\x20skip)')),console[bG(0x215)](),console['log'](a0L[bG(0x2db)][bG(0x2bf)](bG(0x2eb))),console[bG(0x215)](a0L['bold'][bG(0x2bf)](bG(0x167))),console[bG(0x215)](a0L[bG(0x2db)]['white']('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console['log'](a0L[bG(0x2db)]['white'](bG(0x160))),console[bG(0x215)](a0L['bold'][bG(0x2bf)](bG(0xda))),console[bG(0x215)](a0L[bG(0x2db)][bG(0x2bf)](bG(0x199))),console[bG(0x215)](),console[bG(0x215)](a0L[bG(0x2db)][bG(0x1a0)]('\x20\x20\x20International\x20Cyber\x20Olympiad\x20in\x20AI')),console[bG(0x215)](a0L['gray'](bG(0x2f9))),await a4(-0x13cd+-0x310*-0x8+-0x511*-0x1),a0)return;if(console['log'](),console[bG(0x215)](a0L['white']('\x20\x20\x20What\x20you\x27ll\x20do\x20today:')),console[bG(0x215)](),await a4(0x4*-0x559+-0xa36*-0x2+0x350),a0)return;if(console[bG(0x215)](a0L['cyan'](bG(0x11a))+a0L['white']('Answer\x2010\x20quick\x20questions')+a0L[bG(0x1a2)](bG(0x1e2))),await a4(-0x8cd+-0x7f0+0x3e5*0x5),a0)return;if(console[bG(0x215)](a0L[bG(0x349)](bG(0x11a))+a0L[bG(0x2bf)]('Team\x20up\x20with\x20AI\x20to\x20solve\x20CTFs')+a0L[bG(0x1a2)]('\x20\x20\x20\x20(ai4ctf)')),await a4(-0x107*-0x7+0x3bd*-0x1+-0xb8),a0)return;if(console[bG(0x215)](a0L['red'](bG(0x11a))+a0L[bG(0x2bf)](bG(0xe0))+a0L[bG(0x1a2)](bG(0x1aa))),await a4(0x47*0x65+-0x1a*0xe+-0x1713),a0)return;if(console[bG(0x215)](),console[bG(0x215)](a0L['bold']['white'](bG(0x33c))+a0L[bG(0x2db)][bG(0x1a0)]('IS')+a0L[bG(0x2db)][bG(0x2bf)]('\x20the\x20competition.')),console['log'](),await a4(0x214d+0x2*-0xf95+-0x3b9*-0x1),a0)return;if(console[bG(0x215)](a0L['gray'](bG(0x2f6))),await a4(-0x40d*-0x7+-0x18b3+-0x218),a0)return;if(console['log'](a0L[bG(0x1a2)](bG(0x1bd))),await a4(-0x21e4+-0x2047+0x43bb),a0)return;if(console[bG(0x215)](a0L[bG(0x1a2)](bG(0x269))),await a4(0x21e5*-0x1+-0xd06+0x320b),a0)return;console[bG(0x215)](),console['log'](a0L[bG(0x2db)][bG(0x1bc)](bG(0x119))),await a4(-0xa03+0x15e1+0x1e1*0x2);}finally{((()=>{const bH=bG;if(a3){a1[bH(0x337)]('data',a2);try{a1[bH(0x11f)](!(0x2*0x9c1+0x19ef+-0x2d70));}catch{}a1[bH(0x107)]();}})()),console[bG(0x230)]();}}()),a0X({'demoIntroSeen':!(-0x1bd1*-0x1+0x1*0xb7a+-0x274b*0x1)})),console['log'](),console[bF(0x215)](a0L[bF(0x2bf)](bF(0x31b))+a0L[bF(0x1a2)](H+bF(0x13a)+J+bF(0x2e3))),console[bF(0x215)](a0L['gray'](bF(0x1dc))+a0L[bF(0x1bc)](bF(0x3f1))+a0L[bF(0x1a2)](bF(0x33d))+a0L[bF(0x1bc)](bF(0x351))+a0L[bF(0x1a2)](bF(0x308))),await new Promise(a0=>{const bI=bF;process[bI(0xe2)][bI(0x21b)](a0L[bI(0x2db)][bI(0x1a0)](bI(0x233)));const a1=!!process[bI(0x12c)][bI(0x3da)]&&process[bI(0x12c)]['isRaw'];process[bI(0x12c)]['isTTY']&&process['stdin']['setRawMode']&&process[bI(0x12c)][bI(0x11f)](!(-0x1*-0x64d+0xd3*0x19+-0x1ae7));const a2=a3=>{const bJ=bI,a4=a3[bJ(0x221)]();(a4[bJ(0x1c6)]('\x0a')||a4['includes']('\x0d'))&&(process[bJ(0x12c)][bJ(0x337)]('data',a2),process['stdin'][bJ(0x3da)]&&process[bJ(0x12c)][bJ(0x11f)]&&process['stdin'][bJ(0x11f)](a1),process[bJ(0xe2)][bJ(0x21b)]('\x0a'),a0());};process[bI(0x12c)]['on'](bI(0x3c4),a2),process[bI(0x12c)][bI(0x3b8)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import('../lib/exam-state.js');Q()&&V('demo-free'),console[bF(0x215)](),a0ae(bF(0x19b)),console['log'](),console[bF(0x215)](a0L[bF(0x2bf)]('\x20\x20Free\x20practice\x20·\x20No\x20account\x20needed\x20·\x20No\x20time\x20limit')),console[bF(0x215)](a0L[bF(0x2bf)]('\x20\x20'+H+bF(0x318)+J+bF(0x1c2)));const W=a0a3();if(W[bF(0xeb)]>-0x1f19+-0x9*0x31a+0x1*0x3b03){const a0=W['bestPercentage'],a1=a0>=-0xee5*0x1+0xf5*-0x17+0x2538?a0L[bF(0x349)]:a0>=0xf4*-0x23+-0x13fb+0x3593?a0L[bF(0x1a0)]:a0L['white'];console[bF(0x215)](),console[bF(0x215)](a0L[bF(0x1a2)](bF(0xf0))+a1(W['best']+'/'+H+'\x20('+a0+'%)')+a0L['gray'](bF(0x165)+W[bF(0xeb)]+bF(0x3c3)));}console['log'](),console['log'](a0L[bF(0x1a2)](bF(0x26a))),console[bF(0x215)](a0L[bF(0x2bf)]('\x20\x20'+a0ai(bF(0x1f2)))),console[bF(0x215)](a0L[bF(0x1a0)](bF(0x323))+a0L[bF(0x1a2)]('\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x272)))),console[bF(0x215)](a0L[bF(0x1a0)](bF(0x157))+a0L[bF(0x1a2)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai('htpHelp'))),console['log'](a0L[bF(0x1a0)](bF(0x240))+a0L[bF(0x1a2)](bF(0x3d5))+a0L[bF(0x1a0)]('prev')+a0L[bF(0x1a2)](bF(0x1ee)+a0ai(bF(0x3d9)))),console['log'](a0L['yellow']('\x20\x20\x20\x20more\x20help')+a0L['gray'](bF(0x2dd)+a0ai(bF(0x1bb)))),console[bF(0x215)](a0L[bF(0x1a0)](bF(0x386))+a0L['gray'](bF(0x33f)+a0ai(bF(0x3a7)))),console[bF(0x215)](a0L[bF(0x1a0)]('\x20\x20\x20\x20lang')+a0L['gray'](bF(0x33f)+a0ai(bF(0x125)))),console['log'](a0L['gray']('\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[bF(0x215)](a0L[bF(0x1a2)](bF(0x3ed))),console[bF(0x215)](a0L[bF(0x1a2)](bF(0x26a))),console[bF(0x215)]();const {getConfig:X}=await import(bF(0x331)),Y=X()[bF(0x223)]||'en';'en'===Y?(console[bF(0x215)](a0L[bF(0x1a2)]('\x20\x20Questions\x20in\x20English.\x20To\x20switch\x20language\x20first:')),console[bF(0x215)](a0L[bF(0x1a2)]('\x20\x20lang\x20es\x20(Español)\x20·\x20lang\x20zh\x20(中文)\x20·\x20lang\x20ko\x20(한국어)\x20·\x20lang\x20ja\x20(日本語)')),console['log'](a0L['gray'](bF(0x245)))):console['log'](a0L[bF(0x349)](bF(0x192)+Y)),console[bF(0x215)](),console['log'](a0L[bF(0x2bf)]('\x20\x20Starting\x20exam...'));const Z={...L,'startedAt':new Date()[bF(0x2bd)]()};console[bF(0x215)](),E(0x1e54+0x4eb*-0x2+0x3d*-0x56,bF(0xe5)),await q(-0x2458+0x777*-0x2+0x340e),E(0x1*0x6cf+-0x69d+0x1*-0xa,bF(0x26d)),await q(0x169b+-0x11b0+-0x423),E(-0x97*0x2b+0x1880+0x12d,bF(0x2b8)),await q(-0x5*0x554+-0x16c5+-0x31ff*-0x1),E(-0x2363+0x47f*0x1+0x1f48,'Ready!'),console['log'](),console[bF(0x215)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af('Questions',String(H)),a0af(bF(0x3db),'No\x20time\x20limit'),U(K[0x24cd+-0x3a*0x98+0xb*-0x37]);}),B[be(0x2a1)]('demo-retry')['description'](be(0x15b))['action'](async()=>{const bK=be;a0a8('exam\x20demo-retry'),N(bK(0x3de));const {getLocalizedDemoSession:F}=await import('../lib/demo-exam.js'),G=a0a6();if(!G||0x740+-0xcf*-0xb+-0x1025===G['length'])return console[bK(0x215)](),console['log'](a0L[bK(0x1a0)]('\x20\x20No\x20wrong\x20questions\x20to\x20retry.\x20Run\x20')+a0L[bK(0x2db)][bK(0x1bc)](bK(0xf8))+a0L[bK(0x1a0)](bK(0x1ea))),void console[bK(0x215)]();const H=a0Y();if(H){if(bK(0x2c9)!==H[bK(0x2e8)]['examId'])return a0ab('Exam\x20\x22'+H[bK(0x2e8)][bK(0x1b5)]+bK(0x2aa)),void a0ac('Submit\x20it\x20first:\x20exam\x20submit');a0a0();}const J=V=>{const bL=bK;if(!V[bL(0x2e9)])return V;const W=V['options'][V[bL(0x2e9)]],X=['A','B','C','D']['map'](a2=>V[bL(0x214)][a2]);for(let a2=X['length']-(0xed+0x5*0x34b+0x1163*-0x1);a2>0x1056+0x39a*0x2+-0x17*0x106;a2--){const a3=Math['floor'](Math[bL(0x197)]()*(a2+(0x130d*0x1+-0x891+-0xa7b)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[-0x2104+0x1c62+0x4a2],Y['B']=X[-0x14f2+0x78*-0x4c+-0x7*-0x815],Y['C']=X[0x1f*-0xa3+-0x30c+0x3*0x799],Y['D']=X[-0x17f8+0x249b+-0xca0];const Z=Y,a0=['A','B','C','D'][bL(0x244)](a4=>Z[a4]===W),a1={...V};return a1['options']=Z,a1['answer']=a0,a1;},K=G['map']((V,W)=>({...J(V),'number':W+(0x8ef+-0x22c3+0x1*0x19d5)})),L=F(),Q={...L,'examName':L[bK(0x1b5)]+'\x20\x20(Retry\x20wrong\x20only)','questionCount':K[bK(0x2b6)],'startedAt':new Date()[bK(0x2bd)]()};console[bK(0x215)](),a0ae(bK(0x1d7)),console[bK(0x215)](),console['log'](a0L[bK(0x2bf)](bK(0x3f4)+K[bK(0x2b6)]+'\x20question'+(-0x1*0xe57+0x1a1a+0x7*-0x1ae===K[bK(0x2b6)]?'':'s')+bK(0x173))),console[bK(0x215)](a0L['gray'](bK(0x17f))),console['log'](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bK(0x396),String(K[bK(0x2b6)])),a0af('Duration',bK(0x33a)),U(K[-0x1b5d+0xe3+0x1a7a]);}),B['command'](be(0x312))[be(0x193)]('Install\x20Python\x20environment\x20for\x20practical\x20exam\x20questions')[be(0x1f7)](async()=>{const bM=be;if(a0a8(bM(0x18b)),-0x7*0x446+0x158e+0x4*0x217===a0a3()[bM(0xeb)])return console[bM(0x215)](),a0ab(bM(0x121)),console['log'](a0L[bM(0x1a2)]('\x20\x20→\x20')+a0L['bold']['cyan'](bM(0x1e4))),void console[bM(0x215)]();const J=a0ak();if(J){const a7=J[bM(0x22f)][bM(0x2b6)],a8=a7+J[bM(0x3d1)][bM(0x2b6)];if(a7>=0x3d7+-0x17e5*0x1+0x1416||(a8>0x39*-0x4e+0x233+0x1*0xf2b?a7/a8:-0x1+0x1ede+-0x1edd)>=-0x225e+-0x2*-0x688+0x154e+0.7)return console['log'](),console[bM(0x215)](a0L['green'](bM(0x372))+a0L[bM(0x349)](bM(0x2c4))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x38e)+J[bM(0x30c)][bM(0x155)]('T')[0x1*0x14c7+-0xd*0x1de+0x37f*0x1])),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20Python:\x20'+J[bM(0x330)])),console['log'](a0L[bM(0x1a2)](bM(0x13b)+a7+bM(0xf6))),J[bM(0x3d1)]['length']>-0x45d+0x90*-0x3a+-0x1*-0x24fd&&console[bM(0x215)](a0L[bM(0x1a0)]('\x20\x20\x20\x20Failed:\x20'+J[bM(0x3d1)][bM(0x256)](',\x20'))),console['log'](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x229))+a0L[bM(0x2db)][bM(0x1bc)](bM(0x21c))),console['log'](a0L[bM(0x1a2)](bM(0x242))+a0L[bM(0x2db)][bM(0x1bc)]('back')+a0L[bM(0x1a2)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),void console[bM(0x215)]();console[bM(0x215)](),console['log'](a0L[bM(0x1a0)]('\x20\x20Previous\x20setup\x20had\x20only\x20'+a7+'/'+a8+'\x20packages.\x20Retrying...')),console[bM(0x215)]();}console['log'](),a0ae(bM(0x29b)),console[bM(0x215)](),console['log'](a0L['white'](bM(0x2fc))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x1a1))),console[bM(0x215)]();const K=(a9,aa)=>{const bN=bM,ab=process[bN(0x281)];console['log'](),a0aa(bN(0x3b4)===a9?'Python\x203\x20not\x20found.':bN(0x1d6)+aa+bN(0x130)),console[bN(0x215)](),console[bN(0x215)](a0L[bN(0x2db)][bN(0x2bf)](bN(0x129))),console[bN(0x215)](),bN(0x2fa)===ab?(console[bN(0x215)](a0L['yellow'](bN(0x166))),console[bN(0x215)](a0L[bN(0x349)](bN(0x23e))),console[bN(0x215)](),console['log'](a0L[bN(0x1a2)](bN(0x324))),console[bN(0x215)](a0L['gray'](bN(0x16d)))):bN(0x3ad)===ab?(console[bN(0x215)](a0L[bN(0x1a0)]('\x20\x20Ubuntu\x20/\x20Debian\x20(deadsnakes\x20PPA):')),console['log'](a0L[bN(0x349)](bN(0x3a0))),console[bN(0x215)](a0L[bN(0x349)](bN(0x114))),console['log'](a0L['green']('\x20\x20\x20\x20sudo\x20apt\x20install\x20-y\x20python3.12\x20python3.12-venv\x20python3.12-distutils')),console['log'](a0L[bN(0x1a2)](bN(0x10f))),console[bN(0x215)](),console[bN(0x215)](a0L[bN(0x1a0)](bN(0x325))),console[bN(0x215)](a0L['green']('\x20\x20\x20\x20sudo\x20dnf\x20install\x20-y\x20python3.12')),console[bN(0x215)](),console[bN(0x215)](a0L[bN(0x1a0)]('\x20\x20Arch\x20/\x20Manjaro:')),console['log'](a0L[bN(0x349)](bN(0x273)))):'win32'===ab?(console[bN(0x215)](a0L['yellow'](bN(0x29f))),console[bN(0x215)](a0L[bN(0x349)](bN(0x111))),console[bN(0x215)](),console[bN(0x215)](a0L[bN(0x1a2)](bN(0x324))),console['log'](a0L['gray'](bN(0x37c)))):console[bN(0x215)](a0L[bN(0x1a2)]('\x20\x20\x20\x20https://www.python.org/downloads/')),console[bN(0x215)](),console[bN(0x215)](a0L[bN(0x2bf)](bN(0x3c8))+a0L[bN(0x2db)][bN(0x1bc)]('exam\x20setup')),console[bN(0x215)]();},{execFileSync:L}=await import(bM(0x348)),Q=[bM(0x1ce),'python3.11',bM(0x133),bM(0x17c)];let V='',W='',X='';for(const a9 of Q)try{const aa=L(a9,['--version'],{'encoding':bM(0x39d),'timeout':0x1388})[bM(0x1d8)]()[bM(0x28d)]('Python\x20',''),ab=aa[bM(0x155)]('.')[bM(0x358)](Number);if(-0x26bf*0x1+-0x9*-0x2b7+0xe53*0x1===ab[-0x7*-0x1d+0x1cac+-0x1*0x1d77]&&ab[-0x185d*-0x1+0x19af+0x17*-0x22d]>=-0x28d*-0x1+0x17*-0x19b+0x226a){V=a9,W=aa;break;}'python3'!==a9||X||(X=aa);}catch{}if(!V)return void(X?K(bM(0x3d2),X):K(bM(0x3b4)));const Y=W['split']('.')[bM(0x358)](Number);-0x240d*-0x1+-0x2*-0x63c+-0x3082===Y[-0x1*0x264f+-0x1*0x101b+-0x7c6*-0x7]&&Y[0xe6e+0x1bca+0x6b*-0x65]<-0xf9b+-0x1*0x162f+0x25d6?console['log'](a0L[bM(0x349)]('\x20\x20✓\x20Python\x20'+W)+a0L[bM(0x1a2)]('\x20(works,\x20but\x203.12\x20recommended)')):console['log'](a0L[bM(0x349)](bM(0x14f)+W));try{const ac={};ac[bM(0x39e)]=bM(0x203),ac[bM(0x190)]=0x1388,(a0an(V+bM(0x3c6),ac),console[bM(0x215)](a0L[bM(0x349)]('\x20\x20✓\x20pip\x20available')));}catch{console[bM(0x215)](a0L[bM(0x1a0)](bM(0x31f)));try{const ad={};ad[bM(0x39e)]=bM(0x203),ad[bM(0x190)]=0x7530,(a0an(V+bM(0x16f),ad),console[bM(0x215)](a0L['green']('\x20\x20✓\x20pip\x20installed')));}catch{a0aa(bM(0x310)),console['log']();const {isInWSL:ae,isNativeWindowsCmd:af}=await import(bM(0x1ae)),{execFileSync:ag}=await import('node:child_process'),ah=ae(),ai=af(),aj=bM(0x3ad)===process[bM(0x281)]&&!ah,ak=bM(0x2fa)===process[bM(0x281)];let al=bM(0x234);if(aj||ah)try{const {readFileSync:ao}=await import(bM(0x2a0)),ap=ao(bM(0x150),bM(0x39d)),aq=(ap[bM(0x3ac)](/^ID="?([^"\n]+)/m)||[])[-0x55*-0x11+0x1*0x18ee+-0x1e92]||'',ar=(ap[bM(0x3ac)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x1cdc+-0xa1c+-0x12bf*0x1]||'';bM(0x2c0)===aq?al=bM(0x254)+ar+(ah?bM(0x2a2):''):aq&&(al=''+aq+(ar?'\x20'+ar:'')+(ah?'\x20(WSL2)':''));}catch{}let am=!(0x74*-0xb+-0x1*0x1e2f+-0x8cb*-0x4);if(ak)try{const as={};as[bM(0x39e)]=bM(0x203),as['timeout']=0x7d0,(ag(bM(0x303),[bM(0x154)],as),am=!(-0x1*-0x1281+0x13b8+-0x13*0x203));}catch{am=!(0x2114+0x1*0x19db+-0x13*0x31a);}const an=ai?bM(0x182):bM(0x38c);return console[bM(0x215)](a0L[bM(0x2db)][bM(0x1a0)](bM(0x263))),console[bM(0x215)](a0L[bM(0x2db)]['yellow']('\x20\x20'+an)),console['log'](a0L[bM(0x2db)][bM(0x1a0)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x215)](),aj||ah?(console[bM(0x215)](a0L[bM(0x2bf)](bM(0x163))+a0L[bM(0x1bc)](al)),console['log'](a0L[bM(0x1a2)](bM(0x1f9))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2db)]['white'](bM(0x140))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x335))+a0L[bM(0x2db)]['cyan']('quit')+a0L[bM(0x2bf)](bM(0x26f))),console['log'](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x115))),console[bM(0x215)](),console['log'](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x35a))),console[bM(0x215)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2db)]['cyan']('sudo\x20apt\x20install\x20-y\x20python3-pip\x20python3-venv')),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x340))),console[bM(0x215)](),console[bM(0x215)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2db)][bM(0x1bc)]('icoa')),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x1a2)](bM(0x132))+'\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x18b)))):ak?(console[bM(0x215)](a0L[bM(0x2bf)](bM(0x163))+a0L['cyan'](bM(0x3a8))),console[bM(0x215)](),console['log'](a0L[bM(0x2db)][bM(0x2bf)]('\x20\x20Step-by-step:')),console[bM(0x215)](),console['log'](a0L['white'](bM(0x335))+a0L[bM(0x2db)][bM(0x1bc)](bM(0x3f3))+a0L[bM(0x2bf)](bM(0x251))),console[bM(0x215)](),am?(console[bM(0x215)](a0L[bM(0x2bf)](bM(0x11c))),console[bM(0x215)](),console[bM(0x215)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x217))),console[bM(0x215)](bM(0x2f0)+a0L['bold']['cyan']('brew\x20link\x20--overwrite\x20python@3.12'))):(console[bM(0x215)](a0L[bM(0x2bf)](bM(0x2e7))+a0L[bM(0x2db)][bM(0x1a0)](bM(0x154))+a0L[bM(0x2bf)]('):')),console[bM(0x215)](),console['log'](bM(0x2f0)+a0L[bM(0x2db)]['cyan'](bM(0xe7))),console[bM(0x215)](),console['log'](a0L[bM(0x2bf)]('\x20\x20\x20\x20\x20\x20\x20Then\x20install\x20Python:')),console[bM(0x215)](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x217)))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x16b))),console['log'](),console['log'](bM(0x2f0)+a0L['bold'][bM(0x1bc)](bM(0x3ce))),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x1a2)](bM(0x132))+'\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x18b)))):ai?(console['log'](a0L['white'](bM(0x163))+a0L[bM(0x1bc)]('Windows\x20native\x20(PowerShell\x20/\x20cmd)')),console[bM(0x215)](),console['log'](a0L['bold'][bM(0x1a0)]('\x20\x20ICOA\x20officially\x20supports\x20WSL2\x20on\x20Windows.')),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x186))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x1e9))),console[bM(0x215)](a0L['gray']('\x20\x20far\x20more\x20smoothly\x20inside\x20WSL2\x20Ubuntu.')),console['log'](),console[bM(0x215)](a0L[bM(0x2db)][bM(0x2bf)](bM(0x343))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x335))+a0L[bM(0x2db)][bM(0x1bc)](bM(0x3f3))+a0L[bM(0x2bf)](bM(0x251))),console['log'](a0L[bM(0x2bf)](bM(0x332))),console['log'](),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x353))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20\x20\x20\x20(Reboot\x20if\x20Windows\x20asks,\x20then\x20open\x20the\x20Ubuntu\x20terminal.)')),console[bM(0x215)](a0L[bM(0x2bf)]('\x20\x20\x20\x203.\x20Inside\x20Ubuntu,\x20install\x20Node.js\x2022\x20+\x20Python\x20tools\x20+\x20icoa:')),console[bM(0x215)](),console['log'](bM(0x2f0)+a0L[bM(0x2db)]['cyan'](bM(0x3ee))),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x22e))),console[bM(0x215)](bM(0x2f0)+a0L['bold'][bM(0x1bc)]('sudo\x20npm\x20install\x20-g\x20icoa-cli')),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x3ce))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x36e))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x335))+a0L[bM(0x2db)]['cyan']('quit')+a0L[bM(0x2bf)](bM(0x251))),console['log'](a0L['white'](bM(0x1a5))),console['log'](),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x361))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x2b3))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x35d))),console[bM(0x215)](a0L[bM(0x2bf)]('\x20\x20\x20\x203.\x20Open\x20a\x20NEW\x20PowerShell\x20window\x20(PATH\x20refresh),\x20then:')),console[bM(0x215)](),console[bM(0x215)](bM(0x2f0)+a0L[bM(0x2db)][bM(0x1bc)](bM(0x3ce))),console[bM(0x215)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['gray'](bM(0x132))+'\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x18b)))):(console['log'](a0L['white']('\x20\x20Detected:\x20unrecognized\x20platform\x20(')+a0L['cyan'](process[bM(0x281)])+a0L[bM(0x2bf)](')')),console['log'](),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x334))),console[bM(0x215)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x3ce))),console[bM(0x215)](bM(0x2f0)+a0L['gray']('icoa>')+'\x20'+a0L[bM(0x2db)][bM(0x1bc)](bM(0x18b)))),console['log'](),console['log'](a0L['gray']('\x20\x20Stuck?\x20Email\x20your\x20selection\x20coordinator\x20with\x20the\x20screenshot\x20above.')),void console[bM(0x215)]();}}const Z={};Z['beautifulsoup4']=bM(0x1e3),Z[bM(0x329)]='Crypto',Z[bM(0x1e8)]='z3',Z[bM(0x11b)]='PIL',Z[bM(0x22d)]=bM(0x32b),Z[bM(0x258)]='ropgadget';const a0=[bM(0x22d),'cryptography',bM(0x20a),bM(0x26b),'numpy',bM(0x11b),'scapy',bM(0x2d7),bM(0x1e8),bM(0x329),bM(0x258),bM(0xdd),bM(0x30e)],a1=Z;console['log'](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x14b)+a0['length']+bM(0x204))),console[bM(0x215)]();let a2='';try{const at={};at[bM(0x39a)]=bM(0x39d),at['timeout']=0x2710,a0an(V+bM(0x174),at);}catch(au){const av=String(au?.[bM(0xe2)]||au?.[bM(0x30b)]||au?.[bM(0x1a8)]||'');/externally-managed-environment|break-system-packages/i[bM(0x283)](av)&&(a2=bM(0x25d),console[bM(0x215)](a0L[bM(0x1a0)](bM(0x28e))),console[bM(0x215)]());}const a3=W[bM(0x155)]('.')['map'](Number);0x15d1+0xa3e+0x7*-0x494===a3[-0x1*0x1da2+0x13c*-0x9+0x145f*0x2]&&a3[0x1dc+0x2*0x6fd+-0xfd5]>=-0x4c7+-0x985+0xe59&&(console[bM(0x215)](a0L[bM(0x1a0)](bM(0x30a)+W+bM(0xf9))),console[bM(0x215)](a0L['gray']('\x20\x20\x20\x20Some\x20packages\x20(pwntools,\x20scapy)\x20may\x20not\x20have\x20wheels\x20yet\x20for\x203.13.')),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20Python\x203.12\x20is\x20recommended.\x20Install:')),bM(0x3ad)===process[bM(0x281)]&&(console[bM(0x215)](a0L['green']('\x20\x20\x20\x20\x20\x20sudo\x20apt\x20install\x20python3.12\x20python3.12-venv')),console['log'](a0L[bM(0x349)](bM(0x1af)))),console['log']());const a4=[],a5=[];let a6='';for(const aw of a0)try{a0an(V+bM(0x3bf)+aw+'\x22\x20'+a2+bM(0x34a),{'encoding':'utf-8','timeout':0x2bf20,'stdio':'pipe'}),a0an(V+'\x20-c\x20\x22import\x20'+(a1[aw]||aw)+'\x22',{'stdio':bM(0x203),'timeout':0x2710});let ax='';try{const ay=a0an(V+bM(0x3f0)+aw+bM(0x3e4),{'encoding':bM(0x39d),'timeout':0x1388})[bM(0x3ac)](/^Version:\s*(.+)$/m);ay&&(ax=ay[-0xa1d+-0x14*-0x15d+-0x1126][bM(0x1d8)]());}catch{}console[bM(0x215)](a0L[bM(0x349)](bM(0x372)+aw)+(ax?a0L[bM(0x1a2)]('\x20('+ax+')'):'')),a4[bM(0x32a)](ax?aw+'=='+ax:aw);}catch(az){const aA=String(az?.['stdout']||az?.[bM(0x30b)]||az?.[bM(0x1a8)]||'')[bM(0x1cc)](-(-0x5c*-0x3b+0x3f5*0x1+-0x1799)),aB=aA[bM(0x155)]('\x0a')['filter'](aC=>aC[bM(0x1d8)]())['slice'](-(-0x1a20+-0x197*-0x12+-0x27c))[bM(0x256)]('\x20|\x20')[bM(0x1cc)](-0xdcd+-0xb28+0x18f5,-0x188c+-0x74f+0x2053);console[bM(0x215)](a0L[bM(0x19d)]('\x20\x20✗\x20'+aw)+a0L[bM(0x1a2)]('\x20\x20'+aB)),a5['push']({'pkg':aw,'error':aB}),a6||(a6=aA);}-0x755*0x3+0x77c*-0x2+0x24f7===a4[bM(0x2b6)]&&a6&&(console[bM(0x215)](),console[bM(0x215)](a0L['yellow']('\x20\x20First\x20error\x20detail\x20(for\x20debugging):')),console['log'](a0L[bM(0x1a2)]('\x20\x20'+a6[bM(0x155)]('\x0a')[bM(0x1cc)](-(0x1*-0x10ec+-0x121*0x21+0x3633))[bM(0x256)](bM(0x36c))))),a0al({'completedAt':new Date()[bM(0x2bd)](),'pythonVersion':W,'installedPackages':a4,'failedPackages':a5[bM(0x358)](aC=>aC[bM(0x222)])}),console['log'](),0x4*0x957+-0x377*-0xa+-0x4802===a5[bM(0x2b6)]?a0a9(bM(0x379)+a0[bM(0x2b6)]+'\x20packages\x20installed.'):-0x71d+0x2272+0x1*-0x1b55===a4['length']?(a0aa(bM(0x1b1)+a0['length']+bM(0x394)),console[bM(0x215)](),console['log'](a0L[bM(0x1a0)](bM(0xfe))),0x1132*0x1+-0x377+-0xdb8===a3[-0x3a*-0x2f+0x1*-0xc54+0x1ae]&&a3[-0x16eb+-0x3f1+0x1add]>=0x455+0x19a+0x1f6*-0x3?(console[bM(0x215)](a0L[bM(0x1a2)](bM(0x227))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x194)))):(console['log'](a0L[bM(0x1a2)]('\x20\x20\x20\x20•\x20Check\x20you\x20have\x20internet\x20(pip.pypa.io\x20must\x20be\x20reachable)')),console['log'](a0L[bM(0x1a2)](bM(0x148))+a0L[bM(0x1bc)](V+'\x20-m\x20pip\x20install\x20pwntools')+a0L[bM(0x1a2)]('\x20—\x20see\x20full\x20error')),console['log'](a0L[bM(0x1a2)]('\x20\x20\x20\x20•\x20On\x20Kali/Ubuntu\x2022+:\x20might\x20need\x20python3.12-dev\x20+\x20build-essential'))),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x195))+a0L['bold']['cyan'](bM(0x18b)))):a0ab(a4[bM(0x2b6)]+'/'+a0[bM(0x2b6)]+'\x20packages\x20installed.\x20'+a5[bM(0x2b6)]+bM(0x2a3)+a5[bM(0x358)](aC=>aC['pkg'])[bM(0x256)](',\x20')),console[bM(0x215)](),console[bM(0x215)](a0L[bM(0x1bc)](bM(0x2bc))),console['log'](a0L[bM(0x2db)]['white']('\x20\x20How\x20to\x20use\x20Python\x20in\x20ICOA\x20CLI')),console['log'](a0L[bM(0x1bc)](bM(0x2bc))),console['log'](),console['log'](a0L[bM(0x2db)][bM(0x1a0)](bM(0x36f))+a0L['gray']('\x20(quick\x20tasks)')),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x184))),console[bM(0x215)](a0L[bM(0x349)](bM(0x3c5))),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20→\x20b\x27Hello\x27')),console[bM(0x215)](),console['log'](a0L[bM(0x2db)]['yellow'](bM(0x2ec))+a0L['gray']('\x20(explore\x20&\x20experiment)')),console['log'](a0L[bM(0x2bf)](bM(0x2b2))),console[bM(0x215)](a0L[bM(0x349)](bM(0x1cf))),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20>>>\x20from\x20Crypto.Cipher\x20import\x20AES')),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x299))),console['log'](a0L[bM(0x1a2)](bM(0x18f))),console[bM(0x215)](a0L[bM(0x1a2)]('\x20\x20\x20\x20>>>\x20print(cipher.decrypt(data))')),console['log'](a0L['gray'](bM(0x356))),console[bM(0x215)](),console['log'](a0L[bM(0x2db)][bM(0x1a0)](bM(0x2c1))+a0L['gray'](bM(0x3dd))),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x39b))),console[bM(0x215)](a0L[bM(0x349)](bM(0x2a6))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x3a1))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x22a))),console['log'](a0L[bM(0x1a2)](bM(0x3b2))),console['log'](a0L[bM(0x1a2)]('\x20\x20\x20\x20print(xor(ct,\x20key).decode())')),console[bM(0x215)](a0L[bM(0x349)]('\x20\x20\x20\x20EOF')),console[bM(0x215)](a0L[bM(0x349)](bM(0xe8))),console['log'](),console[bM(0x215)](a0L[bM(0x2db)][bM(0x1a0)](bM(0x265))),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x2da))+a0L['bold']['cyan'](bM(0x2f3))+a0L['white'](bM(0x1c9))),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x381))),console['log'](a0L['gray']('\x20\x20\x20\x20\x22Show\x20me\x20how\x20to\x20use\x20struct.unpack\x22')),console[bM(0x215)](a0L[bM(0x1a2)](bM(0x1fa))),console['log'](a0L[bM(0x1bc)](bM(0x2bc))),console['log'](),console[bM(0x215)](a0L[bM(0x2bf)](bM(0x229))+a0L[bM(0x2db)][bM(0x1bc)]('exam\x20<token>')),console['log'](a0L[bM(0x1a2)](bM(0x242))+a0L[bM(0x2db)]['cyan'](bM(0x351))+a0L[bM(0x1a2)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console[bM(0x215)]();}),B['action'](()=>{const bO=be;a0a8(bO(0x3a9));const F=a0Y();if(F){a0ae('In\x20Progress:\x20'+F[bO(0x2e8)][bO(0x1b5)]),O();const J=Object[bO(0x3e5)](F[bO(0x288)])[bO(0x2b6)];return a0af(bO(0x1b3),J+'/'+F[bO(0x2e8)][bO(0x380)]+bO(0x205)),console[bO(0x215)](),void console[bO(0x215)](a0L[bO(0x1a2)](bO(0x1cd)));}const G=a0a3(),H=a0ak();console[bO(0x215)](),a0ae(bO(0x37d)),console[bO(0x215)](),-0x210+-0x225b+0x1*0x246b===G[bO(0xeb)]?(console[bO(0x215)](a0L[bO(0x1a0)]('\x20\x20○\x20')+a0L[bO(0x1a0)](bO(0x261))),console[bO(0x215)](a0L[bO(0x1a2)](bO(0x344))+a0L['bold'][bO(0x1bc)](bO(0x1e4)))):(console[bO(0x215)](a0L[bO(0x349)](bO(0x390))+a0L[bO(0x349)](bO(0x171)+G[bO(0xeb)]+bO(0x17b)+(0x1*-0xb55+-0x141*0x1d+0x2fb3!==G['attempts']?'s':'')+')')),H?(console[bO(0x215)](a0L[bO(0x349)]('\x20\x20●\x20')+a0L[bO(0x349)](bO(0x20c))),console['log'](a0L[bO(0x1a0)](bO(0x101))+a0L[bO(0x1a0)]('Enter\x20exam\x20token\x20to\x20begin')),console[bO(0x215)](a0L[bO(0x1a2)](bO(0x344))+a0L[bO(0x2db)][bO(0x1bc)](bO(0x21c)))):(console[bO(0x215)](a0L[bO(0x1a0)](bO(0x101))+a0L['yellow'](bO(0x287))),console[bO(0x215)](a0L['gray'](bO(0x344))+a0L[bO(0x2db)][bO(0x1bc)](bO(0x18b))))),console[bO(0x215)]();});}
|
|
1
|
+
(function(z,B){const b0=a0B,F=z();while(!![]){try{const G=parseInt(b0(0x3a3))/(-0x1c*0x17+-0x32b+0x5b0)*(-parseInt(b0(0x2b7))/(-0xeda+-0x1*0x1cb5+0x13*0x24b))+-parseInt(b0(0x3ea))/(-0x9*-0x277+0x538+0x2*-0xdb2)+parseInt(b0(0x22c))/(-0x929+-0x15f2+-0x101*-0x1f)*(-parseInt(b0(0x257))/(-0x2*-0x16f+-0x7cc+0x7*0xb5))+-parseInt(b0(0x307))/(0x3c5+-0x3*0x8ec+0x1705)+parseInt(b0(0x4ae))/(-0x312+0x868+0x54f*-0x1)*(-parseInt(b0(0x206))/(0x91d+-0x15d*0x18+-0x3*-0x7e1))+-parseInt(b0(0x2f6))/(0x1ad+-0x21f0+0x1a*0x13e)*(-parseInt(b0(0x27a))/(-0x6b*-0x6+-0x118*0x14+0x1368))+parseInt(b0(0x478))/(0x1*0x18e+0x19*-0x2c+0x2c9);if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x25972+0x5*0xd92b+0xc986));import a0L from'chalk';function a0B(a,b){a=a-(-0x1b04+0x4*0x29b+0x1274);const c=a0z();let d=c[a];if(a0B['mmqdQh']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0xd74+-0x9*-0x387+-0x124b,o,p,q=0x995+-0x231f+0x198a;p=i['charAt'](q++);~p&&(o=n%(-0x21ca+0xa6d+0x1761)?o*(0x1d35*0x1+-0x1*-0x125e+-0x5*0x977)+p:p,n++%(0x1*-0x1f0c+0x202d*-0x1+0x3f3d))?l+=String['fromCharCode'](0x1ae7*-0x1+0x136e*0x2+-0xaf6&o>>(-(0x8*-0x3be+-0x366+-0x308*-0xb)*n&0xf78+0x22af+-0x3221)):0x14*0x1b6+0x1d08+0x2c*-0x170){p=j['indexOf'](p);}for(let r=-0x2030+0x21c6+-0xe*0x1d,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x707+0xe*0x2+0x6fb))['slice'](-(-0x4bd+0x7c2+0x3*-0x101));}return decodeURIComponent(m);};a0B['JBbqVI']=e,a0B['VXcAnQ']={},a0B['mmqdQh']=!![];}const f=c[-0x3d*0xa3+-0x2*0x88c+0x37ef],g=a+f,h=a0B['VXcAnQ'][g];return!h?(d=a0B['JBbqVI'](d),a0B['VXcAnQ'][g]=d):d=h,d;}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';function a0z(){const bP=['rvHqsvjfra','ihvUzMXHz2DLzc4','zgvTB0LUDhjVu2vLBG','yMfJAW','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','mtaWmtu2nuLJs1HctG','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','ANnVBG','u29SAwqGCgLJAY4','icbpCIb0ExbLia','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','zMXVB3i','icaGieeVqI9dl0q','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','icaGrwXHChnLzdOG','icbuExbLia','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','C3rYAwTLDgHYB3vNAa','8j+pM++4JW','zxHHBsa8Dg9Rzw4+','A2v5CW','yw5ZD2vYx2nOyw5Nzwq','sw5KB25LC2LH','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','sw4GuhjVz3jLC3m6ia','icbtDgvWlwj5lxn0zxa6','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','AhrWtgfUzW','vgLTzq','C2nHChK','C3vIBwL0DgvK','rw52AxjVBM1LBNqGCMvHzhK','vgLTzw91DevYCM9Y','iIbPCYbPBIbWCM9NCMvZCY4','igLUC3rHBgXLza','AwnVyt4','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','ywn0Aw9U','CdeW','AxnsyxC','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','ChjLDG','icbdyw5JzwXSzwqU','zxHHBsa','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','icbbssbbC3nPC3rHBNq','icaGigv4yw0GCsaXlI4','icbbC3nPC3rHBMnLoG','icaGicbfBNrLCIbJAgf0oIaGicaG','q3j5ChrV','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','ihjLz2LVBNmP','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','Aw5WDxq','tMfTzq','ywLvC2fNzq','Cg9PBNrZ','C19JDgy0ywK','rwD5Chq','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','icHJB21WBgv4ihnVBhv0Aw9UCYK','icaGiokrOYa','AhrWuMv2Awv3','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','zxHHBsbZDwjTAxqG','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','zwDNmtu','z3jHzgLUzW','lI4U','CMvZzxq','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','zxHHBsbSAxn0ia','ic0TCxvPzxqGmJ4Mmq','y2f0zwDVCNK','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','zMfPBgvKugfJA2fNzxm','icdIHPiG','icbzB3vYihj1BG','ugfZCW','icbVCIaG','icbuBYbJB250Aw51zsb0AgLZigv4yw06','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','BgvUz3rO','icaGigv4yw0GCMv2Awv3','BwfYAYbBBL0','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','B3b0Aw9UCW','Cvr1Dg9YAwfS','zwXPBwLUyxrL','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','icbbBNn3zxjZigfYzsa','icbezw1VoIa','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','rMXHz2DLzdOGica','igfUC3DLCMvKkq','C3vIBwL0rxHHBq','x2XHC3rr','icdcTYblzwvWihnOyxjWzw5PBMC6ia','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','icaGiokrOca','u291DgGGs29Yzwe','icaGicdILQmG','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','BgLZDcbBy291BNrYEv0','BMv4DeXHyMvS','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','yxr0ywnOzwreyxrH','tg9HzgLUzYbLEgfTCY4UlG','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','vMfSAwrHDgLUzYb0B2TLBI4UlG','BNvTyMvY','icbtDwjTAxr0Aw5Nig5VDYbZy29YzxmGzNjVBsbVBMX5ia','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','D3jPDgu','rhvYyxrPB24','txLHBM1HCG','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','C3vIBwL0ieLdt0f7lI4UFq','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','sgvSCdOGicaGica','icaGiokrOIa','C3vKBYbHChqGDxbKyxrL','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','DgvZDa','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','icdINjmGCgLWigf2ywLSywjSzq','B25Jzq','vgLTzsbszw1HAw5PBMC','igfUC3DLCNmU','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','D2HPy2G','icaGiokgKIbIj0HLBgXVjW','y3LHBG','AhrWsNvTCa','mte3nZe1mtH2EgTtrxG','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','AwnVys1JBgK','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','oYb0AgLZihbYzxzLBNrZigfJy2LKzw50CYK','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','yMvZDfbLCMnLBNrHz2u','yM9VA21HCMTZ','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','zMLSDgvY','vgHHAwXHBMq','C3rHCNqGpgLKpG','DM9SyxrPBgL0Etm','icaGigXHBMC','zwDNnW','lI4VBgLIl2rLBw8TzxHHBs5QCW','zMLUywW','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','CMvK','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','ywK0y3rMrgvZyW','Dg9Rzw4','BgfUz3vHz2u','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','CMvZDw1L','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','iIaYpI9KzxyVBNvSBa','uxvLC3rPB25Z','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','zxHWBgfUyxrPB24','y3rMngfPpG','uMvHzhKH','C2v0Dxa','zxHHBsbYzxzPzxC','khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','y2XVC2u','y2XLyxi','icbtDwjTAxqGBM93ihDPDgG6ia','mJuSmdaW','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','DMXH','zxHHBsbTB3jLlwHLBha','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','uM9VBsb0BYbNCM93oIaGia','uMvZDwX0igXVywrLza','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','C2HVD25xyxjUAw5NCW','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','Bsb0B3rHBa','ugvYDq','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','mtKYmtq1muDmr29XBa','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','BNvTChK','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','ig9Mia','zxHHBsbKzw1V','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','x2HLBhbnyxG','icaGsg93ihrVigf0DgfJAW','zxHHBvDHExngB3vUza','icbODhrWCZOVl2LJB2eYmdi2lMf1','icaGiokgKIa','icdINjmGCgLWigLUC3rHBgXLza','z2v0vgLTzq','zhvYyxrPB25nAw51DgvZ','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','u3rHCNrPBMCGDgLTzxiUlI4','uxvLC3rPB24G','icbB','DxrMltG','icaGifb5DgHVBJOG','y29TCgXLDgu','AxnbCNjHEq','AwnVyq','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','qw5ZD2vYzwq6ica','CxvLC3rPB24','vg90ywW','vgLTzsb1C2vKoIa','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','CxvPDa','CgTN','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','yw5ZD2vYvgHPCW','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','quXm','BMfTzq','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','icdIMQaGuhL0Ag9Uia','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','ChjVBxb0','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','uhL0Ag9Uia','zxHHBsbYzxnLDa','zgvZy3jPChrPB24','u3rHDhvZ','icaGigfPngn0zG','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','r0vu','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','ueLm','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icbYDw4G','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','ls12zxjZAw9U','y29UzMLYBwvKqxq','u3rYB25NzxiGAgvYztOGia','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','zMfPBa','Dw5TyxjRifTUxq','C2v0uhjVBxb0','ChL0Ag9UmY4XmG','r3jHzgLUzY4UlG','zxHHBu5HBwu','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','twfSyxLZAwe','icaGigv4yw0GC3vIBwL0','icdIL48G','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','CgfKrw5K','yw5ZD2vY','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','vMLLDYbLEgfTihjLC3vSDa','ixb5DgHVBJmGlI4U','x2vSAw1PBMf0zwq','zw5JB2rPBMC','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','C2v0uMf3tw9Kzq','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','DhLWzq','icbqyxnZihrOCMvZAg9SzcbPCYb0ExbPy2fSBhKGntaLiokaLca','uhjVz3jLC3m','AgvSCf91C2vK','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','zxHHBsbTyxjRia','ChL0Ag9UmY4Xmq','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','C3rHDhvZ','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','icbbCMnOic8GtwfUAMfYBZO','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','ig1PBNv0zxm','icbzB3uGC3rPBgWGAgf2zsa','icbjzIb5B3uGCMvHBgX5ihDHBNqGDg8GC3vIBwL0ihDPDgGGANvZDca','ywK0y3rMpG','CM91BMq','ihbHy2THz2vZigLUC3rHBgXLzc4G','C29Tzq','icaGideUifr5CguG','ihrVigXLyxzLigLJB2e','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','ohPlrvzWAG','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','zgvTBY1LBNrLCG','zxHHBvDHExnbAtrJDgy','z3jLzw4','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','ChL0Ag9UmY4Xma','C3rKzxjY','igf0igfUEsb0Aw1LlG','icaGicbbssb0B2TLBNm6icaGicaG','icHr','CsbBBL0','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','CMfUzg9T','BwfNzw50yq','C2XPy2u','AxnuvfK','y291BNrYEq','icbezxrLy3rLzdOG','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','C3vIC3rYAw5N','icbzB3uGD2LSBcbZDwjTAxqG','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','Dg90ywXty29Yzq','z2v0rxHHBxm','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','ixb5DgHVBJm','ic1JicjPBxbVCNqG','Dg9mB3DLCKnHC2u','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','C3vIBwL0DgvKqxq','icbfEgfToIaGica','Aw5FChjVz3jLC3m','iokgKIa','icaGign0zJr2Bge','EJmTC29SDMvY','icbuBYbNBYbIywnRigfUzcbHBNn3zxiGBw9YztO','yNjLDW','mtm2mJi4uLb5zuvh','y2f0y2G','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','sw52ywXPzcbLEgfTihrVA2vU','Bwf4','ixzPihnVBhzLlNb5','icGR','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','icaGihn1zg8Gyxb0ihvWzgf0zq','ueftu0ve','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','icbdDxjYzw50BhKGzMXHz2DLzdOG','imk3ia','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','icaGicbiAw50CYbbl0iVqZOGicaG','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icbnzxrOB2qGmtOGt25LlwXPBMvY','icaGicfWExrOB24Z','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','qMfUz2XHzgvZAa','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','BM9KztPMCW','icdIMiuG','Ew91CIbmAw51EcbKAxn0CM8','tg9HzgLUzYbLEgfTlI4U','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','CxvLC3rPB25Z','Aw5JB3jYzwn0sw50CM8','CgXHDgzVCM0','ihLVDsbNB3qGD3jVBMCU','BM93','C3rHCNrLzef0','icdINjCG','BgLUzq','l2fUC3DLCG','x3n1yM1PDenVBMzPCM1Lza','nvHSvhvfyG','C3rHCNq','CgfZC2vK','DgfYz2v0','Dg9vChbLCKnHC2u','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','igfUC3DLCNmSihr5Cgu6','AhrWtwfYAW','8j+pLU+4JW','icaGign0zJrHAq','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','C3rKB3v0','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','y2HHBMDLzcbMCM9Tia','icaGicbLEgfTigXPC3qGq04','BwfJt1m','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','icaGicaGicaGia','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','icbr','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','vw5HBNn3zxjLza','zxHHBsbZzxr1Ca','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','vw5PDgvKifn0yxrLCW','ugvYy2vUDgfNzq','y29TBwfUza','Cgf1C2u','rMfPBgvKihrVigXVywqGzxHHBxm','ic8G','mJuSmdaWihrVA2vUCW','ihWG','BwvZC2fNzq','zwDNmW','mtq2ndq0mhbHwerNta','zxHHBsbXia','Cgn0','iokaLca','ihnRAxbWzwq','qw5ZD2vYzwq','yxbWBgLJyxrPB24VANnVBG','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','zxHHBvDHExntyxzLzfrV','zxHHBsbWCMv2','tg9HzgLUzYbXDwvZDgLVBNmUlI4','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','ihrOzsbJB21WzxrPDgLVBI4','zMLUza','C3rKAw4','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','qNjHEMLS','AhrWu3vIBwL0','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','zxHHBsbZDgfYDca','BM9KztPJAgLSzf9WCM9JzxnZ','DgLTzw91Da','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','ywK0y3rM','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','zwXPBwLUyxrLzca','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','Aw5JBhvKzxm','ig9YigXLyxzLihDPDgGG','zgf0yq','zxHHBq','cGPgDwXSigf0DgfJAgvKigrHDge6cG','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','twfJyxu','C2vZC2LVBG','AgLUDcbHic8GyIaVigm','icbuCM91yMXLC2HVB3rPBMC6','icdILRGG','ic1TihbPCcaTlxzLCNnPB24','ig1PBIbYzw1HAw5PBMC','wYbD','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','DhjPBq','icdINjmGuhL0Ag9Uia','icaGicfWExrOB24ZihnVBhzLlNb5','AgfZ','AwDUB3jL','EwvSBg93','ihf1zxn0Aw9UCY4','ica+ia','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','icHxu0WYkq','icaGicbjBNnPzguGy2HHDdOGicaG','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','ihrVigfZAYbbssbMB3iGAgvSCdO','ihDHCYbUB3qGzMXHz2DLzc4','yM9Sza','zw50CMLLCW','t3rOzxi','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','mti2mdq0teDrt2Xc','icbszxj1BIb3AgvUigzPEgvKoIa','vxnLCI1bz2vUDa','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','AhrWqMfJAW','uMv2Awv3oIa','icaGicaGia','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','Bw9YzsbOzwXW','icaOC2vLihDOAwnOihf1zxn0Aw9UCYbHCMuGyMXHBMSP','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','vMLLDg5HBq','icaGifLVDsbJyw4GBM93ihvZztOG','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','zxHHBvDHExnqExrOB25szxbS','Dg90ywW','icaGig5LEhq','zxHHBuLK','tgfVCW','icbxAgf0ig5LEhq','qwXTB3n0ihjLywr5lI4U','zxHHBsb1BM1HCMSG','zgLT','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','Aw5KzxHpzG','ifSGxsaG','ChLJCNLWDg9KB21L','ic1TihbPCcbPBNn0ywXSici','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','AhrWsgvSCa','iokaLcbZzwuGzNvSBcbLCNjVCG','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','icbdB250Aw51zsb0AgLZigv4yw06','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','zxHHBsbHBNn3zxiG','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','u3vIBwL0DgvK','r28GDg8GBMv4DcbXDwvZDgLVBG','sMfWyw4','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','zgvTBW','icaGieXHBMC6icaGia','zxHHBsbXide','AgvSCfvZzwrvCa','CxvLC3rPB25dB3vUDa','CM9Wz2fKz2v0','icaGia','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','ig1PBG','l3n1yM1PDa','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','zwDNoq','Dwj1BNr1','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','icbsDwXLCZO','vxPIzwTPC3rHBG','zwDNnq','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','icaGicbfEgL0ignOyxq6icaGicaG','tMLJzsbVBMuU','ow93yM5nsa','icaGievprG','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','icaGiokrOsa','x2HLBhbvC2vK','icaOEwvZiokaLcbSAxrLCMfSBhKGDhLWzsb0AguGBNvTyMvYia','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','igzVCIb0AgLZihnLy3rPB24','icdINjmG','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','icbuAw1LoIaGica','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','BM9KztPYzwfKBgLUzq','ihf1zxn0Aw9U','icdWN5kHie9WDgLVBIa','xsaG','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','ntaWodmYzezIAMPi','tK9uifbbu1nfra','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','Bg9N','qxzHAwXHyMXLiev4yw1ZicG','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','ChDU','zxHHBsbOzwXW','icbbC3nPC3rHBMnLihvZzwq','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','ihbHy2THz2vZlI4U','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','icdIL4SG','C3rYAw5NAwz5','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','cIaG','CMvZDwX0ifTPzf0','CdmW','y3j5ChrVz3jHCgH5','icaGicbuB2TLBJOG','icaGiokaOIbuCNK6ia','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','rgvTBYbJB21WBgv0zwqGka','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','icbxCMfWihvWigfUzcbZDwjTAxq6ia','igrLDgvJDgvK','x2HLBhbqzxjr','C3rKAw8','wYbDica','Dgv4Da','icaGica','D3jVBMC','BwLU','ihbVAw50CW','sw5KAwe','icbfEgfTCgXLoIa','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','ue9tva','u2H1zMzSAw5Nig9WDgLVBNmUlI4','y29UzMLYBq','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','zwXPBwLUyxrLza','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','CgfKu3rHCNq','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','CMvXDwvZDhm','zxHHBvDHExnszwzqExrOB24','D2HPDgu','BwfW','vgLTzsbLEhbPCMvKlG','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','C3LTChK','C19HAtrJDgy','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','uK9qz2fKz2v0','icbjBNn0ywXSAw5Nia','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','zxHHBsbZDwjTAxq','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','y2XVy2TpzMzZzxrnCW','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','ihrVihnLzsb5B3vYihjLC3vSDhmH','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','icaGDxnPBMCGquKSihLVDsDYzsa','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','y2vPBa','AgvSCa','rxHHBsaI','u2nVCMu','l2HLBha','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','tM8GzxHHBsbPBIbWCM9NCMvZCY4','y3rMngfP','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','AhrWqw5ZD2vY','ChDUDg9VBhm','Cg9ZDc1YzxbVCNqTCMv0CNK','icaGienVBxbSzxrLzdOG','l2fWAs9Py29Hl2v4yw1ZlW','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','ienurJrbsq','icdIMiuGuq','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','r2vYBwfUEq','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','Aw50zxjHy3rPB25Z','q291BNrYEq','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','vhvYA2v5','icdIHPiGia','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','CgLSBg93','CMvWzwf0','DdeW','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','A2v5','icdcTYaG','zwDNmtm','tMv3ifPLywXHBMq','Bwf0y2G','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','ihnOyxjLzcbHy3jVC3mGutm54Octnda','yw5ZD2vYzwq','u291DgGGqwzYAwnH','q2HPBMe','CgvYy2vUDgfNzq','icbtDgfYDgLUzYbLEgfTlI4U','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','zxHPDa','rMfPBgvKihrVigXVywqGCMvZDwX0','CMvTB3zLqwXStgLZDgvUzxjZ','z3jHEq','Ag93vg9qBgf5','lI4VBgLIl2v4yw0TC3rHDguUANm','AhrWtMf2','Ew91CKfUC3DLCG','y2f0','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','BgLUDxG','icbuBYbNBYbIywnRoIaG','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','zgfYD2LU','iefjihn5C3rLBxmU','y29YCMvJDa','icdIMiyGuq','qxvZDhjHBgLH','icaGigHLBha','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','l2v0yY9VCY1YzwXLyxnL','zw1VAMK','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','oIdIGjq','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','icaG','y3rMzfvYBa','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','ic1TihbPCcbZAg93ici','Dg9ju09tDhjPBMC','BMv4DcaVihbYzxy','igzHAwXLzdOG','zNjVBq','ywrK','ihbHy2THz2vZigLUC3rHBgXLzc4','nuDvze9VtW','zMLUzeLUzgv4','icaGicaGicaGkgn0zJrHAsK','yw5ZD2vYx3n1yM1PDhrLza','u3jPieXHBMTH','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','zxHHBv9Pza','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','ig5VDcbMB3vUzcaOms0','icbqCMfJDgLJAw5Nia','zhvYyxrPB25nAw4','C3vJy2vLza','AM9PBG','zgvHzgXPBMvtzxj2zxjnCW','Dw5KzxjSAw5L','CgLWzq','zgvTBY1YzxrYEq','CMvTB3zLtgLZDgvUzxi','CMvWBgfJzq','icaGicdcTYbbssbPCYb5B3vYia','C29YDa','yw5ZD2vYCW','BMv4Da','r2HHBMe','icaGicbtB2X2zsa','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','quKGDg9Rzw5ZoIa','u2f1zgKGqxjHyMLH','C2nVCMu','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','itXJBwq+ia','ChvZAa','DxnLza','BwLZC2LUzW','BgfUzYa8y29Kzt4','vwj1BNr1ia','tg9HzgLUzYbYzxn1BhqUlI4','oJaW','BMv3','icbgzwrVCMeGlYbssevmoG','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','icbizwXWihvZzwq6ia','CgvYuq','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','icaGiokrPca','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','icbbBgWGAgvSCcb1C2vKicG','ihbVAw50C10','igfUC3DLCMvK','lI4VBgLIl3bSyxrMB3jTlMPZ','icaOuMv0CNKGD3jVBMCGB25SEsK','u3vIBwL0igzHAwXLza','icdWN46bicS','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','u3bVDcbVBI4','zgvTBY1MCMvL','yxr0zw1WDhm','C3bSAxq','q29UDgvUDc1uExbL','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze'];a0z=function(){return bP;};return a0z();}const q=z=>new Promise(B=>setTimeout(B,z));function N(B,F={}){const b1=a0B,G=a0W(),H={};H[b1(0x3e3)]=b1(0x280),fetch(b1(0x2ea),{'method':'POST','headers':H,'body':JSON[b1(0x314)]({'type':B,'lang':G[b1(0x48f)]||'en','timestamp':new Date()[b1(0x39d)](),...F}),'signal':AbortSignal[b1(0x290)](-0x1723+0x78f+-0xbb4*-0x3)})[b1(0x22d)](()=>{});}function E(z,B){const b2=a0B,F=Math[b2(0x1fe)](z/(-0x1bb6+-0x1a47+-0x3661*-0x1)*(0x16*-0x10d+0x22bd*-0x1+-0x1*-0x39f9)),G=0x1bb4+-0xb3b+0x1*-0x105b-F,H=a0L[b2(0x20a)]('█'[b2(0x36e)](F))+a0L[b2(0x381)]('░'[b2(0x36e)](G)),J=String(z)[b2(0x336)](0x156d+0x259b+0x1d*-0x209)+'%';process['stdout'][b2(0x45f)]('\x0d\x1b[2K\x20\x20'+H+'\x20'+J+'\x20\x20'+a0L['gray'](B));}function M(){const b3=a0B,z=a0W();return z[b3(0x39a)]&&z[b3(0x48e)]?new a0V(z[b3(0x39a)],z[b3(0x48e)]):(a0aa('Not\x20connected.\x20Run:\x20join\x20<url>'),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af('Time\x20Remaining',a0L[b4(0x2aa)]['bold'](a0ah(z))):a0af(b4(0x403),a0L['red']['bold'](b4(0x3e5))));}function j(z,B){const b5=a0B;return Array[b5(0x4c5)](z[b5(0x47f)])&&z['bookmarks'][b5(0x296)](B);}function D(z,B){const b6=a0B,F=Array['isArray'](z['bookmarks'])?[...z[b6(0x47f)]]:[],G=F[b6(0x2d0)](B);return G>=-0xa*-0x319+0xd00+-0x2bfa?(F['splice'](G,0x8c6+-0xe9b*-0x1+0x5d8*-0x4),z[b6(0x47f)]=F,a0Z(z),!(-0x214b+0x128f*-0x2+0x2*0x2335)):(F['push'](B),F[b6(0x3ba)]((H,J)=>H-J),z['bookmarks']=F,a0Z(z),!(-0x406*0x4+-0x7b9*-0x2+0xa6));}function R(B){const b7=a0B,F={};return F[b7(0x3c9)]=B['_helpUsed']||0x2634+-0xfb5*0x1+0x167f*-0x1,F[b7(0x232)]=B[b7(0x4b6)]||-0x2*0x49f+-0x4bd+0x3b*0x3d,F['perQ']=B[b7(0x323)]||{},F[b7(0x333)]=B['_eliminated']||{},F;}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.[b8(0x29d)][b8(0x2e4)]||-0x3d*0xa3+-0x2*0x88c+0x380d),H=Object['keys'](F?.[b8(0x3bb)]||{})[b8(0x43a)],J=R(F),K=J[b8(0x333)][z['number']]||[],L='ai4ctf'===z['type']||b8(0x358)===z[b8(0x1ec)]||b8(0x4a1)===z[b8(0x1ec)]||z[b8(0x440)]&&!z[b8(0x440)]['A']&&!z['options']['B'];F&&function(Y,Z){const b9=b8;if('demo-free'===Y[b9(0x29d)][b9(0x2c9)])return;const a0=new Set(Y[b9(0x4a9)]||[]),a1=Number(Y[b9(0x29d)]['questionCount']||-0x149a+0x1b87+0x6c5*-0x1),a2=a0a1();if(0x110d+0x85*-0xb+-0xb4c===Z&&a1>=-0x1b9d*0x1+0x40*-0x98+0x41c5&&!a0[b9(0x2a8)](b9(0x40d))){const a3=a2?Math[b9(0x232)](-0x179f+0x1*0x12c1+-0x2*-0x26f,Math[b9(0x1fe)]((a2[b9(0x4bc)]()-Date[b9(0x251)]())/(-0x97*-0x21d+0x420a*0x3+-0x67*0x2bf))):null;console[b9(0x30a)](),console['log'](a0L[b9(0x381)](b9(0x450))),console['log'](a0L[b9(0x476)]('\x20\x20⏱\x20\x20Time\x20check\x20\x20')+a0L[b9(0x381)](b9(0x3ef))),null!==a3&&console['log'](a0L[b9(0x381)](b9(0x327)+a3+'\x20minutes\x20left.\x20Keep\x20the\x20pace\x20steady.')),console[b9(0x30a)](a0L[b9(0x381)](b9(0x450))),a0['add'](b9(0x40d)),Y[b9(0x4a9)]=Array[b9(0x3a0)](a0),a0Z(Y);}if(0x13b1+-0x209*-0x11+0x362c*-0x1===Z&&a1>=-0xf59+-0x12e*0xe+0x2005&&!a0[b9(0x2a8)](b9(0x318))){Object[b9(0x3fa)](Y[b9(0x3bb)]||{})[b9(0x43a)];const a4=Object[b9(0x3fa)](Y[b9(0x3bb)]||{})[b9(0x481)](a5=>Number(a5)<=0x7*-0x1ad+0x412+-0x7c7*-0x1)['length'];console[b9(0x30a)](),console[b9(0x30a)](a0L[b9(0x20a)](b9(0x463))),console[b9(0x30a)](a0L[b9(0x2b3)]['green'](b9(0x263))),console[b9(0x30a)](a0L['gray'](b9(0x327)+a4+b9(0x34c))),console[b9(0x30a)](a0L['white'](b9(0x335))),console[b9(0x30a)](a0L['gray']('\x20\x20\x20\x20\x20Budget\x20~2\x20min\x20per\x20practical\x20question.\x20You\x20can\x20come\x20back\x20with:\x20next\x20/\x20prev.')),console[b9(0x30a)](a0L[b9(0x20a)](b9(0x463))),a0['add'](b9(0x318)),Y[b9(0x4a9)]=Array[b9(0x3a0)](a0),a0Z(Y);}}(F,z[b8(0x459)]),F&&L&&function(Y,Z){const ba=b8;if(ba(0x3e0)===Y[ba(0x29d)]['examId'])return;if(Number(Y['session'][ba(0x2e4)]||-0x1694+-0x38*-0xa0+-0x274*0x5)<0x257d+0xbc*-0x17+-0x1*0x1471)return;const a0=new Set(Y[ba(0x4a9)]||[]);Z>=-0xcf5+-0x2411*-0x1+-0xb*0x217&&Z<=-0x511*-0x5+-0x1*-0x27a+-0x1ba9&&!a0[ba(0x2a8)](ba(0x341))?(console[ba(0x30a)](),console['log'](a0L['green'](ba(0x376))),console['log'](a0L[ba(0x2b3)][ba(0x20a)]('\x20\x20\x20🚀\x20\x20Section\x202:\x20AI4CTF\x20—\x20AI\x20is\x20your\x20teammate')),console[ba(0x30a)](a0L['green']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),console[ba(0x30a)](a0L[ba(0x33b)]('\x20\x20\x20Welcome\x20to\x20the\x20practical\x20CTF\x20section.\x20Real')),console[ba(0x30a)](a0L['white'](ba(0x2df))),console['log'](),console[ba(0x30a)](a0L[ba(0x2b3)]['white'](ba(0x42e))),console['log'](a0L[ba(0x381)](ba(0x3be))+a0L['bold']('with')+a0L[ba(0x381)](ba(0x451))),console['log'](),console[ba(0x30a)](a0L[ba(0x2b3)]['white']('\x20\x20\x20How\x20to\x20work')),console[ba(0x30a)](a0L[ba(0x381)](ba(0x417))+a0L[ba(0x2b3)][ba(0x20a)](ba(0x292))+a0L['gray'](ba(0x227))+a0L[ba(0x214)](ba(0x1fd))+a0L[ba(0x381)]('\x20prompt,\x20just\x20like\x20the\x20demo')),console[ba(0x30a)](a0L[ba(0x381)](ba(0x2af))+a0L[ba(0x476)](ba(0x29e))+a0L[ba(0x381)](ba(0x23c))+a0L['cyan'](ba(0x464))+a0L[ba(0x381)](ba(0x23c))+a0L[ba(0x476)](ba(0x1e6))),console[ba(0x30a)](a0L[ba(0x381)](ba(0x43e))),console[ba(0x30a)](a0L[ba(0x381)](ba(0x2f4))+a0L[ba(0x476)](ba(0x37e))+a0L[ba(0x381)](ba(0x34a))+a0L[ba(0x476)](ba(0x39e))),console['log'](),console[ba(0x30a)](a0L[ba(0x2b3)]['white'](ba(0x4b2))),console[ba(0x30a)](a0L[ba(0x381)](ba(0x20f))+a0L[ba(0x33b)](ba(0x49f))+a0L[ba(0x381)](ba(0x2fd))),console[ba(0x30a)](a0L['gray'](ba(0x241))+a0L[ba(0x33b)]('pre-written\x20per\x20question')),console[ba(0x30a)](),console[ba(0x30a)](a0L['yellow'](ba(0x443))),console[ba(0x30a)](a0L[ba(0x20a)](ba(0x376))),console[ba(0x30a)](),a0[ba(0x3a1)](ba(0x341)),Y['shownWarnings']=Array[ba(0x3a0)](a0),a0Z(Y)):Z>=-0x5*-0x269+0x24fa+-0x170*0x22&&!a0[ba(0x2a8)]('s_ctf4ai')&&(console[ba(0x30a)](),console[ba(0x30a)](a0L[ba(0x48a)](ba(0x376))),console[ba(0x30a)](a0L['bold'][ba(0x48a)](ba(0x23e))),console['log'](a0L[ba(0x48a)](ba(0x376))),console[ba(0x30a)](),console['log'](a0L[ba(0x33b)](ba(0x337))),console[ba(0x30a)](a0L['white'](ba(0x34e))+a0L[ba(0x2b3)]('attacking')+a0L['white'](ba(0x38e))),console[ba(0x30a)](),console['log'](a0L[ba(0x2b3)]['white'](ba(0x419))),console[ba(0x30a)](a0L[ba(0x381)](ba(0x242))),console[ba(0x30a)](),console[ba(0x30a)](a0L[ba(0x2b3)][ba(0x33b)](ba(0x4b7))),console[ba(0x30a)](a0L[ba(0x381)](ba(0x417))+a0L[ba(0x2b3)][ba(0x48a)](ba(0x358))+a0L[ba(0x381)]('\x20→\x20')+a0L[ba(0x48a)](ba(0x497))+a0L[ba(0x381)](ba(0x2c2))),console['log'](a0L[ba(0x381)](ba(0x2af))+a0L[ba(0x476)](ba(0x29e))+a0L[ba(0x381)](ba(0x23c))+a0L[ba(0x476)](ba(0x464))+a0L[ba(0x381)]('\x20·\x20')+a0L[ba(0x476)]('!python3\x20...')),console[ba(0x30a)](a0L['gray']('\x20\x20\x20\x20\x20Messages\x20→\x20AI\x20target\x20—\x20craft\x20prompts\x20to\x20break\x20its\x20rules.')),console[ba(0x30a)](),console[ba(0x30a)](a0L[ba(0x2b3)]['white'](ba(0x4d7))),console[ba(0x30a)](a0L[ba(0x381)](ba(0x3b9))+a0L['red'](ba(0x25a))+a0L[ba(0x381)](',\x20not\x20your\x20teammate')),console['log'](a0L[ba(0x381)](ba(0x24c))+a0L[ba(0x33b)](ba(0x276))+a0L['gray'](ba(0x377))),console[ba(0x30a)](),console[ba(0x30a)](a0L['yellow']('\x20\x20\x20These\x20are\x20the\x20hardest\x20questions.\x20Worth\x2021%\x20of\x20total\x20score.')),console[ba(0x30a)](a0L[ba(0x2aa)](ba(0x387))),console['log'](a0L[ba(0x48a)](ba(0x376))),console[ba(0x30a)](),a0[ba(0x3a1)](ba(0x420)),Y[ba(0x4a9)]=Array[ba(0x3a0)](a0),a0Z(Y));}(F,z[b8(0x459)]),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z[bb(0x4bc)]()-Date['now']();if(a0<=-0x1e8+-0x20e2+0x22ca)return;const a1=a0/(0xfa6*0xc+-0xafb*-0x13+-0xa209),a2=new Set(Y['shownWarnings']||[]);let a3=null;if(a1<=-0x168e+0xff5+-0x5*-0x152&&!a2[bb(0x2a8)]('t1')?a3={'key':'t1','text':[a0L[bb(0x48a)][bb(0x2b3)](bb(0x4d2)),a0L[bb(0x48a)](bb(0x49e))+a0L[bb(0x2b3)](bb(0x346))]}:a1<=-0x177b+0x1b23+0x31*-0x13&&!a2[bb(0x2a8)]('t5')?a3={'key':'t5','text':[a0L['red']['bold']('\x20\x20⚠\x20\x205\x20minutes\x20remaining'),a0L[bb(0x2aa)](bb(0x321))+a0L[bb(0x2b3)](bb(0x346))]}:a1<=-0x1391+-0x21*-0x2+0x1359&&!a2[bb(0x2a8)](bb(0x36f))&&(a3={'key':bb(0x36f),'text':[a0L[bb(0x2aa)]['bold'](bb(0x267)),a0L[bb(0x381)](bb(0x4e1))+a0L[bb(0x33b)](bb(0x49a))]}),a3){console[bb(0x30a)](),console[bb(0x30a)](a0L[bb(0x48a)](bb(0x463)));for(const a4 of a3[bb(0x326)])console[bb(0x30a)](a4);console[bb(0x30a)](a0L['red'](bb(0x463))),a2[bb(0x3a1)](a3[bb(0x371)]),Y[bb(0x4a9)]=Array[bb(0x3a0)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math[bc(0x1fe)](Y/Z*(0x0+-0x1*-0xc9+-0xab)),a2=0x2277*0x1+0x26fd+-0x4956-a1,a3=a0L[bc(0x476)]('━'[bc(0x36e)](a1))+a0L[bc(0x381)]('─'[bc(0x36e)](a2)),a4=Math['round'](Y/Z*(0x3*-0x212+0x147b+-0xbb*0x13));console['log'](),console[bc(0x30a)]('\x20\x20'+a3+'\x20\x20'+a0L[bc(0x33b)]['bold'](''+Y)+a0L['gray']('/'+Z)+'\x20\x20'+a0L[bc(0x381)]('('+a0+bc(0x448))+'\x20\x20'+a0L[bc(0x381)](a4+'%'));const a5=a0a1();if(a5){const a6=Math[bc(0x232)](-0xcd9+0x703+-0x9*-0xa6,Math[bc(0x1fe)]((a5[bc(0x4bc)]()-Date[bc(0x251)]())/(-0x2c2+-0x119e+-0xa8*-0x25))),a7=Math['floor'](a6/(0x2370+-0x2*-0xca7+-0x3c82))+':'+String(a6%(-0x36e*0x8+0xfd8+0xbd4))[bc(0x336)](0x152e+0x4*0x47f+-0x2728,'0'),a8=a6<=-0x8f*0x18+0x159*0x1+0x3*0x419?a0L[bc(0x48a)]['bold']:a6<=0x2605+0x26d2+0x1939*-0x3?a0L[bc(0x48a)]:a6<=0xf1*0xd+-0x1b0f+0x112a?a0L[bc(0x2aa)]:a0L['gray'];console['log']('\x20\x20'+a0L[bc(0x381)]('⏱\x20Time\x20remaining:')+'\x20'+a8(a7)+'\x20'+a0L[bc(0x381)](bc(0x49b)));}}(z[b8(0x459)],G,H),F&&j(F,z[b8(0x459)])&&console[b8(0x30a)](a0L['yellow']('\x20\x20★\x20Marked\x20for\x20review'));const Q=function(Y,Z){const bd=b8,a0={};a0[bd(0x27c)]=0.2,a0[bd(0x395)]=bd(0x3f8),a0[bd(0x371)]=bd(0x279);const a1={};a1[bd(0x27c)]=0.33,a1['emoji']='🐨',a1[bd(0x371)]=bd(0x2f1);const a2={};a2[bd(0x27c)]=0.5,a2[bd(0x395)]='🌉',a2[bd(0x371)]=bd(0x486);const a3={};a3['pct']=0.6,a3[bd(0x395)]='🦘',a3[bd(0x371)]=bd(0x2ec);const a4={};a4[bd(0x27c)]=0.8,a4[bd(0x395)]=bd(0x25f),a4[bd(0x371)]='egg11';const a5={};a5['pct']=0.87,a5[bd(0x395)]='🦈',a5[bd(0x371)]=bd(0x373);const a6={};a6[bd(0x27c)]=0x1,a6[bd(0x395)]='🎉',a6[bd(0x371)]=bd(0x429);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[bd(0x1fe)](a9[bd(0x27c)]*Z);if(!(aa<0x3*-0x366+0x6a3*-0x2+-0x3*-0x7d3||a8[bd(0x2a8)](aa))&&(a8[bd(0x3a1)](aa),Y===aa))return{'emoji':a9[bd(0x395)],'text':a0ai(a9[bd(0x371)])};}}(z[b8(0x459)],G);if(Q&&console['log'](a0L[b8(0x2aa)]('\x20\x20'+Q['emoji']+'\x20\x20'+Q[b8(0x326)])),console[b8(0x30a)](),z[b8(0x431)]&&console[b8(0x30a)](a0L[b8(0x476)](b8(0x4c1)+z['category']+']')),z['points']&&z[b8(0x41f)]>0x8*-0x3c3+-0x10b+0x1f25&&console['log'](a0L[b8(0x476)](b8(0x4c1)+z[b8(0x41f)]+b8(0x3d8))),L){let Y=z[b8(0x4de)]||z[b8(0x326)];const Z=a0a2(z[b8(0x459)],z[b8(0x455)]);if(z[b8(0x455)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b8(0x46a)](Y)?Y=Y[b8(0x3b8)](a1,z[b8(0x455)]):Y[b8(0x296)](z[b8(0x455)])||(Y=Y+b8(0x29a)+z[b8(0x455)]);}console[b8(0x30a)](a0L[b8(0x2b3)][b8(0x33b)]('\x20\x20Q'+z[b8(0x459)]+'.\x20')+a0L[b8(0x33b)](Y[b8(0x3e2)]('\x0a')[0x2378+-0x223*0xd+-0x7b1]));const a0=Y[b8(0x3e2)]('\x0a')[b8(0x215)](0xb7b+0xd47+0x1*-0x18c1);for(const a2 of a0)console[b8(0x30a)](a0L[b8(0x33b)]('\x20\x20'+a2));if(console[b8(0x30a)](),Z&&b8(0x292)===z[b8(0x1ec)]){const a3=Z[b8(0x3b8)](process.env.HOME||'','~');console[b8(0x30a)](a0L[b8(0x476)]('\x20\x20'+a0ai('examWaysToSolve')+'\x20')+a0L[b8(0x381)]('('+a0ai(b8(0x283))+'\x20'+a3+'):')),console[b8(0x30a)](a0L[b8(0x33b)](b8(0x44d))+a0L[b8(0x2aa)](b8(0x3c7)+a3)['padEnd'](-0x23c+0x115f*-0x1+0x13cf)+a0L['gray']('\x20'+a0ai('examWaysShell'))),console[b8(0x30a)](a0L['white'](b8(0x2f9))+a0L[b8(0x2aa)](b8(0x220))[b8(0x1e2)](-0x1333*0x2+-0x1d77+-0xd99*-0x5)+a0L[b8(0x381)]('\x20'+a0ai(b8(0x2c6)))),console['log'](a0L[b8(0x33b)](b8(0x467))+a0L[b8(0x2aa)](b8(0x233))+a0L[b8(0x381)](b8(0x36b))+a0L['yellow']('!python3\x20solve.py')),console[b8(0x30a)](a0L[b8(0x33b)](b8(0x424))+a0L[b8(0x2aa)]('ref\x20python')[b8(0x1e2)](-0x1bd4+-0xc90+0x2884)+a0L[b8(0x381)]('\x20'+a0ai(b8(0x33a)))),console[b8(0x30a)](a0L[b8(0x33b)](b8(0x3d5))+a0L['yellow'](b8(0x292))['padEnd'](-0xb*0x113+0x1176+-0x3*0x1d7)+a0L[b8(0x381)]('\x20'+a0ai(b8(0x209)))),console[b8(0x30a)](),console[b8(0x30a)](a0L['gray']('\x20\x20'+a0ai(b8(0x4b8))+'\x20')+a0L[b8(0x2b3)][b8(0x20a)](b8(0x207))),console[b8(0x30a)]();}B&&(console[b8(0x30a)](a0L[b8(0x20a)]('\x20\x20Your\x20answer:\x20'+B)),console['log']());}else{console[b8(0x30a)](a0L['bold'][b8(0x33b)](b8(0x26b)+z[b8(0x459)]+'.\x20')+a0L[b8(0x33b)](z[b8(0x326)])),console[b8(0x30a)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console['log'](a0L[b8(0x381)][b8(0x3f7)]('\x20\x20\x20\x20'+a4+'.\x20'+z[b8(0x440)][a4])+a0L[b8(0x48a)]('\x20('+a0ai(b8(0x328))+')')):a5?console[b8(0x30a)](a0L[b8(0x20a)][b8(0x2b3)](b8(0x2a0)+a4+'.\x20'+z[b8(0x440)][a4])):console[b8(0x30a)](a0L[b8(0x381)]('\x20\x20\x20\x20'+a4+'.')+'\x20'+a0L[b8(0x33b)](z[b8(0x440)][a4]));}console[b8(0x30a)]();}const V='demo-free'===F?.['session']['examId'],W=J[b8(0x3d3)][-0x2*0x5e3+0x7*-0x7d+0xf33]||0xd*0xd6+0xac3+-0x15a1*0x1;V&&0x10eb+0xff7+-0x1*0x20e0===z[b8(0x459)]&&0x225d+0x4cd*0x7+-0x2b8*0x19===W&&(console['log'](a0L[b8(0x2aa)][b8(0x2b3)]('\x20\x20'+a0ai(b8(0x441)))),console[b8(0x30a)]());const X=J[b8(0x232)]-J[b8(0x3c9)];if(console[b8(0x30a)](a0L[b8(0x381)]('\x20\x20─────────────────────────────────────────')),L){const a6=F&&b8(0x3e0)!==F[b8(0x29d)]['examId']&&z[b8(0x459)]>=0x2069*0x1+-0x4e5+0x5*-0x579&&z[b8(0x459)]<=0xf74+0x1a48+0x6ee*-0x6,a7=F&&b8(0x3e0)!==F[b8(0x29d)]['examId']&&z['number']>=0x4a5+-0x26a*0x2+0x4e*0x1&&z[b8(0x459)]<=-0x6d9*0x5+-0x51a*0x7+0x4619;b8(0x4a1)===z[b8(0x1ec)]?console[b8(0x30a)](a0L[b8(0x2b3)][b8(0x476)](b8(0x228))+a0L[b8(0x381)](b8(0x4aa))):a7?console[b8(0x30a)](a0L[b8(0x2b3)][b8(0x20a)](b8(0x4e0))+a0L[b8(0x381)]('\x20\x20\x20\x20\x20\x20\x20\x20enter\x20AI4CTF\x20chat\x20for\x20this\x20question\x20(recommended)')):a6&&console[b8(0x30a)](a0L[b8(0x2b3)][b8(0x48a)](b8(0x260))+a0L[b8(0x381)](b8(0x34f))),console[b8(0x30a)](a0L[b8(0x2aa)](b8(0x320))+a0L['gray'](b8(0x479))),console[b8(0x30a)](a0L['yellow'](b8(0x244))+a0L[b8(0x381)](b8(0x22f)));}else{const a8=J[b8(0x232)]>=-0x12f5*0x1+0x1e38+-0xb25,a9=X>-0x15f7+0xad*-0x14+-0x1*-0x237b?a0L[b8(0x381)](a0ai('helpRemove')+'\x20')+a0L[b8(0x2aa)]('('+X+'/'+J['max']+')'):a8?a0L[b8(0x381)](a0ai('helpAllUsed')+'\x20('+J[b8(0x3c9)]+'/'+J['max']+')'):a0L['gray'](''+a0ai(b8(0x2e3)));console[b8(0x30a)](a0L[b8(0x2aa)](b8(0x3f2))+a0L['gray']('\x20\x20\x20\x20\x20\x20\x20'+a0ai(b8(0x4d1)))),console[b8(0x30a)](a0L['yellow'](b8(0x392))+b8(0x268)+a9);}console[b8(0x30a)](a0L[b8(0x2aa)](b8(0x2c8))+a0L[b8(0x381)](b8(0x275))+a0L[b8(0x2aa)](b8(0x410))+a0L[b8(0x381)](b8(0x2e6)+a0ai(b8(0x384)))),console[b8(0x30a)](a0L[b8(0x2aa)](b8(0x415)+G)+a0L['gray'](b8(0x399)+a0ai(b8(0x477)))),console[b8(0x30a)](a0L[b8(0x2aa)]('\x20\x20\x20\x20mark')+a0L[b8(0x381)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b8(0x25e)))),console[b8(0x30a)](a0L['yellow'](b8(0x43b))+a0L[b8(0x381)]('\x20\x20\x20'+a0ai(b8(0x425)))),console[b8(0x30a)](a0L['bold'][b8(0x2aa)](b8(0x1de))+a0L['gray']('\x20\x20\x20'+a0ai(b8(0x28c)))),console['log'](a0L['yellow']('\x20\x20\x20\x20back')+a0L[b8(0x381)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b8(0x2bb)))),console[b8(0x30a)](a0L[b8(0x2aa)]('\x20\x20\x20\x20lang')+a0L[b8(0x381)](b8(0x268)+a0ai(b8(0x402)))),console[b8(0x30a)](a0L['gray'](b8(0x223)));}export function registerExamCommand(z){const be=a0B,B=z[be(0x272)](be(0x299))['description'](be(0x40f));B[be(0x272)]('nations')[be(0x4de)](be(0x398))[be(0x40c)](()=>{const bf=be;a0a8('exam\x20nations'),console[bf(0x30a)](),a0ae(bf(0x4a3)),console['log']();const F=[['AU',bf(0x391)],['BD',bf(0x246)],['BI','Burundi'],['BR',bf(0x28b)],['BW','Botswana'],['CN',bf(0x37a)],['DE',bf(0x365)],['EG',bf(0x421)],['FR','France'],['GH',bf(0x3bd)],['ID',bf(0x3fc)],['IN',bf(0x32b)],['JP',bf(0x2de)],['KR',bf(0x44e)],['LA',bf(0x2ca)],['LK',bf(0x3a7)],['MM',bf(0x461)],['MO',bf(0x29c)],['MY',bf(0x1dd)],['NZ',bf(0x374)],['PE',bf(0x4ac)],['PH','Philippines'],['RU','Russia'],['SA',bf(0x3c4)],['SG','Singapore'],['TH',bf(0x482)],['TR',bf(0x36a)],['UK','United\x20Kingdom'],['US',bf(0x270)],['UZ',bf(0x2f0)],['VN',bf(0x2c3)],['ZA',bf(0x379)]];for(let G=-0x1*0x13c6+-0x24ce+0x3894;G<F[bf(0x43a)];G+=-0x1c53+-0xb52+0x27a8){const H=F['slice'](G,G+(-0x1259+-0xd21+0x1*0x1f7d))['map'](([J,K])=>'\x20\x20'+a0L[bf(0x476)](J)+'\x20\x20'+a0L[bf(0x381)](K['padEnd'](0x8a8+-0x1*0xc0a+0x372)))[bf(0x3b2)]('');console['log'](H);}console[bf(0x30a)](),console[bf(0x30a)](a0L['gray']('\x20\x2040+\x20countries\x20and\x20regions\x20represented')),console[bf(0x30a)](a0L[bf(0x381)](bf(0x439))),console[bf(0x30a)](),console[bf(0x30a)](a0L[bf(0x33b)](bf(0x37d))),console['log'](a0L[bf(0x476)]('\x20\x20\x20\x20exam\x20list\x20AU')+a0L[bf(0x381)]('\x20\x20\x20\x20\x20exam\x20list\x20PE')+a0L['gray'](bf(0x265))),console[bf(0x30a)]();}),B[be(0x272)](be(0x452))['description']('List\x20available\x20exams\x20(optional:\x202-letter\x20country\x20code)')[be(0x40c)](async F=>{const bg=be;a0a8(bg(0x42f)+(F||''));const G=M();if(!G)return;const H=a0ag(bg(0x456));H['start']();try{let J=await G[bg(0x21e)]();if(H['stop'](),F){const Q=F['toUpperCase']();J=J[bg(0x481)](V=>V[bg(0x217)][bg(0x25b)]()===Q||bg(0x4d4)===V[bg(0x217)]);}if(!J||0x180c+-0x3df+-0x142d===J[bg(0x43a)]){console[bg(0x30a)](),a0ac(F?bg(0x261)+F[bg(0x25b)]()+'\x20yet.':'No\x20exams\x20available\x20for\x20your\x20country\x20yet.'),console['log'](),console[bg(0x30a)](a0L[bg(0x33b)](bg(0x4cc))),console[bg(0x30a)](a0L['gray'](bg(0x44c))),console[bg(0x30a)](),console['log'](a0L['gray'](bg(0x23a))+a0L[bg(0x2b3)][bg(0x476)](bg(0x2e0))),console[bg(0x30a)]();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['log'](a0L['gray'](bg(0x495)+W[X])),console[bg(0x30a)]()));}const K=J[bg(0x33c)](Y=>{const bh=bg,Z=bh(0x405)===Y[bh(0x1f5)]?a0L[bh(0x20a)]:bh(0x226)===Y['status']?a0L[bh(0x2aa)]:a0L[bh(0x33b)];return[a0L[bh(0x33b)](Y['id']),Y[bh(0x4d5)],a0L[bh(0x476)](Y[bh(0x217)]),String(Y[bh(0x2e4)]),Y['durationMinutes']+bh(0x2e8),Z(Y[bh(0x1f5)])];}),L=[...new Set(J[bg(0x33c)](Y=>Y[bg(0x217)]))];a0ae(F?'Exams\x20—\x20'+F[bg(0x25b)]():bg(0x30b)+L[bg(0x43a)]+bg(0x41a)),a0ad(['ID',bg(0x41d),bg(0x368),bg(0x494),bg(0x460),bg(0x4df)],K),console[bg(0x30a)](),console['log'](a0L[bg(0x381)]('\x20\x20Start:\x20exam\x20start\x20<id>')),L[bg(0x43a)]>0xf2b+0x2404+0x1997*-0x2&&console[bg(0x30a)](a0L[bg(0x381)](bg(0x2d9)));}catch(Y){H[bg(0x4f1)](bg(0x274)),a0aa(Y[bg(0x278)]);}}),B['command'](be(0x483))[be(0x4de)](be(0x48b))[be(0x40c)](async F=>{const bi=be;a0a8(bi(0x28e)+F);const G=a0Y();if(G)return a0ab(bi(0x352)+G[bi(0x29d)]['examName']+bi(0x291)),void a0ac('Use\x20\x22exam\x20review\x22\x20to\x20check\x20progress\x20or\x20\x22exam\x20submit\x22\x20to\x20submit.');const H=M();if(!H)return;const J=await a0Q({'message':a0L['white'](bi(0x46e)),'default':!(-0x13*0x161+0x7*0x577+-0xc0e),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L['green'](K)}}});if(J){console['log']();try{E(0x1*0x1795+-0x248e+0x51*0x29,'Connecting\x20to\x20exam\x20server...');const {session:K,questions:L}=await H['startExam'](F);E(-0x1fee*-0x1+-0xcb+0x1f05*-0x1,bi(0x285)),await q(0x1621+0x14a8+-0x2a01),E(0x329*-0x2+0x1b89*0x1+-0x14fb,bi(0x4db)),await q(-0x161b+0xa73*0x1+-0xc70*-0x1),E(0x51*-0x34+-0x1761+0x282f,bi(0x4bf)),await q(0x2*-0xd06+-0x230c+-0x2*-0x1ed7),a0Z({'session':K,'questions':L,'answers':{}}),E(-0x1*-0x18fd+0x145d*0x1+-0x2cf6*0x1,'Ready!'),console[bi(0x30a)](),console[bi(0x30a)](),a0ae(K['examName']),a0af(bi(0x494),String(K[bi(0x2e4)])),a0af(bi(0x460),K[bi(0x4bd)]+'\x20minutes'),a0af(bi(0x368),K[bi(0x217)]),O(),L[bi(0x43a)]>0x1803+0x16f*0x17+-0x38fc&&U(L[0x22a8+-0x1876+0xa32*-0x1]);}catch(Q){console[bi(0x30a)](),a0aa(Q[bi(0x278)]);}}}),B['command'](be(0x211))[be(0x4de)](be(0x32d))['action'](async F=>{const bj=be;a0a8('exam\x20q\x20'+(F||'all'));const {refetchQuestionDataIfStale:G}=await import(bj(0x383));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,0x1239+0x1043+-0x2272),K=H['questions'][bj(0x288)](L=>L[bj(0x459)]===J);if(!K)return void a0aa(bj(0x4c0)+F+bj(0x3ae)+H[bj(0x24d)][bj(0x43a)]+').');H[bj(0x44a)]=J,a0Z(H),U(K,H[bj(0x3bb)][J]);}else{a0ae(''+H[bj(0x29d)][bj(0x4f6)]);const L=Object['keys'](H[bj(0x3bb)])['length'];a0af(bj(0x1ee),L+'/'+H['session'][bj(0x2e4)]+'\x20answered'),console[bj(0x30a)]();for(const Q of H[bj(0x24d)]){const V=H[bj(0x3bb)][Q[bj(0x459)]],W=V?a0L[bj(0x20a)]('['+V+']'):a0L[bj(0x381)](bj(0x2a3)),X=Q[bj(0x431)]?a0L[bj(0x381)]('\x20['+Q[bj(0x431)]+']'):'';console[bj(0x30a)]('\x20\x20'+W+'\x20'+a0L[bj(0x33b)]('Q'+Q['number'])+X+'\x20'+a0L[bj(0x381)](Q[bj(0x326)]['substring'](-0x14b7+0x25f*0x1+-0x1258*-0x1,0x93*0x7+0x111b+-0x539*0x4))+(Q[bj(0x326)][bj(0x43a)]>0x14e8+-0x9fa+-0xab2?bj(0x42b):''));}console['log']();}}else a0aa(bj(0x2bf));}),B[be(0x272)](be(0x43c))['description'](be(0x3c1))[be(0x40c)](F=>{const bk=be;a0a8(bk(0x1f2)+(F||''));const G=a0Y();if(!G)return void a0aa(bk(0x357));const H=G[bk(0x24d)][bk(0x43a)],J=F?parseInt(F,0xf9c+0x1061+0x1ff3*-0x1):G[bk(0x44a)]||-0x18c4+-0x6*0x6d+0x1b53;if(Number['isNaN'](J)||J<-0x2b3*0xb+-0x15ef+0x33a1||J>H)return void a0aa(bk(0x473)+H+'.');const K=D(G,J);console[bk(0x30a)](),K?console['log'](a0L[bk(0x2aa)](bk(0x363)+J+'\x20flagged\x20for\x20review.')):console[bk(0x30a)](a0L[bk(0x381)](bk(0x390)+J+bk(0x3e6)));const L=Array[bk(0x4c5)](G[bk(0x47f)])?G[bk(0x47f)]:[];L[bk(0x43a)]>-0x2*-0x10a5+0x473+-0x25bd&&console[bk(0x30a)](a0L[bk(0x381)](bk(0x23b)+L[bk(0x33c)](Q=>'Q'+Q)[bk(0x3b2)](',\x20'))),console[bk(0x30a)](a0L[bk(0x381)](bk(0x355))+a0L[bk(0x33b)](bk(0x49a))),console[bk(0x30a)]();}),B[be(0x272)](be(0x4f2))[be(0x4de)](be(0x293))[be(0x40c)](F=>{const bl=be;a0a8(bl(0x2cd)+(F||''));const G=a0Y();if(!G)return void a0aa(bl(0x357));const H=G[bl(0x24d)][bl(0x43a)],J=F?parseInt(F,-0x1*-0x49b+0x1a35+-0x1*0x1ec6):G[bl(0x44a)]||0x25a0+-0x2330+-0x7*0x59;Number['isNaN'](J)||J<0xf3a+0x3e*0x79+0x2c87*-0x1||J>H?a0aa(bl(0x473)+H+'.'):j(G,J)?(D(G,J),console[bl(0x30a)](),console[bl(0x30a)](a0L[bl(0x381)](bl(0x390)+J+bl(0x3e6))),console[bl(0x30a)]()):console[bl(0x30a)](a0L[bl(0x381)](bl(0x26b)+J+bl(0x2b2)));}),B['command'](be(0x3bc))[be(0x4de)](be(0x2dd))['action'](()=>{const bm=be;a0a8('exam\x20next');const F=a0Y();if(!F)return void a0aa(bm(0x357));F[bm(0x24d)][bm(0x3a4)](K=>!F['answers'][K[bm(0x459)]]);const G=F[bm(0x44a)]||-0x1f*0x10f+0x72*0x26+0xfe6,H=Math[bm(0x329)](G+(0x1a05*-0x1+0x76f+0x1297),F[bm(0x24d)][bm(0x43a)]);F[bm(0x44a)]=H,a0Z(F);const J=F[bm(0x24d)][H-(0x2b*0x7c+-0x1841+0x36e)];U(J,F[bm(0x3bb)][J[bm(0x459)]]);}),B[be(0x272)]('prev')[be(0x4de)](be(0x1f1))['action'](()=>{const bn=be;a0a8(bn(0x284));const F=a0Y();if(!F)return void a0aa(bn(0x357));const G=F['_lastQ']||-0x1dd4+0x7dc*-0x1+0x25b1,H=Math[bn(0x232)](G-(0x1701+0x9*-0x43+-0x23*0x97),-0x18b0*-0x1+-0x324*-0xb+-0x3b3b);F[bn(0x44a)]=H,a0Z(F);const J=F[bn(0x24d)][H-(-0x1d22+-0x640+-0x2363*-0x1)];U(J,F[bn(0x3bb)][J[bn(0x459)]]);}),B['command'](be(0x351))['description'](be(0x1f6))[be(0x40c)](async()=>{const bo=be;a0a8(bo(0x30e));const F=a0Y();if(!F)return void a0aa(bo(0x357));const G=R(F),H=F[bo(0x44a)]||0xda8+0x672+-0x405*0x5,J=G[bo(0x3d3)][H]||0x81d+-0x1429+0x303*0x4,K=G[bo(0x333)][H]||[],L=F['questions'][bo(0x288)](W=>W[bo(0x459)]===H);if(!L)return;if(J>=-0x142f+0x1*-0x187f+0xa*0x478)return console[bo(0x30a)](),console[bo(0x30a)](a0L[bo(0x2aa)](bo(0x3d4))),console[bo(0x30a)](a0L[bo(0x381)]('\x20\x20Trust\x20your\x20instinct\x20and\x20pick\x20one!')),console[bo(0x30a)](),void U(L,F[bo(0x3bb)][L[bo(0x459)]]);const Q=['A','B','C','D']['filter'](W=>!K[bo(0x296)](W));if(Q[bo(0x43a)]<=0x5*-0x8f+-0xa75*-0x1+-0x7a8)return console[bo(0x30a)](),console[bo(0x30a)](a0L[bo(0x2aa)]('\x20\x20😄\x20Only\x202\x20options\x20left\x20—\x20you\x20got\x20this!')),console[bo(0x30a)](),void U(L,F[bo(0x3bb)][L[bo(0x459)]]);if(G[bo(0x3c9)]>=G[bo(0x232)]){const W=G[bo(0x232)]>=-0x1f6+0x1abf+-0x18ab,X=-0x1*-0xbcf+-0x16*-0x2+-0xbdd-G[bo(0x232)];return void(W?(console[bo(0x30a)](),console[bo(0x30a)](a0L[bo(0x381)](bo(0x3d7)+G[bo(0x3c9)]+'/'+G[bo(0x232)]+').\x20You\x27re\x20on\x20your\x20own!\x20💪')),console[bo(0x30a)]()):(console[bo(0x30a)](),console['log'](a0L[bo(0x2aa)](bo(0x3d2)+G['used']+'/'+G[bo(0x232)])),console[bo(0x30a)](a0L[bo(0x33b)]('\x20\x20Need\x20more?\x20Type:\x20')+a0L[bo(0x2b3)][bo(0x2aa)](bo(0x2c0))+a0L[bo(0x381)](bo(0x234)+X+'\x20bonus\x20uses)')),console['log']()));}const V=Y=>{const bp=bo;K[bp(0x3c8)](Y),G[bp(0x333)][H]||(G[bp(0x333)][H]=[]),G[bp(0x333)][H]=K,G[bp(0x3d3)][H]=J+(0x112c+-0x3*-0xbfe+0x38b*-0xf),G['used']++,F[bp(0x2fa)]=G['used'],F[bp(0x4b6)]=G[bp(0x232)],F[bp(0x323)]=G[bp(0x3d3)],F[bp(0x1e7)]=G[bp(0x333)],F[bp(0x367)]||(F[bp(0x367)]=[]),F[bp(0x367)][bp(0x3c8)]({'ts':new Date()[bp(0x39d)](),'q':H,'type':bp(0x1ef),'result':bp(0x294)+Y}),a0Z(F),console[bp(0x30a)](),console[bp(0x30a)](a0L[bp(0x2aa)](bp(0x304)+Y+'\x20eliminated!')+a0L[bp(0x381)]('\x20\x20(help\x20'+G[bp(0x3c9)]+'/'+G['max']+')')),U(L,F['answers'][L[bp(0x459)]]);};if(bo(0x3e0)===F[bo(0x29d)]['examId']&&L[bo(0x1e3)])(Y=>{const bq=bo,Z=Q[bq(0x481)](a0=>a0!==Y&&!K[bq(0x296)](a0));-0x2e1+0x9*-0x28d+0x19d6!==Z[bq(0x43a)]&&V(Z[Math[bq(0x3f1)](Math[bq(0x213)]()*Z[bq(0x43a)])]);})(L['answer']);else{const Y=a0W()['ctfdUrl']||bo(0x2ff),Z=F[bo(0x29d)]?.[bo(0x48e)]||'';try{const a0={};a0[bo(0x3e3)]=bo(0x280),a0[bo(0x2b9)]=bo(0x47a);const a1={};a1[bo(0x48e)]=Z,a1[bo(0x4c9)]=H,a1[bo(0x333)]=K;const a2=await fetch(Y+bo(0x35f)+F[bo(0x29d)][bo(0x2c9)]+bo(0x354),{'method':bo(0x32e),'headers':a0,'body':JSON[bo(0x314)](a1),'signal':AbortSignal[bo(0x290)](0x166*-0x19+-0x5*-0x767+0x117b)}),a3=await a2['json'](),a4=a3?.[bo(0x298)]?.[bo(0x442)];a4&&['A','B','C','D'][bo(0x296)](a4)?V(a4):(console[bo(0x30a)](),console['log'](a0L[bo(0x381)]('\x20\x20Server\x20did\x20not\x20return\x20a\x20valid\x20option.\x20Try\x20again.')));}catch{console[bo(0x30a)](),console[bo(0x30a)](a0L['gray']('\x20\x20Could\x20not\x20reach\x20server\x20for\x20help.\x20Check\x20your\x20connection.'));}}}),B[be(0x272)]('more-help')[be(0x4de)]('Unlock\x20hidden\x20bonus\x20help\x20uses')[be(0x40c)](()=>{const br=be;a0a8(br(0x4a2));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=R(F),H=br(0x3e0)===F['session'][br(0x2c9)]?-0x4*0x976+-0xd0d+0x32ed:0x4*-0x5c1+0x1b22+-0x8*0x80;if(G[br(0x232)]>=H)return void console[br(0x30a)](a0L[br(0x381)](br(0x28d)));if(G[br(0x3c9)]<G['max'])return void console[br(0x30a)](a0L[br(0x381)](br(0x1fb)+(G[br(0x232)]-G['used'])+'\x20helps\x20remaining.\x20Use\x20them\x20first!'));const J=H-G[br(0x232)];F['_helpMax']=H,a0Z(F),console['log'](),console[br(0x30a)](a0L[br(0x20a)](br(0x3dd)+J+br(0x465)+J+'/'+H+'\x20remaining)')),console[br(0x30a)](a0L[br(0x381)](br(0x46d))),console[br(0x30a)]();}),B[be(0x272)]('answer\x20<n>\x20<choice...>')[be(0x4de)](be(0x4e4))[be(0x40c)](async(F,G)=>{const bs=be,H=G[bs(0x3b2)]('\x20');a0a8(bs(0x2da)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bs(0x2bf));if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(0x4*0x232+0xbc*-0x35+0x1e24);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x3fa)](a0['answers'])[bt(0x43a)];bt(0x3e0)===a0[bt(0x29d)][bt(0x2c9)]||-0xd6*-0x26+0xe2c+0x1a4*-0x1c===a1?(a0a0(),a0ab('Exam\x20expired\x20and\x20cleared.'),a0ac(bt(0x4e9))):(a0aa(bt(0x33d)),a0ac('Type\x20\x22exam\x20submit\x22\x20to\x20finalise\x20now,\x20or\x20the\x20server\x20will\x20auto-finalise\x20within\x2030\x20minutes.'));}return!(-0x1b41+-0x25d1+0x4113);}return!(0xaed*-0x1+0x13*-0x5e+0x11e7);}()))return;const K=parseInt(F,-0x5f*0x12+0x2b8+0x400),L=J[bs(0x24d)]['find'](Z=>Z[bs(0x459)]===K);if(!L)return void a0aa(bs(0x4c0)+F+bs(0x3ae)+J[bs(0x24d)][bs(0x43a)]+').');let Q;if('ai4ctf'===L[bs(0x1ec)]||bs(0x358)===L[bs(0x1ec)]||bs(0x4a1)===L['type']||L['options']&&!L[bs(0x440)]['A']&&!L[bs(0x440)]['B']){if(Q=H['trim'](),/^submit\s+/i[bs(0x46a)](Q)&&(Q=Q[bs(0x3b8)](/^submit\s+/i,'')[bs(0x2a5)]()),Q=Q[bs(0x3b8)](/^["'`]+|["'`]+$/g,'')[bs(0x2a5)](),!Q)return void a0aa('Please\x20provide\x20your\x20flag:\x20exam\x20answer\x20<n>\x20ICOA{your_flag}');if(/^[A-Da-d]$/[bs(0x46a)](Q))return a0aa('Q'+K+bs(0x489)),void console['log'](a0L['gray'](bs(0x32c))+a0L[bs(0x20a)]('exam\x20answer\x20'+K+'\x20ICOA{your_flag}'));}else{if(Q=H[bs(0x25b)](),!['A','B','C','D'][bs(0x296)](Q))return void a0aa(bs(0x219));}if(bs(0x3e0)===J[bs(0x29d)][bs(0x2c9)]&&-0x180f+-0xb*-0x2c3+-0x650===K&&-0x1db2+-0x1898+0x364a===(R(J)[bs(0x3d3)][-0xce3*-0x1+-0xb49*0x3+-0x6*-0x37f]||0x2226+-0x18d0+-0xa*0xef))return console[bs(0x30a)](),console[bs(0x30a)](a0L['yellow']('\x20\x20💡\x20Try\x20typing\x20')+a0L['bold'][bs(0x2aa)]('help')+a0L[bs(0x2aa)](bs(0x35a))),console[bs(0x30a)](a0L[bs(0x381)](bs(0x306))),void console[bs(0x30a)]();const V=J[bs(0x3bb)][K];J[bs(0x367)]||(J['interactions']=[]),J[bs(0x367)]['push']({'ts':new Date()[bs(0x39d)](),'q':K,'type':V?bs(0x3fb):bs(0x3a6),'input':Q,'result':V?bs(0x264)+V:bs(0x3cf)}),J[bs(0x3bb)][K]=Q,J[bs(0x44a)]=K,a0Z(J),console[bs(0x30a)](a0L[bs(0x381)]('\x20\x20\x20\x20✓\x20saved'));const W=J[bs(0x29d)]['token'];if(W&&bs(0x3e0)!==J[bs(0x29d)][bs(0x2c9)]){const Z=(a0W()[bs(0x39a)]||bs(0x2ff))+'/api/icoa/exams/'+J[bs(0x29d)][bs(0x2c9)]+bs(0x255),a0={};a0[bs(0x3e3)]='application/json';const a1={};a1[bs(0x48e)]=W,a1[bs(0x4c9)]=K,a1[bs(0x1e3)]=Q,fetch(Z,{'method':bs(0x32e),'headers':a0,'body':JSON[bs(0x314)](a1),'signal':AbortSignal[bs(0x290)](0xdf6+0x1*0x1aa+0x3e8)})[bs(0x22d)](()=>{});}const X=Object[bs(0x3fa)](J[bs(0x3bb)])['length'],Y=J['session'][bs(0x2e4)];if(a0a9('Q'+K+':\x20'+Q+'\x20✓\x20\x20('+X+'/'+Y+bs(0x448)),bs(0x3e0)===J['session'][bs(0x2c9)]&&L[bs(0x1e3)]){const a2=[bs(0x2f5),bs(0x3ed),'On\x20the\x20money.','Exactly.',bs(0x3df)],a3=[bs(0x26c),bs(0x301),bs(0x3f3)],a4=Q===L['answer']?a2:a3,a5=a4[Math[bs(0x3f1)](Math[bs(0x213)]()*a4[bs(0x43a)])];console[bs(0x30a)](a0L['gray']('\x20\x20\x20\x20·\x20'+a5));}if(K<J[bs(0x24d)][bs(0x43a)]){const a6=J['questions'][K];J[bs(0x44a)]=a6[bs(0x459)],a0Z(J),U(a6,J[bs(0x3bb)][a6[bs(0x459)]]);}else X>=J['questions']['length']&&(console[bs(0x30a)](),console[bs(0x30a)](a0L[bs(0x20a)][bs(0x2b3)](bs(0x2ba))),console[bs(0x30a)](),bs(0x3e0)===J['session'][bs(0x2c9)]?(console[bs(0x30a)](a0L['white'](bs(0x3f5))+a0L[bs(0x2b3)][bs(0x476)](bs(0x346))+a0L[bs(0x33b)](bs(0x34b))),console[bs(0x30a)]()):console[bs(0x30a)](a0L[bs(0x33b)](bs(0x338))));}),B[be(0x272)]('review')[be(0x4de)](be(0x282))[be(0x40c)](()=>{const bu=be;a0a8(bu(0x49a));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');a0ae(bu(0x2bc)+F[bu(0x29d)]['examName']),O(),console['log']();let G='\x20\x20';const H=Array[bu(0x4c5)](F[bu(0x47f)])?F[bu(0x47f)]:[];for(const Q of F['questions']){const V=F[bu(0x3bb)][Q[bu(0x459)]],W=H[bu(0x296)](Q[bu(0x459)]),X=W?'★':'\x20';G+=V?W?a0L[bu(0x2b3)][bu(0x2aa)]('Q'+String(Q[bu(0x459)])[bu(0x336)](0xaa6+-0x1*0x14d1+0xa2d)+X+'['+V+']\x20'):a0L[bu(0x20a)]('Q'+String(Q[bu(0x459)])[bu(0x336)](0x1*0x7c3+0x1*-0x191b+0x1*0x115a)+'\x20['+V+bu(0x305)):W?a0L[bu(0x2b3)]['yellow']('Q'+String(Q['number'])[bu(0x336)](-0x1*0x1db4+0x1bc6+0x10*0x1f)+X+bu(0x325)):a0L[bu(0x2aa)]('Q'+String(Q[bu(0x459)])['padStart'](0x12cb+-0x5*-0x16e+-0x19ef)+bu(0x2d1)),Q[bu(0x459)]%(0x1*0x76+0x13*-0x79+0x88b)==0x236b*0x1+0x1c6d+-0x3fd8&&(console[bu(0x30a)](G),G='\x20\x20');}G[bu(0x2a5)]()&&console['log'](G);const J=Object[bu(0x3fa)](F['answers'])['length'],K=F['session'][bu(0x2e4)],L=K-J;if(console[bu(0x30a)](),a0af(bu(0x27f),a0L[bu(0x20a)]['bold'](J+'/'+K)),L>0xa*-0x1d4+-0x2c*0xc8+0x34a8){const Y=F[bu(0x24d)]['filter'](Z=>!F[bu(0x3bb)][Z[bu(0x459)]])[bu(0x33c)](Z=>Z[bu(0x459)])['join'](',\x20');a0af(bu(0x26d),a0L[bu(0x2aa)](L+bu(0x210)+Y+')'));}H[bu(0x43a)]>0x1571+0x1*-0x1dd1+0x10c*0x8&&a0af('Flagged\x20for\x20review',a0L[bu(0x2b3)][bu(0x2aa)]('★\x20'+H[bu(0x43a)])+a0L['gray']('\x20('+H[bu(0x33c)](Z=>'Q'+Z)['join'](',\x20')+')')),console[bu(0x30a)](),H[bu(0x43a)]>-0x1c27*-0x1+0x3*-0x709+-0xa4*0xb&&console['log'](a0L['gray']('\x20\x20Jump\x20to\x20a\x20flagged\x20question:\x20')+a0L[bu(0x33b)](bu(0x27b)+H[0x1*-0x1d03+0x43e+-0x11*-0x175])),console[bu(0x30a)](a0L[bu(0x381)]('\x20\x20Ready?\x20Use\x20')+a0L[bu(0x2b3)][bu(0x476)](bu(0x346))+a0L[bu(0x381)]('\x20to\x20submit\x20for\x20grading.'));}),B[be(0x272)]('submit\x20[confirmArg]\x20[secondArg]')[be(0x4de)]('Submit\x20exam\x20for\x20grading\x20(use:\x20\x22exam\x20submit\x20confirm\x22\x20for\x20real\x20exams)')[be(0x40c)](async(J,K)=>{const bv=be;a0a8(bv(0x427)+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&bv(0x330)===J&&!K&&(L[bv(0x256)]=!(-0x15b1+0x23c7*-0x1+0x265*0x18),a0Z(L)),!L)return void a0aa(bv(0x357));const Q=Object[bv(0x3fa)](L[bv(0x3bb)])[bv(0x43a)],V=L[bv(0x29d)][bv(0x2e4)],W=V-Q;if(0x1*-0x25a5+0x18ad*0x1+0xcf8===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void(bv(0x3e0)===L[bv(0x29d)][bv(0x2c9)]||a1?(a0a0(),a0ab(bv(0x3f6)),a0ac('Type:\x20demo\x20to\x20start\x20again.')):(a0ab(bv(0x29b)),a0ac('Answer\x20some\x20questions\x20first:\x20exam\x20q\x201')));}const X=a0a1(),Y=!!(X&&new Date()>=X);if(bv(0x3e0)!==L[bv(0x29d)][bv(0x2c9)]&&!Y&&bv(0x330)===J&&Q<0x1*0x220f+-0x43*-0xf+-0x25f2){if((K||'')[bv(0x2a5)]()!==String(Q))return console[bv(0x30a)](),console[bv(0x30a)](a0L['red'](bv(0x376))),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x48a)]('\x20\x20⚠\x20\x20Only\x20'+Q+'/'+V+'\x20answered\x20—\x20accidental\x20submit\x20guard')),console['log'](a0L[bv(0x48a)](bv(0x376))),console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x33b)](bv(0x45a))+a0L[bv(0x2b3)][bv(0x2aa)](''+Q)+a0L[bv(0x33b)](bv(0x4b3))+a0L[bv(0x33b)](''+V)+a0L[bv(0x33b)](bv(0x2ab))),console[bv(0x30a)](a0L['white'](bv(0x1ed))+a0L['bold'][bv(0x48a)](Q+'/'+V+'\x20is\x20well\x20below.')),console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x33b)](bv(0x22a))),console['log'](a0L[bv(0x381)](bv(0x2e6))+a0L[bv(0x476)](bv(0x2e2))+a0L['gray']('\x20\x20\x20(resume\x20from\x20Q1)')),console[bv(0x30a)](a0L['gray']('\x20\x20\x20\x20')+a0L[bv(0x476)](bv(0x49a))+a0L['gray'](bv(0x2c1))),console[bv(0x30a)](),console['log'](a0L[bv(0x2b3)]['white'](bv(0x1fc))+a0L['bold'][bv(0x2aa)](''+Q)+a0L['bold'][bv(0x33b)](bv(0x25d))),console[bv(0x30a)](a0L['gray'](bv(0x2e6))+a0L[bv(0x2b3)][bv(0x476)]('exam\x20submit\x20confirm\x20'+Q)),console[bv(0x30a)](a0L[bv(0x381)](bv(0x2fb)+Q+bv(0x47c))),console['log'](),void(L['_submitConfirmed']&&(delete L[bv(0x256)],a0Z(L)));L['_submitConfirmed']=!(0x697+-0x986+0x2ef),a0Z(L);}if('demo-free'!==L['session']['examId']){const a2=!(-0xd*0x294+0x1cbb*-0x1+0x1*0x3e3f)===L['_submitConfirmed'],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x48a)](bv(0x463))),console[bv(0x30a)](a0L[bv(0x2b3)]['red'](bv(0x38c))),console[bv(0x30a)](a0L[bv(0x48a)](bv(0x463))),console[bv(0x30a)](),console['log'](a0L[bv(0x33b)](bv(0x21b)+a0L[bv(0x2b3)]['green'](Q+'/'+V)+bv(0x472))),W>0x1556+-0x1f4d+0x9f7){const a6=L[bv(0x24d)][bv(0x481)](a7=>!L['answers'][a7['number']])[bv(0x33c)](a7=>'Q'+a7['number'])[bv(0x3b2)](',\x20');console[bv(0x30a)](a0L[bv(0x2aa)]('\x20\x20'+W+'\x20unanswered:\x20'+a6));}const a5=Array[bv(0x4c5)](L['bookmarks'])?L[bv(0x47f)]:[];return a5[bv(0x43a)]>0x1*-0x14cf+-0x1fa6*0x1+0x3475&&console[bv(0x30a)](a0L[bv(0x2aa)](bv(0x249)+a5[bv(0x43a)]+bv(0x4a6)+a5[bv(0x33c)](a7=>'Q'+a7)['join'](',\x20'))),console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x33b)](bv(0x444))+a0L[bv(0x2b3)][bv(0x48a)](bv(0x488))+a0L[bv(0x33b)](bv(0x43f))),console['log'](),console['log'](a0L[bv(0x2b3)][bv(0x33b)]('\x20\x20To\x20confirm:\x20\x20')+a0L[bv(0x2b3)][bv(0x476)]('exam\x20submit\x20confirm')),console[bv(0x30a)](a0L[bv(0x33b)](bv(0x38a))+a0L[bv(0x476)](bv(0x49a))+a0L['gray'](bv(0x437))+a0L[bv(0x476)]('back')),void console['log']();}a2&&(delete L[bv(0x256)],a0Z(L));}if(console['log'](),bv(0x3e0)===L['session'][bv(0x2c9)]){try{E(-0x1b1*0x15+0x5d6+-0x3*-0x9e5,a0ai(bv(0x42a))),await q(0x2a*0x38+0xcda+-0x1*0x14de);let a7=-0xb*-0x2d7+-0x21d3+0x296*0x1;const a8=[],a9={};for(const al of L['questions']){const am=al[bv(0x431)]||bv(0x2b5),an={};an[bv(0x38f)]=0x0,an[bv(0x2c7)]=0x0,(a9[am]||(a9[am]=an),a9[am][bv(0x2c7)]++);const ao=L[bv(0x3bb)][al[bv(0x459)]];ao&&al[bv(0x1e3)]&&ao===al[bv(0x1e3)]?(a7++,a9[am][bv(0x38f)]++):a8[bv(0x3c8)](al['number']);}a8[bv(0x3ba)]((ap,aq)=>ap-aq),E(0x981*0x1+0x19ba+-0x22d7,a0ai(bv(0x4c4))),console[bv(0x30a)]();const aa=new Date(L[bv(0x29d)]['startedAt'])['getTime'](),ab=Math[bv(0x232)](-0xc4f*-0x1+-0xa6d+-0xf1*0x2,Math['round']((Date['now']()-aa)/(-0x264b*-0x1+-0x1*0x2ef+-0x6*0x53e))),ac=Math[bv(0x3f1)](ab/(-0x3fd*-0x9+0x22dc+-0x4685))+'m\x20'+ab%(-0x259c+0x1*-0xcc7+0x329f)+'s',ad=[...L[bv(0x24d)]],ae={...L['answers']},af=R(L);a0a0();const ag=Math[bv(0x1fe)](a7/V*(0x1389+-0x1c6*-0xa+0x419*-0x9)),ah=a0W(),ai={};ai[bv(0x3e3)]=bv(0x280),(fetch(bv(0x2ea),{'method':'POST','headers':ai,'body':JSON[bv(0x314)]({'type':'demo-exam','score':a7,'total':V,'lang':ah[bv(0x48f)]||'en','help_used':af[bv(0x3c9)],'help_max':af['max'],'tokens_used':0x0,'solved':ag>=-0x3*0xa9b+0x1ab0+0x55d?-0x1fc*-0xa+-0x129e+0x1*-0x139:0x1*-0x104e+-0xa2a*-0x1+0x624,'timestamp':new Date()['toISOString'](),'interactions':L[bv(0x367)]||[]}),'signal':AbortSignal[bv(0x290)](-0x7f*-0x3b+-0x1ed2+0x1515)})[bv(0x22d)](()=>{}),console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x476)](bv(0x4f0))),console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x2b3)]['white'](bv(0x342))),console['log'](a0L[bv(0x2b3)][bv(0x33b)](bv(0x4e3))),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x33b)](bv(0x3e4))),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x33b)](bv(0x45d))),console['log'](a0L[bv(0x2b3)]['white'](bv(0x2c5))),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x33b)](bv(0x349))),console['log'](),console[bv(0x30a)](a0L[bv(0x2b3)](bv(0x399)+a0ai(bv(0x3c5))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console['log'](a0L['bold']('\x20\x20\x20'+(ag>=-0x254b+0x19f1*0x1+-0xb96*-0x1?a0L[bv(0x20a)](a0ai('passed')):a0L[bv(0x48a)](a0ai('notPassed'))))),console[bv(0x30a)](a0L[bv(0x381)](bv(0x3f4)+ac)),console[bv(0x30a)](),console['log'](a0L[bv(0x2aa)](bv(0x295))),console[bv(0x30a)](a0L[bv(0x381)](bv(0x366))),console[bv(0x30a)](),console['log'](a0L[bv(0x476)](bv(0x4f0))),await q(-0x400+0x10a6*-0x1+0x3*0xaca));const aj=Object['entries'](a9);if(aj[bv(0x43a)]>-0x1d2d+0x128c+0xaa1){console['log'](),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x33b)]('\x20\x20By\x20category'));const ap=-0x1d5+0x4*0x5ff+-0x1*0x161d;for(const [aq,ar]of aj){const as=ar[bv(0x2c7)]>0x1a*0x94+-0x1d3f*-0x1+0x8db*-0x5?Math[bv(0x1fe)](ar[bv(0x38f)]/ar['total']*(0x20bc+0x5b2+-0x3*0xcae)):-0xb19*0x3+-0x1e2f+0x3f7a,at=ar[bv(0x2c7)]>-0x256d+0xa71+0xd7e*0x2?Math['round'](ar[bv(0x38f)]/ar[bv(0x2c7)]*ap):-0x22f4+0x42d*-0x5+0x37d5,au=ap-at,av=as>=-0x1712+0x1482+-0x4*-0xb8?a0L['green']:as>=0x4ff*0x5+0x13ee+-0x2cb7?a0L['yellow']:a0L['red'],aw=av('█'[bv(0x36e)](at))+a0L[bv(0x381)]('░'['repeat'](au));console[bv(0x30a)](bv(0x2e6)+a0L['white'](aq[bv(0x1e2)](-0x8b6+0x1fca+-0x1700))+'\x20'+aw+'\x20\x20'+av(ar['correct']+'/'+ar[bv(0x2c7)])+a0L[bv(0x381)]('\x20('+as+'%)'));}console[bv(0x30a)](),console['log'](a0L[bv(0x476)](bv(0x401)));}const ak=a0a4(a7,V);if(a7===ak['best']&&ak['attempts']>-0x27f*0x1+-0xa6f+-0x7*-0x1d9&&a7>0x1*0xc2f+0x4*-0x66f+0xd8d&&(console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x20a)](bv(0x457)))),a8['length']>-0xf25+-0x1*-0x1e3a+-0xb*0x15f){const ax=ad[bv(0x481)](ay=>a8[bv(0x296)](ay[bv(0x459)]))[bv(0x33c)](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(-0x1b*-0x1e+0x1d25*0x1+-0x1497),a8[bv(0x43a)]>0x9*-0x188+0xe*-0x2b7+-0x33ca*-0x1){console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x2aa)]('\x20\x20'+a8[bv(0x43a)]+'\x20'+a0ai(bv(0x24e)))),console[bv(0x30a)]();for(const ay of a8){const az=ad[bv(0x288)](aC=>aC['number']===ay);if(!az)continue;const aA=ae[ay],aB=az[bv(0x1e3)];console[bv(0x30a)](a0L[bv(0x33b)]('\x20\x20Q'+ay+'.\x20'+az[bv(0x326)])),aA?console[bv(0x30a)](a0L[bv(0x48a)](bv(0x2e6)+a0ai(bv(0x385))+':\x20'+aA+'.\x20'+az[bv(0x440)][aA])):console['log'](a0L['yellow']('\x20\x20\x20\x20'+a0ai('yourAnswer')+bv(0x397))),aB&&console['log'](a0L[bv(0x20a)](bv(0x2e6)+a0ai('correct')+':\x20'+aB+'.\x20'+az['options'][aB])),az[bv(0x496)]&&console[bv(0x30a)](a0L[bv(0x381)](bv(0x4ba)+az[bv(0x496)])),console[bv(0x30a)]();}}else console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x20a)]('\x20\x20'+a0ai('perfectScore')));await q(-0x1b*-0x63+0x18e*0x7+-0xd83),console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x476)]('\x20\x20─────────────────────────────────────────────')),console[bv(0x30a)](a0L[bv(0x33b)]('\x20\x20'+a0ai(bv(0x453))+'\x20')+a0L['bold']['green'](bv(0x292))+a0L['gray'](bv(0x27d)+a0ai(bv(0x48d)))),console[bv(0x30a)](a0L[bv(0x381)]('\x20\x20'+a0ai('ai4ctfSub'))),console[bv(0x30a)](a0L[bv(0x476)](bv(0x401))),console[bv(0x30a)]();}catch(aC){console['log'](),a0aa(aC[bv(0x278)]);}return;}const Z=L['session'][bv(0x48e)];try{let aD;if(E(0x1*-0x1d0e+0xeca+0xe44,'Uploading\x20answers...'),Z){const aN={};aN['Content-Type']='application/json';const aO={};aO[bv(0x292)]=0x0,aO[bv(0x358)]=0x0;const aP=a0W()['ctfdUrl']||bv(0x2ff),aQ=await fetch(aP+bv(0x35f)+L[bv(0x29d)][bv(0x2c9)]+bv(0x2e9),{'method':bv(0x32e),'headers':aN,'body':JSON[bv(0x314)]({'token':Z,'answers':L[bv(0x3bb)],'interactions':L[bv(0x367)]||[],'aiUsage':L[bv(0x41e)]||aO,'bookmarks':L[bv(0x47f)]||[]}),'signal':AbortSignal[bv(0x290)](-0x64a5*0x1+0x1f*0x107+0x7f64)});if(!aQ['ok']){const aR=await aQ[bv(0x3ec)]()[bv(0x22d)](()=>({'message':bv(0x3dc)}));throw new Error(aR[bv(0x278)]||bv(0x3dc));}aD=(await aQ[bv(0x3ec)]())[bv(0x298)];}else{const aS=M();if(!aS)return;aD=await aS[bv(0x449)](L[bv(0x29d)][bv(0x2c9)],L['answers']);}E(-0x868+-0x2364+0x2bfe,bv(0x4f5)),await q(-0x107f*0x1+0x522+0xc89),E(-0x94f+-0x15d3+0x327*0xa,'Complete!'),console['log']();const aE={};aE['ai4ctf']=0x0,aE['ctf4ai']=0x0;const aF={'answered':Object[bv(0x3fa)](L['answers'])[bv(0x43a)],'total':L[bv(0x29d)][bv(0x2e4)],'bookmarks':Array[bv(0x4c5)](L['bookmarks'])?L[bv(0x47f)]['length']:0xb33*-0x1+0x1*-0x9e1+0x1514,'help':R(L),'aiUsage':L['aiUsage']||aE,'interactions':(L[bv(0x367)]||[])[bv(0x43a)],'durationMin':L[bv(0x29d)][bv(0x4bd)]||-0x16e7+0x119e+0x29*0x21,'confirmedAt':L[bv(0x29d)][bv(0x4ee)]||L[bv(0x29d)][bv(0x252)],'examId':L['session']['examId']};a0a0();const aG=Math[bv(0x232)](0xcd4*0x3+0xd9f+-0x1*0x341b,Math[bv(0x1fe)]((Date[bv(0x251)]()-new Date(aF['confirmedAt'])['getTime']())/(-0x5*0x293+0x1662+-0x59b))),aH=Math[bv(0x3f1)](aG/(0x1*0x2250+-0x2445+0x231)),aI=aG%(-0x1*0xd13+-0x1*0x7a1+0xa78*0x2);console[bv(0x30a)](),console[bv(0x30a)](a0L['cyan'](bv(0x4e7))),console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x33b)](bv(0x342))),console[bv(0x30a)](a0L['bold'][bv(0x33b)](bv(0x4e3))),console['log'](a0L[bv(0x2b3)][bv(0x33b)](bv(0x3e4))),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x33b)](bv(0x45d))),console['log'](a0L[bv(0x2b3)][bv(0x33b)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x33b)](bv(0x349))),console[bv(0x30a)]();const aJ=aD[bv(0x259)]?a0L['green'][bv(0x2b3)](bv(0x3de)):a0L[bv(0x2aa)][bv(0x2b3)](bv(0x43d));console[bv(0x30a)](aJ),console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x33b)](bv(0x2a4))),console[bv(0x30a)](a0L[bv(0x33b)](bv(0x3e9))),console[bv(0x30a)](a0L[bv(0x33b)]('\x20\x20\x20the\x20organizer\x20in\x20your\x20country.')),console[bv(0x30a)](),console[bv(0x30a)](a0L[bv(0x476)](bv(0x401))),console['log'](),console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x33b)](bv(0x435)));const aK=aF[bv(0x2c7)]-aF['answered'];console[bv(0x30a)](bv(0x2e6)+a0L[bv(0x381)](bv(0x4c8))+a0L['white'](aF[bv(0x378)]+'/'+aF['total'])+(aK>0x85b*0x1+0x187d*-0x1+-0xe*-0x127?a0L[bv(0x381)](bv(0x372)+aK+bv(0x27e)):'')),console[bv(0x30a)](bv(0x2e6)+a0L[bv(0x381)](bv(0x4cb))+a0L['white'](aH+'m\x20'+aI+'s')+a0L[bv(0x381)]('\x20\x20of\x20'+aF[bv(0x3b0)]+bv(0x4ab))),aF[bv(0x47f)]>-0x3*-0x931+0xa08+0x1*-0x259b&&console['log']('\x20\x20\x20\x20'+a0L[bv(0x381)](bv(0x447))+a0L[bv(0x2aa)]('★\x20'+aF[bv(0x47f)])),console[bv(0x30a)]();const aL=aD['categoryStats'];if(aL&&Object['keys'](aL)[bv(0x43a)]>=-0xc5*0x11+0x1*-0x1238+0x1f4f){const aT=Object[bv(0x2b4)](aL)[bv(0x481)](([,aY])=>aY[bv(0x2c7)]>-0x17dc+-0x251b+0x1*0x3cf7)[bv(0x33c)](([aY,aZ])=>({'cat':aY,'pct':aZ['correct']/aZ[bv(0x2c7)]}))['sort']((aY,aZ)=>aZ[bv(0x27c)]-aY[bv(0x27c)]),aU=Math['min'](-0x1*-0x6b9+-0x1ade+0x2e1*0x7,Math[bv(0x350)](aT[bv(0x43a)]/(-0x2056+0x18ad+0x7ac))),aV=Math[bv(0x329)](-0x1*0x1f58+0x281*0x5+0x1*0x12d5,Math[bv(0x350)](aT[bv(0x43a)]/(0x71b+0xd46*0x1+-0x145e))),aW=aT[bv(0x215)](0x224b+-0x8fc+0x1*-0x194f,aU)[bv(0x33c)](aY=>aY['cat']),aX=aT[bv(0x215)](-aV)[bv(0x33c)](aY=>aY[bv(0x386)]);aW[bv(0x200)](aY=>aX['includes'](aY))||(console[bv(0x30a)](a0L[bv(0x2b3)][bv(0x33b)](bv(0x396))),console[bv(0x30a)]('\x20\x20\x20\x20'+a0L['green'](bv(0x4ef))+a0L[bv(0x33b)](aW[bv(0x3b2)](',\x20'))),console[bv(0x30a)](bv(0x2e6)+a0L[bv(0x2aa)](bv(0x4a4))+a0L['white'](aX['join'](',\x20'))),console[bv(0x30a)](a0L[bv(0x381)](bv(0x369))),console[bv(0x30a)]());}console[bv(0x30a)](a0L[bv(0x2b3)]['white'](bv(0x30f))),console['log']('\x20\x20\x20\x20'+a0L[bv(0x381)](bv(0x466))+a0L[bv(0x33b)](aF[bv(0x351)][bv(0x3c9)]+'/'+aF[bv(0x351)][bv(0x232)])),console[bv(0x30a)]('\x20\x20\x20\x20'+a0L['gray'](bv(0x3c3))+a0L[bv(0x33b)](aF[bv(0x41e)]['ai4ctf']+'\x20AI4CTF')+a0L[bv(0x381)](bv(0x372))+a0L[bv(0x33b)](aF[bv(0x41e)][bv(0x358)]+bv(0x362))),console[bv(0x30a)](),console['log'](a0L['cyan'](bv(0x401))),console['log'](),console[bv(0x30a)](a0L['bold']['white'](bv(0x2cb))),console['log'](a0L[bv(0x381)](bv(0x370))),console['log'](a0L[bv(0x381)](bv(0x44b))+a0L[bv(0x33b)](bv(0x2e0))+a0L[bv(0x381)](bv(0x3bf))),console[bv(0x30a)](a0L[bv(0x381)](bv(0x1e9))+a0L[bv(0x33b)]('ref')),console[bv(0x30a)]();const {showCToBUpgradePrompt:aM}=await import(bv(0x3ab));aM(aF[bv(0x2c9)],aD[bv(0x259)]),console[bv(0x30a)](a0L[bv(0x2aa)]('\x20\x20ICOA\x202026\x20·\x20Sydney,\x20Australia\x20·\x20Jun\x2027\x20–\x20Jul\x202')),console[bv(0x30a)](a0L[bv(0x476)][bv(0x3b4)](bv(0x4b9))),console[bv(0x30a)](),console['log'](a0L[bv(0x476)](bv(0x4e7))),console[bv(0x30a)]();}catch(aY){console[bv(0x30a)](),a0aa(aY['message']);}}),B[be(0x272)](be(0x317))[be(0x4de)](be(0x1e5))[be(0x40c)](async F=>{const bw=be;a0a8('exam\x20result\x20'+(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[bw(0x29d)][bw(0x2c9)];}const H=a0ag(bw(0x3cd));H[bw(0x258)]();try{const K=await G['getResult'](F);H[bw(0x3b1)](bw(0x4a5)),console[bw(0x30a)](),a0ae(K[bw(0x4f6)]),a0af(bw(0x353),a0L[bw(0x2b3)](K[bw(0x3c5)]+'/'+K[bw(0x2c7)])),a0af(bw(0x271),a0L[bw(0x2b3)](K[bw(0x37b)]+'%')),a0af(bw(0x4df),K[bw(0x259)]?a0L[bw(0x20a)][bw(0x2b3)](bw(0x237)):a0L[bw(0x48a)][bw(0x2b3)](bw(0x308))),a0af(bw(0x2dc),K[bw(0x224)]),console[bw(0x30a)]();}catch(L){H[bw(0x4f1)](bw(0x37f)),a0aa(L[bw(0x278)]);}}),B[be(0x272)]('token\x20<code>')[be(0x4de)](be(0x39b))[be(0x40c)](async J=>{const bx=be;a0a8('exam\x20token\x20'+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bx(0x383)),V=K();if(V){const a2=V[bx(0x29d)][bx(0x48e)],a3=a0a1(),a4=!!a2&&a2[bx(0x2a5)]()[bx(0x25b)]()!==J[bx(0x2a5)]()['toUpperCase'](),a5=!!a3&&a3[bx(0x4bc)]()+(0x3*-0x8009+-0x42316+-0x211a71*-0x1)<Date['now']();if(a4&&a5)return Q(),console['log'](),console[bx(0x30a)](a0L[bx(0x381)]('\x20\x20(previous\x20exam\x20session\x20expired\x20—\x20cleared\x20state,\x20starting\x20fresh\x20with\x20your\x20new\x20token)')),console['log'](),console[bx(0x30a)](a0L[bx(0x33b)]('\x20\x20Please\x20re-type:\x20')+a0L[bx(0x2b3)][bx(0x476)](bx(0x412)+J)),void console[bx(0x30a)]();if(!a2&&J)return V[bx(0x29d)][bx(0x48e)]=J['trim'](),L(V),console[bx(0x30a)](),console[bx(0x30a)](a0L[bx(0x20a)](bx(0x1f0))),console[bx(0x30a)](a0L[bx(0x381)](bx(0x2c4))+a0L[bx(0x33b)](bx(0x3cb))+a0L[bx(0x381)](bx(0x23c))+a0L['white'](bx(0x346))),console[bx(0x30a)](),console['log'](a0L['bold'][bx(0x33b)](bx(0x2d8))),console['log'](a0L[bx(0x381)](bx(0x4ba))+a0L[bx(0x2b3)]['cyan'](bx(0x2e2))+a0L[bx(0x381)]('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bx(0x30a)](a0L[bx(0x381)](bx(0x4ba))+a0L[bx(0x2b3)]['cyan'](bx(0x49a))+a0L[bx(0x381)](bx(0x48c))),void console[bx(0x30a)]();const a6=Object['keys'](V[bx(0x3bb)])[bx(0x43a)],a7=V[bx(0x29d)][bx(0x2e4)],a8=a0a1(),a9=a8?Math[bx(0x232)](-0xc75+0x1ae3*0x1+0x2*-0x737,Math['round']((a8[bx(0x4bc)]()-Date[bx(0x251)]())/(-0x2*-0x945f+-0x4471+-0x5*-0x137))):null;return console['log'](),console[bx(0x30a)](a0L[bx(0x2aa)](bx(0x23f))),console[bx(0x30a)](),console['log'](a0L[bx(0x381)](bx(0x225))+a0L[bx(0x33b)](V[bx(0x29d)][bx(0x4f6)])),a2&&console[bx(0x30a)](a0L['gray']('\x20\x20Token:\x20\x20\x20')+a0L[bx(0x33b)](a2)+(a2===J?a0L[bx(0x20a)](bx(0x359)):a0L[bx(0x2aa)](bx(0x2b6)))),console['log'](a0L[bx(0x381)]('\x20\x20Answers:\x20')+a0L['white'](a6+'/'+a7)),null!==a9&&console[bx(0x30a)](a0L[bx(0x381)](bx(0x300))+a0L[bx(0x33b)](a9+bx(0x2a2))),console['log'](),console['log'](a0L[bx(0x2b3)][bx(0x33b)](bx(0x438))),console[bx(0x30a)](a0L['gray'](bx(0x4ba))+a0L[bx(0x2b3)][bx(0x476)](bx(0x2e2))+a0L[bx(0x381)]('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bx(0x30a)](a0L[bx(0x381)]('\x20\x20\x20\x20→\x20')+a0L[bx(0x2b3)][bx(0x476)](bx(0x49a))+a0L['gray'](bx(0x48c))),console[bx(0x30a)](a0L[bx(0x381)](bx(0x4ba))+a0L[bx(0x2b3)][bx(0x476)](bx(0x346))+a0L[bx(0x381)]('\x20\x20\x20finish\x20and\x20submit')),a2&&a2!==J&&(console[bx(0x30a)](),console[bx(0x30a)](a0L[bx(0x2aa)]('\x20\x20Note:\x20you\x20typed\x20a\x20different\x20token.\x20Each\x20exam\x20token\x20is\x20bound\x20to')),console['log'](a0L['yellow']('\x20\x20one\x20device\x20+\x20one\x20session.\x20You\x20cannot\x20switch\x20tokens\x20mid-exam.')),console[bx(0x30a)](),console[bx(0x30a)](a0L[bx(0x381)](bx(0x469))),console[bx(0x30a)](a0L[bx(0x381)](bx(0x4eb))+a0L[bx(0x2b3)]['cyan'](bx(0x4dd))+a0L['gray'](bx(0x331)))),void console[bx(0x30a)]();}const {isNativeWindowsCmd:W}=await import(bx(0x3da));if(!W()&&!a0am()){let aa=!(0x2*0x110+-0x1*-0xff5+-0x485*0x4);try{const ab={};ab[bx(0x3e3)]=bx(0x280);const ac=a0W()['ctfdUrl']||bx(0x2ff),ad=await fetch(ac+bx(0x203),{'method':bx(0x32e),'headers':ab,'body':JSON['stringify']({'token':J[bx(0x2a5)](),'deviceHash':a0aj(),'peek':!(0x1584+0x25fb*-0x1+0x1077*0x1)}),'signal':AbortSignal[bx(0x290)](-0xa69*-0x2+-0xb74*-0x3+-0x4e*0x75)});if(ad['ok']){const ae=await ad[bx(0x3ec)]();(ae?.[bx(0x298)]?.[bx(0x3aa)]||'')['endsWith']('-c')&&(aa=!(-0x14d1+0x2548+-0x1077));}}catch{}if(!aa)return console[bx(0x30a)](),a0ab(bx(0x4a8)),console[bx(0x30a)](a0L['gray'](bx(0x434))+a0L['bold'][bx(0x476)](bx(0x26e))),console[bx(0x30a)](a0L[bx(0x381)](bx(0x3ee))+a0L[bx(0x2b3)]['cyan'](bx(0x3e8))+a0L['gray'](bx(0x46c))),console['log'](a0L['gray'](bx(0x45b))),void console[bx(0x30a)]();}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',X['BW']='en';const Y=X[J[bx(0x2a5)]()[bx(0x21a)](0x5*-0x472+-0xbf9*0x3+0xe5*0x41,0x12f7+0x39*0x6d+-0x2b3a*0x1)[bx(0x25b)]()],Z=a0W(),a0=Z[bx(0x39a)]||bx(0x2ff),a1=Y||Z[bx(0x48f)]||'en';Y&&Y!==(Z[bx(0x48f)]||'en')&&a0X({'language':Y}),console[bx(0x30a)](),E(-0xf7e+0x1*0x1552+0x2ea*-0x2,bx(0x458));try{const af={};af[bx(0x3e3)]='application/json';const ag=await fetch(a0+bx(0x203),{'method':'POST','headers':af,'body':JSON['stringify']({'token':J[bx(0x2a5)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal['timeout'](0x1146+-0x20f1+0x36bb)});if(!ag['ok']){E(-0x1*0x751+0x1064+-0x17*0x65,''),console[bx(0x30a)]();const ao=await ag['json']()[bx(0x22d)](()=>({'message':'Invalid\x20token'}));return a0aa(ao[bx(0x278)]||bx(0x231)),void a0ac(bx(0x3c6));}E(-0x1*-0x1385+-0x1*0x24ba+0x1153,bx(0x24b));const ah=await ag['json'](),{session:ai,questions:aj,languages:ak}=ah['data'];E(-0x1e74+0xbf9+0x12b7,'Preparing...'),await q(0xa99*-0x3+0xe00+0x1293),E(0x73*0x4b+-0x1c0e+0x11*-0x4f,bx(0x498)),console[bx(0x30a)](),console['log'](),a0ae(ai[bx(0x4f6)]),console[bx(0x30a)](),a0af('Questions',ai[bx(0x2e4)]+bx(0x31c)),a0af(bx(0x460),ai[bx(0x4bd)]+bx(0x1fa)),a0af(bx(0x4ca),(ai[bx(0x21d)]||0x1*0xd1f+0x1a5a*0x1+-0x26e3)+bx(0x32a)),a0af(bx(0x436),(ai['passingScore']||-0x2e7*-0x5+0xa44+-0x187c)+'\x20points\x20(50%)'),console[bx(0x30a)](),console['log'](a0L[bx(0x33b)](bx(0x416))),console[bx(0x30a)](a0L[bx(0x33b)](bx(0x2be))),console[bx(0x30a)](a0L[bx(0x33b)](bx(0x4a0))),console[bx(0x30a)](a0L[bx(0x33b)]('\x20\x20\x20\x20AI:\x20\x20\x20\x20\x20\x2025K\x20AI4CTF\x20+\x2025K\x20CTF4AI\x20tokens')),ak&&ak[bx(0x43a)]>-0x244+-0xaec+-0x1*-0xd31&&console[bx(0x30a)](a0L[bx(0x33b)](bx(0x2e1)+ak[bx(0x3b2)](',\x20')+bx(0x47d))),console[bx(0x30a)](),console[bx(0x30a)](a0L[bx(0x2aa)](bx(0x2ef))),console[bx(0x30a)](a0L[bx(0x33b)](bx(0x41b))),console['log'](a0L[bx(0x33b)](bx(0x47b))),console[bx(0x30a)](a0L['white'](bx(0x2ee))),console[bx(0x30a)](),await new Promise(ap=>{const by=bx;process[by(0x262)][by(0x45f)](a0L[by(0x2b3)][by(0x2aa)](by(0x2d4)));const aq=!!process[by(0x289)][by(0x216)]&&process['stdin'][by(0x40e)];process['stdin'][by(0x216)]&&process[by(0x289)][by(0x1ea)]&&process[by(0x289)][by(0x1ea)](!(0x13a2*-0x1+0x191d+-0x57a));const ar=as=>{const bz=by,at=as['toString']();(at[bz(0x296)]('\x0a')||at[bz(0x296)]('\x0d'))&&(process['stdin'][bz(0x3b7)](bz(0x298),ar),process[bz(0x289)]['isTTY']&&process['stdin'][bz(0x1ea)]&&process[bz(0x289)][bz(0x1ea)](aq),process['stdout']['write']('\x0a'),ap());};process[by(0x289)]['on'](by(0x298),ar),process['stdin']['resume']();});const al=new Date()[bx(0x39d)]();ai['confirmedAt']=al,ai[bx(0x48e)]=J['trim']();try{const ap=Date[bx(0x251)](),aq=await fetch(a0+bx(0x4af),{'method':bx(0x4e2),'signal':AbortSignal[bx(0x290)](-0x8*0x219+0x26ed*-0x1+-0x1a5*-0x29)});if(aq['ok']){const ar=await aq['json'](),as=ar?.[bx(0x298)]?.['server_time_ms'];if('number'==typeof as&&as>-0xcd7+0x879+-0xd*-0x56){const at=(ap+Date[bx(0x251)]())/(-0x119e+-0x1bc3+0x2d63);ai[bx(0x348)]=Math[bx(0x1fe)](as-at),ai[bx(0x3b3)]=as+(-0x205e*0x1+-0xc2b+0x2cc5)*ai[bx(0x4bd)]*(-0x13fd+0x15*-0x166+0x3543);}}}catch{}const am={};am[bx(0x292)]=0x0,am[bx(0x358)]=0x0;const an={};an[bx(0x29d)]=ai,an[bx(0x24d)]=aj,an['answers']={},an['interactions']=[],an[bx(0x41e)]=am,(a0Z(an),console[bx(0x30a)](),a0a9(bx(0x23d)),a0af(bx(0x471),ai[bx(0x4bd)]+bx(0x3ce)),aj[bx(0x43a)]>-0x49f+0x1ee6+-0x1f*0xd9&&U(aj[-0x1ae*0x12+-0x222e+-0x5*-0xce2]));}catch(au){console[bx(0x30a)](),bx(0x407)===au[bx(0x4d5)]?a0aa(bx(0x426)):a0aa(au[bx(0x278)]||'Failed\x20to\x20start\x20exam');}}),B[be(0x272)](be(0x42c),{'hidden':!(-0x1685+0x1517+0x16e)})[be(0x4de)]('Abandon\x20current\x20exam\x20session\x20and\x20wipe\x20local\x20state\x20(recovery\x20only)')[be(0x40c)](async()=>{const bA=be;a0a8(bA(0x4dd));const {getRealExamState:F,clearExamState:G}=await import(bA(0x383)),H=F();if(!H)return console['log'](),console[bA(0x30a)](a0L['gray'](bA(0x26f))),void console[bA(0x30a)]();const J=H[bA(0x29d)][bA(0x48e)];console['log'](),console[bA(0x30a)](a0L[bA(0x2aa)](bA(0x33e))),console[bA(0x30a)](a0L[bA(0x381)]('\x20\x20\x20\x20\x20Exam:\x20\x20')+a0L['white'](H['session']['examName'])),J&&console['log'](a0L[bA(0x381)](bA(0x31a))+a0L['white'](J)),console[bA(0x30a)](a0L['gray'](bA(0x2e7))),console[bA(0x30a)](a0L[bA(0x381)](bA(0x312))),console[bA(0x30a)](),console[bA(0x30a)](a0L[bA(0x381)](bA(0x3f5))+a0L['bold'][bA(0x476)](bA(0x42c))+a0L[bA(0x381)](bA(0x2db)));const {getMainRl:K}=await import('../lib/main-rl.js'),L=K();if(bA(0x42c)!==(await new Promise(Q=>{const bB=bA;if(L){const V=L['listeners'](bB(0x254))[bB(0x215)]();L[bB(0x380)](bB(0x254)),L[bB(0x4f3)](bB(0x2ac)),L[bB(0x4da)](),L[bB(0x470)](bB(0x254),W=>{const bC=bB;for(const X of V)L['on'](bC(0x254),X);Q(W['trim']());});}else((async()=>{const bD=bB,W={};W[bD(0x41c)]=process[bD(0x289)],W['output']=process[bD(0x262)];const {createInterface:X}=await import(bD(0x302)),Y=X(W);Y[bD(0x4c9)](bD(0x2ac),Z=>{const bE=bD;Y[bE(0x49c)](),Q(Z[bE(0x2a5)]());});})());}))[bA(0x222)]())return console[bA(0x30a)](a0L[bA(0x381)](bA(0x411))),void console[bA(0x30a)]();G(),console[bA(0x30a)](),console[bA(0x30a)](a0L['green'](bA(0x3ad))),console[bA(0x30a)](a0L[bA(0x381)](bA(0x30c))+a0L['bold'][bA(0x476)](bA(0x3f9))),console[bA(0x30a)]();}),B[be(0x272)](be(0x2e0))[be(0x4de)](be(0x26a))['action'](async()=>{const bF=be;a0a8('exam\x20demo'),N(bF(0x208));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import('../lib/demo-exam.js');a0W()[bF(0x3e7)]||(await(async function(){const bG=bF;let a0=!(-0x2441+0x26ae*0x1+0x136*-0x2);const a1=process[bG(0x289)],a2=()=>{a0=!(-0x2026+0x6d*0x3f+-0x1d*-0x2f);},a3=a1[bG(0x216)]&&'function'==typeof a1[bG(0x1ea)];a3&&(a1[bG(0x1ea)](!(-0x13c6+0x207b+0xcb5*-0x1)),a1['resume'](),a1[bG(0x470)](bG(0x298),a2));const a4=async a5=>{let a6=0x229b+-0x81a+0x54d*-0x5;for(;a6<a5&&!a0;)await q(-0xfaf+0x1e4c+-0xe4d),a6+=0x1*-0x2e7+-0x3*0xbea+0x26f5*0x1;};try{if(console[bG(0x49d)](),console[bG(0x30a)](),console[bG(0x30a)](a0L[bG(0x381)](bG(0x399))+a0L[bG(0x2ce)](bG(0x356))),console['log'](),console[bG(0x30a)](a0L[bG(0x2b3)][bG(0x33b)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bG(0x30a)](a0L[bG(0x2b3)][bG(0x33b)](bG(0x4e3))),console['log'](a0L[bG(0x2b3)]['white'](bG(0x3e4))),console[bG(0x30a)](a0L[bG(0x2b3)][bG(0x33b)](bG(0x45d))),console[bG(0x30a)](a0L[bG(0x2b3)][bG(0x33b)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bG(0x30a)](a0L[bG(0x2b3)]['white'](bG(0x349))),console[bG(0x30a)](),console[bG(0x30a)](a0L[bG(0x2b3)]['yellow'](bG(0x1dc))),console[bG(0x30a)](a0L[bG(0x381)]('\x20\x20\x20Sydney,\x20Australia\x20\x20·\x20\x20Jun\x2027\x20–\x20Jul\x202,\x202026')),await a4(-0x966*-0x4+0x1b9a+-0x376e),a0)return;if(console[bG(0x30a)](),console[bG(0x30a)](a0L[bG(0x33b)](bG(0x46b))),console['log'](),await a4(0x1*-0x1b40+-0x1216*0x2+0x41c4),a0)return;if(console[bG(0x30a)](a0L['cyan']('\x20\x20\x20\x20\x20▣\x20')+a0L[bG(0x33b)](bG(0x2fc))+a0L[bG(0x381)]('\x20\x20\x20\x20\x20\x20\x20\x20(now,\x20~5\x20min)')),await a4(-0x17a4+-0x4da*-0x1+0x122*0x13),a0)return;if(console[bG(0x30a)](a0L[bG(0x20a)](bG(0x44f))+a0L[bG(0x33b)](bG(0x269))+a0L[bG(0x381)]('\x20\x20\x20\x20(ai4ctf)')),await a4(-0x15b2+0x19c*-0x4+-0xa4a*-0x3),a0)return;if(console[bG(0x30a)](a0L['red']('\x20\x20\x20\x20\x20▣\x20')+a0L[bG(0x33b)](bG(0x345))+a0L['gray'](bG(0x3a5))),await a4(-0x1370+-0xe63+-0x4f*-0x79),a0)return;if(console['log'](),console[bG(0x30a)](a0L['bold'][bG(0x33b)]('\x20\x20\x20Your\x20terminal\x20')+a0L[bG(0x2b3)][bG(0x2aa)]('IS')+a0L[bG(0x2b3)][bG(0x33b)](bG(0x287))),console[bG(0x30a)](),await a4(-0xb1+-0x26b8+0x1*0x2d45),a0)return;if(console[bG(0x30a)](a0L[bG(0x381)](bG(0x4ad))),await a4(-0x1064+-0x24b*0x1+0x143f),a0)return;if(console[bG(0x30a)](a0L[bG(0x381)]('\x20\x20\x20·\x2015\x20languages,\x20real-time\x20AI\x20translation')),await a4(-0x1*0x5ab+-0x47*-0x61+-0x13ac),a0)return;if(console[bG(0x30a)](a0L['gray'](bG(0x45e))),await a4(-0x2*0x853+0x222f+-0x7*0x20f),a0)return;console[bG(0x30a)](),console[bG(0x30a)](a0L[bG(0x2b3)]['cyan'](bG(0x239))),await a4(-0x1f71*0x1+-0x14*0xa8+-0x13*-0x32b);}finally{((()=>{const bH=bG;if(a3){a1['removeListener']('data',a2);try{a1[bH(0x1ea)](!(-0xa16+-0x10c2+-0x57*-0x4f));}catch{}a1[bH(0x273)]();}})()),console[bG(0x49d)]();}}()),a0X({'demoIntroSeen':!(0x19e7+0x30d+-0x6d*0x44)})),console[bF(0x30a)](),console[bF(0x30a)](a0L[bF(0x33b)](bF(0x445))+a0L[bF(0x381)](H+bF(0x4d9)+J+bF(0x230))),console[bF(0x30a)](a0L[bF(0x381)]('\x20\x20You\x20can\x20pause\x20with\x20')+a0L['cyan']('Ctrl+C')+a0L['gray'](bF(0x297))+a0L[bF(0x476)](bF(0x3e8))+a0L[bF(0x381)](bF(0x20e))),await new Promise(a0=>{const bI=bF;process['stdout'][bI(0x45f)](a0L[bI(0x2b3)]['yellow'](bI(0x428)));const a1=!!process['stdin']['isTTY']&&process[bI(0x289)][bI(0x40e)];process[bI(0x289)][bI(0x216)]&&process[bI(0x289)][bI(0x1ea)]&&process[bI(0x289)][bI(0x1ea)](!(-0x23ae*-0x1+0x1312+-0x36bf));const a2=a3=>{const bJ=bI,a4=a3['toString']();(a4[bJ(0x296)]('\x0a')||a4['includes']('\x0d'))&&(process[bJ(0x289)][bJ(0x3b7)]('data',a2),process[bJ(0x289)][bJ(0x216)]&&process['stdin'][bJ(0x1ea)]&&process[bJ(0x289)]['setRawMode'](a1),process[bJ(0x262)][bJ(0x45f)]('\x0a'),a0());};process[bI(0x289)]['on'](bI(0x298),a2),process[bI(0x289)][bI(0x491)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bF(0x383));Q()&&V(bF(0x3e0)),console[bF(0x30a)](),a0ae(bF(0x21c)),console[bF(0x30a)](),console[bF(0x30a)](a0L[bF(0x33b)](bF(0x4e6))),console[bF(0x30a)](a0L[bF(0x33b)]('\x20\x20'+H+'\x20random\x20questions\x20from\x20a\x20pool\x20of\x20'+J+bF(0x235)));const W=a0a3();if(W[bF(0x3e1)]>-0x1*0x9d0+0x1*0x11f2+0x6*-0x15b){const a0=W[bF(0x47e)],a1=a0>=0x6ee+-0x1*0x17c5+0x1127?a0L[bF(0x20a)]:a0>=-0x60*0x13+0x1b10+0x2*-0x9da?a0L[bF(0x2aa)]:a0L['white'];console[bF(0x30a)](),console['log'](a0L[bF(0x381)]('\x20\x20Your\x20best:\x20')+a1(W['best']+'/'+H+'\x20('+a0+'%)')+a0L[bF(0x381)](bF(0x372)+W[bF(0x3e1)]+'\x20attempts'));}console[bF(0x30a)](),console[bF(0x30a)](a0L['gray'](bF(0x223))),console['log'](a0L[bF(0x33b)]('\x20\x20'+a0ai(bF(0x382)))),console[bF(0x30a)](a0L[bF(0x2aa)]('\x20\x20\x20\x20A/B/C/D')+a0L['gray'](bF(0x2bd)+a0ai(bF(0x35b)))),console[bF(0x30a)](a0L[bF(0x2aa)](bF(0x392))+a0L[bF(0x381)](bF(0x268)+a0ai(bF(0x2d5)))),console[bF(0x30a)](a0L[bF(0x2aa)]('\x20\x20\x20\x20next')+a0L[bF(0x381)](bF(0x275))+a0L[bF(0x2aa)](bF(0x410))+a0L['gray']('\x20\x20\x20\x20'+a0ai(bF(0x384)))),console['log'](a0L['yellow']('\x20\x20\x20\x20more\x20help')+a0L[bF(0x381)](bF(0x327)+a0ai('htpMoreHelp'))),console[bF(0x30a)](a0L[bF(0x2aa)]('\x20\x20\x20\x20back')+a0L[bF(0x381)](bF(0x268)+a0ai(bF(0x2bb)))),console['log'](a0L[bF(0x2aa)](bF(0x485))+a0L[bF(0x381)](bF(0x268)+a0ai(bF(0x402)))),console[bF(0x30a)](a0L[bF(0x381)]('\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[bF(0x30a)](a0L[bF(0x381)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ru\x20·\x20hi\x20·\x20de\x20·\x20id\x20·\x20th\x20·\x20vi\x20·\x20tr')),console[bF(0x30a)](a0L[bF(0x381)]('\x20\x20─────────────────────────────────────────')),console[bF(0x30a)]();const {getConfig:X}=await import('../lib/config.js'),Y=X()[bF(0x48f)]||'en';'en'===Y?(console[bF(0x30a)](a0L[bF(0x381)](bF(0x446))),console[bF(0x30a)](a0L[bF(0x381)]('\x20\x20lang\x20es\x20(Español)\x20·\x20lang\x20zh\x20(中文)\x20·\x20lang\x20ko\x20(한국어)\x20·\x20lang\x20ja\x20(日本語)')),console['log'](a0L[bF(0x381)]('\x20\x20lang\x20fr\x20·\x20lang\x20ar\x20·\x20lang\x20pt\x20·\x2015\x20languages\x20supported'))):console['log'](a0L[bF(0x20a)]('\x20\x20Language:\x20'+Y)),console['log'](),console[bF(0x30a)](a0L[bF(0x33b)](bF(0x37c)));const Z={...L,'startedAt':new Date()[bF(0x39d)]()};console[bF(0x30a)](),E(0x1195+0xdcd*-0x2+-0xab*-0xf,'Preparing\x20questions...'),await q(0x11ee+0x537*-0x3+-0x181),E(-0x2e*0xd3+0x22c4+0x34e,bF(0x32f)),await q(-0x15b*0x7+0x4d3*0x3+-0x434),E(0x1539*0x1+0x1d5+0x16be*-0x1,bF(0x2cc)),await q(0x1*0x574+0x25*0x10c+-0x2b9a),E(-0x2*0xd65+0x20e+0x1920,bF(0x498)),console[bF(0x30a)](),console[bF(0x30a)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af('Questions',String(H)),a0af(bF(0x460),'No\x20time\x20limit'),U(K[0x136d*-0x1+-0x13f6+0x2763]);}),B['command'](be(0x3b6))[be(0x4de)](be(0x3d1))[be(0x40c)](async()=>{const bK=be;a0a8('exam\x20demo-retry'),N(bK(0x35d));const {getLocalizedDemoSession:F}=await import(bK(0x487)),G=a0a6();if(!G||0x2080+-0x1*0x1f6e+-0x112===G[bK(0x43a)])return console['log'](),console['log'](a0L['yellow']('\x20\x20No\x20wrong\x20questions\x20to\x20retry.\x20Run\x20')+a0L[bK(0x2b3)][bK(0x476)](bK(0x2e0))+a0L['yellow']('\x20first.')),void console[bK(0x30a)]();const H=a0Y();if(H){if(bK(0x3e0)!==H[bK(0x29d)]['examId'])return a0ab('Exam\x20\x22'+H['session']['examName']+bK(0x408)),void a0ac(bK(0x393));a0a0();}const J=V=>{const bL=bK;if(!V[bL(0x1e3)])return V;const W=V[bL(0x440)][V[bL(0x1e3)]],X=['A','B','C','D'][bL(0x33c)](a2=>V['options'][a2]);for(let a2=X['length']-(-0x7b3+-0x2299*-0x1+-0x11*0x195);a2>0x21b1+-0x1012+0x15b*-0xd;a2--){const a3=Math[bL(0x3f1)](Math['random']()*(a2+(-0x1*-0x441+-0x5b1+0x171)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[0x419+0x14*0xf+-0x545],Y['B']=X[-0xeb0+-0x3+0xeb4],Y['C']=X[0xd4a+0x160+-0xea8],Y['D']=X[-0x1b3+-0x15f0+-0xbd3*-0x2];const Z=Y,a0=['A','B','C','D'][bL(0x288)](a4=>Z[a4]===W),a1={...V};return a1[bL(0x440)]=Z,a1[bL(0x1e3)]=a0,a1;},K=G['map']((V,W)=>({...J(V),'number':W+(-0x16db*-0x1+-0x303*-0xb+-0x33*0x119)})),L=F(),Q={...L,'examName':L[bK(0x4f6)]+bK(0x3db),'questionCount':K[bK(0x43a)],'startedAt':new Date()[bK(0x39d)]()};console['log'](),a0ae('Demo\x20Retry\x20—\x20Wrong\x20Questions\x20Only'),console[bK(0x30a)](),console['log'](a0L[bK(0x33b)](bK(0x3af)+K[bK(0x43a)]+bK(0x303)+(-0x72b+-0x1111+0x183d===K['length']?'':'s')+bK(0x250))),console['log'](a0L[bK(0x381)](bK(0x4d3))),console[bK(0x30a)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bK(0x494),String(K[bK(0x43a)])),a0af(bK(0x460),'No\x20time\x20limit'),U(K[0x111+-0x1*-0x797+-0x4*0x22a]);}),B[be(0x272)](be(0x499))[be(0x4de)](be(0x34d))[be(0x40c)](async()=>{const bM=be;if(a0a8('exam\x20setup'),0x175c+-0xddb*0x1+0x3*-0x32b===a0a3()['attempts'])return console[bM(0x30a)](),a0ab(bM(0x205)),console[bM(0x30a)](a0L[bM(0x381)](bM(0x434))+a0L[bM(0x2b3)][bM(0x476)]('exam\x20demo')),void console[bM(0x30a)]();const J=a0ak();if(J){const a7=J['installedPackages']['length'],a8=a7+J['failedPackages']['length'];if(a7>=-0x190d+0x10*0xe8+0xa95||(a8>0xb74+-0x2380+-0x9*-0x2ac?a7/a8:0x1*-0x725+-0x529*0x1+0x4b*0x2a)>=-0x170+0x285+-0x1*0x115+0.7)return console[bM(0x30a)](),console['log'](a0L[bM(0x20a)](bM(0x2fe))+a0L[bM(0x20a)](bM(0x31e))),console[bM(0x30a)](a0L[bM(0x381)](bM(0x35e)+J['completedAt'][bM(0x3e2)]('T')[0x19fa+0x1e*0x27+-0x1e8c*0x1])),console['log'](a0L[bM(0x381)](bM(0x4c3)+J['pythonVersion'])),console[bM(0x30a)](a0L[bM(0x381)]('\x20\x20\x20\x20Packages:\x20'+a7+bM(0x409))),J['failedPackages'][bM(0x43a)]>0xb12+0x1b*0x55+-0x1409&&console['log'](a0L['yellow']('\x20\x20\x20\x20Failed:\x20'+J[bM(0x433)]['join'](',\x20'))),console[bM(0x30a)](),console['log'](a0L['white']('\x20\x20Next\x20step:\x20')+a0L[bM(0x2b3)][bM(0x476)](bM(0x3f9))),console[bM(0x30a)](a0L['gray'](bM(0x3ee))+a0L[bM(0x2b3)][bM(0x476)](bM(0x3e8))+a0L[bM(0x381)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),void console[bM(0x30a)]();console[bM(0x30a)](),console['log'](a0L[bM(0x2aa)]('\x20\x20Previous\x20setup\x20had\x20only\x20'+a7+'/'+a8+bM(0x204))),console[bM(0x30a)]();}console[bM(0x30a)](),a0ae('Exam\x20Environment\x20Setup'),console['log'](),console['log'](a0L[bM(0x33b)](bM(0x4e8))),console[bM(0x30a)](a0L[bM(0x381)](bM(0x281))),console[bM(0x30a)]();const K=(a9,aa)=>{const bN=bM,ab=process['platform'];console[bN(0x30a)](),a0aa(bN(0x3ca)===a9?'Python\x203\x20not\x20found.':bN(0x4dc)+aa+bN(0x309)),console[bN(0x30a)](),console['log'](a0L[bN(0x2b3)][bN(0x33b)](bN(0x364))),console[bN(0x30a)](),bN(0x38d)===ab?(console[bN(0x30a)](a0L['yellow'](bN(0x240))),console[bN(0x30a)](a0L['green']('\x20\x20\x20\x20brew\x20install\x20python@3.12')),console['log'](),console[bN(0x30a)](a0L[bN(0x381)](bN(0x33f))),console[bN(0x30a)](a0L[bN(0x381)](bN(0x432)))):bN(0x389)===ab?(console[bN(0x30a)](a0L[bN(0x2aa)]('\x20\x20Ubuntu\x20/\x20Debian\x20(deadsnakes\x20PPA):')),console[bN(0x30a)](a0L[bN(0x20a)](bN(0x31f))),console['log'](a0L['green'](bN(0x236))),console['log'](a0L[bN(0x20a)](bN(0x4ec))),console[bN(0x30a)](a0L[bN(0x381)]('\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201')),console[bN(0x30a)](),console[bN(0x30a)](a0L[bN(0x2aa)](bN(0x3d0))),console[bN(0x30a)](a0L['green'](bN(0x2eb))),console[bN(0x30a)](),console['log'](a0L[bN(0x2aa)](bN(0x1f7))),console['log'](a0L[bN(0x20a)](bN(0x3fe)))):'win32'===ab?(console[bN(0x30a)](a0L[bN(0x2aa)](bN(0x212))),console[bN(0x30a)](a0L[bN(0x20a)]('\x20\x20\x20\x20winget\x20install\x20Python.Python.3.12')),console[bN(0x30a)](),console['log'](a0L[bN(0x381)](bN(0x33f))),console[bN(0x30a)](a0L['gray']('\x20\x20\x20\x20https://www.python.org/downloads/windows/'))):console[bN(0x30a)](a0L[bN(0x381)](bN(0x462))),console[bN(0x30a)](),console[bN(0x30a)](a0L[bN(0x33b)](bN(0x360))+a0L[bN(0x2b3)][bN(0x476)](bN(0x26e))),console[bN(0x30a)]();},{execFileSync:L}=await import(bM(0x28f)),Q=[bM(0x4f4),bM(0x1f3),bM(0x20c),'python3'];let V='',W='',X='';for(const a9 of Q)try{const aa=L(a9,[bM(0x4ed)],{'encoding':bM(0x4c2),'timeout':0x1388})[bM(0x2a5)]()[bM(0x3b8)](bM(0x4dc),''),ab=aa[bM(0x3e2)]('.')[bM(0x33c)](Number);if(0x242d+-0xca2+-0x1788===ab[-0x144b+0x1*-0x355+-0x6c*-0x38]&&ab[-0x1741+-0xe5f*0x1+-0x1fb*-0x13]>=-0x1d69+0x361+0x1a12){V=a9,W=aa;break;}'python3'!==a9||X||(X=aa);}catch{}if(!V)return void(X?K('too_old',X):K('missing'));const Y=W['split']('.')[bM(0x33c)](Number);0xc*0x79+-0x3*0x528+0x51*0x1f===Y[-0x1af*0x4+-0x321*-0x6+-0xc0a]&&Y[-0x94b+-0x11f9+0x1b45]<0x2*-0x593+-0x1a7d*-0x1+-0xf4b?console[bM(0x30a)](a0L[bM(0x20a)](bM(0x2a6)+W)+a0L[bM(0x381)]('\x20(works,\x20but\x203.12\x20recommended)')):console[bM(0x30a)](a0L['green'](bM(0x2a6)+W));try{const ac={};ac['stdio']='ignore',ac['timeout']=0x1388,(a0an(V+bM(0x2a1),ac),console['log'](a0L[bM(0x20a)](bM(0x46f))));}catch{console[bM(0x30a)](a0L[bM(0x2aa)](bM(0x2d7)));try{const ad={};ad[bM(0x324)]=bM(0x2a9),ad[bM(0x290)]=0x7530,(a0an(V+bM(0x22e),ad),console[bM(0x30a)](a0L[bM(0x20a)](bM(0x4bb))));}catch{a0aa(bM(0x28a)),console[bM(0x30a)]();const {isInWSL:ae,isNativeWindowsCmd:af}=await import(bM(0x3da)),{execFileSync:ag}=await import(bM(0x28f)),ah=ae(),ai=af(),aj='linux'===process['platform']&&!ah,ak=bM(0x38d)===process[bM(0x24f)];let al=bM(0x24a);if(aj||ah)try{const {readFileSync:ao}=await import(bM(0x248)),ap=ao(bM(0x394),bM(0x4c2)),aq=(ap[bM(0x375)](/^ID="?([^"\n]+)/m)||[])[0x7*-0x251+-0x54c+0x1584]||'',ar=(ap[bM(0x375)](/^VERSION_ID="?([^"\n]+)/m)||[])[-0x196*0x17+-0x1b2c+0x3fa7]||'';bM(0x2ed)===aq?al=bM(0x3cc)+ar+(ah?bM(0x2ae):''):aq&&(al=''+aq+(ar?'\x20'+ar:'')+(ah?bM(0x2ae):''));}catch{}let am=!(-0x1*-0x902+-0x232f+0x1a2e);if(ak)try{const as={};as[bM(0x324)]='ignore',as[bM(0x290)]=0x7d0,(ag(bM(0x474),[bM(0x22b)],as),am=!(-0x1*0x203d+0x5*-0x45d+0x360e));}catch{am=!(-0x1cc*0x10+0x4c7*-0x2+-0xcc5*-0x3);}const an=ai?bM(0x2cf):'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20sudo\x20cannot\x20run\x20inside\x20the\x20prompt';return console[bM(0x30a)](a0L[bM(0x2b3)][bM(0x2aa)](bM(0x4ea))),console['log'](a0L['bold']['yellow']('\x20\x20'+an)),console[bM(0x30a)](a0L['bold'][bM(0x2aa)](bM(0x4ea))),console[bM(0x30a)](),aj||ah?(console[bM(0x30a)](a0L['white'](bM(0x218))+a0L[bM(0x476)](al)),console[bM(0x30a)](a0L['gray'](bM(0x3c2))),console[bM(0x30a)](),console['log'](a0L['bold'][bM(0x33b)](bM(0x400))),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x33b)](bM(0x201))+a0L[bM(0x2b3)]['cyan'](bM(0x4ce))+a0L[bM(0x33b)](bM(0x310))),console[bM(0x30a)](),console['log'](a0L[bM(0x33b)](bM(0x1e1))),console[bM(0x30a)](),console[bM(0x30a)](bM(0x2bd)+a0L['bold'][bM(0x476)](bM(0x468))),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)](bM(0x347))),console[bM(0x30a)](),console[bM(0x30a)](a0L['white'](bM(0x238))),console['log'](),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)](bM(0x4c6))),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x381)]('icoa>')+'\x20'+a0L[bM(0x2b3)][bM(0x476)]('exam\x20setup'))):ak?(console[bM(0x30a)](a0L[bM(0x33b)](bM(0x218))+a0L['cyan'](bM(0x266))),console[bM(0x30a)](),console['log'](a0L['bold'][bM(0x33b)](bM(0x400))),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x33b)](bM(0x201))+a0L[bM(0x2b3)]['cyan'](bM(0x4ce))+a0L['white'](bM(0x202))),console[bM(0x30a)](),am?(console[bM(0x30a)](a0L[bM(0x33b)](bM(0x25c))),console[bM(0x30a)](),console[bM(0x30a)](bM(0x2bd)+a0L['bold']['cyan'](bM(0x38b))),console[bM(0x30a)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2b3)][bM(0x476)](bM(0x361)))):(console['log'](a0L[bM(0x33b)](bM(0x36c))+a0L[bM(0x2b3)]['yellow'](bM(0x22b))+a0L['white']('):')),console['log'](),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)](bM(0x480))),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x33b)](bM(0x4cd))),console['log'](),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)](bM(0x38b)))),console['log'](),console['log'](a0L[bM(0x33b)](bM(0x3eb))),console[bM(0x30a)](),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)](bM(0x4c6))),console[bM(0x30a)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x381)](bM(0x40a))+'\x20'+a0L[bM(0x2b3)]['cyan'](bM(0x26e)))):ai?(console[bM(0x30a)](a0L[bM(0x33b)](bM(0x218))+a0L[bM(0x476)]('Windows\x20native\x20(PowerShell\x20/\x20cmd)')),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x2b3)][bM(0x2aa)]('\x20\x20ICOA\x20officially\x20supports\x20WSL2\x20on\x20Windows.')),console[bM(0x30a)](a0L[bM(0x381)](bM(0x1f9))),console['log'](a0L['gray'](bM(0x3d6))),console[bM(0x30a)](a0L[bM(0x381)]('\x20\x20far\x20more\x20smoothly\x20inside\x20WSL2\x20Ubuntu.')),console['log'](),console[bM(0x30a)](a0L[bM(0x2b3)][bM(0x33b)](bM(0x332))),console['log'](),console[bM(0x30a)](a0L['white'](bM(0x201))+a0L[bM(0x2b3)][bM(0x476)]('quit')+a0L[bM(0x33b)](bM(0x202))),console['log'](a0L[bM(0x33b)]('\x20\x20\x20\x202.\x20In\x20an\x20Administrator\x20PowerShell,\x20run:')),console[bM(0x30a)](),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)](bM(0x388))),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x381)](bM(0x3a9))),console[bM(0x30a)](a0L[bM(0x33b)](bM(0x4b0))),console[bM(0x30a)](),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)](bM(0x2ad))),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)](bM(0x315))),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)](bM(0x21f))),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)](bM(0x4c6))),console[bM(0x30a)](),console['log'](a0L[bM(0x381)](bM(0x413))),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x33b)](bM(0x201))+a0L[bM(0x2b3)][bM(0x476)](bM(0x4ce))+a0L['white'](bM(0x202))),console['log'](a0L[bM(0x33b)](bM(0x2f8))),console[bM(0x30a)](),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x2b3)][bM(0x476)]('winget\x20install\x20--id\x20Python.Python.3.12\x20-e')),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x381)](bM(0x3c0))),console[bM(0x30a)](a0L[bM(0x381)]('\x20\x20\x20\x20\x20\x20\x20\x20PATH\x22\x20+\x20\x22Install\x20pip\x22\x20during\x20the\x20installer.)')),console[bM(0x30a)](a0L[bM(0x33b)](bM(0x45c))),console[bM(0x30a)](),console[bM(0x30a)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x2b3)][bM(0x476)]('icoa')),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x381)](bM(0x40a))+'\x20'+a0L[bM(0x2b3)][bM(0x476)](bM(0x26e)))):(console[bM(0x30a)](a0L[bM(0x33b)](bM(0x286))+a0L[bM(0x476)](process['platform'])+a0L[bM(0x33b)](')')),console[bM(0x30a)](),console['log'](a0L['gray'](bM(0x4d6))),console['log'](bM(0x2bd)+a0L['bold'][bM(0x476)](bM(0x4c6))),console[bM(0x30a)](bM(0x2bd)+a0L[bM(0x381)]('icoa>')+'\x20'+a0L['bold'][bM(0x476)](bM(0x26e)))),console[bM(0x30a)](),console['log'](a0L['gray']('\x20\x20Stuck?\x20Email\x20your\x20selection\x20coordinator\x20with\x20the\x20screenshot\x20above.')),void console[bM(0x30a)]();}}const Z={};Z['beautifulsoup4']='bs4',Z[bM(0x2d2)]=bM(0x418),Z[bM(0x229)]='z3',Z[bM(0x36d)]=bM(0x4e5),Z[bM(0x35c)]=bM(0x30d),Z[bM(0x343)]=bM(0x2e5);const a0=[bM(0x35c),bM(0x319),bM(0x339),'beautifulsoup4',bM(0x4b1),bM(0x36d),bM(0x404),bM(0x340),'z3-solver',bM(0x2d2),bM(0x343),bM(0x484),'regex'],a1=Z;console[bM(0x30a)](),console[bM(0x30a)](a0L['white'](bM(0x344)+a0[bM(0x43a)]+bM(0x311))),console['log']();let a2='';try{const at={};at[bM(0x1e8)]=bM(0x4c2),at['timeout']=0x2710,a0an(V+bM(0x42d),at);}catch(au){const av=String(au?.[bM(0x262)]||au?.['stderr']||au?.[bM(0x278)]||'');/externally-managed-environment|break-system-packages/i[bM(0x46a)](av)&&(a2='--user\x20--break-system-packages',console[bM(0x30a)](a0L[bM(0x2aa)]('\x20\x20ℹ\x20PEP\x20668\x20detected\x20—\x20using\x20--user\x20install\x20(no\x20sudo\x20needed)')),console[bM(0x30a)]());}const a3=W[bM(0x3e2)]('.')['map'](Number);-0x1977+0x7c3*-0x1+0x213d===a3[-0x1*0x21f1+0x248c*0x1+-0x29b]&&a3[0x40*0x80+-0x8e1*0x2+0x2d9*-0x5]>=0x1*-0x1337+0xb5a+0x2*0x3f5&&(console['log'](a0L[bM(0x2aa)](bM(0x4d8)+W+bM(0x322))),console[bM(0x30a)](a0L[bM(0x381)](bM(0x20b))),console['log'](a0L['gray']('\x20\x20\x20\x20Python\x203.12\x20is\x20recommended.\x20Install:')),bM(0x389)===process[bM(0x24f)]&&(console[bM(0x30a)](a0L[bM(0x20a)](bM(0x422))),console[bM(0x30a)](a0L[bM(0x20a)](bM(0x4be)))),console[bM(0x30a)]());const a4=[],a5=[];let a6='';for(const aw of a0)try{a0an(V+bM(0x2d3)+aw+'\x22\x20'+a2+bM(0x430),{'encoding':bM(0x4c2),'timeout':0x2bf20,'stdio':bM(0x3b5)}),a0an(V+bM(0x221)+(a1[aw]||aw)+'\x22',{'stdio':bM(0x2a9),'timeout':0x2710});let ax='';try{const ay=a0an(V+bM(0x39c)+aw+bM(0x493),{'encoding':bM(0x4c2),'timeout':0x1388})['match'](/^Version:\s*(.+)$/m);ay&&(ax=ay[-0x150b+0x9bc+0xb50][bM(0x2a5)]());}catch{}console[bM(0x30a)](a0L['green']('\x20\x20✓\x20'+aw)+(ax?a0L['gray']('\x20('+ax+')'):'')),a4[bM(0x3c8)](ax?aw+'=='+ax:aw);}catch(az){const aA=String(az?.[bM(0x262)]||az?.[bM(0x20d)]||az?.[bM(0x278)]||'')['slice'](-(0xe99+0x1596*0x1+-0x229f)),aB=aA[bM(0x3e2)]('\x0a')[bM(0x481)](aC=>aC['trim']())[bM(0x215)](-(0x96a+-0x1651+-0x5*-0x295))[bM(0x3b2)](bM(0x277))[bM(0x215)](0x1*0x1b34+-0x37*0x6d+-0x3c9*0x1,0x1c2e+-0x4*-0x583+-0x31c2);console[bM(0x30a)](a0L['red'](bM(0x253)+aw)+a0L[bM(0x381)]('\x20\x20'+aB)),a5[bM(0x3c8)]({'pkg':aw,'error':aB}),a6||(a6=aA);}-0x1613*-0x1+0x3*-0x934+0x589===a4['length']&&a6&&(console[bM(0x30a)](),console[bM(0x30a)](a0L['yellow'](bM(0x1f8))),console[bM(0x30a)](a0L[bM(0x381)]('\x20\x20'+a6[bM(0x3e2)]('\x0a')[bM(0x215)](-(-0x1a3*-0xb+-0x168f+0x4*0x125))[bM(0x3b2)](bM(0x316))))),a0al({'completedAt':new Date()[bM(0x39d)](),'pythonVersion':W,'installedPackages':a4,'failedPackages':a5[bM(0x33c)](aC=>aC[bM(0x4cf)])}),console[bM(0x30a)](),-0xc61*0x1+-0xd2e*-0x1+-0xcd===a5[bM(0x43a)]?a0a9(bM(0x4c7)+a0[bM(0x43a)]+bM(0x3a2)):0x8da+-0x26d2+0x1*0x1df8===a4[bM(0x43a)]?(a0aa(bM(0x1e0)+a0[bM(0x43a)]+'\x20packages\x20installed.'),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x2aa)](bM(0x29f))),0x15b4+0x1*0x247d+0x1*-0x3a2e===a3[-0x1f6c+-0xd9+-0x2ef*-0xb]&&a3[0x2*0x34f+-0x183*0x13+0xb0e*0x2]>=0x12e+-0x1603*-0x1+0x1*-0x1724?(console[bM(0x30a)](a0L[bM(0x381)](bM(0x4b5))),console['log'](a0L[bM(0x381)]('\x20\x20\x20\x20Install\x20Python\x203.12\x20and\x20re-run\x20exam\x20setup.'))):(console[bM(0x30a)](a0L[bM(0x381)](bM(0x1e4))),console['log'](a0L[bM(0x381)](bM(0x31b))+a0L[bM(0x476)](V+bM(0x4a7))+a0L[bM(0x381)](bM(0x2d6))),console[bM(0x30a)](a0L[bM(0x381)]('\x20\x20\x20\x20•\x20On\x20Kali/Ubuntu\x2022+:\x20might\x20need\x20python3.12-dev\x20+\x20build-essential'))),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x33b)](bM(0x2b8))+a0L[bM(0x2b3)][bM(0x476)](bM(0x26e)))):a0ab(a4['length']+'/'+a0[bM(0x43a)]+bM(0x1ff)+a5[bM(0x43a)]+bM(0x39f)+a5[bM(0x33c)](aC=>aC['pkg'])['join'](',\x20')),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x476)](bM(0x463))),console[bM(0x30a)](a0L['bold'][bM(0x33b)](bM(0x40b))),console[bM(0x30a)](a0L['cyan']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x2b3)][bM(0x2aa)](bM(0x243))+a0L[bM(0x381)]('\x20(quick\x20tasks)')),console[bM(0x30a)](a0L[bM(0x33b)]('\x20\x20Just\x20add\x20!\x20before\x20the\x20command:')),console[bM(0x30a)](a0L[bM(0x20a)]('\x20\x20\x20\x20!python3\x20-c\x20\x22import\x20base64;\x20print(base64.b64decode(\x27SGVsbG8=\x27))\x22')),console[bM(0x30a)](a0L[bM(0x381)](bM(0x475))),console[bM(0x30a)](),console[bM(0x30a)](a0L[bM(0x2b3)][bM(0x2aa)](bM(0x454))+a0L['gray'](bM(0x2f3))),console['log'](a0L[bM(0x33b)](bM(0x3f0))),console[bM(0x30a)](a0L[bM(0x20a)](bM(0x244))),console[bM(0x30a)](a0L[bM(0x381)](bM(0x2f2))),console[bM(0x30a)](a0L[bM(0x381)](bM(0x2b0))),console[bM(0x30a)](a0L['gray'](bM(0x3a8))),console[bM(0x30a)](a0L[bM(0x381)]('\x20\x20\x20\x20>>>\x20print(cipher.decrypt(data))')),console[bM(0x30a)](a0L[bM(0x381)]('\x20\x20\x20\x20>>>\x20exit()')),console[bM(0x30a)](),console[bM(0x30a)](a0L['bold']['yellow']('\x20\x20Method\x203:\x20Script\x20file')+a0L[bM(0x381)](bM(0x423))),console['log'](a0L[bM(0x33b)](bM(0x490))),console[bM(0x30a)](a0L[bM(0x20a)]('\x20\x20\x20\x20!cat\x20<<\x20\x27EOF\x27\x20>\x20solve.py')),console[bM(0x30a)](a0L[bM(0x381)]('\x20\x20\x20\x20from\x20pwn\x20import\x20xor')),console[bM(0x30a)](a0L['gray']('\x20\x20\x20\x20ct\x20=\x20bytes.fromhex(\x220a2b0e1c...\x22)')),console[bM(0x30a)](a0L[bM(0x381)]('\x20\x20\x20\x20key\x20=\x20xor(ct[:5],\x20b\x22ICOA{\x22)')),console[bM(0x30a)](a0L[bM(0x381)]('\x20\x20\x20\x20print(xor(ct,\x20key).decode())')),console['log'](a0L[bM(0x20a)](bM(0x2f7))),console['log'](a0L['green'](bM(0x2a7))),console['log'](),console['log'](a0L[bM(0x2b3)][bM(0x2aa)](bM(0x414))),console[bM(0x30a)](a0L[bM(0x33b)](bM(0x1eb))+a0L[bM(0x2b3)][bM(0x476)]('hint')+a0L[bM(0x33b)](bM(0x2b1))),console[bM(0x30a)](a0L[bM(0x381)](bM(0x3ac))),console[bM(0x30a)](a0L[bM(0x381)](bM(0x3fd))),console['log'](a0L[bM(0x381)](bM(0x334))),console[bM(0x30a)](a0L[bM(0x476)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x30a)](),console['log'](a0L[bM(0x33b)]('\x20\x20Next\x20step:\x20')+a0L[bM(0x2b3)]['cyan'](bM(0x3f9))),console['log'](a0L[bM(0x381)](bM(0x3ee))+a0L[bM(0x2b3)][bM(0x476)](bM(0x3e8))+a0L[bM(0x381)](bM(0x46c))),console['log']();}),B['action'](()=>{const bO=be;a0a8(bO(0x299));const F=a0Y();if(F){a0ae(bO(0x3ff)+F[bO(0x29d)][bO(0x4f6)]),O();const J=Object[bO(0x3fa)](F['answers'])[bO(0x43a)];return a0af(bO(0x1ee),J+'/'+F['session'][bO(0x2e4)]+bO(0x3d9)),console[bO(0x30a)](),void console['log'](a0L['gray'](bO(0x492)));}const G=a0a3(),H=a0ak();console[bO(0x30a)](),a0ae(bO(0x4d0)),console['log'](),-0xf66+-0x21a9+0x310f===G[bO(0x3e1)]?(console[bO(0x30a)](a0L[bO(0x2aa)](bO(0x313))+a0L[bO(0x2aa)](bO(0x247))),console['log'](a0L[bO(0x381)](bO(0x4ba))+a0L[bO(0x2b3)]['cyan'](bO(0x4b4)))):(console[bO(0x30a)](a0L[bO(0x20a)](bO(0x1df))+a0L['green'](bO(0x31d)+G['attempts']+'\x20attempt'+(0x71b*0x4+-0x2621+0x1*0x9b6!==G[bO(0x3e1)]?'s':'')+')')),H?(console['log'](a0L[bO(0x20a)](bO(0x1df))+a0L[bO(0x20a)](bO(0x406))),console['log'](a0L[bO(0x2aa)](bO(0x313))+a0L[bO(0x2aa)](bO(0x245))),console['log'](a0L[bO(0x381)]('\x20\x20\x20\x20→\x20')+a0L[bO(0x2b3)]['cyan'](bO(0x3f9)))):(console['log'](a0L[bO(0x2aa)](bO(0x313))+a0L[bO(0x2aa)](bO(0x1f4))),console['log'](a0L[bO(0x381)](bO(0x4ba))+a0L[bO(0x2b3)]['cyan'](bO(0x26e))))),console[bO(0x30a)]();});}
|
package/dist/commands/sim.d.ts
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* `icoa sim [scenario]` — zero-friction MuJoCo replay.
|
|
3
3
|
*
|
|
4
4
|
* The WOW moment in 5 seconds. No tokens, no walkthrough, no UI.
|
|
5
|
-
* Fetches a server-rendered MP4 of
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Fetches a server-rendered MP4 of a dual-robot MuJoCo scene
|
|
6
|
+
* (Franka Panda + a 6-DOF companion arm) executing one of five preset
|
|
7
|
+
* VLA action vectors, opens it with the system video player, prints
|
|
8
|
+
* a one-line context note.
|
|
8
9
|
*
|
|
9
10
|
* Built for: marketing demos, "show me what ICOA looks like in 5 sec",
|
|
10
11
|
* social-media clips, country-leader first contact, conference booths.
|
|
@@ -17,6 +18,8 @@ declare const SCENARIOS: Record<string, {
|
|
|
17
18
|
hidden?: boolean;
|
|
18
19
|
frames?: number;
|
|
19
20
|
narrative?: boolean;
|
|
21
|
+
bundled?: string;
|
|
22
|
+
panda2_pose?: number[];
|
|
20
23
|
}>;
|
|
21
24
|
export declare function registerSimCommand(program: Command): void;
|
|
22
25
|
export { SCENARIOS };
|
package/dist/commands/sim.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import chalk from"chalk";import{spawn as o}from"node:child_process";import{writeFileSync as
|
|
1
|
+
import chalk from"chalk";import{spawn as o}from"node:child_process";import{copyFileSync as e,existsSync as n,writeFileSync as a}from"node:fs";import{dirname as r,join as s,resolve as l}from"node:path";import{fileURLToPath as t}from"node:url";import{fetchWithCountdown as i}from"../lib/countdown.js";import{COOLDOWN_SECONDS as c,lastSimAt as d,markSimAt as p}from"../lib/sim-cooldown.js";const g={baseline:{action:null,label:"Baseline — robot doing its job",hint:"Approach → grasp → lift → place → return. This is what normal looks like.",frames:90,narrative:!0},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).",hidden:!0},ensemble:{action:null,label:"Ensemble — 8 robots dancing on one beat",hint:"Pre-rendered. The full ICOA-VLA cast in 3 seconds.",bundled:"ensemble.mp4"},arm:{action:null,label:"Companion arm — joint-test choreography",hint:"Exercises all 6 joints of the printable companion arm on its own beat.",frames:90,narrative:!0,panda2_pose:[.5,.7,.5,.3,.6,.3]}},m=Object.fromEntries(Object.entries(g).filter(([,o])=>!o.hidden));function u(){return"darwin"===process.platform?"open":"win32"===process.platform?"start":"xdg-open"}export function registerSimCommand(y){y.command("sim [scenario]").description("MuJoCo VLA replay (baseline / release / patch / confused / ensemble / arm)").action(async y=>{await async function(y){const b=g[y.toLowerCase()];if(!b){console.log(),console.log(chalk.yellow(` Unknown scenario: "${y}"`)),console.log(chalk.gray(" Available:"));for(const[o,e]of Object.entries(m))console.log(chalk.gray(" ")+chalk.bold.cyan(o.padEnd(10))+chalk.gray(e.label));return void console.log()}if(b.bundled)return void await async function(a,i){const c=function(o){const e=r(t(import.meta.url));return[l(e,"..","..","assets","sim",o),l(e,"..","..","..","assets","sim",o)].find(o=>n(o))||null}(i.bundled);if(!c)return void console.log(chalk.yellow(` Bundled asset missing: assets/sim/${i.bundled}`));const d=process.env.TMPDIR||"/tmp",p=s(d,`icoa-sim-${a}-${Date.now()}.mp4`);e(c,p),console.log(),console.log(chalk.bold.cyan(" ICOA · MuJoCo Sim")),console.log(chalk.gray(" ")+chalk.white(i.label)),console.log(),console.log(chalk.bold.green(" ✓ ")+chalk.gray("Ready (pre-rendered, instant playback).")),console.log(),console.log(chalk.gray(" ")+i.hint),console.log();const g=u();g?(o(g,[p],{stdio:"ignore",detached:!0}).unref(),console.log(chalk.gray(" Opening in your default video player..."))):console.log(chalk.gray(" Video at: ")+chalk.white(p)),console.log()}(y,b);const f=(Date.now()-d())/1e3;if(f<c){const o=Math.ceil(c-f);return console.log(),console.log(chalk.yellow(` Please wait ${o}s before the next sim.`)),console.log(chalk.gray(" (One render per minute keeps things fast for everyone.)")),void console.log()}const h=`${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(b.label)),console.log();try{const e=fetch(h,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:b.action,frames:b.frames,narrative:b.narrative,...b.panda2_pose?{panda2_pose:b.panda2_pose}:{}}),signal:AbortSignal.timeout(6e4)}),n=await i(e);if(!n.ok)return void console.log(chalk.yellow(` Server returned HTTP ${n.status}.`));const r=await n.json();if(!r.success||!r.data?.mp4_b64)return void console.log(chalk.yellow(" Renderer unavailable."));const l=process.env.TMPDIR||"/tmp",t=s(l,`icoa-sim-${y}-${Date.now()}.mp4`);a(t,Buffer.from(r.data.mp4_b64,"base64")),p(Date.now()),console.log(),console.log(chalk.bold.green(" ✓ ")+chalk.gray("Rendered.")),r.data.description&&console.log(chalk.gray(" Action: ")+chalk.white(r.data.description)),console.log(),console.log(chalk.gray(" ")+b.hint),console.log();const c=u();c?(o(c,[t],{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 ")+chalk.white("Franka Panda")+chalk.gray(" + a 6-DOF companion arm, controlled by ")+chalk.bold.cyan("ICOA-VLA")+chalk.gray(" through ")+chalk.bold.cyan("MuJoCo")+chalk.gray(".")),console.log();const d="1"===process.env.ICOA_INSIDE_REPL?"":"icoa ";console.log(chalk.gray(" Try other scenarios:"));for(const o of Object.keys(m))o!==y.toLowerCase()&&console.log(chalk.gray(" "+d+"sim ")+chalk.cyan(o));console.log(),console.log(chalk.gray(" Next steps · ")+chalk.bold.cyan(d+"demo2")+chalk.gray(" (~8 min intro) · ")+chalk.bold.cyan(d+"learn LEARNDEMO01")+chalk.gray(" (curriculum)")),console.log()}catch(o){const e=o instanceof Error?o.message:String(o);console.log(chalk.yellow(` Sim error: ${e}`))}}(y||"baseline")})}export{g as SCENARIOS};
|
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{setMainRl as f}from"./lib/main-rl.js";import{isChatActive as b,handleChatMessage as x}from"./commands/ai4ctf.js";import{isCtf4aiActive as v,handleCtf4aiMessage as C}from"./commands/ctf4ai-demo.js";import{isCtf4VlaActive as A,handleCtf4VlaMessage as I}from"./commands/ctf4vla.js";import{isDemo2Active as k}from"./commands/demo2.js";import{getExamState as T,getRealExamState as $,getDemoState as S}from"./lib/exam-state.js";import{getDemoStats as O}from"./lib/demo-stats.js";import{isExamSetupComplete as E}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as L,DEMO_POOL_SIZE as P}from"./lib/demo-exam.js";import{isNativeWindowsCmd as q}from"./lib/platform.js";import{resetTerminalTheme as R}from"./lib/theme.js";import{ensureSandbox as j,runInSandbox as D,isDockerAvailable as N}from"./lib/sandbox.js";import{logCommand as F}from"./lib/logger.js";import{startLogSync as M,stopLogSync as U}from"./lib/log-sync.js";import{existsSync as z,mkdirSync as W,writeFileSync as B}from"node:fs";import{join as _}from"node:path";import{homedir as Q}from"node:os";function Y(){return $()?chalk.cyan("exam> "):S()?chalk.yellow("demo> "):chalk.green("icoa> ")}const V=_(Q(),"icoa-workspace");function J(){return z(V)||W(V,{recursive:!0}),V}const G=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),K="__REPL_NO_EXIT__",Z="2.5.1";function H(){const o=O(),e=E(),l=`Free practice — ${L} questions (from pool of ${P})`,n=q();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,S){process.env.ICOA_INSIDE_REPL="1";const O=n(),E=l(),L=process.exit.bind(process),P=a();if(O.demoCleanedForVersion!==Z){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:Z})}const{select:q,confirm:oo}=await import("@inquirer/prompts"),eo=O.mode||"",to=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("New CTF4VLA! sim demo2 and learn more")}`,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 lo="";for(;!lo;){const o=await q({message:"Mode",choices:to,default:eo||"selection"});"about"!==o?lo=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("CTF4VLA")}${chalk.gray(" [Pioneer Round] 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"===lo&&"olympiad"!==eo&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await oo({message:"Continue?",default:!0})||(lo="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),lo!==eo&&s({mode:lo}),console.log(),"olympiad"===lo&&m(Z)){d(Z),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(S){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"===lo?H():"embodied"===lo?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" CTF4VLA")+chalk.gray(" — ICOA 2026's ")+chalk.bold.white("Pioneer Round")),console.log(chalk.gray(" an independent parallel track alongside the scored main events: ")+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(" Real models, real physics, real attack surfaces.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" First time? Try in order: ")+chalk.bold.cyan("① sim")+chalk.gray(" → ")+chalk.bold.cyan("② demo2")+chalk.gray(" → ")+chalk.bold.cyan("③ learn LEARNDEMO01")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" sim")+chalk.gray(" ")+chalk.bold.cyan("①")+chalk.gray(" ")+chalk.bold.yellow("★ WOW")+chalk.gray(" — robot arm replay in seconds")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ")+chalk.bold.cyan("②")+chalk.gray(" ~8 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn LEARNDEMO01")+chalk.gray(" ")+chalk.bold.cyan("③")+chalk.gray(" free 11-card intro (paste this command as-is)")),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 (CTF4VLA) — 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"===lo?(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(),E?(console.log(chalk.green(` Logged in as ${O.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()):P&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):E?(console.log(chalk.green.bold(` Welcome back, ${O.userName}!`)),console.log(chalk.gray(` Connected to ${O.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()):P?(J(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${V}`)),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 no=o({input:process.stdin,output:process.stdout,prompt:Y(),terminal:!0});f(no);let so=!1;p(!0),M();const ao=no.prompt.bind(no);no.prompt=o=>{b()||v()||A()||k()||no.setPrompt(Y()),ao(o)},no.prompt(),no.on("line",async o=>{if(so)return;const l=o.trim();if(!l)return no.setPrompt(b()?chalk.magenta("ai4ctf> "):Y()),void no.prompt();if("menu"===l||"menu confirm"===l)return $()&&"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 no.prompt()):void u(no);if(b()){so=!0;const o=await x(l);return so=!1,"exit"===o&&no.setPrompt(Y()),void no.prompt()}if(v()){so=!0;const o=await C(l);return so=!1,"exit"!==o&&"solved"!==o||no.setPrompt(Y()),void no.prompt()}if(A()){so=!0;const o=await I(l);return so=!1,"exit"===o&&no.setPrompt(Y()),no.setPrompt(A()?chalk.bold.cyan("ctf4vla> "):Y()),void no.prompt()}if(F(l),"exit"===l)return T()?(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 no.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"===lo&&H(),void no.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=T();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 no.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)."))),U(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),R(),void L(0))}if("back"===l){const o=T(),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"===lo?H():console.log(chalk.gray(" Already at main menu."))}return void no.prompt()}if("help"===l||"?"===l){if(T()){so=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return so=!1,void no.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(),lo),void no.prompt()}if("more help"===l.toLowerCase()&&T()){so=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return so=!1,void no.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 no.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return so=!1,void no.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return so=!1,void no.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){so=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return so=!1,void no.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){so=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return so=!1,void no.prompt()}if("clear"===l||"cls"===l)return console.clear(),void no.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 no.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void no.prompt();const m=T();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 no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return so=!1,void no.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return so=!1,void no.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=l.startsWith("!")||d.startsWith("!")||p,w=new Set(["nano","vi","vim","emacs","pico","ed","code","cat","less","more","head","tail","ls","pwd","cd","base64","xxd","hexdump","od","openssl","md5sum","sha256sum","grep","find","awk","sed","strings","file","curl","wget","nc","ping","nmap","echo","bash","sh","zsh","pip","pip3","node","npm"]),f=()=>{console.log(chalk.gray(" Shell commands need ")+chalk.bold.cyan("!")+chalk.gray(" prefix. Try: ")+chalk.bold.cyan(`!${l}`)),console.log()};if("embodied"===lo&&!h&&!["demo2","learn","exam","ctf4vla","lang","ref","setup","env","sim"].includes(d))return w.has(d)?(f(),void no.prompt()):(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 no.prompt());if("selection"===lo&&!h&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env","sim"].includes(d)){if(w.has(d))return f(),void no.prompt();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 no.prompt()}if("organizer"===lo&&!["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 no.prompt();if(!("olympiad"!==lo||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 no.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","ctf4vla","theme","sim"].includes(d)){if(G.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void no.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: ${V}`)),console.log(),void no.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=J();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=_(Q(),".icoa");z(o)||W(o,{recursive:!0});const e=_(o,"python-startup.py");return z(e)||B(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()),so=!0;try{N()&&await j()?await D(o,no):await X(o,no,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return so=!1,console.log(),void no.prompt()}so=!0;const k=l.trim(),S=k.toLowerCase();let O,E=null,P="";if(m)if("submit"===S)E="final";else if(S.startsWith("submit ")){let o=k.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)&&(E="flag",P=o)}else/^ICOA\{[^}]+\}$/i.test(k)&&(E="flag",P=k);O="final"===E?["exam","submit"]:"flag"===E?["exam","answer",String(m?._lastQ||1),P]: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 q="ctf"===O[0]&&"join"===O[1];q&&no.pause(),process.exit=()=>{throw new Error(K)};try{await e.parseAsync(["node","icoa",...O])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===K);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=L,so=!1,q&&no.resume()}b()?no.setPrompt(chalk.magenta("ai4ctf> ")):v()?no.setPrompt(chalk.red("ctf4ai> ")):A()&&no.setPrompt(chalk.bold.cyan("ctf4vla> ")),console.log(),no.prompt()}),no.on("SIGINT",()=>{if(console.log(),b()||v())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(T()){const o="demo-free"!==T().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(),no.prompt()}),no.on("close",()=>{U(),g(),R(),L(0)})}function X(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{setMainRl as f}from"./lib/main-rl.js";import{isChatActive as b,handleChatMessage as x}from"./commands/ai4ctf.js";import{isCtf4aiActive as v,handleCtf4aiMessage as C}from"./commands/ctf4ai-demo.js";import{isCtf4VlaActive as A,handleCtf4VlaMessage as I}from"./commands/ctf4vla.js";import{isDemo2Active as k}from"./commands/demo2.js";import{getExamState as T,getRealExamState as $,getDemoState as S}from"./lib/exam-state.js";import{getDemoStats as O}from"./lib/demo-stats.js";import{isExamSetupComplete as E}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as L,DEMO_POOL_SIZE as P}from"./lib/demo-exam.js";import{isNativeWindowsCmd as q}from"./lib/platform.js";import{resetTerminalTheme as R}from"./lib/theme.js";import{ensureSandbox as j,runInSandbox as D,isDockerAvailable as N}from"./lib/sandbox.js";import{logCommand as F}from"./lib/logger.js";import{startLogSync as M,stopLogSync as U}from"./lib/log-sync.js";import{existsSync as z,mkdirSync as W,writeFileSync as B}from"node:fs";import{join as _}from"node:path";import{homedir as Q}from"node:os";function Y(){return $()?chalk.cyan("exam> "):S()?chalk.yellow("demo> "):chalk.green("icoa> ")}const V=_(Q(),"icoa-workspace");function J(){return z(V)||W(V,{recursive:!0}),V}const G=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),K="__REPL_NO_EXIT__",Z="2.5.1";function H(){const o=O(),e=E(),l=`Free practice — ${L} questions (from pool of ${P})`,n=q();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,S){process.env.ICOA_INSIDE_REPL="1";const O=n(),E=l(),L=process.exit.bind(process),P=a();if(O.demoCleanedForVersion!==Z){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:Z})}const{select:q,confirm:oo}=await import("@inquirer/prompts"),eo=O.mode||"",to=[{name:` ${chalk.bold("National Selection")} ${chalk.gray("—")} ${chalk.gray("demo, exam (lightweight)")}`,value:"selection"},{name:` ${chalk.bold("Embodied AI Security")} 🤖 ${chalk.gray("—")} ${chalk.gray("New CTF4VLA! sim demo2 and learn more")}`,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 lo="";for(;!lo;){const o=await q({message:"Mode",choices:to,default:eo||"selection"});"about"!==o?lo=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("CTF4VLA")}${chalk.gray(" [Pioneer Round] 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"===lo&&"olympiad"!==eo&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await oo({message:"Continue?",default:!0})||(lo="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),lo!==eo&&s({mode:lo}),console.log(),"olympiad"===lo&&m(Z)){d(Z),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(S){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"===lo?H():"embodied"===lo?(console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" CTF4VLA")+chalk.gray(" — ICOA 2026's ")+chalk.bold.white("Pioneer Round")),console.log(chalk.gray(" an independent parallel track alongside the scored main events: ")+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(" Real models, real physics, real attack surfaces.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.yellow(" First time? Try in order: ")+chalk.bold.cyan("① sim")+chalk.gray(" → ")+chalk.bold.cyan("② demo2")+chalk.gray(" → ")+chalk.bold.cyan("③ learn LEARNDEMO01")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(chalk.bold.green(" sim")+chalk.gray(" ")+chalk.bold.cyan("①")+chalk.gray(" ")+chalk.bold.yellow("★ WOW")+chalk.gray(" — dual-robot MuJoCo replay in seconds")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ")+chalk.bold.cyan("②")+chalk.gray(" ~8 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn LEARNDEMO01")+chalk.gray(" ")+chalk.bold.cyan("③")+chalk.gray(" free 11-card intro (paste this command as-is)")),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 (CTF4VLA) — 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"===lo?(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(),E?(console.log(chalk.green(` Logged in as ${O.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()):P&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):E?(console.log(chalk.green.bold(` Welcome back, ${O.userName}!`)),console.log(chalk.gray(` Connected to ${O.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()):P?(J(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${V}`)),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 no=o({input:process.stdin,output:process.stdout,prompt:Y(),terminal:!0});f(no);let so=!1;p(!0),M();const ao=no.prompt.bind(no);no.prompt=o=>{b()||v()||A()||k()||no.setPrompt(Y()),ao(o)},no.prompt(),no.on("line",async o=>{if(so)return;const l=o.trim();if(!l)return no.setPrompt(b()?chalk.magenta("ai4ctf> "):Y()),void no.prompt();if("menu"===l||"menu confirm"===l)return $()&&"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 no.prompt()):void u(no);if(b()){so=!0;const o=await x(l);return so=!1,"exit"===o&&no.setPrompt(Y()),void no.prompt()}if(v()){so=!0;const o=await C(l);return so=!1,"exit"!==o&&"solved"!==o||no.setPrompt(Y()),void no.prompt()}if(A()){so=!0;const o=await I(l);return so=!1,"exit"===o&&no.setPrompt(Y()),no.setPrompt(A()?chalk.bold.cyan("ctf4vla> "):Y()),void no.prompt()}if(F(l),"exit"===l)return T()?(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 no.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"===lo&&H(),void no.prompt());if("quit"===l||"q"===l||"quit confirm"===l){const o=T();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 no.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)."))),U(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),R(),void L(0))}if("back"===l){const o=T(),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"===lo?H():console.log(chalk.gray(" Already at main menu."))}return void no.prompt()}if("help"===l||"?"===l){if(T()){so=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return so=!1,void no.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(),lo),void no.prompt()}if("more help"===l.toLowerCase()&&T()){so=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return so=!1,void no.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 no.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim()])}catch{}return so=!1,void no.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(l.trim())){so=!0;try{await e.parseAsync(["node","icoa","exam","token",l.trim().toUpperCase()])}catch{}return so=!1,void no.prompt()}const s=l.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){so=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return so=!1,void no.prompt()}const y=l.match(/^exam\s+([A-Z]{2,3})$/i);if(y){so=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return so=!1,void no.prompt()}if("clear"===l||"cls"===l)return console.clear(),void no.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 no.prompt()}if("activate"===l)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void no.prompt();const m=T();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 no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(l),o])}catch{}return so=!1,void no.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(t(o))return n(o),void no.prompt();so=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return so=!1,void no.prompt()}}const d=l.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=l.startsWith("!")||d.startsWith("!")||p,w=new Set(["nano","vi","vim","emacs","pico","ed","code","cat","less","more","head","tail","ls","pwd","cd","base64","xxd","hexdump","od","openssl","md5sum","sha256sum","grep","find","awk","sed","strings","file","curl","wget","nc","ping","nmap","echo","bash","sh","zsh","pip","pip3","node","npm"]),f=()=>{console.log(chalk.gray(" Shell commands need ")+chalk.bold.cyan("!")+chalk.gray(" prefix. Try: ")+chalk.bold.cyan(`!${l}`)),console.log()};if("embodied"===lo&&!h&&!["demo2","learn","exam","ctf4vla","lang","ref","setup","env","sim"].includes(d))return w.has(d)?(f(),void no.prompt()):(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 no.prompt());if("selection"===lo&&!h&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env","sim"].includes(d)){if(w.has(d))return f(),void no.prompt();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 no.prompt()}if("organizer"===lo&&!["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 no.prompt();if(!("olympiad"!==lo||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 no.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","ctf4vla","theme","sim"].includes(d)){if(G.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void no.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: ${V}`)),console.log(),void no.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=J();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=_(Q(),".icoa");z(o)||W(o,{recursive:!0});const e=_(o,"python-startup.py");return z(e)||B(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()),so=!0;try{N()&&await j()?await D(o,no):await X(o,no,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return so=!1,console.log(),void no.prompt()}so=!0;const k=l.trim(),S=k.toLowerCase();let O,E=null,P="";if(m)if("submit"===S)E="final";else if(S.startsWith("submit ")){let o=k.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)&&(E="flag",P=o)}else/^ICOA\{[^}]+\}$/i.test(k)&&(E="flag",P=k);O="final"===E?["exam","submit"]:"flag"===E?["exam","answer",String(m?._lastQ||1),P]: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 q="ctf"===O[0]&&"join"===O[1];q&&no.pause(),process.exit=()=>{throw new Error(K)};try{await e.parseAsync(["node","icoa",...O])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===K);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=L,so=!1,q&&no.resume()}b()?no.setPrompt(chalk.magenta("ai4ctf> ")):v()?no.setPrompt(chalk.red("ctf4ai> ")):A()&&no.setPrompt(chalk.bold.cyan("ctf4vla> ")),console.log(),no.prompt()}),no.on("SIGINT",()=>{if(console.log(),b()||v())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(T()){const o="demo-free"!==T().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(),no.prompt()}),no.on("close",()=>{U(),g(),R(),L(0)})}function X(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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "icoa-cli",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.169",
|
|
4
4
|
"description": "ICOA CLI — The world's first CLI-native cyber & AI security olympiad terminal: AI4CTF (Day 1), CTF4AI (Day 2), VLA4CTF (Pioneer Round — embodied AI)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"files": [
|
|
10
10
|
"dist",
|
|
11
11
|
"refs",
|
|
12
|
-
"translations"
|
|
12
|
+
"translations",
|
|
13
|
+
"assets"
|
|
13
14
|
],
|
|
14
15
|
"scripts": {
|
|
15
16
|
"build": "tsc",
|