icoa-cli 2.19.163 → 2.19.165
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/dist/commands/ai4ctf.js +1 -1
- package/dist/commands/exam.js +1 -1
- package/dist/repl.js +1 -1
- package/package.json +1 -1
package/dist/commands/ai4ctf.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(b,j){const a7=a0j,k=b();while(!![]){try{const q=-parseInt(a7(0x275))/(-0x1f*0x13+0x444+-0x2*0xfb)+parseInt(a7(0x1ca))/(-0x1*-0x1fde+-0xc7f+-0x135d)+-parseInt(a7(0x1bd))/(0x9*-0x5b+0x1f32+-0x24*0xc7)*(-parseInt(a7(0x281))/(0x1178+-0x20db+0xf67))+-parseInt(a7(0x21f))/(0x1e1*-0x13+0x122a+-0x282*-0x7)*(parseInt(a7(0x2a4))/(0x4bf+-0x1279*0x2+0x2039))+parseInt(a7(0x2a2))/(-0x5d*-0x3b+-0x1*-0xb7b+-0x20e3)+-parseInt(a7(0x1d2))/(-0x2*0xa2e+0x1*-0x1f42+0x33a6*0x1)+-parseInt(a7(0x1f0))/(0x42b*0x8+-0x1*-0x111+-0x2260);if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,-0xd9c88+0x2c*0x62e6+0x13*0x74e9));import a0q from'chalk';import{createChatSession as a0v}from'../lib/gemini.js';function a0b(){const aj=['ywK0y3rMv3jHCff1B3rHrM9VDgvY','icaGicaGia','yw5ZD2vYx3n1yM1PDhrLza','BwvUDq','z2vTBweTnc0ZmwiTAxq','Cu51Bq','CM91BMq','ywK0y3rMrxHPDe5LEhrcB2r5','ywK0y3rMrxHPDenTze5LEhq','ywK0y3rMv3jHCfr5CgvdDgy0ywK','zMLUza','ywK0y3rMtw9KzwW','ieLdt0f7lI4UFq','BNvKz2vtAg93BG','sgLUDca','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','y3LHBG','icdcTYaGuMuTzw50zxi6ia','ywK0y3rMq29YCMvJDezSywC','icdILRGGsgLUDca','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','icaGigHPBNqGyW','AgfZ','ihrVignVBNrPBNvL','Dg9ju09tDhjPBMC','ywK0y3rMrxHPDe5LEhrtDwi','ywK0y3rMsgLUDfbYAw5JAxbSzq','icaGicaGigHPBNqGyYaGia','icbbzNrLCIbLEgL0oIa','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icdINjmGuq','ywK0y3rMu2fTCgXL','lIbkDw1WihrOzxjLigzPCNn0oG','Cg9PBNrZ','D3jPDgu','CMvWBgfJzq','ywK0y3rMu3vIBwL0q21K','ywK0y3rMrxHPDa','icaGihn1yM1PDcbjq09bEY4UlN0','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','icaKia','zxHPDa','icdINjmGqw5ZD2vYigzVCIbr','icbfCNjVCJOG','ywK0y3rMv3jHCff1B3rHqG','q3j5ChrVz3jHCgH5','Bg9N','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMv3jHCff1B3rHC1rPDgXL','icbuAgLUA2LUzY4UlG','ixnOzwXS','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','ywK0y3rMsw50zxjJzxb0zwq','z3jHEq','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','lI4VBgLIl2v4yw0TC3rHDguUANm','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','icaGice8C2HLBgWGy21KpIaGica','iokaLcb0ExbLia','icbtDgLSBcbHDMfPBgfIBgu6ia','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','z2vTAw5Ptw9KzwW','y3rMngfP','x2XHC3rr','icaGifbYzxzPB3vZoIa','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','DMLHigfPngn0zIbJAgf0','ywK0y3rMrxHPDe5LEhruAxrSzq','C3rKB3v0','ywK0y3rMq29TBwfUzhm','C2XPy2u','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','ChvZAa','ywK0y3rMsgLUDenvC2vZ','BM9KztPJAgLSzf9WCM9JzxnZ','nZe1oda3qKvgEujZ','CxvLC3rPB25Z','ywK0y3rMv2vSy29Tzun0yq','ywK0y3rMt3jdAgf0','ywK0y3rMuMv2zwfStg9JA05VDgu','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','igfUC3DLCIb1CgrHDgvKoIa','BgvUz3rO','C3rYAw5NAwz5','ywK0y3rMvgHPBMTPBMC','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','yM9Sza','mJbqBwTevxO','ywK0y3rMv3jVBMDgBgfN','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','icaGigv4AxqGicaGicaGicaGica','y2f0y2G','ywK0y3rM','yxbWBgLJyxrPB24VANnVBG','ywK0y3rMrgvJB2rLza','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','ywK0y3rMtgv2zwXZ','ywK0y3rMrM91BMrgBgfN','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','cIaG','ywK0y3rMq21KsgLUDeXPBMu','zxHHBsbXidmX','C29Tzq','sgLKzgvUie1LC3nHz2u','icaGicaGicaGicaGica','AgLUDcbJ','y29UDgLUDwu','Dg9Rzw5mAw1PDa','icaGigv4Axq','quKGzxjYB3i6ia','ywK0y3rMv3jHCfrPDgXL','Dg9vChbLCKnHC2u','icdIMQaG','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','CMvWzwf0','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','icaGia','q29TBwfUzcbMywLSzwq','CxvPDa','nZm0mdi0mK5RD3DtAq','icbzB3uGyxjLig9Uife','mte4otjzuxvlBNG','ihjLy29YzgvKoIa','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','iokvKokvKokvKa','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','icaGicaGicaGicaGicaGicaGicbLlMCUia','Aw50zxjHy3rPB25Z','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','icdILii','imk3ia','ywK0y3rMv3jHCe5LEhrcB2r5','icaGicaGicaGicaG','ihb0CW','ywK0y3rMsgLUDefvC2vZ','ihrVig1VDMuGB24','E25VuhjVz30','icaGideUia','Bwf0y2G','rNvSBcbXDwvZDgLVBJOGia','C3vIBwL0idXMBgfNpG','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ue9tva','ywK0y3rMrMXHz0HPBNq','ywK0y3rMv3jHCeXPBMuXqM9KEq','ywK0y3rMoIa','nZy3nJa3z2zJwgXW','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','yxr0ywnOzwreyxrH','icdILzdILzdILzaG','icaGifn0DwnRpYbuCNK6ia','iokaLca','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','ywK0y3rMsgLUDe5LEhrb','q29UDgvUDc1uExbL','AM9PBG','BwvZC2fNzq','g1SXqrTBmKS','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','mJGYmJaXofztBMfUta','ywLvC2fNzq','C2L6zq','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','icbB','ywK0y3rMv3jHCff1B3rHqq','zw5JB2rPBMC','mZq2nduYmgruvwDuuG','DgLTzw91Da','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','D2HPDgu','yMfJAW','zxHHBsbXia','icaG4OAsia','ywK0y3rMtg9JA2vKvgL0Bgu','ywK0y3rMv3jHCff1B3rHqKHPBNq','ywK0y3rMv3jHCff1B3rHqW','Dgv4Da','ywK0y3rMv3jHCff1B3rHq0HPBNq','ywK0y3rMq21Ku2HLBgXmAw5L','DgvZDa','C3vIBwL0ia','AgLUDcbI','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','ig5VDcbMB3vUzcbPBIbZDgf0zs4','ywK0y3rMsgLUDe51zgDL','C3rHCNrZv2L0Aa','icaGidiUia','ywK0y3rMsgLUDee','y29TBwfUza','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','CxvLC3rPB24','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','CMvK','icaGicbJDgy0ywK','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','mtyXmJqWmtnzvKfmvxy','ywK0y3rMuMv2zwfSqM9KEq','AgLUDf91C2vK','BNvTyMvY','C3bSAxq','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','ywK0y3rMt3jdAgf0rxHHBxbSzq','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','Dg9mB3DLCKnHC2u','z3jLzw4','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','DhjPBq','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','ywK0y3rMuMv2zwfSvgL0Bgu','DgHPBMTPBMC','ig9UifeZoq','icaGigHPBNqGyq','icbgBgfNigzVCM1HDdOG','C2vUze1LC3nHz2u','icaGiokgKIa','icaGigHPBNqGyG','icaGicaGigHPBNqGysaGia','ywK0y3rMv3jHCe5LEhruAxrSzq','ywK0y3rMv3jHCeXPBMuYsgvHza','yw5ZD2vYCW','icaGicaGigHPBNqGyIaGia','ywK0y3rMrgvJB2rL','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','Dg9Rzw5ZvxnLza','zw50zxjLzef0','AgLUDhm','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','ywK0y3rMsgLUDejvC2vZ','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','CgfKrw5K','y2XLyxi','AgLUDhnvC2vK','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','icaI','icbzB3uGy2fUihn0AwXSoIa','ywK0y3rMsgLUDem','icaGicbIywnR','ywn0Aw9U','ywK0y3rMv291BgrfyxjU','y2f0zwDVCNK','EwvSBg93','mJbVsxnxChe','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','vg9Rzw5Z','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','icdILiiG','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','icbszxn1Bwu6ia','ywrK','ywK0y3rMsgLUDencB2r5','zgvZy3jPChrPB24','icbozxH0oIa'];a0b=function(){return aj;};return a0b();}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=!(-0x14a0+-0x859+0x1cfa),y=null,h=-0xa0*0x18+0x644*-0x2+0x1b88,u=!(-0x3*0x6d7+0x20a3+-0xc1d);const d=0x7b1*0xe+0x5674+-0x607a;let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:0x4*-0x62c+0x374+0x28c4*0x1,j=h,k=Math['min'](Math[a8(0x230)](j/b*(-0xefb+-0x5d*0x4b+0x1*0x2a9e)),-0x528+0x3d7*0x8+-0x166*0x12),q=Math[a8(0x230)](k/(0x1cb9+0x111*-0x1+-0x6d1*0x4)*(-0x1*-0x2551+-0x1a84+-0x1*0xab9)),v=0x1936+-0x5*0x1f+0x45*-0x5b-q,x=k>0x1bfb+0xff0+-0x2b9b?a0q[a8(0x1ed)]:k>0x1c16+0xac3+-0x7bb*0x5?a0q[a8(0x21e)]:a0q[a8(0x1f9)],z=f?'AI4CTF\x20section':a8(0x221);console[a8(0x258)](a0q[a8(0x25f)]('\x20\x20'+z+':\x20')+x('█'['repeat'](q))+a0q[a8(0x25f)]('░'[a8(0x29d)](v))+a0q[a8(0x25f)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0x253);if(a0A(a9(0x1bc)+q),f)return p(q);const v=q[a9(0x1fb)]()[a9(0x1f8)]()[a9(0x2b5)](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0x1e8):'b'===B?'ai4ctfHintB':aa(0x219)),D=a0D('a'===B?'ai4ctfHintABody':'b'===B?'ai4ctfHintBBody':aa(0x227)),E=aa(0x238)+B[aa(0x29a)](),F='a'===B?a0q[aa(0x1f9)]:'b'===B?a0q['yellow']:a0q[aa(0x1ed)];console[aa(0x258)](),console[aa(0x258)](F['bold']('\x20\x20▸\x20'+E+'\x20\x20')+a0q[aa(0x25f)](C)),console[aa(0x258)]();for(const G of D[aa(0x1f4)]('\x0a'))''===G?console[aa(0x258)]():console[aa(0x258)](a0q[aa(0x1d6)](aa(0x29f)+G));console[aa(0x258)](),'a'===B?(console['log'](a0q[aa(0x25f)]('\x20\x20\x20\x20'+a0D(aa(0x1c4))+'\x20')+a0q[aa(0x23a)]('hint\x20b')),console['log']()):'b'===B&&(console[aa(0x258)](a0q['gray'](aa(0x29f)+a0D('ai4ctfHintNextB')+'\x20')+a0q['cyan'](aa(0x294))),console[aa(0x258)]());}(v[-0x3*-0x935+0x2492+-0x4030]),a9(0x295);const x=q['match'](/^submit\s+(.+)/i);if(x){let B=x[0x2*0xec8+0x1b*0xaa+-0x1*0x2f7d]['trim']();if(/^submit\s+/i[a9(0x1e0)](B)&&(B=B[a9(0x24d)](/^submit\s+/i,'')[a9(0x1fb)]()),B=B[a9(0x24d)](/^["'`]+|["'`]+$/g,'')[a9(0x1fb)](),a9(0x26b)===B){console['log'](),console[a9(0x258)](a0q[a9(0x1f9)][a9(0x280)](a9(0x28c))),console['log'](a0q[a9(0x1f9)][a9(0x280)]('\x20\x20'+a0D(a9(0x23c)))),console[a9(0x258)](a0q[a9(0x1f9)][a9(0x280)](a9(0x28c))),console['log'](),console[a9(0x258)](a0q[a9(0x1d6)]('\x20\x20'+a0D(a9(0x288)))),console[a9(0x258)](a0q[a9(0x25f)]('\x20\x20'+a0D(a9(0x21c)))),console[a9(0x258)](),m(),r=!(0xd7+-0xf+-0x1*0xc7),y=null,fetch(a9(0x220),{'method':a9(0x1b9),'headers':{'Content-Type':a9(0x287)},'body':JSON['stringify']({'type':'ai4ctf','solved':!(-0x1*0x14c3+-0x8b*-0x3b+-0xb46),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a9(0x1d3)](-0x8*-0x1cb+0x10d5*-0x2+0x26da)})[a9(0x285)](()=>{}),await g(0x21*0xe0+0xbbc+-0x22c0),console[a9(0x258)](),console[a9(0x258)](a0q['cyan']('\x20\x20─────────────────────────────────────────────')),console['log'](a0q[a9(0x280)]['white']('\x20\x20'+a0D(a9(0x299)))),console[a9(0x258)](a0q[a9(0x23a)](a9(0x259))),console[a9(0x258)]();const C=a0D('ai4ctfWrapLine1Head'),D=a0D(a9(0x1bb));console[a9(0x258)](a0q['white'](a9(0x2b4)+C+'\x20')+a0q[a9(0x25f)](D[a9(0x1f4)]('\x0a')[-0x37+0x29e*0xa+-0x19f5]||''));for(const H of D['split']('\x0a')[a9(0x270)](0x1e74+-0x31*-0x73+-0x3476))H[a9(0x1fb)]()&&console[a9(0x258)](a0q[a9(0x25f)](a9(0x22b)+H[a9(0x24d)](/\{thinking\}/g,a9(0x1ff))));console['log'](),console[a9(0x258)](a0q['white'](a9(0x1e7)+a0D(a9(0x208))+'\x20')+a0q['gray'](a0D('ai4ctfWrapLine2Body'))),console['log'](),console[a9(0x258)](a0q['cyan'](a9(0x25d))),console[a9(0x258)](),await g(-0x1277+0x19*-0x6b+0x24ba),console[a9(0x258)](a0q[a9(0x23a)](a9(0x259))),console['log'](a0q[a9(0x280)][a9(0x1d6)]('\x20\x20'+a0D(a9(0x25a)))),console[a9(0x258)](a0q[a9(0x23a)](a9(0x259))),console['log'](),console[a9(0x258)](a0q[a9(0x21e)](a9(0x206))+a0q[a9(0x1d6)](a0D(a9(0x1d0))['padEnd'](-0x1461*-0x1+-0x119e+-0x2a9))+a0q[a9(0x25f)](a0D('ai4ctfWrapQuotaAHint'))),console[a9(0x258)](a0q[a9(0x21e)](a9(0x20a))+a0q[a9(0x1d6)](a0D(a9(0x256))[a9(0x213)](-0x5*0x1cd+-0x1*-0x1547+-0xc2c))+a0q[a9(0x25f)](a0D(a9(0x1db)))),console['log'](a0q['yellow'](a9(0x245))+a0q[a9(0x1d6)](a0D(a9(0x1dc))[a9(0x213)](-0x5cb+-0x74f*-0x5+-0x1ea6))+a0q[a9(0x25f)](a0D(a9(0x1de)))),console['log']();for(const I of a0D(a9(0x22a))['split']('\x0a'))console['log'](a0q['gray'](a9(0x29f)+I));console[a9(0x258)](),await g(-0x54d+-0x1dc7+0x393*0xc),console[a9(0x258)](a0q[a9(0x23a)](a9(0x259))),console[a9(0x258)](a0q['bold']['white']('\x20\x20'+a0D(a9(0x207))+'\x20')+a0q['red'][a9(0x280)](a9(0x268))+a0q[a9(0x1d6)]('\x20—\x20'+a0D('ai4ctfWrapNextSub'))),console[a9(0x258)](a0q[a9(0x23a)](a9(0x259))),console[a9(0x258)]();const E=a0D(a9(0x2ae)),F=a0D('ai4ctfWrapNoProg'),G=E['split']('\x0a');if(G[-0x12a5+0x15e9+0x4*-0xd1]){const [J,K]=G[0x2*0x4d8+0x3*0x7dc+-0x2144][a9(0x1f4)](a9(0x2b3));console[a9(0x258)](a0q[a9(0x1d6)](a9(0x29f)+(J||''))+a0q[a9(0x280)][a9(0x1d6)](F)+a0q[a9(0x1d6)](K||''));}for(const L of G[a9(0x270)](-0x1cdb+0x2*0x371+0x15fa))L[a9(0x1fb)]()&&console[a9(0x258)](a0q[a9(0x1d6)]('\x20\x20\x20\x20'+L));return console[a9(0x258)](),console['log'](a0q[a9(0x25f)](a9(0x29f)+a0D(a9(0x233))+'\x20')+a0q[a9(0x280)][a9(0x1ed)](a9(0x268))),console[a9(0x258)](),a9(0x253);}return console[a9(0x258)](),console[a9(0x258)](a0q['red']('\x20\x20'+a0D(a9(0x282)))),console['log'](a0q[a9(0x25f)]('\x20\x20'+a0D(a9(0x1ba)))),console[a9(0x258)](),a9(0x295);}if(q['startsWith']('!')){const M=q[a9(0x270)](0x3*0x559+0x9fd+0x1a07*-0x1)['trim']();if(!M)return a9(0x295);try{const N={};N[a9(0x1d1)]='utf-8',N['timeout']=0x2710;const {execSync:O}=await import('node:child_process'),P=O(M,N)[a9(0x1fb)]();console[a9(0x258)](),console[a9(0x258)](a0q[a9(0x25f)](a9(0x252))+a0q['white'](M)),console[a9(0x258)](a0q[a9(0x1d6)]('\x20\x20'+P[a9(0x1f4)]('\x0a')[a9(0x1c6)](a9(0x28e)))),console['log'](),console['log'](a0q[a9(0x25f)]('\x20\x20'+a0D(a9(0x28b)))),console[a9(0x258)]();}catch(Q){console[a9(0x258)](),console[a9(0x258)](a0q[a9(0x1ed)](a9(0x255)+(Q['message']?.[a9(0x1f4)]('\x0a')[0x21d*0xd+0x6*0x548+0x48d*-0xd]||a9(0x2a0)))),console[a9(0x258)]();}return a9(0x295);}const z={};z[a9(0x1c5)]=a9(0x287);if(a9(0x253)===q||a9(0x1d7)===q||a9(0x2a1)===q||a9(0x22d)===q)return r=!(0x17*-0x13e+0x79*0x4f+-0x8c4),y=null,fetch(a9(0x220),{'method':a9(0x1b9),'headers':z,'body':JSON['stringify']({'type':'ai4ctf','tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a9(0x1d3)](0x1acd+-0x22e1*0x1+0x39*0x7c)})[a9(0x285)](()=>{}),console[a9(0x258)](),console[a9(0x258)](a0q['gray']('\x20\x20─────────────────────────────────────────')),console[a9(0x258)](a0q[a9(0x1d6)]('\x20\x20'+a0D('ai4ctfReport'))),console[a9(0x258)](a0q[a9(0x25f)]('\x20\x20'+a0D('ai4ctfTokens')+':\x20'+h+'/5000')),console[a9(0x258)](a0q[a9(0x25f)]('\x20\x20'+a0D('ai4ctfModel')+a9(0x1c9))),console['log'](a0q[a9(0x25f)](a9(0x247))),console[a9(0x258)](),console[a9(0x258)](a0q['cyan'](a9(0x259))),console[a9(0x258)](a0q[a9(0x1d6)]('\x20\x20'+a0D(a9(0x26d))+'\x20')+a0q[a9(0x280)][a9(0x1ed)](a9(0x268))+a0q[a9(0x1d6)](a9(0x1c2)+a0D(a9(0x243)))),console[a9(0x258)](a0q[a9(0x25f)]('\x20\x20'+a0D(a9(0x231)))),console[a9(0x258)](a0q[a9(0x23a)](a9(0x259))),console[a9(0x258)](),console[a9(0x258)](a0q[a9(0x280)][a9(0x1ed)](a9(0x1ee))+a0q[a9(0x25f)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(a9(0x232)))),console[a9(0x258)](a0q[a9(0x1d6)](a9(0x21a))+a0q[a9(0x25f)](a9(0x2af)+a0D('ai4ctfExitCmdBack'))),console['log'](),a9(0x253);const A={};A[a9(0x1c5)]='application/json';if(!u&&h>=0x1762+-0x1489+0x10af)return u=!(0x2075+-0x1ac4+0x1f*-0x2f),fetch(a9(0x220),{'method':a9(0x1b9),'headers':A,'body':JSON[a9(0x27d)]({'type':a9(0x286),'solved':!(-0x21e+-0x5ef+0x80e*0x1),'tokensUsed':h,'timestamp':new Date()[a9(0x242)]()}),'signal':AbortSignal[a9(0x1d3)](0x1c87*-0x1+-0x1*0x1cde+0x2f*0x1a3)})[a9(0x285)](()=>{}),console[a9(0x258)](),console['log'](a0q['yellow']('\x20\x20'+a0D(a9(0x296)))),m(),(function(){const ab=a9;console[ab(0x258)](),console[ab(0x258)](a0q[ab(0x21e)](ab(0x259))),console[ab(0x258)](a0q['bold'][ab(0x21e)]('\x20\x20'+a0D(ab(0x1fe)))),console[ab(0x258)](a0q[ab(0x21e)](ab(0x259))),console['log']();for(const R of a0D(ab(0x1f1))['split']('\x0a'))''===R?console['log']():console[ab(0x258)](a0q[ab(0x1d6)]('\x20\x20\x20\x20'+R));console[ab(0x258)](),console[ab(0x258)](a0q[ab(0x23a)](ab(0x212))),console[ab(0x258)](),console[ab(0x258)](a0q['white'](ab(0x29f)+a0D('ai4ctfRevealSeeFlag'))),console['log'](),console[ab(0x258)](a0q[ab(0x1f9)]('\x20\x20\x20\x20\x20\x20\x20\x20icoa{w3lc0me_2_ai4ctf}')),console[ab(0x258)](),console[ab(0x258)](a0q[ab(0x1d6)]('\x20\x20\x20\x20'+a0D(ab(0x2ab)))),console[ab(0x258)](),console[ab(0x258)](a0q[ab(0x23a)]('\x20\x20\x20\x20\x20\x20\x20\x20submit\x20icoa{w3lc0me_2_ai4ctf}')),console[ab(0x258)](),console['log'](a0q[ab(0x25f)](ab(0x29f)+a0D(ab(0x279)))),console['log']();}()),'continue';if(u)return console[a9(0x258)](),console[a9(0x258)](a0q[a9(0x21e)]('\x20\x20'+a0D(a9(0x1da)))),console[a9(0x258)](a0q[a9(0x25f)]('\x20\x20'+a0D('ai4ctfLockedUse')+'\x20')+a0q[a9(0x23a)]('!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[a9(0x258)](a0q[a9(0x25f)]('\x20\x20'+a0D('ai4ctfLockedThen')+'\x20')+a0q[a9(0x23a)](a9(0x1ce))),console['log'](),a9(0x295);console[a9(0x258)](a0q[a9(0x25f)]('\x20\x20'+a0D(a9(0x27e))));try{const R=await y[a9(0x203)](q);process[a9(0x26e)][a9(0x24c)](a9(0x1c8)),h+=R[a9(0x20d)],a0x(R[a9(0x20d)]),console[a9(0x258)](),a0B(R[a9(0x1dd)]),m(),console['log']();}catch(S){process[a9(0x26e)][a9(0x24c)](a9(0x1c8)),a0C(a9(0x298)+S[a9(0x1c7)]),console[a9(0x258)]();}return a9(0x295);}const w=new Set();async function p(q){const ac=a0j;if(!f||!y)return'exit';const v=q[ac(0x1fb)](),x=v[ac(0x1f8)](),z=(Date['now']()-f[ac(0x20e)])/(-0x6a*0x17d+0x1887+0x7f*0x2e5);if(!f[ac(0x237)]&&!f['submitAttempted']&&f[ac(0x215)][ac(0x1cc)]>=-0xe48+0x2*-0x705+-0x1c54*-0x1&&z>=0x53*0x71+-0x20a*-0x9+-0x8*0x6df&&(f[ac(0x237)]=!(0xa81*-0x1+0x194f+-0xece),console[ac(0x258)](),console[ac(0x258)](a0q[ac(0x21e)](ac(0x1e3))+a0q[ac(0x280)][ac(0x21e)]('submit\x20ICOA{your_flag}')),console[ac(0x258)](a0q[ac(0x25f)](ac(0x210))),console['log']()),/^ICOA\{[^}]+\}$/i[ac(0x1e0)](v))return console['log'](),console[ac(0x258)](a0q[ac(0x25f)](ac(0x1c3))+a0q[ac(0x1d6)](ac(0x1e1)+v)),p(ac(0x1e1)+v);const A=x[ac(0x2b5)](/^hint\s+([abc])$/);if(A){const C=A[-0x9*-0x199+0x2*0xd+0x6d*-0x22]['toUpperCase']();f[ac(0x215)]['add'](C);const D=a0E();D&&(D[ac(0x2aa)]||(D[ac(0x2aa)]=[]),D['interactions'][ac(0x272)]({'ts':new Date()['toISOString'](),'q':f[ac(0x22f)],'type':ac(0x1f2),'input':C}),a0F(D));const E=f[ac(0x1eb)][ac(0x20f)],F=E?.[C],G='A'===C?a0q[ac(0x1f9)]:'B'===C?a0q[ac(0x21e)]:a0q[ac(0x1ed)];if(console[ac(0x258)](),console[ac(0x258)](G[ac(0x280)](ac(0x23d)+C)),console[ac(0x258)](),F){for(const H of String(F)[ac(0x1f4)]('\x0a'))console[ac(0x258)](a0q['white'](ac(0x29f)+H));}else console[ac(0x258)](a0q[ac(0x25f)](ac(0x2a8)));return console[ac(0x258)](),'A'===C?console[ac(0x258)](a0q['gray'](ac(0x1c1))+a0q['cyan'](ac(0x1e2))):'B'===C?console[ac(0x258)](a0q[ac(0x25f)](ac(0x283))+a0q[ac(0x23a)]('hint\x20c')):'C'===C&&console['log'](a0q['gray'](ac(0x29f)+a0D('ai4ctfHintNextC')+'\x20')+a0q[ac(0x280)][ac(0x1f9)]('submit\x20ICOA{your_flag}')),console['log'](),ac(0x295);}const B=v[ac(0x2b5)](/^submit\s+(.+)/i);if(B){let I=B[-0x1407+0xe3e+0x26*0x27][ac(0x1fb)]();if(/^submit\s+/i[ac(0x1e0)](I)&&(I=I['replace'](/^submit\s+/i,'')[ac(0x1fb)]()),I=I[ac(0x24d)](/^["'`]+|["'`]+$/g,'')[ac(0x1fb)](),/^[A-Da-d]$/[ac(0x1e0)](I))return console[ac(0x258)](),console[ac(0x258)](a0q[ac(0x21e)](ac(0x217)+I+'\x22\x20looks\x20like\x20an\x20MCQ\x20letter,\x20not\x20a\x20flag.')),console[ac(0x258)](a0q[ac(0x25f)](ac(0x202))+a0q['green']('ICOA{your_flag}')+a0q[ac(0x25f)](ac(0x20c))),console[ac(0x258)](),ac(0x295);const {getExamState:J,saveExamState:K}=await import(ac(0x261)),L=J();if(!L)return ac(0x253);if(!L[ac(0x276)][ac(0x234)](O=>O['number']===f[ac(0x22f)]))return console[ac(0x258)](a0q[ac(0x1ed)]('\x20\x20Q'+f['qNum']+ac(0x1e4))),'continue';const M=L[ac(0x209)][f['qNum']];L['interactions']||(L[ac(0x2aa)]=[]),L[ac(0x2aa)]['push']({'ts':new Date()['toISOString'](),'q':f[ac(0x22f)],'type':M?'answer_changed':ac(0x22c),'input':I,'result':ac(0x26c)}),L[ac(0x209)][f[ac(0x22f)]]=I;const N=f[ac(0x22f)]+(0xd*-0x11b+-0x2672+0x34d2);return L[ac(0x269)]=N<=-0x48a*0x5+-0x22fc*0x1+0x4*0xe75?N:f[ac(0x22f)],K(L),console[ac(0x258)](),M?(console[ac(0x258)](a0q['green'](ac(0x248)+f[ac(0x22f)]+ac(0x27b))+a0q['yellow'](I)),console[ac(0x258)](a0q[ac(0x25f)](ac(0x26a)+M))):console['log'](a0q[ac(0x1f9)][ac(0x280)](ac(0x254)+f[ac(0x22f)]+ac(0x2a5)+I)),console[ac(0x258)](a0q[ac(0x25f)](ac(0x27a))),console[ac(0x258)](),console[ac(0x258)](a0q[ac(0x25f)]('\x20\x20')+a0q[ac(0x1d6)]('submit\x20ICOA{...}')+a0q[ac(0x25f)]('\x20again\x20to\x20change,\x20or\x20')+a0q[ac(0x1d6)](ac(0x253))+a0q[ac(0x25f)](ac(0x2b2))),N<=0x43b+-0x6e*-0x2b+-0x168f?console[ac(0x258)](a0q[ac(0x25f)](ac(0x246))+a0q[ac(0x23a)]('ai4ctf')+a0q[ac(0x25f)]('\x20will\x20open\x20Q'+N)):console[ac(0x258)](a0q['gray'](ac(0x27f))+a0q[ac(0x1ed)](ac(0x268))+a0q[ac(0x25f)](ac(0x200))),console['log'](),ac(0x295);}if(q[ac(0x1e6)]('!')){const O=q[ac(0x270)](-0x60b*0x1+0x32c*-0xc+0x2c1c)[ac(0x1fb)]();if(!O)return'continue';try{const P={};P[ac(0x1d1)]='utf-8',P[ac(0x1d3)]=0x2710;const {execSync:Q}=await import(ac(0x274)),R=Q(O,P)[ac(0x1fb)]();console[ac(0x258)](),console[ac(0x258)](a0q[ac(0x25f)]('\x20\x20$\x20')+a0q[ac(0x1d6)](O)),console[ac(0x258)](a0q[ac(0x1d6)]('\x20\x20'+R[ac(0x1f4)]('\x0a')[ac(0x1c6)](ac(0x28e)))),console[ac(0x258)]();}catch(S){console[ac(0x258)](),console[ac(0x258)](a0q[ac(0x1ed)](ac(0x255)+(S[ac(0x1c7)]?.[ac(0x1f4)]('\x0a')[0x2324+0x24e6+-0x480a]||ac(0x2a0)))),console[ac(0x258)]();}return ac(0x295);}if('exit'===x||ac(0x1d7)===x||ac(0x2a1)===x){const T=f['qNum'],{getExamState:U}=await import(ac(0x261)),V=U(),W=V&&null!=V[ac(0x209)][T],X=V?.[ac(0x269)]||T;return r=!(0x2*0x108d+0x413*-0x1+-0x1*0x1d06),y=null,f=null,w[ac(0x214)](),console['log'](),console['log'](a0q[ac(0x25f)](ac(0x239)+T+'.')),W&&X>T&&X<=-0xbe2+-0x2ce*-0x7+0x8b*-0xe?console[ac(0x258)](a0q[ac(0x1d6)](ac(0x229))+a0q[ac(0x280)]['green']('Q'+X)+a0q[ac(0x25f)](ac(0x264))+a0q[ac(0x23a)]('ai4ctf')+a0q[ac(0x25f)](ac(0x241))):W&&T>=0x173d+0x1344+0x2a5b*-0x1?console['log'](a0q['white'](ac(0x1fa))+a0q['bold'][ac(0x1ed)]('ctf4ai')+a0q[ac(0x25f)]('\x20for\x20Q39')):console[ac(0x258)](a0q[ac(0x25f)](ac(0x225))+a0q[ac(0x1d6)](ac(0x1d8)+T)+a0q[ac(0x25f)](ac(0x23b))+a0q[ac(0x1d6)](ac(0x286))),console[ac(0x258)](),'exit';}if(u)return console[ac(0x258)](),console['log'](a0q[ac(0x21e)]('\x20\x20AI\x20budget\x20exhausted\x20for\x20AI4CTF\x20section.')),console['log'](a0q[ac(0x25f)](ac(0x265))+a0q[ac(0x1d6)](ac(0x2b7))+a0q['gray'](ac(0x2ad))+a0q[ac(0x1d6)](ac(0x25c))+a0q[ac(0x25f)](ac(0x2ad))+a0q[ac(0x1d6)](ac(0x253))),console['log'](),ac(0x295);if(h>=d)return u=!(-0x1*0x170b+0x1bbb+-0x4b0),console['log'](),console[ac(0x258)](a0q['red'][ac(0x280)](ac(0x1cd))),console[ac(0x258)](a0q[ac(0x25f)](ac(0x218))+a0q[ac(0x1d6)](ac(0x2b7))+a0q[ac(0x25f)]('\x20·\x20')+a0q['white'](ac(0x25c))+a0q[ac(0x25f)](ac(0x2ad))+a0q[ac(0x1d6)](ac(0x253))),console['log'](),'continue';console[ac(0x258)](a0q['gray'](ac(0x25b)));try{const Y=await y[ac(0x203)](q);process[ac(0x26e)][ac(0x24c)]('\x1b[1A\x1b[2K'),h+=Y[ac(0x20d)];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0x261)),a1=Z(),a2={};a2[ac(0x286)]=0x0,a2['ctf4ai']=0x0,(a1&&(a1[ac(0x1cb)]||(a1[ac(0x1cb)]=a2),a1[ac(0x1cb)][ac(0x286)]=h,a0(a1)),console[ac(0x258)](),a0B(Y[ac(0x1dd)]),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(-0x522+-0x52*0x45+0x88*0x34);a6>=-0x20f0+0x57*0x70+0x4c1*-0x1&&!a5['has']('95')?(console[ad(0x258)](a0q['red'][ad(0x280)](ad(0x29b)+Math['round'](a6)+'%\x20of\x20section\x20AI\x20budget\x20used\x20—\x20only\x20~'+(a4-a3)+'\x20tokens\x20left.')),a5['add']('95')):a6>=-0x1aae+0x1169+-0x1*-0x995&&!a5[ad(0x240)]('80')?(console['log'](a0q[ad(0x21e)](ad(0x289))),a5[ad(0x226)]('80')):a6>=0x8ad+-0x1*0x1fd+-0x67e&&!a5[ad(0x240)]('50')&&(console['log'](a0q[ad(0x25f)](ad(0x29c))),a5[ad(0x226)]('50'));}(h,d,w),console[ac(0x258)]());}catch(a3){process[ac(0x26e)][ac(0x24c)]('\x1b[1A\x1b[2K'),a0C(ac(0x298)+a3[ac(0x1c7)]),console[ac(0x258)]();}return'continue';}function a0j(a,b){a=a-(0xa39+-0x130c+0xa8b);const c=a0b();let d=c[a];if(a0j['CBRArL']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0xa*0xa+0x76d+-0x709,o,p,q=-0x926+-0xc90+-0x31a*-0x7;p=i['charAt'](q++);~p&&(o=n%(0xd83+0x2111+0x2*-0x1748)?o*(-0x8fa+0x3*-0xb1b+0x2a8b*0x1)+p:p,n++%(-0x10a3+0x1c97*-0x1+-0x169f*-0x2))?l+=String['fromCharCode'](0x1358+0x21d8+-0x3431&o>>(-(0x1*0x1736+-0x1435+-0x1*0x2ff)*n&-0x15d*-0x1a+-0x1*-0x139d+-0x3709)):-0x232*-0x1+-0x36d*-0xb+-0x3*0xd4b){p=j['indexOf'](p);}for(let r=-0x1246+-0x1*-0x1e5d+-0xc17,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x30*0x8d+0x1*-0xd8d+-0xcd3))['slice'](-(0x3*-0x11b+-0x2002+0x2355));}return decodeURIComponent(m);};a0j['KJDXsU']=e,a0j['GNyIkS']={},a0j['CBRArL']=!![];}const f=c[0x54b*0x1+-0x3*0x7e3+0x125e],g=a+f,h=a0j['GNyIkS'][g];return!h?(d=a0j['KJDXsU'](d),a0j['GNyIkS'][g]=d):d=h,d;}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0x1e9)](ae(0x286))[ae(0x228)](ae(0x251))[ae(0x21b)](async()=>{const af=ae;a0A(af(0x286));const {getRealExamState:j}=await import(af(0x261)),k=j(),q=k?.[af(0x276)][af(0x291)](A=>A[af(0x1f3)]>=0x2376+0x83*0x43+-0x10*0x45a&&A[af(0x1f3)]<=0x2*0xb03+0x2*-0x383+-0xeda);if(k&&q){const A=k[af(0x269)]||-0xb7+-0x1*-0xe0b+-0xd53*0x1;if(A<-0x53*-0x5d+-0x1*-0x1baa+-0xa*0x5c5||A>-0x4*-0x9ac+-0x1*0x1749+-0x5*0x30d)return console['log'](),console[af(0x258)](a0q[af(0x21e)]('\x20\x20ai4ctf\x20is\x20available\x20on\x20Q31–38\x20(AI4CTF\x20section).')),console[af(0x258)](a0q[af(0x25f)](af(0x2a3)+A+af(0x24a))),console[af(0x258)](a0q['gray'](af(0x204))+a0q[af(0x280)][af(0x23a)](af(0x290))),void console[af(0x258)]();const B=k['questions']['find'](C=>C[af(0x1f3)]===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0x261));await F();const H=E();if(!H)return!(-0x3*-0x5a1+-0x232f+0x3a9*0x5);const I=H[ag(0x276)][ag(0x234)](L=>L[ag(0x1f3)]===C);I&&(D=I),G(C,D?.[ag(0x1bf)]);const J=H[ag(0x1cb)]?.[ag(0x286)]??0x226+0x263f+-0x2865;if(J>=d)return console['log'](),console[ag(0x258)](a0q[ag(0x21e)]('\x20\x20⚠\x20Your\x20AI4CTF\x20token\x20budget\x20is\x20exhausted.')),console['log'](a0q['gray'](ag(0x23e))+a0q[ag(0x1d6)]('exam\x20answer\x20'+C+ag(0x236))),console[ag(0x258)](),!(-0x1153+-0x944+0x1*0x1a98);try{y=await a0v(void(-0x13*-0x17d+0x18e6*-0x1+-0x361),function(L,M){const ah=ag,N=L[ah(0x228)]||L['text']||'',O=L[ah(0x1bf)]?ah(0x1fc)+M+'.txt\x20inside\x20the\x20contestant\x27s\x20sandbox\x20—\x20path\x20is\x20relative\x20to\x20the\x20sandbox\x27s\x20/home/competitor\x20working\x20directory,\x20reachable\x20from\x20any\x20!shell\x20/\x20!python3\x20invocation):\x0a'+L[ah(0x1bf)]:'';return ah(0x271)+M+',\x20'+L['category']+',\x20'+(L[ah(0x24b)]||-0x78+0x1118+-0x109a)+'\x20points):\x0a'+N+O+'\x0a\x0aYOUR\x20RULES:\x0a-\x20You\x20MAY\x20explain\x20concepts,\x20describe\x20approaches,\x20and\x20help\x20the\x20contestant\x20reason\x20through\x20the\x20problem.\x0a-\x20You\x20MAY\x20discuss\x20the\x20technology\x20involved\x20(AES,\x20pwntools,\x20Python\x20struct,\x20HTTP,\x20etc.).\x0a-\x20You\x20MAY\x20help\x20debug\x20Python\x20code\x20the\x20contestant\x20writes.\x0a-\x20You\x20MUST\x20NOT\x20reveal\x20the\x20flag\x20directly.\x0a-\x20You\x20MUST\x20NOT\x20output\x20any\x20string\x20matching\x20ICOA{...}\x20or\x20icoa{...}.\x0a-\x20You\x20MUST\x20NOT\x20tell\x20the\x20contestant\x20the\x20exact\x20answer\x20to\x20this\x20question.\x0a-\x20You\x20MAY\x20suggest\x20which\x20tool\x20/\x20library\x20/\x20technique\x20to\x20use.\x0a-\x20When\x20suggesting\x20shell\x20/\x20python\x20snippets\x20that\x20need\x20the\x20attached\x20data,\x20refer\x20to\x20the\x20file\x20path\x20challenges/q'+M+ah(0x224);}(D,C));}catch(L){return a0C(L[ag(0x1c7)]),!(-0xb78+-0x1c*0x8f+0x1*0x1b1d);}r=!(0x62f*-0x3+0xaa5+0x16*0x5c),h=J,u=!(0x1912+0x232*0x5+0x240b*-0x1),f={'qNum':C,'question':D,'usageField':ag(0x286),'enteredAt':Date['now'](),'hintsUsed':new Set(),'submitAttempted':!(0x127b+0x1d44+0x61*-0x7e),'nudgeShown':!(-0x39b*0x1+-0x551+-0x8ed*-0x1)};const K=H[ag(0x209)]?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0x267)]||'gemma-4-31b-it',Q=h>0x3e0*0x3+0x2655+0x3f*-0xcb;console[ai(0x258)](),console[ai(0x258)](a0q[ai(0x1f9)]['bold']('\x20\x20═══\x20AI4CTF\x20—\x20Q'+N+':\x20'+M[ai(0x21d)]+ai(0x2a7))),Q&&console[ai(0x258)](a0q['gray']('\x20\x20(resuming\x20—\x20prior\x20chat\x20is\x20not\x20remembered,\x20but\x20tokens\x20already\x20used\x20stay\x20deducted)')),O&&console[ai(0x258)](a0q[ai(0x25f)]('\x20\x20Current\x20answer:\x20')+a0q[ai(0x21e)](O)+a0q[ai(0x25f)](ai(0x1ea))),console['log'](),console['log'](a0q[ai(0x23a)]('\x20\x20┌─────────────────────────────────────────────')),console[ai(0x258)](a0q['cyan'](ai(0x223))+a0q[ai(0x280)][ai(0x1d6)]('Q'+N+ai(0x1cf)+M[ai(0x21d)]+']\x20\x20·\x20'+(M[ai(0x24b)]||0xf9*0xb+0x216d+-0x2*0x160d)+ai(0x2b0))),console[ai(0x258)](a0q[ai(0x23a)](ai(0x2ac)));for(const R of String(M[ai(0x1dd)])[ai(0x1f4)]('\x0a')){const S=R[ai(0x27c)]>0x63e*0x1+0x17*0x10f+-0x13*0x199?R['slice'](-0x3*0xcfe+-0x12a8+0x39a2,-0x3*-0xc43+-0x515+-0x1f7b)+'...':R;console['log'](a0q[ai(0x23a)](ai(0x223))+a0q['white'](S));}console[ai(0x258)](a0q[ai(0x23a)](ai(0x2ac))),console[ai(0x258)](a0q[ai(0x23a)]('\x20\x20│\x20')+a0q[ai(0x25f)](ai(0x2b6))+a0q[ai(0x1d6)](ai(0x1d8)+N)),console['log'](a0q['cyan']('\x20\x20│\x20')+a0q[ai(0x25f)](ai(0x260))),console[ai(0x258)](a0q[ai(0x23a)]('\x20\x20└─────────────────────────────────────────────')),console[ai(0x258)](),console[ai(0x258)](a0q[ai(0x280)][ai(0x1d6)](ai(0x1d4))),console['log'](),console[ai(0x258)](a0q[ai(0x21e)](ai(0x201))+a0q[ai(0x25f)](ai(0x1ec))),console[ai(0x258)](a0q[ai(0x21e)](ai(0x205))+a0q[ai(0x25f)](ai(0x1f5))),console['log'](a0q[ai(0x21e)](ai(0x23f))+a0q[ai(0x25f)](ai(0x29e))),console[ai(0x258)](a0q[ai(0x280)][ai(0x1f9)](ai(0x250))+a0q[ai(0x25f)]('\x20Submit\x20your\x20flag\x20for\x20this\x20question')),console[ai(0x258)](a0q[ai(0x1d6)]('\x20\x20\x20\x20!python3\x20...')+a0q[ai(0x25f)](ai(0x216))),console[ai(0x258)](a0q[ai(0x25f)]('\x20\x20\x20\x20Just\x20type\x20freely\x20to\x20chat\x20with\x20the\x20AI\x20teammate.')),console['log'](a0q[ai(0x25f)](ai(0x2a9))+a0q[ai(0x1d6)](ai(0x1d5))),console[ai(0x258)](),console[ai(0x258)](a0q[ai(0x25f)](ai(0x297))+a0q[ai(0x25f)](ai(0x1f7))),console['log'](a0q[ai(0x25f)]('\x20\x20\x20\x20menu')+a0q['gray'](ai(0x1ef))),console[ai(0x258)](),m(),console[ai(0x258)](a0q[ai(0x25f)](ai(0x1fd)+P+')')),console[ai(0x258)]();}(D,C,K),!(0x17d7*0x1+0x1*-0x6e5+-0x6*0x2d3);}(A,B):void a0C('Q'+A+af(0x28d)+A);}const v={};v['name']=af(0x292),v[af(0x21d)]=af(0x257);const x=a0z()['geminiModel']||af(0x22e),z=v;try{y=await a0v(z);}catch(C){return void a0C(C['message']);}r=!(0x12f2+-0x1943+0x651),h=0x5f1+0xd6b+-0x4*0x4d7,u=!(-0x1c3f+0x28*-0x14+-0x2*-0xfb0),console[af(0x258)](),console[af(0x258)](a0q[af(0x1f9)][af(0x280)](af(0x1c0)+a0D('ai4ctfTitle')+af(0x2a7))),console[af(0x258)](),console['log'](a0q[af(0x1d6)]('\x20\x20'+a0D(af(0x249)))),console['log'](),console[af(0x258)](a0q['cyan'](af(0x1b8))),console[af(0x258)](a0q['cyan'](af(0x223))+a0q[af(0x280)]['white'](a0D('ai4ctfChallenge'))),console[af(0x258)](a0q[af(0x23a)](af(0x2ac))),console[af(0x258)](a0q[af(0x23a)](af(0x223))+a0q[af(0x1d6)](a0D(af(0x25e)))),console[af(0x258)](a0q[af(0x23a)](af(0x223))+a0q[af(0x1f9)](af(0x222))),console[af(0x258)](a0q[af(0x23a)](af(0x2ac))),console[af(0x258)](a0q[af(0x23a)](af(0x223))+a0q[af(0x1d6)](a0D(af(0x20b)))),console['log'](a0q[af(0x23a)](af(0x223))+a0q[af(0x25f)](af(0x262))),console[af(0x258)](a0q[af(0x23a)]('\x20\x20└─────────────────────────────────────────────')),console[af(0x258)](),console[af(0x258)](a0q['white']('\x20\x20'+a0D(af(0x28a)))),console[af(0x258)](),console['log'](a0q[af(0x21e)](af(0x201))+a0q[af(0x25f)]('\x20\x20\x20\x20'+a0D(af(0x1e8)))),console[af(0x258)](a0q[af(0x25f)](af(0x293)+a0D(af(0x2b1)))),console[af(0x258)](a0q[af(0x21e)](af(0x205))+a0q[af(0x25f)](af(0x29f)+a0D('ai4ctfHintB'))),console['log'](a0q[af(0x25f)](af(0x293)+a0D(af(0x211)))),console['log'](a0q[af(0x21e)](af(0x23f))+a0q[af(0x25f)](af(0x29f)+a0D(af(0x219)))),console['log'](a0q[af(0x25f)](af(0x293)+a0D(af(0x273)))),console[af(0x258)](),console['log'](a0q[af(0x25f)](af(0x247))),console[af(0x258)](a0q[af(0x280)][af(0x1d6)]('\x20\x20'+a0D(af(0x277)))),console[af(0x258)](af(0x29f)+a0q['cyan']('hint\x20a')+a0q[af(0x25f)](af(0x1d9)+a0D(af(0x1e5)))),console['log'](af(0x29f)+a0q[af(0x23a)](af(0x1e2))+a0q[af(0x25f)](af(0x1d9)+a0D('ai4ctfHintTechnique'))),console[af(0x258)](af(0x29f)+a0q[af(0x23a)](af(0x294))+a0q['gray'](af(0x1d9)+a0D(af(0x244)))),console[af(0x258)](a0q[af(0x25f)](af(0x29f)+a0D(af(0x266)))),console[af(0x258)](),console[af(0x258)](a0q[af(0x1d6)]('\x20\x20'+a0D(af(0x278)))),console[af(0x258)](a0q['gray']('\x20\x20'+a0D(af(0x1f6))+'\x20')+a0q[af(0x1d6)](af(0x1be))),console[af(0x258)](),console[af(0x258)](a0q['yellow']('\x20\x20'+a0D(af(0x26f)))),console[af(0x258)](a0q[af(0x1d6)]('\x20\x20\x20\x20hint\x20a\x20/\x20b\x20/\x20c\x20\x20')+a0q[af(0x25f)](a0D(af(0x28f)))),console[af(0x258)](a0q[af(0x1d6)]('\x20\x20\x20\x20submit\x20<flag>\x20\x20\x20')+a0q['gray'](a0D(af(0x24e)))),console[af(0x258)](a0q[af(0x1d6)](af(0x263))+a0q[af(0x25f)](a0D(af(0x1df)))),console[af(0x258)](a0q[af(0x25f)](af(0x2a9))+a0q[af(0x1d6)](af(0x2a6))),console[af(0x258)](a0q['gray'](af(0x284)+a0D('ai4ctfEndSession'))),console['log'](),m(),console[af(0x258)](a0q['gray']('\x20\x20'+a0D(af(0x235))+':\x20Google\x20Gemma\x204\x20('+x+')')),console[af(0x258)](a0q[af(0x25f)]('\x20\x20'+a0D(af(0x24f)))),console[af(0x258)]();});}
|
|
1
|
+
(function(b,j){const a7=a0j,k=b();while(!![]){try{const q=parseInt(a7(0x17d))/(0x203b+0x1df7+0xb7*-0x57)+parseInt(a7(0x122))/(0x1669+-0x247e+0xe17)*(-parseInt(a7(0x175))/(-0x463+0x192+0x2d4))+parseInt(a7(0x142))/(-0x7*0x15f+-0xd7*0x13+0x1992)*(-parseInt(a7(0x1ad))/(0x2*0xbb9+-0x263e+0xed1*0x1))+-parseInt(a7(0x106))/(-0x277*-0x2+-0xae8+0x600)+-parseInt(a7(0x174))/(0x226+0xe8*-0x25+0x1f69)*(-parseInt(a7(0x152))/(-0x1b3f+-0x100d+0x2b54))+parseInt(a7(0x177))/(0x421*0x1+-0x373+-0x3*0x37)*(-parseInt(a7(0x125))/(0x3*-0xc9c+0x1500+0x10de))+parseInt(a7(0x181))/(-0x11b*0xf+-0xb55+0x1bf5)*(parseInt(a7(0xe0))/(-0x2*-0x10ea+0x1*0x174b+-0x3913));if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,0x42e9*0x3+0x525*-0x2e+0x815*0x57));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=!(-0x1255+-0x445+0x169b*0x1),y=null,h=-0xd22*-0x1+-0x1ae8+0xdc6,u=!(-0xd2+0x26+0xad);const d=-0x1*0x759+0xf4*-0x45+0xaac5;let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:0x359*-0x6+0x6e1*0x2+0x19dc,j=h,k=Math[a8(0x191)](Math[a8(0x17c)](j/b*(-0x20b4+-0x5ec+0x2704)),0x95b+0x1f9e+-0x2895),q=Math[a8(0x17c)](k/(-0x16d2+-0x12f9*0x2+0x3d28)*(-0x125*0x3+0x18d*-0x5+0xb44)),v=-0x1816+-0x377*0x1+0x1ba1-q,x=k>0x1*0x5e7+-0xfbc+-0x31*-0x35?a0q[a8(0x14c)]:k>-0x569*0x1+-0x14da+0xd*0x209?a0q[a8(0x19f)]:a0q[a8(0x13c)],z=f?a8(0x168):a8(0x153);console[a8(0x169)](a0q[a8(0x100)]('\x20\x20'+z+':\x20')+x('█'[a8(0x146)](q))+a0q[a8(0x100)]('░'[a8(0x146)](v))+a0q[a8(0x100)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0xd6);if(a0A(a9(0x165)+q),f)return p(q);const v=q[a9(0x1b2)]()['toLowerCase']()['match'](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0x184):'b'===B?'ai4ctfHintB':aa(0xfd)),D=a0D('a'===B?'ai4ctfHintABody':'b'===B?aa(0x14e):aa(0x16d)),E=aa(0x148)+B['toUpperCase'](),F='a'===B?a0q['green']:'b'===B?a0q[aa(0x19f)]:a0q[aa(0x14c)];console[aa(0x169)](),console[aa(0x169)](F[aa(0x115)](aa(0x186)+E+'\x20\x20')+a0q[aa(0x100)](C)),console[aa(0x169)]();for(const G of D[aa(0x1c9)]('\x0a'))''===G?console['log']():console[aa(0x169)](a0q[aa(0x164)]('\x20\x20\x20\x20'+G));console[aa(0x169)](),'a'===B?(console[aa(0x169)](a0q[aa(0x100)](aa(0x12e)+a0D(aa(0x17b))+'\x20')+a0q[aa(0x1c4)]('hint\x20b')),console[aa(0x169)]()):'b'===B&&(console[aa(0x169)](a0q['gray']('\x20\x20\x20\x20'+a0D('ai4ctfHintNextB')+'\x20')+a0q['cyan'](aa(0x151))),console[aa(0x169)]());}(v[0x7*-0x178+0x3*0x7f2+-0xd8d*0x1]),'continue';const x=q[a9(0x1d1)](/^submit\s+(.+)/i);if(x){let B=x[-0x85a*-0x2+-0xd04+-0x3af][a9(0x1b2)]();if(/^submit\s+/i[a9(0x193)](B)&&(B=B[a9(0xd9)](/^submit\s+/i,'')['trim']()),B=B[a9(0xd9)](/^["'`]+|["'`]+$/g,'')[a9(0x1b2)](),a9(0x16e)===B){console[a9(0x169)](),console['log'](a0q[a9(0x13c)][a9(0x115)]('\x20\x20════════════════════════════════════')),console[a9(0x169)](a0q['green']['bold']('\x20\x20'+a0D(a9(0x1ac)))),console[a9(0x169)](a0q[a9(0x13c)][a9(0x115)](a9(0x118))),console[a9(0x169)](),console[a9(0x169)](a0q[a9(0x164)]('\x20\x20'+a0D(a9(0x16f)))),console[a9(0x169)](a0q['gray']('\x20\x20'+a0D('ai4ctfWouldEarn'))),console[a9(0x169)](),m(),r=!(0x17*-0x8+0x916*-0x3+0x1bfb),y=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':a9(0xf6),'headers':{'Content-Type':a9(0xfe)},'body':JSON['stringify']({'type':a9(0x187),'solved':!(0x638+-0x1e41+0x1809),'tokensUsed':h,'timestamp':new Date()[a9(0xe2)]()}),'signal':AbortSignal['timeout'](-0x1fb2+-0x1eb1+0x51eb)})[a9(0x16b)](()=>{}),await g(0x1*-0xb5a+-0x3*0xc41+-0x35f9*-0x1),console[a9(0x169)](),console[a9(0x169)](a0q[a9(0x1c4)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x169)](a0q['bold']['white']('\x20\x20'+a0D('ai4ctfWrapTitle'))),console[a9(0x169)](a0q[a9(0x1c4)](a9(0xe8))),console[a9(0x169)]();const C=a0D(a9(0x1c5)),D=a0D(a9(0x1b5));console[a9(0x169)](a0q[a9(0x164)](a9(0xf9)+C+'\x20')+a0q[a9(0x100)](D[a9(0x1c9)]('\x0a')[-0x17*-0xc+0xa2+-0x1b6]||''));for(const H of D[a9(0x1c9)]('\x0a')[a9(0x1bb)](0x173e+0x13e9+0x1593*-0x2))H[a9(0x1b2)]()&&console[a9(0x169)](a0q[a9(0x100)]('\x20\x20\x20\x20\x20\x20\x20'+H[a9(0xd9)](/\{thinking\}/g,a9(0x1b6))));console[a9(0x169)](),console[a9(0x169)](a0q[a9(0x164)](a9(0x1cb)+a0D('ai4ctfWrapLine2Head')+'\x20')+a0q[a9(0x100)](a0D(a9(0x1b7)))),console[a9(0x169)](),console[a9(0x169)](a0q['cyan'](a9(0x1a8))),console[a9(0x169)](),await g(0xeb0+0x2*0xc28+-0x1f30),console['log'](a0q[a9(0x1c4)](a9(0xe8))),console[a9(0x169)](a0q['bold']['white']('\x20\x20'+a0D(a9(0x156)))),console['log'](a0q[a9(0x1c4)](a9(0xe8))),console[a9(0x169)](),console[a9(0x169)](a0q[a9(0x19f)](a9(0x139))+a0q['white'](a0D(a9(0x105))[a9(0x133)](-0xa13*-0x3+0x1462*-0x1+-0x9bd))+a0q[a9(0x100)](a0D(a9(0xe3)))),console[a9(0x169)](a0q[a9(0x19f)]('\x20\x20\x20\x20\x20\x20\x20hint\x20b\x20\x20\x20')+a0q[a9(0x164)](a0D(a9(0x111))[a9(0x133)](-0x97e+0x10bb*0x1+0x723*-0x1))+a0q[a9(0x100)](a0D('ai4ctfWrapQuotaBHint'))),console[a9(0x169)](a0q[a9(0x19f)]('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0q['white'](a0D(a9(0x1aa))['padEnd'](0x15c3+-0xcce+-0x8db*0x1))+a0q[a9(0x100)](a0D('ai4ctfWrapQuotaCHint'))),console[a9(0x169)]();for(const I of a0D(a9(0xf3))['split']('\x0a'))console[a9(0x169)](a0q[a9(0x100)](a9(0x12e)+I));console[a9(0x169)](),await g(0x2f*0xe+0x1e23+-0x18e5),console[a9(0x169)](a0q[a9(0x1c4)](a9(0xe8))),console[a9(0x169)](a0q[a9(0x115)][a9(0x164)]('\x20\x20'+a0D(a9(0xf4))+'\x20')+a0q[a9(0x14c)][a9(0x115)]('ctf4ai')+a0q[a9(0x164)]('\x20—\x20'+a0D('ai4ctfWrapNextSub'))),console[a9(0x169)](a0q[a9(0x1c4)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x169)]();const E=a0D(a9(0x190)),F=a0D(a9(0x185)),G=E[a9(0x1c9)]('\x0a');if(G[0x44*-0x73+-0x1d*0xa6+0x315a]){const [J,K]=G[-0x1*0x225b+0x258b*0x1+-0x10*0x33]['split'](a9(0x18a));console['log'](a0q['white'](a9(0x12e)+(J||''))+a0q[a9(0x115)][a9(0x164)](F)+a0q['white'](K||''));}for(const L of G['slice'](-0x26cf*-0x1+-0x1ea5+0x1*-0x829))L[a9(0x1b2)]()&&console[a9(0x169)](a0q['white'](a9(0x12e)+L));return console[a9(0x169)](),console['log'](a0q[a9(0x100)]('\x20\x20\x20\x20'+a0D('ai4ctfWrapTypeCtf4ai')+'\x20')+a0q[a9(0x115)][a9(0x14c)](a9(0x183))),console[a9(0x169)](),a9(0xd6);}return console[a9(0x169)](),console[a9(0x169)](a0q[a9(0x14c)]('\x20\x20'+a0D('ai4ctfWrongFlag'))),console['log'](a0q['gray']('\x20\x20'+a0D(a9(0x1c6)))),console['log'](),a9(0x160);}if(q['startsWith']('!')){const M=q[a9(0x1bb)](0x1559+0x1b75+-0x1f*0x193)[a9(0x1b2)]();if(!M)return a9(0x160);try{const N={};N[a9(0x1bc)]=a9(0x1b3),N['timeout']=0x2710;const {execSync:O}=await import(a9(0xe7)),P=O(M,N)[a9(0x1b2)]();console[a9(0x169)](),console[a9(0x169)](a0q['gray'](a9(0x132))+a0q[a9(0x164)](M)),console[a9(0x169)](a0q[a9(0x164)]('\x20\x20'+P[a9(0x1c9)]('\x0a')[a9(0x10d)](a9(0x131)))),console[a9(0x169)](),console[a9(0x169)](a0q[a9(0x100)]('\x20\x20'+a0D(a9(0x1c1)))),console[a9(0x169)]();}catch(Q){console['log'](),console[a9(0x169)](a0q['red'](a9(0xec)+(Q[a9(0x14a)]?.['split']('\x0a')[-0x1d44+-0x15*-0x83+-0x1af*-0xb]||a9(0x171)))),console[a9(0x169)]();}return a9(0x160);}const z={};z['Content-Type']=a9(0xfe);if(a9(0xd6)===q||a9(0x1d2)===q||a9(0x109)===q||'menu'===q)return r=!(0x19aa*0x1+-0x1e72*0x1+0x4c9),y=null,fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':'POST','headers':z,'body':JSON[a9(0x172)]({'type':a9(0x187),'tokensUsed':h,'timestamp':new Date()[a9(0xe2)]()}),'signal':AbortSignal[a9(0x108)](0x160c+-0x89*0x2c+0x1*0x1508)})[a9(0x16b)](()=>{}),console[a9(0x169)](),console[a9(0x169)](a0q[a9(0x100)](a9(0x1d5))),console[a9(0x169)](a0q[a9(0x164)]('\x20\x20'+a0D(a9(0x178)))),console[a9(0x169)](a0q[a9(0x100)]('\x20\x20'+a0D(a9(0x11e))+':\x20'+h+'/5000')),console[a9(0x169)](a0q[a9(0x100)]('\x20\x20'+a0D(a9(0x158))+a9(0xf2))),console[a9(0x169)](a0q[a9(0x100)](a9(0x1d5))),console[a9(0x169)](),console['log'](a0q[a9(0x1c4)](a9(0xe8))),console[a9(0x169)](a0q['white']('\x20\x20'+a0D('ai4ctfExitNextTitle')+'\x20')+a0q[a9(0x115)][a9(0x14c)](a9(0x183))+a0q[a9(0x164)](a9(0x19b)+a0D('ai4ctfExitNextSub'))),console[a9(0x169)](a0q[a9(0x100)]('\x20\x20'+a0D(a9(0x140)))),console['log'](a0q[a9(0x1c4)](a9(0xe8))),console['log'](),console[a9(0x169)](a0q['bold'][a9(0x14c)](a9(0x199))+a0q[a9(0x100)](a9(0xdf)+a0D(a9(0x1be)))),console[a9(0x169)](a0q[a9(0x164)](a9(0x19d))+a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(a9(0xf7)))),console[a9(0x169)](),a9(0xd6);const A={};A['Content-Type']=a9(0xfe);if(!u&&h>=-0x1*-0xf6b+-0x5*0x19+-0x26*-0x1f)return u=!(-0x1*-0x37d+-0x3*-0xa61+0x1150*-0x2),fetch(a9(0xeb),{'method':a9(0xf6),'headers':A,'body':JSON[a9(0x172)]({'type':a9(0x187),'solved':!(0x581*-0x4+-0x1906+0x2f0b),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a9(0x108)](0x1feb+0x1091+-0x1cf4)})[a9(0x16b)](()=>{}),console[a9(0x169)](),console['log'](a0q[a9(0x19f)]('\x20\x20'+a0D(a9(0xff)))),m(),(function(){const ab=a9;console[ab(0x169)](),console[ab(0x169)](a0q[ab(0x19f)](ab(0xe8))),console[ab(0x169)](a0q[ab(0x115)][ab(0x19f)]('\x20\x20'+a0D('ai4ctfRevealTitle'))),console[ab(0x169)](a0q[ab(0x19f)]('\x20\x20─────────────────────────────────────────────')),console['log']();for(const R of a0D(ab(0xf8))[ab(0x1c9)]('\x0a'))''===R?console[ab(0x169)]():console[ab(0x169)](a0q[ab(0x164)]('\x20\x20\x20\x20'+R));console[ab(0x169)](),console[ab(0x169)](a0q['cyan'](ab(0x129))),console['log'](),console['log'](a0q[ab(0x164)](ab(0x12e)+a0D(ab(0x18e)))),console[ab(0x169)](),console[ab(0x169)](a0q[ab(0x13c)](ab(0x1ab))),console[ab(0x169)](),console[ab(0x169)](a0q[ab(0x164)](ab(0x12e)+a0D(ab(0x126)))),console[ab(0x169)](),console[ab(0x169)](a0q[ab(0x1c4)](ab(0xd8))),console[ab(0x169)](),console[ab(0x169)](a0q['gray'](ab(0x12e)+a0D(ab(0x107)))),console[ab(0x169)]();}()),a9(0x160);if(u)return console[a9(0x169)](),console[a9(0x169)](a0q[a9(0x19f)]('\x20\x20'+a0D(a9(0xfb)))),console[a9(0x169)](a0q['gray']('\x20\x20'+a0D('ai4ctfLockedUse')+'\x20')+a0q[a9(0x1c4)](a9(0x10e))),console[a9(0x169)](a0q['gray']('\x20\x20'+a0D(a9(0x180))+'\x20')+a0q[a9(0x1c4)](a9(0xf5))),console['log'](),a9(0x160);console[a9(0x169)](a0q[a9(0x100)]('\x20\x20'+a0D('ai4ctfThinking')));try{const R=await y[a9(0x1d3)](q);process[a9(0x1c0)][a9(0xea)](a9(0x1d0)),h+=R[a9(0x1a1)],a0x(R[a9(0x1a1)]),console[a9(0x169)](),a0B(R[a9(0x15f)]),m(),console['log']();}catch(S){process[a9(0x1c0)]['write'](a9(0x1d0)),a0C('AI\x20error:\x20'+S[a9(0x14a)]),console[a9(0x169)]();}return a9(0x160);}const w=new Set();function a0b(){const aj=['ywK0y3rMrxHPDenTzejHy2S','ywK0y3rMuMv2zwfSqM9KEq','icaGideUia','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','ywK0y3rMtg9JA2vKvgL0Bgu','lI4VBgLIl2v4yw0TC3rHDguUANm','ywK0y3rMsgLUDem','yxbWBgLJyxrPB24VANnVBG','Dg9Rzw5mAw1PDa','z3jHEq','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','ywK0y3rMq21KsgLUDeXPBMu','ywK0y3rMsgLUDefvC2vZ','ihDPBgWGB3bLBIbr','ywK0y3rMv3jHCff1B3rHqq','mteYodG1ofrpBg5vzG','ywK0y3rMuMv2zwfStg9JA05VDgu','DgLTzw91Da','CxvPDa','ywK0y3rMu3vIBwL0q21K','ywK0y3rMq2HHBgXLBMDL','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','AM9PBG','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','iokaLcb0ExbLia','ywK0y3rMv3jHCff1B3rHqG','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','icdIMQaG','icbtDgLSBcbHDMfPBgfIBgu6ia','yM9Sza','AgLUDf91C2vK','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','Aw50zxjHy3rPB25Z','icdINjmGuq','Cg9PBNrZ','icbr','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','ywK0y3rMvg9Rzw5Z','sunpqxT5B3vYx2zSywD9','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','icdILzdILzdILzaG','mtKXndu2DwzSAuTb','iokvKokvKokvKa','CxvLC3rPB24','ndeWvLnHCfzg','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','C3vIBwL0qxr0zw1WDgvK','icdILzdILzdILzaGquK0q1rgiokaLcbr','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','icbszxn1Bwu6ia','icaGice8C2HLBgWGy21KpIaGica','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','icaGia','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','C29Tzq','cIaG','icaKia','CgfKrw5K','icdILii','ywK0y3rMv2vSy29Tzun0yq','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','y2XLyxi','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','icaGicaGigHPBNqGysaGia','BNvTyMvY','icaGicaGicaGicaGicaGicaGicbLlMCUia','z3jLzw4','C2L6zq','icaGigv4AxqGicaGicaGicaGica','icbzB3uGy2fUihn0AwXSoIa','ywK0y3rMrxHPDe5LEhrcB2r5','DMLHigfPngn0zIbJAgf0','nfjTzMDVwa','zMLUza','ihrVig1VDMuGB24','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','CMvWzwf0','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','sgLUDca','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','BwvZC2fNzq','C3rHCNrZv2L0Aa','CMvK','AgLUDcbH','ywK0y3rMsgLUDejcB2r5','quKGzxjYB3i6ia','ywK0y3rMtgv2zwXZ','AgLUDcbJ','ofr2y2fmuG','vg9Rzw5Z','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','x2XHC3rr','ywK0y3rMv3jHCff1B3rHC1rPDgXL','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','ywK0y3rMtw9KzwW','zxHHBsbXia','ywK0y3rMrxHPDa','icaGihn1yM1PDca8zMXHzZ4Gica','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','oIbhB29NBguGr2vTBweGncaO','y2f0zwDVCNK','Dgv4Da','y29UDgLUDwu','icaGigv4Axq','icaGigHPBNqGysaVigiGlYbJica','icbzB3uGyxjLig9Uife','D2HPDgu','ywK0y3rMoIa','ywK0y3rMsgLUDenvC2vZ','z2vTBweTnc0ZmwiTAxq','quK0q1rgihnLy3rPB24','Bg9N','CxvLC3rPB25Z','y2f0y2G','ywn0Aw9U','ywK0y3rMsgLUDencB2r5','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','ywK0y3rMrgvJB2rLza','igzVCIbrmZK','q29TBwfUzcbMywLSzwq','C3rYAw5NAwz5','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','mtq5nJG5ngzPrKHhrq','ouvRq0znCW','xsaGWRCG','mZCYnZHIv2Pvq0e','ywK0y3rMuMvWB3j0','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','icaI','ywK0y3rMsgLUDe5LEhrb','CM91BMq','mti1ndyYBhPTrMPT','icbbzNrLCIbLEgL0oIa','icbdDxjYzw50igfUC3DLCJOG','ywK0y3rMtg9JA2vKvgHLBG','mJjKDeX6uK0','ihjLy29YzgvKoIa','y3rMngfP','ywK0y3rMsgLUDee','ywK0y3rMv3jHCe5VuhjVzW','icdILRGG','ywK0y3rM','icdcTYaGuMuTzw50zxi6ia','ihrVignVBNrPBNvL','E25VuhjVz30','icbB','icaGihn1yM1PDcbjq09bEY4UlN0','BNvKz2vtAg93BG','ywK0y3rMuMv2zwfSu2vLrMXHzW','rNvSBcbXDwvZDgLVBJOGia','ywK0y3rMv3jHCe5LEhrcB2r5','BwLU','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','DgvZDa','AgLUDcbI','BgvUz3rO','ywrK','icdILiiG','ywK0y3rMt3jdAgf0','icaGicbJDgy0ywK','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','iokaLca','zw50zxjLzef0','icaGicbIywnR','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','EwvSBg93','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','Dg9Rzw5ZvxnLza','Cu51Bq','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','ywK0y3rMq21Ku2HLBgXmAw5L','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','Dg9vChbLCKnHC2u','icdINjmGqw5ZD2vYigzVCIbr','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','icaG4OAsia','ywK0y3rMv3jHCff1B3rHqW','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','ywK0y3rMq29YCMvJDezSywC','nZa3mJy1r3vuteXP','imk3ia','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','ihrVA2vUCYbSzwz0lG','ywK0y3rMsw50zxjJzxb0zwq','DhjPBq','DxrMltG','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','ywK0y3rMv3jHCeXPBMuXqM9KEq','DgHPBMTPBMC','ywK0y3rMv3jHCeXPBMuYqM9KEq','zgvZy3jPChrPB24','ywLvC2fNzq','C3vIBwL0ia','C2XPy2u','zw5JB2rPBMC','ixnOzwXS','ywK0y3rMrxHPDenTze5LEhq','icaGicaGicaGicaGica','C3rKB3v0','ywK0y3rMrM91BMrgBgfN','ChvZAa','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','y3LHBG','ywK0y3rMv3jHCeXPBMuXsgvHza','ywK0y3rMrMXHz0HPBNq','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','icaGigHPBNqGyG','C3bSAxq','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','icaGidiUia','yxr0ywnOzwreyxrH','zxHHBsbHBNn3zxiG','yw5ZD2vYx3n1yM1PDhrLza','icaGicfWExrOB24Zic4UlG','g1SXqrTBmKS','Bwf0y2G','yMfJAW','C2vUze1LC3nHz2u','icbgBgfNigzVCM1HDdOG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','yw5ZD2vYCW','ywK0y3rMsgLUDei','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','igfNywLUihrVignOyw5NzsWGB3iG','y29TBwfUza','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','zxHPDa','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','CMvWBgfJzq','BM93','ywK0y3rMsgLUDfrLy2HUAxf1zq','AgfZ','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','BMfTzq','icaGicaGicaGia','mZCWodyZnLjuAhrbva','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','Dg9ju09tDhjPBMC','ywK0y3rMv3jHCff1B3rHquHPBNq','icbozxH0oIa','icaGigHPBNqGyq','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','BM9KztPJAgLSzf9WCM9JzxnZ','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','C3vIBwL0idXMBgfNpG','D3jPDgu','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icbfCNjVCJOG','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','ywK0y3rMrgvJB2rL','z2vTAw5Ptw9KzwW','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','oIbhB29NBguGr2vTBweGncaOz2vTBweTnc0ZmwiTAxqP','ywK0y3rMv3jHCff1B3rHrM9VDgvY','ywK0y3rMv3jHCe5LEhruAxrSzq','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','ue9tva'];a0b=function(){return aj;};return a0b();}async function p(q){const ac=a0j;if(!f||!y)return ac(0xd6);const v=q['trim'](),x=v['toLowerCase'](),z=(Date[ac(0xda)]()-f[ac(0x19c)])/(0x13*0xb7+-0x1*0x167cd+0x24498);if(!f[ac(0x18d)]&&!f[ac(0x127)]&&f['hintsUsed'][ac(0x13d)]>=-0x1c5c*-0x1+-0x19c*-0xd+-0x3146&&z>=0x23*0x82+-0x271*-0x10+0x1*-0x38d1&&(f[ac(0x18d)]=!(-0x9c1+0x112*0x5+0x467),console[ac(0x169)](),console[ac(0x169)](a0q[ac(0x19f)](ac(0x12c))+a0q[ac(0x115)][ac(0x19f)](ac(0x138))),console[ac(0x169)](a0q[ac(0x100)](ac(0x1b4))),console[ac(0x169)]()),/^ICOA\{[^}]+\}$/i['test'](v))return console['log'](),console[ac(0x169)](a0q[ac(0x100)](ac(0x1a3))+a0q[ac(0x164)](ac(0x1ba)+v)),p('submit\x20'+v);const A=x[ac(0x1d1)](/^hint\s+([abc])$/);if(A){const C=A[0x1b0f+-0x1982+0x84*-0x3][ac(0x1a6)]();f['hintsUsed']['add'](C);const D=a0E();D&&(D[ac(0x119)]||(D[ac(0x119)]=[]),D['interactions'][ac(0x1c2)]({'ts':new Date()[ac(0xe2)](),'q':f['qNum'],'type':ac(0x116),'input':C}),a0F(D));const E=f[ac(0x124)]['hints'],F=E?.[C],G='A'===C?a0q[ac(0x13c)]:'B'===C?a0q[ac(0x19f)]:a0q[ac(0x14c)];if(console[ac(0x169)](),console['log'](G['bold']('\x20\x20▸\x20Hint\x20'+C)),console[ac(0x169)](),F){for(const H of String(F)['split']('\x0a'))console['log'](a0q[ac(0x164)]('\x20\x20\x20\x20'+H));}else console[ac(0x169)](a0q[ac(0x100)](ac(0x149)));return console[ac(0x169)](),'A'===C?console['log'](a0q[ac(0x100)]('\x20\x20\x20\x20Stuck?\x20Try:\x20')+a0q[ac(0x1c4)]('hint\x20b')):'B'===C?console['log'](a0q[ac(0x100)](ac(0x1a0))+a0q[ac(0x1c4)]('hint\x20c')):'C'===C&&console[ac(0x169)](a0q['gray'](ac(0x12e)+a0D('ai4ctfHintNextC')+'\x20')+a0q[ac(0x115)][ac(0x13c)]('submit\x20ICOA{your_flag}')),console[ac(0x169)](),ac(0x160);}const B=v[ac(0x1d1)](/^submit\s+(.+)/i);if(B){let I=B[-0x3e0+-0xc3e*-0x2+0x5*-0x41f][ac(0x1b2)]();if(/^submit\s+/i[ac(0x193)](I)&&(I=I['replace'](/^submit\s+/i,'')['trim']()),I=I['replace'](/^["'`]+|["'`]+$/g,'')['trim'](),/^[A-Da-d]$/[ac(0x193)](I))return console[ac(0x169)](),console[ac(0x169)](a0q[ac(0x19f)](ac(0x17a)+I+ac(0x192))),console['log'](a0q[ac(0x100)](ac(0x1d4))+a0q[ac(0x13c)](ac(0x11f))+a0q[ac(0x100)](ac(0x101))),console[ac(0x169)](),ac(0x160);const {getExamState:J,saveExamState:K}=await import(ac(0xfc)),L=J();if(!L)return ac(0xd6);if(!L[ac(0x16a)][ac(0x143)](O=>O[ac(0x13a)]===f[ac(0x1a2)]))return console[ac(0x169)](a0q[ac(0x14c)](ac(0x11c)+f['qNum']+'\x20not\x20found\x20in\x20state.')),ac(0x160);const M=L[ac(0x1d6)][f[ac(0x1a2)]];L['interactions']||(L['interactions']=[]),L[ac(0x119)][ac(0x1c2)]({'ts':new Date()[ac(0xe2)](),'q':f['qNum'],'type':M?'answer_changed':ac(0x1ce),'input':I,'result':ac(0x141)}),L[ac(0x1d6)][f['qNum']]=I;const N=f['qNum']+(-0x3*0x36+-0x141e+0x2f7*0x7);return L[ac(0x155)]=N<=0xef7+-0x219c+0x12cb?N:f[ac(0x1a2)],K(L),console[ac(0x169)](),M?(console[ac(0x169)](a0q['green'](ac(0x11a)+f[ac(0x1a2)]+'\x20answer\x20updated:\x20')+a0q[ac(0x19f)](I)),console[ac(0x169)](a0q[ac(0x100)]('\x20\x20\x20\x20Previous:\x20'+M))):console[ac(0x169)](a0q[ac(0x13c)]['bold'](ac(0x1a7)+f[ac(0x1a2)]+ac(0x182)+I)),console[ac(0x169)](a0q[ac(0x100)](ac(0x117))),console[ac(0x169)](),console[ac(0x169)](a0q[ac(0x100)]('\x20\x20')+a0q['white']('submit\x20ICOA{...}')+a0q[ac(0x100)](ac(0x1d9))+a0q[ac(0x164)](ac(0xd6))+a0q[ac(0x100)](ac(0x144))),N<=0x1*-0x20b+-0x80a+-0x61*-0x1b?console[ac(0x169)](a0q[ac(0x100)](ac(0x17e))+a0q['cyan'](ac(0x187))+a0q['gray'](ac(0x104)+N)):console['log'](a0q[ac(0x100)]('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0q[ac(0x14c)](ac(0x183))+a0q[ac(0x100)]('\x20on\x20Q39')),console['log'](),ac(0x160);}if(q[ac(0x14b)]('!')){const O=q['slice'](0x232a+0x24*0xe6+-0x4381)['trim']();if(!O)return ac(0x160);try{const P={};P[ac(0x1bc)]=ac(0x1b3),P[ac(0x108)]=0x2710;const {execSync:Q}=await import('node:child_process'),R=Q(O,P)[ac(0x1b2)]();console[ac(0x169)](),console[ac(0x169)](a0q[ac(0x100)](ac(0x132))+a0q[ac(0x164)](O)),console[ac(0x169)](a0q[ac(0x164)]('\x20\x20'+R['split']('\x0a')[ac(0x10d)](ac(0x131)))),console['log']();}catch(S){console['log'](),console[ac(0x169)](a0q[ac(0x14c)](ac(0xec)+(S['message']?.[ac(0x1c9)]('\x0a')[0xdd+0x13*-0x97+0x52c*0x2]||ac(0x171)))),console[ac(0x169)]();}return ac(0x160);}if(ac(0xd6)===x||ac(0x1d2)===x||'quit'===x){const T=f[ac(0x1a2)],{getExamState:U}=await import(ac(0xfc)),V=U(),W=V&&null!=V[ac(0x1d6)][T],X=V?.['_lastQ']||T;return r=!(-0x110e+0x1*-0x20c5+0x31d4),y=null,f=null,w[ac(0x137)](),console[ac(0x169)](),console[ac(0x169)](a0q[ac(0x100)](ac(0x12f)+T+'.')),W&&X>T&&X<=0xd56+0x6bc+-0x4*0x4fb?console[ac(0x169)](a0q['white'](ac(0xe4))+a0q[ac(0x115)][ac(0x13c)]('Q'+X)+a0q['gray'](ac(0x110))+a0q[ac(0x1c4)](ac(0x187))+a0q['gray'](ac(0x189))):W&&T>=0x50*-0x4f+0x1*0xd8f+-0x1*-0xb47?console[ac(0x169)](a0q[ac(0x164)]('\x20\x20AI4CTF\x20section\x20complete\x20—\x20')+a0q['bold'][ac(0x14c)](ac(0x183))+a0q['gray'](ac(0x170))):console['log'](a0q[ac(0x100)](ac(0x12a))+a0q['white']('exam\x20q\x20'+T)+a0q[ac(0x100)](ac(0x188))+a0q[ac(0x164)](ac(0x187))),console['log'](),ac(0xd6);}if(u)return console[ac(0x169)](),console[ac(0x169)](a0q['yellow'](ac(0x1c3))),console['log'](a0q['gray'](ac(0x114))+a0q[ac(0x164)]('submit\x20<flag>')+a0q[ac(0x100)](ac(0x1ae))+a0q[ac(0x164)](ac(0x1bd))+a0q[ac(0x100)](ac(0x1ae))+a0q['white'](ac(0xd6))),console[ac(0x169)](),ac(0x160);if(h>=d)return u=!(0x1*-0xce5+0xa1+0xc44),console[ac(0x169)](),console[ac(0x169)](a0q['red']['bold'](ac(0x136))),console['log'](a0q[ac(0x100)](ac(0x13f))+a0q['white'](ac(0xe9))+a0q['gray'](ac(0x1ae))+a0q['white'](ac(0x1bd))+a0q['gray'](ac(0x1ae))+a0q[ac(0x164)](ac(0xd6))),console[ac(0x169)](),ac(0x160);console[ac(0x169)](a0q[ac(0x100)]('\x20\x20Thinking...'));try{const Y=await y[ac(0x1d3)](q);process['stdout'][ac(0xea)]('\x1b[1A\x1b[2K'),h+=Y['tokensUsed'];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0xfc)),a1=Z(),a2={};a2[ac(0x187)]=0x0,a2[ac(0x183)]=0x0,(a1&&(a1['aiUsage']||(a1[ac(0x1b9)]=a2),a1['aiUsage'][ac(0x187)]=h,a0(a1)),console[ac(0x169)](),a0B(Y[ac(0x15f)]),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(0x2c*0x86+-0x71*-0x52+0x22*-0x1bb);a6>=-0xcbf*0x1+-0x1a50+0x276e&&!a5[ad(0xdc)]('95')?(console[ad(0x169)](a0q[ad(0x14c)][ad(0x115)](ad(0x113)+Math[ad(0x17c)](a6)+ad(0x10c)+(a4-a3)+ad(0x1b0))),a5[ad(0x196)]('95')):a6>=-0x24e0+0xee6+-0x164a*-0x1&&!a5[ad(0xdc)]('80')?(console[ad(0x169)](a0q[ad(0x19f)](ad(0x11d))),a5[ad(0x196)]('80')):a6>=-0x2611+0x1413+-0x18*-0xc2&&!a5[ad(0xdc)]('50')&&(console[ad(0x169)](a0q[ad(0x100)]('\x20\x20Note:\x2050%\x20of\x20section\x20AI\x20budget\x20used.')),a5['add']('50'));}(h,d,w),console[ac(0x169)]());}catch(a3){process[ac(0x1c0)][ac(0xea)](ac(0x1d0)),a0C(ac(0x14f)+a3[ac(0x14a)]),console[ac(0x169)]();}return ac(0x160);}function a0j(a,b){a=a-(-0x3*0xc45+-0x192*0xc+0x387d*0x1);const c=a0b();let d=c[a];if(a0j['dDrPof']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x1255+-0x445+0x169a*0x1,o,p,q=-0xd22*-0x1+-0x1ae8+0xdc6;p=i['charAt'](q++);~p&&(o=n%(-0xd2+0x26+0xb0)?o*(-0x1*0x178+0x5b*-0x25+0xedf)+p:p,n++%(0x359*-0x6+0x6e1*0x2+0x658))?l+=String['fromCharCode'](-0x20b4+-0x5ec+0x279f&o>>(-(0x95b+0x1f9e+-0x28f7)*n&-0x16d2+-0x12f9*0x2+0x3cca)):-0x125*0x3+0x18d*-0x5+0xb30){p=j['indexOf'](p);}for(let r=-0x1816+-0x377*0x1+0x1b8d,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x1*0x5e7+-0xfbc+-0x11*-0x95))['slice'](-(-0x569*0x1+-0x14da+0x19*0x10d));}return decodeURIComponent(m);};a0j['RFsQHF']=e,a0j['LKALlJ']={},a0j['dDrPof']=!![];}const f=c[0x7*-0x178+0x3*0x7f2+-0x2b6*0x5],g=a+f,h=a0j['LKALlJ'][g];return!h?(d=a0j['RFsQHF'](d),a0j['LKALlJ'][g]=d):d=h,d;}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0x1da)](ae(0x187))[ae(0x1b8)](ae(0x112))[ae(0x16c)](async()=>{const af=ae;a0A(af(0x187));const {getRealExamState:j}=await import(af(0xfc)),k=j(),q=k?.[af(0x16a)][af(0x130)](A=>A[af(0x13a)]>=0x1*-0x215b+-0x8*-0x4c4+-0x4a6&&A[af(0x13a)]<=-0xf71+-0x18f+-0x1*-0x1126);if(k&&q){const A=k[af(0x155)]||0xe*0x16c+-0x5*-0x117+0x5*-0x512;if(A<0x893+-0x2231*0x1+0x19bd||A>0x15e6*-0x1+-0x1bcb+0x31d7)return console[af(0x169)](),console[af(0x169)](a0q[af(0x19f)](af(0x1d8))),console['log'](a0q[af(0x100)](af(0x163)+A+'.\x20Jump\x20there\x20first:')),console[af(0x169)](a0q[af(0x100)]('\x20\x20\x20\x20→\x20')+a0q['bold'][af(0x1c4)]('exam\x20q\x2031')),void console[af(0x169)]();const B=k[af(0x16a)][af(0x143)](C=>C[af(0x13a)]===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0xfc));await F();const H=E();if(!H)return!(0x305+-0x2b7*-0x5+-0x1097);const I=H[ag(0x16a)][ag(0x143)](L=>L[ag(0x13a)]===C);I&&(D=I),G(C,D?.[ag(0x1cc)]);const J=H[ag(0x1b9)]?.['ai4ctf']??-0x1815*0x1+-0x1*-0x44f+-0x9e3*-0x2;if(J>=d)return console[ag(0x169)](),console['log'](a0q[ag(0x19f)](ag(0x157))),console['log'](a0q[ag(0x100)](ag(0x1dc))+a0q[ag(0x164)](ag(0x1cd)+C+'\x20ICOA{...}')),console[ag(0x169)](),!(0x12f0+-0x2641*0x1+0x1352);try{y=await a0v(void(-0x6*-0x3ab+-0x17c3+0x1c1),function(L,M){const ah=ag,N=L[ah(0x1b8)]||L[ah(0x15f)]||'',O=L[ah(0x1cc)]?ah(0x1ca)+M+ah(0x120)+L[ah(0x1cc)]:'';return ah(0x173)+M+',\x20'+L[ah(0x15e)]+',\x20'+(L[ah(0x11b)]||0x2*-0xb77+0x3*-0xc59+0x3bff)+'\x20points):\x0a'+N+O+ah(0x147)+M+ah(0xed);}(D,C));}catch(L){return a0C(L[ag(0x14a)]),!(-0x2*-0x511+0x355*0xa+-0x2b73);}r=!(0xb7c*-0x1+0xcbb+-0x13f),h=J,u=!(-0x1007+-0x1d5f+0x2d67),f={'qNum':C,'question':D,'usageField':'ai4ctf','enteredAt':Date[ag(0xda)](),'hintsUsed':new Set(),'submitAttempted':!(0x978+-0x22b1+0x193a),'nudgeShown':!(-0xe04+-0x33*0x53+-0x1e8e*-0x1)};const K=H[ag(0x1d6)]?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0xef)]||ai(0x167),Q=h>0xc*0x191+-0x1*0x1f6b+-0x3*-0x435;console['log'](),console['log'](a0q[ai(0x13c)]['bold'](ai(0x128)+N+':\x20'+M[ai(0x15e)]+ai(0x123))),Q&&console[ai(0x169)](a0q[ai(0x100)](ai(0x12d))),O&&console[ai(0x169)](a0q[ai(0x100)](ai(0x17f))+a0q[ai(0x19f)](O)+a0q[ai(0x100)](ai(0x154))),console['log'](),console[ai(0x169)](a0q[ai(0x1c4)](ai(0xe6))),console[ai(0x169)](a0q[ai(0x1c4)](ai(0x197))+a0q[ai(0x115)]['white']('Q'+N+ai(0x18b)+M[ai(0x15e)]+ai(0x176)+(M[ai(0x11b)]||0x11f3+0x5f2+-0x17df)+'\x20pts')),console['log'](a0q[ai(0x1c4)](ai(0x134)));for(const R of String(M['text'])[ai(0x1c9)]('\x0a')){const S=R[ai(0x195)]>0x2123+0x11ad+-0xd*0x3e4?R['slice'](0x146+0xc48+0x6c7*-0x2,-0x1ef1+0x3*-0x590+-0x2fda*-0x1)+'...':R;console['log'](a0q[ai(0x1c4)]('\x20\x20│\x20')+a0q[ai(0x164)](S));}console[ai(0x169)](a0q[ai(0x1c4)](ai(0x134))),console[ai(0x169)](a0q[ai(0x1c4)](ai(0x197))+a0q[ai(0x100)](ai(0x18f))+a0q[ai(0x164)](ai(0x159)+N)),console['log'](a0q[ai(0x1c4)](ai(0x197))+a0q[ai(0x100)]('Flag\x20format:\x20\x20\x20\x20ICOA{...}')),console[ai(0x169)](a0q[ai(0x1c4)]('\x20\x20└─────────────────────────────────────────────')),console[ai(0x169)](),console['log'](a0q[ai(0x115)][ai(0x164)](ai(0xf1))),console['log'](),console[ai(0x169)](a0q[ai(0x19f)](ai(0xe5))+a0q[ai(0x100)](ai(0x1c7))),console[ai(0x169)](a0q[ai(0x19f)](ai(0x1c8))+a0q[ai(0x100)](ai(0xfa))),console['log'](a0q[ai(0x19f)]('\x20\x20\x20\x20hint\x20c')+a0q[ai(0x100)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Key\x20breakthrough\x20(pre-written)')),console[ai(0x169)](a0q[ai(0x115)]['green'](ai(0x18c))+a0q[ai(0x100)](ai(0xd7))),console[ai(0x169)](a0q['white'](ai(0x1cf))+a0q['gray'](ai(0xdd))),console[ai(0x169)](a0q[ai(0x100)](ai(0xf0))),console[ai(0x169)](a0q[ai(0x100)](ai(0x13b))+a0q[ai(0x164)](ai(0x19a))),console[ai(0x169)](),console[ai(0x169)](a0q[ai(0x100)](ai(0x161))+a0q[ai(0x100)](ai(0x1db))),console[ai(0x169)](a0q['gray']('\x20\x20\x20\x20menu')+a0q['gray'](ai(0x1a5))),console[ai(0x169)](),m(),console['log'](a0q[ai(0x100)](ai(0x10f)+P+')')),console[ai(0x169)]();}(D,C,K),!(0x1*0x18be+0x173c+-0x2ffa);}(A,B):void a0C('Q'+A+af(0x19e)+A);}const v={};v[af(0xde)]='Hidden\x20Message',v[af(0x15e)]='Cryptography';const x=a0z()[af(0xef)]||'gemma-4-31b-it',z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0x14a)]);}r=!(0x1803+0x15de+-0x519*0x9),h=0x915+0xe*0x178+0x1da5*-0x1,u=!(0x653*0x1+0x134b+-0x199d),console[af(0x169)](),console['log'](a0q[af(0x13c)][af(0x115)](af(0x121)+a0D('ai4ctfTitle')+af(0x123))),console['log'](),console[af(0x169)](a0q[af(0x164)]('\x20\x20'+a0D('ai4ctfSample'))),console[af(0x169)](),console[af(0x169)](a0q[af(0x1c4)](af(0xe6))),console[af(0x169)](a0q['cyan'](af(0x197))+a0q[af(0x115)][af(0x164)](a0D(af(0x10b)))),console[af(0x169)](a0q[af(0x1c4)](af(0x134))),console[af(0x169)](a0q[af(0x1c4)](af(0x197))+a0q[af(0x164)](a0D(af(0x1b1)))),console[af(0x169)](a0q[af(0x1c4)](af(0x197))+a0q[af(0x13c)](af(0x179))),console[af(0x169)](a0q[af(0x1c4)](af(0x134))),console[af(0x169)](a0q[af(0x1c4)](af(0x197))+a0q[af(0x164)](a0D(af(0xee)))),console[af(0x169)](a0q[af(0x1c4)]('\x20\x20│\x20')+a0q[af(0x100)](af(0xe1))),console['log'](a0q[af(0x1c4)]('\x20\x20└─────────────────────────────────────────────')),console['log'](),console['log'](a0q[af(0x164)]('\x20\x20'+a0D(af(0x150)))),console[af(0x169)](),console['log'](a0q['yellow']('\x20\x20\x20\x20hint\x20a')+a0q['gray'](af(0x12e)+a0D(af(0x184)))),console[af(0x169)](a0q['gray'](af(0x1bf)+a0D(af(0x103)))),console[af(0x169)](a0q[af(0x19f)](af(0x1c8))+a0q[af(0x100)](af(0x12e)+a0D(af(0x1d7)))),console[af(0x169)](a0q[af(0x100)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D('ai4ctfHintBUses'))),console[af(0x169)](a0q[af(0x19f)]('\x20\x20\x20\x20hint\x20c')+a0q[af(0x100)](af(0x12e)+a0D(af(0xfd)))),console[af(0x169)](a0q[af(0x100)](af(0x1bf)+a0D(af(0x166)))),console[af(0x169)](),console[af(0x169)](a0q[af(0x100)](af(0x1d5))),console[af(0x169)](a0q['bold'][af(0x164)]('\x20\x20'+a0D(af(0x135)))),console['log']('\x20\x20\x20\x20'+a0q['cyan'](af(0x14d))+a0q[af(0x100)](af(0x1a9)+a0D('ai4ctfHintNudge'))),console[af(0x169)](af(0x12e)+a0q[af(0x1c4)](af(0x194))+a0q[af(0x100)](af(0x1a9)+a0D(af(0xdb)))),console[af(0x169)](af(0x12e)+a0q['cyan'](af(0x151))+a0q['gray']('\x20\x20\x20→\x20'+a0D('ai4ctfHintPrinciple'))),console['log'](a0q[af(0x100)](af(0x12e)+a0D(af(0x145)))),console['log'](),console[af(0x169)](a0q[af(0x164)]('\x20\x20'+a0D(af(0x198)))),console[af(0x169)](a0q[af(0x100)]('\x20\x20'+a0D('ai4ctfOrChatExample')+'\x20')+a0q[af(0x164)](af(0x1af))),console[af(0x169)](),console[af(0x169)](a0q[af(0x19f)]('\x20\x20'+a0D('ai4ctfCommands'))),console[af(0x169)](a0q[af(0x164)](af(0x162))+a0q['gray'](a0D(af(0x102)))),console[af(0x169)](a0q[af(0x164)](af(0x15b))+a0q[af(0x100)](a0D(af(0x10a)))),console[af(0x169)](a0q['white'](af(0x12b))+a0q[af(0x100)](a0D(af(0x1a4)))),console[af(0x169)](a0q[af(0x100)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0q[af(0x164)](af(0x15c))),console[af(0x169)](a0q[af(0x100)](af(0x13e)+a0D('ai4ctfEndSession'))),console[af(0x169)](),m(),console[af(0x169)](a0q[af(0x100)]('\x20\x20'+a0D(af(0x158))+af(0x15d)+x+')')),console[af(0x169)](a0q[af(0x100)]('\x20\x20'+a0D(af(0x15a)))),console[af(0x169)]();});}
|
package/dist/commands/exam.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(z,B){const b0=a0B,F=z();while(!![]){try{const G=-parseInt(b0(0x26e))/(0x2cf*0x3+-0x6f9+0x1*-0x173)+-parseInt(b0(0x240))/(-0xb93+-0x9*-0x164+-0xef*0x1)*(-parseInt(b0(0x3aa))/(-0x1f82+0x255d+-0x5d8))+parseInt(b0(0x2df))/(0x1c2e+-0x5*-0x560+-0x370a)*(parseInt(b0(0x4bc))/(0x1c81+0x2*-0x49c+-0x9a2*0x2))+parseInt(b0(0x228))/(0x100b+-0x1627+0x311*0x2)*(-parseInt(b0(0x3b3))/(0x6*0x1c+0x1*-0x24a7+0x2406))+-parseInt(b0(0x388))/(0x2645*-0x1+0x136a+0x3c7*0x5)+parseInt(b0(0x330))/(0x13*0x1e8+-0x154b+0x4*-0x3b9)*(parseInt(b0(0x2a8))/(-0x1ccc+0x1d89+-0xb3))+parseInt(b0(0x25b))/(0x2e7*0x3+-0xb0b+0x7*0x57);if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,0x2*-0x81a48+0x14a238+-0x94d*-0xc5));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';function a0z(){const bO=['icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','BgvUz3rO','r2vYBwfUEq','zxHHBvDHExngB3vUza','yxr0ywnRAw5N','zhvYyxrPB25nAw51DgvZ','l3n1yM1PDa','CxvPDa','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','icbuExbLia','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','tK9uifbbu1nfra','zxHHBsbZDwjTAxqGy29UzMLYBsa','BgLZDcbBy291BNrYEv0','ywn0Aw9U','CdmW','icaGsg93ihrVihDVCMS','tMv3ifPLywXHBMq','zxHHBsbZDwjTAxqGy29UzMLYBq','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','CgLWzq','l2fUC3DLCG','iokaLcbZzwuGzNvSBcbLCNjVCG','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','ihf1zxn0Aw9U','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','qw5ZD2vYzwq6ica','CMvTB3zLtgLZDgvUzxi','CgvYzMvJDfnJB3jL','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','Dg9vChbLCKnHC2u','AhrWqMfJAW','zxHHBsbZDwjTAxq','ywrK','C3rHCNq','CMfUzg9T','rhvYyxrPB24','ig1PBIbYzw1HAw5PBMC','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','CMvWzwf0','icaGiokaOIbuCNK6ia','ixzPihnVBhzLlNb5','icaGicbbssb0B2TLBNm6icaGicaG','CgfKu3rHCNq','C3vIBwL0DgvK','ihLLDc4','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','zNvUy3rPB24','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','yxr0ywnOzwreyxrH','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','u3rHCNrPBMCGDgLTzxiUlI4','AwnVyt4','zgfYD2LU','zwXPBwLUyxrLza','Dg9ju09tDhjPBMC','uxvLC3rPB25Z','Dg9mB3DLCKnHC2u','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','ig9Mia','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','icbB','ihrOzsbJB21WzxrPDgLVBI4','ChvZAa','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','ixb5DgHVBJmGC29SDMuUChK','itXJBwq+ia','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icbjzIb5B3uGBMvLzcb0BYbHyMfUzg9UihrOAxmGC2vZC2LVBIaOzs5NlIbLEhbPCMvKic8GD3jVBMCGCgfWzxiPla','tMfTzq','lcbUB3qGEw91CIb0zwfTBwf0zq','zxHHBvDHExnszwzqExrOB24','icbezxrLy3rLzdOG','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','BwfW','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','igzVCIb0AgLZihnLy3rPB24','BgfUz3vHz2u','q29UDgvUDc1uExbL','igfUC3DLCNmU','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','y2f0','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','C2nHChK','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','zgvZy3jPChrPB24','y29YCMvJDa','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','zxHHBsbKzw1V','ic1TihbPCcbZAg93ici','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','qxzHAwXHyMXLiev4yw1ZicG','C2v0Dxa','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','DhjPBq','CgTN','uK9qz2fKz2v0','icdWN46bicS','u291DgGGqwzYAwnH','igf0DgvTChq','AhrWsgvSCa','icbVzIa','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','icaGia','icdcTYblzwvWihnOyxjWzw5PBMC6ia','BNvTyMvY','C2XPy2u','rxHHy3rSEs4','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','AhrWtgfUzW','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','zxHHBv9Pza','BwLZC2LUzW','zwDNmW','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','icaGig1VCMuGAgvSCa','zxHHBq','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','icdINjmG','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','icaGigv4yw0GCMv2Awv3','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','vMfSAwrHDgLUzYb0B2TLBI4UlG','icdIHPiGia','iIaYpI9KzxyVBNvSBa','icaGiokgKIbIj0HLBgXVjW','zxHHBvDHExnbAtrJDgy','icdIL4SG','vxnLCI1bz2vUDa','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','uNvZC2LH','lI4U','cGPgDwXSigf0DgfJAgvKigrHDge6cG','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','icbezw1VoIa','wYbD','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','vxbSB2fKAw5NigfUC3DLCNmUlI4','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','DgvZDa','zxHHBvDHExnuB1nVBhzL','C3vIC3rYAw5N','icaOAgvSCca','EwvSBg93','icbODhrWCZOVl2LJB2eYmdi2lMf1','igzPCNn0lG','AxnbCNjHEq','CMvZzxq','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','Dg9Vx29Sza','quKGDg9Rzw5ZoIa','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS','icaGicfWExrOB24Z','lI4VBgLIl2rLBw8TzxHHBs5QCW','icaGrwXHChnLzdOG','icdcTYaG','A2v5CW','icbuCM91yMXLC2HVB3rPBMC6','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','C29YDa','yw5ZD2vYCW','icdWN5kHifrYEsb0ExbPBMCG','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','DM9SyxrPBgL0Etm','q3rYBcTd','qw5ZD2vYzwq','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','t3rOzxi','l2HLBha','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','Dg90ywXty29Yzq','tM8GzxHHBsbPBIbWCM9NCMvZCY4','zxHHBsbXia','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','quXm','D3jPDgu','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','zgvTBW','zxHHBsbUyxrPB25Z','zgvTB0LUDhjVu2vLBG','x2HLBhbvC2vK','ic0TCxvPzxqGmJ4Mmq','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','igrLDgvJDgvK','zgvTBY1MCMvL','zxHHBvDHExntyxzLzfrV','DgLTzw91Da','sMfWyw4','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','y29TCgXLDgvKqxq','icaGica','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icaGieeVqI9dl0q','C3bSAxq','Aw5ZDgfSBgvKugfJA2fNzxm','C3rKAw8','icaGicaGicaGia','yMfJAW','icbbC3nPC3rHBMnLihvZzwq','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','BM9KztPJAgLSzf9WCM9JzxnZ','AhrWu3vIBwL0','ic0TDMvYC2LVBG','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','Axnoyu4','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','CgLSBg93','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','mtiWBKrPy2TA','u3vIBwL0igzHAwXLza','y29TBwfUza','q291BNrYEq','y3rMzfvYBa','C29Tzq','qxvZDhjHBgLH','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','imk3ia','BwfNzw50yq','igf0igfUEsb0Aw1LlG','ixb5DgHVBJm','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','igLZihDLBgWGyMvSB3CU','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','icbuBYbJB250Aw51zsb0AgLZigv4yw06','zwDNmte','x2HLBhbnyxG','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','yw5ZD2vYvgHPCW','rMfPBgvKihrVigXVywqGzxHHBxm','icaGiokrOca','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','ixb5DgHVBJmGlI4U','C2HVD25xyxjUAw5NCW','BMv4DcaVihbYzxy','ANnVBG','C2nVCMu','icbbCMnOic8GtwfUAMfYBZO','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','y3j5ChrVz3jHCgH5','ic1TihbPCcaTlxzLCNnPB24','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','ChDUDg9VBhm','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','oJaW','ic8G','C3rKzxjY','z2v0uMvZDwX0','z3jLzw4','DgfYz2v0','yNjLDW','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','sw5KB25LC2LH','lI4VBgLIl3bSyxrMB3jTlMPZ','icbYDw4G','z2v0vgLTzq','BwvZC2fNzq','x3n1yM1PDenVBMzPCM1Lza','uxvLC3rPB24G','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','zNjVBq','CMvTB3zLqwXStgLZDgvUzxjZ','AxnsyxC','zgvTBY1LBNrLCG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','t24GDgHLig1VBMv5lG','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','q2HPBMe','icbcEsbJyxrLz29YEq','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','y3rMngfP','rMfPBgvKihrVihn0yxj0igv4yw0','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','sw5KAwe','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','yM9VA21HCMTZ','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','ChjLDG','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','zxHHBsbZDgfYDca','Bsb0B3rHBa','vw5PDgvKifn0yxrLCW','lI4VBgLIl2nVBMzPzY5QCW','uhjLCgfYAw5NlI4U','y2XLyxi','BMfTzq','AgLUDcbHic8GyIaVigm','zMLUywW','icbdyw5JzwXSzwqU','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','icaGicbfBNrLCIbJAgf0oIaGicaG','icdIMQaGie9UBhKG','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','ig1PBNv0zxm','icaGideUifr5CguG','icaGicaGicaOBM93lcb+nsbTAw4P','Dg9tDhjPBMC','icaGicHHAtrJDgyP','icbtDgfYDgLUzYbLEgfTlI4U','C3LTChK','r3jHzgLUzY4UlG','Dg9Rzw4GpgnVzgu+','icbtDwjTAxqGBM93ihDPDgG6ia','ica+ia','vgLTzw91DevYCM9Y','icGR','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','Aw5JBhvKzxm','icbjBNn0ywXSAw5Nia','q29TCgXLDguH','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','icbuBYbNBYbIywnRoIaG','C3rYAw5NAwz5','y2f0zwDVCNK','DxnLza','Dg90ywW','vgHHAwXHBMq','iefjihn5C3rLBxmU','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','ihnOyxjLzcbHy3jVC3mGutm54Octnda','yw5ZD2vYx3n1yM1PDhrLza','ihDHCYbUB3qGzMXHz2DLzc4','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','ChL0Ag9UmW','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','vMLLDg5HBq','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','y2XVy2TpzMzZzxrnCW','x2vSAw1PBMf0zwq','rw52AxjVBM1LBNqGCMvHzhK','C3rHCNqGpgLKpG','zMfPBa','icdINjmGCgLWigf2ywLSywjSzq','mZe0nZG4mLnJtMzTuW','u2H1zMzSAw5Nig9WDgLVBNmUlI4','y29UzMLYBwvKqxq','icbxAgf0ig5LEhq','igzSywDNzwqGzM9YihjLDMLLDY4','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','icaGigv4yw0GCsaXlI4','icbgzwrVCMeGlYbssevmoG','zw5JB2rPBMC','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','CMvZDwX0ifTPzf0','icaGiokrPca','icaGigXHBMC','y291BNrYEq','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','4O+XifrPBwuGCMvTywLUAw5NoG','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','BMv4DeXHyMvS','AgvSCf91C2vK','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','icaG','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','Cg9PBNrZ','Cvr1Dg9YAwfS','mtrIvNfMC2u','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','Dwj1BNr1','ihWG','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','CMvXDwvZDhm','C19JDgy0ywK','sw52ywXPzcb0B2TLBG','igfUC3DLCMvKkq','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','CgXHDgzVCM0','icbmyw5NDwfNztOG','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','Aw5FChjVz3jLC3m','C19HAtrJDgy','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','ihvUzMXHz2DLzc4','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','zwDNnq','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','icdINjCG','Aw50zxjHy3rPB25Z','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','yM9Sza','rwD5Chq','mtm2mtG2nJbKshzPtuq','zMLUza','CMvZDw1L','icbtDgvWlwj5lxn0zxa6','icaGig5LEhq','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','zxHHBu5HBwu','qwXTB3n0ihjLywr5lI4U','icbzB3vYigfUC3DLCJOG','zxHHBsb1BM1HCMSG','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','C3vKBYbHChqGDxbKyxrL','txLHBM1HCG','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','zgvHzgXPBMvtzxj2zxjnCW','icdIHPiG','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','mtqWmJq5nMX6tKDYta','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','icaGiokrOsa','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','AxnuvfK','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','CgvYuq','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','zw1VAMK','yMvZDfbLCMnLBNrHz2u','y3LHBG','CMvWBgfJzq','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','ig9YigXLyxzLihDPDgGG','icaGicaGia','AgfZ','zxHHBsbZDwjTAxqG','icbszxj1BIb3AgvUigzPEgvKoIa','q3j5ChrV','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','qMfUz2XHzgvZAa','DxrMltG','vMLLDYbLEgfTihjLC3vSDa','ihbHy2THz2vZigLUC3rHBgXLzc4','icbzB3vYihj1BG','lI4VBgLIl21HAw4TCMWUANm','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','icdIMiuGuq','Dw5TyxjRifTUxq','zwDNoq','zMfPBgvKugfJA2fNzxm','C3vIBwL0DgvKqxq','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','vxPIzwTPC3rHBG','rMfPBgvKihrVigXVywqGCMvZDwX0','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','B25Jzq','twfJyxu','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','uM9VBsb0BYbNCM93oIaGia','C2vZC2LVBG','Bw9YzsbOzwXW','icaGieXHBMC6icaGia','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','cIaG','D2HPDgu','uMvHzhKH','ChLJCNLWDg9KB21L','icbuAw1LoIaGica','AgvSCa','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','icbVCIaG','B3b0Aw9UCW','z3jHzgLUzW','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','lI4VBgLIl2v4yw0TC3rHDguUANm','mtGXmtyZmhHWrLvkDa','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','x2XHC3rr','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','Dgv4Da','ieLdt0f7Ew91CL9MBgfNFq','vgLTzsbszw1HAw5PBMC','Dg9Rzw4','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','icbszwfKEt8GvxnLia','icaOEwvZiokaLcbSAxrLCMfSBhKGDhLWzsb0AguGBNvTyMvYia','ugvYDq','C2v0uMf3tw9Kzq','icaGihzSytrJDgy','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','ihrVigXLyxzLigLJB2e','icdIJ7eGifrPBwuGy2HLy2SGia','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','icdWN5kHie9WDgLVBIa','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','zxHHBsbWCMv2','uMv2Awv3oIa','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','8j+pM++4JW','rxHHBsaI','z3jHEq','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','yw5ZD2vY','BgLUzq','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','Cgn0','y29UzMLYBq','icaGicbuB2TLBJOG','icaOC2vLihDOAwnOihf1zxn0Aw9UCYbHCMuGyMXHBMSP','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','icaGsg93ihrVigf0DgfJAW','igjVBNvZihvZzxmP','tM8GDgLTzsbSAw1PDa','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','icHxu0WYkq','icaGiokCKYbZyxzLza','icaGigfPngn0zG','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','CdeW','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','vgLTzsb1C2vKoIa','CxvLC3rPB25Z','vhvYA2v5','ihjLz2LVBNmP','zwXPBwLUyxrL','mJq4mdu2Eu1Prw9h','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','AhrWuMv2Awv3','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','icaGzMLUAxnOigfUzcbZDwjTAxq','BMv4Da','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','icaGihn1zg8Gyxb0ihvWzgf0zq','ywK0y3rMpG','vwj1BNr1ia','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','zMXVB3i','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','ChDU','C3bSAwnL','ywK0y3rM','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','icaGiezHAwXLzdOG','icbr','D2LUmZi','ueLm','icbzB3vYigjLC3q6ia','rMXHz2DLzdOGica','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','CMvMihb5DgHVBG','u29SAwqGCgLJAY4','Ag93vg9qBgf5','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','BgLUDxG','CgfZC2LUz1nJB3jL','BwfJt1m','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','ig1PBG','icbqBgvHC2uGCMuTDhLWztOG','igfUC3DLCMvKiokaLcbHy2nPzgvUDgfSihn1yM1PDcbNDwfYza','icaGiokrOIa','DMXH','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','zxHHBsbOzwXW','A2v5','icbxCMfWihvWigfUzcbZDwjTAxq6ia','ywK0y3rMrgvZyW','icaGicbfEgL0ignOyxq6icaGicaG','zxHHBsbHBNn3zxiG','u3rHDhvZ','zxHHBsbSAxn0ia','icaGicdILQmG','Bwf4','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','ywLvC2fNzq','C3vIBwL0ieLdt0f7lI4UFq','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','yw5ZD2vYx2nOyw5Nzwq','icaGicbjBNnPzguGy2HHDdOGicaG','icaGig1HCMS','CgfKrw5K','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','icaGicbtB2X2zsa','CgfZC2vK','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','ienurJrbsq','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','icaGiokgKIa','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','Ew91CIbmAw51EcbKAxn0CM8','zMLSDgvY','AwDUB3jL','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','zxHHBsbYzxn1BhqG','BMv3','CxvLC3rPB25dB3vUDa','ywK0y3rMu3vI','igfUC3DLCMvK','icbqyxnZihrOCMvZAg9SzcbPCYb0ExbPy2fSBhKGntaLiokaLca','rNjHBMnL','AhrWtwfYAW','u291DgGGs29Yzwe','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','ovvXEuTcBW','zxHHBsbTyxjRia','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','C3rHCNrLzef0','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','icdILRGG','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','DhLWzq','C2vYDMvYx3rPBwvFBxm','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','BM93','ihjLBwfPBMLUzYK','C3rHCNrfEgfT','BgLZDgvUzxjZ','zgvTBY1LEgfT','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','uhjVz3jLC3m','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','ihbHy2THz2vZlI4U','Cgf1C2u','y29TCgXLDgu','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','vw5HBNn3zxjLza','C3rKAw4','C2v0uhjVBxb0','Aw5WDxq','icaGigHLBha','zxHHBsbZzxr1Ca','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','C3rHDhvZ','ihbVAw50CW','ue9tva','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','zwDNmtm','icHXDwLJAYb0yxnRCYK','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','y2f0y2G','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','CxvLC3rPB24','z2v0rxHHBxm','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','EJmTC29SDMvY','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','tgfVCW','l2v0yY9VCY1YzwXLyxnL','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','qNvYDw5KAq','zxHHBsa8Dg9Rzw4+','yxr0zw1WDhm','qNjHEMLS','CM91BMq','yw5ZD2vYzwq','CMv2Awv3','u2f1zgKGqxjHyMLH','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','icaGigv4yw0GC3vIBwL0','yMvZDa','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','zxHHBsbYzxnLDa','ihLVDsbNB3qGD3jVBMCU','zMLUzeLUzgv4','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','C3vIBwL0rxHHBq','zgf0yq','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','iokgKIa','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','8j+pLU+4JW','y2HHBMDLzcbMCM9Tia','CMvK','icaGicdcTYbbssbPCYb5B3vYia','x2HLBhbqzxjr','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','AwnVyq','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','zgLT','rxHHBxmG4Ocuia','zwDNmtu','mJm0odbTyuL5DfK','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','zxHHBuLK','wYbDica','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','y3rMngfPpG','zwXPBwLUyxrLzca','AgvSCefSBfvZzwq','AM9PBG','icaGicbiAw50CYbbl0iVqZOGicaG','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','BwLU','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','icdINjmGuhL0Ag9Uia','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','zxHHBsbXide','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','ihvUyw5ZD2vYzwq6ia','icaGienVBxbSzxrLzdOG','icbbC3nPC3rHBMnLoG','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','icdIMiyGuq','AgLUDa','zxHHBsbYzxzPzxC','uhL0Ag9Uia','zxHHBsbTB3jLlwHLBha','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','oIdIGjq','mtmXmZmXEg5TBgHi','icbpCIb0ExbLia','zgvTBY1YzxrYEq','icbozwvKig1VCMu/ifr5Cgu6ia','icdIL48G','igLUC3rHBgXLza','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','Bwf0y2G','mtrQC0rvDhO','B3v0Chv0','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','Ew91CKfUC3DLCG','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','icbuB2TLBJOGica','Bg9N','icaGievprG','oYb0AgLZihbYzxzLBNrZigfJy2LKzw50CYK','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','CMvNzxG','ihrVihnLzsb5B3vYihjLC3vSDhmH','C3vJy2vLza','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','D2HPy2G','ugHPBgLWCgLUzxm','yxbWBgLJyxrPB24VANnVBG','BMf0Aw9UCW','ugfZCW','Cg9ZDc1YzxbVCNqTCMv0CNK','icbfEgfTCgXLoIa','C3rKB3v0','y2f0zwDVCNLtDgf0CW','zw5KC1DPDgG','sgvSCdOGicaGica','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','l2fWAs9Py29Hl2v4yw1ZlW','mJuSmdaW','rMXHz2DLzcbMB3iGCMv2Awv3','AhrWtMf2'];a0z=function(){return bO;};return a0z();}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 a0B(a,b){a=a-(0x17d9+-0x1fd0+0x9c4);const c=a0z();let d=c[a];if(a0B['MlBiyR']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x3*-0x449+0x1f58+-0x1f*0x16d,o,p,q=0x1*0x2491+0x1888+-0x3d19;p=i['charAt'](q++);~p&&(o=n%(-0x76*0x3+0x23f7+-0x2291)?o*(-0x332*0xc+0x10da*-0x2+0x1213*0x4)+p:p,n++%(-0x22fa+0x25f7+-0x2f9))?l+=String['fromCharCode'](-0x92b+-0x157f+0x1fa9&o>>(-(0x1d03+0x9d*0x37+0x5b4*-0xb)*n&-0x16d5*0x1+0x1*0x137f+0xac*0x5)):0x1*0x1b1a+-0xcc6+0x72a*-0x2){p=j['indexOf'](p);}for(let r=0x1db5*0x1+-0x377*0x7+-0x2*0x2ba,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0xfe*0x1d+0x215*0x3+0x13*-0x1d7))['slice'](-(0x201a+0x2*-0xd23+0x5d2*-0x1));}return decodeURIComponent(m);};a0B['FAQJvp']=e,a0B['UPYiJO']={},a0B['MlBiyR']=!![];}const f=c[0x14e0+-0x1a*0x73+-0x932],g=a+f,h=a0B['UPYiJO'][g];return!h?(d=a0B['FAQJvp'](d),a0B['UPYiJO'][g]=d):d=h,d;}const q=z=>new Promise(B=>setTimeout(B,z));function E(B,F={}){const b1=a0B,G=a0W(),H={};H[b1(0x428)]=b1(0x3c4),fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':b1(0x354),'headers':H,'body':JSON[b1(0x213)]({'type':B,'lang':G[b1(0x427)]||'en','timestamp':new Date()['toISOString'](),...F}),'signal':AbortSignal['timeout'](-0xb*0x12a+0xc5*-0x29+0x1*0x3fe3)})[b1(0x359)](()=>{});}function N(z,B){const b2=a0B,F=Math[b2(0x369)](z/(-0xa+0x18dd*-0x1+0x194b)*(-0x18f1+-0x1691+-0x17d*-0x20)),G=0x695*0x1+0x2232+-0x28a9*0x1-F,H=a0L[b2(0x1d0)]('█'['repeat'](F))+a0L[b2(0x2c3)]('░'[b2(0x3fa)](G)),J=String(z)['padStart'](-0x28a+-0x230f+0x259c)+'%';process['stdout'][b2(0x497)]('\x0d\x1b[2K\x20\x20'+H+'\x20'+J+'\x20\x20'+a0L['gray'](B));}function M(){const b3=a0B,z=a0W();return z['ctfdUrl']&&z[b3(0x2af)]?new a0V(z[b3(0x4c0)],z[b3(0x2af)]):(a0aa('Not\x20connected.\x20Run:\x20join\x20<url>'),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af(b4(0x2ae),a0L[b4(0x475)][b4(0x259)](a0ah(z))):a0af('Time',a0L[b4(0x37e)][b4(0x259)]('EXPIRED')));}function j(z,B){const b5=a0B;return Array[b5(0x478)](z[b5(0x1ee)])&&z[b5(0x1ee)][b5(0x20e)](B);}function D(z,B){const b6=a0B,F=Array[b6(0x478)](z['bookmarks'])?[...z[b6(0x1ee)]]:[],G=F['indexOf'](B);return G>=0x71f*-0x1+-0xbd9+0x25f*0x8?(F[b6(0x2ee)](G,0xef4+0x1e07*0x1+-0x2cfa),z[b6(0x1ee)]=F,a0Z(z),!(0x6f*0xb+-0xd*-0x46+0x2*-0x429)):(F[b6(0x414)](B),F[b6(0x486)]((H,J)=>H-J),z[b6(0x1ee)]=F,a0Z(z),!(0x90f*-0x2+0x1e14+0xbf6*-0x1));}function R(B){const b7=a0B,F={};return F[b7(0x215)]=B[b7(0x49c)]||-0x8*-0x3a0+0x2*-0xe99+0x19*0x2,F[b7(0x30f)]=B['_helpMax']||0x7*0x232+-0x29f*-0xd+-0x315d,F[b7(0x276)]=B[b7(0x380)]||{},F[b7(0x40a)]=B[b7(0x223)]||{},F;}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.[b8(0x298)]['questionCount']||0x1bb3*0x1+-0x2*-0x182+-0x1e99),H=Object['keys'](F?.['answers']||{})['length'],J=R(F),K=J[b8(0x40a)][z[b8(0x448)]]||[],L=b8(0x2ef)===z['type']||b8(0x1e9)===z[b8(0x339)]||b8(0x304)===z['type']||z[b8(0x2a4)]&&!z[b8(0x2a4)]['A']&&!z['options']['B'];F&&function(Y,Z){const b9=b8;if(b9(0x4a0)===Y[b9(0x298)]['examId'])return;const a0=new Set(Y[b9(0x4d4)]||[]),a1=Number(Y['session'][b9(0x328)]||0x1e39+-0x10e6+-0xd2b*0x1),a2=a0a1();if(-0x2241+0x1fbf+-0x28c*-0x1===Z&&a1>=0x24ef+0xff4+0x34bb*-0x1&&!a0[b9(0x27f)](b9(0x2d8))){const a3=a2?Math['max'](0x7a9+0x2692+-0x2e3b,Math['round']((a2[b9(0x1d7)]()-Date[b9(0x33c)]())/(0x19008+-0x49f4+-0x5bb4))):null;console[b9(0x3b9)](),console[b9(0x3b9)](a0L[b9(0x2c3)](b9(0x4b8))),console['log'](a0L[b9(0x27a)](b9(0x2b9))+a0L[b9(0x2c3)](b9(0x2fb))),null!==a3&&console['log'](a0L[b9(0x2c3)](b9(0x4a6)+a3+'\x20minutes\x20left.\x20Keep\x20the\x20pace\x20steady.')),console[b9(0x3b9)](a0L['gray'](b9(0x4b8))),a0['add']('p10'),Y['shownWarnings']=Array['from'](a0),a0Z(Y);}if(0x1263+-0x23*-0xfa+-0x1cf*0x1d===Z&&a1>=0x1*0x65b+0x3a9+-0x2*0x4ee&&!a0[b9(0x27f)](b9(0x3e2))){Object[b9(0x483)](Y[b9(0x487)]||{})['length'];const a4=Object[b9(0x483)](Y[b9(0x487)]||{})[b9(0x323)](a5=>Number(a5)<=-0x1dde+-0x15eb+0x2b*0x135)['length'];console[b9(0x3b9)](),console[b9(0x3b9)](a0L[b9(0x1d0)](b9(0x43c))),console[b9(0x3b9)](a0L[b9(0x259)][b9(0x1d0)]('\x20\x20✓\x20\x20MCQ\x20section\x20complete\x20—\x20well\x20done!')),console[b9(0x3b9)](a0L[b9(0x2c3)](b9(0x4a6)+a4+'/30\x20multiple-choice\x20answered')),console[b9(0x3b9)](a0L[b9(0x29d)](b9(0x4af))),console['log'](a0L['gray']('\x20\x20\x20\x20\x20Budget\x20~2\x20min\x20per\x20practical\x20question.\x20You\x20can\x20come\x20back\x20with:\x20next\x20/\x20prev.')),console['log'](a0L[b9(0x1d0)](b9(0x43c))),a0['add'](b9(0x3e2)),Y[b9(0x4d4)]=Array[b9(0x1dd)](a0),a0Z(Y);}}(F,z[b8(0x448)]),F&&L&&function(Y,Z){const ba=b8;if(ba(0x4a0)===Y['session'][ba(0x38a)])return;if(Number(Y[ba(0x298)][ba(0x328)]||-0x1207+0xa27+0x808)<0x1e67*-0x1+0x1a*-0x22+0x1*0x2203)return;const a0=new Set(Y[ba(0x4d4)]||[]);Z>=0x8*-0x10c+-0x9*0x73+0x141*0xa&&Z<=0x2cc+0x44*0x61+0x1c6a*-0x1&&!a0[ba(0x27f)](ba(0x24e))?(console[ba(0x3b9)](),console['log'](a0L[ba(0x1d0)](ba(0x1e1))),console[ba(0x3b9)](a0L[ba(0x259)][ba(0x1d0)]('\x20\x20\x20🚀\x20\x20Section\x202:\x20AI4CTF\x20—\x20AI\x20is\x20your\x20teammate')),console[ba(0x3b9)](a0L[ba(0x1d0)](ba(0x1e1))),console['log'](),console[ba(0x3b9)](a0L[ba(0x29d)](ba(0x47e))),console['log'](a0L[ba(0x29d)](ba(0x2bf))),console[ba(0x3b9)](),console[ba(0x3b9)](a0L[ba(0x259)][ba(0x29d)](ba(0x2e0))),console[ba(0x3b9)](a0L[ba(0x2c3)](ba(0x31a))+a0L[ba(0x259)]('with')+a0L['gray']('\x20AI\x20by\x20your\x20side.\x20AI\x20is\x20your\x20teammate.')),console[ba(0x3b9)](),console['log'](a0L[ba(0x259)]['white'](ba(0x3e3))),console[ba(0x3b9)](a0L[ba(0x2c3)](ba(0x1fd))+a0L[ba(0x259)][ba(0x1d0)](ba(0x2ef))+a0L['gray'](ba(0x37a))+a0L[ba(0x4c5)](ba(0x2e8))+a0L[ba(0x2c3)](ba(0x221))),console[ba(0x3b9)](a0L[ba(0x2c3)](ba(0x316))+a0L[ba(0x27a)](ba(0x1f9))+a0L[ba(0x2c3)](ba(0x4c4))+a0L['cyan'](ba(0x313))+a0L[ba(0x2c3)]('\x20·\x20')+a0L['cyan']('!python3\x20...')),console['log'](a0L[ba(0x2c3)](ba(0x2e3))),console[ba(0x3b9)](a0L[ba(0x2c3)](ba(0x30a))+a0L['cyan']('exit')+a0L['gray']('\x20→\x20back\x20to\x20exam,\x20navigate\x20with\x20')+a0L[ba(0x27a)](ba(0x4d5))),console[ba(0x3b9)](),console[ba(0x3b9)](a0L[ba(0x259)][ba(0x29d)](ba(0x258))),console[ba(0x3b9)](a0L['gray'](ba(0x3fd))+a0L[ba(0x29d)](ba(0x3cf))+a0L[ba(0x2c3)](ba(0x426))),console['log'](a0L[ba(0x2c3)](ba(0x391))+a0L['white']('pre-written\x20per\x20question')),console['log'](),console[ba(0x3b9)](a0L[ba(0x475)]('\x20\x20\x20Time\x20still\x20counting\x20down.\x20Budget\x20~2\x20min\x20per\x20question.')),console[ba(0x3b9)](a0L[ba(0x1d0)](ba(0x1e1))),console[ba(0x3b9)](),a0[ba(0x3f4)]('s_ai4ctf'),Y['shownWarnings']=Array[ba(0x1dd)](a0),a0Z(Y)):Z>=0x7*-0x471+-0x159*0x1+0x2097&&!a0[ba(0x27f)]('s_ctf4ai')&&(console[ba(0x3b9)](),console[ba(0x3b9)](a0L[ba(0x37e)](ba(0x1e1))),console[ba(0x3b9)](a0L[ba(0x259)][ba(0x37e)](ba(0x23b))),console['log'](a0L[ba(0x37e)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x3b9)](),console[ba(0x3b9)](a0L[ba(0x29d)](ba(0x35d))),console[ba(0x3b9)](a0L[ba(0x29d)]('\x20\x20\x20using\x20AI,\x20you\x27re\x20')+a0L[ba(0x259)](ba(0x3d7))+a0L[ba(0x29d)](ba(0x218))),console[ba(0x3b9)](),console[ba(0x3b9)](a0L[ba(0x259)][ba(0x29d)](ba(0x468))),console[ba(0x3b9)](a0L[ba(0x2c3)](ba(0x430))),console[ba(0x3b9)](),console[ba(0x3b9)](a0L[ba(0x259)][ba(0x29d)](ba(0x2cd))),console[ba(0x3b9)](a0L[ba(0x2c3)]('\x20\x20\x20\x20\x20Enter\x20chat:\x20\x20\x20\x20\x20')+a0L['bold']['red']('ctf4ai')+a0L[ba(0x2c3)](ba(0x37a))+a0L[ba(0x37e)](ba(0x38d))+a0L[ba(0x2c3)](ba(0x401))),console[ba(0x3b9)](a0L[ba(0x2c3)](ba(0x316))+a0L[ba(0x27a)](ba(0x1f9))+a0L['gray']('\x20·\x20')+a0L[ba(0x27a)](ba(0x313))+a0L[ba(0x2c3)](ba(0x4c4))+a0L[ba(0x27a)](ba(0x4d3))),console[ba(0x3b9)](a0L[ba(0x2c3)]('\x20\x20\x20\x20\x20Messages\x20→\x20AI\x20target\x20—\x20craft\x20prompts\x20to\x20break\x20its\x20rules.')),console[ba(0x3b9)](),console[ba(0x3b9)](a0L[ba(0x259)][ba(0x29d)](ba(0x274))),console[ba(0x3b9)](a0L[ba(0x2c3)](ba(0x37f))+a0L[ba(0x37e)](ba(0x1d1))+a0L[ba(0x2c3)](ba(0x41b))),console[ba(0x3b9)](a0L['gray']('\x20\x20\x20\x20\x20·\x20Separate\x20budget:\x20')+a0L[ba(0x29d)]('25,000\x20tokens')+a0L['gray'](ba(0x21a))),console[ba(0x3b9)](),console[ba(0x3b9)](a0L['yellow'](ba(0x251))),console[ba(0x3b9)](a0L[ba(0x475)]('\x20\x20\x20If\x20time\x20is\x20tight,\x20skim\x20Q39/40\x20first\x20to\x20decide\x20attack\x20order.')),console[ba(0x3b9)](a0L[ba(0x37e)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x3b9)](),a0[ba(0x3f4)](ba(0x246)),Y['shownWarnings']=Array['from'](a0),a0Z(Y));}(F,z[b8(0x448)]),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z['getTime']()-Date['now']();if(a0<=-0x144e+-0xe91+0x22df)return;const a1=a0/(-0x4b9*-0x7+0x149b8+-0x1*0x8067),a2=new Set(Y['shownWarnings']||[]);let a3=null;if(a1<=0x16c*0x14+-0xf3c+-0xd33&&!a2[bb(0x27f)]('t1')?a3={'key':'t1','text':[a0L['red'][bb(0x259)](bb(0x2ea)),a0L[bb(0x37e)](bb(0x209))+a0L[bb(0x259)](bb(0x3f3))]}:a1<=-0x426+-0x1317+-0xba1*-0x2&&!a2[bb(0x27f)]('t5')?a3={'key':'t5','text':[a0L['red']['bold'](bb(0x420)),a0L[bb(0x475)](bb(0x308))+a0L[bb(0x259)](bb(0x3f3))]}:a1<=0x1a*0x87+-0x1*-0x9f7+0x3*-0x7e1&&!a2[bb(0x27f)]('t10')&&(a3={'key':'t10','text':[a0L[bb(0x475)][bb(0x259)](bb(0x1e6)),a0L[bb(0x2c3)](bb(0x361))+a0L[bb(0x29d)](bb(0x3a4))]}),a3){console[bb(0x3b9)](),console['log'](a0L[bb(0x37e)](bb(0x43c)));for(const a4 of a3[bb(0x2ac)])console[bb(0x3b9)](a4);console[bb(0x3b9)](a0L['red'](bb(0x43c))),a2[bb(0x3f4)](a3[bb(0x307)]),Y[bb(0x4d4)]=Array[bb(0x1dd)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math[bc(0x369)](Y/Z*(-0x16f9+-0x1c8e+0x33a5)),a2=-0x2ea*-0x7+0x15+-0x145d*0x1-a1,a3=a0L['cyan']('━'[bc(0x3fa)](a1))+a0L[bc(0x2c3)]('─'[bc(0x3fa)](a2)),a4=Math[bc(0x369)](Y/Z*(-0x1*-0x99f+-0x333+-0x608));console[bc(0x3b9)](),console[bc(0x3b9)]('\x20\x20'+a3+'\x20\x20'+a0L[bc(0x29d)][bc(0x259)](''+Y)+a0L[bc(0x2c3)]('/'+Z)+'\x20\x20'+a0L[bc(0x2c3)]('('+a0+bc(0x248))+'\x20\x20'+a0L[bc(0x2c3)](a4+'%'));const a5=a0a1();if(a5){const a6=Math['max'](-0x2b3+0x216*-0xe+0x1fe7,Math['round']((a5[bc(0x1d7)]()-Date[bc(0x33c)]())/(-0xe9b+0x4*0x4d5+-0xd1))),a7=Math[bc(0x2eb)](a6/(-0x5*-0x62f+0x15fd+-0x34ac))+':'+String(a6%(0x37*-0x2f+-0x1c97+0x26ec))['padStart'](-0x9f*-0x23+-0x4*0xca+0x3b7*-0x5,'0'),a8=a6<=-0x1*-0x9c2+-0x12cf*0x1+-0x1*-0x949?a0L[bc(0x37e)][bc(0x259)]:a6<=-0xee8+0x23ff+-0x13eb*0x1?a0L['red']:a6<=-0x10ad+0x303*0x5+0x3f6?a0L[bc(0x475)]:a0L['gray'];console[bc(0x3b9)]('\x20\x20'+a0L[bc(0x2c3)](bc(0x237))+'\x20'+a8(a7)+'\x20'+a0L['gray']('(server-authoritative)'));}}(z[b8(0x448)],G,H),F&&j(F,z[b8(0x448)])&&console[b8(0x3b9)](a0L['yellow']('\x20\x20★\x20Marked\x20for\x20review'));const Q=function(Y,Z){const bd=b8,a0={};a0[bd(0x2c8)]=0.2,a0[bd(0x278)]=bd(0x2c1),a0[bd(0x307)]=bd(0x450);const a1={};a1['pct']=0.33,a1[bd(0x278)]='🐨',a1['key']=bd(0x253);const a2={};a2[bd(0x2c8)]=0.5,a2[bd(0x278)]='🌉',a2[bd(0x307)]='egg7';const a3={};a3[bd(0x2c8)]=0.6,a3[bd(0x278)]='🦘',a3[bd(0x307)]=bd(0x28d);const a4={};a4[bd(0x2c8)]=0.8,a4[bd(0x278)]=bd(0x37c),a4['key']=bd(0x4cc);const a5={};a5['pct']=0.87,a5[bd(0x278)]='🦈',a5[bd(0x307)]=bd(0x356);const a6={};a6[bd(0x2c8)]=0x1,a6[bd(0x278)]='🎉',a6['key']=bd(0x387);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[bd(0x369)](a9[bd(0x2c8)]*Z);if(!(aa<-0x19b*-0xa+-0x23f0+-0x6a1*-0x3||a8[bd(0x27f)](aa))&&(a8['add'](aa),Y===aa))return{'emoji':a9[bd(0x278)],'text':a0ai(a9['key'])};}}(z['number'],G);if(Q&&console[b8(0x3b9)](a0L[b8(0x475)]('\x20\x20'+Q[b8(0x278)]+'\x20\x20'+Q[b8(0x2ac)])),console[b8(0x3b9)](),z[b8(0x214)]&&console[b8(0x3b9)](a0L[b8(0x27a)](b8(0x412)+z['category']+']')),z[b8(0x23e)]&&z['points']>-0x1*-0x2cf+-0x1*0x24bb+0x21ee&&console[b8(0x3b9)](a0L[b8(0x27a)](b8(0x412)+z[b8(0x23e)]+'\x20points]')),L){let Y=z['description']||z['text'];const Z=a0a2(z['number'],z[b8(0x405)]);if(z[b8(0x405)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b8(0x471)](Y)?Y=Y[b8(0x27b)](a1,z[b8(0x405)]):Y[b8(0x20e)](z[b8(0x405)])||(Y=Y+b8(0x467)+z[b8(0x405)]);}console[b8(0x3b9)](a0L[b8(0x259)][b8(0x29d)](b8(0x2f2)+z[b8(0x448)]+'.\x20')+a0L['white'](Y[b8(0x4a9)]('\x0a')[0x195*-0x16+0x5*-0x506+-0x2*-0x1df6]));const a0=Y[b8(0x4a9)]('\x0a')[b8(0x449)](0x1e03+-0x10b1*-0x1+-0x2eb3);for(const a2 of a0)console[b8(0x3b9)](a0L[b8(0x29d)]('\x20\x20'+a2));if(console[b8(0x3b9)](),Z&&b8(0x2ef)===z[b8(0x339)]){const a3=Z[b8(0x27b)](process.env.HOME||'','~');console['log'](a0L[b8(0x27a)]('\x20\x20'+a0ai(b8(0x472))+'\x20')+a0L[b8(0x2c3)]('('+a0ai(b8(0x4a1))+'\x20'+a3+'):')),console[b8(0x3b9)](a0L['white'](b8(0x4d1))+a0L[b8(0x475)](b8(0x417)+a3)[b8(0x318)](0xe9b*0x1+0x3*-0xc11+0x15cc)+a0L[b8(0x2c3)]('\x20'+a0ai('examWaysShell'))),console[b8(0x3b9)](a0L['white'](b8(0x270))+a0L[b8(0x475)](b8(0x4c7))[b8(0x318)](-0x22c8+-0x32b*-0x6+0xfe6)+a0L[b8(0x2c3)]('\x20'+a0ai('examWaysPythonRepl'))),console[b8(0x3b9)](a0L[b8(0x29d)](b8(0x303))+a0L['yellow'](b8(0x3fc))+a0L[b8(0x2c3)](b8(0x45d))+a0L[b8(0x475)](b8(0x416))),console[b8(0x3b9)](a0L[b8(0x29d)]('\x20\x20\x20\x20④\x20')+a0L['yellow'](b8(0x2f8))[b8(0x318)](0x327+-0xa6+-0x261)+a0L['gray']('\x20'+a0ai(b8(0x41c)))),console[b8(0x3b9)](a0L[b8(0x29d)](b8(0x233))+a0L[b8(0x475)](b8(0x2ef))['padEnd'](-0x2481+0x35*0x49+0x1584)+a0L[b8(0x2c3)]('\x20'+a0ai(b8(0x460)))),console[b8(0x3b9)](),console[b8(0x3b9)](a0L[b8(0x2c3)]('\x20\x20'+a0ai(b8(0x3d6))+'\x20')+a0L[b8(0x259)][b8(0x1d0)](b8(0x4c3))),console[b8(0x3b9)]();}B&&(console['log'](a0L[b8(0x1d0)](b8(0x263)+B)),console[b8(0x3b9)]());}else{console[b8(0x3b9)](a0L[b8(0x259)][b8(0x29d)](b8(0x2f2)+z['number']+'.\x20')+a0L['white'](z['text'])),console[b8(0x3b9)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console[b8(0x3b9)](a0L['gray']['strikethrough']('\x20\x20\x20\x20'+a4+'.\x20'+z[b8(0x2a4)][a4])+a0L[b8(0x37e)]('\x20('+a0ai('wrong')+')')):a5?console[b8(0x3b9)](a0L[b8(0x1d0)]['bold'](b8(0x337)+a4+'.\x20'+z[b8(0x2a4)][a4])):console['log'](a0L[b8(0x2c3)](b8(0x446)+a4+'.')+'\x20'+a0L[b8(0x29d)](z['options'][a4]));}console[b8(0x3b9)]();}const V='demo-free'===F?.[b8(0x298)][b8(0x38a)],W=J[b8(0x276)][-0xf5+-0x187*-0x1+-0x1*0x90]||0x190*-0x1+-0xb70+0xd00;V&&-0xd3*0x17+-0x1*0x173a+-0x7*-0x607===z[b8(0x448)]&&0x319+-0x7ab+0x1e*0x27===W&&(console[b8(0x3b9)](a0L[b8(0x475)][b8(0x259)]('\x20\x20'+a0ai(b8(0x23f)))),console[b8(0x3b9)]());const X=J[b8(0x30f)]-J[b8(0x215)];if(console[b8(0x3b9)](a0L[b8(0x2c3)](b8(0x332))),L){const a6=F&&b8(0x4a0)!==F['session'][b8(0x38a)]&&z['number']>=-0x233*0xd+-0xf68+0x2c26&&z[b8(0x448)]<=-0x2*0x35+0x14d*0x7+-0x889,a7=F&&b8(0x4a0)!==F[b8(0x298)]['examId']&&z[b8(0x448)]>=0x2b*-0xd3+-0x11b1+0x3541&&z[b8(0x448)]<=-0x1b*-0x1f+0x24c8+-0x27e7;'vla'===z[b8(0x339)]?console[b8(0x3b9)](a0L[b8(0x259)][b8(0x27a)](b8(0x2b5))+a0L[b8(0x2c3)]('\x20\x20\x20\x20\x20\x20\x20enter\x20VLA\x20attack\x20mode\x20for\x20this\x20question\x20(recommended)')):a7?console['log'](a0L[b8(0x259)]['green'](b8(0x2d6))+a0L['gray'](b8(0x2d1))):a6&&console[b8(0x3b9)](a0L['bold'][b8(0x37e)]('\x20\x20\x20\x20ctf4ai')+a0L[b8(0x2c3)](b8(0x305))),console['log'](a0L['yellow'](b8(0x24f))+a0L[b8(0x2c3)](b8(0x498))),console[b8(0x3b9)](a0L[b8(0x475)](b8(0x47f))+a0L[b8(0x2c3)](b8(0x275)));}else{const a8=J['max']>=-0x1866*0x1+-0x1e46+-0x2*-0x1b65,a9=X>0x1adc+-0x1c3e+0xb1*0x2?a0L[b8(0x2c3)](a0ai('helpRemove')+'\x20')+a0L[b8(0x475)]('('+X+'/'+J[b8(0x30f)]+')'):a8?a0L[b8(0x2c3)](a0ai(b8(0x38f))+'\x20('+J[b8(0x215)]+'/'+J['max']+')'):a0L[b8(0x2c3)](''+a0ai('helpUsedUp'));console[b8(0x3b9)](a0L[b8(0x475)](b8(0x4a8))+a0L[b8(0x2c3)](b8(0x27e)+a0ai(b8(0x4cf)))),console['log'](a0L[b8(0x475)](b8(0x34f))+b8(0x4ac)+a9);}console['log'](a0L[b8(0x475)](b8(0x25f))+a0L[b8(0x2c3)](b8(0x1cd))+a0L[b8(0x475)](b8(0x1f0))+a0L[b8(0x2c3)](b8(0x446)+a0ai(b8(0x3d1)))),console[b8(0x3b9)](a0L[b8(0x475)](b8(0x22e)+G)+a0L['gray']('\x20\x20\x20'+a0ai('htpJump'))),console[b8(0x3b9)](a0L[b8(0x475)](b8(0x317))+a0L[b8(0x2c3)](b8(0x4ac)+a0ai(b8(0x32d)))),console['log'](a0L['yellow'](b8(0x459))+a0L[b8(0x2c3)](b8(0x23c)+a0ai(b8(0x2e2)))),console['log'](a0L[b8(0x259)]['yellow'](b8(0x36e))+a0L[b8(0x2c3)](b8(0x23c)+a0ai(b8(0x4b1)))),console['log'](a0L[b8(0x475)]('\x20\x20\x20\x20back')+a0L[b8(0x2c3)](b8(0x4ac)+a0ai(b8(0x3f2)))),console[b8(0x3b9)](a0L[b8(0x475)](b8(0x234))+a0L[b8(0x2c3)](b8(0x4ac)+a0ai('htpLang'))),console[b8(0x3b9)](a0L['gray'](b8(0x332)));}export function registerExamCommand(z){const be=a0B,B=z[be(0x4be)]('exam')[be(0x432)](be(0x4a4));B['command'](be(0x3c5))[be(0x432)](be(0x40e))[be(0x3e1)](()=>{const bf=be;a0a8(bf(0x49a)),console[bf(0x3b9)](),a0ae(bf(0x2a9)),console[bf(0x3b9)]();const F=[['AU',bf(0x4c2)],['BD',bf(0x284)],['BI',bf(0x365)],['BR',bf(0x368)],['CN',bf(0x1e4)],['DE',bf(0x3d5)],['EG',bf(0x25a)],['FR',bf(0x32c)],['GH','Ghana'],['ID',bf(0x1d4)],['IN',bf(0x1ec)],['JP',bf(0x4a3)],['KR',bf(0x32e)],['LA',bf(0x362)],['LK','Sri\x20Lanka'],['MM',bf(0x267)],['MO',bf(0x295)],['MY','Malaysia'],['NZ',bf(0x3e4)],['PE',bf(0x2b3)],['PH',bf(0x3c3)],['RU',bf(0x465)],['SA',bf(0x36c)],['SG','Singapore'],['TH',bf(0x217)],['TR',bf(0x2dc)],['UK','United\x20Kingdom'],['US',bf(0x1f4)],['UZ',bf(0x291)],['VN',bf(0x220)],['ZA',bf(0x441)]];for(let G=0x10e6+-0x26f5*0x1+0x1*0x160f;G<F[bf(0x3d4)];G+=0x2552*-0x1+-0xd0+0x69*0x5d){const H=F[bf(0x449)](G,G+(0x181b+-0x201b+0x7*0x125))[bf(0x41f)](([J,K])=>'\x20\x20'+a0L[bf(0x27a)](J)+'\x20\x20'+a0L[bf(0x2c3)](K[bf(0x318)](-0x2507+-0x25cd+0x4ae4)))[bf(0x390)]('');console[bf(0x3b9)](H);}console[bf(0x3b9)](),console[bf(0x3b9)](a0L[bf(0x2c3)](bf(0x3c1))),console['log'](a0L[bf(0x2c3)]('\x20\x20New\x20member?\x20Contact:\x20accreditation@icoa2026.au')),console[bf(0x3b9)](),console[bf(0x3b9)](a0L['white'](bf(0x39e))),console[bf(0x3b9)](a0L[bf(0x27a)]('\x20\x20\x20\x20exam\x20list\x20AU')+a0L[bf(0x2c3)]('\x20\x20\x20\x20\x20exam\x20list\x20PE')+a0L['gray']('\x20\x20\x20\x20\x20exam\x20list\x20CN')),console['log']();}),B[be(0x4be)](be(0x3e0))[be(0x432)]('List\x20available\x20exams\x20(optional:\x202-letter\x20country\x20code)')[be(0x3e1)](async F=>{const bg=be;a0a8(bg(0x30d)+(F||''));const G=M();if(!G)return;const H=a0ag('Loading\x20exams...');H['start']();try{let J=await G[bg(0x35c)]();if(H['stop'](),F){const Q=F[bg(0x3f1)]();J=J[bg(0x323)](V=>V['country'][bg(0x3f1)]()===Q||bg(0x496)===V[bg(0x235)]);}if(!J||-0x128d+0xa7d+0x810===J[bg(0x3d4)]){console[bg(0x3b9)](),a0ac(F?bg(0x336)+F[bg(0x3f1)]()+bg(0x400):bg(0x47d)),console[bg(0x3b9)](),console[bg(0x3b9)](a0L[bg(0x29d)](bg(0x346))),console['log'](a0L[bg(0x2c3)](bg(0x1db))),console[bg(0x3b9)](),console[bg(0x3b9)](a0L[bg(0x2c3)](bg(0x21d))+a0L[bg(0x259)][bg(0x27a)]('demo')),console[bg(0x3b9)]();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(0x3f1)]();return void(W[X]&&(console[bg(0x3b9)](a0L[bg(0x2c3)](bg(0x241)+W[X])),console[bg(0x3b9)]()));}const K=J['map'](Y=>{const bh=bg,Z=bh(0x3ff)===Y[bh(0x352)]?a0L[bh(0x1d0)]:bh(0x24d)===Y[bh(0x352)]?a0L[bh(0x475)]:a0L[bh(0x29d)];return[a0L[bh(0x29d)](Y['id']),Y[bh(0x1f8)],a0L['cyan'](Y['country']),String(Y[bh(0x328)]),Y[bh(0x3d8)]+bh(0x300),Z(Y[bh(0x352)])];}),L=[...new Set(J['map'](Y=>Y[bg(0x235)]))];a0ae(F?bg(0x386)+F[bg(0x3f1)]():bg(0x439)+L[bg(0x3d4)]+bg(0x2dd)),a0ad(['ID',bg(0x41a),bg(0x4bf),bg(0x40c),'Duration',bg(0x30c)],K),console[bg(0x3b9)](),console[bg(0x3b9)](a0L[bg(0x2c3)]('\x20\x20Start:\x20exam\x20start\x20<id>')),L['length']>0x1cb7+-0x1a69+-0x24d&&console['log'](a0L[bg(0x2c3)](bg(0x3dd)));}catch(Y){H[bg(0x226)](bg(0x4d0)),a0aa(Y['message']);}}),B[be(0x4be)](be(0x225))[be(0x432)](be(0x3db))['action'](async F=>{const bi=be;a0a8(bi(0x1f2)+F);const G=a0Y();if(G)return a0ab(bi(0x2c2)+G[bi(0x298)][bi(0x261)]+bi(0x490)),void a0ac(bi(0x338));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bi(0x29d)](bi(0x4dc)),'default':!(0x1713+-0x2210+0xafd),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L[bi(0x1d0)](K)}}});if(J){console['log']();try{N(0x197*0xd+0xc37+-0x16e*0x17,bi(0x260));const {session:K,questions:L}=await H[bi(0x33e)](F);N(-0xe*0x242+0xe8e+0x112c,'Loading\x20questions...'),await q(-0x1*0x2563+-0x4ca*0x4+0x3953),N(-0x1*-0xd96+-0xe9d+0x143,bi(0x398)),await q(0x872+-0x9*-0x419+0x3*-0xed9),N(-0x27*-0xa7+-0x2*-0x856+0x29c3*-0x1,bi(0x407)),await q(-0x1bf6+-0x1b*-0x7+0x317*0x9),a0Z({'session':K,'questions':L,'answers':{}}),N(-0x1*-0x20b1+0x35*-0x65+-0xb64,bi(0x29e)),console[bi(0x3b9)](),console[bi(0x3b9)](),a0ae(K['examName']),a0af(bi(0x40c),String(K[bi(0x328)])),a0af(bi(0x3f7),K['durationMinutes']+bi(0x200)),a0af(bi(0x4bf),K[bi(0x235)]),O(),L['length']>-0x18f7+0x2*-0xd87+0x3405&&U(L[-0x36*-0x42+0xb93*-0x1+-0x259]);}catch(Q){console[bi(0x3b9)](),a0aa(Q[bi(0x1d8)]);}}}),B[be(0x4be)]('q\x20[n]')[be(0x432)](be(0x3bd))[be(0x3e1)](async F=>{const bj=be;a0a8(bj(0x493)+(F||'all'));const {refetchQuestionDataIfStale:G}=await import(bj(0x2a7));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,-0x2*0x430+-0x3*0x98a+0x2508),K=H['questions']['find'](L=>L[bj(0x448)]===J);if(!K)return void a0aa('Question\x20'+F+'\x20not\x20found\x20(1-'+H[bj(0x2db)][bj(0x3d4)]+').');H[bj(0x2aa)]=J,a0Z(H),U(K,H[bj(0x487)][J]);}else{a0ae(''+H[bj(0x298)][bj(0x261)]);const L=Object[bj(0x483)](H[bj(0x487)])[bj(0x3d4)];a0af('Progress',L+'/'+H[bj(0x298)]['questionCount']+'\x20answered'),console[bj(0x3b9)]();for(const Q of H[bj(0x2db)]){const V=H[bj(0x487)][Q[bj(0x448)]],W=V?a0L[bj(0x1d0)]('['+V+']'):a0L['gray'](bj(0x46a)),X=Q[bj(0x214)]?a0L[bj(0x2c3)]('\x20['+Q['category']+']'):'';console[bj(0x3b9)]('\x20\x20'+W+'\x20'+a0L[bj(0x29d)]('Q'+Q[bj(0x448)])+X+'\x20'+a0L[bj(0x2c3)](Q['text'][bj(0x473)](-0xb7*-0x2e+-0x209*0xa+0x8*-0x191,0x4a7*0x3+0x2b*0x3+0x71d*-0x2))+(Q[bj(0x2ac)]['length']>0x4af*-0x7+-0x5*-0x7bb+-0x5a2?bj(0x466):''));}console[bj(0x3b9)]();}}else a0aa('No\x20exam\x20in\x20progress.\x20Use\x20\x22exam\x20start\x20<id>\x22\x20to\x20begin.');}),B['command']('mark\x20[n]')['description']('Flag\x20a\x20question\x20to\x20review\x20later\x20(toggles)')[be(0x3e1)](F=>{const bk=be;a0a8(bk(0x331)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G['questions'][bk(0x3d4)],J=F?parseInt(F,-0x80d*0x2+-0x6d*-0x59+-0x1*0x15c1):G[bk(0x2aa)]||-0x20c1*-0x1+-0xc6b*-0x1+-0x1f*0x175;if(Number[bk(0x4b6)](J)||J<0x283*0x9+-0x2008+0x11*0x8e||J>H)return void a0aa(bk(0x320)+H+'.');const K=D(G,J);console[bk(0x3b9)](),K?console[bk(0x3b9)](a0L[bk(0x475)](bk(0x28b)+J+bk(0x22c))):console['log'](a0L[bk(0x2c3)]('\x20\x20☆\x20Q'+J+bk(0x250)));const L=Array['isArray'](G[bk(0x1ee)])?G[bk(0x1ee)]:[];L[bk(0x3d4)]>-0x1*-0x131a+-0x1248+-0x2*0x69&&console['log'](a0L[bk(0x2c3)]('\x20\x20Currently\x20flagged:\x20'+L[bk(0x41f)](Q=>'Q'+Q)['join'](',\x20'))),console[bk(0x3b9)](a0L[bk(0x2c3)]('\x20\x20See\x20all\x20flagged\x20questions\x20in:\x20')+a0L[bk(0x29d)](bk(0x3a4))),console['log']();}),B['command'](be(0x28c))[be(0x432)](be(0x404))[be(0x3e1)](F=>{const bl=be;a0a8(bl(0x264)+(F||''));const G=a0Y();if(!G)return void a0aa(bl(0x492));const H=G[bl(0x2db)][bl(0x3d4)],J=F?parseInt(F,-0xc9b+-0x1*-0x236b+-0x16c6):G['_lastQ']||0x2a*0x56+-0x1*0x1bac+0x1*0xd91;Number[bl(0x4b6)](J)||J<-0x1090+0x1*-0x1cb4+-0x1*-0x2d45||J>H?a0aa('Invalid\x20question\x20number.\x20Use\x201..'+H+'.'):j(G,J)?(D(G,J),console['log'](),console[bl(0x3b9)](a0L[bl(0x2c3)](bl(0x3a2)+J+bl(0x250))),console[bl(0x3b9)]()):console[bl(0x3b9)](a0L[bl(0x2c3)]('\x20\x20Q'+J+bl(0x21c)));}),B[be(0x4be)](be(0x2e5))[be(0x432)]('Go\x20to\x20next\x20question')[be(0x3e1)](()=>{const bm=be;a0a8('exam\x20next');const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');F[bm(0x2db)][bm(0x375)](K=>!F[bm(0x487)][K[bm(0x448)]]);const G=F[bm(0x2aa)]||0x189*-0x3+0x1087+-0x71*0x1b,H=Math[bm(0x395)](G+(-0x202+0x100c+-0x1*0xe09),F[bm(0x2db)]['length']);F[bm(0x2aa)]=H,a0Z(F);const J=F[bm(0x2db)][H-(-0x19*0x151+0x2018+0xd2)];U(J,F[bm(0x487)][J[bm(0x448)]]);}),B[be(0x4be)](be(0x1f0))[be(0x432)]('Go\x20to\x20previous\x20question')[be(0x3e1)](()=>{const bn=be;a0a8(bn(0x2bd));const F=a0Y();if(!F)return void a0aa(bn(0x492));const G=F[bn(0x2aa)]||-0x889+-0x145a+0x2*0xe72,H=Math[bn(0x30f)](G-(0x4bd+0x224c+-0x2708),0xa2f*0x2+-0x1588+0x17*0xd);F[bn(0x2aa)]=H,a0Z(F);const J=F[bn(0x2db)][H-(0x25*-0xc7+0x96*-0x5+0x1fb2*0x1)];U(J,F[bn(0x487)][J[bn(0x448)]]);}),B['command'](be(0x2a1))['description']('Eliminate\x20one\x20wrong\x20option\x20(limited\x20uses)')[be(0x3e1)](async()=>{const bo=be;a0a8(bo(0x306));const F=a0Y();if(!F)return void a0aa(bo(0x492));const G=R(F),H=F[bo(0x2aa)]||-0x97*-0x23+-0x208*-0x13+-0x3b3c,J=G[bo(0x276)][H]||0x1*-0x1f45+0x14d4*0x1+0x51*0x21,K=G[bo(0x40a)][H]||[],L=F[bo(0x2db)][bo(0x25c)](W=>W[bo(0x448)]===H);if(!L)return;if(J>=0x2*0xd39+0x2374+-0x22*0x1d2)return console[bo(0x3b9)](),console[bo(0x3b9)](a0L[bo(0x475)]('\x20\x20🙈\x20Max\x202\x20helps\x20per\x20question\x20—\x20you\x20already\x20have\x20a\x2050/50!')),console[bo(0x3b9)](a0L[bo(0x2c3)](bo(0x1ff))),console[bo(0x3b9)](),void U(L,F[bo(0x487)][L['number']]);const Q=['A','B','C','D'][bo(0x323)](W=>!K['includes'](W));if(Q[bo(0x3d4)]<=-0xc34+0x503+0x733)return console['log'](),console[bo(0x3b9)](a0L[bo(0x475)](bo(0x4c8))),console[bo(0x3b9)](),void U(L,F[bo(0x487)][L['number']]);if(G[bo(0x215)]>=G[bo(0x30f)]){const W=G['max']>=0x1*-0x823+0xee7+-0x6a6,X=-0x1b68*-0x1+-0x11bc+-0x98e-G['max'];return void(W?(console[bo(0x3b9)](),console[bo(0x3b9)](a0L[bo(0x2c3)]('\x20\x20All\x20help\x20used\x20('+G[bo(0x215)]+'/'+G[bo(0x30f)]+').\x20You\x27re\x20on\x20your\x20own!\x20💪')),console['log']()):(console['log'](),console[bo(0x3b9)](a0L[bo(0x475)]('\x20\x20Help\x20used:\x20'+G[bo(0x215)]+'/'+G[bo(0x30f)])),console[bo(0x3b9)](a0L[bo(0x29d)](bo(0x3ad))+a0L[bo(0x259)][bo(0x475)](bo(0x299))+a0L[bo(0x2c3)](bo(0x20c)+X+bo(0x2ce))),console[bo(0x3b9)]()));}const V=Y=>{const bp=bo;K['push'](Y),G[bp(0x40a)][H]||(G['eliminated'][H]=[]),G['eliminated'][H]=K,G[bp(0x276)][H]=J+(0x1*-0x2675+-0x1*-0x261f+0x57),G['used']++,F['_helpUsed']=G['used'],F[bp(0x4cd)]=G[bp(0x30f)],F[bp(0x380)]=G[bp(0x276)],F[bp(0x223)]=G[bp(0x40a)],F[bp(0x257)]||(F[bp(0x257)]=[]),F[bp(0x257)]['push']({'ts':new Date()[bp(0x40b)](),'q':H,'type':bp(0x23a),'result':bp(0x38e)+Y}),a0Z(F),console[bp(0x3b9)](),console[bp(0x3b9)](a0L['yellow'](bp(0x2bb)+Y+'\x20eliminated!')+a0L[bp(0x2c3)](bp(0x474)+G[bp(0x215)]+'/'+G[bp(0x30f)]+')')),U(L,F[bp(0x487)][L[bp(0x448)]]);};if(bo(0x4a0)===F[bo(0x298)][bo(0x38a)]&&L[bo(0x2c5)])(Y=>{const bq=bo,Z=Q['filter'](a0=>a0!==Y&&!K[bq(0x20e)](a0));-0x1921+0x12fe+0x1*0x623!==Z[bq(0x3d4)]&&V(Z[Math['floor'](Math[bq(0x3f6)]()*Z['length'])]);})(L[bo(0x2c5)]);else{const Y=a0W()['ctfdUrl']||bo(0x2cc),Z=F[bo(0x298)]?.[bo(0x2af)]||'';try{const a0={};a0['Content-Type']=bo(0x3c4),a0[bo(0x462)]='icoa-cli';const a1={};a1[bo(0x2af)]=Z,a1[bo(0x35b)]=H,a1[bo(0x40a)]=K;const a2=await fetch(Y+'/api/icoa/exams/'+F['session'][bo(0x38a)]+bo(0x48f),{'method':bo(0x354),'headers':a0,'body':JSON[bo(0x213)](a1),'signal':AbortSignal['timeout'](0x15e+-0x108b+0x22b5)}),a3=await a2[bo(0x4d6)](),a4=a3?.[bo(0x378)]?.[bo(0x2de)];a4&&['A','B','C','D'][bo(0x20e)](a4)?V(a4):(console[bo(0x3b9)](),console[bo(0x3b9)](a0L[bo(0x2c3)](bo(0x24c))));}catch{console['log'](),console[bo(0x3b9)](a0L[bo(0x2c3)](bo(0x231)));}}}),B[be(0x4be)]('more-help')['description'](be(0x3a8))['action'](()=>{const br=be;a0a8(br(0x3a6));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=R(F),H=br(0x4a0)===F[br(0x298)][br(0x38a)]?0xee0+-0x1c6*0x3+0x6a*-0x17:-0x155*-0x7+0x150+-0x1*0xa85;if(G[br(0x30f)]>=H)return void console[br(0x3b9)](a0L[br(0x2c3)]('\x20\x20Bonus\x20help\x20already\x20unlocked.'));if(G['used']<G[br(0x30f)])return void console[br(0x3b9)](a0L['gray']('\x20\x20You\x20still\x20have\x20'+(G[br(0x30f)]-G[br(0x215)])+br(0x411)));const J=H-G['max'];F['_helpMax']=H,a0Z(F),console[br(0x3b9)](),console[br(0x3b9)](a0L['green'](br(0x440)+J+br(0x1e7)+J+'/'+H+br(0x33d))),console[br(0x3b9)](a0L[br(0x2c3)]('\x20\x20Type\x20\x22help\x22\x20on\x20any\x20question\x20to\x20use.')),console[br(0x3b9)]();}),B[be(0x4be)](be(0x358))[be(0x432)](be(0x3e6))[be(0x3e1)](async(F,G)=>{const bs=be,H=G[bs(0x390)]('\x20');a0a8(bs(0x30b)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bs(0x26d));if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(-0x1*-0x1c01+-0x731+-0x14d0);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x483)](a0[bt(0x487)])[bt(0x3d4)];bt(0x4a0)===a0[bt(0x298)][bt(0x38a)]||0x1bd*-0x11+0xc0b+0x53*0x36===a1?(a0a0(),a0ab(bt(0x38c)),a0ac('Type:\x20demo\x20to\x20start\x20again.')):(a0aa('Time\x20expired.'),a0ac(bt(0x45a)));}return!(-0x4e*0x4f+0x803+0x1010);}return!(0x1*0x1bf4+0x4*0x8b1+-0x14e8*0x3);}()))return;const K=parseInt(F,0x53*0x13+-0x21*-0x6e+-0x144d*0x1),L=J['questions'][bs(0x25c)](Z=>Z[bs(0x448)]===K);if(!L)return void a0aa(bs(0x1da)+F+'\x20not\x20found\x20(1-'+J[bs(0x2db)]['length']+').');let Q;if('ai4ctf'===L[bs(0x339)]||bs(0x1e9)===L[bs(0x339)]||'vla'===L[bs(0x339)]||L[bs(0x2a4)]&&!L[bs(0x2a4)]['A']&&!L['options']['B']){if(Q=H['trim'](),/^submit\s+/i['test'](Q)&&(Q=Q[bs(0x27b)](/^submit\s+/i,'')[bs(0x43d)]()),Q=Q[bs(0x27b)](/^["'`]+|["'`]+$/g,'')['trim'](),!Q)return void a0aa(bs(0x27c));if(/^[A-Da-d]$/[bs(0x471)](Q))return a0aa('Q'+K+bs(0x392)),void console[bs(0x3b9)](a0L[bs(0x2c3)](bs(0x3c8))+a0L[bs(0x1d0)]('exam\x20answer\x20'+K+bs(0x2ad)));}else{if(Q=H[bs(0x3f1)](),!['A','B','C','D'][bs(0x20e)](Q))return void a0aa('Choice\x20must\x20be\x20A,\x20B,\x20C,\x20or\x20D.');}if('demo-free'===J[bs(0x298)][bs(0x38a)]&&0x2163+0x207d+-0x41de===K&&-0x2431+0x15*-0x1d8+0x4ae9===(R(J)[bs(0x276)][-0x2359*-0x1+0xfa*0x1+-0x2451*0x1]||-0x152+-0xf96+0x10e8))return console[bs(0x3b9)](),console[bs(0x3b9)](a0L['yellow'](bs(0x488))+a0L[bs(0x259)]['yellow'](bs(0x2a1))+a0L[bs(0x475)](bs(0x342))),console['log'](a0L[bs(0x2c3)]('\x20\x20This\x20question\x20requires\x20you\x20to\x20use\x20help\x20before\x20answering.')),void console[bs(0x3b9)]();const V=J[bs(0x487)][K];J['interactions']||(J[bs(0x257)]=[]),J[bs(0x257)][bs(0x414)]({'ts':new Date()[bs(0x40b)](),'q':K,'type':V?bs(0x315):bs(0x21b),'input':Q,'result':V?bs(0x37d)+V:bs(0x327)}),J[bs(0x487)][K]=Q,J[bs(0x2aa)]=K,a0Z(J),console[bs(0x3b9)](a0L[bs(0x2c3)](bs(0x2d5)));const W=J['session'][bs(0x2af)];if(W&&'demo-free'!==J[bs(0x298)][bs(0x38a)]){const Z=(a0W()[bs(0x4c0)]||bs(0x2cc))+bs(0x3ce)+J['session'][bs(0x38a)]+bs(0x3e8),a0={};a0[bs(0x428)]=bs(0x3c4);const a1={};a1[bs(0x2af)]=W,a1[bs(0x35b)]=K,a1['answer']=Q,fetch(Z,{'method':bs(0x354),'headers':a0,'body':JSON[bs(0x213)](a1),'signal':AbortSignal[bs(0x4a2)](0x534+0x11e2+-0x38e)})[bs(0x359)](()=>{});}const X=Object[bs(0x483)](J[bs(0x487)])[bs(0x3d4)],Y=J[bs(0x298)][bs(0x328)];if(a0a9('Q'+K+':\x20'+Q+'\x20✓\x20\x20('+X+'/'+Y+bs(0x248)),'demo-free'===J['session']['examId']&&L[bs(0x2c5)]){const a2=['Nice\x20one.',bs(0x2f9),bs(0x1e2),bs(0x44a),'Spot\x20on.'],a3=[bs(0x4ce),'Hmm,\x20worth\x20a\x20second\x20look\x20at\x20the\x20end.',bs(0x489)],a4=Q===L[bs(0x2c5)]?a2:a3,a5=a4[Math[bs(0x2eb)](Math[bs(0x3f6)]()*a4[bs(0x3d4)])];console['log'](a0L[bs(0x2c3)]('\x20\x20\x20\x20·\x20'+a5));}if(K<J[bs(0x2db)][bs(0x3d4)]){const a6=J[bs(0x2db)][K];J[bs(0x2aa)]=a6[bs(0x448)],a0Z(J),U(a6,J[bs(0x487)][a6[bs(0x448)]]);}else X>=J[bs(0x2db)][bs(0x3d4)]&&(console['log'](),console[bs(0x3b9)](a0L['green'][bs(0x259)]('\x20\x20🎉\x20All\x20questions\x20answered!')),console[bs(0x3b9)](),bs(0x4a0)===J[bs(0x298)]['examId']?(console[bs(0x3b9)](a0L['white'](bs(0x3dc))+a0L['bold'][bs(0x27a)](bs(0x3f3))+a0L[bs(0x29d)](bs(0x3bf))),console['log']()):console[bs(0x3b9)](a0L[bs(0x29d)](bs(0x265))));}),B[be(0x4be)](be(0x36b))[be(0x432)](be(0x3a0))[be(0x3e1)](()=>{const bu=be;a0a8('exam\x20review');const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');a0ae(bu(0x2be)+F[bu(0x298)][bu(0x261)]),O(),console[bu(0x3b9)]();let G='\x20\x20';const H=Array[bu(0x478)](F[bu(0x1ee)])?F['bookmarks']:[];for(const Q of F[bu(0x2db)]){const V=F[bu(0x487)][Q[bu(0x448)]],W=H['includes'](Q['number']),X=W?'★':'\x20';G+=V?W?a0L[bu(0x259)][bu(0x475)]('Q'+String(Q['number'])[bu(0x3fe)](0xf3d+0xe76+-0x2b3*0xb)+X+'['+V+']\x20'):a0L[bu(0x1d0)]('Q'+String(Q[bu(0x448)])['padStart'](-0x1*0x1f2+0x1*-0x10f6+0x12ea)+'\x20['+V+']\x20\x20'):W?a0L['bold'][bu(0x475)]('Q'+String(Q[bu(0x448)])[bu(0x3fe)](-0x17d2+0xf3b+0x899)+X+bu(0x38b)):a0L[bu(0x475)]('Q'+String(Q['number'])['padStart'](-0x4f*0x2b+-0x2*0x12d3+0x32ed)+'\x20[\x20]\x20\x20'),Q[bu(0x448)]%(-0x31*-0xa+0x1f87*-0x1+0x1da3)==0x1613*0x1+-0xb75+-0xa9e&&(console[bu(0x3b9)](G),G='\x20\x20');}G[bu(0x43d)]()&&console[bu(0x3b9)](G);const J=Object[bu(0x483)](F['answers'])[bu(0x3d4)],K=F['session'][bu(0x328)],L=K-J;if(console[bu(0x3b9)](),a0af(bu(0x48c),a0L[bu(0x1d0)][bu(0x259)](J+'/'+K)),L>-0x4*0xb3+-0x1577+0x1843){const Y=F[bu(0x2db)][bu(0x323)](Z=>!F[bu(0x487)][Z[bu(0x448)]])[bu(0x41f)](Z=>Z[bu(0x448)])['join'](',\x20');a0af(bu(0x34b),a0L[bu(0x475)](L+'\x20(Q'+Y+')'));}H[bu(0x3d4)]>0x227e+-0xc93+-0x15eb&&a0af(bu(0x3d0),a0L[bu(0x259)]['yellow']('★\x20'+H[bu(0x3d4)])+a0L[bu(0x2c3)]('\x20('+H[bu(0x41f)](Z=>'Q'+Z)['join'](',\x20')+')')),console[bu(0x3b9)](),H[bu(0x3d4)]>0xf*-0x20c+0x856*0x2+0xe08&&console[bu(0x3b9)](a0L[bu(0x2c3)]('\x20\x20Jump\x20to\x20a\x20flagged\x20question:\x20')+a0L[bu(0x29d)](bu(0x493)+H[0x4f7+-0x2ce*-0x3+-0x89*0x19])),console['log'](a0L[bu(0x2c3)](bu(0x2b1))+a0L['bold'][bu(0x27a)](bu(0x3f3))+a0L[bu(0x2c3)](bu(0x396)));}),B['command']('submit\x20[confirmArg]\x20[secondArg]')[be(0x432)](be(0x383))['action'](async(J,K)=>{const bv=be;a0a8(bv(0x280)+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&bv(0x2c9)===J&&!K&&(L[bv(0x1d9)]=!(-0x1*-0xc14+-0x58f+-0x685*0x1),a0Z(L)),!L)return void a0aa('No\x20exam\x20in\x20progress.');const Q=Object['keys'](L[bv(0x487)])['length'],V=L['session'][bv(0x328)],W=V-Q;if(-0x271*0x8+-0xb4a*0x3+-0x1ab3*-0x2===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void(bv(0x4a0)===L[bv(0x298)][bv(0x38a)]||a1?(a0a0(),a0ab(bv(0x2e6)),a0ac(bv(0x403))):(a0ab(bv(0x36d)),a0ac('Answer\x20some\x20questions\x20first:\x20exam\x20q\x201')));}const X=a0a1(),Y=!!(X&&new Date()>=X);if(bv(0x4a0)!==L[bv(0x298)][bv(0x38a)]&&!Y&&bv(0x2c9)===J&&Q<-0x22eb+-0x1*0x2173+-0x8*-0x88d){if((K||'')[bv(0x43d)]()!==String(Q))return console['log'](),console[bv(0x3b9)](a0L[bv(0x37e)](bv(0x1e1))),console[bv(0x3b9)](a0L[bv(0x259)]['red'](bv(0x1fe)+Q+'/'+V+bv(0x302))),console[bv(0x3b9)](a0L[bv(0x37e)](bv(0x1e1))),console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x29d)]('\x20\x20Submitting\x20now\x20scores\x20from\x20only\x20')+a0L[bv(0x259)][bv(0x475)](''+Q)+a0L[bv(0x29d)](bv(0x40f))+a0L[bv(0x29d)](''+V)+a0L[bv(0x29d)]('\x20questions.')),console[bv(0x3b9)](a0L[bv(0x29d)](bv(0x32b))+a0L[bv(0x259)]['red'](Q+'/'+V+bv(0x4c9))),console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x259)][bv(0x29d)]('\x20\x20To\x20go\x20back\x20and\x20answer\x20more:')),console[bv(0x3b9)](a0L[bv(0x2c3)](bv(0x446))+a0L[bv(0x27a)](bv(0x399))+a0L['gray']('\x20\x20\x20(resume\x20from\x20Q1)')),console['log'](a0L[bv(0x2c3)](bv(0x446))+a0L[bv(0x27a)](bv(0x3a4))+a0L[bv(0x2c3)](bv(0x2cb))),console['log'](),console[bv(0x3b9)](a0L[bv(0x259)][bv(0x29d)]('\x20\x20If\x20you\x20really\x20want\x20to\x20submit\x20with\x20just\x20')+a0L[bv(0x259)][bv(0x475)](''+Q)+a0L['bold']['white']('\x20answers,\x20type:')),console[bv(0x3b9)](a0L[bv(0x2c3)](bv(0x446))+a0L[bv(0x259)]['cyan'](bv(0x3df)+Q)),console['log'](a0L[bv(0x2c3)](bv(0x2b2)+Q+bv(0x3bb))),console[bv(0x3b9)](),void(L[bv(0x1d9)]&&(delete L[bv(0x1d9)],a0Z(L)));L['_submitConfirmed']=!(-0xe36+0xe0b+0x2b),a0Z(L);}if('demo-free'!==L['session'][bv(0x38a)]){const a2=!(0x114c+0xff5+-0x1*0x2141)===L['_submitConfirmed'],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console[bv(0x3b9)](),console['log'](a0L[bv(0x37e)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bv(0x3b9)](a0L[bv(0x259)][bv(0x37e)](bv(0x4b7))),console['log'](a0L[bv(0x37e)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),console[bv(0x3b9)](a0L[bv(0x29d)]('\x20\x20You\x20will\x20submit\x20'+a0L[bv(0x259)][bv(0x1d0)](Q+'/'+V)+bv(0x429))),W>0x1*-0xd97+0x1d72*-0x1+0x2b09){const a6=L[bv(0x2db)]['filter'](a7=>!L[bv(0x487)][a7['number']])['map'](a7=>'Q'+a7[bv(0x448)])[bv(0x390)](',\x20');console[bv(0x3b9)](a0L[bv(0x475)]('\x20\x20'+W+bv(0x39b)+a6));}const a5=Array[bv(0x478)](L[bv(0x1ee)])?L['bookmarks']:[];return a5[bv(0x3d4)]>0x53e+-0xb41+0x39*0x1b&&console[bv(0x3b9)](a0L[bv(0x475)]('\x20\x20★\x20'+a5['length']+bv(0x418)+a5[bv(0x41f)](a7=>'Q'+a7)[bv(0x390)](',\x20'))),console[bv(0x3b9)](),console['log'](a0L['white']('\x20\x20Answers\x20are\x20')+a0L[bv(0x259)]['red'](bv(0x1fa))+a0L['white'](bv(0x2d2))),console[bv(0x3b9)](),console['log'](a0L[bv(0x259)]['white']('\x20\x20To\x20confirm:\x20\x20')+a0L['bold'][bv(0x27a)](bv(0x3e5))),console['log'](a0L[bv(0x29d)](bv(0x212))+a0L[bv(0x27a)](bv(0x3a4))+a0L['gray'](bv(0x2a3))+a0L[bv(0x27a)](bv(0x4ad))),void console['log']();}a2&&(delete L[bv(0x1d9)],a0Z(L));}if(console[bv(0x3b9)](),bv(0x4a0)===L[bv(0x298)][bv(0x38a)]){try{N(0xbe3+0x8a7+0x1de*-0xb,a0ai(bv(0x2a5))),await q(0x1dc+0x153c+0x5c*-0x3d);let a7=0xb8*0x21+0x95+0x184d*-0x1;const a8=[],a9={};for(const al of L['questions']){const am=al['category']||bv(0x48e),an={};an[bv(0x433)]=0x0,an[bv(0x216)]=0x0,(a9[am]||(a9[am]=an),a9[am][bv(0x216)]++);const ao=L['answers'][al[bv(0x448)]];ao&&al['answer']&&ao===al[bv(0x2c5)]?(a7++,a9[am][bv(0x433)]++):a8[bv(0x414)](al[bv(0x448)]);}a8['sort']((ap,aq)=>ap-aq),N(0x449*-0x2+0x2*-0xcec+0x22ce,a0ai(bv(0x349))),console[bv(0x3b9)]();const aa=new Date(L[bv(0x298)][bv(0x334)])[bv(0x1d7)](),ab=Math[bv(0x30f)](0x367*-0x1+-0x967+0x667*0x2,Math[bv(0x369)]((Date[bv(0x33c)]()-aa)/(0x43*-0xb+0xf97+-0x8ce))),ac=Math[bv(0x2eb)](ab/(-0x1377+-0x12f0+0x26a3))+'m\x20'+ab%(-0xdc7*0x1+-0x24ba+0x32bd)+'s',ad=[...L[bv(0x2db)]],ae={...L[bv(0x487)]},af=R(L);a0a0();const ag=Math['round'](a7/V*(0x192d*0x1+0xcd9*0x1+0x25a2*-0x1)),ah=a0W(),ai={};ai[bv(0x428)]=bv(0x3c4),(fetch(bv(0x1d3),{'method':bv(0x354),'headers':ai,'body':JSON[bv(0x213)]({'type':bv(0x340),'score':a7,'total':V,'lang':ah[bv(0x427)]||'en','help_used':af[bv(0x215)],'help_max':af[bv(0x30f)],'tokens_used':0x0,'solved':ag>=0x896+-0x24cf+0x1c75?0xf1*0x22+-0x1986+-0x67b:-0x88b*0x2+0x97*-0x5+0xdf*0x17,'timestamp':new Date()[bv(0x40b)](),'interactions':L[bv(0x257)]||[]}),'signal':AbortSignal['timeout'](-0x6d*-0x47+-0xa8e+-0x25)})[bv(0x359)](()=>{}),console[bv(0x3b9)](),console[bv(0x3b9)](a0L['cyan'](bv(0x34a))),console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x259)]['white']('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bv(0x3b9)](a0L['bold'][bv(0x29d)]('\x20\x20\x20██║██╔════╝██╔═══██╗██╔══██╗')),console['log'](a0L[bv(0x259)][bv(0x29d)](bv(0x46f))),console['log'](a0L['bold'][bv(0x29d)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bv(0x3b9)](a0L['bold'][bv(0x29d)](bv(0x451))),console[bv(0x3b9)](a0L[bv(0x259)]['white']('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bv(0x3b9)](),console[bv(0x3b9)](a0L['bold']('\x20\x20\x20'+a0ai(bv(0x4d7))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console['log'](a0L[bv(0x259)](bv(0x23c)+(ag>=-0x14*0xe3+-0x839*-0x3+-0x6b3?a0L[bv(0x1d0)](a0ai(bv(0x31b))):a0L[bv(0x37e)](a0ai('notPassed'))))),console['log'](a0L[bv(0x2c3)](bv(0x481)+ac)),console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x475)](bv(0x437))),console[bv(0x3b9)](a0L[bv(0x2c3)]('\x20\x20\x20Sydney,\x20Australia\x20·\x20Jun\x2027\x20-\x20Jul\x202,\x202026')),console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x27a)](bv(0x34a))),await q(0x1*-0x9ad+0x1*-0xc87+0x21ec));const aj=Object['entries'](a9);if(aj[bv(0x3d4)]>0x83c+0x2670+-0x2eac){console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x259)]['white'](bv(0x1e5)));const ap=0xb4c+-0xf37*0x1+0x3f5;for(const [aq,ar]of aj){const as=ar['total']>0x227a+-0x59*-0x29+-0x9bf*0x5?Math['round'](ar[bv(0x433)]/ar[bv(0x216)]*(-0x2260+0x6b9*-0x5+-0x16cb*-0x3)):-0xc15*0x2+0x16b2+0x8*0x2f,at=ar['total']>-0x2fe*0x1+0x2211+-0x1f13?Math[bv(0x369)](ar[bv(0x433)]/ar[bv(0x216)]*ap):-0x19f6+0x265d+-0xc67,au=ap-at,av=as>=0xc94+-0x2*0x121e+0x2*0xbfc?a0L[bv(0x1d0)]:as>=0x641+0x2ff+-0x90e?a0L[bv(0x475)]:a0L[bv(0x37e)],aw=av('█'[bv(0x3fa)](at))+a0L[bv(0x2c3)]('░'[bv(0x3fa)](au));console[bv(0x3b9)](bv(0x446)+a0L['white'](aq[bv(0x318)](0x23e7+0x619*-0x3+-0x1188))+'\x20'+aw+'\x20\x20'+av(ar[bv(0x433)]+'/'+ar['total'])+a0L['gray']('\x20('+as+'%)'));}console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x27a)](bv(0x431)));}const ak=a0a4(a7,V);if(a7===ak[bv(0x36f)]&&ak[bv(0x367)]>0x17*0x6d+0x971*-0x3+-0x1289*-0x1&&a7>0x1012+0x1b1e+0x8*-0x566&&(console[bv(0x3b9)](),console['log'](a0L['bold'][bv(0x1d0)](bv(0x211)))),a8[bv(0x3d4)]>0x4b3*-0x7+-0x10*-0x130+-0xde5*-0x1){const ax=ad[bv(0x323)](ay=>a8[bv(0x20e)](ay[bv(0x448)]))[bv(0x41f)](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(0xd36+0xafa+-0xc78),a8['length']>0x2065+-0xeb*-0x1+-0x2150){console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x475)]('\x20\x20'+a8[bv(0x3d4)]+'\x20'+a0ai('incorrectIntro'))),console[bv(0x3b9)]();for(const ay of a8){const az=ad[bv(0x25c)](aC=>aC[bv(0x448)]===ay);if(!az)continue;const aA=ae[ay],aB=az['answer'];console['log'](a0L['white']('\x20\x20Q'+ay+'.\x20'+az[bv(0x2ac)])),aA?console['log'](a0L[bv(0x37e)]('\x20\x20\x20\x20'+a0ai(bv(0x3b6))+':\x20'+aA+'.\x20'+az[bv(0x2a4)][aA])):console[bv(0x3b9)](a0L['yellow'](bv(0x446)+a0ai(bv(0x3b6))+bv(0x3a9))),aB&&console[bv(0x3b9)](a0L[bv(0x1d0)]('\x20\x20\x20\x20'+a0ai(bv(0x433))+':\x20'+aB+'.\x20'+az['options'][aB])),az['explanation']&&console[bv(0x3b9)](a0L[bv(0x2c3)]('\x20\x20\x20\x20→\x20'+az['explanation'])),console[bv(0x3b9)]();}}else console[bv(0x3b9)](),console['log'](a0L[bv(0x1d0)]('\x20\x20'+a0ai(bv(0x3ef))));await q(0x3*-0x5e9+-0x5a3+0x1f2e),console[bv(0x3b9)](),console[bv(0x3b9)](a0L['cyan']('\x20\x20─────────────────────────────────────────────')),console[bv(0x3b9)](a0L['white']('\x20\x20'+a0ai(bv(0x239))+'\x20')+a0L['bold'][bv(0x1d0)](bv(0x2ef))+a0L['gray']('\x20—\x20'+a0ai(bv(0x309)))),console[bv(0x3b9)](a0L[bv(0x2c3)]('\x20\x20'+a0ai(bv(0x329)))),console['log'](a0L[bv(0x27a)](bv(0x431))),console[bv(0x3b9)]();}catch(aC){console['log'](),a0aa(aC[bv(0x1d8)]);}return;}const Z=L[bv(0x298)][bv(0x2af)];try{let aD;if(N(-0x11c7+-0x216d+-0x74*-0x71,bv(0x46c)),Z){const aN={};aN[bv(0x428)]=bv(0x3c4);const aO={};aO[bv(0x2ef)]=0x0,aO['ctf4ai']=0x0;const aP=a0W()[bv(0x4c0)]||bv(0x2cc),aQ=await fetch(aP+bv(0x3ce)+L[bv(0x298)]['examId']+bv(0x3d9),{'method':bv(0x354),'headers':aN,'body':JSON[bv(0x213)]({'token':Z,'answers':L[bv(0x487)],'interactions':L[bv(0x257)]||[],'aiUsage':L['aiUsage']||aO,'bookmarks':L['bookmarks']||[]}),'signal':AbortSignal[bv(0x4a2)](0x4351+0xbe*0x31+-0x2a7*0x11)});if(!aQ['ok']){const aR=await aQ[bv(0x4d6)]()[bv(0x359)](()=>({'message':bv(0x4bd)}));throw new Error(aR[bv(0x1d8)]||bv(0x4bd));}aD=(await aQ['json']())[bv(0x378)];}else{const aS=M();if(!aS)return;aD=await aS[bv(0x377)](L[bv(0x298)][bv(0x38a)],L[bv(0x487)]);}N(-0x16ec+0x2*-0x39b+0xc*0x287,bv(0x207)),await q(-0x2350+-0x13a*-0xe+0x1350),N(0x1bdb*-0x1+0x42f*-0x9+0x41e6,bv(0x210)),console['log']();const aE={};aE[bv(0x2ef)]=0x0,aE[bv(0x1e9)]=0x0;const aF={'answered':Object[bv(0x483)](L['answers'])[bv(0x3d4)],'total':L[bv(0x298)][bv(0x328)],'bookmarks':Array['isArray'](L[bv(0x1ee)])?L['bookmarks'][bv(0x3d4)]:-0x3e1+-0x5d5*0x1+0x9b6,'help':R(L),'aiUsage':L[bv(0x312)]||aE,'interactions':(L[bv(0x257)]||[])[bv(0x3d4)],'durationMin':L['session'][bv(0x3d8)]||0x2b*-0xc5+0x463+0x1cb4,'confirmedAt':L['session'][bv(0x22a)]||L[bv(0x298)][bv(0x334)],'examId':L[bv(0x298)]['examId']};a0a0();const aG=Math['max'](-0xe02+-0x7*-0x38b+0x3*-0x399,Math[bv(0x369)]((Date[bv(0x33c)]()-new Date(aF[bv(0x22a)])[bv(0x1d7)]())/(-0x15cd+-0x1*0x1b7a+-0x5*-0xaa3))),aH=Math[bv(0x2eb)](aG/(-0x1bd3+-0xd8*0x4+0x1f6f)),aI=aG%(0x5*0x5de+-0x481*0x1+0x833*-0x3);console['log'](),console['log'](a0L[bv(0x27a)]('\x20\x20═════════════════════════════════════════════')),console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x259)][bv(0x29d)](bv(0x293))),console[bv(0x3b9)](a0L[bv(0x259)]['white'](bv(0x46d))),console['log'](a0L[bv(0x259)][bv(0x29d)](bv(0x46f))),console[bv(0x3b9)](a0L['bold'][bv(0x29d)](bv(0x341))),console[bv(0x3b9)](a0L[bv(0x259)][bv(0x29d)](bv(0x451))),console[bv(0x3b9)](a0L['bold']['white']('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bv(0x3b9)]();const aJ=aD[bv(0x31b)]?a0L['green'][bv(0x259)]('\x20\x20\x20✓\x20\x20Submission\x20accepted\x20—\x20baseline\x20met'):a0L['yellow'][bv(0x259)](bv(0x3f0));console[bv(0x3b9)](aJ),console[bv(0x3b9)](),console[bv(0x3b9)](a0L['white'](bv(0x394))),console['log'](a0L[bv(0x29d)](bv(0x1f1))),console[bv(0x3b9)](a0L[bv(0x29d)]('\x20\x20\x20the\x20organizer\x20in\x20your\x20country.')),console['log'](),console[bv(0x3b9)](a0L[bv(0x27a)](bv(0x431))),console['log'](),console['log'](a0L[bv(0x259)][bv(0x29d)](bv(0x288)));const aK=aF[bv(0x216)]-aF[bv(0x36a)];console[bv(0x3b9)]('\x20\x20\x20\x20'+a0L[bv(0x2c3)](bv(0x3ed))+a0L[bv(0x29d)](aF[bv(0x36a)]+'/'+aF[bv(0x216)])+(aK>0x1*0x1f8d+-0x5cf+-0x19be?a0L[bv(0x2c3)]('\x20\x20·\x20\x20'+aK+'\x20skipped'):'')),console[bv(0x3b9)](bv(0x446)+a0L[bv(0x2c3)](bv(0x2da))+a0L[bv(0x29d)](aH+'m\x20'+aI+'s')+a0L['gray'](bv(0x444)+aF['durationMin']+bv(0x1f3))),aF[bv(0x1ee)]>-0x1e9*-0xe+-0x33*-0xa9+-0x3c69&&console['log'](bv(0x446)+a0L[bv(0x2c3)](bv(0x2f6))+a0L[bv(0x475)]('★\x20'+aF[bv(0x1ee)])),console[bv(0x3b9)]();const aL=aD[bv(0x3ca)];if(aL&&Object[bv(0x483)](aL)['length']>=0xa*0x224+-0x1c93+-0xa7*-0xb){const aT=Object['entries'](aL)['filter'](([,aY])=>aY[bv(0x216)]>0x1f0a+0x14a5+0x1*-0x33af)[bv(0x41f)](([aY,aZ])=>({'cat':aY,'pct':aZ[bv(0x433)]/aZ[bv(0x216)]}))[bv(0x486)]((aY,aZ)=>aZ[bv(0x2c8)]-aY[bv(0x2c8)]),aU=Math[bv(0x395)](-0x13b7+0x26f+0x114a,Math['ceil'](aT['length']/(0x570+-0x1c3a+0xd*0x1c1))),aV=Math[bv(0x395)](-0x92*-0x2e+-0x9*0x16b+-0xd77,Math['ceil'](aT[bv(0x3d4)]/(-0x7+0x933*-0x1+0x93d))),aW=aT[bv(0x449)](-0x7*-0x450+-0x2*-0x149+-0x20c2,aU)[bv(0x41f)](aY=>aY[bv(0x42b)]),aX=aT['slice'](-aV)[bv(0x41f)](aY=>aY['cat']);aW[bv(0x4c1)](aY=>aX[bv(0x20e)](aY))||(console[bv(0x3b9)](a0L[bv(0x259)]['white'](bv(0x311))),console[bv(0x3b9)](bv(0x446)+a0L[bv(0x1d0)]('Stronger\x20here:\x20\x20')+a0L[bv(0x29d)](aW[bv(0x390)](',\x20'))),console[bv(0x3b9)](bv(0x446)+a0L['yellow'](bv(0x297))+a0L['white'](aX[bv(0x390)](',\x20'))),console['log'](a0L[bv(0x2c3)]('\x20\x20\x20\x20(relative\x20to\x20other\x20categories\x20—\x20numeric\x20scores\x20go\x20to\x20your\x20exam\x20center)')),console[bv(0x3b9)]());}console[bv(0x3b9)](a0L[bv(0x259)][bv(0x29d)](bv(0x4ae))),console[bv(0x3b9)](bv(0x446)+a0L[bv(0x2c3)](bv(0x3cc))+a0L['white'](aF['help'][bv(0x215)]+'/'+aF[bv(0x2a1)][bv(0x30f)])),console[bv(0x3b9)](bv(0x446)+a0L[bv(0x2c3)](bv(0x47c))+a0L[bv(0x29d)](aF['aiUsage']['ai4ctf']+'\x20AI4CTF')+a0L['gray'](bv(0x482))+a0L[bv(0x29d)](aF[bv(0x312)]['ctf4ai']+bv(0x31d))),console['log'](),console[bv(0x3b9)](a0L[bv(0x27a)]('\x20\x20─────────────────────────────────────────────')),console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x259)]['white'](bv(0x22b))),console[bv(0x3b9)](a0L[bv(0x2c3)](bv(0x3d3))),console[bv(0x3b9)](a0L[bv(0x2c3)](bv(0x447))+a0L[bv(0x29d)]('demo')+a0L[bv(0x2c3)](bv(0x434))),console[bv(0x3b9)](a0L[bv(0x2c3)](bv(0x42f))+a0L[bv(0x29d)]('ref')),console['log']();const {showCToBUpgradePrompt:aM}=await import(bv(0x455));aM(aF[bv(0x38a)],aD[bv(0x31b)]),console[bv(0x3b9)](a0L[bv(0x475)](bv(0x1ed))),console['log'](a0L[bv(0x27a)]['underline'](bv(0x476))),console[bv(0x3b9)](),console[bv(0x3b9)](a0L[bv(0x27a)](bv(0x4a7))),console['log']();}catch(aY){console[bv(0x3b9)](),a0aa(aY[bv(0x1d8)]);}}),B[be(0x4be)](be(0x232))[be(0x432)](be(0x286))[be(0x3e1)](async F=>{const bw=be;a0a8(bw(0x326)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bw(0x46b));F=J[bw(0x298)][bw(0x38a)];}const H=a0ag('Loading\x20result...');H[bw(0x3f5)]();try{const K=await G[bw(0x1cf)](F);H[bw(0x3c0)]('Result\x20loaded'),console[bw(0x3b9)](),a0ae(K[bw(0x261)]),a0af('Score',a0L[bw(0x259)](K['score']+'/'+K[bw(0x216)])),a0af('Percentage',a0L['bold'](K['percentage']+'%')),a0af(bw(0x30c),K[bw(0x31b)]?a0L['green'][bw(0x259)]('PASSED'):a0L['red']['bold'](bw(0x3de))),a0af('Submitted',K[bw(0x28f)]),console[bw(0x3b9)]();}catch(L){H[bw(0x226)](bw(0x292)),a0aa(L['message']);}}),B['command'](be(0x208))[be(0x432)](be(0x406))[be(0x3e1)](async J=>{const bx=be;a0a8('exam\x20token\x20'+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bx(0x2a7)),V=K();if(V){const a2=V[bx(0x298)][bx(0x2af)],a3=a0a1(),a4=!!a2&&a2[bx(0x43d)]()[bx(0x3f1)]()!==J[bx(0x43d)]()[bx(0x3f1)](),a5=!!a3&&a3['getTime']()+(-0x4de77+0x1469d7+0x2f8*0x404)<Date['now']();if(a4&&a5)return Q(),console[bx(0x3b9)](),console[bx(0x3b9)](a0L[bx(0x2c3)](bx(0x41e))),console['log'](),console[bx(0x3b9)](a0L[bx(0x29d)](bx(0x301))+a0L[bx(0x259)][bx(0x27a)]('exam\x20'+J)),void console[bx(0x3b9)]();if(!a2&&J)return V[bx(0x298)][bx(0x2af)]=J[bx(0x43d)](),L(V),console[bx(0x3b9)](),console[bx(0x3b9)](a0L['green']('\x20\x20✓\x20Token\x20re-attached\x20to\x20your\x20in-progress\x20exam.')),console[bx(0x3b9)](a0L[bx(0x2c3)]('\x20\x20\x20\x20You\x20can\x20now\x20use:\x20')+a0L[bx(0x29d)]('lang\x20<code>')+a0L[bx(0x2c3)](bx(0x4c4))+a0L['white']('exam\x20submit')),console[bx(0x3b9)](),console['log'](a0L['bold'][bx(0x29d)]('\x20\x20Continue\x20this\x20exam:')),console[bx(0x3b9)](a0L['gray'](bx(0x31f))+a0L[bx(0x259)][bx(0x27a)](bx(0x399))+a0L[bx(0x2c3)](bx(0x1eb))),console[bx(0x3b9)](a0L[bx(0x2c3)](bx(0x31f))+a0L[bx(0x259)]['cyan'](bx(0x3a4))+a0L['gray'](bx(0x379))),void console['log']();const a6=Object[bx(0x483)](V[bx(0x487)])['length'],a7=V[bx(0x298)][bx(0x328)],a8=a0a1(),a9=a8?Math['max'](-0x24a4+-0x69e+0x7*0x62e,Math[bx(0x369)]((a8[bx(0x1d7)]()-Date['now']())/(-0x10*-0x1fc+0x7739*-0x2+0x1b912))):null;return console[bx(0x3b9)](),console['log'](a0L[bx(0x475)](bx(0x3b5))),console[bx(0x3b9)](),console['log'](a0L[bx(0x2c3)]('\x20\x20Exam:\x20\x20\x20\x20')+a0L[bx(0x29d)](V['session']['examName'])),a2&&console[bx(0x3b9)](a0L[bx(0x2c3)](bx(0x3b8))+a0L[bx(0x29d)](a2)+(a2===J?a0L[bx(0x1d0)]('\x20\x20(same\x20as\x20you\x20just\x20typed)'):a0L[bx(0x475)](bx(0x254)))),console[bx(0x3b9)](a0L[bx(0x2c3)]('\x20\x20Answers:\x20')+a0L[bx(0x29d)](a6+'/'+a7)),null!==a9&&console[bx(0x3b9)](a0L['gray'](bx(0x2a0))+a0L[bx(0x29d)](a9+bx(0x3f8))),console['log'](),console[bx(0x3b9)](a0L[bx(0x259)][bx(0x29d)](bx(0x4cb))),console['log'](a0L[bx(0x2c3)](bx(0x31f))+a0L[bx(0x259)][bx(0x27a)](bx(0x399))+a0L['gray'](bx(0x1eb))),console[bx(0x3b9)](a0L[bx(0x2c3)]('\x20\x20\x20\x20→\x20')+a0L[bx(0x259)][bx(0x27a)](bx(0x3a4))+a0L['gray'](bx(0x379))),console[bx(0x3b9)](a0L[bx(0x2c3)](bx(0x31f))+a0L['bold']['cyan']('exam\x20submit')+a0L[bx(0x2c3)](bx(0x2e4))),a2&&a2!==J&&(console[bx(0x3b9)](),console[bx(0x3b9)](a0L[bx(0x475)](bx(0x364))),console[bx(0x3b9)](a0L['yellow'](bx(0x1dc))),console[bx(0x3b9)](),console[bx(0x3b9)](a0L[bx(0x2c3)](bx(0x419))),console[bx(0x3b9)](a0L[bx(0x2c3)](bx(0x1d6))+a0L['bold'][bx(0x27a)](bx(0x373))+a0L[bx(0x2c3)](bx(0x415)))),void console[bx(0x3b9)]();}const {isNativeWindowsCmd:W}=await import(bx(0x1d5));if(!W()&&!a0am()){let aa=!(0x1aec+-0x1f05+0x41a);try{const ab={};ab[bx(0x428)]=bx(0x3c4);const ac=a0W()[bx(0x4c0)]||'https://practice.icoa2026.au',ad=await fetch(ac+bx(0x23d),{'method':'POST','headers':ab,'body':JSON['stringify']({'token':J['trim'](),'deviceHash':a0aj(),'peek':!(-0x7*-0x17f+-0x67b+0x92*-0x7)}),'signal':AbortSignal[bx(0x4a2)](0x2*0x2d7+0xf15+-0x13b)});if(ad['ok']){const ae=await ad[bx(0x4d6)]();(ae?.[bx(0x378)]?.[bx(0x44e)]||'')[bx(0x3cb)]('-c')&&(aa=!(0x2*-0x205+-0x1bd9+0x38b*0x9));}}catch{}if(!aa)return console[bx(0x3b9)](),a0ab('Pre-exam\x20setup\x20required\x20before\x20entering\x20a\x20token.'),console[bx(0x3b9)](a0L['gray']('\x20\x20→\x20')+a0L[bx(0x259)]['cyan'](bx(0x350))),console['log'](a0L[bx(0x2c3)](bx(0x3ab))+a0L[bx(0x259)][bx(0x27a)](bx(0x4ad))+a0L[bx(0x2c3)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console['log'](a0L[bx(0x2c3)]('\x20\x20(Paper\x20C\x20tokens\x20skip\x20this\x20gate\x20—\x20Paper\x20C\x20is\x20MCQ-only)')),void console[bx(0x3b9)]();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si';const Y=X[J[bx(0x43d)]()[bx(0x473)](0x25c4+0x95*0x6+-0x2942,0x1674+0x6*0x1a6+-0x2056)['toUpperCase']()],Z=a0W(),a0=Z[bx(0x4c0)]||bx(0x2cc),a1=Y||Z['language']||'en';Y&&Y!==(Z[bx(0x427)]||'en')&&a0X({'language':Y}),console[bx(0x3b9)](),N(0xe91*0x1+-0x7e2*0x4+0x10f7,bx(0x45c));try{const af={};af[bx(0x428)]='application/json';const ag=await fetch(a0+'/api/icoa/exam-token',{'method':bx(0x354),'headers':af,'body':JSON[bx(0x213)]({'token':J['trim'](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bx(0x4a2)](0x2c*-0x53+-0x525*0x5+-0x31*-0x19d)});if(!ag['ok']){N(0x21f1+-0x189e*0x1+-0x953,''),console[bx(0x3b9)]();const ao=await ag[bx(0x4d6)]()[bx(0x359)](()=>({'message':bx(0x247)}));return a0aa(ao['message']||'Invalid\x20exam\x20token'),void a0ac('Check\x20your\x20token\x20or\x20contact\x20your\x20proctor.');}N(-0x1*-0x607+0x25c*0x5+-0x11b5,'Loading\x20exam...');const ah=await ag[bx(0x4d6)](),{session:ai,questions:aj,languages:ak}=ah[bx(0x378)];N(-0x3*0x5a1+0x7*-0x3cd+-0x3a*-0xc1,bx(0x1f6)),await q(0x19d+-0x453*0x7+-0x75c*-0x4),N(0xcfe+0xb7b*-0x1+-0x11f,bx(0x29e)),console[bx(0x3b9)](),console[bx(0x3b9)](),a0ae(ai[bx(0x261)]),console[bx(0x3b9)](),a0af(bx(0x40c),ai['questionCount']+bx(0x2d7)),a0af(bx(0x3f7),ai[bx(0x3d8)]+bx(0x200)),a0af('Total',(ai[bx(0x491)]||-0x1f9d+-0x23*-0x4f+-0xab3*-0x2)+bx(0x353)),a0af(bx(0x3c6),(ai[bx(0x2fd)]||-0x44*-0x7f+0xd6b+0x1*-0x2edc)+'\x20points\x20(50%)'),console[bx(0x3b9)](),console[bx(0x3b9)](a0L[bx(0x29d)](bx(0x39d))),console['log'](a0L[bx(0x29d)](bx(0x21f))),console[bx(0x3b9)](a0L[bx(0x29d)](bx(0x458))),console[bx(0x3b9)](a0L[bx(0x29d)]('\x20\x20\x20\x20AI:\x20\x20\x20\x20\x20\x2025K\x20AI4CTF\x20+\x2025K\x20CTF4AI\x20tokens')),ak&&ak['length']>-0xac9+0x95*-0x27+-0x1*-0x217d&&console['log'](a0L[bx(0x29d)](bx(0x29a)+ak['join'](',\x20')+bx(0x321))),console['log'](),console[bx(0x3b9)](a0L[bx(0x475)]('\x20\x20Rules:')),console[bx(0x3b9)](a0L[bx(0x29d)](bx(0x1ef))),console[bx(0x3b9)](a0L['white'](bx(0x2b7))),console[bx(0x3b9)](a0L[bx(0x29d)](bx(0x393))),console[bx(0x3b9)](),await new Promise(ap=>{const by=bx;process[by(0x3c9)][by(0x497)](a0L[by(0x259)]['yellow'](by(0x3ea)));const aq=!!process[by(0x34c)][by(0x272)]&&process['stdin'][by(0x1df)];process['stdin'][by(0x272)]&&process[by(0x34c)][by(0x2b4)]&&process[by(0x34c)][by(0x2b4)](!(-0x24da+0x2f*0xa7+-0x3d*-0x1a));const ar=as=>{const bz=by,at=as['toString']();(at[bz(0x20e)]('\x0a')||at[bz(0x20e)]('\x0d'))&&(process['stdin'][bz(0x3ee)](bz(0x378),ar),process['stdin']['isTTY']&&process['stdin'][bz(0x2b4)]&&process[bz(0x34c)]['setRawMode'](aq),process[bz(0x3c9)][bz(0x497)]('\x0a'),ap());};process[by(0x34c)]['on'](by(0x378),ar),process[by(0x34c)][by(0x25d)]();});const al=new Date()[bx(0x40b)]();ai['confirmedAt']=al,ai[bx(0x2af)]=J['trim']();try{const ap=Date[bx(0x33c)](),aq=await fetch(a0+bx(0x2f7),{'method':'GET','signal':AbortSignal[bx(0x4a2)](0x3*0xc31+-0x730*-0x3+-0x2e6b*0x1)});if(aq['ok']){const ar=await aq[bx(0x4d6)](),as=ar?.[bx(0x378)]?.[bx(0x33a)];if(bx(0x448)==typeof as&&as>-0x1102+0x1b21+-0xa1f){const at=(ap+Date[bx(0x33c)]())/(-0x1e67+0x1*0x1f69+-0x20*0x8);ai[bx(0x222)]=Math[bx(0x369)](as-at),ai[bx(0x26a)]=as+(-0x8f8+0x12dd*0x1+-0x9a9*0x1)*ai[bx(0x3d8)]*(-0x222c+0xe58+0x5ef*0x4);}}}catch{}const am={};am[bx(0x2ef)]=0x0,am[bx(0x1e9)]=0x0;const an={};an[bx(0x298)]=ai,an[bx(0x2db)]=aj,an[bx(0x487)]={},an[bx(0x257)]=[],an['aiUsage']=am,(a0Z(an),console[bx(0x3b9)](),a0a9(bx(0x42d)),a0af(bx(0x2ae),ai[bx(0x3d8)]+bx(0x4df)),aj[bx(0x3d4)]>0x226e*-0x1+-0x1a54*-0x1+0x81a&&U(aj[-0x19*-0x26+0x402+0x68*-0x13]));}catch(au){console['log'](),bx(0x20b)===au['name']?a0aa(bx(0x2c7)):a0aa(au[bx(0x1d8)]||bx(0x1ea));}}),B['command'](be(0x479),{'hidden':!(-0x1a6f+0x1180+0x1*0x8ef)})[be(0x432)](be(0x28a))[be(0x3e1)](async()=>{const bA=be;a0a8(bA(0x373));const {getRealExamState:F,clearExamState:G}=await import(bA(0x2a7)),H=F();if(!H)return console[bA(0x3b9)](),console['log'](a0L[bA(0x2c3)]('\x20\x20No\x20active\x20exam\x20session\x20to\x20reset.')),void console['log']();const J=H[bA(0x298)][bA(0x2af)];console[bA(0x3b9)](),console[bA(0x3b9)](a0L[bA(0x475)](bA(0x2a6))),console[bA(0x3b9)](a0L[bA(0x2c3)]('\x20\x20\x20\x20\x20Exam:\x20\x20')+a0L[bA(0x29d)](H[bA(0x298)][bA(0x261)])),J&&console[bA(0x3b9)](a0L[bA(0x2c3)](bA(0x2ca))+a0L[bA(0x29d)](J)),console[bA(0x3b9)](a0L[bA(0x2c3)](bA(0x252))),console[bA(0x3b9)](a0L[bA(0x2c3)](bA(0x333))),console['log'](),console[bA(0x3b9)](a0L[bA(0x2c3)](bA(0x3dc))+a0L[bA(0x259)][bA(0x27a)]('reset')+a0L[bA(0x2c3)]('\x20to\x20confirm,\x20or\x20anything\x20else\x20to\x20cancel:'));const {getMainRl:K}=await import(bA(0x289)),L=K();if(bA(0x479)!==(await new Promise(Q=>{const bB=bA;if(L){const V=L[bB(0x33f)](bB(0x2c6))[bB(0x449)]();L[bB(0x1de)](bB(0x2c6)),L[bB(0x34d)](bB(0x20a)),L['prompt'](),L[bB(0x294)]('line',W=>{const bC=bB;for(const X of V)L['on']('line',X);Q(W[bC(0x43d)]());});}else((async()=>{const bD=bB,W={};W[bD(0x34e)]=process[bD(0x34c)],W[bD(0x3b4)]=process[bD(0x3c9)];const {createInterface:X}=await import('node:readline'),Y=X(W);Y[bD(0x35b)](bD(0x20a),Z=>{Y['close'](),Q(Z['trim']());});})());}))[bA(0x40d)]())return console[bA(0x3b9)](a0L['gray'](bA(0x1fb))),void console[bA(0x3b9)]();G(),console[bA(0x3b9)](),console['log'](a0L[bA(0x1d0)](bA(0x310))),console[bA(0x3b9)](a0L['gray'](bA(0x389))+a0L[bA(0x259)]['cyan'](bA(0x366))),console[bA(0x3b9)]();}),B[be(0x4be)](be(0x499))[be(0x432)](be(0x273))['action'](async()=>{const bE=be;a0a8('exam\x20demo'),E(bE(0x1e0));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bE(0x480));a0W()[bE(0x49b)]||(await(async function(){const bF=bE;let a0=!(0x15aa+0x17f8+-0x2da1*0x1);const a1=process[bF(0x34c)],a2=()=>{a0=!(-0x131*-0x11+0x15e4*0x1+-0x1*0x2a25);},a3=a1[bF(0x272)]&&bF(0x402)==typeof a1[bF(0x2b4)];a3&&(a1['setRawMode'](!(-0x29a*0x5+0x47*-0x25+0x353*0x7)),a1['resume'](),a1[bF(0x294)](bF(0x378),a2));const a4=async a5=>{let a6=-0x10d*-0x16+0x2317+-0x1367*0x3;for(;a6<a5&&!a0;)await q(-0xef7+-0x79*-0x1e+-0x119*-0x1),a6+=-0x248*-0xb+0x28*-0xf1+-0x4*-0x338;};try{if(console[bF(0x1f7)](),console[bF(0x3b9)](),console[bF(0x3b9)](a0L[bF(0x2c3)](bF(0x23c))+a0L[bF(0x385)]('(press\x20any\x20key\x20to\x20skip)')),console[bF(0x3b9)](),console[bF(0x3b9)](a0L[bF(0x259)]['white'](bF(0x293))),console[bF(0x3b9)](a0L[bF(0x259)][bF(0x29d)](bF(0x46d))),console[bF(0x3b9)](a0L[bF(0x259)][bF(0x29d)](bF(0x46f))),console['log'](a0L[bF(0x259)][bF(0x29d)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console['log'](a0L[bF(0x259)]['white']('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bF(0x3b9)](a0L['bold'][bF(0x29d)](bF(0x26f))),console[bF(0x3b9)](),console[bF(0x3b9)](a0L[bF(0x259)]['yellow'](bF(0x2ba))),console[bF(0x3b9)](a0L[bF(0x2c3)](bF(0x39f))),await a4(-0x233c+-0x920+0x3620),a0)return;if(console[bF(0x3b9)](),console[bF(0x3b9)](a0L[bF(0x29d)](bF(0x45b))),console['log'](),await a4(0x1bbe+0x18f+-0x1af5*0x1),a0)return;if(console[bF(0x3b9)](a0L[bF(0x27a)](bF(0x30e))+a0L['white']('Answer\x2010\x20quick\x20questions')+a0L[bF(0x2c3)](bF(0x202))),await a4(0x2571+0x35*0x47+-0x3168),a0)return;if(console[bF(0x3b9)](a0L['green'](bF(0x30e))+a0L[bF(0x29d)](bF(0x355))+a0L[bF(0x2c3)](bF(0x204))),await a4(-0x2*0xad9+0x1b0a+0x2*-0x14e),a0)return;if(console['log'](a0L[bF(0x37e)](bF(0x30e))+a0L[bF(0x29d)](bF(0x384))+a0L[bF(0x2c3)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20(ctf4ai)')),await a4(-0x923*-0x4+-0x16eb+-0xa1d),a0)return;if(console[bF(0x3b9)](),console['log'](a0L[bF(0x259)][bF(0x29d)]('\x20\x20\x20Your\x20terminal\x20')+a0L[bF(0x259)]['yellow']('IS')+a0L[bF(0x259)][bF(0x29d)](bF(0x413))),console['log'](),await a4(0x1e6c+-0x1d6f+0x4df),a0)return;if(console[bF(0x3b9)](a0L[bF(0x2c3)](bF(0x2a2))),await a4(-0x2248+0x1a55+0x1e7*0x5),a0)return;if(console['log'](a0L[bF(0x2c3)](bF(0x3b0))),await a4(-0x100+-0x28*-0x6a+0x200*-0x7),a0)return;if(console[bF(0x3b9)](a0L[bF(0x2c3)]('\x20\x20\x20·\x2015,000+\x20concurrent\x20participants')),await a4(0x84c+-0x5*-0x103+0x3*-0x369),a0)return;console['log'](),console[bF(0x3b9)](a0L[bF(0x259)][bF(0x27a)]('\x20\x20\x20Press\x20any\x20key\x20to\x20start\x20demo...')),await a4(0x1ef9+-0x1*0x511+-0xa48);}finally{((()=>{const bG=bF;if(a3){a1[bG(0x3ee)](bG(0x378),a2);try{a1[bG(0x2b4)](!(-0x1*0x783+-0x11e2+0x1966));}catch{}a1[bG(0x348)]();}})()),console['clear']();}}()),a0X({'demoIntroSeen':!(-0x7*0x237+-0x1*-0x1bf1+0x10*-0xc7)})),console['log'](),console[bE(0x3b9)](a0L['white'](bE(0x469))+a0L['gray'](H+'\x20questions\x20drawn\x20from\x20a\x20pool\x20of\x20'+J+'.\x20No\x20timer.\x20Free\x20practice.')),console['log'](a0L['gray']('\x20\x20You\x20can\x20pause\x20with\x20')+a0L[bE(0x27a)](bE(0x48b))+a0L[bE(0x2c3)](bE(0x27d))+a0L[bE(0x27a)](bE(0x4ad))+a0L['gray'](bE(0x4c6))),await new Promise(a0=>{const bH=bE;process[bH(0x3c9)]['write'](a0L[bH(0x259)][bH(0x475)]('\x20\x20Press\x20Enter\x20to\x20begin...\x20'));const a1=!!process['stdin'][bH(0x272)]&&process['stdin'][bH(0x1df)];process[bH(0x34c)][bH(0x272)]&&process[bH(0x34c)][bH(0x2b4)]&&process[bH(0x34c)][bH(0x2b4)](!(0x6*0x4a1+-0x121b+0x1*-0x9aa));const a2=a3=>{const bI=bH,a4=a3[bI(0x203)]();(a4[bI(0x20e)]('\x0a')||a4[bI(0x20e)]('\x0d'))&&(process[bI(0x34c)]['removeListener'](bI(0x378),a2),process['stdin']['isTTY']&&process['stdin'][bI(0x2b4)]&&process['stdin'][bI(0x2b4)](a1),process[bI(0x3c9)][bI(0x497)]('\x0a'),a0());};process[bH(0x34c)]['on']('data',a2),process[bH(0x34c)][bH(0x25d)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import('../lib/exam-state.js');Q()&&V(bE(0x4a0)),console[bE(0x3b9)](),a0ae(bE(0x4d9)),console[bE(0x3b9)](),console['log'](a0L[bE(0x29d)](bE(0x35a))),console[bE(0x3b9)](a0L[bE(0x29d)]('\x20\x20'+H+bE(0x3ec)+J+bE(0x1e8)));const W=a0a3();if(W[bE(0x367)]>0xacc+-0x873+-0x259){const a0=W[bE(0x279)],a1=a0>=-0x9ea+-0x1*0x22af+0x2ce9?a0L[bE(0x1d0)]:a0>=-0x1*-0x2049+-0x1443*-0x1+0x174*-0x24?a0L[bE(0x475)]:a0L['white'];console[bE(0x3b9)](),console[bE(0x3b9)](a0L[bE(0x2c3)](bE(0x2f5))+a1(W[bE(0x36f)]+'/'+H+'\x20('+a0+'%)')+a0L[bE(0x2c3)](bE(0x482)+W[bE(0x367)]+'\x20attempts'));}console[bE(0x3b9)](),console[bE(0x3b9)](a0L[bE(0x2c3)](bE(0x332))),console[bE(0x3b9)](a0L[bE(0x29d)]('\x20\x20'+a0ai(bE(0x2fa)))),console[bE(0x3b9)](a0L[bE(0x475)](bE(0x4a8))+a0L[bE(0x2c3)](bE(0x27e)+a0ai('htpAnswer'))),console['log'](a0L['yellow']('\x20\x20\x20\x20help')+a0L[bE(0x2c3)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bE(0x443)))),console['log'](a0L[bE(0x475)](bE(0x25f))+a0L[bE(0x2c3)]('\x20/\x20')+a0L[bE(0x475)](bE(0x1f0))+a0L[bE(0x2c3)](bE(0x446)+a0ai(bE(0x3d1)))),console[bE(0x3b9)](a0L[bE(0x475)](bE(0x453))+a0L[bE(0x2c3)](bE(0x4a6)+a0ai('htpMoreHelp'))),console[bE(0x3b9)](a0L[bE(0x475)]('\x20\x20\x20\x20back')+a0L[bE(0x2c3)](bE(0x4ac)+a0ai(bE(0x3f2)))),console['log'](a0L['yellow'](bE(0x234))+a0L[bE(0x2c3)](bE(0x4ac)+a0ai(bE(0x44c)))),console['log'](a0L[bE(0x2c3)](bE(0x3b1))),console[bE(0x3b9)](a0L[bE(0x2c3)](bE(0x33b))),console[bE(0x3b9)](a0L[bE(0x2c3)](bE(0x332))),console[bE(0x3b9)]();const {getConfig:X}=await import(bE(0x1f5)),Y=X()[bE(0x427)]||'en';'en'===Y?(console['log'](a0L[bE(0x2c3)]('\x20\x20Questions\x20in\x20English.\x20To\x20switch\x20language\x20first:')),console[bE(0x3b9)](a0L['gray'](bE(0x2f0))),console[bE(0x3b9)](a0L['gray'](bE(0x3cd)))):console['log'](a0L[bE(0x1d0)](bE(0x24b)+Y)),console[bE(0x3b9)](),console[bE(0x3b9)](a0L[bE(0x29d)](bE(0x205)));const Z={...L,'startedAt':new Date()[bE(0x40b)]()};console[bE(0x3b9)](),N(-0x4b7*0x2+-0x2*0xa66+0x1e3a,bE(0x335)),await q(-0x9d2+-0x4d0+0xf6a),N(-0xff*-0x2+0x8dd*0x1+-0xab3,bE(0x229)),await q(0x1277+0xcb5*-0x2+0x1*0x7bb),N(0x419+0x1d3f+0x7*-0x4b8,bE(0x262)),await q(0x5*-0x26+-0x1bc9*-0x1+0xd*-0x209),N(0x1*-0x36+-0x1ed5+0x1f6f,bE(0x29e)),console[bE(0x3b9)](),console['log'](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af('Questions',String(H)),a0af(bE(0x3f7),bE(0x2cf)),U(K[-0x15ed+-0x1f*0x8d+0xd0*0x30]);}),B[be(0x4be)](be(0x3ac))[be(0x432)](be(0x2b6))[be(0x3e1)](async()=>{const bJ=be;a0a8('exam\x20demo-retry'),E(bJ(0x3c7));const {getLocalizedDemoSession:F}=await import(bJ(0x480)),G=a0a6();if(!G||0x1d5c+-0x2057+-0x6d*-0x7===G[bJ(0x3d4)])return console[bJ(0x3b9)](),console[bJ(0x3b9)](a0L[bJ(0x475)](bJ(0x249))+a0L['bold'][bJ(0x27a)]('demo')+a0L[bJ(0x475)](bJ(0x477))),void console[bJ(0x3b9)]();const H=a0Y();if(H){if(bJ(0x4a0)!==H[bJ(0x298)]['examId'])return a0ab(bJ(0x2c2)+H['session'][bJ(0x261)]+'\x22\x20is\x20in\x20progress.'),void a0ac(bJ(0x255));a0a0();}const J=V=>{const bK=bJ;if(!V[bK(0x2c5)])return V;const W=V['options'][V[bK(0x2c5)]],X=['A','B','C','D'][bK(0x41f)](a2=>V['options'][a2]);for(let a2=X[bK(0x3d4)]-(-0x3*0xcd7+-0xd1a+0x33a0);a2>0x20a2+0xcab*-0x1+0x1*-0x13f7;a2--){const a3=Math[bK(0x2eb)](Math[bK(0x3f6)]()*(a2+(0x1fad+-0x17c3*0x1+-0x9*0xe1)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[-0x3*0xa9e+-0xc9b+0x2c75],Y['B']=X[0x1*-0x916+-0x11ca+0x1ae1],Y['C']=X[0x389*-0xb+0x1*-0x1cd3+0x43b8*0x1],Y['D']=X[0x2f*-0xcf+-0x2*-0xb73+0x2b*0x5a];const Z=Y,a0=['A','B','C','D']['find'](a4=>Z[a4]===W),a1={...V};return a1['options']=Z,a1['answer']=a0,a1;},K=G['map']((V,W)=>({...J(V),'number':W+(-0x1*0x19fd+0x871+0x1*0x118d)})),L=F(),Q={...L,'examName':L[bJ(0x261)]+'\x20\x20(Retry\x20wrong\x20only)','questionCount':K['length'],'startedAt':new Date()[bJ(0x40b)]()};console[bJ(0x3b9)](),a0ae('Demo\x20Retry\x20—\x20Wrong\x20Questions\x20Only'),console['log'](),console['log'](a0L[bJ(0x29d)]('\x20\x20Practicing\x20'+K[bJ(0x3d4)]+bJ(0x3eb)+(-0x14b1*0x1+-0x322+0x17d4===K[bJ(0x3d4)]?'':'s')+bJ(0x374))),console[bJ(0x3b9)](a0L[bJ(0x2c3)](bJ(0x452))),console['log'](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bJ(0x40c),String(K[bJ(0x3d4)])),a0af(bJ(0x3f7),bJ(0x2cf)),U(K[-0xf1d+0x2228+-0x130b]);}),B['command'](be(0x43a))[be(0x432)](be(0x2ab))[be(0x3e1)](async()=>{const bL=be;if(a0a8(bL(0x350)),0x19*-0x6c+0x1270+-0x7e4===a0a3()[bL(0x367)])return console[bL(0x3b9)](),a0ab(bL(0x244)),console['log'](a0L['gray'](bL(0x26b))+a0L['bold'][bL(0x27a)](bL(0x435))),void console['log']();const K=a0ak();if(K){const a4=K[bL(0x4aa)][bL(0x3d4)],a5=a4+K[bL(0x28e)]['length'];if(a4>=-0xb*-0x1b1+-0xe33+0x23*-0x20||(a5>-0x2*-0x1124+0x194*-0x11+-0x13e*0x6?a4/a5:-0x47*-0x83+-0x1d0*0xc+0x1*-0xe95)>=0x3d*0x37+0x484+-0x119f+0.7)return console[bL(0x3b9)](),console[bL(0x3b9)](a0L['green'](bL(0x457))+a0L[bL(0x1d0)]('Environment\x20already\x20set\x20up')),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x39c)+K[bL(0x4a5)][bL(0x4a9)]('T')[-0xf1*-0x7+-0x1fa5+-0x42d*-0x6])),console[bL(0x3b9)](a0L[bL(0x2c3)]('\x20\x20\x20\x20Python:\x20'+K['pythonVersion'])),console[bL(0x3b9)](a0L['gray']('\x20\x20\x20\x20Packages:\x20'+a4+bL(0x3af))),K['failedPackages']['length']>0x15c1+-0x10*0x75+-0x1*0xe71&&console[bL(0x3b9)](a0L[bL(0x475)](bL(0x2f1)+K[bL(0x28e)][bL(0x390)](',\x20'))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x29d)]('\x20\x20Next\x20step:\x20')+a0L[bL(0x259)][bL(0x27a)](bL(0x366))),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x3ab))+a0L[bL(0x259)]['cyan']('back')+a0L[bL(0x2c3)](bL(0x219))),void console['log']();console['log'](),console[bL(0x3b9)](a0L[bL(0x475)](bL(0x2d9)+a4+'/'+a5+'\x20packages.\x20Retrying...')),console['log']();}console['log'](),a0ae(bL(0x376)),console[bL(0x3b9)](),console[bL(0x3b9)](a0L['white'](bL(0x351))),console['log'](a0L[bL(0x2c3)](bL(0x3a7))),console[bL(0x3b9)]();const L=(a6,a7)=>{const bM=bL,a8=process[bM(0x24a)];console[bM(0x3b9)](),a0aa(bM(0x44f)===a6?'Python\x203\x20not\x20found.':bM(0x3a5)+a7+'\x20found,\x20but\x203.10+\x20required\x20for\x20the\x20exam.'),console[bM(0x3b9)](),console[bM(0x3b9)](a0L['bold'][bM(0x29d)]('\x20\x20How\x20to\x20install\x20Python\x203.10+\x20(3.12\x20recommended):')),console[bM(0x3b9)](),'darwin'===a8?(console[bM(0x3b9)](a0L[bM(0x475)](bM(0x343))),console[bM(0x3b9)](a0L[bM(0x1d0)](bM(0x456))),console[bM(0x3b9)](),console['log'](a0L[bM(0x2c3)](bM(0x2c0))),console[bM(0x3b9)](a0L[bM(0x2c3)]('\x20\x20\x20\x20https://www.python.org/downloads/macos/'))):bM(0x2fc)===a8?(console[bM(0x3b9)](a0L[bM(0x475)](bM(0x410))),console[bM(0x3b9)](a0L[bM(0x1d0)](bM(0x2d0))),console[bM(0x3b9)](a0L[bM(0x1d0)](bM(0x2e7))),console[bM(0x3b9)](a0L[bM(0x1d0)](bM(0x42a))),console[bM(0x3b9)](a0L[bM(0x2c3)]('\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201')),console['log'](),console[bM(0x3b9)](a0L['yellow'](bM(0x22f))),console[bM(0x3b9)](a0L[bM(0x1d0)](bM(0x3d2))),console[bM(0x3b9)](),console[bM(0x3b9)](a0L[bM(0x475)](bM(0x4d8))),console[bM(0x3b9)](a0L[bM(0x1d0)](bM(0x4b5)))):bM(0x2f3)===a8?(console[bM(0x3b9)](a0L['yellow'](bM(0x424))),console[bM(0x3b9)](a0L[bM(0x1d0)]('\x20\x20\x20\x20winget\x20install\x20Python.Python.3.12')),console[bM(0x3b9)](),console[bM(0x3b9)](a0L[bM(0x2c3)](bM(0x2c0))),console[bM(0x3b9)](a0L['gray']('\x20\x20\x20\x20https://www.python.org/downloads/windows/'))):console[bM(0x3b9)](a0L[bM(0x2c3)](bM(0x35e))),console['log'](),console['log'](a0L[bM(0x29d)](bM(0x370))+a0L[bM(0x259)][bM(0x27a)](bM(0x350))),console[bM(0x3b9)]();},Q=bL(0x21e);let V='';try{const a6={};a6['encoding']=bL(0x285),a6[bL(0x4a2)]=0x1388,V=a0an(Q+bL(0x4b2),a6)[bL(0x43d)]()['replace']('Python\x20','');const a7=V[bL(0x4a9)]('.')[bL(0x41f)](Number);if(a7[0x125b+-0xe*-0x76+0x57*-0x49]<-0x1*0x16eb+0x45*0x2e+0xa88||-0x2374+-0x209d+0x1105*0x4===a7[-0x479+0x9dd*-0x1+0xe56]&&a7[-0x16b2+0x1af0+-0xd9*0x5]<-0x84b+-0x1*-0x1cc6+-0x1*0x1471)return void L(bL(0x47b),V);0x547+-0x23ab+-0xb5*-0x2b===a7[-0x1*-0x25e0+-0x466*-0x2+-0x2eac]&&a7[0x9fd+0x1*0x10ad+0x19*-0x111]<-0xf4d+-0x1706+0x265f?console[bL(0x3b9)](a0L['green']('\x20\x20✓\x20Python\x20'+V)+a0L[bL(0x2c3)](bL(0x495))):console[bL(0x3b9)](a0L[bL(0x1d0)](bL(0x397)+V));}catch{return void L(bL(0x44f));}try{const a8={};a8[bL(0x4ab)]=bL(0x324),a8[bL(0x4a2)]=0x1388,(a0an(Q+bL(0x4db),a8),console[bL(0x3b9)](a0L[bL(0x1d0)](bL(0x227))));}catch{console[bL(0x3b9)](a0L[bL(0x475)](bL(0x1fc)));try{const a9={};a9['stdio']=bL(0x324),a9['timeout']=0x7530,(a0an(Q+bL(0x4bb),a9),console['log'](a0L['green']('\x20\x20✓\x20pip\x20installed')));}catch{a0aa(bL(0x32f)),console['log']();const {isInWSL:aa,isNativeWindowsCmd:ab}=await import('../lib/platform.js'),{execFileSync:ac}=await import(bL(0x4b0)),ad=aa(),ae=ab(),af=bL(0x2fc)===process[bL(0x24a)]&&!ad,ag=bL(0x409)===process[bL(0x24a)];let ah=bL(0x322);if(af||ad)try{const {readFileSync:ak}=await import('node:fs'),al=ak(bL(0x363),bL(0x285)),am=(al['match'](/^ID="?([^"\n]+)/m)||[])[0xb8+0xadb+-0xb92]||'',an=(al[bL(0x3b2)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x2*-0x34+-0xca0*0x2+0x19a9]||'';bL(0x242)===am?ah=bL(0x2e9)+an+(ad?bL(0x2d4):''):am&&(ah=''+am+(an?'\x20'+an:'')+(ad?bL(0x2d4):''));}catch{}let ai=!(-0x5*0x45+-0xadc+-0xc36*-0x1);if(ag)try{const ao={};ao[bL(0x4ab)]=bL(0x324),ao['timeout']=0x7d0,(ac(bL(0x3c2),[bL(0x1d2)],ao),ai=!(-0xc9*-0x6+-0x1ed+-0x1*0x2c9));}catch{ai=!(0x6d*-0x25+0x8f8+0x6ca);}const aj=ae?bL(0x2b0):'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20sudo\x20cannot\x20run\x20inside\x20the\x20prompt';return console[bL(0x3b9)](a0L[bL(0x259)]['yellow'](bL(0x271))),console[bL(0x3b9)](a0L[bL(0x259)]['yellow']('\x20\x20'+aj)),console[bL(0x3b9)](a0L[bL(0x259)]['yellow'](bL(0x271))),console[bL(0x3b9)](),af||ad?(console[bL(0x3b9)](a0L['white'](bL(0x41d))+a0L[bL(0x27a)](ah)),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x277))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x259)][bL(0x29d)](bL(0x25e))),console['log'](),console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x201))+a0L[bL(0x259)][bL(0x27a)]('quit')+a0L[bL(0x29d)](bL(0x372))),console['log'](),console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x39a))),console['log'](),console['log'](bL(0x27e)+a0L['bold'][bL(0x27a)](bL(0x266))),console[bL(0x3b9)](bL(0x27e)+a0L[bL(0x259)][bL(0x27a)](bL(0x421))),console['log'](),console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x29b))),console[bL(0x3b9)](),console['log'](bL(0x27e)+a0L[bL(0x259)]['cyan']('icoa')),console[bL(0x3b9)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bL(0x2c3)](bL(0x408))+'\x20'+a0L[bL(0x259)][bL(0x27a)](bL(0x350)))):ag?(console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x41d))+a0L[bL(0x27a)](bL(0x2fe))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x259)]['white'](bL(0x25e))),console['log'](),console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x201))+a0L[bL(0x259)]['cyan']('quit')+a0L[bL(0x29d)]('\x20to\x20leave\x20icoa')),console[bL(0x3b9)](),ai?(console[bL(0x3b9)](a0L['white'](bL(0x4de))),console[bL(0x3b9)](),console[bL(0x3b9)](bL(0x27e)+a0L['bold']['cyan'](bL(0x325))),console['log'](bL(0x27e)+a0L[bL(0x259)]['cyan'](bL(0x463)))):(console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x31c))+a0L[bL(0x259)][bL(0x475)](bL(0x1d2))+a0L[bL(0x29d)]('):')),console['log'](),console[bL(0x3b9)](bL(0x27e)+a0L[bL(0x259)]['cyan'](bL(0x4b4))),console[bL(0x3b9)](),console['log'](a0L[bL(0x29d)](bL(0x2d3))),console['log'](),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bL(0x259)]['cyan']('brew\x20install\x20python@3.12'))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x29d)]('\x20\x20\x20\x203.\x20Restart\x20icoa\x20and\x20retry:')),console[bL(0x3b9)](),console[bL(0x3b9)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bL(0x259)][bL(0x27a)](bL(0x382))),console[bL(0x3b9)](bL(0x27e)+a0L['gray'](bL(0x408))+'\x20'+a0L['bold'][bL(0x27a)](bL(0x350)))):ae?(console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x41d))+a0L[bL(0x27a)](bL(0x319))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x259)]['yellow'](bL(0x423))),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x46e))),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x43b))),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x31e))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x259)][bL(0x29d)](bL(0x37b))),console[bL(0x3b9)](),console['log'](a0L[bL(0x29d)]('\x20\x20\x20\x201.\x20Type\x20')+a0L['bold']['cyan'](bL(0x3da))+a0L['white'](bL(0x2b8))),console[bL(0x3b9)](a0L[bL(0x29d)]('\x20\x20\x20\x202.\x20In\x20an\x20Administrator\x20PowerShell,\x20run:')),console[bL(0x3b9)](),console[bL(0x3b9)](bL(0x27e)+a0L['bold'][bL(0x27a)](bL(0x422))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x2ec))),console['log'](a0L['white'](bL(0x3b7))),console[bL(0x3b9)](),console['log'](bL(0x27e)+a0L[bL(0x259)]['cyan'](bL(0x236))),console[bL(0x3b9)](bL(0x27e)+a0L[bL(0x259)][bL(0x27a)]('sudo\x20apt\x20install\x20-y\x20nodejs\x20python3-pip\x20python3-venv')),console[bL(0x3b9)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bL(0x259)][bL(0x27a)](bL(0x485))),console[bL(0x3b9)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bL(0x259)][bL(0x27a)](bL(0x382))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L['gray'](bL(0x3f9))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x201))+a0L[bL(0x259)][bL(0x27a)](bL(0x3da))+a0L[bL(0x29d)]('\x20to\x20leave\x20icoa')),console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x2c4))),console[bL(0x3b9)](),console[bL(0x3b9)](bL(0x27e)+a0L[bL(0x259)][bL(0x27a)](bL(0x2e1))),console['log'](),console['log'](a0L[bL(0x2c3)](bL(0x26c))),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x44d))),console[bL(0x3b9)](a0L['white'](bL(0x381))),console[bL(0x3b9)](),console[bL(0x3b9)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bL(0x259)][bL(0x27a)](bL(0x382))),console[bL(0x3b9)](bL(0x27e)+a0L[bL(0x2c3)](bL(0x408))+'\x20'+a0L[bL(0x259)][bL(0x27a)](bL(0x350)))):(console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x360))+a0L['cyan'](process[bL(0x24a)])+a0L[bL(0x29d)](')')),console[bL(0x3b9)](),console['log'](a0L[bL(0x2c3)](bL(0x290))),console['log'](bL(0x27e)+a0L['bold'][bL(0x27a)](bL(0x382))),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bL(0x2c3)](bL(0x408))+'\x20'+a0L[bL(0x259)][bL(0x27a)](bL(0x350)))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L['gray'](bL(0x20d))),void console[bL(0x3b9)]();}}const W={};W['beautifulsoup4']='bs4',W['pycryptodome']=bL(0x282),W[bL(0x35f)]='z3',W[bL(0x4b9)]=bL(0x2f4),W[bL(0x4dd)]=bL(0x2ed),W[bL(0x43f)]='ropgadget';const X=[bL(0x4dd),bL(0x4da),bL(0x245),'beautifulsoup4','numpy',bL(0x4b9),bL(0x42e),bL(0x206),bL(0x35f),bL(0x29f),bL(0x43f),bL(0x48a),bL(0x3be)],Y=W;console[bL(0x3b9)](),console[bL(0x3b9)](a0L['white'](bL(0x20f)+X[bL(0x3d4)]+bL(0x347))),console['log']();let Z='';try{const ap={};ap[bL(0x230)]=bL(0x285),ap['timeout']=0x2710,a0an(Q+bL(0x296),ap);}catch(aq){const ar=String(aq?.[bL(0x3c9)]||aq?.[bL(0x1ce)]||aq?.[bL(0x1d8)]||'');/externally-managed-environment|break-system-packages/i[bL(0x471)](ar)&&(Z=bL(0x494),console[bL(0x3b9)](a0L[bL(0x475)](bL(0x371))),console[bL(0x3b9)]());}const a0=V['split']('.')[bL(0x41f)](Number);-0x21d7+0x1297+0xf43*0x1===a0[-0x1ed4+-0x1*-0x1e7e+0x56]&&a0[-0x8e4+-0x9fb+0x12e0]>=0x3*0x9eb+-0x11d5+-0xbdf&&(console[bL(0x3b9)](a0L[bL(0x475)]('\x20\x20⚠\x20Python\x20'+V+bL(0x49f))),console['log'](a0L[bL(0x2c3)](bL(0x22d))),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x345))),bL(0x2fc)===process[bL(0x24a)]&&(console[bL(0x3b9)](a0L[bL(0x1d0)](bL(0x314))),console[bL(0x3b9)](a0L[bL(0x1d0)](bL(0x44b)))),console[bL(0x3b9)]());const a1=[],a2=[];let a3='';for(const as of X)try{a0an(Q+'\x20-m\x20pip\x20install\x20\x22'+as+'\x22\x20'+Z+bL(0x49d),{'encoding':'utf-8','timeout':0x2bf20,'stdio':bL(0x3e7)}),a0an(Q+'\x20-c\x20\x22import\x20'+(Y[as]||as)+'\x22',{'stdio':bL(0x324),'timeout':0x2710});let at='';try{const au=a0an(Q+bL(0x436)+as+bL(0x45e),{'encoding':bL(0x285),'timeout':0x1388})['match'](/^Version:\s*(.+)$/m);au&&(at=au[0x1*0x255c+-0x2194+-0x3c7][bL(0x43d)]());}catch{}console[bL(0x3b9)](a0L['green'](bL(0x457)+as)+(at?a0L[bL(0x2c3)]('\x20('+at+')'):'')),a1['push'](at?as+'=='+at:as);}catch(av){const aw=String(av?.[bL(0x3c9)]||av?.[bL(0x1ce)]||av?.[bL(0x1d8)]||'')[bL(0x449)](-(0x1698+0x111*-0x4+0x3a*-0x4a)),ax=aw['split']('\x0a')[bL(0x323)](ay=>ay[bL(0x43d)]())[bL(0x449)](-(0x1a31+0x2150+-0x3b7f))[bL(0x390)](bL(0x243))[bL(0x449)](-0x25b6*0x1+0x262c+-0x3b*0x2,-0x34*0xa9+0x1da9+-0x5*-0x107);console[bL(0x3b9)](a0L[bL(0x37e)](bL(0x256)+as)+a0L['gray']('\x20\x20'+ax)),a2[bL(0x414)]({'pkg':as,'error':ax}),a3||(a3=aw);}0x2446*0x1+-0x1a4a+-0x9fc===a1[bL(0x3d4)]&&a3&&(console[bL(0x3b9)](),console['log'](a0L[bL(0x475)]('\x20\x20First\x20error\x20detail\x20(for\x20debugging):')),console[bL(0x3b9)](a0L[bL(0x2c3)]('\x20\x20'+a3[bL(0x4a9)]('\x0a')['slice'](-(0x1*0x215b+0x1d*-0x95+-0x2*0x83a))[bL(0x390)](bL(0x29c))))),a0al({'completedAt':new Date()[bL(0x40b)](),'pythonVersion':V,'installedPackages':a1,'failedPackages':a2[bL(0x41f)](ay=>ay['pkg'])}),console['log'](),0x1d00+-0x2f*-0x24+-0x239c===a2[bL(0x3d4)]?a0a9(bL(0x268)+X[bL(0x3d4)]+bL(0x287)):0x2672*0x1+0x361+-0x29d3===a1[bL(0x3d4)]?(a0aa(bL(0x4d2)+X[bL(0x3d4)]+'\x20packages\x20installed.'),console[bL(0x3b9)](),console[bL(0x3b9)](a0L['yellow'](bL(0x484))),0x8d5+-0x26a0+0x1dce===a0[-0xac+0x15d*0x9+0xb99*-0x1]&&a0[0x2004+0x1*-0x1a41+-0x5c2]>=0x49d*-0x7+0x8f*-0x13+-0x7*-0x623?(console[bL(0x3b9)](a0L[bL(0x2c3)]('\x20\x20\x20\x20Python\x203.13\x20is\x20too\x20new\x20—\x20most\x20CTF\x20libraries\x20lack\x20wheels.')),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x2ff)))):(console[bL(0x3b9)](a0L[bL(0x2c3)]('\x20\x20\x20\x20•\x20Check\x20you\x20have\x20internet\x20(pip.pypa.io\x20must\x20be\x20reachable)')),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x3fb))+a0L[bL(0x27a)](Q+bL(0x4b3))+a0L[bL(0x2c3)](bL(0x3e9))),console[bL(0x3b9)](a0L[bL(0x2c3)]('\x20\x20\x20\x20•\x20On\x20Kali/Ubuntu\x2022+:\x20might\x20need\x20python3.12-dev\x20+\x20build-essential'))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x281))+a0L[bL(0x259)][bL(0x27a)](bL(0x350)))):a0ab(a1['length']+'/'+X[bL(0x3d4)]+'\x20packages\x20installed.\x20'+a2[bL(0x3d4)]+'\x20failed:\x20'+a2[bL(0x41f)](ay=>ay[bL(0x43e)])['join'](',\x20')),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x27a)](bL(0x43c))),console[bL(0x3b9)](a0L[bL(0x259)][bL(0x29d)](bL(0x464))),console[bL(0x3b9)](a0L[bL(0x27a)](bL(0x43c))),console[bL(0x3b9)](),console['log'](a0L[bL(0x259)]['yellow']('\x20\x20Method\x201:\x20One-liner')+a0L[bL(0x2c3)](bL(0x357))),console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x4ba))),console[bL(0x3b9)](a0L[bL(0x1d0)]('\x20\x20\x20\x20!python3\x20-c\x20\x22import\x20base64;\x20print(base64.b64decode(\x27SGVsbG8=\x27))\x22')),console[bL(0x3b9)](a0L['gray'](bL(0x45f))),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x259)][bL(0x475)]('\x20\x20Method\x202:\x20Interactive\x20Python')+a0L[bL(0x2c3)](bL(0x49e))),console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x3bc))),console['log'](a0L[bL(0x1d0)]('\x20\x20\x20\x20!python3')),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x445))),console['log'](a0L['gray'](bL(0x3a1))),console[bL(0x3b9)](a0L['gray'](bL(0x4ca))),console['log'](a0L[bL(0x2c3)](bL(0x1e3))),console['log'](a0L[bL(0x2c3)]('\x20\x20\x20\x20>>>\x20exit()')),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x259)][bL(0x475)](bL(0x269))+a0L[bL(0x2c3)]('\x20(complex\x20solutions)')),console[bL(0x3b9)](a0L[bL(0x29d)](bL(0x238))),console['log'](a0L[bL(0x1d0)]('\x20\x20\x20\x20!cat\x20<<\x20\x27EOF\x27\x20>\x20solve.py')),console[bL(0x3b9)](a0L[bL(0x2c3)]('\x20\x20\x20\x20from\x20pwn\x20import\x20xor')),console[bL(0x3b9)](a0L[bL(0x2c3)]('\x20\x20\x20\x20ct\x20=\x20bytes.fromhex(\x220a2b0e1c...\x22)')),console[bL(0x3b9)](a0L['gray'](bL(0x2bc))),console['log'](a0L['gray'](bL(0x425))),console[bL(0x3b9)](a0L[bL(0x1d0)](bL(0x3ba))),console[bL(0x3b9)](a0L[bL(0x1d0)]('\x20\x20\x20\x20!python3\x20solve.py')),console[bL(0x3b9)](),console[bL(0x3b9)](a0L[bL(0x259)][bL(0x475)]('\x20\x20AI\x20Assistant')),console[bL(0x3b9)](a0L[bL(0x29d)]('\x20\x20During\x20the\x20exam,\x20type\x20')+a0L['bold'][bL(0x27a)](bL(0x3a3))+a0L['white']('\x20to\x20ask\x20AI\x20for\x20help:')),console[bL(0x3b9)](a0L['gray']('\x20\x20\x20\x20\x22How\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[bL(0x3b9)](a0L[bL(0x2c3)]('\x20\x20\x20\x20\x22Show\x20me\x20how\x20to\x20use\x20struct.unpack\x22')),console[bL(0x3b9)](a0L['gray'](bL(0x438))),console[bL(0x3b9)](a0L[bL(0x27a)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bL(0x3b9)](),console['log'](a0L['white']('\x20\x20Next\x20step:\x20')+a0L[bL(0x259)][bL(0x27a)](bL(0x366))),console[bL(0x3b9)](a0L[bL(0x2c3)](bL(0x3ab))+a0L[bL(0x259)][bL(0x27a)]('back')+a0L[bL(0x2c3)](bL(0x219))),console[bL(0x3b9)]();}),B[be(0x3e1)](()=>{const bN=be;a0a8(bN(0x454));const F=a0Y();if(F){a0ae('In\x20Progress:\x20'+F[bN(0x298)][bN(0x261)]),O();const J=Object[bN(0x483)](F[bN(0x487)])[bN(0x3d4)];return a0af(bN(0x344),J+'/'+F['session'][bN(0x328)]+bN(0x32a)),console[bN(0x3b9)](),void console['log'](a0L['gray'](bN(0x470)));}const G=a0a3(),H=a0ak();console[bN(0x3b9)](),a0ae(bN(0x42c)),console[bN(0x3b9)](),-0x59*0x29+-0x422*0x2+-0x481*-0x5===G[bN(0x367)]?(console[bN(0x3b9)](a0L['yellow'](bN(0x461))+a0L[bN(0x475)](bN(0x48d))),console[bN(0x3b9)](a0L[bN(0x2c3)](bN(0x31f))+a0L[bN(0x259)][bN(0x27a)](bN(0x435)))):(console[bN(0x3b9)](a0L[bN(0x1d0)](bN(0x3ae))+a0L[bN(0x1d0)]('Demo\x20completed\x20('+G[bN(0x367)]+bN(0x442)+(0x3*-0xb89+0x3*-0x2e8+0x1*0x2b54!==G[bN(0x367)]?'s':'')+')')),H?(console[bN(0x3b9)](a0L[bN(0x1d0)]('\x20\x20●\x20')+a0L[bN(0x1d0)](bN(0x224))),console[bN(0x3b9)](a0L[bN(0x475)](bN(0x461))+a0L[bN(0x475)](bN(0x47a))),console[bN(0x3b9)](a0L[bN(0x2c3)](bN(0x31f))+a0L[bN(0x259)][bN(0x27a)]('exam\x20<token>'))):(console['log'](a0L[bN(0x475)]('\x20\x20○\x20')+a0L[bN(0x475)](bN(0x283))),console[bN(0x3b9)](a0L[bN(0x2c3)](bN(0x31f))+a0L['bold'][bN(0x27a)](bN(0x350))))),console[bN(0x3b9)]();});}
|
|
1
|
+
(function(z,B){const b0=a0B,F=z();while(!![]){try{const G=parseInt(b0(0x360))/(0x1*-0x1a35+-0x2*0x635+0x19c*0x18)*(-parseInt(b0(0x1ce))/(0x1249+0x58c+-0x7f1*0x3))+-parseInt(b0(0x17d))/(0x8bf*0x1+-0x1*0xf71+-0x11*-0x65)*(parseInt(b0(0x200))/(0x3f4+0x8a+-0x3*0x17e))+-parseInt(b0(0x145))/(0x1133+0x13*-0x91+0x66b*-0x1)*(parseInt(b0(0x3c2))/(-0xb43+-0x1b59+0x26a2))+-parseInt(b0(0xfe))/(0x1282+-0x177b+0x500)+-parseInt(b0(0x2cc))/(0x24a5+0x1469+-0x3906)+-parseInt(b0(0x1a0))/(0x79d+0x3*-0xbe2+-0x2*-0xe09)*(parseInt(b0(0x394))/(-0x23*-0x9a+0xdb1+-0x22b5))+-parseInt(b0(0x1a1))/(-0x12ef+0x1360+-0x6*0x11)*(-parseInt(b0(0x23e))/(0x48+0xdc*0x11+-0xed8));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x17c4eb*0x1+0x11ac2b+0x1411e4));import a0L from'chalk';import{confirm as a0Q}from'@inquirer/prompts';import{ExamClient as a0V}from'../lib/exam-client.js';import{getConfig as a0W,saveConfig as a0X}from'../lib/config.js';import{getExamState as a0Y,saveExamState as a0Z,clearExamState as a0a0,getExamDeadline as a0a1,materializeAttachedData as a0a2}from'../lib/exam-state.js';import{getDemoStats as a0a3,recordDemoAttempt as a0a4,saveRetryQueue as a0a5,getRetryQueue as a0a6,clearRetryQueue as a0a7}from'../lib/demo-stats.js';import{logCommand as a0a8}from'../lib/logger.js';import{printSuccess as a0a9,printError as a0aa,printWarning as a0ab,printInfo as a0ac,printTable as a0ad,printHeader as a0ae,printKeyValue as a0af,createSpinner as a0ag,formatCountdown as a0ah}from'../lib/ui.js';import{t as a0ai}from'../lib/i18n.js';import{getDeviceFingerprint as a0aj}from'../lib/access.js';import{getExamSetup as a0ak,saveExamSetup as a0al,isExamSetupComplete as a0am}from'../lib/exam-setup.js';import{execSync as a0an}from'node:child_process';const q=z=>new Promise(B=>setTimeout(B,z));function N(B,F={}){const b1=a0B,G=a0W(),H={};H[b1(0x14a)]=b1(0x1af),fetch(b1(0x101),{'method':b1(0x265),'headers':H,'body':JSON['stringify']({'type':B,'lang':G[b1(0x37b)]||'en','timestamp':new Date()[b1(0x1d7)](),...F}),'signal':AbortSignal['timeout'](0x25ab*0x1+0xa*-0x3a7+0x3*0x621)})[b1(0x1a7)](()=>{});}function E(z,B){const b2=a0B,F=Math[b2(0x3ad)](z/(0x1bc4+0x22e+-0x246*0xd)*(0x517*0x1+0x22*0x14+0x3*-0x28b)),G=-0x92e+0x315+-0x1*-0x637-F,H=a0L[b2(0x247)]('█'[b2(0x391)](F))+a0L['gray']('░'[b2(0x391)](G)),J=String(z)['padStart'](-0x17a3+-0x75a*0x3+0x2db4)+'%';process['stdout'][b2(0x3b3)](b2(0x2c6)+H+'\x20'+J+'\x20\x20'+a0L[b2(0x3ed)](B));}function M(){const b3=a0B,z=a0W();return z[b3(0x1e0)]&&z['token']?new a0V(z['ctfdUrl'],z[b3(0x283)]):(a0aa(b3(0x173)),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af('Time\x20Remaining',a0L[b4(0x2b7)][b4(0x13a)](a0ah(z))):a0af(b4(0x388),a0L[b4(0x2f5)][b4(0x13a)](b4(0x39f))));}function j(z,B){const b5=a0B;return Array['isArray'](z[b5(0x10f)])&&z['bookmarks'][b5(0x152)](B);}function D(z,B){const b6=a0B,F=Array[b6(0x271)](z['bookmarks'])?[...z[b6(0x10f)]]:[],G=F[b6(0x16d)](B);return G>=0x2146+-0x1c05+-0x541?(F[b6(0x1f9)](G,0x5*0x47f+-0x140d+-0x26d*0x1),z[b6(0x10f)]=F,a0Z(z),!(0x1087+0x1766+0x49*-0x8c)):(F['push'](B),F[b6(0x3d6)]((H,J)=>H-J),z['bookmarks']=F,a0Z(z),!(-0x14d1+0x1*0xfa+0x13d7));}function a0B(a,b){a=a-(0xc02+-0xec*-0x1b+0x23f8*-0x1);const c=a0z();let d=c[a];if(a0B['wAlxdl']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x2084+0x25ab*0x1+0x1*-0x527,o,p,q=0x1*0x4a1+0x781+-0xc22;p=i['charAt'](q++);~p&&(o=n%(0x1*0x1535+0x147*-0x16+0x3d*0x1d)?o*(0x18c9+-0x1*-0x553+-0x1ddc)+p:p,n++%(0xeca+-0x1ed+-0xcd9))?l+=String['fromCharCode'](0xeae+-0x241*0xb+0xb1c&o>>(-(-0x59f*0x5+0x44*-0x4a+0x2fc5)*n&0x17b*0x6+-0x25d8+0x1cfc)):0x96f+-0x1d2*-0xa+0x1*-0x1ba3){p=j['indexOf'](p);}for(let r=-0xb75+-0xfc6+0x1b3b,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x30a+-0x21f7+-0x1efd*-0x1))['slice'](-(0x185*-0xe+-0xd51*0x1+0x2299));}return decodeURIComponent(m);};a0B['Unqtcm']=e,a0B['FwnJZA']={},a0B['wAlxdl']=!![];}const f=c[-0xaed+0x22a1+0x29*-0x94],g=a+f,h=a0B['FwnJZA'][g];return!h?(d=a0B['Unqtcm'](d),a0B['FwnJZA'][g]=d):d=h,d;}function R(B){const b7=a0B,F={};return F[b7(0x19d)]=B[b7(0x29c)]||-0xfc6+-0x52+-0x406*-0x4,F[b7(0x3a9)]=B[b7(0x3a6)]||-0x1dd4*0x1+-0x2117+0x3eff,F[b7(0x3ac)]=B[b7(0x104)]||{},F[b7(0x11c)]=B[b7(0x25f)]||{},F;}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.[b8(0x3e1)][b8(0xfc)]||-0x194c*-0x1+0x1868+-0x3196),H=Object[b8(0x146)](F?.[b8(0x404)]||{})[b8(0x368)],J=R(F),K=J[b8(0x11c)][z['number']]||[],L=b8(0x2d1)===z['type']||b8(0x29a)===z['type']||b8(0x40f)===z[b8(0x333)]||z['options']&&!z[b8(0x1f4)]['A']&&!z[b8(0x1f4)]['B'];F&&function(Y,Z){const b9=b8;if(b9(0x1d6)===Y['session'][b9(0x2a7)])return;const a0=new Set(Y[b9(0x1a6)]||[]),a1=Number(Y[b9(0x3e1)][b9(0xfc)]||0x22a1+0xc*-0x25c+-0x629),a2=a0a1();if(0x1ddb+-0x1666*-0x1+-0x3437*0x1===Z&&a1>=-0x6*-0x51d+-0x1*0x757+-0x172f&&!a0[b9(0x1d3)](b9(0x278))){const a3=a2?Math[b9(0x3a9)](-0x16de+0xf*0x1b9+0x2f9*-0x1,Math[b9(0x3ad)]((a2[b9(0x2ef)]()-Date[b9(0x336)]())/(-0x24e9+0x14203*0x1+-0x32ba))):null;console['log'](),console[b9(0x14d)](a0L[b9(0x3ed)](b9(0x119))),console[b9(0x14d)](a0L['cyan']('\x20\x20⏱\x20\x20Time\x20check\x20\x20')+a0L[b9(0x3ed)](b9(0x2c5))),null!==a3&&console[b9(0x14d)](a0L[b9(0x3ed)]('\x20\x20\x20\x20\x20'+a3+b9(0x203))),console[b9(0x14d)](a0L[b9(0x3ed)](b9(0x119))),a0['add'](b9(0x278)),Y[b9(0x1a6)]=Array['from'](a0),a0Z(Y);}if(0x258+0x742+-0x97c===Z&&a1>=0x2f*0x2f+0x120f+-0x1a88&&!a0[b9(0x1d3)](b9(0x1bf))){Object[b9(0x146)](Y[b9(0x404)]||{})[b9(0x368)];const a4=Object[b9(0x146)](Y[b9(0x404)]||{})['filter'](a5=>Number(a5)<=0xfeb*0x2+0x10*0xb+-0x1034*0x2)[b9(0x368)];console[b9(0x14d)](),console[b9(0x14d)](a0L[b9(0x247)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b9(0x14d)](a0L[b9(0x13a)]['green']('\x20\x20✓\x20\x20MCQ\x20section\x20complete\x20—\x20well\x20done!')),console[b9(0x14d)](a0L['gray'](b9(0x328)+a4+b9(0x3fa))),console[b9(0x14d)](a0L['white'](b9(0x323))),console[b9(0x14d)](a0L[b9(0x3ed)](b9(0x33b))),console['log'](a0L[b9(0x247)](b9(0x1c4))),a0[b9(0x210)](b9(0x1bf)),Y[b9(0x1a6)]=Array[b9(0x102)](a0),a0Z(Y);}}(F,z[b8(0x107)]),F&&L&&function(Y,Z){const ba=b8;if('demo-free'===Y['session'][ba(0x2a7)])return;if(Number(Y['session']['questionCount']||-0x2309+-0xd8+0x2409)<-0x23f1+0x5*0x6af+-0x7*-0x62)return;const a0=new Set(Y[ba(0x1a6)]||[]);Z>=0x9ad+0x646+-0x3f5*0x4&&Z<=0x9*-0x2c3+-0x6*-0x494+-0x277&&!a0[ba(0x1d3)](ba(0x123))?(console['log'](),console['log'](a0L['green'](ba(0x35c))),console[ba(0x14d)](a0L[ba(0x13a)]['green']('\x20\x20\x20🚀\x20\x20Section\x202:\x20AI4CTF\x20—\x20AI\x20is\x20your\x20teammate')),console[ba(0x14d)](a0L[ba(0x247)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x14d)](),console['log'](a0L[ba(0x1c9)](ba(0x1a4))),console[ba(0x14d)](a0L[ba(0x1c9)](ba(0x23b))),console[ba(0x14d)](),console[ba(0x14d)](a0L[ba(0x13a)][ba(0x1c9)](ba(0x23c))),console[ba(0x14d)](a0L[ba(0x3ed)](ba(0x10b))+a0L[ba(0x13a)](ba(0x1dd))+a0L['gray'](ba(0x2b4))),console['log'](),console[ba(0x14d)](a0L[ba(0x13a)]['white'](ba(0x3ce))),console[ba(0x14d)](a0L['gray'](ba(0x32f))+a0L[ba(0x13a)][ba(0x247)]('ai4ctf')+a0L[ba(0x3ed)](ba(0x236))+a0L[ba(0x302)](ba(0x2d2))+a0L[ba(0x3ed)](ba(0x29b))),console[ba(0x14d)](a0L[ba(0x3ed)](ba(0x378))+a0L[ba(0x338)]('hint\x20a\x20/\x20b\x20/\x20c')+a0L[ba(0x3ed)](ba(0x21f))+a0L['cyan'](ba(0x216))+a0L[ba(0x3ed)](ba(0x21f))+a0L[ba(0x338)]('!python3\x20...')),console[ba(0x14d)](a0L[ba(0x3ed)](ba(0x20e))),console[ba(0x14d)](a0L['gray'](ba(0x2f2))+a0L['cyan']('exit')+a0L['gray'](ba(0x3db))+a0L[ba(0x338)](ba(0x36f))),console[ba(0x14d)](),console[ba(0x14d)](a0L['bold'][ba(0x1c9)](ba(0x31d))),console[ba(0x14d)](a0L[ba(0x3ed)]('\x20\x20\x20\x20\x20AI\x20tokens:\x20\x20\x20\x20\x20\x20')+a0L[ba(0x1c9)](ba(0x352))+a0L['gray'](ba(0x12e))),console['log'](a0L[ba(0x3ed)](ba(0x41e))+a0L[ba(0x1c9)]('pre-written\x20per\x20question')),console[ba(0x14d)](),console[ba(0x14d)](a0L[ba(0x2b7)](ba(0x226))),console[ba(0x14d)](a0L[ba(0x247)](ba(0x35c))),console[ba(0x14d)](),a0[ba(0x210)]('s_ai4ctf'),Y[ba(0x1a6)]=Array[ba(0x102)](a0),a0Z(Y)):Z>=-0x1771+-0x1679+-0x3*-0xf5b&&!a0['has']('s_ctf4ai')&&(console[ba(0x14d)](),console['log'](a0L[ba(0x2f5)](ba(0x35c))),console['log'](a0L[ba(0x13a)][ba(0x2f5)](ba(0x118))),console[ba(0x14d)](a0L[ba(0x2f5)](ba(0x35c))),console[ba(0x14d)](),console[ba(0x14d)](a0L[ba(0x1c9)](ba(0x2b8))),console[ba(0x14d)](a0L[ba(0x1c9)](ba(0x380))+a0L['bold'](ba(0x130))+a0L[ba(0x1c9)](ba(0x2b5))),console[ba(0x14d)](),console[ba(0x14d)](a0L['bold'][ba(0x1c9)](ba(0x3d7))),console[ba(0x14d)](a0L[ba(0x3ed)](ba(0x11f))),console['log'](),console[ba(0x14d)](a0L[ba(0x13a)][ba(0x1c9)](ba(0x14c))),console[ba(0x14d)](a0L[ba(0x3ed)](ba(0x32f))+a0L[ba(0x13a)]['red']('ctf4ai')+a0L['gray']('\x20→\x20')+a0L['red']('ctf4ai>')+a0L[ba(0x3ed)](ba(0x18d))),console[ba(0x14d)](a0L[ba(0x3ed)](ba(0x378))+a0L[ba(0x338)](ba(0x403))+a0L[ba(0x3ed)](ba(0x21f))+a0L['cyan']('submit\x20ICOA{...}')+a0L[ba(0x3ed)](ba(0x21f))+a0L[ba(0x338)](ba(0xf6))),console[ba(0x14d)](a0L[ba(0x3ed)]('\x20\x20\x20\x20\x20Messages\x20→\x20AI\x20target\x20—\x20craft\x20prompts\x20to\x20break\x20its\x20rules.')),console['log'](),console[ba(0x14d)](a0L[ba(0x13a)]['white'](ba(0x1be))),console['log'](a0L['gray'](ba(0x15a))+a0L[ba(0x2f5)](ba(0x27e))+a0L[ba(0x3ed)](ba(0x1ee))),console[ba(0x14d)](a0L[ba(0x3ed)]('\x20\x20\x20\x20\x20·\x20Separate\x20budget:\x20')+a0L[ba(0x1c9)](ba(0x3c0))+a0L[ba(0x3ed)]('\x20shared\x20across\x20Q39–40')),console[ba(0x14d)](),console['log'](a0L[ba(0x2b7)](ba(0x1ad))),console[ba(0x14d)](a0L[ba(0x2b7)]('\x20\x20\x20If\x20time\x20is\x20tight,\x20skim\x20Q39/40\x20first\x20to\x20decide\x20attack\x20order.')),console['log'](a0L[ba(0x2f5)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),a0[ba(0x210)](ba(0x27a)),Y['shownWarnings']=Array[ba(0x102)](a0),a0Z(Y));}(F,z[b8(0x107)]),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z[bb(0x2ef)]()-Date['now']();if(a0<=-0x1*0x19b5+0x1*0x21e6+-0x1*0x831)return;const a1=a0/(0x98f5+0x84*0x2f9+-0x1*0x136f9),a2=new Set(Y[bb(0x1a6)]||[]);let a3=null;if(a1<=-0xb*-0x41+-0x4c2+-0x2a*-0xc&&!a2[bb(0x1d3)]('t1')?a3={'key':'t1','text':[a0L[bb(0x2f5)][bb(0x13a)](bb(0x28e)),a0L[bb(0x2f5)]('\x20\x20Submit\x20now\x20with:\x20')+a0L[bb(0x13a)](bb(0x22b))]}:a1<=-0x305+-0x2*-0x53f+-0x774&&!a2['has']('t5')?a3={'key':'t5','text':[a0L[bb(0x2f5)][bb(0x13a)](bb(0x1dc)),a0L[bb(0x2b7)](bb(0x350))+a0L[bb(0x13a)]('exam\x20submit')]}:a1<=-0x1b95+-0x1f4+0x1d93&&!a2[bb(0x1d3)](bb(0x22c))&&(a3={'key':'t10','text':[a0L['yellow'][bb(0x13a)](bb(0x344)),a0L[bb(0x3ed)]('\x20\x20Review\x20unanswered\x20questions:\x20')+a0L[bb(0x1c9)](bb(0x240))]}),a3){console[bb(0x14d)](),console[bb(0x14d)](a0L[bb(0x2f5)](bb(0x1c4)));for(const a4 of a3[bb(0x2ea)])console[bb(0x14d)](a4);console[bb(0x14d)](a0L[bb(0x2f5)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),a2[bb(0x210)](a3[bb(0x366)]),Y[bb(0x1a6)]=Array[bb(0x102)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math[bc(0x3ad)](Y/Z*(0x1e9c+0x121f*0x2+0x1*-0x42bc)),a2=0x1*-0x1615+0x1f44+-0x911-a1,a3=a0L[bc(0x338)]('━'[bc(0x391)](a1))+a0L[bc(0x3ed)]('─'['repeat'](a2)),a4=Math[bc(0x3ad)](Y/Z*(0x23bf*0x1+-0x1901+-0xa5a));console[bc(0x14d)](),console['log']('\x20\x20'+a3+'\x20\x20'+a0L[bc(0x1c9)][bc(0x13a)](''+Y)+a0L[bc(0x3ed)]('/'+Z)+'\x20\x20'+a0L[bc(0x3ed)]('('+a0+'\x20answered)')+'\x20\x20'+a0L[bc(0x3ed)](a4+'%'));const a5=a0a1();if(a5){const a6=Math[bc(0x3a9)](-0x2705+-0x89*-0x37+0x996,Math['round']((a5[bc(0x2ef)]()-Date[bc(0x336)]())/(-0x2ce*0x9+0x4a0+-0x49*-0x56))),a7=Math[bc(0x258)](a6/(0x11d7*-0x1+-0x1738+-0x155*-0x1f))+':'+String(a6%(0x23b9+0x12ff+-0x367c))[bc(0x41a)](0x19af+-0x1ca0+-0x97*-0x5,'0'),a8=a6<=0x120c+-0x12e5+0x115?a0L['red']['bold']:a6<=0x1b88*0x1+-0x1*0x1a62+0x6?a0L[bc(0x2f5)]:a6<=0xf63+-0x1bf5+0xeea?a0L['yellow']:a0L['gray'];console['log']('\x20\x20'+a0L[bc(0x3ed)](bc(0x1d1))+'\x20'+a8(a7)+'\x20'+a0L[bc(0x3ed)](bc(0x3af)));}}(z[b8(0x107)],G,H),F&&j(F,z[b8(0x107)])&&console[b8(0x14d)](a0L[b8(0x2b7)](b8(0x3d1)));const Q=function(Y,Z){const bd=b8,a0={};a0['pct']=0.2,a0['emoji']=bd(0x29e),a0['key']=bd(0x2a4);const a1={};a1[bd(0x15b)]=0.33,a1[bd(0x176)]='🐨',a1[bd(0x366)]=bd(0x341);const a2={};a2[bd(0x15b)]=0.5,a2[bd(0x176)]='🌉',a2[bd(0x366)]=bd(0x268);const a3={};a3[bd(0x15b)]=0.6,a3[bd(0x176)]='🦘',a3['key']='egg9';const a4={};a4[bd(0x15b)]=0.8,a4[bd(0x176)]=bd(0x342),a4['key']=bd(0xf4);const a5={};a5[bd(0x15b)]=0.87,a5['emoji']='🦈',a5[bd(0x366)]=bd(0x190);const a6={};a6[bd(0x15b)]=0x1,a6[bd(0x176)]='🎉',a6[bd(0x366)]=bd(0x2e1);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[bd(0x3ad)](a9['pct']*Z);if(!(aa<-0x103f*0x1+-0xc38+-0x1*-0x1c78||a8['has'](aa))&&(a8[bd(0x210)](aa),Y===aa))return{'emoji':a9[bd(0x176)],'text':a0ai(a9['key'])};}}(z['number'],G);if(Q&&console['log'](a0L['yellow']('\x20\x20'+Q[b8(0x176)]+'\x20\x20'+Q[b8(0x2ea)])),console[b8(0x14d)](),z[b8(0x3e9)]&&console[b8(0x14d)](a0L['cyan']('\x20\x20['+z[b8(0x3e9)]+']')),z[b8(0x419)]&&z[b8(0x419)]>0x1236+-0x8*0x15d+-0x3a6*0x2&&console[b8(0x14d)](a0L[b8(0x338)](b8(0x2bc)+z[b8(0x419)]+b8(0x17a))),L){let Y=z[b8(0x288)]||z[b8(0x2ea)];const Z=a0a2(z[b8(0x107)],z[b8(0x17f)]);if(z[b8(0x17f)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b8(0x295)](Y)?Y=Y[b8(0x321)](a1,z[b8(0x17f)]):Y[b8(0x152)](z[b8(0x17f)])||(Y=Y+b8(0x359)+z[b8(0x17f)]);}console[b8(0x14d)](a0L[b8(0x13a)]['white'](b8(0x1ba)+z['number']+'.\x20')+a0L[b8(0x1c9)](Y[b8(0x24f)]('\x0a')[0x15d7+0x1af3+-0xa*0x4e1]));const a0=Y[b8(0x24f)]('\x0a')[b8(0x175)](-0x28a+-0xc2*0x19+-0x1*-0x157d);for(const a2 of a0)console[b8(0x14d)](a0L[b8(0x1c9)]('\x20\x20'+a2));if(console[b8(0x14d)](),Z&&b8(0x2d1)===z[b8(0x333)]){const a3=Z['replace'](process.env.HOME||'','~');console['log'](a0L['cyan']('\x20\x20'+a0ai(b8(0x3bf))+'\x20')+a0L[b8(0x3ed)]('('+a0ai(b8(0x3cf))+'\x20'+a3+'):')),console[b8(0x14d)](a0L[b8(0x1c9)](b8(0x2f1))+a0L[b8(0x2b7)]('!<cmd>\x20'+a3)[b8(0x379)](-0x52d+0x1f*-0xb5+-0x2*-0xda6)+a0L[b8(0x3ed)]('\x20'+a0ai(b8(0x3da)))),console[b8(0x14d)](a0L[b8(0x1c9)]('\x20\x20\x20\x20②\x20')+a0L[b8(0x2b7)](b8(0x40d))['padEnd'](-0x1e5*-0x11+0x2*-0x257+-0x1b67)+a0L[b8(0x3ed)]('\x20'+a0ai(b8(0x100)))),console[b8(0x14d)](a0L[b8(0x1c9)](b8(0x313))+a0L[b8(0x2b7)](b8(0x3f1))+a0L[b8(0x3ed)](b8(0x230))+a0L[b8(0x2b7)](b8(0x3b5))),console[b8(0x14d)](a0L[b8(0x1c9)](b8(0x132))+a0L[b8(0x2b7)](b8(0x2d7))[b8(0x379)](0x1a9f+0x176b+-0x31ea)+a0L[b8(0x3ed)]('\x20'+a0ai(b8(0x2d3)))),console[b8(0x14d)](a0L[b8(0x1c9)](b8(0x3e7))+a0L[b8(0x2b7)](b8(0x2d1))[b8(0x379)](0x35f*-0x3+-0x14fe+0x1f3b)+a0L[b8(0x3ed)]('\x20'+a0ai('examWaysAi4ctf'))),console[b8(0x14d)](),console[b8(0x14d)](a0L[b8(0x3ed)]('\x20\x20'+a0ai(b8(0x314))+'\x20')+a0L['bold'][b8(0x247)](b8(0x165))),console[b8(0x14d)]();}B&&(console['log'](a0L[b8(0x247)](b8(0x1fa)+B)),console[b8(0x14d)]());}else{console[b8(0x14d)](a0L[b8(0x13a)]['white'](b8(0x1ba)+z[b8(0x107)]+'.\x20')+a0L[b8(0x1c9)](z['text'])),console[b8(0x14d)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K['includes'](a4)?console['log'](a0L[b8(0x3ed)][b8(0x23a)](b8(0x3f7)+a4+'.\x20'+z[b8(0x1f4)][a4])+a0L[b8(0x2f5)]('\x20('+a0ai(b8(0x286))+')')):a5?console[b8(0x14d)](a0L[b8(0x247)][b8(0x13a)](b8(0x1cf)+a4+'.\x20'+z[b8(0x1f4)][a4])):console[b8(0x14d)](a0L['gray'](b8(0x3f7)+a4+'.')+'\x20'+a0L[b8(0x1c9)](z[b8(0x1f4)][a4]));}console[b8(0x14d)]();}const V='demo-free'===F?.[b8(0x3e1)][b8(0x2a7)],W=J[b8(0x3ac)][-0x2306+0x1001*0x1+0x1307]||0x2*-0xc8+-0x7b0+0x940*0x1;V&&-0xd*-0x56+0x7c7*-0x1+0x36b===z['number']&&0xe25+-0x1*0x26ab+0x2*0xc43===W&&(console[b8(0x14d)](a0L[b8(0x2b7)][b8(0x13a)]('\x20\x20'+a0ai(b8(0x39a)))),console['log']());const X=J[b8(0x3a9)]-J[b8(0x19d)];if(console['log'](a0L[b8(0x3ed)](b8(0x2c9))),L){const a6=F&&b8(0x1d6)!==F[b8(0x3e1)][b8(0x2a7)]&&z[b8(0x107)]>=0x27*0x79+0xea4+-0xac*0x31&&z['number']<=-0x1e5d+-0x24af+-0x2ec*-0x17,a7=F&&b8(0x1d6)!==F[b8(0x3e1)][b8(0x2a7)]&&z[b8(0x107)]>=-0x245f+0x1738+0x1*0xd46&&z[b8(0x107)]<=0x1d8a+-0x961+-0x6d*0x2f;b8(0x40f)===z[b8(0x333)]?console[b8(0x14d)](a0L['bold']['cyan'](b8(0x3b4))+a0L[b8(0x3ed)](b8(0x320))):a7?console[b8(0x14d)](a0L[b8(0x13a)][b8(0x247)](b8(0x292))+a0L[b8(0x3ed)](b8(0x115))):a6&&console[b8(0x14d)](a0L[b8(0x13a)][b8(0x2f5)](b8(0x1e8))+a0L[b8(0x3ed)](b8(0x2ae))),console[b8(0x14d)](a0L['yellow'](b8(0x158))+a0L[b8(0x3ed)](b8(0x294))),console['log'](a0L[b8(0x2b7)](b8(0x376))+a0L['gray']('\x20\x20\x20\x20\x20\x20start\x20Python\x20shell'));}else{const a8=J[b8(0x3a9)]>=0xf15+-0x1*-0x205+-0x1*0x10fc,a9=X>0xb*-0x241+0x61*0x4a+-0x1*0x33f?a0L['gray'](a0ai(b8(0x3e2))+'\x20')+a0L[b8(0x2b7)]('('+X+'/'+J['max']+')'):a8?a0L[b8(0x3ed)](a0ai(b8(0x1c1))+'\x20('+J[b8(0x19d)]+'/'+J[b8(0x3a9)]+')'):a0L[b8(0x3ed)](''+a0ai(b8(0x290)));console[b8(0x14d)](a0L['yellow']('\x20\x20\x20\x20A/B/C/D')+a0L[b8(0x3ed)](b8(0x155)+a0ai('answerThis'))),console[b8(0x14d)](a0L[b8(0x2b7)](b8(0x381))+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a9);}console[b8(0x14d)](a0L[b8(0x2b7)](b8(0x1b7))+a0L[b8(0x3ed)](b8(0x40e))+a0L['yellow'](b8(0x2b1))+a0L[b8(0x3ed)](b8(0x3f7)+a0ai(b8(0x2e3)))),console[b8(0x14d)](a0L[b8(0x2b7)](b8(0x3e4)+G)+a0L['gray'](b8(0x1df)+a0ai('htpJump'))),console[b8(0x14d)](a0L[b8(0x2b7)]('\x20\x20\x20\x20mark')+a0L['gray'](b8(0x26f)+a0ai(b8(0x312)))),console[b8(0x14d)](a0L[b8(0x2b7)](b8(0x20d))+a0L[b8(0x3ed)]('\x20\x20\x20'+a0ai(b8(0x3c3)))),console[b8(0x14d)](a0L[b8(0x13a)][b8(0x2b7)](b8(0x2f9))+a0L[b8(0x3ed)](b8(0x1df)+a0ai(b8(0x18e)))),console[b8(0x14d)](a0L[b8(0x2b7)](b8(0x16b))+a0L[b8(0x3ed)](b8(0x26f)+a0ai(b8(0x25d)))),console[b8(0x14d)](a0L[b8(0x2b7)]('\x20\x20\x20\x20lang')+a0L[b8(0x3ed)](b8(0x26f)+a0ai('htpLang'))),console[b8(0x14d)](a0L[b8(0x3ed)](b8(0x2c9)));}export function registerExamCommand(z){const be=a0B,B=z[be(0x3ba)](be(0x212))['description']('National\x20selection\x20exam');B[be(0x3ba)]('nations')[be(0x288)]('View\x20all\x20participating\x20countries')['action'](()=>{const bf=be;a0a8(bf(0x1ae)),console[bf(0x14d)](),a0ae('ICOA\x20Participating\x20Countries\x20and\x20Regions'),console[bf(0x14d)]();const F=[['AU',bf(0x289)],['BD',bf(0x3f0)],['BI',bf(0x414)],['BR',bf(0x395)],['BW',bf(0x34c)],['CN',bf(0x3d9)],['DE',bf(0x19c)],['EG','Egypt'],['FR',bf(0x383)],['GH',bf(0x2a5)],['ID',bf(0x1bc)],['IN',bf(0x373)],['JP',bf(0x276)],['KR',bf(0x1eb)],['LA',bf(0x35d)],['LK',bf(0x372)],['MM',bf(0x31c)],['MO',bf(0x1da)],['MY','Malaysia'],['NZ',bf(0xfa)],['PE',bf(0x131)],['PH',bf(0x351)],['RU','Russia'],['SA',bf(0x2f7)],['SG',bf(0x3d0)],['TH','Thailand'],['TR','Turkey'],['UK',bf(0x246)],['US',bf(0x141)],['UZ',bf(0x183)],['VN','Vietnam'],['ZA',bf(0x374)]];for(let G=0x2*-0x728+-0x1c37+-0x2a87*-0x1;G<F[bf(0x368)];G+=0x1602+-0xf*0xfa+-0x759){const H=F[bf(0x175)](G,G+(0x1176+0x2687+0x599*-0xa))[bf(0x28c)](([J,K])=>'\x20\x20'+a0L[bf(0x338)](J)+'\x20\x20'+a0L[bf(0x3ed)](K[bf(0x379)](-0x1797+0x8*0x6b+-0x144f*-0x1)))[bf(0x339)]('');console['log'](H);}console[bf(0x14d)](),console[bf(0x14d)](a0L[bf(0x3ed)](bf(0x20c))),console['log'](a0L[bf(0x3ed)](bf(0x29f))),console[bf(0x14d)](),console[bf(0x14d)](a0L[bf(0x1c9)](bf(0x418))),console[bf(0x14d)](a0L[bf(0x338)]('\x20\x20\x20\x20exam\x20list\x20AU')+a0L[bf(0x3ed)](bf(0x397))+a0L[bf(0x3ed)](bf(0x37a))),console['log']();}),B[be(0x3ba)](be(0x3c7))['description'](be(0x264))[be(0x370)](async F=>{const bg=be;a0a8(bg(0x1a8)+(F||''));const G=M();if(!G)return;const H=a0ag(bg(0x35b));H['start']();try{let J=await G[bg(0x1ff)]();if(H['stop'](),F){const Q=F[bg(0x274)]();J=J[bg(0x38a)](V=>V[bg(0x219)][bg(0x274)]()===Q||bg(0x221)===V[bg(0x219)]);}if(!J||-0x600*0x4+-0x123f+0x2a3f===J[bg(0x368)]){console['log'](),a0ac(F?bg(0x1b8)+F[bg(0x274)]()+'\x20yet.':bg(0x27c)),console[bg(0x14d)](),console[bg(0x14d)](a0L['white'](bg(0x3ae))),console[bg(0x14d)](a0L[bg(0x3ed)](bg(0x11b))),console[bg(0x14d)](),console[bg(0x14d)](a0L[bg(0x3ed)](bg(0x2e9))+a0L[bg(0x13a)]['cyan']('demo')),console[bg(0x14d)]();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(0x274)]();return void(W[X]&&(console[bg(0x14d)](a0L[bg(0x3ed)](bg(0x327)+W[X])),console[bg(0x14d)]()));}const K=J[bg(0x28c)](Y=>{const bh=bg,Z=bh(0x253)===Y[bh(0x3df)]?a0L[bh(0x247)]:'in_progress'===Y['status']?a0L['yellow']:a0L['white'];return[a0L[bh(0x1c9)](Y['id']),Y[bh(0x279)],a0L[bh(0x338)](Y[bh(0x219)]),String(Y['questionCount']),Y[bh(0x2e8)]+'\x20min',Z(Y['status'])];}),L=[...new Set(J[bg(0x28c)](Y=>Y[bg(0x219)]))];a0ae(F?'Exams\x20—\x20'+F[bg(0x274)]():bg(0x214)+L[bg(0x368)]+'\x20regions)'),a0ad(['ID',bg(0x39e),bg(0x3e3),'Questions','Duration',bg(0x324)],K),console[bg(0x14d)](),console[bg(0x14d)](a0L[bg(0x3ed)](bg(0x114))),L[bg(0x368)]>-0x174a+0x171+0x1*0x15da&&console['log'](a0L['gray'](bg(0x2d9)));}catch(Y){H['fail'](bg(0x186)),a0aa(Y['message']);}}),B['command'](be(0x1ac))['description'](be(0x291))[be(0x370)](async F=>{const bi=be;a0a8('exam\x20start\x20'+F);const G=a0Y();if(G)return a0ab(bi(0x144)+G['session']['examName']+bi(0x3a0)),void a0ac(bi(0x36d));const H=M();if(!H)return;const J=await a0Q({'message':a0L[bi(0x1c9)]('Start\x20the\x20exam?\x20The\x20timer\x20will\x20begin\x20immediately.'),'default':!(-0x1*0xeec+-0x103c+-0x8*-0x3e5),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L['green'](K)}}});if(J){console[bi(0x14d)]();try{E(0x1*0x22cb+-0x9cd*0x2+-0xf31,bi(0x140));const {session:K,questions:L}=await H[bi(0x168)](F);E(0x8*-0x47d+-0x2*-0x25a+0x1*0x1f52,bi(0x329)),await q(0x83*0x49+0x2*-0xf07+-0x685),E(0x11f4+0x2582+0x1*-0x373a,bi(0x217)),await q(0x20e*0x2+0x1ea0+-0x21f4),E(0x16b2+-0x4*-0x7da+-0x35c0,bi(0x1c6)),await q(0x1993*-0x1+-0x2052+0x3a7b),a0Z({'session':K,'questions':L,'answers':{}}),E(-0x1083+0xb29*-0x2+0x2739,'Ready!'),console['log'](),console[bi(0x14d)](),a0ae(K[bi(0x17b)]),a0af(bi(0x30d),String(K['questionCount'])),a0af(bi(0xf2),K[bi(0x2e8)]+bi(0x382)),a0af(bi(0x3e3),K[bi(0x219)]),O(),L[bi(0x368)]>-0xb6+-0x7b4*0x1+0x86a&&U(L[0x63b+0xbda*0x3+-0x1*0x29c9]);}catch(Q){console['log'](),a0aa(Q[bi(0x138)]);}}}),B[be(0x3ba)](be(0x3c4))[be(0x288)](be(0x25c))['action'](async F=>{const bj=be;a0a8(bj(0x2e7)+(F||bj(0x3ff)));const {refetchQuestionDataIfStale:G}=await import(bj(0x1d4));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,-0x3*-0x9b7+-0x8f9*-0x2+0xfaf*-0x3),K=H[bj(0x178)][bj(0x3c5)](L=>L[bj(0x107)]===J);if(!K)return void a0aa(bj(0x405)+F+'\x20not\x20found\x20(1-'+H['questions'][bj(0x368)]+').');H['_lastQ']=J,a0Z(H),U(K,H[bj(0x404)][J]);}else{a0ae(''+H['session'][bj(0x17b)]);const L=Object[bj(0x146)](H['answers'])[bj(0x368)];a0af(bj(0x2a0),L+'/'+H[bj(0x3e1)]['questionCount']+bj(0x1fd)),console[bj(0x14d)]();for(const Q of H[bj(0x178)]){const V=H['answers'][Q[bj(0x107)]],W=V?a0L[bj(0x247)]('['+V+']'):a0L[bj(0x3ed)]('[\x20]'),X=Q[bj(0x3e9)]?a0L[bj(0x3ed)]('\x20['+Q['category']+']'):'';console[bj(0x14d)]('\x20\x20'+W+'\x20'+a0L[bj(0x1c9)]('Q'+Q[bj(0x107)])+X+'\x20'+a0L[bj(0x3ed)](Q[bj(0x2ea)][bj(0xf5)](-0x8b*0xb+-0x25*-0x1d+0x1c8,0xd34+-0x1e03+0x110b*0x1))+(Q[bj(0x2ea)]['length']>0x71*-0x46+0x1*0x220f+-0x6b*0x7?bj(0x159):''));}console['log']();}}else a0aa('No\x20exam\x20in\x20progress.\x20Use\x20\x22exam\x20start\x20<id>\x22\x20to\x20begin.');}),B[be(0x3ba)](be(0x3f6))[be(0x288)](be(0x2d8))[be(0x370)](F=>{const bk=be;a0a8('exam\x20mark\x20'+(F||''));const G=a0Y();if(!G)return void a0aa(bk(0x13f));const H=G[bk(0x178)][bk(0x368)],J=F?parseInt(F,0xea9+-0xec2+0x7*0x5):G[bk(0x3cb)]||0x62f*-0x2+0x8c2+0x39d;if(Number[bk(0x2dd)](J)||J<0x1040+-0x2dd*0x4+0x1*-0x4cb||J>H)return void a0aa(bk(0x154)+H+'.');const K=D(G,J);console['log'](),K?console['log'](a0L[bk(0x2b7)]('\x20\x20★\x20Q'+J+bk(0x308))):console[bk(0x14d)](a0L[bk(0x3ed)](bk(0x33e)+J+bk(0x124)));const L=Array[bk(0x271)](G[bk(0x10f)])?G[bk(0x10f)]:[];L['length']>0x5*0x632+-0xd17+-0x11e3&&console[bk(0x14d)](a0L['gray']('\x20\x20Currently\x20flagged:\x20'+L[bk(0x28c)](Q=>'Q'+Q)['join'](',\x20'))),console['log'](a0L['gray'](bk(0x111))+a0L[bk(0x1c9)](bk(0x240))),console[bk(0x14d)]();}),B[be(0x3ba)](be(0x355))[be(0x288)](be(0x1ed))['action'](F=>{const bl=be;a0a8(bl(0x133)+(F||''));const G=a0Y();if(!G)return void a0aa('No\x20exam\x20in\x20progress.');const H=G[bl(0x178)][bl(0x368)],J=F?parseInt(F,-0x254c+0x17b+0x43*0x89):G[bl(0x3cb)]||0x4e3+0x1781+-0x1c63;Number[bl(0x2dd)](J)||J<-0x1a25+0xb75*-0x3+0x3c85||J>H?a0aa(bl(0x154)+H+'.'):j(G,J)?(D(G,J),console[bl(0x14d)](),console[bl(0x14d)](a0L[bl(0x3ed)](bl(0x33e)+J+bl(0x124))),console['log']()):console[bl(0x14d)](a0L[bl(0x3ed)](bl(0x1ba)+J+bl(0x32a)));}),B[be(0x3ba)](be(0x136))[be(0x288)](be(0x171))['action'](()=>{const bm=be;a0a8(bm(0x2ab));const F=a0Y();if(!F)return void a0aa(bm(0x13f));F['questions'][bm(0x167)](K=>!F['answers'][K['number']]);const G=F[bm(0x3cb)]||0x1d83+0x68*-0x11+-0x169a,H=Math[bm(0x2be)](G+(0x548+0x19a+0x3*-0x24b),F[bm(0x178)][bm(0x368)]);F[bm(0x3cb)]=H,a0Z(F);const J=F[bm(0x178)][H-(-0x5f6*-0x4+0x164+0x3*-0x869)];U(J,F['answers'][J[bm(0x107)]]);}),B[be(0x3ba)]('prev')[be(0x288)](be(0x17e))[be(0x370)](()=>{const bn=be;a0a8(bn(0x1c3));const F=a0Y();if(!F)return void a0aa(bn(0x13f));const G=F[bn(0x3cb)]||-0x996+-0x7*-0x2e9+-0xac8,H=Math[bn(0x3a9)](G-(0x9da*-0x1+0xfc0+-0x5e5),0x1977+0x4ab*0x5+0x3c1*-0xd);F['_lastQ']=H,a0Z(F);const J=F[bn(0x178)][H-(-0x323*0x1+-0x19aa+0x1cce*0x1)];U(J,F[bn(0x404)][J[bn(0x107)]]);}),B[be(0x3ba)](be(0x363))['description'](be(0x33d))[be(0x370)](async()=>{const bo=be;a0a8(bo(0x122));const F=a0Y();if(!F)return void a0aa(bo(0x13f));const G=R(F),H=F[bo(0x3cb)]||0x87+-0x153*-0x10+0x18d*-0xe,J=G[bo(0x3ac)][H]||0x2423+-0x1d8f+-0x4*0x1a5,K=G['eliminated'][H]||[],L=F[bo(0x178)][bo(0x3c5)](W=>W[bo(0x107)]===H);if(!L)return;if(J>=-0x55d+-0x4f*-0x27+-0x6aa)return console[bo(0x14d)](),console[bo(0x14d)](a0L[bo(0x2b7)](bo(0x318))),console[bo(0x14d)](a0L[bo(0x3ed)](bo(0x21b))),console['log'](),void U(L,F[bo(0x404)][L[bo(0x107)]]);const Q=['A','B','C','D'][bo(0x38a)](W=>!K['includes'](W));if(Q[bo(0x368)]<=0x98f*-0x1+0x6cc+-0x1*-0x2c5)return console['log'](),console[bo(0x14d)](a0L[bo(0x2b7)](bo(0x2e6))),console[bo(0x14d)](),void U(L,F['answers'][L[bo(0x107)]]);if(G['used']>=G[bo(0x3a9)]){const W=G['max']>=-0x1*-0x23f9+-0xa*0x368+-0x1cb,X=-0xc5*-0x7+0x1876+-0x1dbb-G[bo(0x3a9)];return void(W?(console['log'](),console[bo(0x14d)](a0L['gray'](bo(0x3c1)+G[bo(0x19d)]+'/'+G[bo(0x3a9)]+bo(0x1a5))),console[bo(0x14d)]()):(console[bo(0x14d)](),console[bo(0x14d)](a0L[bo(0x2b7)](bo(0x19b)+G['used']+'/'+G['max'])),console[bo(0x14d)](a0L[bo(0x1c9)]('\x20\x20Need\x20more?\x20Type:\x20')+a0L['bold']['yellow'](bo(0x322))+a0L[bo(0x3ed)](bo(0x239)+X+bo(0x2c4))),console[bo(0x14d)]()));}const V=Y=>{const bp=bo;K['push'](Y),G['eliminated'][H]||(G[bp(0x11c)][H]=[]),G['eliminated'][H]=K,G[bp(0x3ac)][H]=J+(-0x270d*-0x1+0x2323+0x7*-0xa99),G[bp(0x19d)]++,F[bp(0x29c)]=G[bp(0x19d)],F[bp(0x3a6)]=G['max'],F[bp(0x104)]=G[bp(0x3ac)],F[bp(0x25f)]=G[bp(0x11c)],F[bp(0x2ce)]||(F[bp(0x2ce)]=[]),F[bp(0x2ce)]['push']({'ts':new Date()['toISOString'](),'q':H,'type':'help_used','result':'eliminated\x20'+Y}),a0Z(F),console[bp(0x14d)](),console['log'](a0L[bp(0x2b7)](bp(0x3fe)+Y+bp(0x332))+a0L['gray'](bp(0x30b)+G['used']+'/'+G[bp(0x3a9)]+')')),U(L,F['answers'][L[bp(0x107)]]);};if('demo-free'===F[bo(0x3e1)][bo(0x2a7)]&&L['answer'])(Y=>{const bq=bo,Z=Q[bq(0x38a)](a0=>a0!==Y&&!K[bq(0x152)](a0));0x3f1+0x5*0x367+0x12*-0x12a!==Z[bq(0x368)]&&V(Z[Math[bq(0x258)](Math[bq(0x1a2)]()*Z['length'])]);})(L[bo(0x220)]);else{const Y=a0W()[bo(0x1e0)]||bo(0x407),Z=F[bo(0x3e1)]?.[bo(0x283)]||'';try{const a0={};a0[bo(0x14a)]=bo(0x1af),a0['User-Agent']=bo(0x3b8);const a1={};a1['token']=Z,a1[bo(0x22a)]=H,a1[bo(0x11c)]=K;const a2=await fetch(Y+bo(0x2f8)+F['session'][bo(0x2a7)]+'/help',{'method':'POST','headers':a0,'body':JSON[bo(0x2b6)](a1),'signal':AbortSignal[bo(0x1e5)](0x2478+-0x1767+0x677)}),a3=await a2['json'](),a4=a3?.[bo(0x32d)]?.[bo(0x2b0)];a4&&['A','B','C','D'][bo(0x152)](a4)?V(a4):(console['log'](),console['log'](a0L[bo(0x3ed)](bo(0x23d))));}catch{console[bo(0x14d)](),console[bo(0x14d)](a0L['gray'](bo(0x2c7)));}}}),B[be(0x3ba)](be(0x116))['description'](be(0x3d3))[be(0x370)](()=>{const br=be;a0a8(br(0x2b9));const F=a0Y();if(!F)return void a0aa('No\x20exam\x20in\x20progress.');const G=R(F),H=br(0x1d6)===F['session']['examId']?-0x44f*-0x3+0x1b98+-0x287d:0x16f5+0x75*0x25+-0xd4*0x30;if(G[br(0x3a9)]>=H)return void console[br(0x14d)](a0L['gray'](br(0x248)));if(G[br(0x19d)]<G['max'])return void console['log'](a0L[br(0x3ed)]('\x20\x20You\x20still\x20have\x20'+(G[br(0x3a9)]-G[br(0x19d)])+br(0x18b)));const J=H-G[br(0x3a9)];F['_helpMax']=H,a0Z(F),console[br(0x14d)](),console[br(0x14d)](a0L['green'](br(0x181)+J+br(0x353)+J+'/'+H+br(0x1fb))),console[br(0x14d)](a0L['gray'](br(0x34e))),console[br(0x14d)]();}),B[be(0x3ba)](be(0x170))[be(0x288)](be(0x2d6))[be(0x370)](async(F,G)=>{const bs=be,H=G[bs(0x339)]('\x20');a0a8(bs(0x1f0)+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bs(0x1c7));if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(-0x906+0x284*0x4+-0xe*0x13);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x146)](a0[bt(0x404)])[bt(0x368)];'demo-free'===a0[bt(0x3e1)][bt(0x2a7)]||0x2397+0x17a5+-0x3b3c===a1?(a0a0(),a0ab(bt(0x293)),a0ac('Type:\x20demo\x20to\x20start\x20again.')):(a0aa('Time\x20expired.'),a0ac(bt(0x23f)));}return!(0xaea+-0x1*0xc76+0x18d);}return!(0x1d6*0x8+-0x1d35*0x1+0xe85);}()))return;const K=parseInt(F,0x209+-0xe*-0x10a+-0x108b),L=J['questions'][bs(0x3c5)](Z=>Z[bs(0x107)]===K);if(!L)return void a0aa('Question\x20'+F+bs(0x3f2)+J[bs(0x178)][bs(0x368)]+').');let Q;if(bs(0x2d1)===L['type']||bs(0x29a)===L[bs(0x333)]||bs(0x40f)===L[bs(0x333)]||L[bs(0x1f4)]&&!L['options']['A']&&!L['options']['B']){if(Q=H[bs(0x139)](),/^submit\s+/i['test'](Q)&&(Q=Q[bs(0x321)](/^submit\s+/i,'')[bs(0x139)]()),Q=Q[bs(0x321)](/^["'`]+|["'`]+$/g,'')['trim'](),!Q)return void a0aa('Please\x20provide\x20your\x20flag:\x20exam\x20answer\x20<n>\x20ICOA{your_flag}');if(/^[A-Da-d]$/[bs(0x295)](Q))return a0aa('Q'+K+bs(0x2ee)),void console['log'](a0L[bs(0x3ed)](bs(0x34b))+a0L[bs(0x247)]('exam\x20answer\x20'+K+bs(0x109)));}else{if(Q=H[bs(0x274)](),!['A','B','C','D'][bs(0x152)](Q))return void a0aa(bs(0x1a3));}if(bs(0x1d6)===J['session'][bs(0x2a7)]&&-0x16b*-0xa+0x4f*0x1+0xb*-0x151===K&&-0x1a39+-0xfe9+-0x1*-0x2a22===(R(J)['perQ'][-0x1*0x189d+-0x68*-0x20+0xb9f]||-0x1fd+-0x13f6+0x15f3))return console['log'](),console[bs(0x14d)](a0L['yellow'](bs(0x25e))+a0L['bold'][bs(0x2b7)](bs(0x363))+a0L[bs(0x2b7)](bs(0x3b7))),console['log'](a0L[bs(0x3ed)](bs(0x112))),void console['log']();const V=J[bs(0x404)][K];J[bs(0x2ce)]||(J[bs(0x2ce)]=[]),J[bs(0x2ce)]['push']({'ts':new Date()[bs(0x1d7)](),'q':K,'type':V?bs(0x402):bs(0x192),'input':Q,'result':V?bs(0x282)+V:bs(0x1bb)}),J[bs(0x404)][K]=Q,J['_lastQ']=K,a0Z(J),console[bs(0x14d)](a0L[bs(0x3ed)]('\x20\x20\x20\x20✓\x20saved'));const W=J['session'][bs(0x283)];if(W&&bs(0x1d6)!==J[bs(0x3e1)][bs(0x2a7)]){const Z=(a0W()[bs(0x1e0)]||bs(0x407))+'/api/icoa/exams/'+J['session']['examId']+bs(0x110),a0={};a0['Content-Type']=bs(0x1af);const a1={};a1['token']=W,a1[bs(0x22a)]=K,a1['answer']=Q,fetch(Z,{'method':bs(0x265),'headers':a0,'body':JSON[bs(0x2b6)](a1),'signal':AbortSignal[bs(0x1e5)](-0xa11+-0x1b00+-0x1*-0x3899)})[bs(0x1a7)](()=>{});}const X=Object['keys'](J['answers'])[bs(0x368)],Y=J[bs(0x3e1)][bs(0xfc)];if(a0a9('Q'+K+':\x20'+Q+'\x20✓\x20\x20('+X+'/'+Y+bs(0x244)),bs(0x1d6)===J[bs(0x3e1)]['examId']&&L[bs(0x220)]){const a2=[bs(0x3e5),'Solid\x20pick.','On\x20the\x20money.',bs(0x199),bs(0x330)],a3=[bs(0x105),bs(0x18c),bs(0x1b5)],a4=Q===L[bs(0x220)]?a2:a3,a5=a4[Math['floor'](Math['random']()*a4[bs(0x368)])];console[bs(0x14d)](a0L['gray']('\x20\x20\x20\x20·\x20'+a5));}if(K<J[bs(0x178)]['length']){const a6=J[bs(0x178)][K];J[bs(0x3cb)]=a6[bs(0x107)],a0Z(J),U(a6,J[bs(0x404)][a6[bs(0x107)]]);}else X>=J['questions']['length']&&(console[bs(0x14d)](),console['log'](a0L[bs(0x247)]['bold'](bs(0x369))),console[bs(0x14d)](),bs(0x1d6)===J[bs(0x3e1)]['examId']?(console[bs(0x14d)](a0L['white'](bs(0x2a8))+a0L['bold']['cyan']('exam\x20submit')+a0L['white']('\x20to\x20see\x20your\x20results!')),console['log']()):console['log'](a0L[bs(0x1c9)](bs(0x30a))));}),B[be(0x3ba)](be(0x143))[be(0x288)](be(0x3bd))[be(0x370)](()=>{const bu=be;a0a8(bu(0x240));const F=a0Y();if(!F)return void a0aa(bu(0x13f));a0ae(bu(0x1e4)+F[bu(0x3e1)]['examName']),O(),console[bu(0x14d)]();let G='\x20\x20';const H=Array[bu(0x271)](F[bu(0x10f)])?F['bookmarks']:[];for(const Q of F[bu(0x178)]){const V=F[bu(0x404)][Q[bu(0x107)]],W=H[bu(0x152)](Q[bu(0x107)]),X=W?'★':'\x20';G+=V?W?a0L[bu(0x13a)][bu(0x2b7)]('Q'+String(Q[bu(0x107)])[bu(0x41a)](0x9*0x3d1+0x865+-0x2abc)+X+'['+V+']\x20'):a0L['green']('Q'+String(Q[bu(0x107)])[bu(0x41a)](0x8fb*0x1+0x143e+-0x33f*0x9)+'\x20['+V+bu(0x162)):W?a0L[bu(0x13a)]['yellow']('Q'+String(Q[bu(0x107)])[bu(0x41a)](-0xfb*0x1b+0x13*-0x209+0x10d*0x3e)+X+bu(0x377)):a0L['yellow']('Q'+String(Q[bu(0x107)])[bu(0x41a)](-0x1917+0x187d+-0x2*-0x4e)+'\x20[\x20]\x20\x20'),Q[bu(0x107)]%(-0x2ba*0x1+0x1a6*0xd+-0x957*0x2)==0x112d*-0x1+-0x130e+0x243b&&(console[bu(0x14d)](G),G='\x20\x20');}G['trim']()&&console[bu(0x14d)](G);const J=Object['keys'](F['answers'])[bu(0x368)],K=F[bu(0x3e1)][bu(0xfc)],L=K-J;if(console['log'](),a0af(bu(0x40a),a0L[bu(0x247)]['bold'](J+'/'+K)),L>-0x17b3+0x1f15*-0x1+0x6d9*0x8){const Y=F[bu(0x178)][bu(0x38a)](Z=>!F[bu(0x404)][Z[bu(0x107)]])[bu(0x28c)](Z=>Z[bu(0x107)])[bu(0x339)](',\x20');a0af(bu(0x19f),a0L['yellow'](L+bu(0x16a)+Y+')'));}H[bu(0x368)]>-0x1c9*-0x7+-0xd0d+0x47*0x2&&a0af(bu(0x204),a0L[bu(0x13a)][bu(0x2b7)]('★\x20'+H[bu(0x368)])+a0L['gray']('\x20('+H['map'](Z=>'Q'+Z)[bu(0x339)](',\x20')+')')),console[bu(0x14d)](),H['length']>0xeb9*-0x2+0x1609+0x769&&console['log'](a0L[bu(0x3ed)](bu(0x103))+a0L['white'](bu(0x2e7)+H[0x1*-0x16cf+0x1940+-0x271])),console[bu(0x14d)](a0L[bu(0x3ed)](bu(0x259))+a0L[bu(0x13a)][bu(0x338)](bu(0x22b))+a0L[bu(0x3ed)](bu(0x41c)));}),B[be(0x3ba)](be(0x40c))['description'](be(0x1e6))[be(0x370)](async(J,K)=>{const bv=be;a0a8(bv(0x32b)+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&'confirm'===J&&!K&&(L['_submitConfirmed']=!(0x4*0x44f+0xfb7+-0x20f3),a0Z(L)),!L)return void a0aa(bv(0x13f));const Q=Object['keys'](L[bv(0x404)])[bv(0x368)],V=L[bv(0x3e1)][bv(0xfc)],W=V-Q;if(-0xe93+0x1223+-0x4*0xe4===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void(bv(0x1d6)===L[bv(0x3e1)]['examId']||a1?(a0a0(),a0ab(bv(0x24d)),a0ac('Type:\x20demo\x20to\x20start\x20again.')):(a0ab(bv(0x33f)),a0ac(bv(0x2bb))));}const X=a0a1(),Y=!!(X&&new Date()>=X);if(bv(0x1d6)!==L[bv(0x3e1)][bv(0x2a7)]&&!Y&&bv(0x386)===J&&Q<-0x1433*0x1+-0x144a+0x19*0x19f){if((K||'')[bv(0x139)]()!==String(Q))return console[bv(0x14d)](),console['log'](a0L[bv(0x2f5)](bv(0x35c))),console['log'](a0L['bold'][bv(0x2f5)](bv(0x325)+Q+'/'+V+bv(0x3de))),console[bv(0x14d)](a0L[bv(0x2f5)](bv(0x35c))),console[bv(0x14d)](),console['log'](a0L[bv(0x1c9)](bv(0x213))+a0L[bv(0x13a)][bv(0x2b7)](''+Q)+a0L[bv(0x1c9)](bv(0x2f3))+a0L['white'](''+V)+a0L[bv(0x1c9)](bv(0x37d))),console[bv(0x14d)](a0L[bv(0x1c9)](bv(0x3eb))+a0L['bold']['red'](Q+'/'+V+bv(0x2a9))),console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)](bv(0x28a))),console[bv(0x14d)](a0L[bv(0x3ed)](bv(0x3f7))+a0L[bv(0x338)]('exam\x20q\x201')+a0L['gray'](bv(0x196))),console[bv(0x14d)](a0L[bv(0x3ed)](bv(0x3f7))+a0L[bv(0x338)](bv(0x240))+a0L[bv(0x3ed)](bv(0x2cb))),console[bv(0x14d)](),console[bv(0x14d)](a0L['bold'][bv(0x1c9)](bv(0x38e))+a0L[bv(0x13a)][bv(0x2b7)](''+Q)+a0L[bv(0x13a)]['white']('\x20answers,\x20type:')),console[bv(0x14d)](a0L[bv(0x3ed)](bv(0x3f7))+a0L[bv(0x13a)][bv(0x338)](bv(0xee)+Q)),console[bv(0x14d)](a0L[bv(0x3ed)]('\x20\x20(yes\x20—\x20literally\x20type\x20the\x20number\x20'+Q+bv(0x272))),console[bv(0x14d)](),void(L[bv(0x1b4)]&&(delete L[bv(0x1b4)],a0Z(L)));L['_submitConfirmed']=!(0x4*0x168+0x1*0x1c4a+0x10f5*-0x2),a0Z(L);}if(bv(0x1d6)!==L[bv(0x3e1)]['examId']){const a2=!(-0xf37+-0x122d+0x2164)===L[bv(0x1b4)],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console['log'](),console[bv(0x14d)](a0L[bv(0x2f5)](bv(0x1c4))),console['log'](a0L[bv(0x13a)][bv(0x2f5)](bv(0x22f))),console[bv(0x14d)](a0L[bv(0x2f5)](bv(0x1c4))),console['log'](),console['log'](a0L[bv(0x1c9)](bv(0x2ad)+a0L[bv(0x13a)][bv(0x247)](Q+'/'+V)+'\x20answers.')),W>0x1510+0x227*-0xf+-0x11*-0xa9){const a6=L[bv(0x178)][bv(0x38a)](a7=>!L[bv(0x404)][a7[bv(0x107)]])[bv(0x28c)](a7=>'Q'+a7[bv(0x107)])[bv(0x339)](',\x20');console[bv(0x14d)](a0L[bv(0x2b7)]('\x20\x20'+W+'\x20unanswered:\x20'+a6));}const a5=Array[bv(0x271)](L[bv(0x10f)])?L[bv(0x10f)]:[];return a5[bv(0x368)]>-0x88e+-0xd*0xa3+0x10d5&&console[bv(0x14d)](a0L[bv(0x2b7)]('\x20\x20★\x20'+a5[bv(0x368)]+'\x20still\x20flagged\x20for\x20review:\x20'+a5['map'](a7=>'Q'+a7)[bv(0x339)](',\x20'))),console['log'](),console[bv(0x14d)](a0L['white'](bv(0x3b1))+a0L[bv(0x13a)][bv(0x2f5)]('final')+a0L['white'](bv(0x180))),console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)](bv(0xfb))+a0L[bv(0x13a)]['cyan'](bv(0x12f))),console['log'](a0L[bv(0x1c9)](bv(0x17c))+a0L[bv(0x338)]('exam\x20review')+a0L[bv(0x3ed)](bv(0x26a))+a0L[bv(0x338)](bv(0x222))),void console[bv(0x14d)]();}a2&&(delete L[bv(0x1b4)],a0Z(L));}if(console[bv(0x14d)](),bv(0x1d6)===L[bv(0x3e1)][bv(0x2a7)]){try{E(0x1*0x2561+-0x57*0x6b+-0x104,a0ai('grading')),await q(0xee5+0x1*-0xf1c+0x163*0x1);let a7=0x395+0x3ba*-0x1+0x25;const a8=[],a9={};for(const al of L[bv(0x178)]){const am=al[bv(0x3e9)]||'Other',an={};an['correct']=0x0,an[bv(0x40b)]=0x0,(a9[am]||(a9[am]=an),a9[am][bv(0x40b)]++);const ao=L[bv(0x404)][al['number']];ao&&al[bv(0x220)]&&ao===al['answer']?(a7++,a9[am][bv(0x1b1)]++):a8[bv(0x2ed)](al[bv(0x107)]);}a8['sort']((ap,aq)=>ap-aq),E(0x7f5+-0x381+-0x410,a0ai(bv(0xfd))),console[bv(0x14d)]();const aa=new Date(L[bv(0x3e1)][bv(0x2df)])[bv(0x2ef)](),ab=Math[bv(0x3a9)](-0x737+-0x2245+-0x1*-0x297c,Math['round']((Date[bv(0x336)]()-aa)/(0x1dbc+-0x54*0x25+-0xdb0))),ac=Math[bv(0x258)](ab/(0x1592+-0x1c*0x2f+-0x1032*0x1))+'m\x20'+ab%(0x3c*0x66+-0x2*-0x562+-0x26*0xe8)+'s',ad=[...L['questions']],ae={...L[bv(0x404)]},af=R(L);a0a0();const ag=Math[bv(0x3ad)](a7/V*(-0x19e6+-0xa7d+-0x541*-0x7)),ah=a0W(),ai={};ai['Content-Type']=bv(0x1af),(fetch(bv(0x101),{'method':bv(0x265),'headers':ai,'body':JSON[bv(0x2b6)]({'type':bv(0x36a),'score':a7,'total':V,'lang':ah[bv(0x37b)]||'en','help_used':af[bv(0x19d)],'help_max':af['max'],'tokens_used':0x0,'solved':ag>=-0x1*-0x17f3+0x52e+-0x1ce5?-0x748+-0x1385+-0xd67*-0x2:0x586*0x1+0x24ed+-0x1*0x2a73,'timestamp':new Date()[bv(0x1d7)](),'interactions':L[bv(0x2ce)]||[]}),'signal':AbortSignal[bv(0x1e5)](0x25ba+0xcff*-0x2+-0x1*-0x7cc)})[bv(0x1a7)](()=>{}),console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x338)](bv(0x231))),console['log'](),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)](bv(0x267))),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)](bv(0x415))),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)](bv(0x19a))),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)](bv(0x1c5))),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)](bv(0x334))),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)](bv(0x2d5))),console[bv(0x14d)](),console['log'](a0L['bold']('\x20\x20\x20'+a0ai(bv(0x3a3))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console[bv(0x14d)](a0L[bv(0x13a)](bv(0x1df)+(ag>=-0x1*0x39+-0x5b*0x41+-0x1d0*-0xd?a0L[bv(0x247)](a0ai(bv(0x3bc))):a0L[bv(0x2f5)](a0ai(bv(0x148)))))),console['log'](a0L[bv(0x3ed)](bv(0x21c)+ac)),console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x2b7)](bv(0x284))),console['log'](a0L[bv(0x3ed)](bv(0x412))),console['log'](),console[bv(0x14d)](a0L['cyan'](bv(0x231))),await q(-0x6d*-0x12+-0x1*-0x1215+-0x85*0x1b));const aj=Object['entries'](a9);if(aj[bv(0x368)]>0x8b*0x2f+0xa6b+0xc8*-0x2e){console[bv(0x14d)](),console['log'](a0L['bold'][bv(0x1c9)]('\x20\x20By\x20category'));const ap=0x10*0x10+-0x262a+0x2534;for(const [aq,ar]of aj){const as=ar['total']>0x167f+0x1c3d+-0x195e*0x2?Math[bv(0x3ad)](ar['correct']/ar['total']*(-0x1746+-0x57d*0x2+0x22a4)):-0x26b2+-0x1*0x1a2e+-0x568*-0xc,at=ar[bv(0x40b)]>-0x1977+-0x1f60+0x38d7?Math[bv(0x3ad)](ar[bv(0x1b1)]/ar[bv(0x40b)]*ap):-0x25e8+0x16*-0x22+0x28d4,au=ap-at,av=as>=0x1*0x165+0x3b8+0x1*-0x4cd?a0L[bv(0x247)]:as>=0x2653+-0x1d*-0x1d+-0x296a?a0L[bv(0x2b7)]:a0L[bv(0x2f5)],aw=av('█'['repeat'](at))+a0L[bv(0x3ed)]('░'[bv(0x391)](au));console[bv(0x14d)](bv(0x3f7)+a0L['white'](aq['padEnd'](0xd86*-0x1+0x10a+0x430*0x3))+'\x20'+aw+'\x20\x20'+av(ar[bv(0x1b1)]+'/'+ar['total'])+a0L['gray']('\x20('+as+'%)'));}console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x338)](bv(0x34d)));}const ak=a0a4(a7,V);if(a7===ak[bv(0x2c1)]&&ak[bv(0x255)]>-0xf0d*0x1+-0x1b3d+0x4b3*0x9&&a7>0x1dd4+0x3d*-0x65+-0x5c3&&(console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x247)]('\x20\x20★\x20New\x20personal\x20best!'))),a8['length']>-0xf8e+-0x5f9+0x1587){const ax=ad[bv(0x38a)](ay=>a8[bv(0x152)](ay['number']))[bv(0x28c)](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(-0x14ea+-0x1*-0x13f4+-0x21d*-0x6),a8['length']>0xb16+-0x58a+-0x58c){console[bv(0x14d)](),console['log'](a0L[bv(0x2b7)]('\x20\x20'+a8[bv(0x368)]+'\x20'+a0ai(bv(0x399)))),console[bv(0x14d)]();for(const ay of a8){const az=ad['find'](aC=>aC[bv(0x107)]===ay);if(!az)continue;const aA=ae[ay],aB=az['answer'];console[bv(0x14d)](a0L[bv(0x1c9)]('\x20\x20Q'+ay+'.\x20'+az['text'])),aA?console['log'](a0L[bv(0x2f5)](bv(0x3f7)+a0ai(bv(0x147))+':\x20'+aA+'.\x20'+az[bv(0x1f4)][aA])):console[bv(0x14d)](a0L[bv(0x2b7)](bv(0x3f7)+a0ai('yourAnswer')+bv(0x364))),aB&&console[bv(0x14d)](a0L[bv(0x247)](bv(0x3f7)+a0ai(bv(0x1b1))+':\x20'+aB+'.\x20'+az[bv(0x1f4)][aB])),az['explanation']&&console['log'](a0L['gray'](bv(0x15e)+az[bv(0x13e)])),console['log']();}}else console['log'](),console[bv(0x14d)](a0L['green']('\x20\x20'+a0ai(bv(0x27f))));await q(0x7b5*-0x5+-0x181*0x11+0x47ea),console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x338)](bv(0x34d))),console['log'](a0L[bv(0x1c9)]('\x20\x20'+a0ai(bv(0x38b))+'\x20')+a0L[bv(0x13a)][bv(0x247)](bv(0x2d1))+a0L[bv(0x3ed)](bv(0x285)+a0ai('ai4ctfDesc'))),console[bv(0x14d)](a0L[bv(0x3ed)]('\x20\x20'+a0ai(bv(0x3ee)))),console[bv(0x14d)](a0L['cyan'](bv(0x34d))),console[bv(0x14d)]();}catch(aC){console[bv(0x14d)](),a0aa(aC[bv(0x138)]);}return;}const Z=L[bv(0x3e1)]['token'];try{let aD;if(E(0x95d+0x19d+0xafa*-0x1,bv(0x25a)),Z){const aN={};aN['Content-Type']=bv(0x1af);const aO={};aO[bv(0x2d1)]=0x0,aO[bv(0x29a)]=0x0;const aP=a0W()['ctfdUrl']||'https://practice.icoa2026.au',aQ=await fetch(aP+bv(0x2f8)+L[bv(0x3e1)][bv(0x2a7)]+bv(0x2de),{'method':bv(0x265),'headers':aN,'body':JSON[bv(0x2b6)]({'token':Z,'answers':L[bv(0x404)],'interactions':L[bv(0x2ce)]||[],'aiUsage':L[bv(0x242)]||aO,'bookmarks':L['bookmarks']||[]}),'signal':AbortSignal[bv(0x1e5)](-0x419a+-0x6996+0xe5c8)});if(!aQ['ok']){const aR=await aQ['json']()[bv(0x1a7)](()=>({'message':'Submit\x20failed'}));throw new Error(aR[bv(0x138)]||bv(0x400));}aD=(await aQ[bv(0x2ba)]())[bv(0x32d)];}else{const aS=M();if(!aS)return;aD=await aS[bv(0x358)](L[bv(0x3e1)][bv(0x2a7)],L['answers']);}E(-0x7*-0x243+0x7*0x2dd+0x1*-0x23ae,bv(0x39c)),await q(0x97e+0x1f*-0xed+0x1461),E(-0x2480+-0x1*-0xb1f+-0x897*-0x3,bv(0x357)),console['log']();const aE={};aE[bv(0x2d1)]=0x0,aE[bv(0x29a)]=0x0;const aF={'answered':Object['keys'](L[bv(0x404)])[bv(0x368)],'total':L['session'][bv(0xfc)],'bookmarks':Array['isArray'](L[bv(0x10f)])?L[bv(0x10f)][bv(0x368)]:-0x186b+0x144d+0x41e,'help':R(L),'aiUsage':L[bv(0x242)]||aE,'interactions':(L[bv(0x2ce)]||[])['length'],'durationMin':L['session'][bv(0x2e8)]||-0x2452+0x2133+0x31f,'confirmedAt':L['session'][bv(0x235)]||L[bv(0x3e1)][bv(0x2df)],'examId':L['session'][bv(0x2a7)]};a0a0();const aG=Math[bv(0x3a9)](0x1c7b*-0x1+-0x9*-0x41b+-0x878,Math[bv(0x3ad)]((Date['now']()-new Date(aF[bv(0x235)])[bv(0x2ef)]())/(0x1eff*-0x1+0x1*-0x189e+0x3b85))),aH=Math[bv(0x258)](aG/(0x73*-0x1e+0x2612+-0x185c)),aI=aG%(-0x1f01+0x1*-0x946+0x1*0x2883);console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x338)](bv(0x27b))),console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)](bv(0x267))),console['log'](a0L[bv(0x13a)][bv(0x1c9)](bv(0x415))),console[bv(0x14d)](a0L[bv(0x13a)]['white'](bv(0x19a))),console['log'](a0L[bv(0x13a)][bv(0x1c9)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bv(0x14d)](a0L[bv(0x13a)]['white']('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console['log'](a0L['bold'][bv(0x1c9)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bv(0x14d)]();const aJ=aD[bv(0x3bc)]?a0L['green'][bv(0x13a)](bv(0x3a8)):a0L[bv(0x2b7)][bv(0x13a)](bv(0x390));console[bv(0x14d)](aJ),console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x1c9)]('\x20\x20\x20Your\x20answers\x20have\x20been\x20recorded\x20and\x20sent\x20to\x20your\x20national')),console[bv(0x14d)](a0L['white'](bv(0x3cd))),console[bv(0x14d)](a0L['white'](bv(0x22e))),console[bv(0x14d)](),console['log'](a0L[bv(0x338)](bv(0x34d))),console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)]('\x20\x20Your\x20run'));const aK=aF[bv(0x40b)]-aF[bv(0x3aa)];console[bv(0x14d)]('\x20\x20\x20\x20'+a0L[bv(0x3ed)](bv(0x13b))+a0L['white'](aF['answered']+'/'+aF['total'])+(aK>0x326+0x13c5*0x1+0x1*-0x16eb?a0L['gray'](bv(0x1c2)+aK+'\x20skipped'):'')),console[bv(0x14d)](bv(0x3f7)+a0L[bv(0x3ed)]('Time\x20used:\x20')+a0L[bv(0x1c9)](aH+'m\x20'+aI+'s')+a0L['gray'](bv(0x2fa)+aF['durationMin']+'m\x20total')),aF['bookmarks']>0x47*-0x47+-0x37+0x13e8&&console[bv(0x14d)](bv(0x3f7)+a0L['gray']('Flagged:\x20\x20\x20')+a0L[bv(0x2b7)]('★\x20'+aF[bv(0x10f)])),console[bv(0x14d)]();const aL=aD[bv(0x211)];if(aL&&Object[bv(0x146)](aL)[bv(0x368)]>=-0x242*-0x5+-0x1aa9+0x7f*0x1f){const aT=Object['entries'](aL)[bv(0x38a)](([,aY])=>aY[bv(0x40b)]>-0x290+-0x183*0xe+-0x1*-0x17ba)[bv(0x28c)](([aY,aZ])=>({'cat':aY,'pct':aZ[bv(0x1b1)]/aZ[bv(0x40b)]}))[bv(0x3d6)]((aY,aZ)=>aZ[bv(0x15b)]-aY[bv(0x15b)]),aU=Math[bv(0x2be)](0x236*0xb+0xe8d+-0x26dd,Math[bv(0x1b2)](aT['length']/(0x2296+-0x1d*0x142+-0x1e7*-0x1))),aV=Math[bv(0x2be)](-0x199c*-0x1+-0x1*0x26d3+0x5*0x2a5,Math['ceil'](aT['length']/(0x103*0x1+0x1787+-0x27*0xa1))),aW=aT[bv(0x175)](-0xc3c+-0x141*-0x1+0xafb,aU)['map'](aY=>aY[bv(0x21d)]),aX=aT[bv(0x175)](-aV)[bv(0x28c)](aY=>aY['cat']);aW[bv(0x1bd)](aY=>aX[bv(0x152)](aY))||(console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)]('\x20\x20Directional\x20feedback')),console[bv(0x14d)]('\x20\x20\x20\x20'+a0L[bv(0x247)](bv(0x26d))+a0L[bv(0x1c9)](aW['join'](',\x20'))),console['log'](bv(0x3f7)+a0L[bv(0x2b7)]('Room\x20to\x20grow:\x20\x20\x20')+a0L[bv(0x1c9)](aX['join'](',\x20'))),console['log'](a0L[bv(0x3ed)](bv(0x21a))),console[bv(0x14d)]());}console[bv(0x14d)](a0L[bv(0x13a)][bv(0x1c9)]('\x20\x20Assistance\x20used')),console[bv(0x14d)](bv(0x3f7)+a0L['gray']('Help:\x20\x20\x20\x20\x20\x20')+a0L[bv(0x1c9)](aF['help'][bv(0x19d)]+'/'+aF['help']['max'])),console[bv(0x14d)](bv(0x3f7)+a0L[bv(0x3ed)]('AI\x20tokens:\x20')+a0L['white'](aF[bv(0x242)]['ai4ctf']+'\x20AI4CTF')+a0L['gray'](bv(0x1c2))+a0L['white'](aF[bv(0x242)][bv(0x29a)]+bv(0x28b))),console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x338)]('\x20\x20─────────────────────────────────────────────')),console[bv(0x14d)](),console['log'](a0L[bv(0x13a)]['white']('\x20\x20What\x20next')),console['log'](a0L[bv(0x3ed)]('\x20\x20·\x20Your\x20national\x20organizer\x20will\x20announce\x20selection\x20results.')),console[bv(0x14d)](a0L[bv(0x3ed)]('\x20\x20·\x20Keep\x20sharpening:\x20')+a0L['white'](bv(0x195))+a0L[bv(0x3ed)](bv(0x24c))),console[bv(0x14d)](a0L[bv(0x3ed)](bv(0x35f))+a0L[bv(0x1c9)](bv(0x12a))),console[bv(0x14d)]();const {showCToBUpgradePrompt:aM}=await import('../lib/paper-upgrade.js');aM(aF['examId'],aD[bv(0x3bc)]),console[bv(0x14d)](a0L['yellow']('\x20\x20ICOA\x202026\x20·\x20Sydney,\x20Australia\x20·\x20Jun\x2027\x20–\x20Jul\x202')),console[bv(0x14d)](a0L[bv(0x338)][bv(0x396)](bv(0x35a))),console[bv(0x14d)](),console[bv(0x14d)](a0L[bv(0x338)](bv(0x27b))),console[bv(0x14d)]();}catch(aY){console['log'](),a0aa(aY[bv(0x138)]);}}),B[be(0x3ba)]('result\x20[id]')[be(0x288)](be(0x398))[be(0x370)](async F=>{const bw=be;a0a8(bw(0x206)+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bw(0x25b));F=J[bw(0x3e1)][bw(0x2a7)];}const H=a0ag(bw(0x1e2));H[bw(0x3b6)]();try{const K=await G['getResult'](F);H[bw(0x317)]('Result\x20loaded'),console[bw(0x14d)](),a0ae(K[bw(0x17b)]),a0af('Score',a0L['bold'](K[bw(0x3a3)]+'/'+K[bw(0x40b)])),a0af(bw(0x39b),a0L['bold'](K[bw(0x249)]+'%')),a0af(bw(0x324),K[bw(0x3bc)]?a0L['green']['bold'](bw(0x3a5)):a0L[bw(0x2f5)][bw(0x13a)](bw(0xf0))),a0af(bw(0x20a),K[bw(0x2d0)]),console['log']();}catch(L){H[bw(0x142)]('Failed\x20to\x20load\x20result'),a0aa(L['message']);}}),B[be(0x3ba)](be(0x304))[be(0x288)](be(0x169))[be(0x370)](async J=>{const bx=be;a0a8(bx(0x340)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bx(0x1d4)),V=K();if(V){const a2=V[bx(0x3e1)][bx(0x283)],a3=a0a1(),a4=!!a2&&a2[bx(0x139)]()['toUpperCase']()!==J[bx(0x139)]()[bx(0x274)](),a5=!!a3&&a3['getTime']()+(0x134031*-0x1+-0x73637*0x5+-0x9e*-0x861e)<Date[bx(0x336)]();if(a4&&a5)return Q(),console[bx(0x14d)](),console['log'](a0L[bx(0x3ed)](bx(0x252))),console['log'](),console[bx(0x14d)](a0L['white'](bx(0x24a))+a0L[bx(0x13a)]['cyan'](bx(0x315)+J)),void console[bx(0x14d)]();if(!a2&&J)return V[bx(0x3e1)][bx(0x283)]=J[bx(0x139)](),L(V),console['log'](),console[bx(0x14d)](a0L['green'](bx(0xf8))),console['log'](a0L[bx(0x3ed)]('\x20\x20\x20\x20You\x20can\x20now\x20use:\x20')+a0L[bx(0x1c9)]('lang\x20<code>')+a0L[bx(0x3ed)](bx(0x21f))+a0L[bx(0x1c9)](bx(0x22b))),console[bx(0x14d)](),console[bx(0x14d)](a0L[bx(0x13a)][bx(0x1c9)]('\x20\x20Continue\x20this\x20exam:')),console[bx(0x14d)](a0L[bx(0x3ed)]('\x20\x20\x20\x20→\x20')+a0L[bx(0x13a)][bx(0x338)](bx(0x197))+a0L['gray'](bx(0x2bd))),console['log'](a0L[bx(0x3ed)](bx(0x15e))+a0L[bx(0x13a)][bx(0x338)](bx(0x240))+a0L['gray']('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),void console[bx(0x14d)]();const a6=Object['keys'](V[bx(0x404)])['length'],a7=V['session']['questionCount'],a8=a0a1(),a9=a8?Math[bx(0x3a9)](0x14*0x9a+-0x21f6+-0xaf7*-0x2,Math[bx(0x3ad)]((a8['getTime']()-Date['now']())/(-0x265*-0x61+-0x1877*-0x8+-0x86b*0x17))):null;return console[bx(0x14d)](),console[bx(0x14d)](a0L['yellow'](bx(0x2fe))),console[bx(0x14d)](),console['log'](a0L[bx(0x3ed)](bx(0x362))+a0L['white'](V[bx(0x3e1)][bx(0x17b)])),a2&&console[bx(0x14d)](a0L[bx(0x3ed)]('\x20\x20Token:\x20\x20\x20')+a0L[bx(0x1c9)](a2)+(a2===J?a0L[bx(0x247)]('\x20\x20(same\x20as\x20you\x20just\x20typed)'):a0L[bx(0x2b7)](bx(0x260)))),console[bx(0x14d)](a0L[bx(0x3ed)](bx(0x3d8))+a0L[bx(0x1c9)](a6+'/'+a7)),null!==a9&&console['log'](a0L[bx(0x3ed)](bx(0x2db))+a0L[bx(0x1c9)](a9+bx(0x354))),console[bx(0x14d)](),console[bx(0x14d)](a0L[bx(0x13a)][bx(0x1c9)](bx(0x3d4))),console['log'](a0L[bx(0x3ed)]('\x20\x20\x20\x20→\x20')+a0L[bx(0x13a)][bx(0x338)](bx(0x197))+a0L[bx(0x3ed)](bx(0x2bd))),console[bx(0x14d)](a0L['gray'](bx(0x15e))+a0L[bx(0x13a)]['cyan'](bx(0x240))+a0L['gray'](bx(0x2c3))),console[bx(0x14d)](a0L[bx(0x3ed)]('\x20\x20\x20\x20→\x20')+a0L[bx(0x13a)][bx(0x338)](bx(0x22b))+a0L['gray']('\x20\x20\x20finish\x20and\x20submit')),a2&&a2!==J&&(console[bx(0x14d)](),console[bx(0x14d)](a0L[bx(0x2b7)]('\x20\x20Note:\x20you\x20typed\x20a\x20different\x20token.\x20Each\x20exam\x20token\x20is\x20bound\x20to')),console[bx(0x14d)](a0L[bx(0x2b7)](bx(0x2f4))),console[bx(0x14d)](),console['log'](a0L[bx(0x3ed)]('\x20\x20If\x20you\x20need\x20to\x20abandon\x20this\x20session\x20(e.g.\x20expired\x20/\x20wrong\x20paper),')),console[bx(0x14d)](a0L[bx(0x3ed)]('\x20\x20run\x20')+a0L['bold']['cyan'](bx(0x39d))+a0L[bx(0x3ed)](bx(0x21e)))),void console['log']();}const {isNativeWindowsCmd:W}=await import(bx(0x187));if(!W()&&!a0am()){let aa=!(0x202*0x12+-0x112*0x16+-0x125*0xb);try{const ab={};ab[bx(0x14a)]=bx(0x1af);const ac=a0W()[bx(0x1e0)]||bx(0x407),ad=await fetch(ac+bx(0x215),{'method':'POST','headers':ab,'body':JSON[bx(0x2b6)]({'token':J[bx(0x139)](),'deviceHash':a0aj(),'peek':!(0x10d0+-0x1b74+0xe3*0xc)}),'signal':AbortSignal[bx(0x1e5)](0xe75+0x2c5*0x2+-0x77)});if(ad['ok']){const ae=await ad['json']();(ae?.[bx(0x32d)]?.[bx(0x166)]||'')['endsWith']('-c')&&(aa=!(0x3b*-0x89+0x1*0x1d33+0x260));}}catch{}if(!aa)return console[bx(0x14d)](),a0ab(bx(0x345)),console[bx(0x14d)](a0L[bx(0x3ed)](bx(0x16f))+a0L['bold'][bx(0x338)]('exam\x20setup')),console[bx(0x14d)](a0L['gray']('\x20\x20Or\x20type\x20')+a0L[bx(0x13a)]['cyan'](bx(0x222))+a0L[bx(0x3ed)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console['log'](a0L[bx(0x3ed)](bx(0x2aa))),void console[bx(0x14d)]();}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(0x139)]()[bx(0xf5)](0x1b2+-0xefc+0xd4a,-0x110*-0x1b+0x72f+-0x23dd)[bx(0x274)]()],Z=a0W(),a0=Z[bx(0x1e0)]||bx(0x407),a1=Y||Z[bx(0x37b)]||'en';Y&&Y!==(Z[bx(0x37b)]||'en')&&a0X({'language':Y}),console['log'](),E(0x25ad+-0x1ea0+-0x70d,'Validating\x20token...');try{const af={};af[bx(0x14a)]='application/json';const ag=await fetch(a0+bx(0x215),{'method':bx(0x265),'headers':af,'body':JSON[bx(0x2b6)]({'token':J[bx(0x139)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bx(0x1e5)](-0x168d*0x2+-0x5*-0xe21+0xd85)});if(!ag['ok']){E(0xb42+-0x1d8c+0x124a,''),console[bx(0x14d)]();const ao=await ag['json']()['catch'](()=>({'message':'Invalid\x20token'}));return a0aa(ao[bx(0x138)]||'Invalid\x20exam\x20token'),void a0ac('Check\x20your\x20token\x20or\x20contact\x20your\x20proctor.');}E(0x1de0+0x1*0x2494+-0xe*0x4bd,bx(0x15c));const ah=await ag[bx(0x2ba)](),{session:ai,questions:aj,languages:ak}=ah[bx(0x32d)];E(-0x116+-0x143*0x6+0x8e4,bx(0x18f)),await q(0x1*0x1cf+-0x232+0xd*0x17),E(-0x2051+0xee8+-0xd9*-0x15,bx(0x393)),console[bx(0x14d)](),console['log'](),a0ae(ai['examName']),console[bx(0x14d)](),a0af('Questions',ai['questionCount']+bx(0x1de)),a0af(bx(0xf2),ai[bx(0x2e8)]+bx(0x382)),a0af(bx(0x2eb),(ai[bx(0x2e2)]||-0x135b+0x5*0x65+0xc8*0x17)+bx(0x161)),a0af(bx(0x1c8),(ai['passingScore']||0x8af+-0x39c+-0x6*0xcc)+'\x20points\x20(50%)'),console[bx(0x14d)](),console[bx(0x14d)](a0L[bx(0x1c9)](bx(0x316))),console['log'](a0L[bx(0x1c9)]('\x20\x20\x20\x20Help:\x20\x20\x20\x2010\x20uses\x20+\x205\x20hidden\x20bonus\x20(MCQ\x20only)')),console[bx(0x14d)](a0L[bx(0x1c9)](bx(0x1cc))),console[bx(0x14d)](a0L[bx(0x1c9)](bx(0x223))),ak&&ak[bx(0x368)]>-0xe*-0x18b+-0xb43+0x1b9*-0x6&&console[bx(0x14d)](a0L[bx(0x1c9)](bx(0x3dc)+ak[bx(0x339)](',\x20')+bx(0x273))),console[bx(0x14d)](),console[bx(0x14d)](a0L[bx(0x2b7)](bx(0x1d0))),console[bx(0x14d)](a0L[bx(0x1c9)](bx(0x128))),console[bx(0x14d)](a0L[bx(0x1c9)]('\x20\x20\x20\x20•\x20Server\x20auto-finalises\x20your\x20answers\x20if\x20you\x20do\x20not\x20submit\x20before\x20the\x20deadline')),console[bx(0x14d)](a0L[bx(0x1c9)]('\x20\x20\x20\x20•\x20You\x20may\x20exit\x20and\x20resume\x20with\x20the\x20same\x20token')),console[bx(0x14d)](),await new Promise(ap=>{const by=bx;process[by(0x3e0)]['write'](a0L[by(0x13a)]['yellow'](by(0x150)));const aq=!!process[by(0x38f)]['isTTY']&&process[by(0x38f)]['isRaw'];process[by(0x38f)][by(0x411)]&&process[by(0x38f)][by(0x1ca)]&&process[by(0x38f)][by(0x1ca)](!(0x55*-0x3a+-0x15dc+0x291f));const ar=as=>{const bz=by,at=as[bz(0x310)]();(at[bz(0x152)]('\x0a')||at[bz(0x152)]('\x0d'))&&(process[bz(0x38f)]['removeListener'](bz(0x32d),ar),process[bz(0x38f)][bz(0x411)]&&process['stdin'][bz(0x1ca)]&&process[bz(0x38f)][bz(0x1ca)](aq),process['stdout']['write']('\x0a'),ap());};process[by(0x38f)]['on'](by(0x32d),ar),process[by(0x38f)]['resume']();});const al=new Date()[bx(0x1d7)]();ai[bx(0x235)]=al,ai['token']=J['trim']();try{const ap=Date[bx(0x336)](),aq=await fetch(a0+'/api/icoa/server-time',{'method':bx(0x1d8),'signal':AbortSignal[bx(0x1e5)](0x66b*0x3+0x6*0x3ab+0x1*-0x1d8b)});if(aq['ok']){const ar=await aq[bx(0x2ba)](),as=ar?.[bx(0x32d)]?.[bx(0x205)];if(bx(0x107)==typeof as&&as>0x62b*0x6+0x1abf+-0x13*0x35b){const at=(ap+Date[bx(0x336)]())/(-0x2208+0xb5*0x2e+0x184);ai['clockOffsetMs']=Math[bx(0x3ad)](as-at),ai[bx(0x243)]=as+(0x101b+0x26da+-0x36b9*0x1)*ai[bx(0x2e8)]*(0x1*0xe6b+0x16f1+-0x2174);}}}catch{}const am={};am[bx(0x2d1)]=0x0,am[bx(0x29a)]=0x0;const an={};an[bx(0x3e1)]=ai,an[bx(0x178)]=aj,an[bx(0x404)]={},an['interactions']=[],an[bx(0x242)]=am,(a0Z(an),console['log'](),a0a9(bx(0x31b)),a0af(bx(0x1a9),ai[bx(0x2e8)]+bx(0x251)),aj[bx(0x368)]>-0xf7a+0x15f*-0xf+0x240b*0x1&&U(aj[-0x1*-0x1a91+0x1*0x13fa+0x2e8b*-0x1]));}catch(au){console[bx(0x14d)](),bx(0x12c)===au['name']?a0aa(bx(0x202)):a0aa(au[bx(0x138)]||bx(0x298));}}),B[be(0x3ba)](be(0x3c8),{'hidden':!(0x25c*-0xc+-0x2036+0x7f*0x7a)})[be(0x288)](be(0x1fc))[be(0x370)](async()=>{const bA=be;a0a8(bA(0x39d));const {getRealExamState:F,clearExamState:G}=await import(bA(0x1d4)),H=F();if(!H)return console[bA(0x14d)](),console[bA(0x14d)](a0L[bA(0x3ed)](bA(0x10c))),void console['log']();const J=H[bA(0x3e1)][bA(0x283)];console[bA(0x14d)](),console[bA(0x14d)](a0L[bA(0x2b7)](bA(0x117))),console[bA(0x14d)](a0L[bA(0x3ed)]('\x20\x20\x20\x20\x20Exam:\x20\x20')+a0L[bA(0x1c9)](H[bA(0x3e1)]['examName'])),J&&console[bA(0x14d)](a0L['gray'](bA(0x3a2))+a0L['white'](J)),console[bA(0x14d)](a0L['gray'](bA(0x2ff))),console[bA(0x14d)](a0L[bA(0x3ed)](bA(0x385))),console[bA(0x14d)](),console[bA(0x14d)](a0L['gray'](bA(0x2a8))+a0L['bold'][bA(0x338)](bA(0x3c8))+a0L['gray'](bA(0x3ca)));const {getMainRl:K}=await import(bA(0x156)),L=K();if(bA(0x3c8)!==(await new Promise(Q=>{const bB=bA;if(L){const V=L[bB(0x37e)](bB(0x401))['slice']();L[bB(0x179)]('line'),L[bB(0x207)]('\x20\x20>\x20'),L['prompt'](),L[bB(0x3ea)](bB(0x401),W=>{const bC=bB;for(const X of V)L['on'](bC(0x401),X);Q(W[bC(0x139)]());});}else((async()=>{const bD=bB,W={};W[bD(0x270)]=process[bD(0x38f)],W[bD(0x1aa)]=process['stdout'];const {createInterface:X}=await import(bD(0x36e)),Y=X(W);Y[bD(0x22a)](bD(0x263),Z=>{const bE=bD;Y[bE(0x2f6)](),Q(Z[bE(0x139)]());});})());}))[bA(0x305)]())return console[bA(0x14d)](a0L[bA(0x3ed)](bA(0x257))),void console[bA(0x14d)]();G(),console[bA(0x14d)](),console[bA(0x14d)](a0L['green']('\x20\x20✓\x20Exam\x20state\x20cleared.')),console[bA(0x14d)](a0L['gray']('\x20\x20You\x20can\x20now\x20enter\x20a\x20new\x20token\x20with\x20')+a0L[bA(0x13a)]['cyan'](bA(0x13c))),console[bA(0x14d)]();}),B[be(0x3ba)](be(0x195))[be(0x288)](be(0x108))[be(0x370)](async()=>{const bF=be;a0a8(bF(0xf3)),N(bF(0xf9));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bF(0x1d9));a0W()[bF(0x3e6)]||(await(async function(){const bG=bF;let a0=!(-0x8cb+-0x1a11+-0x23*-0xff);const a1=process['stdin'],a2=()=>{a0=!(0x1*-0x344+-0x21e*-0x4+0x4a*-0x12);},a3=a1[bG(0x411)]&&bG(0x1d5)==typeof a1[bG(0x1ca)];a3&&(a1[bG(0x1ca)](!(-0x103a*-0x1+0x3*-0x7c9+0x721)),a1[bG(0x13d)](),a1['once']('data',a2));const a4=async a5=>{let a6=0xff0+0x16d+-0x115d;for(;a6<a5&&!a0;)await q(-0x141f+-0x8*0x26f+0x5*0x7fb),a6+=-0xd62+0x1*-0x146e+0x15*0x1a0;};try{if(console[bG(0x299)](),console['log'](),console[bG(0x14d)](a0L[bG(0x3ed)](bG(0x1df))+a0L['dim'](bG(0x2dc))),console[bG(0x14d)](),console[bG(0x14d)](a0L[bG(0x13a)][bG(0x1c9)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bG(0x14d)](a0L[bG(0x13a)][bG(0x1c9)](bG(0x415))),console[bG(0x14d)](a0L[bG(0x13a)][bG(0x1c9)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bG(0x14d)](a0L[bG(0x13a)]['white'](bG(0x1c5))),console[bG(0x14d)](a0L[bG(0x13a)][bG(0x1c9)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bG(0x14d)](a0L[bG(0x13a)]['white']('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bG(0x14d)](),console[bG(0x14d)](a0L[bG(0x13a)][bG(0x2b7)](bG(0x275))),console['log'](a0L[bG(0x3ed)]('\x20\x20\x20Sydney,\x20Australia\x20\x20·\x20\x20Jun\x2027\x20–\x20Jul\x202,\x202026')),await a4(0x13ae+-0x23fa+-0x1a1*-0x10),a0)return;if(console[bG(0x14d)](),console[bG(0x14d)](a0L[bG(0x1c9)]('\x20\x20\x20What\x20you\x27ll\x20do\x20today:')),console[bG(0x14d)](),await a4(-0x146*-0x4+-0x10ee*0x2+0x1f1c),a0)return;if(console[bG(0x14d)](a0L[bG(0x338)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bG(0x1c9)]('Answer\x2010\x20quick\x20questions')+a0L['gray'](bG(0x188))),await a4(0x1bdd*-0x1+0x43*0x59+0x74e*0x1),a0)return;if(console[bG(0x14d)](a0L[bG(0x247)](bG(0x12b))+a0L['white'](bG(0x3f9))+a0L[bG(0x3ed)](bG(0x227))),await a4(-0x189*0x17+0x157e+0x13*0xdf),a0)return;if(console[bG(0x14d)](a0L[bG(0x2f5)](bG(0x12b))+a0L[bG(0x1c9)]('Hack\x20the\x20AI\x27s\x20guardrails')+a0L['gray'](bG(0x127))),await a4(-0x163b+-0x23a1+0x3d60),a0)return;if(console[bG(0x14d)](),console[bG(0x14d)](a0L[bG(0x13a)][bG(0x1c9)](bG(0x3fb))+a0L[bG(0x13a)][bG(0x2b7)]('IS')+a0L[bG(0x13a)][bG(0x1c9)](bG(0x160))),console[bG(0x14d)](),await a4(0x983+0x1f22*0x1+0x6f5*-0x5),a0)return;if(console[bG(0x14d)](a0L[bG(0x3ed)]('\x20\x20\x20·\x20110\x20CTF\x20tools\x20pre-configured')),await a4(-0x9cb+0x107*-0x14+-0x1*-0x1fe7),a0)return;if(console[bG(0x14d)](a0L[bG(0x3ed)](bG(0x3f5))),await a4(-0x1942+-0x270b*0x1+0x41dd),a0)return;if(console[bG(0x14d)](a0L[bG(0x3ed)](bG(0x1e7))),await a4(-0x119*-0x4+-0x26e*0xe+0x20c0),a0)return;console[bG(0x14d)](),console[bG(0x14d)](a0L['bold'][bG(0x338)](bG(0x10a))),await a4(-0x6*-0xb3+0x233*0x9+-0x85d);}finally{((()=>{const bH=bG;if(a3){a1[bH(0x348)]('data',a2);try{a1[bH(0x1ca)](!(-0xe9d+0x2*-0x875+0x1f88));}catch{}a1['pause']();}})()),console['clear']();}}()),a0X({'demoIntroSeen':!(0x2e2+-0xb3*0xb+0x4cf*0x1)})),console[bF(0x14d)](),console[bF(0x14d)](a0L[bF(0x1c9)](bF(0x250))+a0L['gray'](H+bF(0x2d4)+J+bF(0x182))),console[bF(0x14d)](a0L[bF(0x3ed)]('\x20\x20You\x20can\x20pause\x20with\x20')+a0L[bF(0x338)](bF(0x1f1))+a0L[bF(0x3ed)](bF(0x3d5))+a0L['cyan']('back')+a0L[bF(0x3ed)](bF(0x149))),await new Promise(a0=>{const bI=bF;process['stdout'][bI(0x3b3)](a0L[bI(0x13a)][bI(0x2b7)](bI(0x416)));const a1=!!process[bI(0x38f)][bI(0x411)]&&process[bI(0x38f)][bI(0x234)];process[bI(0x38f)][bI(0x411)]&&process[bI(0x38f)]['setRawMode']&&process['stdin'][bI(0x1ca)](!(0x1edf+-0x467*-0x1+-0x2345));const a2=a3=>{const bJ=bI,a4=a3[bJ(0x310)]();(a4[bJ(0x152)]('\x0a')||a4[bJ(0x152)]('\x0d'))&&(process[bJ(0x38f)][bJ(0x348)](bJ(0x32d),a2),process[bJ(0x38f)][bJ(0x411)]&&process[bJ(0x38f)][bJ(0x1ca)]&&process['stdin'][bJ(0x1ca)](a1),process[bJ(0x3e0)][bJ(0x3b3)]('\x0a'),a0());};process[bI(0x38f)]['on']('data',a2),process[bI(0x38f)][bI(0x13d)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bF(0x1d4));Q()&&V('demo-free'),console['log'](),a0ae('ICOA\x20Demo\x20Exam\x20—\x20Free\x20Practice'),console[bF(0x14d)](),console[bF(0x14d)](a0L[bF(0x1c9)](bF(0x406))),console[bF(0x14d)](a0L[bF(0x1c9)]('\x20\x20'+H+bF(0x1c0)+J+bF(0x18a)));const W=a0a3();if(W[bF(0x255)]>0x69*0x4b+-0x2*0xd71+-0x14b*0x3){const a0=W[bF(0x2a2)],a1=a0>=-0x1c48+-0x1c18+-0x1*-0x38b0?a0L['green']:a0>=-0x17d7*-0x1+-0x679*-0x5+-0x37f8?a0L[bF(0x2b7)]:a0L[bF(0x1c9)];console[bF(0x14d)](),console['log'](a0L[bF(0x3ed)]('\x20\x20Your\x20best:\x20')+a1(W[bF(0x2c1)]+'/'+H+'\x20('+a0+'%)')+a0L[bF(0x3ed)](bF(0x1c2)+W[bF(0x255)]+bF(0x347)));}console[bF(0x14d)](),console[bF(0x14d)](a0L['gray'](bF(0x2c9))),console['log'](a0L[bF(0x1c9)]('\x20\x20'+a0ai(bF(0x151)))),console[bF(0x14d)](a0L[bF(0x2b7)](bF(0x1cd))+a0L[bF(0x3ed)](bF(0x155)+a0ai(bF(0x218)))),console['log'](a0L[bF(0x2b7)]('\x20\x20\x20\x20help')+a0L['gray'](bF(0x26f)+a0ai(bF(0x281)))),console[bF(0x14d)](a0L[bF(0x2b7)]('\x20\x20\x20\x20next')+a0L[bF(0x3ed)](bF(0x40e))+a0L['yellow'](bF(0x2b1))+a0L[bF(0x3ed)](bF(0x3f7)+a0ai(bF(0x2e3)))),console[bF(0x14d)](a0L[bF(0x2b7)](bF(0x120))+a0L[bF(0x3ed)](bF(0x328)+a0ai(bF(0x113)))),console[bF(0x14d)](a0L[bF(0x2b7)](bF(0x16b))+a0L[bF(0x3ed)](bF(0x26f)+a0ai('htpBack'))),console[bF(0x14d)](a0L[bF(0x2b7)](bF(0x301))+a0L['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x16c)))),console[bF(0x14d)](a0L[bF(0x3ed)](bF(0x3a7))),console[bF(0x14d)](a0L['gray']('\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['log'](a0L['gray'](bF(0x2c9))),console[bF(0x14d)]();const {getConfig:X}=await import(bF(0x26b)),Y=X()[bF(0x37b)]||'en';'en'===Y?(console[bF(0x14d)](a0L[bF(0x3ed)]('\x20\x20Questions\x20in\x20English.\x20To\x20switch\x20language\x20first:')),console[bF(0x14d)](a0L[bF(0x3ed)](bF(0x296))),console[bF(0x14d)](a0L['gray']('\x20\x20lang\x20fr\x20·\x20lang\x20ar\x20·\x20lang\x20pt\x20·\x2015\x20languages\x20supported'))):console['log'](a0L[bF(0x247)](bF(0x194)+Y)),console['log'](),console[bF(0x14d)](a0L['white'](bF(0x306)));const Z={...L,'startedAt':new Date()['toISOString']()};console[bF(0x14d)](),E(0x4*0x170+0x1*0x7fe+-0xdbe,bF(0x185)),await q(-0x29f*0xb+-0x3*0x233+0x1*0x2436),E(0x213e+-0x1fc9+-0x9*0x25,bF(0x12d)),await q(-0xcc*-0x2+-0x17f0+0x1720),E(0x1*-0x11d1+-0x179*0x2+0x1513,bF(0x2c8)),await q(0x174d+0x3*0x38d+-0x215e),E(0x4f0*-0x2+0x661+-0xc7*-0x5,bF(0x393)),console[bF(0x14d)](),console['log'](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bF(0x30d),String(H)),a0af(bF(0xf2),'No\x20time\x20limit'),U(K[-0x5d5+-0xa69+-0x6*-0x2b5]);}),B[be(0x3ba)](be(0x172))[be(0x288)]('Retry\x20only\x20the\x20questions\x20you\x20got\x20wrong\x20last\x20demo\x20attempt')[be(0x370)](async()=>{const bK=be;a0a8(bK(0x3f4)),N('post-report-retry');const {getLocalizedDemoSession:F}=await import(bK(0x1d9)),G=a0a6();if(!G||-0x7*-0xa3+0x5f+-0x4d4===G[bK(0x368)])return console[bK(0x14d)](),console[bK(0x14d)](a0L[bK(0x2b7)](bK(0x280))+a0L['bold']['cyan'](bK(0x195))+a0L[bK(0x2b7)](bK(0x15f))),void console[bK(0x14d)]();const H=a0Y();if(H){if(bK(0x1d6)!==H[bK(0x3e1)][bK(0x2a7)])return a0ab('Exam\x20\x22'+H[bK(0x3e1)]['examName']+bK(0x1f2)),void a0ac(bK(0x387));a0a0();}const J=V=>{const bL=bK;if(!V[bL(0x220)])return V;const W=V['options'][V[bL(0x220)]],X=['A','B','C','D'][bL(0x28c)](a2=>V[bL(0x1f4)][a2]);for(let a2=X[bL(0x368)]-(-0x16b0+0x710*-0x1+0x1dc1);a2>-0x72+-0x1c65+0x6b*0x45;a2--){const a3=Math[bL(0x258)](Math['random']()*(a2+(-0xda5+-0x26*-0xc2+-0x7*0x22a)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[0x234f*0x1+-0x1511*-0x1+-0xb*0x520],Y['B']=X[-0x23f6+0x1c96*0x1+0x761*0x1],Y['C']=X[-0x251*0xb+0x22cd+-0x950],Y['D']=X[-0x1*-0x104b+-0x1ba6*-0x1+-0x15f7*0x2];const Z=Y,a0=['A','B','C','D'][bL(0x3c5)](a4=>Z[a4]===W),a1={...V};return a1[bL(0x1f4)]=Z,a1['answer']=a0,a1;},K=G[bK(0x28c)]((V,W)=>({...J(V),'number':W+(0x191a+0x19df+-0x32f8)})),L=F(),Q={...L,'examName':L[bK(0x17b)]+bK(0x2e4),'questionCount':K[bK(0x368)],'startedAt':new Date()['toISOString']()};console[bK(0x14d)](),a0ae(bK(0x3fc)),console[bK(0x14d)](),console[bK(0x14d)](a0L[bK(0x1c9)](bK(0xf1)+K[bK(0x368)]+bK(0xf7)+(-0x1e7*0x7+-0x1*0xfb5+0x1*0x1d07===K[bK(0x368)]?'':'s')+'\x20you\x20got\x20wrong.')),console[bK(0x14d)](a0L['gray'](bK(0x371))),console['log'](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bK(0x30d),String(K[bK(0x368)])),a0af('Duration',bK(0x3bb)),U(K[0xca4*-0x1+0x1*-0xf92+-0x1c36*-0x1]);}),B[be(0x3ba)](be(0x208))[be(0x288)]('Install\x20Python\x20environment\x20for\x20practical\x20exam\x20questions')[be(0x370)](async()=>{const bM=be;if(a0a8(bM(0x163)),0x2*-0x272+0x4b1*-0x3+0x12f7===a0a3()[bM(0x255)])return console[bM(0x14d)](),a0ab(bM(0x15d)),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x16f))+a0L[bM(0x13a)][bM(0x338)](bM(0xf3))),void console[bM(0x14d)]();const J=a0ak();if(J){const a7=J['installedPackages'][bM(0x368)],a8=a7+J[bM(0x137)][bM(0x368)];if(a7>=0x8*0x3c5+0x1*-0x71c+0x2*-0xb82||(a8>0x1*0x2165+-0x1af3+0x42*-0x19?a7/a8:-0xb*0x1c8+0xb9c+0xe*0x92)>=-0x3d1*0x2+0x1*0xc7+0x6db+0.7)return console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x247)](bM(0x228))+a0L[bM(0x247)]('Environment\x20already\x20set\x20up')),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x14b)+J[bM(0x157)][bM(0x24f)]('T')[0x455+-0x1270+0xe1b])),console[bM(0x14d)](a0L[bM(0x3ed)]('\x20\x20\x20\x20Python:\x20'+J[bM(0x153)])),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x3be)+a7+bM(0x3cc))),J[bM(0x137)][bM(0x368)]>-0x1ef+0x22cc*0x1+0x1*-0x20dd&&console['log'](a0L['yellow'](bM(0x38d)+J[bM(0x137)][bM(0x339)](',\x20'))),console[bM(0x14d)](),console['log'](a0L[bM(0x1c9)]('\x20\x20Next\x20step:\x20')+a0L[bM(0x13a)]['cyan'](bM(0x13c))),console['log'](a0L[bM(0x3ed)](bM(0x209))+a0L[bM(0x13a)][bM(0x338)](bM(0x222))+a0L[bM(0x3ed)](bM(0x3b0))),void console[bM(0x14d)]();console['log'](),console['log'](a0L[bM(0x2b7)](bM(0x177)+a7+'/'+a8+bM(0x311))),console[bM(0x14d)]();}console[bM(0x14d)](),a0ae('Exam\x20Environment\x20Setup'),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x319))),console['log'](a0L[bM(0x3ed)](bM(0x1db))),console[bM(0x14d)]();const K=(a9,aa)=>{const bN=bM,ab=process['platform'];console[bN(0x14d)](),a0aa('missing'===a9?'Python\x203\x20not\x20found.':'Python\x20'+aa+bN(0x36b)),console[bN(0x14d)](),console[bN(0x14d)](a0L['bold'][bN(0x1c9)](bN(0x129))),console['log'](),bN(0x262)===ab?(console[bN(0x14d)](a0L[bN(0x2b7)](bN(0x245))),console['log'](a0L[bN(0x247)](bN(0x256))),console['log'](),console[bN(0x14d)](a0L[bN(0x3ed)](bN(0x2cf))),console[bN(0x14d)](a0L['gray'](bN(0x375)))):bN(0x30c)===ab?(console['log'](a0L['yellow']('\x20\x20Ubuntu\x20/\x20Debian\x20(deadsnakes\x20PPA):')),console['log'](a0L['green'](bN(0x277))),console[bN(0x14d)](a0L[bN(0x247)](bN(0x1f8))),console[bN(0x14d)](a0L[bN(0x247)](bN(0x254))),console[bN(0x14d)](a0L[bN(0x3ed)](bN(0x135))),console[bN(0x14d)](),console[bN(0x14d)](a0L[bN(0x2b7)](bN(0x125))),console['log'](a0L[bN(0x247)](bN(0x1b9))),console[bN(0x14d)](),console[bN(0x14d)](a0L[bN(0x2b7)](bN(0x417))),console[bN(0x14d)](a0L['green'](bN(0x2e5)))):'win32'===ab?(console[bN(0x14d)](a0L[bN(0x2b7)](bN(0x41d))),console[bN(0x14d)](a0L[bN(0x247)](bN(0x413))),console[bN(0x14d)](),console[bN(0x14d)](a0L['gray'](bN(0x2cf))),console[bN(0x14d)](a0L['gray'](bN(0x3b2)))):console[bN(0x14d)](a0L[bN(0x3ed)](bN(0x3b9))),console['log'](),console[bN(0x14d)](a0L[bN(0x1c9)](bN(0x287))+a0L[bN(0x13a)][bN(0x338)](bN(0x163))),console['log']();},{execFileSync:L}=await import(bM(0x326)),Q=[bM(0x300),'python3.11',bM(0x389),bM(0x11e)];let V='',W='',X='';for(const a9 of Q)try{const aa=L(a9,['--version'],{'encoding':bM(0x27d),'timeout':0x1388})[bM(0x139)]()[bM(0x321)]('Python\x20',''),ab=aa['split']('.')[bM(0x28c)](Number);if(-0x1c7f+-0x192*0x16+0x3f0e===ab[0x6a*0x11+0x1be3*-0x1+0x6f3*0x3]&&ab[0x184c+-0x10f+-0x173c]>=0x1d7*-0x2+0xd5e+-0x9a6){V=a9,W=aa;break;}bM(0x11e)!==a9||X||(X=aa);}catch{}if(!V)return void(X?K(bM(0x2fc),X):K(bM(0x16e)));const Y=W['split']('.')[bM(0x28c)](Number);-0x421+0x261+0x1c3===Y[0x38f+0x1675+-0x1a04]&&Y[-0xca6*0x2+-0x2*-0x127f+-0xbb1*0x1]<-0x7*-0x239+0x229*0x7+0x2*-0xf51?console[bM(0x14d)](a0L['green'](bM(0x3ab)+W)+a0L[bM(0x3ed)]('\x20(works,\x20but\x203.12\x20recommended)')):console[bM(0x14d)](a0L[bM(0x247)](bM(0x3ab)+W));try{const ac={};ac[bM(0x19e)]=bM(0x410),ac['timeout']=0x1388,(a0an(V+bM(0x20f),ac),console[bM(0x14d)](a0L[bM(0x247)]('\x20\x20✓\x20pip\x20available')));}catch{console['log'](a0L[bM(0x2b7)](bM(0x14e)));try{const ad={};ad[bM(0x19e)]=bM(0x410),ad[bM(0x1e5)]=0x7530,(a0an(V+bM(0x3c6),ad),console[bM(0x14d)](a0L[bM(0x247)](bM(0x2bf))));}catch{a0aa('Could\x20not\x20install\x20pip\x20—\x20pip\x20is\x20not\x20installed\x20on\x20your\x20system.'),console['log']();const {isInWSL:ae,isNativeWindowsCmd:af}=await import('../lib/platform.js'),{execFileSync:ag}=await import(bM(0x326)),ah=ae(),ai=af(),aj=bM(0x30c)===process[bM(0x297)]&&!ah,ak=bM(0x262)===process[bM(0x297)];let al='your\x20Linux\x20distro';if(aj||ah)try{const {readFileSync:ao}=await import(bM(0x261)),ap=ao('/etc/os-release',bM(0x27d)),aq=(ap['match'](/^ID="?([^"\n]+)/m)||[])[0x125d*0x2+0x85+-0x253e]||'',ar=(ap[bM(0x14f)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x722+0x1645+-0x1*0x1d66]||'';'ubuntu'===aq?al=bM(0x32c)+ar+(ah?bM(0x3d2):''):aq&&(al=''+aq+(ar?'\x20'+ar:'')+(ah?bM(0x3d2):''));}catch{}let am=!(0x4*0x837+-0x1b62+-0x579);if(ak)try{const as={};as[bM(0x19e)]=bM(0x410),as['timeout']=0x7d0,(ag(bM(0x2ec),[bM(0x193)],as),am=!(-0x2*0xa26+-0x89c+0x1ce8));}catch{am=!(-0x8f6*0x1+-0x2b9*0x4+0x13db);}const an=ai?bM(0x2ca):'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20sudo\x20cannot\x20run\x20inside\x20the\x20prompt';return console[bM(0x14d)](a0L[bM(0x13a)]['yellow'](bM(0x2fb))),console[bM(0x14d)](a0L[bM(0x13a)][bM(0x2b7)]('\x20\x20'+an)),console[bM(0x14d)](a0L[bM(0x13a)][bM(0x2b7)](bM(0x2fb))),console[bM(0x14d)](),aj||ah?(console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x121))+a0L[bM(0x338)](al)),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x31a))),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x13a)][bM(0x1c9)](bM(0x10d))),console[bM(0x14d)](),console[bM(0x14d)](a0L['white'](bM(0x189))+a0L['bold'][bM(0x338)](bM(0x2a6))+a0L[bM(0x1c9)](bM(0x233))),console['log'](),console[bM(0x14d)](a0L[bM(0x1c9)]('\x20\x20\x20\x202.\x20In\x20your\x20shell,\x20run:')),console[bM(0x14d)](),console['log'](bM(0x155)+a0L[bM(0x13a)][bM(0x338)](bM(0x3ef))),console['log'](bM(0x155)+a0L[bM(0x13a)][bM(0x338)](bM(0x20b))),console['log'](),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x349))),console[bM(0x14d)](),console['log'](bM(0x155)+a0L[bM(0x13a)][bM(0x338)](bM(0x41b))),console[bM(0x14d)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x3ed)](bM(0x409))+'\x20'+a0L['bold']['cyan'](bM(0x163)))):ak?(console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x121))+a0L[bM(0x338)](bM(0x31f))),console[bM(0x14d)](),console[bM(0x14d)](a0L['bold'][bM(0x1c9)](bM(0x10d))),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x189))+a0L[bM(0x13a)][bM(0x338)](bM(0x2a6))+a0L[bM(0x1c9)](bM(0x37f))),console[bM(0x14d)](),am?(console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x343))),console[bM(0x14d)](),console[bM(0x14d)](bM(0x155)+a0L[bM(0x13a)][bM(0x338)](bM(0x3e8))),console[bM(0x14d)](bM(0x155)+a0L['bold'][bM(0x338)](bM(0x1cb)))):(console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x191))+a0L[bM(0x13a)]['yellow'](bM(0x193))+a0L[bM(0x1c9)]('):')),console[bM(0x14d)](),console[bM(0x14d)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x13a)][bM(0x338)]('/bin/bash\x20-c\x20\x22$(curl\x20-fsSL\x20https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\x22')),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x266))),console[bM(0x14d)](),console[bM(0x14d)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bM(0x338)](bM(0x3e8)))),console['log'](),console[bM(0x14d)](a0L[bM(0x1c9)]('\x20\x20\x20\x203.\x20Restart\x20icoa\x20and\x20retry:')),console[bM(0x14d)](),console[bM(0x14d)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bM(0x338)](bM(0x41b))),console[bM(0x14d)](bM(0x155)+a0L[bM(0x3ed)](bM(0x409))+'\x20'+a0L[bM(0x13a)][bM(0x338)](bM(0x163)))):ai?(console[bM(0x14d)](a0L['white'](bM(0x121))+a0L[bM(0x338)]('Windows\x20native\x20(PowerShell\x20/\x20cmd)')),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x13a)][bM(0x2b7)](bM(0x225))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x24b))),console['log'](a0L[bM(0x3ed)]('\x20\x20Paper\x20A\x20/\x20B\x20practical\x20questions\x20need\x20Unix\x20tooling\x20that\x20runs')),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x237))),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x13a)][bM(0x1c9)](bM(0xff))),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x1c9)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bM(0x13a)][bM(0x338)]('quit')+a0L['white'](bM(0x37f))),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x361))),console[bM(0x14d)](),console[bM(0x14d)](bM(0x155)+a0L[bM(0x13a)]['cyan'](bM(0x408))),console[bM(0x14d)](),console['log'](a0L['gray'](bM(0x106))),console[bM(0x14d)](a0L[bM(0x1c9)]('\x20\x20\x20\x203.\x20Inside\x20Ubuntu,\x20install\x20Node.js\x2022\x20+\x20Python\x20tools\x20+\x20icoa:')),console[bM(0x14d)](),console[bM(0x14d)](bM(0x155)+a0L[bM(0x13a)][bM(0x338)]('curl\x20-fsSL\x20https://deb.nodesource.com/setup_22.x\x20|\x20sudo\x20-E\x20bash\x20-')),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x13a)][bM(0x338)](bM(0x241))),console['log'](bM(0x155)+a0L[bM(0x13a)][bM(0x338)](bM(0x126))),console['log'](bM(0x155)+a0L[bM(0x13a)][bM(0x338)](bM(0x41b))),console[bM(0x14d)](),console[bM(0x14d)](a0L['gray'](bM(0x32e))),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x189))+a0L[bM(0x13a)][bM(0x338)](bM(0x2a6))+a0L[bM(0x1c9)]('\x20to\x20leave\x20icoa')),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x174))),console[bM(0x14d)](),console['log'](bM(0x155)+a0L[bM(0x13a)][bM(0x338)](bM(0x3f8))),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x3ed)]('\x20\x20\x20\x20\x20\x20\x20(Or\x20download\x20from\x20python.org\x20and\x20CHECK\x20both\x20\x22Add\x20Python\x20to')),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x36c))),console[bM(0x14d)](a0L['white'](bM(0x1ef))),console[bM(0x14d)](),console[bM(0x14d)](bM(0x155)+a0L[bM(0x13a)][bM(0x338)]('icoa')),console[bM(0x14d)](bM(0x155)+a0L[bM(0x3ed)](bM(0x409))+'\x20'+a0L[bM(0x13a)][bM(0x338)](bM(0x163)))):(console['log'](a0L['white'](bM(0x365))+a0L[bM(0x338)](process[bM(0x297)])+a0L[bM(0x1c9)](')')),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x33c))),console[bM(0x14d)]('\x20\x20\x20\x20\x20\x20\x20'+a0L['bold'][bM(0x338)]('icoa')),console['log'](bM(0x155)+a0L['gray'](bM(0x409))+'\x20'+a0L[bM(0x13a)][bM(0x338)](bM(0x163)))),console['log'](),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x1fe))),void console[bM(0x14d)]();}}const Z={};Z[bM(0x11a)]='bs4',Z['pycryptodome']=bM(0x331),Z[bM(0x2ac)]='z3',Z[bM(0x2cd)]=bM(0x26e),Z['pwntools']=bM(0x224),Z[bM(0x22d)]=bM(0x11d);const a0=[bM(0x198),bM(0x10e),bM(0x229),bM(0x11a),bM(0x2b2),bM(0x2cd),bM(0x346),bM(0x1b3),bM(0x2ac),bM(0x34a),bM(0x22d),bM(0x30e),'regex'],a1=Z;console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x356)+a0[bM(0x368)]+bM(0x309))),console[bM(0x14d)]();let a2='';try{const at={};at['encoding']=bM(0x27d),at[bM(0x1e5)]=0x2710,a0an(V+bM(0x2c0),at);}catch(au){const av=String(au?.[bM(0x3e0)]||au?.[bM(0x1ab)]||au?.['message']||'');/externally-managed-environment|break-system-packages/i[bM(0x295)](av)&&(a2=bM(0x29d),console[bM(0x14d)](a0L[bM(0x2b7)](bM(0x232))),console[bM(0x14d)]());}const a3=W[bM(0x24f)]('.')[bM(0x28c)](Number);-0x1e4e+-0x214b+0x6*0xa9a===a3[-0x109a+-0x1903*0x1+0x299d]&&a3[0x1d2*-0x1+-0x170*0x5+0x903*0x1]>=-0x1d*0xbb+0xe9c+0x6a*0x10&&(console[bM(0x14d)](a0L[bM(0x2b7)](bM(0x1f5)+W+bM(0x1ec))),console[bM(0x14d)](a0L['gray']('\x20\x20\x20\x20Some\x20packages\x20(pwntools,\x20scapy)\x20may\x20not\x20have\x20wheels\x20yet\x20for\x203.13.')),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x26c))),bM(0x30c)===process[bM(0x297)]&&(console[bM(0x14d)](a0L[bM(0x247)]('\x20\x20\x20\x20\x20\x20sudo\x20apt\x20install\x20python3.12\x20python3.12-venv')),console[bM(0x14d)](a0L[bM(0x247)](bM(0x164)))),console[bM(0x14d)]());const a4=[],a5=[];let a6='';for(const aw of a0)try{a0an(V+bM(0x303)+aw+'\x22\x20'+a2+bM(0x1f3),{'encoding':bM(0x27d),'timeout':0x2bf20,'stdio':'pipe'}),a0an(V+bM(0x2a3)+(a1[aw]||aw)+'\x22',{'stdio':'ignore','timeout':0x2710});let ax='';try{const ay=a0an(V+bM(0x1b0)+aw+'\x22\x202>/dev/null',{'encoding':bM(0x27d),'timeout':0x1388})['match'](/^Version:\s*(.+)$/m);ay&&(ax=ay[-0x31*-0x1f+0xd63*-0x2+0x14d8][bM(0x139)]());}catch{}console[bM(0x14d)](a0L[bM(0x247)](bM(0x228)+aw)+(ax?a0L[bM(0x3ed)]('\x20('+ax+')'):'')),a4[bM(0x2ed)](ax?aw+'=='+ax:aw);}catch(az){const aA=String(az?.['stdout']||az?.['stderr']||az?.[bM(0x138)]||'')['slice'](-(-0xda6+-0x149c+0x23d2)),aB=aA['split']('\x0a')['filter'](aC=>aC[bM(0x139)]())[bM(0x175)](-(-0x21d8+-0x4e9*-0x5+0x94d*0x1))[bM(0x339)](bM(0x38c))['slice'](0x11e0+-0x1865+-0x685*-0x1,0x1cd6*0x1+-0x8*0x1f+-0x1b66);console[bM(0x14d)](a0L[bM(0x2f5)](bM(0x3f3)+aw)+a0L[bM(0x3ed)]('\x20\x20'+aB)),a5[bM(0x2ed)]({'pkg':aw,'error':aB}),a6||(a6=aA);}0x21ed+0x11c3+0x676*-0x8===a4[bM(0x368)]&&a6&&(console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x2b7)](bM(0xef))),console['log'](a0L[bM(0x3ed)]('\x20\x20'+a6[bM(0x24f)]('\x0a')['slice'](-(0x1*-0x5b9+-0x23eb+0x29aa))['join'](bM(0x31e))))),a0al({'completedAt':new Date()['toISOString'](),'pythonVersion':W,'installedPackages':a4,'failedPackages':a5[bM(0x28c)](aC=>aC['pkg'])}),console[bM(0x14d)](),0x11d5+-0x1efd*0x1+0xd28===a5[bM(0x368)]?a0a9(bM(0x2da)+a0[bM(0x368)]+bM(0x28f)):-0x1b51+-0x1b3*-0x3+0x1638===a4[bM(0x368)]?(a0aa('Setup\x20failed\x20—\x200\x20of\x20'+a0[bM(0x368)]+bM(0x28f)),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x2b7)]('\x20\x20Troubleshooting:')),0x12f8+0x1b05+0x499*-0xa===a3[-0x2304+0x815+0x563*0x5]&&a3[-0x45a*0x8+-0x1f85+-0x4bd*-0xe]>=0x13*-0xf2+0x365+-0xe9e*-0x1?(console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x1b6))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x1d2)))):(console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x2c2))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x3c9))+a0L[bM(0x338)](V+'\x20-m\x20pip\x20install\x20pwntools')+a0L['gray'](bM(0x134))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x34f)))),console['log'](),console[bM(0x14d)](a0L['white'](bM(0x37c))+a0L[bM(0x13a)][bM(0x338)](bM(0x163)))):a0ab(a4[bM(0x368)]+'/'+a0[bM(0x368)]+bM(0x1f6)+a5[bM(0x368)]+'\x20failed:\x20'+a5['map'](aC=>aC[bM(0x1f7)])['join'](',\x20')),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x338)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x14d)](a0L[bM(0x13a)][bM(0x1c9)]('\x20\x20How\x20to\x20use\x20Python\x20in\x20ICOA\x20CLI')),console[bM(0x14d)](a0L[bM(0x338)](bM(0x1c4))),console[bM(0x14d)](),console['log'](a0L['bold'][bM(0x2b7)](bM(0x2af))+a0L['gray'](bM(0x201))),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x3dd))),console[bM(0x14d)](a0L[bM(0x247)](bM(0x184))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x2fd))),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x13a)][bM(0x2b7)](bM(0x33a))+a0L[bM(0x3ed)]('\x20(explore\x20&\x20experiment)')),console[bM(0x14d)](a0L[bM(0x1c9)]('\x20\x20Start\x20a\x20Python\x20session,\x20type\x20commands\x20one\x20by\x20one:')),console[bM(0x14d)](a0L[bM(0x247)](bM(0x376))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x335))),console[bM(0x14d)](a0L['gray'](bM(0x2a1))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x3a4))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x238))),console['log'](a0L[bM(0x3ed)](bM(0x384))),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x13a)][bM(0x2b7)](bM(0x30f))+a0L[bM(0x3ed)]('\x20(complex\x20solutions)')),console['log'](a0L['white']('\x20\x20Write\x20a\x20.py\x20file,\x20then\x20run\x20it:')),console['log'](a0L[bM(0x247)](bM(0x307))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x1e9))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x1e1))),console[bM(0x14d)](a0L[bM(0x3ed)]('\x20\x20\x20\x20key\x20=\x20xor(ct[:5],\x20b\x22ICOA{\x22)')),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x392))),console['log'](a0L['green'](bM(0x367))),console[bM(0x14d)](a0L[bM(0x247)](bM(0x2b3))),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x13a)][bM(0x2b7)]('\x20\x20AI\x20Assistant')),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x1ea))+a0L[bM(0x13a)]['cyan'](bM(0x28d))+a0L[bM(0x1c9)]('\x20to\x20ask\x20AI\x20for\x20help:')),console['log'](a0L[bM(0x3ed)](bM(0x3a1))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x35e))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x2f0))),console[bM(0x14d)](a0L[bM(0x338)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x14d)](),console[bM(0x14d)](a0L[bM(0x1c9)](bM(0x269))+a0L['bold'][bM(0x338)](bM(0x13c))),console[bM(0x14d)](a0L[bM(0x3ed)](bM(0x209))+a0L[bM(0x13a)][bM(0x338)](bM(0x222))+a0L[bM(0x3ed)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console[bM(0x14d)]();}),B[be(0x370)](()=>{const bO=be;a0a8('exam');const F=a0Y();if(F){a0ae(bO(0x2e0)+F['session']['examName']),O();const J=Object[bO(0x146)](F[bO(0x404)])['length'];return a0af(bO(0x2a0),J+'/'+F[bO(0x3e1)][bO(0xfc)]+bO(0x1fd)),console[bO(0x14d)](),void console['log'](a0L[bO(0x3ed)]('\x20\x20exam\x20q\x20[n]\x20\x20|\x20exam\x20answer\x20<n>\x20<A-D>\x20|\x20exam\x20review\x20|\x20exam\x20submit'));}const G=a0a3(),H=a0ak();console[bO(0x14d)](),a0ae(bO(0x24e)),console['log'](),-0x3*-0x3d7+0x132a+-0x1eaf===G[bO(0x255)]?(console['log'](a0L['yellow']('\x20\x20○\x20')+a0L[bO(0x2b7)]('Recommended:\x20complete\x20demo\x20first')),console[bO(0x14d)](a0L[bO(0x3ed)](bO(0x15e))+a0L[bO(0x13a)][bO(0x338)](bO(0xf3)))):(console[bO(0x14d)](a0L[bO(0x247)]('\x20\x20●\x20')+a0L[bO(0x247)]('Demo\x20completed\x20('+G['attempts']+'\x20attempt'+(0x72b+-0x919+0x21*0xf!==G['attempts']?'s':'')+')')),H?(console[bO(0x14d)](a0L['green'](bO(0x3ec))+a0L[bO(0x247)](bO(0x1e3))),console[bO(0x14d)](a0L['yellow'](bO(0x3fd))+a0L['yellow'](bO(0x337))),console[bO(0x14d)](a0L[bO(0x3ed)](bO(0x15e))+a0L[bO(0x13a)][bO(0x338)]('exam\x20<token>'))):(console[bO(0x14d)](a0L['yellow'](bO(0x3fd))+a0L[bO(0x2b7)]('Pre-exam\x20setup\x20required')),console[bO(0x14d)](a0L[bO(0x3ed)](bO(0x15e))+a0L[bO(0x13a)][bO(0x338)](bO(0x163))))),console[bO(0x14d)]();});}function a0z(){const bP=['khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icbbBNn3zxjZigfYzsa','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','D3jPDgu','icaGihzSytrJDgy','ixb5DgHVBJmGC29SDMuUChK','C3rHCNq','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','AwnVys1JBgK','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','y29TBwfUza','tM8GDgLTzsbSAw1PDa','CgfZC2vK','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','icaGifbHy2THz2vZoIa','zxHHBvDHExnuB1nVBhzL','mJuSmdaWihrVA2vUCW','icbbBgWGAgvSCcb1C2vKicG','ody5mtzNB1rnr1a','AhrWuMv2Awv3','CsbBBL0','zMLUza','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','BgLZDcbBy291BNrYEv0','CMvZzxq','icaGiokaOIbuCNK6ia','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','x2XHC3rr','igLUC3rHBgXLza','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','icaGsg93ihrVihDVCMS','zxHHBvDHExntyxzLzfrV','u2LUz2fWB3jL','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','icHxu0WYkq','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','icbuBYbJB250Aw51zsb0AgLZigv4yw06','ig9YigXLyxzLihDPDgGG','C29YDa','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','icbbBNn3zxjZoIa','q2HPBMe','zxHHBvDHExntAgvSBa','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','icaGieXHBMC6icaGia','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','igfUC3DLCMvKiokaLcbHy2nPzgvUDgfSihn1yM1PDcbNDwfYza','C3rHDhvZ','C3rKB3v0','C2vZC2LVBG','AgvSCfjLBw92zq','q291BNrYEq','icaGigv4yw0GCsaXlI4','tMLJzsbVBMuU','zgvTB0LUDhjVu2vLBG','icaGiokrPca','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','y2f0zwDVCNK','B25Jzq','icbqyxnZihrOCMvZAg9SzcbPCYb0ExbPy2fSBhKGntaLiokaLca','icdIL48G','z3jHEq','ywK0y3rMu3vI','C3vKBYbHChqGDxbKyxrL','qMfUz2XHzgvZAa','ixzPihnVBhzLlNb5','ig5VDcbMB3vUzcaOms0','icdINjCG','zxHHBsbKzw1VlxjLDhj5','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','BwfYAYbBBL0','icaGia','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','icaGww91CIb0zxjTAw5HBca','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','icdIL4SG','icdWN5kHie9WDgLVBIa','ywXS','u3vIBwL0igzHAwXLza','BgLUzq','yw5ZD2vYx2nOyw5Nzwq','AgLUDcbHic8GyIaVigm','yw5ZD2vYCW','uxvLC3rPB24G','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','AwnVyt4','qw5ZD2vYzwq','Dg90ywW','C3vIBwL0ifTJB25MAxjTqxjNxsbBC2vJB25KqxjNxq','ixb5DgHVBJm','ic8G','DMXH','AwDUB3jL','AxnuvfK','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','qNvYDw5KAq','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','icbbCMnOic8GtwfUAMfYBZO','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','Cg9PBNrZ','CgfKu3rHCNq','AwnVyq','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','icaGicbiAw50CYbbl0iVqZOGicaG','zxHHBsbZDwjTAxqGy29UzMLYBsa','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','tK9uifbbu1nfra','icbqCMfJDgLJAw5Nia','rhvYyxrPB24','zxHHBsbKzw1V','zwDNmte','C3vIC3rYAw5N','ixb5DgHVBJmGlI4U','ihf1zxn0Aw9U','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','zgvTBY1LBNrLCG','tMv3ifPLywXHBMq','icbuBYbJB25MAxjToIaG','CxvLC3rPB25dB3vUDa','y29TCgXLDgu','otK1mJm1nwzAwMvKAq','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','zxHHBvDHExnqExrOB25szxbS','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','zNjVBq','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','x2HLBhbqzxjr','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','BNvTyMvY','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','ieLdt0f7Ew91CL9MBgfNFq','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icaGicbtB2X2zsa','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','icbtDgvWlwj5lxn0zxa6','y3j5ChrVz3jHCgH5','yM9VA21HCMTZ','l2fUC3DLCG','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','AhrWtw9YzuHLBha','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','Bw9Yzs1OzwXW','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','yMvHDxrPzNvSC291Cdq','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','zwXPBwLUyxrLza','CM9Wz2fKz2v0','ChL0Ag9UmW','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icaGig1VCMuGAgvSCa','icbezxrLy3rLzdOG','zxHHBsbOzwXW','C19HAtrJDgy','ihvUzMXHz2DLzc4','icbgzwrVCMeGlYbssevmoG','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','icaGicaGicaGkgn0zJrHAsK','icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','CMvM','icaGicdILQmG','vgLTzw91DevYCM9Y','u2H1zMzSAw5Nig9WDgLVBNmUlI4','igzVCIb0AgLZihnLy3rPB24','zxHHBsbZDwjTAxqGy29UzMLYBq','yxr0ywnRAw5N','ugvYDq','icaGiokrOYa','zxHHBsb1BM1HCMSG','iokaLcbZzwuGzNvSBcbLCNjVCG','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','BMv4Da','zMfPBgvKugfJA2fNzxm','BwvZC2fNzq','DhjPBq','yM9Sza','qw5ZD2vYzwq6ica','zxHHBsa8Dg9Rzw4+','CMvZDw1L','zxHWBgfUyxrPB24','tM8GzxHHBsbPBIbWCM9NCMvZCY4','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','vw5PDgvKifn0yxrLCW','zMfPBa','CMv2Awv3','rxHHBsaI','ndy1rw1Zq0f5','A2v5CW','Ew91CKfUC3DLCG','BM90ugfZC2vK','igf0igfUEsb0Aw1LlG','q29UDgvUDc1uExbL','icaGienVBxbSzxrLzdOG','icaGsg93ihrVigf0DgfJAW','Bg9N','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','Bwf0y2G','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','Ag93vg9qBgf5','Aw5JBhvKzxm','ChL0Ag9UvMvYC2LVBG','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','icaGicaGia','lI4VBgLIl21HAw4TCMWUANm','y29TCgXLDgvKqxq','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','lI4U','icaGicdcTYbbssbPCYb5B3vYia','Cgn0','tg9HzgLUzYbLEgfTlI4U','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','icaGiokgKIa','igzPCNn0lG','ihrOzsbJB21WzxrPDgLVBI4','ihbVAw50CW','xsaG','zxHHBsbZzxr1Ca','icaGicaGC3vKBYb1CgrHDguTywX0zxjUyxrPDMvZic0TAw5ZDgfSBcaVDxnYl2jPBI9WExrOB24Zihb5DgHVBJmGl3vZCI9IAw4VChL0Ag9UmY4XmIaX','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','zxHHBv9Pza','zMLUzeLUzgv4','C3rHCNrfEgfT','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','icHr','icaGigjHy2S','AhrWtgfUzW','Aw5KzxHpzG','BwLZC2LUzW','icdIHPiG','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','r28GDg8GBMv4DcbXDwvZDgLVBG','zgvTBY1YzxrYEq','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','C2XPy2u','zw1VAMK','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','CxvLC3rPB25Z','CMvTB3zLqwXStgLZDgvUzxjZ','ihbVAw50C10','zxHHBu5HBwu','icbuBYbNBYbIywnRoIaG','nJLKC3zKsgu','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','yxr0ywnOzwreyxrH','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','icdWN46bicS','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','vxPIzwTPC3rHBG','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','rMfPBgvKihrVigXVywqGzxHHBxm','lI4VBgLIl3bSyxrMB3jTlMPZ','icaGicaGicaOBM93lcb+nsbTAw4P','icaGideUifr5CguG','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','AhrWu3vIBwL0','uhjLCgfYAw5NlI4U','zwDNmtm','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','yw5ZD2vYx3n1yM1PDhrLza','yNjLDW','icbmyw5NDwfNztOG','zgvTBW','icaGkhjLC3vTzsbMCM9TifeXkq','zxHHBsbXide','ChDUDg9VBhm','rxHHy3rSEs4','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','icbizwXWihvZzwq6ia','r2vYBwfUEq','DxnLza','C3rKAw8','vw5HBNn3zxjLza','ovnRBe9ZDG','mtflvgzIq1i','CMfUzg9T','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','C2HVD25xyxjUAw5NCW','y2f0y2G','zxHHBsbSAxn0ia','vgLTzsbszw1HAw5PBMC','B3v0Chv0','C3rKzxjY','C3rHCNqGpgLKpG','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','zxHHBsbUyxrPB25Z','yxbWBgLJyxrPB24VANnVBG','ic1TihbPCcbZAg93ici','y29YCMvJDa','y2vPBa','C3LTChK','x3n1yM1PDenVBMzPCM1Lza','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','icaGig5LEhq','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','icbr','BMv3','sw5KB25LC2LH','C29Tzq','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','CdmW','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','AgvSCefSBfvZzwq','icdcTYaG','zxHHBsbWCMv2','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','u3rHCNrPBMCGDgLTzxiUlI4','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','ugfZCW','D2HPDgu','C2v0uMf3tw9Kzq','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','icaGieeVqI9dl0q','ntq3ntr2t0nxDwO','icdILRGG','icbsDwXLCZO','4O+XifrPBwuGCMvTywLUAw5NoG','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','AgfZ','lI4VBgLIl2v4yw0TC3rHDguUANm','zNvUy3rPB24','zgvTBY1MCMvL','Dg9ju09tDhjPBMC','r0vu','lI4VBgLIl2rLBw8TzxHHBs5QCW','twfJyxu','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','D2L0Aa','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','icaG','y3rMzfvYBa','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','tg9HzgLUzYbYzxn1BhqUlI4','rw52AxjVBM1LBNqGCMvHzhK','uMv2Awv3oIa','DgLTzw91Da','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','icaGign0zJrHAq','icaGigzYB20GChDUigLTCg9YDcb4B3i','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','u291DgGGs29Yzwe','igrLDgvJDgvK','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','lcbUB3qGEw91CIb0zwfTBwf0zq','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','zxHHBsbHBNn3zxiG','q3rYBcTd','iIbPCYbPBIbWCM9NCMvZCY4','ic0TCxvPzxqGmJ4Mmq','B3b0Aw9UCW','icdIMQaGuhL0Ag9Uia','ihbHy2THz2vZigLUC3rHBgXLzc4G','CgTN','icaGihn1zg8Gyxb0ihvWzgf0zq','C3bSAwnL','icbzB3vYigfUC3DLCJOG','ihjLBwfPBMLUzYK','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','igfUC3DLCMvK','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','z2v0rxHHBxm','mJyYnte2vurmt1ni','icHXDwLJAYb0yxnRCYK','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','rMXHz2DLzcbMB3iGCMv2Awv3','C2vYDMvYx3rPBwvFBxm','zxHHBsbYzxn1BhqG','C2v0uhjVBxb0','C2v0Dxa','icbpCIb0ExbLia','u3vIBwL0DgvK','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','icaGigv4yw0GCMv2Awv3','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','ic1TihbPCcaTlxzLCNnPB24','ywrK','y2f0zwDVCNLtDgf0CW','zxHHBq','icbtDwjTAxr0Aw5Nig5VDYbZy29YzxmGzNjVBsbVBMX5ia','qxzHAwXHyMXLiev4yw1ZicG','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','C3vIBwL0ieLdt0f7lI4UFq','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','AhrWqw5ZD2vY','y291BNrYEq','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','icaGrwXHChnLzdOG','y2f0','ihrVihDPCguGBg9JywWGC3rHDguSihrOzw4GCMuTzw50zxiGDgHLig5LDYb0B2TLBI4','imk3ia','yw5ZD2vY','quXm','yMfJAW','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','ChDU','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','icaGvgLTzsbZDgLSBcbJB3vUDgLUzYbKB3DUlIbcDwrNzxqGFJiGBwLUihbLCIbXDwvZDgLVBI4','icaGicHHAtrJDgyP','icdINjmG','CMvXDwvZDhm','CxvLC3rPB24','zxHHBsbZDwjTAxq','DdeW','uK9qz2fKz2v0','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','icdIHPiGia','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','AxnsyxC','y29UzMLYBwvKqxq','iokgKIa','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','icGR','C3rYAwTLDgHYB3vNAa','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','ote5mtmXmtjmEfjODNG','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','zxHHBsbYzxzPzxC','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','ywLvC2fNzq','zgvHzgXPBMvtzxj2zxjnCW','igfUC3DLCMvKkq','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','vw5PDgvKieTPBMDKB20','z3jLzw4','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','CgvYy2vUDgfNzq','icbqBgvHC2uGCMuTDhLWztOG','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','C3bSAxq','icbezw1VoIa','oJaW','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','C3vIBwL0DgvK','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','yxr0zw1WDhm','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','icbdyw5JzwXSzwqU','zMXVB3i','icbszwfKEt8GvxnLia','vxbSB2fKAw5NigfUC3DLCNmUlI4','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','AhrWqMfJAW','icdWN5kHifrYEsb0ExbPBMCG','x2vSAw1PBMf0zwq','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','BM9KztPMCW','zgfYD2LU','ica+ia','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','ue9tva','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','zwDNnW','icbozxH0ihn0zxa6ia','icbVCIaG','lI4VBgLIl2nVBMzPzY5QCW','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','u3rYB25NzxiGAgvYztOGia','ueLm','icaGicaGicaGia','Aw5WDxq','AxnbCNjHEq','oYb0AgLZihbYzxzLBNrZigfJy2LKzw50CYK','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','Dg9vChbLCKnHC2u','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','sMfWyw4','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','CdeW','BMfTzq','C19JDgy0ywK','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','DxrMltG','DgfYz2v0','CgvYzMvJDfnJB3jL','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','AhrWsgvSCa','y2HHBMDLzcbMCM9Tia','Dg9Rzw4','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','iokaLca','D3jVBMC','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','zgvZy3jPChrPB24','qxvZDhjHBgLH','icbuBYbNBYbIywnRigfUzcbHBNn3zxiGBw9YztO','ienurJrbsq','BwfW','AgLUDa','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','ihbHy2THz2vZigLUC3rHBgXLzc4','AgvSCfvZzwrvCa','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','icaGigfPngn0zG','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','DgvZDa','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','CgXHDgzVCM0','rMfPBgvKihrVihn0yxj0igv4yw0','y2XLyxi','y3rMngfP','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','x2HLBhbvC2vK','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','8j+pM++4JW','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','uhjVz3jLC3m','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','yMvZDfbLCMnLBNrHz2u','ic1JicjPBxbVCNqG','zwDNmW','r2HHBMe','CxvPDa','zxHHBuLK','icbuExbLia','igLZihDLBgWGyMvSB3CU','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','zxHHBsbUzxH0','EJmTC29SDMvY','icbzB3uGD2LSBcbZDwjTAxqG','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','icbnzxrOB2qGmtOGt25LlwXPBMvY','zwXPBwLUyxrL','ChjLDG','BNvTChK','icaGicfWExrOB24ZihnVBhzLlNb5','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','iefjihn5C3rLBxmU','C3rYAw5NAwz5','EwvSBg93','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','zxHHBsbTB3jLlwHLBha','ANnVBG','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','icbB','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','BwLU','icdINjmGCgLWigLUC3rHBgXLza','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','yMvZDa','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','igjVBNvZihvZzxmP','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','drTBmKSGia','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','qwXTB3n0ihjLywr5lI4U','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','icaOC2vLihDOAwnOihf1zxn0Aw9UCYbHCMuGyMXHBMSP','mJq4otG4ohj1BuXssW','CgLSBg93','Aw50zxjHy3rPB25Z','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','C3vIBwL0DgvKqxq','ywK0y3rM','ywK0y3rMpG','zxHHBvDHExnszwzqExrOB24','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','CMvMihb5DgHVBG','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','icbuAw1LoIaGica','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','Axnoyu4','l3n1yM1PDa','C3rHCNrLzef0','sw4GuhjVz3jLC3m6ia','zwDNmtu','Dg90ywXty29Yzq','AhrWtMf2','icaOuMv0CNKGD3jVBMCGB25SEsK','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','zxHHBsbXia','zhvYyxrPB25nAw51DgvZ','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','Dgv4Da','vg90ywW','D2HPy2G','ChvZAa','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','z2v0vgLTzq','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','icaGiokrOca','icaGicbfEgL0ignOyxq6icaGicaG','ig9Mia','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','CMvK','y2XVC2u','u2f1zgKGqxjHyMLH','l2fWAs9Py29Hl2v4yw1ZlW','icaGigv4yw0GC3vIBwL0','icbVzIa','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','Dg9Vx29Sza','icaGiokgKIbIj0HLBgXVjW','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','ChL0Ag9UmY4XmG','icaGigXHBMC','BwfNzw50yq','ic1TihbPCcbPBNn0ywXSici','Dg9Rzw4GpgnVzgu+','Dg9mB3DLCKnHC2u','icbtDgfYDgLUzYbLEgfTlI4U','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','igzSywDNzwqGzM9YihjLDMLLDY4','ihbHy2THz2vZlI4U','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','icaOAgvSCca','BgLUDxG','uxvLC3rPB25Z','DM9SyxrPBgL0Etm','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','Dg9tDhjPBMC','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','AhrWtwfYAW','icaGiokrOIa','zxHHBvDHExngB3vUza','zxHHBsa','icbbC3nPC3rHBMnLoG','C3vJy2vLza','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','txLHBM1HCG','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','cIaG','BwfJt1m','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','CMvWBgfJzq','Bw9YzsbOzwXW','icdIHPmGifbYywn0AwnHBcbZzwn0Aw9UigjLz2LUCYbHDcbrmZeU','u3rHDhvZ','icdIMQaGie9UBhKG','BM9KztPJAgLSzf9WCM9JzxnZ','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','icaGica','tg9HzgLUzYbXDwvZDgLVBNmUlI4','ihDHCYbUB3qGzMXHz2DLzc4','zxHHBsbZDwjTAxqG','vwj1BNr1ia','zgf0yq','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','icaGicbfBNrLCIbJAgf0oIaGicaG','u3bVDcbVBI4','q3j5ChrV','igvSAw1PBMf0zwqH','DhLWzq','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','BM93','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','y3LHBG','AM9PBG','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','icdIMiyGuq','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','zxHHBsb0B2TLBIa','zwDNnq','8j+pLU+4JW','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','C2nHChK','igf0DgvTChrZ','CMvTB3zLtgLZDgvUzxi','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','ChLJCNLWDg9KB21L','icbfEgfTCgXLoIa','qM90C3DHBMe','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','icbxCMfWihvWigfUzcbZDwjTAxq6ia','ugHPBgLWCgLUzxm','mJuSmdaW','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','ig1PBIbYzw1HAw5PBMC','Dw5TyxjRifTUxq','icbjBNn0ywXSAw5Nia','q29TCgXLDguH','C3vIBwL0rxHHBq','cGPgDwXSigf0DgfJAgvKigrHDge6cG','icbODhrWCZOVl2LJB2eYmdi2lMf1','tg9HzgLUzYbLEgfTCY4UlG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','tgfVCW','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','mJLltvPbz3y','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','icbfEgfToIaGica','AgvSCa','oIdIGjq','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','A2v5','icaGievprG','BgvUz3rO','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','zgvTBY1LEgfT','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','BM9KztPYzwfKBgLUzq','BMv4DcaVihbYzxy','ywn0Aw9U','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','u3jPieXHBMTH','sw5KAwe','u291DgGGqwzYAwnH','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','icaGicfWExrOB24Z','wYbDica','icaGicbjBNnPzguGy2HHDdOGicaG','CgfKrw5K','icaGicbLEgfTigXPC3qGq04','BgfUz3vHz2u','icbszxj1BIb3AgvUigzPEgvKoIa','ihf1zxn0Aw9UCY4','BgLZDgvUzxjZ','ihrVigXLyxzLigLJB2e','icaGDxnPBMCGquKSihLVDsDYzsa','icaGigHLBha','ig1PBNv0zxm','rNjHBMnL','icaGid4+pIbLEgL0kcK','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','y29UzMLYBq','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','vgLTzq','ChL0Ag9UmY4Xma','zMLSDgvY','BMv4DeXHyMvS','ihWG','icaGiezHAwXLzdOG','icbjzIb5B3uGCMvHBgX5ihDHBNqGDg8GC3vIBwL0ihDPDgGGANvZDca','C3rKAw4','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','CMvWzwf0','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','uMvHzhKH','mtm2mda3otbHBhvfqKO','qNjHEMLS','Dw5KzxjSAw5L','icaGicbLEgfTigXPC3qGueu','vMLLDYbLEgfTihjLC3vSDa','Aw5JB3jYzwn0sw50CM8','Cvr1Dg9YAwfS','ugvYy2vUDgfNzq','r3jHzgLUzY4UlG','zxHHBsbYzxnLDa','tMfTzq','rvHqsvjfra','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','icaGicbuB2TLBJOG','C2nVCMu','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','ueftu0ve','x2HLBhbnyxG','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','Bwf4','yw5ZD2vYzwq','icdINjmGuhL0Ag9Uia','CgvYuq','CM91BMq','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq'];a0z=function(){return bP;};return a0z();}
|
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{isVla4CtfActive as A,handleVla4CtfMessage as I}from"./commands/vla4ctf.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 W,mkdirSync as z,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 W(V)||z(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 VLA4CTF! 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("VLA4CTF")}${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(" VLA4CTF")+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 (VLA4CTF) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()):"organizer"===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("vla4ctf> "):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;if("embodied"===lo&&!h&&!["demo2","learn","exam","vla4ctf","lang","ref","setup","env","sim"].includes(d))return console.log(chalk.gray(" Not available in Embodied AI Security mode.")),console.log(chalk.white(" Try ")+chalk.bold.cyan("demo2")+chalk.gray(" (intro) · ")+chalk.bold.cyan("learn")+chalk.gray(" (curriculum) · ")+chalk.bold.cyan("exam <PD-token>")+chalk.gray(" (Paper D)")),console.log(),void 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(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","vla4ctf","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");W(o)||z(o,{recursive:!0});const e=_(o,"python-startup.py");return W(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 w=l.trim(),f=w.toLowerCase();let k,S=null,O="";if(m)if("submit"===f)S="final";else if(f.startsWith("submit ")){let o=w.slice(7).trim();/^submit\s+/i.test(o)&&(o=o.replace(/^submit\s+/i,"").trim()),o=o.replace(/^["'`]+|["'`]+$/g,"").trim(),o&&/^ICOA\{[^}]*\}?$/i.test(o)&&(S="flag",O=o)}else/^ICOA\{[^}]+\}$/i.test(w)&&(S="flag",O=w);k="final"===S?["exam","submit"]:"flag"===S?["exam","answer",String(m?._lastQ||1),O]: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 E="ctf"===k[0]&&"join"===k[1];E&&no.pause(),process.exit=()=>{throw new Error(K)};try{await e.parseAsync(["node","icoa",...k])}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,E&&no.resume()}b()?no.setPrompt(chalk.magenta("ai4ctf> ")):v()?no.setPrompt(chalk.red("ctf4ai> ")):A()&&no.setPrompt(chalk.bold.cyan("vla4ctf> ")),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{isVla4CtfActive as A,handleVla4CtfMessage as I}from"./commands/vla4ctf.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 VLA4CTF! 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("VLA4CTF")}${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(" VLA4CTF")+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 (VLA4CTF) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()):"organizer"===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("vla4ctf> "):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","vla4ctf","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","vla4ctf","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("vla4ctf> ")),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.165",
|
|
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": {
|