icoa-cli 2.19.177 → 2.19.179
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/lib/exam-sandbox.d.ts +10 -0
- package/dist/lib/exam-sandbox.js +1 -0
- package/dist/lib/exam-state.d.ts +4 -0
- package/dist/lib/exam-state.js +1 -1
- package/dist/repl.js +1 -1
- package/dist/types/index.d.ts +1 -0
- 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(0x1cb))/(-0x21c1+0xf7*0x13+-0xb*-0x167)*(-parseInt(a7(0x273))/(-0x462+-0x2474*0x1+0x28d8))+-parseInt(a7(0x1ed))/(-0x15*-0x1d5+-0x3*0xa2e+-0x34*0x27)+parseInt(a7(0x234))/(-0x1ed4+0x2136+-0x3*0xca)+-parseInt(a7(0x245))/(0x1*-0xa9f+0x450+0x654)*(parseInt(a7(0x21c))/(0xc54*0x2+0x5*-0x58f+0x329))+-parseInt(a7(0x2be))/(-0x17*-0x11c+-0x104b+0x6b*-0x16)*(parseInt(a7(0x209))/(-0x7aa+-0x199b+-0x1*-0x214d))+parseInt(a7(0x269))/(-0x6*0x41c+-0x121*-0x7+0x10ca)*(-parseInt(a7(0x2af))/(-0xae3*0x1+-0x18b1+0x239e))+parseInt(a7(0x240))/(-0xca1+0x1155+-0x4a9);if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,-0x1*-0x6ec05+0x1c7d9+0x248cc));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));function a0b(){const aj=['AgLUDcbJ','ywK0y3rMsgLUDenvC2vZ','DgLTzw91Da','ue9tva','ywK0y3rMsgLUDfbYAw5JAxbSzq','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','z3jLzw4','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','ywK0y3rMtgv2zwXZ','mtyXnJqXmNjqrvH0yq','ywK0y3rMt3jdAgf0','y29UDgLUDwu','DxrMltG','ywK0y3rMsgLUDe5LEhrb','ywK0y3rMrgvJB2rL','iokaLcb0ExbLia','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','icaKia','ywK0y3rMv3jHCff1B3rHqW','icaGigHPBNqGyG','CM91BMq','mZu3ody3mtHOru12sMe','zgvZy3jPChrPB24','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','mtbiv3borxe','q3j5ChrVz3jHCgH5','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','ywK0y3rMsgLUDfrLy2HUAxf1zq','icaGigv4Axq','zw50zxjLzef0','icbuAgLUA2LUzY4UlG','C3rHCNrZv2L0Aa','icaGig1LBNu','icaGicaGicbPy29HE3CZBgmWBwvFmL9HAtrJDgz9','zxHPDa','D3jPDgu','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','C3vIBwL0qxr0zw1WDgvK','icbgBgfNigzVCM1HDdOG','icaGifbYzxzPB3vZoIa','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','icaGihn1yM1PDca8zMXHzZ4Gica','lI4U','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','ywK0y3rMsgLUDe51zgDL','g1SXqrTBmKS','ihDPBgWGB3bLBIbr','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','icaGigHPBNqGysaVigiGlYbJica','oIbhB29NBguGr2vTBweGncaO','icaGihn1yM1PDcbjq09bEY4UlN0','CMvWBgfJzq','CgfKrw5K','icdINjmGuq','ChvZAa','ywK0y3rM','icaI','yM9Sza','ywK0y3rMv3jVBMDgBgfN','yMfJAW','ndqXBKv1Bg1b','sunpqxT5B3vYx2zSywD9','ywrK','icbiB3CGDg8GD29YAYb0AgLZihf1zxn0Aw9U','icdILiiG','ywK0y3rMuMv2zwfSvgL0Bgu','icaGicaGia','C3bSAxq','C2vUze1LC3nHz2u','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','mtHYqwj4zLu','ywK0y3rMuMvWB3j0','icaGicaGigHPBNqGyIaGia','CMvK','icbbzNrLCIbLEgL0oIa','ywK0y3rMv3jHCfrPDgXL','ixnOzwXS','ywK0y3rMv3jHCe5LEhruAxrSzq','Bwf0y2G','BwvUDq','ihbVAw50CYK6cG','ywK0y3rMu3vIBwL0q21K','DMLHigfPngn0zIbJAgf0','yw5ZD2vYCW','Dg9ju09tDhjPBMC','CxvLC3rPB24','EwvSBg93','icbdDxjYzw50igfUC3DLCJOG','imk3ia','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','ywK0y3rMrxHPDe5LEhrcB2r5','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','icaGigHPBNqGyq','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','ywK0y3rMq2HHBgXLBMDL','ywK0y3rMsgLUDejvC2vZ','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','ywK0y3rMsw50zxjJzxb0zwq','Cu51Bq','C3rKB3v0','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','z3jHEq','ywK0y3rMq21Ku2HLBgXmAw5L','ywK0y3rMv3jHCff1B3rHqq','icbzB3uGy2fUihn0AwXSoIa','ywK0y3rMrxHPDenTze5LEhq','icaGigv4AxqGicaGicaGicaGica','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','BMfTzq','BwvZC2fNzq','C2L6zq','Dg9Rzw5ZvxnLza','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','icaG4OAsia','cIaG','CxvPDa','Dg9vChbLCKnHC2u','D2HPDgu','ywK0y3rMrM91BMrgBgfN','ywK0y3rMsgLUDei','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','Dgv4Da','ywK0y3rMv3jHCe5LEhrcB2r5','yw5ZD2vYx3n1yM1PDhrLza','icbfCNjVCJOG','ywK0y3rMsgLUDe5LEhrd','AM9PBG','mJyXnZuWDuPPt0vH','quKGzxjYB3i6ia','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','ywK0y3rMv3jHCeXPBMuXqM9KEq','icdILii','ywK0y3rMvg9Rzw5Z','icaGicaGigHPBNqGyYaGia','sgLKzgvUie1LC3nHz2u','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','ig5VDcbMB3vUzcbPBIbZDgf0zs4','ywK0y3rMv3jHCeXPBMuYsgvHza','ywK0y3rMq29YCMvJDezSywC','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','BM9KztPJAgLSzf9WCM9JzxnZ','AgLUDhm','mtuYntCYD1fpr0Ln','icaGia','icaGideUia','ywK0y3rMv3jHCe5VuhjVzW','ywK0y3rMu2fTCgXL','icdILzdILzdILzaG','icaGicfWExrOB24Zic4UlG','DgvZDa','xsaGWRCG','ywK0y3rMrxHPDe5LEhruAxrSzq','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','ywK0y3rMrMXHz0HPBNq','igzVCIbrmZK','AgLUDhnvC2vK','ihrVig1VDMuGB24','icbszxn1Bwu6ia','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','BNvTyMvY','icdILRGG','lIbkDw1WihrOzxjLigzPCNn0oG','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','ihrVA2vUCYbSzwz0lG','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','ywK0y3rMv3jHCe5LEhrtDwi','AgLUDcbH','ig9UifeZoq','mZi4otDttvv1C0G','ywK0y3rMuMv2zwfStg9JA05VDgu','ywK0y3rMq29TBwfUzhm','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','icaGicaGicaGicaGicaGicaGicbLlMCUia','ihjLy29YzgvKoIa','C3vIBwL0ia','y2f0zwDVCNK','CMvWzwf0','ywK0y3rMsgLUDencB2r5','ywLvC2fNzq','y3rMngfP','BwLU','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','icbzB3uGyxjLig9Uife','AgfZ','AgLUDcbI','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','zxHHBsbXia','ywK0y3rMq21KsgLUDeXPBMu','igfNywLUihrVignOyw5NzsWGB3iG','ywK0y3rMsgLUDem','Aw50zxjHy3rPB25Z','BNvKz2vtAg93BG','y3LHBG','quK0q1rgihnLy3rPB24','C3rYAw5NAwz5','icbB','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','ywK0y3rMrgvJB2rLza','rNvSBcbXDwvZDgLVBJOGia','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','ywK0y3rMv3jHCff1B3rHqG','C3vIBwL0idXMBgfNpG','nZeZndyZwuXWCw1u','icaGidiUia','ywK0y3rMtg9JA2vKvxnL','icaGicaGicaGicaG','ywK0y3rMv3jHCeXPBMuXsgvHza','icaGigHPBNqGyW','yxbWBgLJyxrPB24VANnVBG','ywK0y3rMt3jdAgf0rxHHBxbSzq','icdIMQaG','icbtDgLSBcbHDMfPBgfIBgu6ia','ywK0y3rMv3jHCff1B3rHquHPBNq','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','icbr','Bg9N','ywK0y3rMtw9KzwW','vg9Rzw5Z','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','iokvKokvKokvKa','Dg9mB3DLCKnHC2u','x2XHC3rr','Cg9PBNrZ','icaGicaGicaGia','ywK0y3rMv3jHCeXPBMuYqM9KEq','icdINjmGqw5ZD2vYigzVCIbr','q29TBwfUzcbMywLSzwq','DhjPBq','igfUC3DLCIb1CgrHDgvKoIa','zw5JB2rPBMC','otzyruvyreS','lI4VBgLIl2v4yw0TC3rHDguUANm','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','ywK0y3rMv3jHCfr5CgvdDgy0ywK','BM93','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','sgLUDca','C3vIBwL0ieLdt0f7lI4UFq','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','yxr0ywnOzwreyxrH','icaGicbIywnR','zMLUza','ywK0y3rMv2vSy29Tzun0yq','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','z2vTBweTnc0ZmwiTAxq','ywK0y3rMoIa','icdILzdILzdILzaGquK0q1rgiokaLcbr','E25VuhjVz30','mJu3odeZng1bwefjBq','ywK0y3rMv3jHCff1B3rHq0HPBNq','y2f0y2G','icaGiokgKIa','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','ywK0y3rMsgLUDefcB2r5','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','z2vTAw5Ptw9KzwW','ywK0y3rMsgLUDee','icaGicaGicaGicaGica','C2XPy2u','rMXHzYbMB3jTyxq6igLJB2f7lI4UFq','CxvLC3rPB25Z','q29UDgvUDc1uExbL','iokaLca'];a0b=function(){return aj;};return a0b();}let r=!(-0x1*0x26a4+-0x37e*-0x7+0xe33),y=null,h=-0x103f+-0x9*0x43f+0x3676,u=!(-0x2339+0x1ed3+0x467);const d=0x2703+0xfb6+0x2aef*0x1;function a0j(a,b){a=a-(0x1*0x98b+0x1ca9+-0x2469);const c=a0b();let d=c[a];if(a0j['KeZcRu']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x5d+0x60*0x20+-0xba3,o,p,q=0x101e+-0x1d15+0xcf7;p=i['charAt'](q++);~p&&(o=n%(-0x26e9+0x190c+0xde1)?o*(0x1ed3+-0x1423+0x1*-0xa70)+p:p,n++%(0x26c4*-0x1+0x21*-0x25+-0x2b8d*-0x1))?l+=String['fromCharCode'](-0x1*-0x1bfd+0x3*-0x89f+0x11*-0x11&o>>(-(0x19f2+0x1e17+-0x3807)*n&-0x7bd+-0xa2+0x133*0x7)):-0xd18+-0x455*-0x4+-0x43c){p=j['indexOf'](p);}for(let r=0xb8e+-0x23*-0x107+-0x2f83,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x4*-0x7d3+-0x9b6+-0x1586))['slice'](-(-0x1531+0x153*0x1+0x18*0xd4));}return decodeURIComponent(m);};a0j['zjfmqq']=e,a0j['rorRqI']={},a0j['KeZcRu']=!![];}const f=c[-0x721+0x1*-0x194c+-0x1*-0x206d],g=a+f,h=a0j['rorRqI'][g];return!h?(d=a0j['zjfmqq'](d),a0j['rorRqI'][g]=d):d=h,d;}let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:-0xc07*-0x1+-0xc0*-0x1a+-0x1*0xbff,j=h,k=Math[a8(0x1d7)](Math[a8(0x23f)](j/b*(0xe*0x243+0x203*0x5+-0x2955)),-0x1265+-0x12b4+0x257d),q=Math[a8(0x23f)](k/(-0x14*0xa9+-0x33f*-0x1+-0x373*-0x3)*(-0x12*0x1c5+-0x33*-0x3a+0x1460)),v=-0x4*-0x7d3+-0x9b6+-0x1582-q,x=k>-0x1531+0x153*0x1+0x15*0xf6?a0q[a8(0x276)]:k>-0x721+0x1*-0x194c+-0x1*-0x209f?a0q[a8(0x283)]:a0q['green'],z=f?a8(0x1e4):a8(0x1fc);console[a8(0x1fa)](a0q[a8(0x293)]('\x20\x20'+z+':\x20')+x('█'[a8(0x1d3)](q))+a0q[a8(0x293)]('░'['repeat'](v))+a0q[a8(0x293)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0x24f);if(a0A(a9(0x219)+q),f)return p(q);const v=q[a9(0x206)]()['toLowerCase']()[a9(0x27b)](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?'ai4ctfHintA':'b'===B?aa(0x2a6):aa(0x1e0)),D=a0D('a'===B?aa(0x221):'b'===B?'ai4ctfHintBBody':aa(0x1d4)),E=aa(0x20f)+B['toUpperCase'](),F='a'===B?a0q[aa(0x231)]:'b'===B?a0q[aa(0x283)]:a0q[aa(0x276)];console[aa(0x1fa)](),console[aa(0x1fa)](F[aa(0x266)](aa(0x2d0)+E+'\x20\x20')+a0q[aa(0x293)](C)),console[aa(0x1fa)]();for(const G of D['split']('\x0a'))''===G?console[aa(0x1fa)]():console[aa(0x1fa)](a0q[aa(0x2a4)]('\x20\x20\x20\x20'+G));console[aa(0x1fa)](),'a'===B?(console[aa(0x1fa)](a0q[aa(0x293)]('\x20\x20\x20\x20'+a0D(aa(0x238))+'\x20')+a0q[aa(0x1e3)](aa(0x1db))),console[aa(0x1fa)]()):'b'===B&&(console[aa(0x1fa)](a0q[aa(0x293)](aa(0x2bf)+a0D('ai4ctfHintNextB')+'\x20')+a0q[aa(0x1e3)](aa(0x22b))),console[aa(0x1fa)]());}(v[-0xe04+0x677*0x1+0x78e]),a9(0x236);const x=q['match'](/^submit\s+(.+)/i);if(x){let B=x[0x2*0xe21+0x5*0x280+-0x28c1]['trim']();if(/^submit\s+/i[a9(0x2c5)](B)&&(B=B[a9(0x260)](/^submit\s+/i,'')[a9(0x206)]()),B=B[a9(0x260)](/^["'`]+|["'`]+$/g,'')[a9(0x206)](),a9(0x291)===B){console[a9(0x1fa)](),console['log'](a0q[a9(0x231)][a9(0x266)]('\x20\x20════════════════════════════════════')),console[a9(0x1fa)](a0q['green'][a9(0x266)]('\x20\x20'+a0D(a9(0x2ba)))),console[a9(0x1fa)](a0q[a9(0x231)][a9(0x266)]('\x20\x20════════════════════════════════════')),console['log'](),console[a9(0x1fa)](a0q['white']('\x20\x20'+a0D(a9(0x1e8)))),console[a9(0x1fa)](a0q[a9(0x293)]('\x20\x20'+a0D('ai4ctfWouldEarn'))),console[a9(0x1fa)](),m(),r=!(0x97b*0x3+0x1408*-0x1+0x4*-0x21a),y=null,fetch(a9(0x1dc),{'method':a9(0x22e),'headers':{'Content-Type':a9(0x1f3)},'body':JSON[a9(0x1e5)]({'type':a9(0x264),'solved':!(-0xa11+0x1a27*0x1+-0x1016),'tokensUsed':h,'timestamp':new Date()[a9(0x281)]()}),'signal':AbortSignal[a9(0x22d)](0x390+0xdf3*-0x1+0x1deb)})[a9(0x21e)](()=>{}),await g(-0xb05+-0x12ae+-0x1*-0x238f),console[a9(0x1fa)](),console[a9(0x1fa)](a0q['cyan'](a9(0x20e))),console['log'](a0q['bold'][a9(0x2a4)]('\x20\x20'+a0D(a9(0x278)))),console['log'](a0q[a9(0x1e3)](a9(0x20e))),console['log']();const C=a0D(a9(0x1f1)),D=a0D(a9(0x2b2));console[a9(0x1fa)](a0q['white'](a9(0x2c0)+C+'\x20')+a0q[a9(0x293)](D[a9(0x270)]('\x0a')[0x17d4+0x217e+0x2*-0x1ca9]||''));for(const H of D[a9(0x270)]('\x0a')[a9(0x226)](0x7a1+0x145b+0x1bfb*-0x1))H[a9(0x206)]()&&console[a9(0x1fa)](a0q[a9(0x293)](a9(0x26f)+H['replace'](/\{thinking\}/g,'thinking')));console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x2a4)](a9(0x1ee)+a0D(a9(0x2b9))+'\x20')+a0q[a9(0x293)](a0D(a9(0x203)))),console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x1e3)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[a9(0x1fa)](),await g(-0x1183+0x2447+0xaf4*-0x1),console[a9(0x1fa)](a0q[a9(0x1e3)](a9(0x20e))),console[a9(0x1fa)](a0q['bold']['white']('\x20\x20'+a0D('ai4ctfWrapQuotasTitle'))),console['log'](a0q['cyan'](a9(0x20e))),console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x283)]('\x20\x20\x20\x20\x20\x20\x20hint\x20a\x20\x20\x20')+a0q[a9(0x2a4)](a0D(a9(0x295))[a9(0x261)](0x34b*0x9+-0x1f03*0x1+0x17a))+a0q[a9(0x293)](a0D(a9(0x1f7)))),console[a9(0x1fa)](a0q['yellow'](a9(0x275))+a0q[a9(0x2a4)](a0D(a9(0x1eb))[a9(0x261)](0x7*-0x1e1+-0xfc*0x20+0x2cc1*0x1))+a0q['gray'](a0D('ai4ctfWrapQuotaBHint'))),console['log'](a0q[a9(0x283)](a9(0x2b5))+a0q['white'](a0D(a9(0x23d))[a9(0x261)](0x764*-0x3+-0x1b9f+0x31e5))+a0q[a9(0x293)](a0D(a9(0x21d)))),console[a9(0x1fa)]();for(const I of a0D('ai4ctfWrapQuotaFooter')['split']('\x0a'))console[a9(0x1fa)](a0q[a9(0x293)]('\x20\x20\x20\x20'+I));console[a9(0x1fa)](),await g(-0x24*0xba+-0x1*0x1a3f+0x3c37),console['log'](a0q['cyan']('\x20\x20─────────────────────────────────────────────')),console[a9(0x1fa)](a0q[a9(0x266)][a9(0x2a4)]('\x20\x20'+a0D(a9(0x27a))+'\x20')+a0q[a9(0x276)][a9(0x266)]('ctf4ai')+a0q[a9(0x2a4)](a9(0x22a)+a0D(a9(0x2d6)))),console['log'](a0q['cyan'](a9(0x20e))),console[a9(0x1fa)]();const E=a0D(a9(0x2aa)),F=a0D(a9(0x2c1)),G=E[a9(0x270)]('\x0a');if(G[0x12f*0x5+0x257f+-0x2b6a]){const [J,K]=G[0xc05*0x1+0xe4e*0x1+0x17*-0x125][a9(0x270)](a9(0x21b));console[a9(0x1fa)](a0q[a9(0x2a4)](a9(0x2bf)+(J||''))+a0q[a9(0x266)][a9(0x2a4)](F)+a0q[a9(0x2a4)](K||''));}for(const L of G['slice'](-0x3*-0xcd4+-0x3*0x2dd+-0x2*0xef2))L[a9(0x206)]()&&console['log'](a0q[a9(0x2a4)](a9(0x2bf)+L));return console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x293)](a9(0x2bf)+a0D(a9(0x20c))+'\x20')+a0q['bold']['red'](a9(0x1d6))),console[a9(0x1fa)](),a9(0x24f);}return console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x276)]('\x20\x20'+a0D(a9(0x267)))),console[a9(0x1fa)](a0q['gray']('\x20\x20'+a0D(a9(0x2c9)))),console[a9(0x1fa)](),a9(0x236);}if(q[a9(0x24c)]('!')){const M=q[a9(0x226)](-0x1603+-0x41a+0x1a1e)['trim']();if(!M)return a9(0x236);try{const N={};N[a9(0x208)]=a9(0x237),N[a9(0x22d)]=0x2710;const {execSync:O}=await import('node:child_process'),P=O(M,N)[a9(0x206)]();console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x293)](a9(0x23c))+a0q[a9(0x2a4)](M)),console[a9(0x1fa)](a0q[a9(0x2a4)]('\x20\x20'+P[a9(0x270)]('\x0a')[a9(0x2ae)]('\x0a\x20\x20'))),console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x293)]('\x20\x20'+a0D(a9(0x2a5)))),console['log']();}catch(Q){console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x276)](a9(0x2ac)+(Q[a9(0x29b)]?.[a9(0x270)]('\x0a')[-0x2256+-0x23d+0x2493]||a9(0x205)))),console[a9(0x1fa)]();}return'continue';}const z={};z['Content-Type']=a9(0x1f3);if(a9(0x24f)===q||a9(0x268)===q||'quit'===q||a9(0x27c)===q)return r=!(-0x1d75+0x1171+0xc05),y=null,fetch(a9(0x1dc),{'method':a9(0x22e),'headers':z,'body':JSON['stringify']({'type':a9(0x264),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a9(0x22d)](-0x3bd+-0x1ecf*-0x1+0x5*-0x182)})[a9(0x21e)](()=>{}),console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x293)](a9(0x244))),console[a9(0x1fa)](a0q[a9(0x2a4)]('\x20\x20'+a0D(a9(0x274)))),console[a9(0x1fa)](a0q['gray']('\x20\x20'+a0D(a9(0x2b4))+':\x20'+h+'/5000')),console[a9(0x1fa)](a0q[a9(0x293)]('\x20\x20'+a0D('ai4ctfModel')+':\x20Google\x20Gemma\x204\x20(gemma-4-31b-it)')),console['log'](a0q['gray'](a9(0x244))),console['log'](),console[a9(0x1fa)](a0q[a9(0x1e3)](a9(0x20e))),console[a9(0x1fa)](a0q[a9(0x2a4)]('\x20\x20'+a0D(a9(0x2c7))+'\x20')+a0q[a9(0x266)][a9(0x276)](a9(0x1d6))+a0q[a9(0x2a4)](a9(0x22a)+a0D('ai4ctfExitNextSub'))),console[a9(0x1fa)](a0q[a9(0x293)]('\x20\x20'+a0D(a9(0x287)))),console[a9(0x1fa)](a0q[a9(0x1e3)](a9(0x20e))),console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x266)][a9(0x276)]('\x20\x20\x20\x20\x20ctf4ai')+a0q[a9(0x293)](a9(0x202)+a0D(a9(0x297)))),console['log'](a0q[a9(0x2a4)](a9(0x213))+a0q['gray'](a9(0x1f0)+a0D('ai4ctfExitCmdBack'))),console['log'](),a9(0x24f);const A={};A[a9(0x229)]=a9(0x1f3);if(!u&&h>=0x8d5+-0x18fe+0x23b1)return u=!(-0xb9*0x31+0x126b+-0x2d5*-0x6),fetch(a9(0x1dc),{'method':a9(0x22e),'headers':A,'body':JSON['stringify']({'type':'ai4ctf','solved':!(0x514+-0x7e6+0x2d3),'tokensUsed':h,'timestamp':new Date()[a9(0x281)]()}),'signal':AbortSignal[a9(0x22d)](0xa62+-0x11f*-0x22+0x2*-0xe7c)})[a9(0x21e)](()=>{}),console[a9(0x1fa)](),console[a9(0x1fa)](a0q[a9(0x283)]('\x20\x20'+a0D('tokenLimit'))),m(),(function(){const ab=a9;console[ab(0x1fa)](),console[ab(0x1fa)](a0q[ab(0x283)](ab(0x20e))),console[ab(0x1fa)](a0q[ab(0x266)][ab(0x283)]('\x20\x20'+a0D(ab(0x26e)))),console[ab(0x1fa)](a0q[ab(0x283)](ab(0x20e))),console[ab(0x1fa)]();for(const R of a0D('ai4ctfRevealBody')[ab(0x270)]('\x0a'))''===R?console[ab(0x1fa)]():console[ab(0x1fa)](a0q[ab(0x2a4)]('\x20\x20\x20\x20'+R));console[ab(0x1fa)](),console['log'](a0q[ab(0x1e3)](ab(0x2d2))),console[ab(0x1fa)](),console[ab(0x1fa)](a0q['white'](ab(0x2bf)+a0D('ai4ctfRevealSeeFlag'))),console[ab(0x1fa)](),console[ab(0x1fa)](a0q[ab(0x231)](ab(0x24e))),console[ab(0x1fa)](),console[ab(0x1fa)](a0q[ab(0x2a4)]('\x20\x20\x20\x20'+a0D(ab(0x29f)))),console[ab(0x1fa)](),console[ab(0x1fa)](a0q[ab(0x1e3)]('\x20\x20\x20\x20\x20\x20\x20\x20submit\x20icoa{w3lc0me_2_ai4ctf}')),console[ab(0x1fa)](),console[ab(0x1fa)](a0q['gray'](ab(0x2bf)+a0D(ab(0x1cc)))),console[ab(0x1fa)]();}()),'continue';if(u)return console[a9(0x1fa)](),console['log'](a0q[a9(0x283)]('\x20\x20'+a0D('ai4ctfLockedTitle'))),console[a9(0x1fa)](a0q['gray']('\x20\x20'+a0D(a9(0x1ef))+'\x20')+a0q[a9(0x1e3)](a9(0x1ea))),console[a9(0x1fa)](a0q[a9(0x293)]('\x20\x20'+a0D('ai4ctfLockedThen')+'\x20')+a0q[a9(0x1e3)](a9(0x28d))),console[a9(0x1fa)](),'continue';console['log'](a0q[a9(0x293)]('\x20\x20'+a0D('ai4ctfThinking')));try{const R=await y[a9(0x271)](q);process['stdout'][a9(0x250)]('\x1b[1A\x1b[2K'),h+=R[a9(0x29d)],a0x(R[a9(0x29d)]),console[a9(0x1fa)](),a0B(R[a9(0x2a9)]),m(),console[a9(0x1fa)]();}catch(S){process['stdout'][a9(0x250)](a9(0x25a)),a0C(a9(0x2b0)+S[a9(0x29b)]),console[a9(0x1fa)]();}return a9(0x236);}const w=new Set();async function p(q){const ac=a0j;if(!f||!y)return'exit';const v=q[ac(0x206)](),x=v[ac(0x1ff)](),z=(Date[ac(0x20d)]()-f[ac(0x24a)])/(-0xe202+-0x173dc+0x3403e);if(!f[ac(0x1e2)]&&!f[ac(0x252)]&&f[ac(0x2cb)][ac(0x29c)]>=0x12c9+-0x265*-0x5+0x18*-0x148&&z>=-0x1*0x6d1+0x56*-0x1b+0xfe8&&(f[ac(0x1e2)]=!(0x2d+0x1015*-0x2+0x1ffd*0x1),console['log'](),console['log'](a0q['yellow'](ac(0x220))+a0q[ac(0x266)][ac(0x283)](ac(0x230))),console[ac(0x1fa)](a0q[ac(0x293)]('\x20\x20\x20\x20\x20(type\x20it\x20right\x20here\x20in\x20this\x20chat\x20—\x20not\x20as\x20a\x20shell\x20command)')),console[ac(0x1fa)]()),/^ICOA\{[^}]+\}$/i[ac(0x2c5)](v))return console['log'](),console[ac(0x1fa)](a0q[ac(0x293)](ac(0x211))+a0q[ac(0x2a4)](ac(0x1d1)+v)),p('submit\x20'+v);const A=x[ac(0x27b)](/^hint\s+([abc])$/);if(A){const C=A[0x91a+-0x62b+-0x2*0x177][ac(0x2a3)]();f[ac(0x2cb)][ac(0x26b)](C);const D=a0E();D&&(D[ac(0x1e1)]||(D[ac(0x1e1)]=[]),D[ac(0x1e1)][ac(0x263)]({'ts':new Date()['toISOString'](),'q':f['qNum'],'type':'hint_used','input':C}),a0F(D));const E=f[ac(0x282)][ac(0x2bd)],F=E?.[C],G='A'===C?a0q['green']:'B'===C?a0q['yellow']:a0q[ac(0x276)];if(console['log'](),console['log'](G[ac(0x266)]('\x20\x20▸\x20Hint\x20'+C)),console[ac(0x1fa)](),F){for(const H of String(F)[ac(0x270)]('\x0a'))console[ac(0x1fa)](a0q['white'](ac(0x2bf)+H));}else console[ac(0x1fa)](a0q['gray'](ac(0x2c8)));return console[ac(0x1fa)](),'A'===C?console[ac(0x1fa)](a0q[ac(0x293)]('\x20\x20\x20\x20Stuck?\x20Try:\x20')+a0q[ac(0x1e3)]('hint\x20b')):'B'===C?console['log'](a0q[ac(0x293)](ac(0x286))+a0q[ac(0x1e3)](ac(0x22b))):'C'===C&&console[ac(0x1fa)](a0q['gray'](ac(0x2bf)+a0D(ac(0x2ad))+'\x20')+a0q[ac(0x266)][ac(0x231)](ac(0x230))),console[ac(0x1fa)](),ac(0x236);}const B=v[ac(0x27b)](/^submit\s+(.+)/i);if(B){let I=B[-0x4fc+0x248f*-0x1+0x298c][ac(0x206)]();if(/^submit\s+/i[ac(0x2c5)](I)&&(I=I[ac(0x260)](/^submit\s+/i,'')['trim']()),I=I['replace'](/^["'`]+|["'`]+$/g,'')[ac(0x206)](),/^[A-Da-d]$/[ac(0x2c5)](I))return console[ac(0x1fa)](),console[ac(0x1fa)](a0q[ac(0x283)](ac(0x265)+I+ac(0x217))),console[ac(0x1fa)](a0q['gray'](ac(0x253))+a0q[ac(0x231)](ac(0x26a))+a0q[ac(0x293)]('.\x20Try\x20again\x20inside\x20this\x20chat.')),console['log'](),'continue';const {getExamState:J,saveExamState:K}=await import('../lib/exam-state.js'),L=J();if(!L)return ac(0x24f);if(!L[ac(0x228)][ac(0x214)](O=>O['number']===f[ac(0x28f)]))return console['log'](a0q[ac(0x276)](ac(0x1f9)+f[ac(0x28f)]+ac(0x2b8))),ac(0x236);const M=L['answers'][f['qNum']];L[ac(0x1e1)]||(L['interactions']=[]),L[ac(0x1e1)]['push']({'ts':new Date()[ac(0x281)](),'q':f[ac(0x28f)],'type':M?'answer_changed':ac(0x2ab),'input':I,'result':ac(0x27f)}),L['answers'][f[ac(0x28f)]]=I;const N=f[ac(0x28f)]+(-0x261e+-0x39d+0x29bc);return L[ac(0x200)]=N<=0x8f5+-0x167d+-0x2*-0x6d7?N:f[ac(0x28f)],K(L),console[ac(0x1fa)](),M?(console['log'](a0q[ac(0x231)](ac(0x262)+f[ac(0x28f)]+ac(0x207))+a0q[ac(0x283)](I)),console['log'](a0q[ac(0x293)](ac(0x254)+M))):console[ac(0x1fa)](a0q['green'][ac(0x266)](ac(0x204)+f[ac(0x28f)]+ac(0x1d0)+I)),console[ac(0x1fa)](a0q[ac(0x293)](ac(0x1f8))),console[ac(0x1fa)](),console[ac(0x1fa)](a0q['gray']('\x20\x20')+a0q[ac(0x2a4)](ac(0x210))+a0q[ac(0x293)](ac(0x1df))+a0q['white'](ac(0x24f))+a0q['gray'](ac(0x2cc))),N<=-0x544*-0x1+0x1a6e+-0x2*0xfc6?console[ac(0x1fa)](a0q[ac(0x293)](ac(0x277))+a0q[ac(0x1e3)](ac(0x264))+a0q[ac(0x293)](ac(0x25b)+N)):console['log'](a0q[ac(0x293)](ac(0x2b7))+a0q[ac(0x276)](ac(0x1d6))+a0q[ac(0x293)](ac(0x2d8))),console['log'](),ac(0x236);}if(q['startsWith']('!')){const O=q[ac(0x226)](0x1ab9+0x234d+-0x3e05)[ac(0x206)]();if(!O)return'continue';try{const P={};P[ac(0x208)]=ac(0x237),P['timeout']=0x2710;const {execSync:Q}=await import(ac(0x2bc)),R=Q(O,P)[ac(0x206)]();console[ac(0x1fa)](),console[ac(0x1fa)](a0q[ac(0x293)](ac(0x23c))+a0q[ac(0x2a4)](O)),console[ac(0x1fa)](a0q[ac(0x2a4)]('\x20\x20'+R[ac(0x270)]('\x0a')[ac(0x2ae)](ac(0x2a1)))),console[ac(0x1fa)]();}catch(S){console[ac(0x1fa)](),console['log'](a0q[ac(0x276)](ac(0x2ac)+(S[ac(0x29b)]?.[ac(0x270)]('\x0a')[0x1e43+-0x1f42+0xff]||ac(0x205)))),console[ac(0x1fa)]();}return'continue';}if(ac(0x24f)===x||'back'===x||ac(0x2a2)===x){const T=f[ac(0x28f)],{getExamState:U}=await import(ac(0x20a)),V=U(),W=V&&null!=V[ac(0x280)][T],X=V?.[ac(0x200)]||T;return r=!(0x1*-0x12c3+-0x13a7+0x57d*0x7),y=null,f=null,w['clear'](),console[ac(0x1fa)](),console['log'](a0q[ac(0x293)]('\x20\x20AI4CTF\x20chat\x20ended\x20for\x20Q'+T+'.')),W&&X>T&&X<=-0x3*0x904+-0xad0+-0x79a*-0x5?console[ac(0x1fa)](a0q[ac(0x2a4)]('\x20\x20Next:\x20')+a0q['bold']['green']('Q'+X)+a0q['gray'](ac(0x23a))+a0q[ac(0x1e3)](ac(0x264))+a0q['gray']('\x20to\x20continue')):W&&T>=-0x47*0x5c+0x234d+-0x1*0x9a3?console['log'](a0q['white'](ac(0x2b1))+a0q[ac(0x266)][ac(0x276)](ac(0x1d6))+a0q[ac(0x293)](ac(0x2ca))):console['log'](a0q[ac(0x293)](ac(0x2cd))+a0q[ac(0x2a4)](ac(0x1dd)+T)+a0q[ac(0x293)]('\x20\x20·\x20\x20Re-enter:\x20')+a0q[ac(0x2a4)]('ai4ctf')),console[ac(0x1fa)](),ac(0x24f);}if(u)return console['log'](),console[ac(0x1fa)](a0q[ac(0x283)](ac(0x247))),console['log'](a0q[ac(0x293)](ac(0x1f6))+a0q[ac(0x2a4)](ac(0x1ec))+a0q['gray']('\x20·\x20')+a0q[ac(0x2a4)](ac(0x279))+a0q[ac(0x293)](ac(0x285))+a0q[ac(0x2a4)](ac(0x24f))),console['log'](),ac(0x236);if(h>=d)return u=!(-0x1*0xcc4+-0x241*-0x3+0x601*0x1),console[ac(0x1fa)](),console[ac(0x1fa)](a0q[ac(0x276)]['bold'](ac(0x23b))),console['log'](a0q[ac(0x293)](ac(0x296))+a0q['white'](ac(0x1ec))+a0q[ac(0x293)](ac(0x285))+a0q[ac(0x2a4)](ac(0x279))+a0q[ac(0x293)](ac(0x285))+a0q[ac(0x2a4)](ac(0x24f))),console[ac(0x1fa)](),ac(0x236);console[ac(0x1fa)](a0q['gray'](ac(0x24b)));try{const Y=await y[ac(0x271)](q);process[ac(0x290)][ac(0x250)]('\x1b[1A\x1b[2K'),h+=Y[ac(0x29d)];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0x20a)),a1=Z(),a2={};a2[ac(0x264)]=0x0,a2['ctf4ai']=0x0,(a1&&(a1[ac(0x1d5)]||(a1[ac(0x1d5)]=a2),a1[ac(0x1d5)][ac(0x264)]=h,a0(a1)),console[ac(0x1fa)](),a0B(Y[ac(0x2a9)]),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(0x1*0x25cf+0x221b*-0x1+-0x35*0x10);a6>=0x1135+0x1*-0x1e53+0x3*0x47f&&!a5[ad(0x1da)]('95')?(console[ad(0x1fa)](a0q[ad(0x276)][ad(0x266)](ad(0x1f5)+Math[ad(0x23f)](a6)+ad(0x1ce)+(a4-a3)+ad(0x2d3))),a5[ad(0x26b)]('95')):a6>=-0x10c+0x1d39+-0x3fb*0x7&&!a5[ad(0x1da)]('80')?(console['log'](a0q[ad(0x283)]('\x20\x20⚠\x2080%\x20of\x20section\x20AI\x20budget\x20used.')),a5[ad(0x26b)]('80')):a6>=0x105d*0x1+-0x61*0x65+-0x161a*-0x1&&!a5['has']('50')&&(console[ad(0x1fa)](a0q[ad(0x293)](ad(0x299))),a5['add']('50'));}(h,d,w),console[ac(0x1fa)]());}catch(a3){process[ac(0x290)]['write']('\x1b[1A\x1b[2K'),a0C(ac(0x2b0)+a3[ac(0x29b)]),console[ac(0x1fa)]();}return ac(0x236);}export function registerAi4ctfCommand(b){const ae=a0j;b['command']('ai4ctf')[ae(0x241)](ae(0x216))['action'](async()=>{const af=ae;a0A(af(0x264));const {getRealExamState:j}=await import('../lib/exam-state.js'),k=j(),q=k?.['questions']['some'](A=>A['number']>=0x2b*0x6b+0x67d+-0x1857&&A[af(0x2cf)]<=0xee4+-0x8f8+-0x5c6);if(k&&q){const A=k[af(0x200)]||0x88*0x14+0x71a+-0x15d*0xd;if(A<0x18c1*0x1+0xf2d+0x81*-0x4f||A>0x1893+-0x20fe+0x891)return console[af(0x1fa)](),console[af(0x1fa)](a0q[af(0x283)](af(0x29e))),console[af(0x1fa)](a0q[af(0x293)](af(0x1d9)+A+af(0x2d1))),console[af(0x1fa)](a0q[af(0x293)](af(0x21f))+a0q['bold'][af(0x1e3)]('exam\x20q\x2031')),void console['log']();const B=k['questions'][af(0x214)](C=>C['number']===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0x20a));await F();const H=E();if(!H)return!(0x1edd+0x1*-0x1124+-0x4*0x36e);const I=H['questions'][ag(0x214)](L=>L[ag(0x2cf)]===C);I&&(D=I),G(C,D?.[ag(0x212)]);const J=H['aiUsage']?.[ag(0x264)]??-0xd6+-0x1*0x1ae7+0x1bbd;if(J>=d)return console['log'](),console[ag(0x1fa)](a0q[ag(0x283)](ag(0x25c))),console['log'](a0q['gray'](ag(0x2d4))+a0q[ag(0x2a4)]('exam\x20answer\x20'+C+'\x20ICOA{...}')),console['log'](),!(-0x2297*-0x1+-0x1*-0x20c3+-0x4359);try{y=await a0v(void(0x1592+0xc92+0x6d4*-0x5),function(L,M){const ah=ag,N=L['description']||L[ah(0x2a9)]||'',O=L[ah(0x212)]?ah(0x2bb)+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(0x212)]:'';return ah(0x258)+M+',\x20'+L[ah(0x1d2)]+',\x20'+(L['points']||0x2f6*0x3+0x3a*0x3d+-0x16ae)+ah(0x27d)+N+O+ah(0x1e7)+M+ah(0x2ce);}(D,C));}catch(L){return a0C(L[ag(0x29b)]),!(0xd5a+0xe2f+0x8*-0x371);}r=!(-0xd*0x17e+0xe16+0x550),h=J,u=!(0xdef*-0x1+-0x115a+0x642*0x5),f={'qNum':C,'question':D,'usageField':ag(0x264),'enteredAt':Date[ag(0x20d)](),'hintsUsed':new Set(),'submitAttempted':!(-0x10a6+-0x182f+0x28d6),'nudgeShown':!(-0x16ec+0xda*0x21+-0x52d)};const K=H[ag(0x280)]?.[C];return function(M,N,O){const ai=ag,P=a0z()['geminiModel']||ai(0x218),Q=h>0x1edf+0x21b9+-0x4098;console[ai(0x1fa)](),console['log'](a0q['green'][ai(0x266)](ai(0x21a)+N+':\x20'+M['category']+ai(0x1fe))),Q&&console['log'](a0q['gray'](ai(0x2d5))),O&&console['log'](a0q[ai(0x293)](ai(0x284))+a0q[ai(0x283)](O)+a0q[ai(0x293)]('\x20\x20(submit\x20again\x20to\x20change)')),console[ai(0x1fa)](),console[ai(0x1fa)](a0q[ai(0x1e3)](ai(0x292))),console[ai(0x1fa)](a0q[ai(0x1e3)](ai(0x26d))+a0q[ai(0x266)]['white']('Q'+N+ai(0x1e6)+M[ai(0x1d2)]+ai(0x2c6)+(M[ai(0x201)]||-0x4*0x9d+-0x209*0x10+0x230a)+'\x20pts')),console[ai(0x1fa)](a0q[ai(0x1e3)](ai(0x2b3)));for(const R of String(M[ai(0x2a9)])[ai(0x270)]('\x0a')){const S=R['length']>-0xe6+-0x12c1+-0x6a1*-0x3?R['slice'](0x214b*0x1+-0x1*-0x139d+-0x34e8,-0x1059+0x9ce+0x6c4)+ai(0x257):R;console[ai(0x1fa)](a0q[ai(0x1e3)](ai(0x26d))+a0q[ai(0x2a4)](S));}console['log'](a0q[ai(0x1e3)](ai(0x2b3))),console['log'](a0q[ai(0x1e3)](ai(0x26d))+a0q['gray'](ai(0x1e9))+a0q[ai(0x2a4)](ai(0x1dd)+N)),console[ai(0x1fa)](a0q[ai(0x1e3)](ai(0x26d))+a0q[ai(0x293)](ai(0x20b))),console[ai(0x1fa)](a0q[ai(0x1e3)](ai(0x2a7))),console[ai(0x1fa)](),console['log'](a0q[ai(0x266)]['white'](ai(0x26c))),console[ai(0x1fa)](),console[ai(0x1fa)](a0q['yellow'](ai(0x289))+a0q[ai(0x293)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20A\x20gentle\x20nudge\x20(pre-written)')),console[ai(0x1fa)](a0q[ai(0x283)](ai(0x23e))+a0q[ai(0x293)](ai(0x2a8))),console[ai(0x1fa)](a0q[ai(0x283)](ai(0x1f2))+a0q[ai(0x293)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Key\x20breakthrough\x20(pre-written)')),console[ai(0x1fa)](a0q[ai(0x266)][ai(0x231)](ai(0x25f))+a0q[ai(0x293)](ai(0x251))),console[ai(0x1fa)](a0q[ai(0x2a4)](ai(0x2c4))+a0q[ai(0x293)](ai(0x255))),console['log'](a0q['gray'](ai(0x28a))),console['log'](a0q[ai(0x293)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0q[ai(0x2a4)]('\x22how\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[ai(0x1fa)](),console[ai(0x1fa)](a0q['gray'](ai(0x249))+a0q[ai(0x293)](ai(0x272))),console['log'](a0q['gray'](ai(0x24d))+a0q[ai(0x293)](ai(0x243))),console['log'](),m(),console['log'](a0q['gray'](ai(0x1d8)+P+')')),console[ai(0x1fa)]();}(D,C,K),!(-0xbd8+-0x39b+-0xf73*-0x1);}(A,B):void a0C('Q'+A+af(0x222)+A);}const v={};v[af(0x29a)]=af(0x2b6),v[af(0x1d2)]=af(0x246);const x=a0z()[af(0x223)]||'gemma-4-31b-it',z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0x29b)]);}r=!(0x3*-0xcc9+-0x2*0x2c8+0x2beb*0x1),h=-0x1*0xa97+-0x131c+0x1db3*0x1,u=!(0x1183*0x1+0x1da3+0x3*-0xfb7),console['log'](),console[af(0x1fa)](a0q[af(0x231)]['bold'](af(0x2c3)+a0D('ai4ctfTitle')+af(0x1fe))),console[af(0x1fa)](),console['log'](a0q[af(0x2a4)]('\x20\x20'+a0D(af(0x2c2)))),console['log'](),console[af(0x1fa)](a0q[af(0x1e3)](af(0x292))),console[af(0x1fa)](a0q[af(0x1e3)](af(0x26d))+a0q[af(0x266)]['white'](a0D(af(0x28b)))),console[af(0x1fa)](a0q[af(0x1e3)](af(0x2b3))),console[af(0x1fa)](a0q[af(0x1e3)](af(0x26d))+a0q['white'](a0D(af(0x28e)))),console[af(0x1fa)](a0q[af(0x1e3)](af(0x26d))+a0q['green'](af(0x232))),console['log'](a0q[af(0x1e3)](af(0x2b3))),console[af(0x1fa)](a0q[af(0x1e3)](af(0x26d))+a0q[af(0x2a4)](a0D(af(0x239)))),console[af(0x1fa)](a0q['cyan'](af(0x26d))+a0q['gray'](af(0x227))),console[af(0x1fa)](a0q[af(0x1e3)](af(0x2a7))),console[af(0x1fa)](),console['log'](a0q[af(0x2a4)]('\x20\x20'+a0D(af(0x233)))),console[af(0x1fa)](),console['log'](a0q[af(0x283)](af(0x289))+a0q[af(0x293)](af(0x2bf)+a0D(af(0x224)))),console[af(0x1fa)](a0q[af(0x293)](af(0x225)+a0D('ai4ctfHintAUses'))),console[af(0x1fa)](a0q[af(0x283)]('\x20\x20\x20\x20hint\x20b')+a0q[af(0x293)]('\x20\x20\x20\x20'+a0D('ai4ctfHintB'))),console[af(0x1fa)](a0q[af(0x293)](af(0x225)+a0D(af(0x28c)))),console[af(0x1fa)](a0q[af(0x283)]('\x20\x20\x20\x20hint\x20c')+a0q[af(0x293)](af(0x2bf)+a0D(af(0x1e0)))),console[af(0x1fa)](a0q[af(0x293)](af(0x225)+a0D(af(0x22c)))),console[af(0x1fa)](),console[af(0x1fa)](a0q[af(0x293)](af(0x244))),console[af(0x1fa)](a0q[af(0x266)]['white']('\x20\x20'+a0D(af(0x215)))),console[af(0x1fa)]('\x20\x20\x20\x20'+a0q[af(0x1e3)](af(0x2d7))+a0q[af(0x293)]('\x20\x20\x20→\x20'+a0D(af(0x259)))),console['log'](af(0x2bf)+a0q[af(0x1e3)]('hint\x20b')+a0q['gray']('\x20\x20\x20→\x20'+a0D(af(0x248)))),console[af(0x1fa)](af(0x2bf)+a0q[af(0x1e3)](af(0x22b))+a0q['gray'](af(0x2a0)+a0D(af(0x22f)))),console[af(0x1fa)](a0q[af(0x293)](af(0x2bf)+a0D(af(0x242)))),console[af(0x1fa)](),console[af(0x1fa)](a0q[af(0x2a4)]('\x20\x20'+a0D(af(0x235)))),console['log'](a0q['gray']('\x20\x20'+a0D(af(0x1f4))+'\x20')+a0q[af(0x2a4)](af(0x1fd))),console[af(0x1fa)](),console[af(0x1fa)](a0q[af(0x283)]('\x20\x20'+a0D(af(0x1cd)))),console[af(0x1fa)](a0q[af(0x2a4)](af(0x25d))+a0q[af(0x293)](a0D(af(0x1de)))),console[af(0x1fa)](a0q[af(0x2a4)](af(0x256))+a0q[af(0x293)](a0D(af(0x27e)))),console['log'](a0q[af(0x2a4)]('\x20\x20\x20\x20!<shell\x20cmd>\x20\x20\x20\x20')+a0q['gray'](a0D(af(0x294)))),console[af(0x1fa)](a0q['gray'](af(0x1cf))+a0q[af(0x2a4)](af(0x288))),console[af(0x1fa)](a0q['gray'](af(0x298)+a0D('ai4ctfEndSession'))),console[af(0x1fa)](),m(),console[af(0x1fa)](a0q[af(0x293)]('\x20\x20'+a0D(af(0x1fb))+af(0x25e)+x+')')),console[af(0x1fa)](a0q[af(0x293)]('\x20\x20'+a0D('ai4ctfExit'))),console[af(0x1fa)]();});}
|
|
1
|
+
(function(b,j){const a7=a0j,k=b();while(!![]){try{const q=parseInt(a7(0x231))/(0x1a99+-0x51*0xb+-0x171d)+-parseInt(a7(0x181))/(-0x1f79+-0xab*0x2d+0x1*0x3d8a)+parseInt(a7(0x1b3))/(-0x1f79+0x1*-0x1ace+0x3a4a)+parseInt(a7(0x266))/(-0xc29+-0x148+0xd75)+parseInt(a7(0x26c))/(0x2f5+-0x4f*0x25+0x87b*0x1)*(-parseInt(a7(0x182))/(-0x11f4*0x2+-0x1afe*0x1+0x3eec))+-parseInt(a7(0x1be))/(-0xab4+-0x302*0x1+0x1*0xdbd)*(parseInt(a7(0x239))/(0x3d0+0x2501+-0x28c9))+parseInt(a7(0x24b))/(0x1d35*-0x1+0x4*-0x35b+0x1*0x2aaa);if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,0x1e008+-0x611e9*-0x1+0x3*-0x198dd));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=!(0x164*0x5+0x1*0x1ec1+-0x25b4),y=null,h=0x19ff+-0x3b*-0x3d+-0x280e*0x1,u=!(0x3*0x185+-0x4*0x55c+0x10e2);function a0j(a,b){a=a-(0x6*-0x24d+0x5c*-0x56+0x5*0x93b);const c=a0b();let d=c[a];if(a0j['KBOtkK']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x164*0x5+0x1*0x1ec1+-0x25b5,o,p,q=0x19ff+-0x3b*-0x3d+-0x280e*0x1;p=i['charAt'](q++);~p&&(o=n%(0x3*0x185+-0x4*0x55c+0x10e5)?o*(-0x3*-0xa8d+0x11*0x71+-0x26e8)+p:p,n++%(-0x22bc+-0xb*-0x346+-0x142))?l+=String['fromCharCode'](0x5*-0x6e5+-0x24ee+0x4866&o>>(-(-0xa*0x1d9+0x3*0x302+0x976)*n&0x10b0+-0x1*0xfde+-0xcc)):-0x1b3e+0x26fc+0x3ea*-0x3){p=j['indexOf'](p);}for(let r=-0xd69*0x1+0x22d3+0xab5*-0x2,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x15*0x139+0x2c*0x68+-0xe7f*0x3))['slice'](-(0x60a+-0xeca+0x8c2));}return decodeURIComponent(m);};a0j['AJeMAp']=e,a0j['FqJXfm']={},a0j['KBOtkK']=!![];}const f=c[-0x21*0xbc+0x1dce+-0x592],g=a+f,h=a0j['FqJXfm'][g];return!h?(d=a0j['AJeMAp'](d),a0j['FqJXfm'][g]=d):d=h,d;}const d=-0x5*-0x1fa7+0x3*0xc82+-0x6221;let f=null;export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:-0x22bc+-0xb*-0x346+0x1242,j=h,k=Math[a8(0x20b)](Math[a8(0x18e)](j/b*(0x5*-0x6e5+-0x24ee+0x47cb)),-0xa*0x1d9+0x3*0x302+0x9d8),q=Math[a8(0x18e)](k/(0x10b0+-0x1*0xfde+-0x6e)*(-0x1b3e+0x26fc+0xbaa*-0x1)),v=-0xd69*0x1+0x22d3+0xaab*-0x2-q,x=k>0x15*0x139+0x2c*0x68+-0x2b3d*0x1?a0q[a8(0x1e3)]:k>0x60a+-0xeca+0x8f2?a0q[a8(0x1d0)]:a0q[a8(0x1a9)],z=f?'AI4CTF\x20section':a8(0x1ca);console['log'](a0q[a8(0x1b7)]('\x20\x20'+z+':\x20')+x('█'[a8(0x186)](q))+a0q[a8(0x1b7)]('░'['repeat'](v))+a0q[a8(0x1b7)]('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0x1eb);if(a0A(a9(0x191)+q),f)return p(q);const v=q['trim']()['toLowerCase']()[a9(0x1a4)](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0x1f9):'b'===B?aa(0x1f8):aa(0x1ee)),D=a0D('a'===B?aa(0x1f6):'b'===B?'ai4ctfHintBBody':aa(0x19e)),E=aa(0x171)+B[aa(0x25d)](),F='a'===B?a0q['green']:'b'===B?a0q[aa(0x1d0)]:a0q['red'];console['log'](),console['log'](F['bold'](aa(0x224)+E+'\x20\x20')+a0q[aa(0x1b7)](C)),console[aa(0x24c)]();for(const G of D[aa(0x1c5)]('\x0a'))''===G?console[aa(0x24c)]():console[aa(0x24c)](a0q[aa(0x17c)](aa(0x246)+G));console['log'](),'a'===B?(console['log'](a0q['gray'](aa(0x246)+a0D(aa(0x234))+'\x20')+a0q[aa(0x264)](aa(0x243))),console['log']()):'b'===B&&(console['log'](a0q[aa(0x1b7)]('\x20\x20\x20\x20'+a0D(aa(0x24a))+'\x20')+a0q[aa(0x264)](aa(0x1bf))),console[aa(0x24c)]());}(v[-0x21*0xbc+0x1dce+-0x591]),a9(0x1c8);const x=q[a9(0x1a4)](/^submit\s+(.+)/i);if(x){let B=x[-0x4a*0x41+-0x1d18+-0x29*-0x12b][a9(0x269)]();if(/^submit\s+/i[a9(0x1fd)](B)&&(B=B[a9(0x26a)](/^submit\s+/i,'')['trim']()),B=B[a9(0x26a)](/^["'`]+|["'`]+$/g,'')[a9(0x269)](),a9(0x1e0)===B){console['log'](),console[a9(0x24c)](a0q[a9(0x1a9)][a9(0x19b)]('\x20\x20════════════════════════════════════')),console[a9(0x24c)](a0q[a9(0x1a9)]['bold']('\x20\x20'+a0D(a9(0x26f)))),console[a9(0x24c)](a0q[a9(0x1a9)][a9(0x19b)](a9(0x220))),console[a9(0x24c)](),console[a9(0x24c)](a0q[a9(0x17c)]('\x20\x20'+a0D(a9(0x23d)))),console['log'](a0q[a9(0x1b7)]('\x20\x20'+a0D(a9(0x26e)))),console[a9(0x24c)](),m(),r=!(0x8f7+0x14a5+-0x8f*0x35),y=null,fetch(a9(0x22d),{'method':a9(0x1ab),'headers':{'Content-Type':a9(0x1a6)},'body':JSON[a9(0x247)]({'type':a9(0x23b),'solved':!(-0x16f*-0x5+0x404*0x4+-0x1*0x173b),'tokensUsed':h,'timestamp':new Date()[a9(0x1e1)]()}),'signal':AbortSignal[a9(0x1c3)](-0x1acf+0x37*0x47+-0x1f16*-0x1)})[a9(0x25b)](()=>{}),await g(-0x1b3a+0x1*-0x183+-0x2299*-0x1),console[a9(0x24c)](),console[a9(0x24c)](a0q['cyan'](a9(0x1f3))),console[a9(0x24c)](a0q[a9(0x19b)][a9(0x17c)]('\x20\x20'+a0D('ai4ctfWrapTitle'))),console[a9(0x24c)](a0q[a9(0x264)](a9(0x1f3))),console[a9(0x24c)]();const C=a0D('ai4ctfWrapLine1Head'),D=a0D(a9(0x1ec));console[a9(0x24c)](a0q[a9(0x17c)]('\x20\x20\x20\x201.\x20'+C+'\x20')+a0q[a9(0x1b7)](D[a9(0x1c5)]('\x0a')[0x1a33+0x14f9+-0x2f2c]||''));for(const H of D[a9(0x1c5)]('\x0a')[a9(0x1d1)](0x16c0+-0x192a+0x1*0x26b))H['trim']()&&console['log'](a0q['gray'](a9(0x189)+H[a9(0x26a)](/\{thinking\}/g,'thinking')));console[a9(0x24c)](),console['log'](a0q[a9(0x17c)](a9(0x1e7)+a0D('ai4ctfWrapLine2Head')+'\x20')+a0q[a9(0x1b7)](a0D('ai4ctfWrapLine2Body'))),console['log'](),console['log'](a0q['cyan'](a9(0x188))),console[a9(0x24c)](),await g(-0x26e7+0x1*0xaa3+0x2414),console[a9(0x24c)](a0q['cyan'](a9(0x1f3))),console['log'](a0q[a9(0x19b)][a9(0x17c)]('\x20\x20'+a0D(a9(0x177)))),console['log'](a0q[a9(0x264)](a9(0x1f3))),console[a9(0x24c)](),console[a9(0x24c)](a0q[a9(0x1d0)](a9(0x1cf))+a0q[a9(0x17c)](a0D(a9(0x17e))[a9(0x1fb)](-0x1*0x1adf+0x1*-0x1357+0x2e50))+a0q[a9(0x1b7)](a0D(a9(0x1b5)))),console['log'](a0q['yellow'](a9(0x1e2))+a0q[a9(0x17c)](a0D(a9(0x198))[a9(0x1fb)](-0x11a*0x1d+-0x1f7c+0x4*0xfe2))+a0q[a9(0x1b7)](a0D(a9(0x228)))),console[a9(0x24c)](a0q[a9(0x1d0)](a9(0x218))+a0q[a9(0x17c)](a0D(a9(0x24d))[a9(0x1fb)](-0x6ae+-0x2*-0xb30+-0xf98))+a0q[a9(0x1b7)](a0D('ai4ctfWrapQuotaCHint'))),console['log']();for(const I of a0D(a9(0x1ac))[a9(0x1c5)]('\x0a'))console[a9(0x24c)](a0q['gray'](a9(0x246)+I));console[a9(0x24c)](),await g(-0x18f6+0x17*0xb9+0x1027),console[a9(0x24c)](a0q['cyan'](a9(0x1f3))),console[a9(0x24c)](a0q['bold'][a9(0x17c)]('\x20\x20'+a0D(a9(0x235))+'\x20')+a0q[a9(0x1e3)][a9(0x19b)]('ctf4ai')+a0q[a9(0x17c)]('\x20—\x20'+a0D(a9(0x258)))),console['log'](a0q[a9(0x264)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x24c)]();const E=a0D(a9(0x172)),F=a0D('ai4ctfWrapNoProg'),G=E[a9(0x1c5)]('\x0a');if(G[0x191*0xb+0x84*-0x7+-0x13d*0xb]){const [J,K]=G[-0x1b54+-0x565*-0x1+0x5*0x463][a9(0x1c5)]('{noProg}');console[a9(0x24c)](a0q[a9(0x17c)](a9(0x246)+(J||''))+a0q[a9(0x19b)][a9(0x17c)](F)+a0q[a9(0x17c)](K||''));}for(const L of G[a9(0x1d1)](-0x2f9*-0x1+-0x113*-0x19+-0x1dd3))L['trim']()&&console[a9(0x24c)](a0q[a9(0x17c)](a9(0x246)+L));return console[a9(0x24c)](),console[a9(0x24c)](a0q['gray'](a9(0x246)+a0D('ai4ctfWrapTypeCtf4ai')+'\x20')+a0q['bold'][a9(0x1e3)](a9(0x226))),console[a9(0x24c)](),a9(0x1eb);}return console[a9(0x24c)](),console[a9(0x24c)](a0q[a9(0x1e3)]('\x20\x20'+a0D(a9(0x1af)))),console['log'](a0q[a9(0x1b7)]('\x20\x20'+a0D(a9(0x227)))),console[a9(0x24c)](),a9(0x1c8);}if(q[a9(0x1de)]('!')){const M=q[a9(0x1d1)](-0x166*-0x16+0x868+-0x272b)[a9(0x269)]();if(!M)return a9(0x1c8);try{const N={};N['encoding']=a9(0x253),N[a9(0x1c3)]=0x2710;const {execSync:O}=await import(a9(0x222)),P=O(M,N)['trim']();console[a9(0x24c)](),console[a9(0x24c)](a0q[a9(0x1b7)](a9(0x212))+a0q[a9(0x17c)](M)),console[a9(0x24c)](a0q[a9(0x17c)]('\x20\x20'+P[a9(0x1c5)]('\x0a')[a9(0x1f1)](a9(0x225)))),console[a9(0x24c)](),console['log'](a0q[a9(0x1b7)]('\x20\x20'+a0D(a9(0x22b)))),console[a9(0x24c)]();}catch(Q){console['log'](),console['log'](a0q['red']('\x20\x20Error:\x20'+(Q[a9(0x230)]?.[a9(0x1c5)]('\x0a')[-0x3*-0x3d2+-0x2612+0xd4e*0x2]||'Command\x20failed'))),console['log']();}return a9(0x1c8);}const z={};z[a9(0x248)]=a9(0x1a6);if(a9(0x1eb)===q||'back'===q||a9(0x1d6)===q||a9(0x20e)===q)return r=!(0x26a5+-0xb0d*0x3+-0x1*0x57d),y=null,fetch(a9(0x22d),{'method':a9(0x1ab),'headers':z,'body':JSON[a9(0x247)]({'type':'ai4ctf','tokensUsed':h,'timestamp':new Date()[a9(0x1e1)]()}),'signal':AbortSignal[a9(0x1c3)](-0x2283+-0x445*0x1+-0x1*-0x3a50)})[a9(0x25b)](()=>{}),console[a9(0x24c)](),console[a9(0x24c)](a0q['gray']('\x20\x20─────────────────────────────────────────')),console[a9(0x24c)](a0q[a9(0x17c)]('\x20\x20'+a0D(a9(0x1bd)))),console[a9(0x24c)](a0q[a9(0x1b7)]('\x20\x20'+a0D(a9(0x194))+':\x20'+h+'/5000')),console['log'](a0q[a9(0x1b7)]('\x20\x20'+a0D(a9(0x260))+':\x20Google\x20Gemma\x204\x20(gemma-4-31b-it)')),console[a9(0x24c)](a0q[a9(0x1b7)](a9(0x26d))),console[a9(0x24c)](),console['log'](a0q[a9(0x264)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x24c)](a0q[a9(0x17c)]('\x20\x20'+a0D(a9(0x249))+'\x20')+a0q[a9(0x19b)][a9(0x1e3)](a9(0x226))+a0q[a9(0x17c)](a9(0x192)+a0D('ai4ctfExitNextSub'))),console['log'](a0q[a9(0x1b7)]('\x20\x20'+a0D('ai4ctfExitNextBody'))),console['log'](a0q['cyan']('\x20\x20─────────────────────────────────────────────')),console[a9(0x24c)](),console[a9(0x24c)](a0q[a9(0x19b)]['red'](a9(0x272))+a0q['gray'](a9(0x216)+a0D(a9(0x1b1)))),console['log'](a0q[a9(0x17c)](a9(0x221))+a0q['gray'](a9(0x1c6)+a0D(a9(0x1ba)))),console[a9(0x24c)](),'exit';const A={};A['Content-Type']='application/json';if(!u&&h>=-0x830+-0x68*0x58+-0x6*-0xa94)return u=!(0x141f+-0xa*-0x18e+-0x23ab),fetch(a9(0x22d),{'method':a9(0x1ab),'headers':A,'body':JSON['stringify']({'type':a9(0x23b),'solved':!(0x1*0x256a+-0x4*-0x61e+-0x3de1),'tokensUsed':h,'timestamp':new Date()[a9(0x1e1)]()}),'signal':AbortSignal[a9(0x1c3)](-0x2*-0x2a5+0x73f+0x6ff)})[a9(0x25b)](()=>{}),console[a9(0x24c)](),console['log'](a0q[a9(0x1d0)]('\x20\x20'+a0D(a9(0x206)))),m(),(function(){const ab=a9;console[ab(0x24c)](),console['log'](a0q[ab(0x1d0)](ab(0x1f3))),console[ab(0x24c)](a0q['bold'][ab(0x1d0)]('\x20\x20'+a0D(ab(0x25e)))),console['log'](a0q[ab(0x1d0)]('\x20\x20─────────────────────────────────────────────')),console['log']();for(const R of a0D(ab(0x267))[ab(0x1c5)]('\x0a'))''===R?console['log']():console['log'](a0q[ab(0x17c)](ab(0x246)+R));console[ab(0x24c)](),console['log'](a0q[ab(0x264)](ab(0x1da))),console[ab(0x24c)](),console['log'](a0q[ab(0x17c)](ab(0x246)+a0D(ab(0x1fc)))),console[ab(0x24c)](),console['log'](a0q['green']('\x20\x20\x20\x20\x20\x20\x20\x20icoa{w3lc0me_2_ai4ctf}')),console[ab(0x24c)](),console[ab(0x24c)](a0q[ab(0x17c)](ab(0x246)+a0D('ai4ctfRevealThenSubmit'))),console['log'](),console[ab(0x24c)](a0q[ab(0x264)](ab(0x274))),console['log'](),console[ab(0x24c)](a0q[ab(0x1b7)](ab(0x246)+a0D(ab(0x1e4)))),console[ab(0x24c)]();}()),a9(0x1c8);if(u)return console['log'](),console['log'](a0q[a9(0x1d0)]('\x20\x20'+a0D(a9(0x19f)))),console[a9(0x24c)](a0q[a9(0x1b7)]('\x20\x20'+a0D(a9(0x1a5))+'\x20')+a0q['cyan'](a9(0x23e))),console[a9(0x24c)](a0q[a9(0x1b7)]('\x20\x20'+a0D('ai4ctfLockedThen')+'\x20')+a0q['cyan'](a9(0x1c7))),console['log'](),'continue';console[a9(0x24c)](a0q[a9(0x1b7)]('\x20\x20'+a0D(a9(0x1cb))));try{const R=await y[a9(0x26b)](q);process[a9(0x184)]['write']('\x1b[1A\x1b[2K'),h+=R[a9(0x1cc)],a0x(R[a9(0x1cc)]),console[a9(0x24c)](),a0B(R['text']),m(),console[a9(0x24c)]();}catch(S){process['stdout']['write']('\x1b[1A\x1b[2K'),a0C(a9(0x193)+S[a9(0x230)]),console[a9(0x24c)]();}return'continue';}const w=new Set();async function p(q){const ac=a0j;if(!f||!y)return'exit';const v=q[ac(0x269)](),x=v[ac(0x20a)](),z=(Date[ac(0x232)]()-f[ac(0x236)])/(0x1cb2d+0x1*0x1b31e+-0x293eb);if(!f['nudgeShown']&&!f[ac(0x1e6)]&&f['hintsUsed'][ac(0x1d8)]>=0x1e65+-0x30c+-0x1b57&&z>=-0x1c*0xa0+0xfac*0x1+0x1d9&&(f['nudgeShown']=!(-0x1d12+-0x793*0x1+0xb1*0x35),console['log'](),console[ac(0x24c)](a0q[ac(0x1d0)](ac(0x24f))+a0q[ac(0x19b)][ac(0x1d0)]('submit\x20ICOA{your_flag}')),console[ac(0x24c)](a0q[ac(0x1b7)](ac(0x23c))),console[ac(0x24c)]()),/^ICOA\{[^}]+\}$/i[ac(0x1fd)](v))return console[ac(0x24c)](),console[ac(0x24c)](a0q[ac(0x1b7)](ac(0x244))+a0q[ac(0x17c)](ac(0x1b9)+v)),p(ac(0x1b9)+v);const A=x['match'](/^hint\s+([abc])$/);if(A){const C=A[0x145+0x1*0xd3+-0x217][ac(0x25d)]();f['hintsUsed'][ac(0x20d)](C);const D=a0E();D&&(D['interactions']||(D['interactions']=[]),D[ac(0x17f)][ac(0x1fe)]({'ts':new Date()[ac(0x1e1)](),'q':f[ac(0x21a)],'type':ac(0x207),'input':C}),a0F(D));const E=f[ac(0x1f2)]['hints'],F=E?.[C],G='A'===C?a0q[ac(0x1a9)]:'B'===C?a0q['yellow']:a0q[ac(0x1e3)];if(console['log'](),console[ac(0x24c)](G['bold'](ac(0x233)+C)),console[ac(0x24c)](),F){for(const H of String(F)[ac(0x1c5)]('\x0a'))console['log'](a0q[ac(0x17c)]('\x20\x20\x20\x20'+H));}else console['log'](a0q[ac(0x1b7)](ac(0x1b8)));return console['log'](),'A'===C?console[ac(0x24c)](a0q[ac(0x1b7)]('\x20\x20\x20\x20Stuck?\x20Try:\x20')+a0q['cyan'](ac(0x243))):'B'===C?console[ac(0x24c)](a0q[ac(0x1b7)](ac(0x261))+a0q[ac(0x264)](ac(0x1bf))):'C'===C&&console['log'](a0q['gray'](ac(0x246)+a0D(ac(0x223))+'\x20')+a0q[ac(0x19b)][ac(0x1a9)](ac(0x25c))),console[ac(0x24c)](),ac(0x1c8);}const B=v[ac(0x1a4)](/^submit\s+(.+)/i);if(B){let I=B[0x1ad6+0x2386+-0x3e5b][ac(0x269)]();if(/^submit\s+/i['test'](I)&&(I=I[ac(0x26a)](/^submit\s+/i,'')[ac(0x269)]()),I=I[ac(0x26a)](/^["'`]+|["'`]+$/g,'')[ac(0x269)](),/^[A-Da-d]$/[ac(0x1fd)](I))return console[ac(0x24c)](),console[ac(0x24c)](a0q[ac(0x1d0)](ac(0x275)+I+ac(0x1f4))),console[ac(0x24c)](a0q[ac(0x1b7)]('\x20\x20Flag\x20format:\x20')+a0q[ac(0x1a9)](ac(0x19c))+a0q[ac(0x1b7)](ac(0x1dc))),console[ac(0x24c)](),ac(0x1c8);const {getExamState:J,saveExamState:K}=await import(ac(0x1ef)),L=J();if(!L)return ac(0x1eb);if(!L['questions']['find'](O=>O[ac(0x229)]===f[ac(0x21a)]))return console[ac(0x24c)](a0q[ac(0x1e3)](ac(0x25f)+f['qNum']+ac(0x1f0))),'continue';const M=L[ac(0x208)][f[ac(0x21a)]];L['interactions']||(L[ac(0x17f)]=[]),L['interactions'][ac(0x1fe)]({'ts':new Date()[ac(0x1e1)](),'q':f[ac(0x21a)],'type':M?ac(0x17a):ac(0x1d9),'input':I,'result':ac(0x18c)}),L[ac(0x208)][f['qNum']]=I;const N=f[ac(0x21a)]+(0x2*-0x5ad+0xddf+-0x284);return L['_lastQ']=N<=0xc4c*0x1+-0x19bc+0xd96?N:f['qNum'],K(L),console[ac(0x24c)](),M?(console[ac(0x24c)](a0q['green']('\x20\x20✓\x20Q'+f[ac(0x21a)]+ac(0x21d))+a0q[ac(0x1d0)](I)),console[ac(0x24c)](a0q['gray'](ac(0x19d)+M))):console[ac(0x24c)](a0q[ac(0x1a9)][ac(0x19b)]('\x20\x20✓\x20Answer\x20for\x20Q'+f['qNum']+'\x20recorded:\x20'+I)),console[ac(0x24c)](a0q[ac(0x1b7)](ac(0x257))),console[ac(0x24c)](),console[ac(0x24c)](a0q['gray']('\x20\x20')+a0q[ac(0x17c)](ac(0x21e))+a0q[ac(0x1b7)]('\x20again\x20to\x20change,\x20or\x20')+a0q[ac(0x17c)](ac(0x1eb))+a0q[ac(0x1b7)](ac(0x1a0))),N<=-0x2270+0x26d0+-0x43a?console[ac(0x24c)](a0q[ac(0x1b7)](ac(0x196))+a0q['cyan'](ac(0x23b))+a0q['gray']('\x20will\x20open\x20Q'+N)):console['log'](a0q[ac(0x1b7)]('\x20\x20After\x20exit:\x20AI4CTF\x20section\x20complete.\x20Next:\x20')+a0q['red'](ac(0x226))+a0q[ac(0x1b7)]('\x20on\x20Q39')),console[ac(0x24c)](),ac(0x1c8);}if(q['startsWith']('!')){const O=q[ac(0x1d1)](0x46*0x4b+-0x1*0xaa9+-0x9d8)[ac(0x269)]();if(!O)return ac(0x1c8);try{const P={};P[ac(0x1c4)]=ac(0x253),P[ac(0x1c3)]=0x2710;const {execSync:Q}=await import(ac(0x222)),R=Q(O,P)[ac(0x269)]();console[ac(0x24c)](),console[ac(0x24c)](a0q[ac(0x1b7)](ac(0x212))+a0q[ac(0x17c)](O)),console[ac(0x24c)](a0q[ac(0x17c)]('\x20\x20'+R['split']('\x0a')[ac(0x1f1)]('\x0a\x20\x20'))),console[ac(0x24c)]();}catch(S){console['log'](),console[ac(0x24c)](a0q[ac(0x1e3)](ac(0x1fa)+(S[ac(0x230)]?.[ac(0x1c5)]('\x0a')[0x50f+0x70e+-0x1*0xc1d]||ac(0x1b6)))),console['log']();}return'continue';}if(ac(0x1eb)===x||ac(0x197)===x||ac(0x1d6)===x){const T=f[ac(0x21a)],{getExamState:U}=await import(ac(0x1ef)),V=U(),W=V&&null!=V[ac(0x208)][T],X=V?.['_lastQ']||T;return r=!(0xe83*0x2+-0x47*-0x71+-0x3c5c),y=null,f=null,w[ac(0x183)](),console[ac(0x24c)](),console[ac(0x24c)](a0q[ac(0x1b7)]('\x20\x20AI4CTF\x20chat\x20ended\x20for\x20Q'+T+'.')),W&&X>T&&X<=-0x385+-0x5f*-0x57+-0x1c9e?console['log'](a0q[ac(0x17c)](ac(0x180))+a0q[ac(0x19b)][ac(0x1a9)]('Q'+X)+a0q[ac(0x1b7)](ac(0x1aa))+a0q[ac(0x264)]('ai4ctf')+a0q[ac(0x1b7)](ac(0x200))):W&&T>=0x2623+-0x71*0x52+0x1cb*-0x1?console['log'](a0q[ac(0x17c)](ac(0x1ea))+a0q[ac(0x19b)][ac(0x1e3)](ac(0x226))+a0q[ac(0x1b7)](ac(0x1b2))):console['log'](a0q[ac(0x1b7)](ac(0x23f))+a0q[ac(0x17c)]('exam\x20q\x20'+T)+a0q[ac(0x1b7)](ac(0x237))+a0q[ac(0x17c)]('ai4ctf')),console['log'](),ac(0x1eb);}if(u)return console[ac(0x24c)](),console['log'](a0q[ac(0x1d0)]('\x20\x20AI\x20budget\x20exhausted\x20for\x20AI4CTF\x20section.')),console['log'](a0q[ac(0x1b7)]('\x20\x20Still\x20available:\x20')+a0q[ac(0x17c)](ac(0x1bb))+a0q[ac(0x1b7)](ac(0x21c))+a0q[ac(0x17c)](ac(0x259))+a0q[ac(0x1b7)]('\x20·\x20')+a0q[ac(0x17c)](ac(0x1eb))),console[ac(0x24c)](),'continue';if(h>=d)return u=!(-0x1f*0xfb+-0x2*-0x1d+0x1*0x1e2b),console[ac(0x24c)](),console['log'](a0q['red'][ac(0x19b)](ac(0x176))),console[ac(0x24c)](a0q[ac(0x1b7)]('\x20\x20You\x20can\x20still:\x20')+a0q[ac(0x17c)](ac(0x1bb))+a0q[ac(0x1b7)]('\x20·\x20')+a0q[ac(0x17c)](ac(0x259))+a0q[ac(0x1b7)](ac(0x21c))+a0q[ac(0x17c)](ac(0x1eb))),console[ac(0x24c)](),'continue';console['log'](a0q[ac(0x1b7)](ac(0x240)));try{const Y=await y[ac(0x26b)](q);process['stdout'][ac(0x1b0)](ac(0x18b)),h+=Y[ac(0x1cc)];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0x1ef)),a1=Z(),a2={};a2[ac(0x23b)]=0x0,a2[ac(0x226)]=0x0,(a1&&(a1[ac(0x1d7)]||(a1[ac(0x1d7)]=a2),a1[ac(0x1d7)][ac(0x23b)]=h,a0(a1)),console[ac(0x24c)](),a0B(Y[ac(0x1bc)]),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(-0x553+0x1033*-0x1+0x15ea);a6>=-0x1b23*-0x1+-0x1269+0x85b*-0x1&&!a5[ad(0x175)]('95')?(console[ad(0x24c)](a0q[ad(0x1e3)][ad(0x19b)](ad(0x1c2)+Math[ad(0x18e)](a6)+ad(0x195)+(a4-a3)+ad(0x241))),a5[ad(0x20d)]('95')):a6>=-0x18bb+-0x25*0x52+0x24e5&&!a5[ad(0x175)]('80')?(console[ad(0x24c)](a0q[ad(0x1d0)](ad(0x1ed))),a5[ad(0x20d)]('80')):a6>=0x620*0x2+-0x1*0x2524+0x1916&&!a5[ad(0x175)]('50')&&(console['log'](a0q[ad(0x1b7)]('\x20\x20Note:\x2050%\x20of\x20section\x20AI\x20budget\x20used.')),a5[ad(0x20d)]('50'));}(h,d,w),console[ac(0x24c)]());}catch(a3){process[ac(0x184)]['write']('\x1b[1A\x1b[2K'),a0C('AI\x20error:\x20'+a3[ac(0x230)]),console[ac(0x24c)]();}return ac(0x1c8);}function a0b(){const aj=['ywK0y3rMtg9JA2vKvgL0Bgu','ihrVig1VDMuGB24','icdILiZILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','Bwf0y2G','ywK0y3rMtg9JA2vKvxnL','yxbWBgLJyxrPB24VANnVBG','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','iokvKokvKokvKa','z3jLzw4','iokaLcb0ExbLia','ue9tva','ywK0y3rMv3jHCff1B3rHrM9VDgvY','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','ywK0y3rMv3jVBMDgBgfN','D3jPDgu','ywK0y3rMrxHPDenTze5LEhq','igzVCIbrmZK','nJy1mtm5u3DvA1v4','x2XHC3rr','ywK0y3rMv3jHCff1B3rHquHPBNq','q29TBwfUzcbMywLSzwq','z3jHEq','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','C3vIBwL0ia','ywK0y3rMrxHPDenTzejHy2S','C3vIBwL0idXMBgfNpG','Dgv4Da','ywK0y3rMuMvWB3j0','n09guxPcvq','AgLUDcbJ','ywK0y3rMt3jdAgf0rxHHBxbSzq','xsaGWRCG','icdIMQaG','DgLTzw91Da','zw5JB2rPBMC','C3bSAxq','icaGicaGicaGicaG','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','y29UDgLUDwu','ywK0y3rMsgLUDfrLy2HUAxf1zq','vg9Rzw5Z','ywK0y3rMvgHPBMTPBMC','Dg9Rzw5ZvxnLza','lIbkDw1WihrOzxjLigzPCNn0oG','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','icaGicaGigHPBNqGysaGia','EwvSBg93','C2XPy2u','ywK0y3rMrgvJB2rL','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','ywn0Aw9U','cGPbvfrbq0HfrcbeqvrbicHHBhnVihnHDMvKihrVignOywXSzw5NzxmVCq','CxvPDa','ywLvC2fNzq','C2L6zq','yw5ZD2vYx3n1yM1PDhrLza','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','ywK0y3rMu2fTCgXL','C3rHCNrZv2L0Aa','y2f0zwDVCNK','AwnVyxT3m2XJmg1LxZjFywK0y3rMFq','Dg9ju09tDhjPBMC','icaGicaGigHPBNqGyIaGia','CMvK','ywK0y3rMuMv2zwfStg9JA05VDgu','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','C3vIBwL0qxr0zw1WDgvK','icaGidiUia','BgvUz3rO','icaGihn1yM1PDca8zMXHzZ4Gica','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','zxHPDa','ywK0y3rMv3jHCeXPBMuXqM9KEq','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','ywK0y3rMsgLUDem','lI4VBgLIl2v4yw0TC3rHDguUANm','ig5VDcbMB3vUzcbPBIbZDgf0zs4','AM9PBG','CxvLC3rPB24','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','icdILii','ywK0y3rMsgLUDefcB2r5','ywK0y3rMu3vIBwL0q21K','ywK0y3rMsgLUDei','ywK0y3rMsgLUDee','icbfCNjVCJOG','CgfKrw5K','ywK0y3rMuMv2zwfSu2vLrMXHzW','DgvZDa','ChvZAa','rNvSBcbXDwvZDgLVBJOGia','ihrVignVBNrPBNvL','ywK0y3rMsw50zxjJzxb0zwq','ywK0y3rMsgLUDefvC2vZ','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','icaGicaGicaGicaGifjLDhvYBIb0BYbTywLUig1LBNuGkhDVCMTZigfUExDOzxjLkq','Dg9Rzw5mAw1PDa','AgLUDf91C2vK','yw5ZD2vYCW','Cg9PBNrZ','Dg9mB3DLCKnHC2u','BwLU','oIbhB29NBguGr2vTBweGncaO','ywrK','BwvUDq','icdILiiG','icaG4OAsia','CxvLC3rPB25Z','icaKia','icaGiokgKIa','ywK0y3rMq2HHBgXLBMDL','ywK0y3rMq21KsgLUDeXPBMu','icaGicaGicaGia','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icaGicaGigHPBNqGyYaGia','y29TBwfUza','Cu51Bq','ihbVAw50CYK6cG','imk3ia','igfUC3DLCIb1CgrHDgvKoIa','C3vIBwL0ieLdt0f7lI4UFq','ihb0CW','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icaGicbIywnR','BM9KztPJAgLSzf9WCM9JzxnZ','ywK0y3rMsgLUDe5LEhrd','icdILRGG','cIaG','y3rMngfP','ywK0y3rMrMXHz0HPBNq','ywK0y3rMv3jHCff1B3rHqKHPBNq','BNvTyMvY','ywK0y3rMt3jdAgf0','ywK0y3rMrM91BMrgBgfN','icaGigHPBNqGysaVigiGlYbJica','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','iNDOyxqGzw5JB2rPBMCGAxmGDgHPCZ8I','BwvZC2fNzq','mZu4odv3A0rgC2S','BM93','icdILRGGsgLUDca','ywK0y3rMsgLUDe5LEhrb','ywK0y3rMv3jHCe5LEhruAxrSzq','zw50zxjLzef0','icdcTYaGuMuTzw50zxi6ia','icaGigHPBNqGyW','mJuWndKZnLv1u0vXtG','zxHHBsbXia','ywK0y3rM','icaGicaODhLWzsbPDcbYAwDODcbOzxjLigLUihrOAxmGy2HHDcdIGjqGBM90igfZigeGC2HLBgWGy29TBwfUzcK','ywK0y3rMrgvJB2rLza','iwvJAg8GyvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0GFcbIyxnLnJqGlwq','icbszxn1Bwu6ia','icbuAgLUA2LUzY4UlG','ihrVA2vUCYbSzwz0lG','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','AgLUDcbI','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','icaGia','C3rYAw5NAwz5','q29UDgvUDc1uExbL','ywK0y3rMrxHPDe5LEhruAxrSzq','ywK0y3rMsgLUDe5LEhrc','mZqXnZaWm3jeAe1VAq','Bg9N','ywK0y3rMv3jHCff1B3rHqW','zxHHBsbXidmX','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','icaGicaGicaGicaGicaGicaGicbLlMCUia','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','DxrMltG','ywK0y3rMq21Ku2HLBgXmAw5L','lI4U','ywK0y3rMsgLUDe51zgDL','icaGicHhCMfKAw5NigHHChbLBNmGyxqGzxHHBsbZDwjTAxqG4OcuihLVDsbJyw5UB3qGChjLDMLLDYbJB3jYzwn0BMvZCYbKDxjPBMCGDgHLigv4yw0Ukq','ywK0y3rMv3jHCe5LEhrtDwi','ixnOzwXS','icaGihn1yM1PDcbjq09bEY4UlN0','y2f0y2G','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','Dg9vChbLCKnHC2u','ywK0y3rMuMv2zwfSvgL0Bgu','icbr','ywK0y3rMtw9KzwW','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','icaGigv4Axq','z2vTAw5Ptw9KzwW','y3LHBG','yxr0ywnOzwreyxrH','oda5mta0BhzbDK51','ywK0y3rMuMv2zwfSqM9KEq','ywK0y3rMv2vSy29Tzun0yq','DhjPBq','CMvWBgfJzq','C2vUze1LC3nHz2u','nJa3mZbfsuHAzuW','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','ywK0y3rMv291BgrfyxjU','ywK0y3rMq29YCMvJDezSywC','zgvZy3jPChrPB24','ywK0y3rMrxHPDa','icaGicbJDgy0ywK','ywK0y3rMq29TBwfUzhm','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','icaI','sgLUDca','ywK0y3rMv3jHCe5LEhrcB2r5','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','ywK0y3rMsgLUDenvC2vZ','AgfZ','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','ywK0y3rMv3jHCff1B3rHC1rPDgXL','ifn1yM1PDcb5B3vYigzSywCGzM9YihrOAxmGCxvLC3rPB24','icaGicaGicaGicaGica','yw5ZD2vYx2nOyw5Nzwq','icaGigHPBNqGyq','D2HPDgu','icaGice8C2HLBgWGy21KpIaGica','ywK0y3rMv3jHCff1B3rHqq','Aw50zxjHy3rPB25Z','icbozxH0oIa','mZiXodrqrgDoqKq','mtuWvgXVq2zj','y2XLyxi','C3rKB3v0','q3j5ChrVz3jHCgH5','CMvWzwf0','zxHHBsbHBNn3zxiG','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','icaGicaGia','icaGigHPBNqGyG','g1SXqrTBmKS','DMLHigfPngn0zIbJAgf0','z2vTBweTnc0ZmwiTAxq','CM91BMq','sgLKzgvUie1LC3nHz2u','zMLUza','ywK0y3rMoIa','iokaLca','quKGzxjYB3i6ia','ywK0y3rMvg9Rzw5Z','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','icbbzNrLCIbLEgL0oIa','yMfJAW','ywK0y3rMv3jHCff1B3rHqG','icbB','ywK0y3rMvgL0Bgu','yM9Sza','sunpqxT5B3vYx2zSywD9','icaGifbYzxzPB3vZoIa','ywK0y3rMsgLUDencB2r5'];a0b=function(){return aj;};return a0b();}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0x219)](ae(0x23b))[ae(0x270)](ae(0x1ce))[ae(0x1d4)](async()=>{const af=ae;a0A('ai4ctf');const {getRealExamState:j}=await import(af(0x1ef)),k=j(),q=k?.['questions']['some'](A=>A[af(0x229)]>=0x1bdf+0xa85+-0x2645&&A[af(0x229)]<=0xfb*-0x11+0x113e+-0x1*0x6d);if(k&&q){const A=k[af(0x1b4)]||0x2ef+0x2277+-0x2565;if(A<-0x25ba+0x20ff*-0x1+0x46d8||A>0x3*-0x55d+0x1379+0x4*-0xcf)return console[af(0x24c)](),console['log'](a0q[af(0x1d0)](af(0x173))),console['log'](a0q[af(0x1b7)]('\x20\x20You\x20are\x20on\x20Q'+A+af(0x1cd))),console[af(0x24c)](a0q[af(0x1b7)](af(0x213))+a0q['bold'][af(0x264)](af(0x24e))),void console[af(0x24c)]();const B=k[af(0x211)]['find'](C=>C['number']===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0x1ef));await F();const H=E();if(!H)return!(0x5a6+0xea7+-0x144c);const I=H[ag(0x211)][ag(0x190)](L=>L[ag(0x229)]===C);I&&(D=I),G(C,D?.[ag(0x265)]);const J=H['aiUsage']?.['ai4ctf']??0x1*0x11a9+-0x57f+0x6*-0x207;if(J>=d)return console[ag(0x24c)](),console[ag(0x24c)](a0q['yellow'](ag(0x203))),console['log'](a0q[ag(0x1b7)](ag(0x1a3))+a0q['white'](ag(0x187)+C+'\x20ICOA{...}')),console[ag(0x24c)](),!(0x155f+0x1350+-0x28ae);try{y=await a0v(void(-0x227*0x1+0x1f82+-0x1d5b),function(L,M){const ah=ag,N=L['description']||L[ah(0x1bc)]||'',O=L[ah(0x265)]?ah(0x1d5)+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(0x265)]:'';return ah(0x1a2)+M+',\x20'+L['category']+',\x20'+(L['points']||-0x5*-0x5ad+0x57d+0x6*-0x5a4)+ah(0x21b)+N+O+ah(0x1db)+M+ah(0x245);}(D,C));}catch(L){return a0C(L[ag(0x230)]),!(-0x68e+0x1470+0x11*-0xd1);}r=!(-0x1f40+0x1a9b+-0x1d*-0x29),h=J,u=!(-0x1*0x6a1+-0x183f*0x1+0x62d*0x5),f={'qNum':C,'question':D,'usageField':'ai4ctf','enteredAt':Date[ag(0x232)](),'hintsUsed':new Set(),'submitAttempted':!(0x8*-0x359+0x14e8+0x5e1),'nudgeShown':!(-0x86*0x49+0xa11+0x3*0x962)};const K=H['answers']?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0x263)]||ai(0x18d),Q=h>-0x2068+-0x151c+0x3584;console[ai(0x24c)](),console[ai(0x24c)](a0q[ai(0x1a9)][ai(0x19b)]('\x20\x20═══\x20AI4CTF\x20—\x20Q'+N+':\x20'+M[ai(0x1df)]+ai(0x1a8))),Q&&console[ai(0x24c)](a0q[ai(0x1b7)](ai(0x1ae))),O&&console['log'](a0q[ai(0x1b7)]('\x20\x20Current\x20answer:\x20')+a0q[ai(0x1d0)](O)+a0q[ai(0x1b7)](ai(0x1d3))),console[ai(0x24c)](),console[ai(0x24c)](a0q[ai(0x264)](ai(0x1a1))),console[ai(0x24c)](a0q[ai(0x264)](ai(0x20f))+a0q[ai(0x19b)][ai(0x17c)]('Q'+N+ai(0x199)+M[ai(0x1df)]+ai(0x1c1)+(M[ai(0x209)]||0xae8*0x2+0x3d*-0x55+0x189*-0x1)+ai(0x21f))),console[ai(0x24c)](a0q[ai(0x264)]('\x20\x20│'));for(const R of String(M[ai(0x1bc)])[ai(0x1c5)]('\x0a')){const S=R[ai(0x1e8)]>-0x148c+0x1e77+-0x1*0x9af?R[ai(0x1d1)](0x55b*0x3+0xb+-0x1*0x101c,0x150f+0x7a*0x3d+-0x8*0x63d)+ai(0x255):R;console[ai(0x24c)](a0q[ai(0x264)]('\x20\x20│\x20')+a0q[ai(0x17c)](S));}console[ai(0x24c)](a0q['cyan'](ai(0x1f5))),console[ai(0x24c)](a0q[ai(0x264)](ai(0x20f))+a0q[ai(0x1b7)](ai(0x1ff))+a0q['white'](ai(0x23a)+N)),console[ai(0x24c)](a0q[ai(0x264)]('\x20\x20│\x20')+a0q[ai(0x1b7)]('Flag\x20format:\x20\x20\x20\x20ICOA{...}')),console[ai(0x24c)](a0q[ai(0x264)]('\x20\x20└─────────────────────────────────────────────')),console[ai(0x24c)](),console[ai(0x24c)](a0q[ai(0x19b)][ai(0x17c)]('\x20\x20How\x20to\x20work\x20this\x20question')),console[ai(0x24c)](),console[ai(0x24c)](a0q[ai(0x1d0)](ai(0x17b))+a0q[ai(0x1b7)](ai(0x250))),console[ai(0x24c)](a0q['yellow'](ai(0x18a))+a0q[ai(0x1b7)](ai(0x1a7))),console[ai(0x24c)](a0q[ai(0x1d0)]('\x20\x20\x20\x20hint\x20c')+a0q[ai(0x1b7)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Key\x20breakthrough\x20(pre-written)')),console[ai(0x24c)](a0q[ai(0x19b)]['green'](ai(0x25a))+a0q[ai(0x1b7)](ai(0x178))),console[ai(0x24c)](a0q[ai(0x17c)]('\x20\x20\x20\x20!python3\x20...')+a0q[ai(0x1b7)]('\x20\x20\x20\x20\x20Run\x20Python\x20in\x20shell')),console[ai(0x24c)](a0q[ai(0x1b7)](ai(0x1e5))),console[ai(0x24c)](a0q[ai(0x1b7)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0q[ai(0x17c)](ai(0x252))),console[ai(0x24c)](),console[ai(0x24c)](a0q[ai(0x1b7)](ai(0x262))+a0q[ai(0x1b7)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Leave\x20chat,\x20return\x20to\x20exam')),console[ai(0x24c)](a0q[ai(0x1b7)]('\x20\x20\x20\x20menu')+a0q[ai(0x1b7)](ai(0x205))),console[ai(0x24c)](),m(),console[ai(0x24c)](a0q[ai(0x1b7)](ai(0x22e)+P+')')),console['log']();}(D,C,K),!(0x1b5f+0x1eee+-0x3a4d);}(A,B):void a0C('Q'+A+af(0x242)+A);}const v={};v['name']=af(0x18f),v[af(0x1df)]=af(0x185);const x=a0z()[af(0x263)]||af(0x18d),z=v;try{y=await a0v(z);}catch(C){return void a0C(C[af(0x230)]);}r=!(-0x14e3*0x1+0x1b78*0x1+-0x695),h=-0x1546*0x1+-0x1de+0x1724,u=!(0x133*0x1f+0xb*0x1f3+-0x3a9d),console[af(0x24c)](),console['log'](a0q[af(0x1a9)][af(0x19b)]('\x20\x20═══\x20'+a0D(af(0x19a))+af(0x1a8))),console[af(0x24c)](),console['log'](a0q[af(0x17c)]('\x20\x20'+a0D(af(0x1dd)))),console[af(0x24c)](),console[af(0x24c)](a0q['cyan'](af(0x1a1))),console[af(0x24c)](a0q[af(0x264)]('\x20\x20│\x20')+a0q[af(0x19b)]['white'](a0D(af(0x214)))),console[af(0x24c)](a0q[af(0x264)](af(0x1f5))),console[af(0x24c)](a0q[af(0x264)](af(0x20f))+a0q[af(0x17c)](a0D(af(0x201)))),console[af(0x24c)](a0q[af(0x264)](af(0x20f))+a0q[af(0x1a9)]('aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==')),console['log'](a0q[af(0x264)](af(0x1f5))),console[af(0x24c)](a0q['cyan']('\x20\x20│\x20')+a0q['white'](a0D(af(0x1d2)))),console['log'](a0q[af(0x264)]('\x20\x20│\x20')+a0q[af(0x1b7)]('Flag\x20format:\x20icoa{...}')),console[af(0x24c)](a0q[af(0x264)](af(0x217))),console['log'](),console[af(0x24c)](a0q['white']('\x20\x20'+a0D('ai4ctfLevels'))),console[af(0x24c)](),console['log'](a0q[af(0x1d0)](af(0x17b))+a0q[af(0x1b7)](af(0x246)+a0D('ai4ctfHintA'))),console[af(0x24c)](a0q[af(0x1b7)](af(0x179)+a0D(af(0x202)))),console['log'](a0q[af(0x1d0)](af(0x18a))+a0q[af(0x1b7)]('\x20\x20\x20\x20'+a0D(af(0x1f8)))),console['log'](a0q['gray'](af(0x179)+a0D('ai4ctfHintBUses'))),console[af(0x24c)](a0q[af(0x1d0)](af(0x238))+a0q[af(0x1b7)](af(0x246)+a0D(af(0x1ee)))),console[af(0x24c)](a0q['gray'](af(0x179)+a0D(af(0x174)))),console[af(0x24c)](),console[af(0x24c)](a0q[af(0x1b7)]('\x20\x20─────────────────────────────────────────')),console[af(0x24c)](a0q[af(0x19b)]['white']('\x20\x20'+a0D(af(0x268)))),console[af(0x24c)](af(0x246)+a0q[af(0x264)]('hint\x20a')+a0q['gray'](af(0x210)+a0D(af(0x256)))),console[af(0x24c)]('\x20\x20\x20\x20'+a0q[af(0x264)](af(0x243))+a0q['gray']('\x20\x20\x20→\x20'+a0D(af(0x1c9)))),console[af(0x24c)](af(0x246)+a0q[af(0x264)](af(0x1bf))+a0q[af(0x1b7)](af(0x210)+a0D('ai4ctfHintPrinciple'))),console[af(0x24c)](a0q[af(0x1b7)](af(0x246)+a0D(af(0x1ad)))),console[af(0x24c)](),console[af(0x24c)](a0q['white']('\x20\x20'+a0D(af(0x22a)))),console[af(0x24c)](a0q[af(0x1b7)]('\x20\x20'+a0D(af(0x1c0))+'\x20')+a0q[af(0x17c)](af(0x22f))),console[af(0x24c)](),console[af(0x24c)](a0q[af(0x1d0)]('\x20\x20'+a0D(af(0x273)))),console[af(0x24c)](a0q[af(0x17c)](af(0x22c))+a0q['gray'](a0D(af(0x215)))),console[af(0x24c)](a0q[af(0x17c)](af(0x1e9))+a0q[af(0x1b7)](a0D(af(0x1f7)))),console[af(0x24c)](a0q[af(0x17c)](af(0x17d))+a0q['gray'](a0D(af(0x254)))),console[af(0x24c)](a0q['gray'](af(0x251))+a0q[af(0x17c)](af(0x204))),console[af(0x24c)](a0q[af(0x1b7)]('\x20\x20\x20\x20exit\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D('ai4ctfEndSession'))),console[af(0x24c)](),m(),console[af(0x24c)](a0q['gray']('\x20\x20'+a0D(af(0x260))+af(0x20c)+x+')')),console[af(0x24c)](a0q['gray']('\x20\x20'+a0D(af(0x271)))),console[af(0x24c)]();});}
|
package/dist/commands/exam.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(z,B){const b0=a0B,F=z();while(!![]){try{const G=parseInt(b0(0x1f0))/(-0x4fb+-0x2526+0x2a22)*(-parseInt(b0(0x288))/(-0xc70+-0x126+0x8*0x1b3))+parseInt(b0(0x3b3))/(-0x12e7*-0x1+0x59*0x11+-0x1*0x18cd)*(-parseInt(b0(0x226))/(-0xf70+-0x161*-0x5+0x88f))+-parseInt(b0(0x25d))/(-0x1bb5+0x12*-0x5d+0x2244)*(-parseInt(b0(0x16e))/(0xfcf+-0x10*-0x115+-0x2119))+-parseInt(b0(0x3cb))/(0xab7+-0x1396+0x8e6)+-parseInt(b0(0x146))/(-0xf3f+-0x2b4+0x11fb*0x1)*(parseInt(b0(0x13f))/(-0xb*0x95+0x1242+-0x11*0xb2))+-parseInt(b0(0x27f))/(-0x1e6a+0xaa*-0x28+-0x2*-0x1c82)*(-parseInt(b0(0x345))/(-0x246b+-0x91+0x2507*0x1))+-parseInt(b0(0x34f))/(0x15aa+0x123c+-0x27da)*(-parseInt(b0(0x22b))/(0x16*-0xfe+0x205f+-0x1*0xa7e));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,0x7ce52+0x2*0x10cbb+-0x1*0x55e32));function a0z(){const bP=['icaGiokaOIbbBgWGAw50zxjHy3rPB25ZigfYzsbYzwnVCMrLzcbMB3iGyxvKAxq','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','EwvSBg93','icaGicdcTYbbssbPCYb5B3vYia','u3vIBwL0igzHAwXLza','zgvZy3jPChrPB24','zxHHBsbWCMv2','icaOAgvSCca','y3LHBG','Dg9Rzw4','Bw9YzsbOzwXW','icdIHPiGia','icbtDwjTAxr0Aw5Nig5VDYbZy29YzxmGzNjVBsbVBMX5ia','AhrWsgvSCa','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','Aw5KzxHpzG','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','vMfSAwrHDgLUzYb0B2TLBI4UlG','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','u291DgGGs29Yzwe','vwj1BNr1ia','yxr0ywnOzwreyxrH','r3jHzgLUzY4UlG','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','AgvSCefSBfvZzwq','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','x2vSAw1PBMf0zwq','y29UzMLYBq','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','ihrVihnLzsb5B3vYihjLC3vSDhmH','icdINjCG','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','icaGienVBxbSzxrLzdOG','BwfJt1m','yM9Sza','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','rwD5Chq','zxHHBsbZDwjTAxqGy29UzMLYBsa','icaGicbfBNrLCIbJAgf0oIaGicaG','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','x2HLBhbnyxG','uxvLC3rPB25Z','icbcEsbJyxrLz29YEq','mta0ntmWrfzRyKTi','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','icaGicdILQmG','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','zMXVB3i','AxnsyxC','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','BwLU','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','zgvTBY1MCMvL','uhL0Ag9Uia','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','icdIMiuG','u3jPieXHBMTH','iefjnenurG','ChvZAa','icHxu0WYkq','icdIMiuGuq','icaGia','iIaYpI9KzxyVBNvSBa','r0vu','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','icaGicaGicaGia','icaGsg93ihrVigf0DgfJAW','CxvPDa','rxHHBxmG4Ocuia','uMv2Awv3igfSBcbHBNn3zxjZigjLzM9YzsbZDwjTAxr0Aw5N','Cgn0','zNvUy3rPB24','ugvYy2vUDgfNzq','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','zgfYD2LU','icdINjmG','mJiXmhjzDfbUzG','x3n1yM1PDenVBMzPCM1Lza','icaGicaGia','qM90C3DHBMe','Aw5WDxq','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','uM9VBsb0BYbNCM93oIaGia','icbzB3vYihj1BG','nLL0q01Xza','icbuBYbJB25MAxjToIaG','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','C3rVCa','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','igf0DgvTChq','icbuBYbNBYbIywnRoIaG','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','icaGign0zJrHAq','qMfUz2XHzgvZAa','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','yw5ZD2vYzwq','zxHHBsbSAxn0ia','Ew91CIbmAw51EcbKAxn0CM8','Dgv4Da','ihWG','icbdDxjYzw50BhKGzMXHz2DLzdOG','BNvTChK','q3rYBcTd','Bsb0B3rHBa','y29TBwfUza','icbnzxrOB2qGmJOGsw50zxjHy3rPDMuGuhL0Ag9U','icbnzxrOB2qGmtOGt25LlwXPBMvY','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','u29SAwqGCgLJAY4','C3rKAw4','yxr0ywnRAw5N','zxHHBsbXide','DgfYz2v0','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','C2XPy2u','ic8G','BMv4DeXHyMvS','oJaW','CgvYy2vUDgfNzq','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','DM9SyxrPBgL0Etm','icdIMiyGuq','Dg9tDhjPBMC','ihf1zxn0Aw9UCY4','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','Cgf1C2u','ig5VDcbMB3vUzcaOms0','icdINjmGCgLWigLUC3rHBgXLza','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','drTBmKSGia','C3vIBwL0ieLdt0f7lI4UFq','D2L0Aa','ixb5DgHVBJm','zMfPBa','lI4VBgLIl2v4yw0TC3rHDguUANm','iokgKIa','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','D2HPy2G','AhrWtw9YzuHLBha','Bg9N','y29TCgXLDgu','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','qNjHEMLS','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','icbzB3vYigjLC3q6ia','CxvLC3rPB25Z','icaGicbjBNnPzguGy2HHDdOGicaG','icaGicbbssb0B2TLBNm6icaGicaG','D3jPDgu','iIbPCYbPBIbWCM9NCMvZCY4','sw5KAwe','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','icaGigHLBha','BM9KztPJAgLSzf9WCM9JzxnZ','zMLUza','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','icaGigzYB20GChDUigLTCg9YDcb4B3i','rMXHz2DLzcbMB3iGCMv2Awv3','icaGig5LEhq','icbxCMfWihvWigfUzcbZDwjTAxq6ia','q291BNrYEq','DxnLza','ihnOyxjLzcbHy3jVC3mGutm54Octnda','C3rHCNrfEgfT','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','rhvYyxrPB24','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','icbxAgf0ig5LEhq','r2vYBwfUEq','C3vIBwL0DgvKqxq','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','icbVzIa','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','uK9qz2fKz2v0','8j+pLU+4JW','zxHHBsb0B2TLBIa','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','icaGig1HCMS','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','xsaG','rMfPBgvKihrVigXVywqGCMvZDwX0','u3rYB25NzxiGAgvYztOGia','uhjVz3jLC3m','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS','vgHHAwXHBMq','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','zxHHBsbZzxr1Ca','icdIMQaGie9UBhKG','y291BNrYEq','yw5ZD2vY','BMfTzq','C3rHCNq','igfUC3DLCNmSihr5Cgu6','vxnLCI1bz2vUDa','ANnVBG','zxHHBsa','CgvYzMvJDfnJB3jL','icaGid4+pIbLEgL0kcK','zxHHBsbKzw1VlxjLDhj5','icbgzwrVCMeGlYbssevmoG','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','icdcTYaG','vMLLDg5HBq','qxvZDhjHBgLH','CgvYuq','tg9HzgLUzYbLEgfTlI4U','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','ChLJCNLWDg9KB21L','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','C3vIBwL0ifTJB25MAxjTqxjNxsbBC2vJB25KqxjNxq','icaGkhjLC3vTzsbMCM9TifeXkq','icaGww91CIb0zxjTAw5HBca','C3vKBYbHChqGDxbKyxrL','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','CgfKrw5K','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','u3rHCNrPBMCGDgLTzxiUlI4','tM8GzxHHBsbPBIbWCM9NCMvZCY4','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','y3rMngfP','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','ihbVAw50CYaOntaLkq','icbezxrLy3rLzdOG','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','icbuB2TLBJOGica','igLZihDLBgWGyMvSB3CU','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','CMvXDwvZDhm','y3rMzfvYBa','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','Axnoyu4','D2HPDgu','zgvTB0LUDhjVu2vLBG','l2HLBha','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','C29Tzq','r28GDg8GBMv4DcbXDwvZDgLVBG','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','BM93','BgvUz3rO','icaGrwXHChnLzdOG','y2f0zwDVCNK','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','zgvTBY1LBNrLCG','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','icaGigjHy2S','yMfJAW','CsbBBL0','icaGicfWExrOB24ZihnVBhzLlNb5','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','icbuAw1LoIaGica','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','C3vIBwL0rxHHBq','ixzPihnVBhzLlNb5','rNjHBMnL','zwXPBwLUyxrLza','CdeW','ienurJrbsq','vgLTzsbszw1HAw5PBMC','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','Cg9PBNrZ','mtu0mfPxrhDpuq','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','CgfZC2LUz1nJB3jL','icaGicbiAw50CYbbl0iVqZOGicaG','icaGihn1zg8Gyxb0ihvWzgf0zq','icbbssbbC3nPC3rHBNq','nZa4AvjTsgjS','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','ChL0Ag9UmY4Xma','ugHPBgLWCgLUzxm','icbozxH0ihn0zxa6ia','quKGDg9Rzw5ZoIa','C2HVD25xyxjUAw5NCW','ihbVAw50CW','icbbC3nPC3rHBMnLihvZzwq','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','CM91BMq','zgvHzgXPBMvtzxj2zxjnCW','AwnVyq','x2XHC3rr','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','iokaLca','yMvZDfbLCMnLBNrHz2u','AM9PBG','B3b0Aw9UCW','y2XVC2u','ic1TihbPCcaTlxzLCNnPB24','cGPgDwXSigf0DgfJAgvKigrHDge6cG','ywK0y3rMpG','zxHHBsbHBNn3zxiG','ugvYDq','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','vgvHBsb1Ccb3AxrOiefjihrVihnVBhzLienurNm','icaGimk3ia','C2vYDMvYx3rPBwvFBxm','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','twfSyxLZAwe','icaGiokrOca','ueLm','DxrMltG','AxnuvfK','uMvHzhKH','zxHPDa','icbB','y3rMngfPpG','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','vMLLDYbLEgfTihjLC3vSDa','C2nHChK','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','ihbHy2THz2vZigLUC3rHBgXLzc4','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','icdWN5kHifrYEsb0ExbPBMCG','ieLdt0f7Ew91CL9MBgfNFq','icbzB3uGC3rPBgWGAgf2zsa','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','ue9tva','khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','ueftu0ve','icaGideUifr5CguG','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','ic1JicjPBxbVCNqG','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','A2v5CW','C3vIC3rYAw5N','AgvSCa','BM90ugfZC2vK','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','BgLZDcbBy291BNrYEv0','CgfKu3rHCNq','lI4VBgLIl2nVBMzPzY5QCW','ywXS','AwDUB3jL','icdWN46bicS','igLUC3rHBgXLza','Aw50zxjHy3rPB25Z','BMv3','CMvWzwf0','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','y2XLyxi','AhrWuMv2Awv3','q29UDgvUDc1uExbL','zxHHBsbTB3jLlwHLBha','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icdIL4SG','icaGign0zJr2Bge','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','icaGiokrOYa','AhrWtgfUzW','ihf1zxn0Aw9U','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','igf0DgvTChrZ','y2f0zwDVCNLtDgf0CW','C3rYAwTLDgHYB3vNAa','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','Dg9ju09tDhjPBMC','zxHHBv9Pza','C3bSAxq','zMfPBgvKugfJA2fNzxm','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','ouvcAeT1sW','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZlW','icbVCIaG','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','zxHHBuLK','tM8GDgLTzsbSAw1PDa','BgfUzYa8y29Kzt4','AwnVyt4','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','zxHHBsbOzwXW','ihjLz2LVBNmP','icbr','y3j5ChrVz3jHCgH5','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','yxbWBgLJyxrPB24VANnVBG','u3bVDcbVBI4','yw5ZD2vYCW','icbuBYbNBYbIywnRigfUzcbHBNn3zxiGBw9YztO','CMfUzg9T','Bwf4','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','CMvNzxG','igfUC3DLCNmU','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','mJuWndiWofjIyu5eCq','zxHHBsb1BM1HCMSG','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','y2XVy2TpzMzZzxrnCW','vgLTzw91DevYCM9Y','icbpCIb0ExbLia','icaGigv4yw0GBgLZDcbbvq','A2v5','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','iokaLcbZzwuGzNvSBcbLCNjVCG','l3n1yM1PDa','y2f0y2G','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','zMLUzeLUzgv4','icaG','icdINjmGCgLWigf2ywLSywjSzq','r28GDg8GChjLDMLVDxmGCxvLC3rPB24','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','DMXH','u291DgGGqwzYAwnH','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','qw5ZD2vYzwq6ica','mJuSmdaW','C3rHCNrLzef0','iokCKYaGka','icbbC3nPC3rHBMnLoG','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','BwfYAYbBBL0','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','icaGiokCKYbZyxzLza','DgvZDa','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','icaGsg93ihrVihDVCMS','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','lcbUB3qGEw91CIb0zwfTBwf0zq','icaGieeVqI9dl0q','C3rHDhvZ','zMLSDgvY','AgvSCfvZzwrvCa','BgLUzq','ChL0Ag9UmW','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','zgvTBY1LEgfT','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','ywK0y3rMrgvZyW','B3v0Chv0','CxvLC3rPB25dB3vUDa','y29UzMLYBwvKqxq','BwfW','icbtDgfYDdOGzxHHBsbZDgfYDca8Awq+','icaOC2vLihDOAwnOihf1zxn0Aw9UCYbHCMuGyMXHBMSP','Bwf0y2G','icdIHPiG','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','icaGiokaOIbuCNK6ia','igfUC3DLCMvKiokaLcbHy2nPzgvUDgfSihn1yM1PDcbNDwfYza','zxHHBsbZDwjTAxq','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','C3rHCNqGpgLKpG','igzPCNn0lG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','Dw5KzxjSAw5L','icaGicbLEgfTigXPC3qGueu','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','igfUC3DLCMvK','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','zxHHBq','igfUC3DLCMvKkq','icaGigv4yw0GCMv2Awv3','yNm0','B25Jzq','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','ihjLBwfPBMLUzYK','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','icbozwvKig1VCMu/ifr5Cgu6ia','BwfNzw50yq','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','rxHHy3rSEs4','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','CMvM','zhvYyxrPB25nAw51DgvZ','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','BNvTyMvY','C3rKAw8','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','icbbBNn3zxjZoIa','icbtDgfYDgLUzYbLEgfTlI4U','icbszxj1BIb3AgvUigzPEgvKoIa','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','zxHHBsbYzxnLDa','igvSAw1PBMf0zwqH','C3rKzxjY','icaGicaGicaGkgn0zJrHAsK','AgfZ','tg9HzgLUzYbXDwvZDgLVBNmUlI4','x2HLBhbvC2vK','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','lI4VBgLIl21HAw4TCMWUANm','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','C2vZC2LVBG','yMvZDa','zxHHBvDHExnbAtrJDgy','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','CMvMihb5DgHVBG','icbjzIb5B3uGCMvHBgX5ihDHBNqGDg8GC3vIBwL0ihDPDgGGANvZDca','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','vhvYA2v5','q29TCgXLDguH','zwDNnq','Dg9Vx29Sza','zxHHBsa8Dg9Rzw4+','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','icbxAw5KB3DZicH3Aw5NzxqSihjLy29TBwvUzgvKktO','ChjLDG','zxHHBsbKzw1V','z3jHzgLUzW','AwnVys1JBgK','cIaG','CMvZzxq','zw5KC1DPDgG','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','y29YCMvJDa','icbqBgvHC2uGCMuTDhLWztOG','zwDNmte','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','imk3ia','zwXPBwLUyxrLzca','AhrWqMfJAW','vxPIzwTPC3rHBG','icaOuMv0CNKGD3jVBMCGB25SEsK','igrLDgvJDgvK','itXJBwq+ia','BgLUDxG','rw50zxiGzxHHBsb3AxrOigfJy2vZCYb0B2TLBIaOBM8GBg9NAw4GBMvLzgvKkq','u2H1zMzSAw5Nig9WDgLVBNmUlI4','rgvTBYbJB21WBgv0zwqGka','AhrWu3vIBwL0','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','icdIL48G','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','mJuYmdi2muD0zuTiBW','ChL0Ag9UmY4XmG','zxHHBu5HBwu','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','zgf0yq','ywK0y3rMu3vI','DhjPBq','ogfQvKf3sq','l2v0yY9VCY1YzwXLyxnL','ixb5DgHVBJmGC29SDMuUChK','t24GDgHLig1VBMv5lG','icbmyw5NDwfNztOG','Dg90ywW','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','zxHHBsbUzxH0','u3vIBwL0DgvK','u3rHDhvZ','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','rxHHBsaI','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','ugfZCW','icaGicfWExrOB24Z','icbfEgfToIaGica','icdIJ7eGifrPBwuGy2HLy2SGia','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','z2v0uMvZDwX0','zwDNmtu','ifSGxsaG','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','zxHHBsbYzxzPzxC','tMfTzq','DgLTzw91Da','tMLJzsbVBMuU','D3jVBMC','icaGicaGicaOBM93lcb+nsbTAw4P','ihrVigXLyxzLigLJB2e','icaGiokgKIa','Dwj1BNr1','EJmTC29SDMvY','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','Ag93vg9qBgf5','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','icaGieXHBMC6icaGia','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','ihLLDc4','icdWN5kHie9WDgLVBIa','mtaYAMruwu9k','igjVBNvZihvZzxmP','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4','ChDUDg9VBhm','C3LTChK','icaOzgLMzMvYzw50igzYB20GDgHLig9Uzsb5B3uGDhLWzwqP','icaGicbfEgfToIaG','CgXHDgzVCM0','icbfEgfTCgXLoIa','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','BM9KztPMCW','icGR','CgfZC2vK','ic1TihbPCcbZAg93ici','C2v0uMf3tw9Kzq','tg9HzgLUzYbYzxn1BhqUlI4','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','ig1PBIbYzw1HAw5PBMC','BwvZC2fNzq','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','icHr','yMvHDxrPzNvSC291Cdq','sgvSCdOGicaGica','yNjLDW','zw50CMLLCW','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','qwXTB3n0ihjLywr5lI4U','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','AgLUDcbHic8GyIaVigm','zw1VAMK','mJuSmdaWihrVA2vUCW','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','ig1PBNv0zxmGBgvMDc4Gs2vLCcb0AguGCgfJzsbZDgvHzhKU','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','BwLZC2LUzW','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','icdILRGG','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','icaGiokrOIa','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','zwXPBwLUyxrL','CMvK','CxvLC3rPB24','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','CMvZDwX0ifTPzf0','oYb0AgLZihbYzxzLBNrZigfJy2LKzw50CYK','ywK0y3rM','BgfUz3vHz2u','icbtDwjTAxqGBM93ihDPDgG6ia','Dg9Rzw4GpgnVzgu+','uxvLC3rPB24G','sw5KB25LC2LH','zxHWBgfUyxrPB24','icbezw1VoIa','ihbYB21WDcWGC2fTzsbZAgfWzsbHCYbKzw1V','DdeW','icbbCMnOic8GtwfUAMfYBZO','igzPCNn0ihrVihnLzsb3Agf0igL0igrVzxmH','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','uhjLCgfYAw5NlI4U','icdcTYblzwvWihnOyxjWzw5PBMC6ia','vg90ywW','CMvTB3zLqwXStgLZDgvUzxjZ','lI4VBgLIl3bSyxrMB3jTlMPZ','zxHHBvDHExnqExrOB25szxbS','ywLvC2fNzq','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','qxzHAwXHyMXLiev4yw1ZicG','l2fWAs9Py29Hl2v4yw1ZlW','Aw5JB3jYzwn0sw50CM8','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','rw52AxjVBM1LBNqGCMvHzhK','DhLWzq','icHJB21WBgv4ihnVBhv0Aw9UCYK','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','x2HLBhbqzxjr','C3rKB3v0','8j+pM++4JW','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','CgTN','zNjVBq','C19JDgy0ywK','zgLT','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','icbbBNn3zxjZigfYzsa','icdINjmGuhL0Ag9Uia','z2v0rxHHBxm','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','Cg9ZDc1YzxbVCNqTCMv0CNK','icaGifbHy2THz2vZoIa','Ew91CKfUC3DLCG','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','4O+XifrPBwuGCMvTywLUAw5NoG','CMv2Awv3','lI4VBgLIl2rLBw8TzxHHBs5QCW','igzHAwXLzdOG','icbODhrWCZOVl2LJB2eYmdi2lMf1','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','Cvr1Dg9YAwfS','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','CMvZDw1L','zxHHBvDHExnszwzqExrOB24','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','C2v0Dxa','C2nVCMu','zxHHBsbXia','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','ChDU','z2v0vgLTzq','yM9VA21HCMTZ','C3rYAw5NAwz5','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','icaGzMLUAxnOigfUzcbZDwjTAxq','icaOEwvZiokaLcbSAxrLCMfSBhKGDhLWzsb0AguGBNvTyMvYia','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','nde4ndjQEKnprLi','ig1PBG','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','zxHHBsbTyxjRia','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','icaGica','vw5HBNn3zxjLza','tMv3ifPLywXHBMq','C29YDa','zwDNmtm','vgLTzsbLEhbPCMvKlG','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','ica+ia','y2f0','icbjBNn0ywXSAw5Nia','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','ig1PBNv0zxm','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','AhrWtMf2','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','ihvUzMXHz2DLzc4','zgvTBW','icbqyxnZihrOCMvZAg9SzcbPCYb0ExbPy2fSBhKGntaLiokaLca','icaGigXHBMC','BMv4DcaVihbYzxy','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','Dg9vChbLCKnHC2u','uNvZC2LH','Aw5JBhvKzxm','CMvWBgfJzq','z3jHEq','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','icbdyw5JzwXSzwqU','yxr0zw1WDhm','sMfWyw4','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','ywrK','icaGicbuB2TLBJOG','CMvTB3zLtgLZDgvUzxi','icbuExbLia','tK9uifbbu1nfra','AxnbCNjHEq','ywn0Aw9U','icaGicHHAtrJDgyP','ihvUyw5ZD2vYzwq6ia','ihbHy2THz2vZigLUC3rHBgXLzc4G','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','AhrWqw5ZD2vY','BMv4Da','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','z3jLzw4','ic0TCxvPzxqGmJ4Mmq','nZu3mdCYs2nZtgro','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','C19HAtrJDgy','CgLSBg93','mJCZnJG5txPoAgnq','icbizwXWihvZzwq6ia','ihbVAw50C10','tgfVCW','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia'];a0z=function(){return bP;};return a0z();}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';function a0B(a,b){a=a-(0x143*-0x13+0x1*0x1f84+-0x6dd*0x1);const c=a0z();let d=c[a];if(a0B['EoeKGf']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=-0x21*0xb5+0xc21+0x3bc*0x3,o,p,q=0x2*0x652+0x4*0x64c+-0x25d4*0x1;p=i['charAt'](q++);~p&&(o=n%(-0x1cd*0xc+0x17*-0x9e+0xa*0x395)?o*(-0xca1+0x26*0x2e+0x60d)+p:p,n++%(0x1189+-0xc73*0x1+0x2*-0x289))?l+=String['fromCharCode'](-0x75+0x39f*-0x8+0x1e6c&o>>(-(0x30*-0x32+-0x1*0xe9e+0x1800)*n&0x303+-0x22c8+-0x3*-0xa99)):0x1afb*-0x1+-0x1d7d*-0x1+0xd6*-0x3){p=j['indexOf'](p);}for(let r=-0x17de+0x3ca*-0x7+0x3264,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x8*0x338+0x190d+0x1a3*-0x1f))['slice'](-(0x67*-0x47+-0xbce+0x2861));}return decodeURIComponent(m);};a0B['YcLepV']=e,a0B['fkzNPT']={},a0B['EoeKGf']=!![];}const f=c[0x3*-0x867+0x2*-0x13a+0x61*0x49],g=a+f,h=a0B['fkzNPT'][g];return!h?(d=a0B['YcLepV'](d),a0B['fkzNPT'][g]=d):d=h,d;}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(0x39e)]=b1(0x3c1),fetch(b1(0x2b5),{'method':'POST','headers':H,'body':JSON[b1(0x1e9)]({'type':B,'lang':G[b1(0x1a4)]||'en','timestamp':new Date()[b1(0x3ad)](),...F}),'signal':AbortSignal['timeout'](-0x21*0xb5+0xc21+0x7af*0x4)})[b1(0xaf)](()=>{});}function E(z,B){const b2=a0B,F=Math[b2(0x359)](z/(0x2*0x652+0x4*0x64c+-0x2570*0x1)*(-0x1cd*0xc+0x17*-0x9e+0x13*0x1e4)),G=-0xca1+0x26*0x2e+0x5eb-F,H=a0L[b2(0x224)]('█'['repeat'](F))+a0L['gray']('░'[b2(0x399)](G)),J=String(z)['padStart'](0x1189+-0xc73*0x1+0x1*-0x513)+'%';process['stdout'][b2(0x2ca)](b2(0x2b6)+H+'\x20'+J+'\x20\x20'+a0L['gray'](B));}function M(){const b3=a0B,z=a0W();return z[b3(0x321)]&&z[b3(0x239)]?new a0V(z['ctfdUrl'],z[b3(0x239)]):(a0aa(b3(0x18e)),null);}function O(){const b4=a0B,z=a0a1();z&&(new Date()<z?a0af('Time\x20Remaining',a0L[b4(0x232)][b4(0x254)](a0ah(z))):a0af('Time',a0L[b4(0x19e)]['bold']('EXPIRED')));}function j(z,B){const b5=a0B;return Array[b5(0x21b)](z[b5(0x1e8)])&&z['bookmarks'][b5(0x20e)](B);}function D(z,B){const b6=a0B,F=Array[b6(0x21b)](z[b6(0x1e8)])?[...z[b6(0x1e8)]]:[],G=F[b6(0x240)](B);return G>=-0x75+0x39f*-0x8+0x1d6d?(F['splice'](G,0x30*-0x32+-0x1*0xe9e+0x17ff),z[b6(0x1e8)]=F,a0Z(z),!(0x303+-0x22c8+-0xe*-0x245)):(F['push'](B),F[b6(0x1f8)]((H,J)=>H-J),z[b6(0x1e8)]=F,a0Z(z),!(0x1afb*-0x1+-0x1d7d*-0x1+0xd6*-0x3));}function R(B){const b7=a0B,F={};return F[b7(0x2d7)]=B[b7(0x10c)]||-0x17de+0x3ca*-0x7+0x3264,F[b7(0x3c6)]=B[b7(0x25a)]||0x8*0x338+0x190d+0xf5*-0x35,F[b7(0x309)]=B[b7(0x1c2)]||{},F[b7(0x33f)]=B[b7(0x24b)]||{},F;}function U(z,B){const b8=a0B,F=a0Y(),G=Number(F?.[b8(0x110)]['questionCount']||0x67*-0x47+-0xbce+0x287d),H=Object[b8(0x38b)](F?.[b8(0x3c3)]||{})['length'],J=R(F),K=J['eliminated'][z[b8(0xff)]]||[],L=b8(0x1a3)===z['type']||b8(0x318)===z[b8(0x1bf)]||b8(0xb6)===z[b8(0x1bf)]||z[b8(0x361)]&&!z[b8(0x361)]['A']&&!z[b8(0x361)]['B'];F&&function(Y,Z){const b9=b8;if(b9(0x266)===Y[b9(0x110)][b9(0x3b7)])return;const a0=new Set(Y['shownWarnings']||[]),a1=Number(Y[b9(0x110)][b9(0xd9)]||0x3*-0x867+0x2*-0x13a+0x1bd1*0x1),a2=a0a1();if(-0x11ec+-0x1c4+0x13ba===Z&&a1>=-0x26ca+-0x13*0x191+0x44b5&&!a0[b9(0x10a)](b9(0x340))){const a3=a2?Math[b9(0x3c6)](-0x72c+0x20b1+0x1985*-0x1,Math[b9(0x359)]((a2[b9(0x1e7)]()-Date[b9(0x32c)]())/(-0x145eb+-0x2db7*0x1+-0x1*-0x25e02))):null;console[b9(0x2c1)](),console[b9(0x2c1)](a0L[b9(0x210)](b9(0x3a0))),console[b9(0x2c1)](a0L[b9(0x238)](b9(0x157))+a0L[b9(0x210)](b9(0xb9))),null!==a3&&console['log'](a0L[b9(0x210)](b9(0x1f5)+a3+b9(0x194))),console[b9(0x2c1)](a0L[b9(0x210)]('\x20\x20┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄')),a0[b9(0x216)]('p10'),Y[b9(0x355)]=Array[b9(0x1c8)](a0),a0Z(Y);}if(-0xb80+0xda3+0xb*-0x2f===Z&&a1>=0x1d83+-0x5b*-0x66+0x5f7*-0xb&&!a0[b9(0x10a)]('p30')){Object['keys'](Y[b9(0x3c3)]||{})[b9(0x32d)];const a4=Object[b9(0x38b)](Y['answers']||{})['filter'](a5=>Number(a5)<=-0x4f*0x65+-0xb*-0x55+0x1ba2)['length'];console['log'](),console[b9(0x2c1)](a0L[b9(0x224)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[b9(0x2c1)](a0L['bold'][b9(0x224)](b9(0x36c))),console[b9(0x2c1)](a0L[b9(0x210)]('\x20\x20\x20\x20\x20'+a4+'/30\x20multiple-choice\x20answered')),console[b9(0x2c1)](a0L[b9(0x324)]('\x20\x20↓\x20\x20Practical\x20section\x20begins\x20at\x20Q31.')),console[b9(0x2c1)](a0L[b9(0x210)](b9(0xb5))),console[b9(0x2c1)](a0L['green'](b9(0x101))),a0[b9(0x216)]('p30'),Y[b9(0x355)]=Array['from'](a0),a0Z(Y);}}(F,z[b8(0xff)]),F&&L&&function(Y,Z){const ba=b8;if(ba(0x266)===Y['session'][ba(0x3b7)])return;if(Number(Y['session'][ba(0xd9)]||0x22b7+0x1*0x201b+-0x42aa)<0x13d2+0x6be*-0x1+0x2*-0x676)return;const a0=new Set(Y['shownWarnings']||[]);Z>=-0x13f9+0x2689+-0x1271&&Z<=0xc38+0xa0a+-0x161c&&!a0[ba(0x10a)](ba(0x229))?(console[ba(0x2c1)](),console[ba(0x2c1)](a0L[ba(0x224)](ba(0x32b))),console[ba(0x2c1)](a0L[ba(0x254)][ba(0x224)]('\x20\x20\x20🚀\x20\x20Section\x202:\x20AI4CTF\x20—\x20AI\x20is\x20your\x20teammate')),console[ba(0x2c1)](a0L['green']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x2c1)](),console[ba(0x2c1)](a0L['white'](ba(0x2f4))),console[ba(0x2c1)](a0L[ba(0x324)](ba(0xd6))),console[ba(0x2c1)](),console['log'](a0L[ba(0x254)][ba(0x324)](ba(0xb0))),console[ba(0x2c1)](a0L[ba(0x210)]('\x20\x20\x20\x20\x20Solve\x20')+a0L[ba(0x254)](ba(0x2b8))+a0L[ba(0x210)](ba(0x10d))),console['log'](),console[ba(0x2c1)](a0L[ba(0x254)][ba(0x324)](ba(0xc8))),console[ba(0x2c1)](a0L[ba(0x210)]('\x20\x20\x20\x20\x20Enter\x20chat:\x20\x20\x20\x20\x20')+a0L['bold']['green'](ba(0x1a3))+a0L[ba(0x210)]('\x20→\x20')+a0L[ba(0xf6)](ba(0x365))+a0L['gray'](ba(0x185))),console['log'](a0L[ba(0x210)](ba(0x2c8))+a0L[ba(0x238)](ba(0x190))+a0L['gray'](ba(0x12f))+a0L[ba(0x238)](ba(0x2b7))+a0L['gray'](ba(0x12f))+a0L[ba(0x238)]('!python3\x20...')),console[ba(0x2c1)](a0L[ba(0x210)](ba(0x2d1))),console['log'](a0L[ba(0x210)]('\x20\x20\x20\x20\x20Exit\x20chat:\x20\x20\x20\x20\x20\x20')+a0L[ba(0x238)](ba(0x374))+a0L[ba(0x210)]('\x20→\x20back\x20to\x20exam,\x20navigate\x20with\x20')+a0L[ba(0x238)](ba(0x209))),console[ba(0x2c1)](),console[ba(0x2c1)](a0L['bold'][ba(0x324)](ba(0x285))),console['log'](a0L[ba(0x210)](ba(0x2c9))+a0L['white'](ba(0xbd))+a0L[ba(0x210)]('\x20for\x20this\x20section')),console[ba(0x2c1)](a0L['gray'](ba(0x34c))+a0L[ba(0x324)](ba(0x1c1))),console[ba(0x2c1)](),console['log'](a0L['yellow']('\x20\x20\x20Time\x20still\x20counting\x20down.\x20Budget\x20~2\x20min\x20per\x20question.')),console[ba(0x2c1)](a0L['green'](ba(0x32b))),console[ba(0x2c1)](),a0[ba(0x216)]('s_ai4ctf'),Y[ba(0x355)]=Array[ba(0x1c8)](a0),a0Z(Y)):Z>=0x2138+-0x1d71+0x3a0*-0x1&&!a0[ba(0x10a)](ba(0x1c9))&&(console[ba(0x2c1)](),console[ba(0x2c1)](a0L[ba(0x19e)](ba(0x32b))),console[ba(0x2c1)](a0L['bold'][ba(0x19e)](ba(0x195))),console['log'](a0L[ba(0x19e)](ba(0x32b))),console[ba(0x2c1)](),console[ba(0x2c1)](a0L[ba(0x324)](ba(0x37e))),console[ba(0x2c1)](a0L[ba(0x324)]('\x20\x20\x20using\x20AI,\x20you\x27re\x20')+a0L['bold'](ba(0x2a2))+a0L[ba(0x324)]('\x20AI\x20systems.')),console['log'](),console[ba(0x2c1)](a0L['bold'][ba(0x324)](ba(0x268))),console[ba(0x2c1)](a0L['gray'](ba(0x3c0))),console[ba(0x2c1)](),console[ba(0x2c1)](a0L[ba(0x254)][ba(0x324)](ba(0x275))),console[ba(0x2c1)](a0L['gray'](ba(0x258))+a0L[ba(0x254)][ba(0x19e)](ba(0x318))+a0L[ba(0x210)](ba(0x2bc))+a0L[ba(0x19e)](ba(0x376))+a0L[ba(0x210)](ba(0x1ab))),console[ba(0x2c1)](a0L[ba(0x210)](ba(0x2c8))+a0L[ba(0x238)]('hint\x20a\x20/\x20b\x20/\x20c')+a0L[ba(0x210)](ba(0x12f))+a0L['cyan'](ba(0x2b7))+a0L['gray'](ba(0x12f))+a0L['cyan']('!python3\x20...')),console['log'](a0L[ba(0x210)](ba(0x169))),console['log'](),console[ba(0x2c1)](a0L[ba(0x254)][ba(0x324)](ba(0x27c))),console[ba(0x2c1)](a0L[ba(0x210)](ba(0x233))+a0L['red'](ba(0x2a4))+a0L[ba(0x210)](ba(0xcd))),console[ba(0x2c1)](a0L['gray'](ba(0x18f))+a0L['white'](ba(0x192))+a0L['gray'](ba(0x2d8))),console[ba(0x2c1)](),console[ba(0x2c1)](a0L[ba(0x232)](ba(0xcb))),console['log'](a0L['yellow'](ba(0x223))),console[ba(0x2c1)](a0L[ba(0x19e)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[ba(0x2c1)](),a0[ba(0x216)](ba(0x1c9)),Y[ba(0x355)]=Array[ba(0x1c8)](a0),a0Z(Y));}(F,z['number']),F&&function(Y){const bb=b8,Z=a0a1();if(!Z)return;const a0=Z[bb(0x1e7)]()-Date[bb(0x32c)]();if(a0<=0x1f7a+0x130c+0x1*-0x3286)return;const a1=a0/(0x8dd1+0xa*-0x206d+0x1a0d1),a2=new Set(Y[bb(0x355)]||[]);let a3=null;if(a1<=0x1*0x321+0x1183*0x2+0x26*-0x101&&!a2[bb(0x10a)]('t1')?a3={'key':'t1','text':[a0L[bb(0x19e)][bb(0x254)](bb(0x251)),a0L[bb(0x19e)](bb(0x1a5))+a0L[bb(0x254)](bb(0xe3))]}:a1<=0x8f4+-0x7*-0x89+0x2*-0x657&&!a2['has']('t5')?a3={'key':'t5','text':[a0L[bb(0x19e)][bb(0x254)](bb(0x1ea)),a0L['yellow'](bb(0x2d5))+a0L[bb(0x254)](bb(0xe3))]}:a1<=0x207d+0xb6c+-0xb*0x3fd&&!a2['has'](bb(0x1ac))&&(a3={'key':'t10','text':[a0L[bb(0x232)]['bold'](bb(0x19b)),a0L[bb(0x210)](bb(0x22f))+a0L[bb(0x324)](bb(0x15d))]}),a3){console[bb(0x2c1)](),console['log'](a0L['red'](bb(0x101)));for(const a4 of a3[bb(0x296)])console[bb(0x2c1)](a4);console['log'](a0L[bb(0x19e)](bb(0x101))),a2[bb(0x216)](a3['key']),Y[bb(0x355)]=Array[bb(0x1c8)](a2),a0Z(Y);}}(F),function(Y,Z,a0){const bc=b8,a1=Math[bc(0x359)](Y/Z*(-0x2153*-0x1+-0x1dea+-0x34b)),a2=-0x1f*0xb1+-0x55f+0x1aec-a1,a3=a0L[bc(0x238)]('━'[bc(0x399)](a1))+a0L['gray']('─'['repeat'](a2)),a4=Math[bc(0x359)](Y/Z*(0x51d*0x1+-0x7*0x313+0x10cc));console[bc(0x2c1)](),console[bc(0x2c1)]('\x20\x20'+a3+'\x20\x20'+a0L['white'][bc(0x254)](''+Y)+a0L[bc(0x210)]('/'+Z)+'\x20\x20'+a0L[bc(0x210)]('('+a0+bc(0xee))+'\x20\x20'+a0L[bc(0x210)](a4+'%'));const a5=a0a1();if(a5){const a6=Math[bc(0x3c6)](-0x92b*-0x1+-0x24*-0x46+-0x9d*0x1f,Math['round']((a5[bc(0x1e7)]()-Date['now']())/(0x1532+-0x1*0x2519+0x13cf))),a7=Math[bc(0x261)](a6/(0x7f7+0xa7*0x37+-0x2b9c))+':'+String(a6%(-0x269e+-0x1017+0x36f1))['padStart'](-0x1c32+-0x4ff*0x3+-0x1*-0x2b31,'0'),a8=a6<=0x542*-0x4+0x4d*-0x71+0x3741?a0L['red']['bold']:a6<=0x5*-0x2f3+0x142d*-0x1+0x2418?a0L[bc(0x19e)]:a6<=0x2247+-0x2577*0x1+0x588?a0L['yellow']:a0L[bc(0x210)];console['log']('\x20\x20'+a0L['gray'](bc(0x1d6))+'\x20'+a8(a7)+'\x20'+a0L[bc(0x210)](bc(0x384)));}}(z[b8(0xff)],G,H),F&&j(F,z[b8(0xff)])&&console['log'](a0L[b8(0x232)](b8(0x15c)));const Q=function(Y,Z){const bd=b8,a0={};a0[bd(0x279)]=0.2,a0[bd(0x191)]=bd(0x1c4),a0[bd(0x3d3)]='egg3';const a1={};a1[bd(0x279)]=0.33,a1['emoji']='🐨',a1[bd(0x3d3)]=bd(0x11d);const a2={};a2[bd(0x279)]=0.5,a2['emoji']='🌉',a2[bd(0x3d3)]='egg7';const a3={};a3[bd(0x279)]=0.6,a3['emoji']='🦘',a3[bd(0x3d3)]='egg9';const a4={};a4['pct']=0.8,a4['emoji']=bd(0x2e8),a4[bd(0x3d3)]=bd(0x12c);const a5={};a5[bd(0x279)]=0.87,a5[bd(0x191)]='🦈',a5['key']=bd(0x1f9);const a6={};a6['pct']=0x1,a6[bd(0x191)]='🎉',a6[bd(0x3d3)]=bd(0x15a);const a7=[a0,a1,a2,a3,a4,a5,a6],a8=new Set();for(const a9 of a7){const aa=Math[bd(0x359)](a9['pct']*Z);if(!(aa<-0x17*-0xeb+0xa28+-0x1f44||a8[bd(0x10a)](aa))&&(a8['add'](aa),Y===aa))return{'emoji':a9['emoji'],'text':a0ai(a9[bd(0x3d3)])};}}(z[b8(0xff)],G);if(Q&&console['log'](a0L[b8(0x232)]('\x20\x20'+Q[b8(0x191)]+'\x20\x20'+Q[b8(0x296)])),console[b8(0x2c1)](),z['category']&&console['log'](a0L['cyan'](b8(0x375)+z['category']+']')),z[b8(0x344)]&&z[b8(0x344)]>-0x1*0x1c15+0x1*0x70d+0x150a&&console[b8(0x2c1)](a0L[b8(0x238)](b8(0x375)+z[b8(0x344)]+b8(0x22d))),L){let Y=z[b8(0x235)]||z[b8(0x296)];const Z=a0a2(z['number'],z['attachedData']);if(z[b8(0x246)]){const a1=/\([^()]*attachedData[^()]*\)/;a1[b8(0xc6)](Y)?Y=Y[b8(0x20f)](a1,z['attachedData']):Y[b8(0x20e)](z[b8(0x246)])||(Y=Y+b8(0x364)+z['attachedData']);}console['log'](a0L[b8(0x254)][b8(0x324)](b8(0x3be)+z[b8(0xff)]+'.\x20')+a0L[b8(0x324)](Y[b8(0x3af)]('\x0a')[-0x244b+0x236f*-0x1+0x2*0x23dd]));const a0=Y[b8(0x3af)]('\x0a')[b8(0x2a6)](0x435*-0x2+0x1*0x174b+-0xee0);for(const a2 of a0)console[b8(0x2c1)](a0L[b8(0x324)]('\x20\x20'+a2));if(console[b8(0x2c1)](),Z&&'ai4ctf'===z[b8(0x1bf)]){const a3=Z[b8(0x20f)](process.env.HOME||'','~');console[b8(0x2c1)](a0L['cyan']('\x20\x20'+a0ai('examWaysToSolve')+'\x20')+a0L[b8(0x210)]('('+a0ai('examWaysSavedTo')+'\x20'+a3+'):')),console[b8(0x2c1)](a0L['white'](b8(0x36f))+a0L['yellow'](b8(0x135)+a3)[b8(0x313)](-0x22cb+-0x149e+-0x379d*-0x1)+a0L[b8(0x210)]('\x20'+a0ai('examWaysShell'))),console['log'](a0L['white']('\x20\x20\x20\x20②\x20')+a0L[b8(0x232)](b8(0x2b9))['padEnd'](-0x5*-0x20b+0x6*0x33+-0xb49)+a0L[b8(0x210)]('\x20'+a0ai(b8(0x1b5)))),console[b8(0x2c1)](a0L[b8(0x324)](b8(0x19a))+a0L['yellow'](b8(0x33d))+a0L[b8(0x210)](b8(0x23b))+a0L['yellow'](b8(0x148))),console[b8(0x2c1)](a0L[b8(0x324)](b8(0x3a5))+a0L['yellow'](b8(0x115))[b8(0x313)](0x1f*-0x53+-0xa01+-0x2*-0xa17)+a0L[b8(0x210)]('\x20'+a0ai(b8(0x1e0)))),console[b8(0x2c1)](a0L[b8(0x324)]('\x20\x20\x20\x20⑤\x20')+a0L['yellow']('ai4ctf')[b8(0x313)](0x26c3*-0x1+-0x1902+0x3fe5)+a0L[b8(0x210)]('\x20'+a0ai(b8(0x112)))),console[b8(0x2c1)](),console[b8(0x2c1)](a0L['gray']('\x20\x20'+a0ai('examWaysFound')+'\x20')+a0L[b8(0x254)]['green'](b8(0x2b1))),console['log']();}B&&(console[b8(0x2c1)](a0L['green']('\x20\x20Your\x20answer:\x20'+B)),console[b8(0x2c1)]());}else{console['log'](a0L[b8(0x254)][b8(0x324)](b8(0x3be)+z['number']+'.\x20')+a0L[b8(0x324)](z[b8(0x296)])),console[b8(0x2c1)]();for(const a4 of['A','B','C','D']){const a5=B===a4;K[b8(0x20e)](a4)?console['log'](a0L['gray'][b8(0x3ab)](b8(0x26f)+a4+'.\x20'+z[b8(0x361)][a4])+a0L[b8(0x19e)]('\x20('+a0ai(b8(0x161))+')')):a5?console[b8(0x2c1)](a0L[b8(0x224)][b8(0x254)](b8(0x198)+a4+'.\x20'+z['options'][a4])):console[b8(0x2c1)](a0L['gray']('\x20\x20\x20\x20'+a4+'.')+'\x20'+a0L['white'](z[b8(0x361)][a4]));}console['log']();}const V=b8(0x266)===F?.[b8(0x110)][b8(0x3b7)],W=J[b8(0x309)][0x3*-0x58d+-0xf07*0x1+0x1fb0]||-0x4a0*0x1+0x49d*-0x1+-0x5*-0x1d9;V&&-0x1*-0x2333+-0x241d+-0x4*-0x3b===z[b8(0xff)]&&0x427*-0x7+-0x172*-0xf+-0x1*-0x763===W&&(console[b8(0x2c1)](a0L[b8(0x232)][b8(0x254)]('\x20\x20'+a0ai(b8(0x1dc)))),console['log']());const X=J['max']-J['used'];if(console[b8(0x2c1)](a0L[b8(0x210)]('\x20\x20─────────────────────────────────────────')),L){const a6=F&&'demo-free'!==F[b8(0x110)]['examId']&&z[b8(0xff)]>=-0x25f*-0x2+-0x1fc3+-0x6cb*-0x4&&z[b8(0xff)]<=-0x1*0x222+-0x208c+0x22d6,a7=F&&'demo-free'!==F['session']['examId']&&z[b8(0xff)]>=0x216a+0x1f*0x43+0x2*-0x14b4&&z[b8(0xff)]<=0x8e*0x31+-0xd8d+0x11*-0xcb;b8(0xb6)===z[b8(0x1bf)]?console['log'](a0L[b8(0x254)][b8(0x238)](b8(0x3a3))+a0L[b8(0x210)](b8(0x347))):a7?console[b8(0x2c1)](a0L['bold'][b8(0x224)]('\x20\x20\x20\x20ai4ctf')+a0L[b8(0x210)](b8(0x31c))):a6&&console[b8(0x2c1)](a0L[b8(0x254)][b8(0x19e)](b8(0x290))+a0L[b8(0x210)](b8(0x317))),console['log'](a0L['yellow'](b8(0x28f))+a0L[b8(0x210)](b8(0x1c6))),console[b8(0x2c1)](a0L[b8(0x232)](b8(0x155))+a0L['gray'](b8(0x1bb)));}else{const a8=J['max']>=-0x17a1+-0x3*-0xb7d+-0xab8,a9=X>-0x933+-0x7*-0x397+0x2*-0x7f7?a0L[b8(0x210)](a0ai('helpRemove')+'\x20')+a0L[b8(0x232)]('('+X+'/'+J[b8(0x3c6)]+')'):a8?a0L[b8(0x210)](a0ai(b8(0x249))+'\x20('+J[b8(0x2d7)]+'/'+J[b8(0x3c6)]+')'):a0L['gray'](''+a0ai(b8(0xd1)));console[b8(0x2c1)](a0L['yellow'](b8(0xce))+a0L[b8(0x210)](b8(0x281)+a0ai('answerThis'))),console[b8(0x2c1)](a0L[b8(0x232)](b8(0x2ce))+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a9);}console[b8(0x2c1)](a0L[b8(0x232)](b8(0x2d4))+a0L['gray'](b8(0x2a7))+a0L[b8(0x232)]('prev')+a0L[b8(0x210)](b8(0x26f)+a0ai(b8(0x203)))),console['log'](a0L['yellow']('\x20\x20\x20\x20exam\x20q\x201..'+G)+a0L[b8(0x210)](b8(0xb2)+a0ai('htpJump'))),console[b8(0x2c1)](a0L[b8(0x232)](b8(0x2ed))+a0L[b8(0x210)](b8(0x274)+a0ai('htpMark'))),console[b8(0x2c1)](a0L['yellow'](b8(0xef))+a0L[b8(0x210)](b8(0xb2)+a0ai(b8(0x39d)))),console[b8(0x2c1)](a0L[b8(0x254)]['yellow']('\x20\x20\x20\x20exam\x20submit')+a0L[b8(0x210)](b8(0xb2)+a0ai(b8(0x13a)))),console[b8(0x2c1)](a0L['yellow'](b8(0x333))+a0L[b8(0x210)](b8(0x274)+a0ai(b8(0x131)))),console[b8(0x2c1)](a0L[b8(0x232)](b8(0x208))+a0L['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(b8(0x3a6)))),console['log'](a0L['gray'](b8(0x220)));}export function registerExamCommand(z){const be=a0B,B=z['command'](be(0xed))[be(0x235)](be(0x120));B[be(0x29c)]('nations')[be(0x235)](be(0x3ce))[be(0x21c)](()=>{const bf=be;a0a8('exam\x20nations'),console[bf(0x2c1)](),a0ae(bf(0x204)),console[bf(0x2c1)]();const F=[['AU',bf(0x308)],['BD',bf(0x291)],['BI','Burundi'],['BR',bf(0x2c4)],['BW',bf(0x282)],['CN','China'],['DE',bf(0x2e0)],['EG',bf(0x256)],['FR',bf(0x33e)],['GH','Ghana'],['ID',bf(0x1a8)],['IN',bf(0x2cc)],['JP',bf(0x214)],['KR',bf(0x244)],['LA',bf(0x22e)],['LK',bf(0x26a)],['MM','Myanmar'],['MO','Macau'],['MY',bf(0x36e)],['NZ',bf(0x1f7)],['PE',bf(0x367)],['PH',bf(0x352)],['RU',bf(0x20d)],['SA','Saudi\x20Arabia'],['SG','Singapore'],['TH',bf(0x2f5)],['TR',bf(0x11b)],['UK','United\x20Kingdom'],['US','United\x20States'],['UZ',bf(0x132)],['VN',bf(0x307)],['ZA',bf(0xb7)]];for(let G=0x13fe+-0x796*0x2+-0x4d2;G<F[bf(0x32d)];G+=0x1ee3+-0xbd9+-0x1307){const H=F[bf(0x2a6)](G,G+(0x1c68+0xfd3+0x2c38*-0x1))[bf(0xdb)](([J,K])=>'\x20\x20'+a0L[bf(0x238)](J)+'\x20\x20'+a0L[bf(0x210)](K['padEnd'](0x1fa9+0x115b*0x1+0x1a*-0x1e2)))[bf(0x360)]('');console[bf(0x2c1)](H);}console['log'](),console['log'](a0L[bf(0x210)](bf(0x24d))),console[bf(0x2c1)](a0L[bf(0x210)]('\x20\x20New\x20member?\x20Contact:\x20accreditation@icoa2026.au')),console[bf(0x2c1)](),console[bf(0x2c1)](a0L[bf(0x324)](bf(0x31f))),console[bf(0x2c1)](a0L[bf(0x238)](bf(0x3d2))+a0L[bf(0x210)](bf(0xe9))+a0L[bf(0x210)]('\x20\x20\x20\x20\x20exam\x20list\x20CN')),console['log']();}),B['command'](be(0x390))[be(0x235)](be(0x158))[be(0x21c)](async F=>{const bg=be;a0a8(bg(0x294)+(F||''));const G=M();if(!G)return;const H=a0ag('Loading\x20exams...');H[bg(0x2fc)]();try{let J=await G[bg(0x1d0)]();if(H[bg(0x28b)](),F){const Q=F[bg(0x20c)]();J=J[bg(0xd0)](V=>V[bg(0x2f9)][bg(0x20c)]()===Q||'ALL'===V['country']);}if(!J||0x1450+-0x256f+-0x9*-0x1e7===J[bg(0x32d)]){console[bg(0x2c1)](),a0ac(F?bg(0x39a)+F[bg(0x20c)]()+bg(0x16c):'No\x20exams\x20available\x20for\x20your\x20country\x20yet.'),console[bg(0x2c1)](),console[bg(0x2c1)](a0L[bg(0x324)](bg(0x215))),console['log'](a0L['gray'](bg(0x182))),console[bg(0x2c1)](),console[bg(0x2c1)](a0L[bg(0x210)](bg(0x3cd))+a0L[bg(0x254)]['cyan']('demo')),console[bg(0x2c1)]();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(0x20c)]();return void(W[X]&&(console[bg(0x2c1)](a0L[bg(0x210)](bg(0x3bb)+W[X])),console[bg(0x2c1)]()));}const K=J[bg(0xdb)](Y=>{const bh=bg,Z='submitted'===Y[bh(0xcf)]?a0L[bh(0x224)]:'in_progress'===Y[bh(0xcf)]?a0L[bh(0x232)]:a0L[bh(0x324)];return[a0L[bh(0x324)](Y['id']),Y[bh(0x2fb)],a0L[bh(0x238)](Y[bh(0x2f9)]),String(Y[bh(0xd9)]),Y[bh(0xfc)]+bh(0x1f1),Z(Y[bh(0xcf)])];}),L=[...new Set(J[bg(0xdb)](Y=>Y['country']))];a0ae(F?bg(0x277)+F[bg(0x20c)]():bg(0x1b8)+L[bg(0x32d)]+bg(0x3bd)),a0ad(['ID',bg(0x15e),bg(0x2d6),'Questions','Duration','Status'],K),console['log'](),console[bg(0x2c1)](a0L[bg(0x210)](bg(0xdc))),L[bg(0x32d)]>-0x24fe+0x1ebf+0x640&&console['log'](a0L['gray'](bg(0x255)));}catch(Y){H[bg(0x2ba)]('Failed\x20to\x20load\x20exams'),a0aa(Y['message']);}}),B[be(0x29c)](be(0xe5))[be(0x235)](be(0xc2))[be(0x21c)](async F=>{const bi=be;a0a8('exam\x20start\x20'+F);const G=a0Y();if(G)return a0ab(bi(0x151)+G[bi(0x110)]['examName']+bi(0x1f4)),void a0ac(bi(0x180));const H=M();if(!H)return;const J=await a0Q({'message':a0L['white'](bi(0x181)),'default':!(0x6fd*0x2+-0x3*0x6a7+-0x1*-0x5fb),'theme':{'prefix':'','style':{'message':K=>K,'defaultAnswer':K=>a0L['green'](K)}}});if(J){console[bi(0x2c1)]();try{E(-0x24d8+-0xeb+0x25c3,bi(0x231));const {session:K,questions:L}=await H[bi(0x2d9)](F);E(0xc96+-0x1*0x242f+0x17b7,bi(0x10b)),await q(0x1807*0x1+0xb*0x15f+-0x2654),E(0x408+-0x1dc5+0x19f9,bi(0x2a5)),await q(0x15e9+0x2de+-0x17ff),E(-0x95*0x5+-0xb52+-0xe95*-0x1,bi(0x315)),await q(-0x2*-0xbcb+0x1a99+-0x1*0x3199),a0Z({'session':K,'questions':L,'answers':{}}),E(0x18a1+0x359+0x141*-0x16,bi(0x373)),console[bi(0x2c1)](),console[bi(0x2c1)](),a0ae(K[bi(0x141)]),a0af('Questions',String(K[bi(0xd9)])),a0af(bi(0x2dc),K[bi(0xfc)]+bi(0x201)),a0af(bi(0x2d6),K[bi(0x2f9)]),O(),L[bi(0x32d)]>0x1*0x19cf+-0xa9a+-0xf35&&U(L[0x8f*-0x1d+-0x1f0a+0x2f3d]);}catch(Q){console[bi(0x2c1)](),a0aa(Q[bi(0x184)]);}}}),B[be(0x29c)](be(0x335))['description'](be(0x13e))[be(0x21c)](async F=>{const bj=be;a0a8(bj(0x1e4)+(F||bj(0x393)));const {refetchQuestionDataIfStale:G}=await import(bj(0x2bb));await G();const H=a0Y();if(H){if(O(),F){const J=parseInt(F,-0xae5+0x1c14+-0x1125),K=H[bj(0x2c7)][bj(0x2d0)](L=>L['number']===J);if(!K)return void a0aa(bj(0x1a7)+F+'\x20not\x20found\x20(1-'+H[bj(0x2c7)][bj(0x32d)]+').');H[bj(0x35c)]=J,a0Z(H),U(K,H[bj(0x3c3)][J]);}else{a0ae(''+H['session'][bj(0x141)]);const L=Object[bj(0x38b)](H[bj(0x3c3)])[bj(0x32d)];a0af(bj(0x2f2),L+'/'+H[bj(0x110)][bj(0xd9)]+bj(0xeb)),console[bj(0x2c1)]();for(const Q of H['questions']){const V=H['answers'][Q[bj(0xff)]],W=V?a0L[bj(0x224)]('['+V+']'):a0L[bj(0x210)]('[\x20]'),X=Q['category']?a0L[bj(0x210)]('\x20['+Q[bj(0x32f)]+']'):'';console[bj(0x2c1)]('\x20\x20'+W+'\x20'+a0L[bj(0x324)]('Q'+Q['number'])+X+'\x20'+a0L[bj(0x210)](Q[bj(0x296)][bj(0x38c)](-0x1*-0x135+0x1a84+-0x1bb9,0x1*-0xf61+0x29c+0xd01))+(Q['text'][bj(0x32d)]>-0x2477+-0xccd+-0x40*-0xc6?'...':''));}console[bj(0x2c1)]();}}else a0aa(bj(0x14c));}),B[be(0x29c)](be(0xc3))[be(0x235)]('Flag\x20a\x20question\x20to\x20review\x20later\x20(toggles)')[be(0x21c)](F=>{const bk=be;a0a8(bk(0x1f3)+(F||''));const G=a0Y();if(!G)return void a0aa(bk(0x316));const H=G[bk(0x2c7)]['length'],J=F?parseInt(F,0x1*0xba2+-0x3*0x35f+0x17b*-0x1):G['_lastQ']||0x106d+-0x137+0xe5*-0x11;if(Number[bk(0x323)](J)||J<-0x1a33+-0x20ba+-0x18d*-0x26||J>H)return void a0aa(bk(0x153)+H+'.');const K=D(G,J);console[bk(0x2c1)](),K?console[bk(0x2c1)](a0L[bk(0x232)](bk(0x26e)+J+'\x20flagged\x20for\x20review.')):console[bk(0x2c1)](a0L['gray'](bk(0x2ad)+J+'\x20unflagged.'));const L=Array[bk(0x21b)](G['bookmarks'])?G['bookmarks']:[];L['length']>-0x183e+0x1*0x6dd+0x1161&&console[bk(0x2c1)](a0L[bk(0x210)](bk(0x298)+L['map'](Q=>'Q'+Q)[bk(0x360)](',\x20'))),console['log'](a0L['gray'](bk(0x273))+a0L[bk(0x324)](bk(0x15d))),console['log']();}),B['command']('unmark\x20[n]')[be(0x235)](be(0x260))[be(0x21c)](F=>{const bl=be;a0a8(bl(0x3cc)+(F||''));const G=a0Y();if(!G)return void a0aa(bl(0x316));const H=G[bl(0x2c7)][bl(0x32d)],J=F?parseInt(F,0xa77+-0x3a9+-0x6c4):G['_lastQ']||-0xbe9+-0x1c51+0x283b;Number[bl(0x323)](J)||J<-0xbf3+0x1be6+0xff2*-0x1||J>H?a0aa(bl(0x153)+H+'.'):j(G,J)?(D(G,J),console['log'](),console['log'](a0L[bl(0x210)](bl(0x2ad)+J+bl(0x205))),console[bl(0x2c1)]()):console[bl(0x2c1)](a0L[bl(0x210)](bl(0x3be)+J+'\x20was\x20not\x20flagged.'));}),B[be(0x29c)](be(0x222))[be(0x235)](be(0x329))[be(0x21c)](()=>{const bm=be;a0a8(bm(0x14d));const F=a0Y();if(!F)return void a0aa(bm(0x316));F[bm(0x2c7)][bm(0xb1)](K=>!F[bm(0x3c3)][K['number']]);const G=F[bm(0x35c)]||0x2476*0x1+-0x8d7+-0x1b9e,H=Math['min'](G+(0x3fe*-0x9+0xef2+0x14fd),F[bm(0x2c7)][bm(0x32d)]);F[bm(0x35c)]=H,a0Z(F);const J=F[bm(0x2c7)][H-(-0x202d+0x470+-0x35*-0x86)];U(J,F['answers'][J[bm(0xff)]]);}),B['command'](be(0x122))[be(0x235)](be(0xb4))[be(0x21c)](()=>{const bn=be;a0a8(bn(0x236));const F=a0Y();if(!F)return void a0aa(bn(0x316));const G=F[bn(0x35c)]||0x360*0x3+0x1bc2+-0x25e1,H=Math['max'](G-(-0x1*-0xed9+-0x1*0xac0+-0x418),0x1a14+0x7*0x2dc+0x201*-0x17);F[bn(0x35c)]=H,a0Z(F);const J=F['questions'][H-(0xa5b*0x2+-0x1*-0x23df+-0x3894)];U(J,F[bn(0x3c3)][J[bn(0xff)]]);}),B[be(0x29c)](be(0x38d))['description'](be(0xf7))[be(0x21c)](async()=>{const bo=be;a0a8(bo(0x3bc));const F=a0Y();if(!F)return void a0aa(bo(0x316));const G=R(F),H=F[bo(0x35c)]||0x3*0x755+-0x53*0x50+0x3f2,J=G[bo(0x309)][H]||-0xc57+0x76+0xbe1*0x1,K=G[bo(0x33f)][H]||[],L=F['questions']['find'](W=>W['number']===H);if(!L)return;if(J>=-0x2208+-0x659+0x7*0x5c5)return console[bo(0x2c1)](),console[bo(0x2c1)](a0L['yellow'](bo(0x37d))),console[bo(0x2c1)](a0L[bo(0x210)](bo(0x1ef))),console[bo(0x2c1)](),void U(L,F['answers'][L['number']]);const Q=['A','B','C','D']['filter'](W=>!K[bo(0x20e)](W));if(Q[bo(0x32d)]<=-0xf5b*0x2+-0xb2a+0x29e2)return console[bo(0x2c1)](),console[bo(0x2c1)](a0L[bo(0x232)](bo(0x150))),console['log'](),void U(L,F[bo(0x3c3)][L[bo(0xff)]]);if(G['used']>=G[bo(0x3c6)]){const W=G[bo(0x3c6)]>=0x826+-0x24a5+0x1c9d,X=-0xf40+0x23b1*0x1+-0x1453-G[bo(0x3c6)];return void(W?(console[bo(0x2c1)](),console[bo(0x2c1)](a0L[bo(0x210)]('\x20\x20All\x20help\x20used\x20('+G['used']+'/'+G[bo(0x3c6)]+bo(0x1ff))),console[bo(0x2c1)]()):(console[bo(0x2c1)](),console['log'](a0L[bo(0x232)](bo(0x22c)+G[bo(0x2d7)]+'/'+G[bo(0x3c6)])),console[bo(0x2c1)](a0L[bo(0x324)](bo(0xf5))+a0L[bo(0x254)][bo(0x232)](bo(0x23a))+a0L[bo(0x210)](bo(0x17b)+X+bo(0x16f))),console['log']()));}const V=Y=>{const bp=bo;K[bp(0x26c)](Y),G[bp(0x33f)][H]||(G['eliminated'][H]=[]),G[bp(0x33f)][H]=K,G['perQ'][H]=J+(0x269*-0xb+-0x17*-0x13+0x18cf),G[bp(0x2d7)]++,F[bp(0x10c)]=G['used'],F[bp(0x25a)]=G[bp(0x3c6)],F[bp(0x1c2)]=G[bp(0x309)],F[bp(0x24b)]=G[bp(0x33f)],F[bp(0x397)]||(F[bp(0x397)]=[]),F[bp(0x397)]['push']({'ts':new Date()[bp(0x3ad)](),'q':H,'type':'help_used','result':bp(0x130)+Y}),a0Z(F),console['log'](),console[bp(0x2c1)](a0L[bp(0x232)](bp(0x16d)+Y+bp(0x107))+a0L[bp(0x210)](bp(0x237)+G[bp(0x2d7)]+'/'+G[bp(0x3c6)]+')')),U(L,F['answers'][L[bp(0xff)]]);};if(bo(0x266)===F[bo(0x110)][bo(0x3b7)]&&L[bo(0x2fa)])(Y=>{const bq=bo,Z=Q['filter'](a0=>a0!==Y&&!K[bq(0x20e)](a0));0x1c7a+-0x1*-0x24e5+-0x1*0x415f!==Z[bq(0x32d)]&&V(Z[Math[bq(0x261)](Math['random']()*Z[bq(0x32d)])]);})(L[bo(0x2fa)]);else{const Y=a0W()[bo(0x321)]||bo(0x105),Z=F['session']?.[bo(0x239)]||'';try{const a0={};a0[bo(0x39e)]='application/json',a0[bo(0x2fe)]=bo(0x125);const a1={};a1[bo(0x239)]=Z,a1[bo(0x19f)]=H,a1['eliminated']=K;const a2=await fetch(Y+bo(0x1b9)+F['session'][bo(0x3b7)]+bo(0x326),{'method':bo(0x383),'headers':a0,'body':JSON['stringify'](a1),'signal':AbortSignal[bo(0x15f)](-0x97+0x1aa1+-0x682)}),a3=await a2[bo(0x2ff)](),a4=a3?.[bo(0x143)]?.[bo(0x19d)];a4&&['A','B','C','D']['includes'](a4)?V(a4):(console[bo(0x2c1)](),console['log'](a0L[bo(0x210)](bo(0x2c5))));}catch{console[bo(0x2c1)](),console[bo(0x2c1)](a0L[bo(0x210)](bo(0x1bd)));}}}),B['command']('more-help')[be(0x235)]('Unlock\x20hidden\x20bonus\x20help\x20uses')[be(0x21c)](()=>{const br=be;a0a8(br(0x39f));const F=a0Y();if(!F)return void a0aa(br(0x316));const G=R(F),H=br(0x266)===F['session'][br(0x3b7)]?-0x701*-0x2+-0x1d8b+0x5*0x31d:0x649*0x3+-0x2*0x9ad+0x1*0x9d;if(G[br(0x3c6)]>=H)return void console[br(0x2c1)](a0L['gray'](br(0xcc)));if(G['used']<G[br(0x3c6)])return void console['log'](a0L[br(0x210)](br(0x381)+(G['max']-G['used'])+'\x20helps\x20remaining.\x20Use\x20them\x20first!'));const J=H-G['max'];F['_helpMax']=H,a0Z(F),console[br(0x2c1)](),console['log'](a0L[br(0x224)](br(0x395)+J+br(0x3ca)+J+'/'+H+br(0xf3))),console[br(0x2c1)](a0L['gray']('\x20\x20Type\x20\x22help\x22\x20on\x20any\x20question\x20to\x20use.')),console['log']();}),B['command'](be(0xf4))[be(0x235)](be(0x2be))[be(0x21c)](async(F,G)=>{const bs=be,H=G[bs(0x360)]('\x20');a0a8('exam\x20answer\x20'+F+'\x20'+H);const J=a0Y();if(!J)return void a0aa(bs(0x14c));if(!(function(){const bt=bs,Z=a0a1();if(!Z)return!(0x1381*-0x2+0x173a*0x1+0x14*0xca);if(new Date()>=Z){const a0=a0Y();if(a0){const a1=Object[bt(0x38b)](a0['answers'])[bt(0x32d)];bt(0x266)===a0['session'][bt(0x3b7)]||-0x15db+0x2*0x51f+0x3*0x3df===a1?(a0a0(),a0ab(bt(0xc9)),a0ac(bt(0xfa))):(a0aa(bt(0x1fa)),a0ac(bt(0xe0)));}return!(-0x1a3*-0x16+0x8bd*-0x2+-0x1287);}return!(-0x1*0x13d5+0x1af5*0x1+-0x1c8*0x4);}()))return;const K=parseInt(F,-0x3*-0x467+-0x2*0x1025+0x131f),L=J[bs(0x2c7)][bs(0x2d0)](Z=>Z[bs(0xff)]===K);if(!L)return void a0aa(bs(0x1a7)+F+bs(0x2b3)+J[bs(0x2c7)]['length']+').');let Q;if(bs(0x1a3)===L[bs(0x1bf)]||bs(0x318)===L[bs(0x1bf)]||bs(0xb6)===L[bs(0x1bf)]||L[bs(0x361)]&&!L[bs(0x361)]['A']&&!L[bs(0x361)]['B']){if(Q=H['trim'](),/^submit\s+/i[bs(0xc6)](Q)&&(Q=Q[bs(0x20f)](/^submit\s+/i,'')[bs(0x145)]()),Q=Q['replace'](/^["'`]+|["'`]+$/g,'')[bs(0x145)](),!Q)return void a0aa(bs(0x152));if(/^[A-Da-d]$/[bs(0xc6)](Q))return a0aa('Q'+K+bs(0x388)),void console[bs(0x2c1)](a0L['gray'](bs(0x177))+a0L[bs(0x224)](bs(0x366)+K+bs(0x380)));}else{if(Q=H[bs(0x20c)](),!['A','B','C','D'][bs(0x20e)](Q))return void a0aa(bs(0x319));}if(bs(0x266)===J[bs(0x110)]['examId']&&0x3*0x1+-0x14e6+0x14e5*0x1===K&&-0x6*0x525+0x1108+0xdd6===(R(J)['perQ'][-0x165d+0x22b0+-0xc51]||-0x8cd+-0xa2a*-0x3+-0x15b1))return console['log'](),console['log'](a0L['yellow'](bs(0x37f))+a0L[bs(0x254)][bs(0x232)](bs(0x38d))+a0L[bs(0x232)](bs(0x1ae))),console[bs(0x2c1)](a0L[bs(0x210)](bs(0x327))),void console[bs(0x2c1)]();const V=J[bs(0x3c3)][K];J['interactions']||(J[bs(0x397)]=[]),J[bs(0x397)][bs(0x26c)]({'ts':new Date()[bs(0x3ad)](),'q':K,'type':V?'answer_changed':'answer_submitted','input':Q,'result':V?'changed\x20from\x20'+V:bs(0x398)}),J[bs(0x3c3)][K]=Q,J['_lastQ']=K,a0Z(J),console[bs(0x2c1)](a0L[bs(0x210)](bs(0xc5)));const W=J['session'][bs(0x239)];if(W&&bs(0x266)!==J[bs(0x110)][bs(0x3b7)]){const Z=(a0W()[bs(0x321)]||bs(0x105))+'/api/icoa/exams/'+J[bs(0x110)]['examId']+'/answer',a0={};a0[bs(0x39e)]='application/json';const a1={};a1[bs(0x239)]=W,a1['question']=K,a1[bs(0x2fa)]=Q,fetch(Z,{'method':bs(0x383),'headers':a0,'body':JSON[bs(0x1e9)](a1),'signal':AbortSignal[bs(0x15f)](-0x3f*-0x20+0x587*0x1+0x621)})['catch'](()=>{});}const X=Object['keys'](J[bs(0x3c3)])[bs(0x32d)],Y=J[bs(0x110)][bs(0xd9)];if(a0a9('Q'+K+':\x20'+Q+bs(0xbf)+X+'/'+Y+bs(0xee)),bs(0x266)===J[bs(0x110)]['examId']&&L[bs(0x2fa)]){const a2=[bs(0x160),bs(0x2a0),bs(0x149),bs(0xf9),bs(0x3c2)],a3=[bs(0x263),bs(0x19c),bs(0x28a)],a4=Q===L[bs(0x2fa)]?a2:a3,a5=a4[Math[bs(0x261)](Math[bs(0x3c5)]()*a4['length'])];console[bs(0x2c1)](a0L['gray'](bs(0x36a)+a5));}if(K<J[bs(0x2c7)][bs(0x32d)]){const a6=J[bs(0x2c7)][K];J[bs(0x35c)]=a6[bs(0xff)],a0Z(J),U(a6,J[bs(0x3c3)][a6[bs(0xff)]]);}else X>=J[bs(0x2c7)]['length']&&(console[bs(0x2c1)](),console[bs(0x2c1)](a0L[bs(0x224)][bs(0x254)](bs(0x1d5))),console['log'](),bs(0x266)===J[bs(0x110)]['examId']?(console[bs(0x2c1)](a0L['white'](bs(0x219))+a0L[bs(0x254)][bs(0x238)](bs(0xe3))+a0L[bs(0x324)](bs(0x24e))),console[bs(0x2c1)]()):console[bs(0x2c1)](a0L[bs(0x324)](bs(0x1af))));}),B['command'](be(0x1d7))[be(0x235)](be(0x278))[be(0x21c)](()=>{const bu=be;a0a8(bu(0x15d));const F=a0Y();if(!F)return void a0aa(bu(0x316));a0ae('Review:\x20'+F[bu(0x110)][bu(0x141)]),O(),console[bu(0x2c1)]();let G='\x20\x20';const H=Array['isArray'](F['bookmarks'])?F[bu(0x1e8)]:[];for(const Q of F[bu(0x2c7)]){const V=F[bu(0x3c3)][Q[bu(0xff)]],W=H[bu(0x20e)](Q[bu(0xff)]),X=W?'★':'\x20';G+=V?W?a0L['bold']['yellow']('Q'+String(Q[bu(0xff)])[bu(0x391)](0x16e*0xf+0x1d3b+-0x7*0x73d)+X+'['+V+']\x20'):a0L[bu(0x224)]('Q'+String(Q['number'])[bu(0x391)](-0x14e*-0x17+-0x1497+-0x969)+'\x20['+V+bu(0x2ef)):W?a0L[bu(0x254)][bu(0x232)]('Q'+String(Q['number'])[bu(0x391)](0x12f*-0x17+0x374+-0x1*-0x17c7)+X+'[\x20]\x20\x20'):a0L[bu(0x232)]('Q'+String(Q['number'])[bu(0x391)](0x1592+-0x69e*-0x3+0x1f*-0x156)+bu(0x15b)),Q[bu(0xff)]%(-0x103+0xf47*0x2+-0x1d85*0x1)==-0x2457+-0x66*-0x5d+-0xb7*0x1&&(console['log'](G),G='\x20\x20');}G[bu(0x145)]()&&console[bu(0x2c1)](G);const J=Object['keys'](F[bu(0x3c3)])['length'],K=F[bu(0x110)][bu(0xd9)],L=K-J;if(console[bu(0x2c1)](),a0af('Answered',a0L['green']['bold'](J+'/'+K)),L>-0x1efe+0x2614+-0x716){const Y=F[bu(0x2c7)][bu(0xd0)](Z=>!F[bu(0x3c3)][Z[bu(0xff)]])[bu(0xdb)](Z=>Z[bu(0xff)])[bu(0x360)](',\x20');a0af(bu(0x1f6),a0L[bu(0x232)](L+bu(0x187)+Y+')'));}H['length']>-0x406+0x4ae+-0xa8&&a0af(bu(0x2d3),a0L['bold']['yellow']('★\x20'+H['length'])+a0L[bu(0x210)]('\x20('+H[bu(0xdb)](Z=>'Q'+Z)[bu(0x360)](',\x20')+')')),console[bu(0x2c1)](),H[bu(0x32d)]>0x1*-0x6a+0x24d*0x1+0x1e3*-0x1&&console['log'](a0L[bu(0x210)]('\x20\x20Jump\x20to\x20a\x20flagged\x20question:\x20')+a0L[bu(0x324)]('exam\x20q\x20'+H[0x2*0xc95+-0x2*-0x7c9+-0x28bc])),console[bu(0x2c1)](a0L[bu(0x210)]('\x20\x20Ready?\x20Use\x20')+a0L[bu(0x254)][bu(0x238)]('exam\x20submit')+a0L[bu(0x210)]('\x20to\x20submit\x20for\x20grading.'));}),B[be(0x29c)](be(0x30e))[be(0x235)](be(0x1c5))['action'](async(J,K)=>{const bv=be;a0a8('exam\x20submit\x20'+(J||'')+'\x20'+(K||''));const L=a0Y();if(L&&bv(0x24c)===J&&!K&&(L[bv(0x280)]=!(0x24d8*-0x1+0x25*0x89+0x110b),a0Z(L)),!L)return void a0aa(bv(0x316));const Q=Object['keys'](L[bv(0x3c3)])['length'],V=L[bv(0x110)][bv(0xd9)],W=V-Q;if(0x14ea+-0x8*0x285+-0xc2===Q){const a0=a0a1(),a1=a0&&new Date()>=a0;return void('demo-free'===L[bv(0x110)]['examId']||a1?(a0a0(),a0ab(bv(0x2f3)),a0ac('Type:\x20demo\x20to\x20start\x20again.')):(a0ab(bv(0xec)),a0ac(bv(0x1a0))));}const X=a0a1(),Y=!!(X&&new Date()>=X);if('demo-free'!==L[bv(0x110)][bv(0x3b7)]&&!Y&&bv(0x24c)===J&&Q<-0x164*0xa+0x26a9+-0x18b7){if((K||'')['trim']()!==String(Q))return console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x19e)](bv(0x32b))),console[bv(0x2c1)](a0L[bv(0x254)][bv(0x19e)](bv(0x2f8)+Q+'/'+V+bv(0xe2))),console[bv(0x2c1)](a0L['red'](bv(0x32b))),console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x324)](bv(0x23c))+a0L[bv(0x254)][bv(0x232)](''+Q)+a0L[bv(0x324)]('\x20of\x20')+a0L[bv(0x324)](''+V)+a0L[bv(0x324)](bv(0x2af))),console[bv(0x2c1)](a0L[bv(0x324)](bv(0x207))+a0L['bold'][bv(0x19e)](Q+'/'+V+bv(0x31e))),console[bv(0x2c1)](),console[bv(0x2c1)](a0L['bold'][bv(0x324)](bv(0x3c4))),console[bv(0x2c1)](a0L['gray'](bv(0x26f))+a0L[bv(0x238)]('exam\x20q\x201')+a0L[bv(0x210)](bv(0x30f))),console['log'](a0L[bv(0x210)]('\x20\x20\x20\x20')+a0L['cyan'](bv(0x15d))+a0L[bv(0x210)](bv(0xdd))),console[bv(0x2c1)](),console['log'](a0L[bv(0x254)]['white'](bv(0x116))+a0L[bv(0x254)]['yellow'](''+Q)+a0L[bv(0x254)][bv(0x324)](bv(0x2fd))),console[bv(0x2c1)](a0L[bv(0x210)]('\x20\x20\x20\x20')+a0L[bv(0x254)][bv(0x238)](bv(0x257)+Q)),console[bv(0x2c1)](a0L[bv(0x210)](bv(0x1ee)+Q+bv(0x1a2))),console[bv(0x2c1)](),void(L[bv(0x280)]&&(delete L[bv(0x280)],a0Z(L)));L[bv(0x280)]=!(0x3*-0x355+0x1*0x1b79+-0x117a*0x1),a0Z(L);}if(bv(0x266)!==L[bv(0x110)][bv(0x3b7)]){const a2=!(0x12cd*-0x1+0x138c+-0xbf)===L[bv(0x280)],a3=a0a1(),a4=!!(a3&&new Date()>=a3);if(!a2&&!a4){if(console['log'](),console[bv(0x2c1)](a0L[bv(0x19e)](bv(0x101))),console[bv(0x2c1)](a0L[bv(0x254)]['red'](bv(0x2e4))),console[bv(0x2c1)](a0L[bv(0x19e)](bv(0x101))),console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x324)]('\x20\x20You\x20will\x20submit\x20'+a0L[bv(0x254)][bv(0x224)](Q+'/'+V)+bv(0x3c9))),W>-0x3b6*0xa+0x19e6+-0x29*-0x46){const a6=L[bv(0x2c7)][bv(0xd0)](a7=>!L[bv(0x3c3)][a7[bv(0xff)]])[bv(0xdb)](a7=>'Q'+a7[bv(0xff)])[bv(0x360)](',\x20');console[bv(0x2c1)](a0L['yellow']('\x20\x20'+W+bv(0x21e)+a6));}const a5=Array['isArray'](L[bv(0x1e8)])?L['bookmarks']:[];return a5[bv(0x32d)]>0x783+0x216f+-0xda6*0x3&&console['log'](a0L[bv(0x232)](bv(0x269)+a5[bv(0x32d)]+bv(0x13b)+a5['map'](a7=>'Q'+a7)[bv(0x360)](',\x20'))),console['log'](),console[bv(0x2c1)](a0L[bv(0x324)](bv(0x1ce))+a0L[bv(0x254)]['red']('final')+a0L['white'](bv(0x2da))),console[bv(0x2c1)](),console['log'](a0L[bv(0x254)][bv(0x324)](bv(0x289))+a0L[bv(0x254)][bv(0x238)]('exam\x20submit\x20confirm')),console[bv(0x2c1)](a0L[bv(0x324)](bv(0x28e))+a0L[bv(0x238)]('exam\x20review')+a0L['gray'](bv(0x3b5))+a0L[bv(0x238)]('back')),void console[bv(0x2c1)]();}a2&&(delete L[bv(0x280)],a0Z(L));}if(console['log'](),bv(0x266)===L[bv(0x110)][bv(0x3b7)]){try{E(-0x11c1+0xb16+0x6ab,a0ai(bv(0x124))),await q(-0x1b33+-0x15*0x8f+0x281a);let a7=0x233e+0x1271*0x1+-0x35af;const a8=[],a9={};for(const al of L[bv(0x2c7)]){const am=al[bv(0x32f)]||'Other',an={};an['correct']=0x0,an[bv(0x14b)]=0x0,(a9[am]||(a9[am]=an),a9[am]['total']++);const ao=L['answers'][al[bv(0xff)]];ao&&al['answer']&&ao===al[bv(0x2fa)]?(a7++,a9[am][bv(0x12a)]++):a8[bv(0x26c)](al[bv(0xff)]);}a8['sort']((ap,aq)=>ap-aq),E(0x360*0x6+-0x30*-0x71+-0x290c,a0ai(bv(0x2c2))),console[bv(0x2c1)]();const aa=new Date(L[bv(0x110)][bv(0xbe)])[bv(0x1e7)](),ab=Math[bv(0x3c6)](0x31f+0x1fe1*0x1+-0x2300,Math[bv(0x359)]((Date[bv(0x32c)]()-aa)/(0x13*-0x115+-0x1*0xaed+-0x25c*-0xf))),ac=Math[bv(0x261)](ab/(0xcb*0x10+0x1b3e+0x27b2*-0x1))+'m\x20'+ab%(0x2513+-0x23b5+0x122*-0x1)+'s',ad=[...L['questions']],ae={...L['answers']},af=R(L);a0a0();const ag=Math[bv(0x359)](a7/V*(-0x8de+-0x1605+0x33*0x9d)),ah=a0W(),ai={};ai['Content-Type']=bv(0x3c1),(fetch(bv(0x2b5),{'method':bv(0x383),'headers':ai,'body':JSON[bv(0x1e9)]({'type':bv(0xd5),'score':a7,'total':V,'lang':ah[bv(0x1a4)]||'en','help_used':af[bv(0x2d7)],'help_max':af[bv(0x3c6)],'tokens_used':0x0,'solved':ag>=-0x401+-0x17c*0x18+0xd*0x311?-0x117*-0x1e+-0x1*0x12d6+-0x1*0xddb:0xad*0xd+0xf3c+-0x1805,'timestamp':new Date()['toISOString'](),'interactions':L[bv(0x397)]||[]}),'signal':AbortSignal['timeout'](0x422*0x1+-0x5*0x5a+0x18*0xb7)})[bv(0xaf)](()=>{}),console['log'](),console[bv(0x2c1)](a0L[bv(0x238)]('\x20\x20═══════════════════════════════════════')),console['log'](),console[bv(0x2c1)](a0L[bv(0x254)][bv(0x324)](bv(0x1db))),console[bv(0x2c1)](a0L[bv(0x254)][bv(0x324)](bv(0x1e1))),console[bv(0x2c1)](a0L[bv(0x254)]['white'](bv(0x25e))),console[bv(0x2c1)](a0L[bv(0x254)][bv(0x324)](bv(0x39b))),console[bv(0x2c1)](a0L[bv(0x254)][bv(0x324)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bv(0x2c1)](a0L[bv(0x254)]['white']('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x254)](bv(0xb2)+a0ai(bv(0x1e3))+':\x20'+a7+'/'+V+'\x20('+ag+'%)')),console['log'](a0L[bv(0x254)]('\x20\x20\x20'+(ag>=0xbb*-0xb+-0x6af*0x1+0xef4?a0L[bv(0x224)](a0ai(bv(0x17c))):a0L[bv(0x19e)](a0ai(bv(0x38e)))))),console[bv(0x2c1)](a0L[bv(0x210)](bv(0x32e)+ac)),console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x232)](bv(0x119))),console[bv(0x2c1)](a0L[bv(0x210)](bv(0x1bc))),console[bv(0x2c1)](),console['log'](a0L['cyan'](bv(0x167))),await q(0xe*0x19e+-0x2*0xe69+0x11e6));const aj=Object[bv(0x18b)](a9);if(aj['length']>0x27f*-0xb+0x1a2c+0x149*0x1){console[bv(0x2c1)](),console[bv(0x2c1)](a0L['bold'][bv(0x324)](bv(0x25c)));const ap=0x3*0xc9f+0x19*0xe5+-0x12*0x358;for(const [aq,ar]of aj){const as=ar[bv(0x14b)]>0x3*-0xef+0x3*0x79d+-0x26*0x87?Math[bv(0x359)](ar['correct']/ar[bv(0x14b)]*(0x107*0x1c+0x1*-0x20f9+0x499)):-0xf89+0x2*0x1227+-0x14c5,at=ar['total']>0x1bf*-0x2+0x3de*-0xa+0xe*0x303?Math[bv(0x359)](ar[bv(0x12a)]/ar[bv(0x14b)]*ap):-0x2494+-0xad7+0x2f6b,au=ap-at,av=as>=-0x3*-0x845+0x1*0xd2a+-0x25a9?a0L[bv(0x224)]:as>=0x31d*0x3+-0x4ea+0x13*-0x39?a0L['yellow']:a0L[bv(0x19e)],aw=av('█'[bv(0x399)](at))+a0L[bv(0x210)]('░'['repeat'](au));console['log'](bv(0x26f)+a0L[bv(0x324)](aq['padEnd'](-0x6fc+0x1143+-0xa33))+'\x20'+aw+'\x20\x20'+av(ar['correct']+'/'+ar[bv(0x14b)])+a0L['gray']('\x20('+as+'%)'));}console[bv(0x2c1)](),console['log'](a0L['cyan']('\x20\x20─────────────────────────────────────────────'));}const ak=a0a4(a7,V);if(a7===ak[bv(0x111)]&&ak[bv(0x213)]>0x1*0x22e1+0xe35+-0x3115&&a7>-0x1a9d+-0x1d7b+-0x1c0c*-0x2&&(console[bv(0x2c1)](),console[bv(0x2c1)](a0L['bold'][bv(0x224)](bv(0x330)))),a8[bv(0x32d)]>0x714+0x1*0xe71+0x1*-0x1585){const ax=ad[bv(0xd0)](ay=>a8[bv(0x20e)](ay[bv(0xff)]))['map'](ay=>({...ay}));a0a5(ax);}else a0a7();if(await q(-0x216e*-0x1+-0x11e+0xa4c*-0x2),a8[bv(0x32d)]>-0x1*0x2504+0x56f*0x1+0x1f95){console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x232)]('\x20\x20'+a8[bv(0x32d)]+'\x20'+a0ai(bv(0x1ba)))),console[bv(0x2c1)]();for(const ay of a8){const az=ad[bv(0x2d0)](aC=>aC[bv(0xff)]===ay);if(!az)continue;const aA=ae[ay],aB=az[bv(0x2fa)];console[bv(0x2c1)](a0L['white'](bv(0x3be)+ay+'.\x20'+az['text'])),aA?console[bv(0x2c1)](a0L['red']('\x20\x20\x20\x20'+a0ai(bv(0x1d4))+':\x20'+aA+'.\x20'+az[bv(0x361)][aA])):console['log'](a0L['yellow'](bv(0x26f)+a0ai(bv(0x1d4))+':\x20—')),aB&&console[bv(0x2c1)](a0L[bv(0x224)]('\x20\x20\x20\x20'+a0ai(bv(0x12a))+':\x20'+aB+'.\x20'+az[bv(0x361)][aB])),az[bv(0x1a9)]&&console[bv(0x2c1)](a0L['gray'](bv(0x164)+az[bv(0x1a9)])),console['log']();}}else console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x224)]('\x20\x20'+a0ai(bv(0x301))));await q(-0x19f1*-0x1+0x238f+-0x35b0),console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x238)](bv(0xe7))),console[bv(0x2c1)](a0L[bv(0x324)]('\x20\x20'+a0ai(bv(0x2a8))+'\x20')+a0L['bold'][bv(0x224)](bv(0x1a3))+a0L[bv(0x210)](bv(0x35e)+a0ai(bv(0xd7)))),console[bv(0x2c1)](a0L[bv(0x210)]('\x20\x20'+a0ai(bv(0x144)))),console[bv(0x2c1)](a0L['cyan'](bv(0xe7))),console['log']();}catch(aC){console[bv(0x2c1)](),a0aa(aC[bv(0x184)]);}return;}const Z=L[bv(0x110)][bv(0x239)];try{let aD;if(E(0x2*-0x3cd+0x1975+0x28d*-0x7,'Uploading\x20answers...'),Z){const aN={};aN[bv(0x39e)]='application/json';const aO={};aO[bv(0x1a3)]=0x0,aO[bv(0x318)]=0x0;const aP=a0W()[bv(0x321)]||'https://practice.icoa2026.au',aQ=await fetch(aP+'/api/icoa/exams/'+L[bv(0x110)][bv(0x3b7)]+bv(0xae),{'method':bv(0x383),'headers':aN,'body':JSON[bv(0x1e9)]({'token':Z,'answers':L[bv(0x3c3)],'interactions':L[bv(0x397)]||[],'aiUsage':L[bv(0x1b6)]||aO,'bookmarks':L[bv(0x1e8)]||[]}),'signal':AbortSignal[bv(0x15f)](0xfbb*0x4+0x1*-0x4234+0x3de0)});if(!aQ['ok']){const aR=await aQ[bv(0x2ff)]()['catch'](()=>({'message':bv(0x234)}));throw new Error(aR[bv(0x184)]||bv(0x234));}aD=(await aQ[bv(0x2ff)]())[bv(0x143)];}else{const aS=M();if(!aS)return;aD=await aS[bv(0x33c)](L[bv(0x110)][bv(0x3b7)],L[bv(0x3c3)]);}E(0x1213+0x179f*0x1+0x4*-0xa60,bv(0x247)),await q(-0x12a*-0x1d+0x1c97+-0x3d2d),E(0x167f+-0x94b+-0x10*0xcd,bv(0x11c)),console[bv(0x2c1)]();const aE={};aE[bv(0x1a3)]=0x0,aE['ctf4ai']=0x0;const aF={'answered':Object[bv(0x38b)](L[bv(0x3c3)])[bv(0x32d)],'total':L[bv(0x110)][bv(0xd9)],'bookmarks':Array[bv(0x21b)](L['bookmarks'])?L[bv(0x1e8)][bv(0x32d)]:-0xd0e+0x291*-0x5+0x19e3,'help':R(L),'aiUsage':L[bv(0x1b6)]||aE,'interactions':(L['interactions']||[])[bv(0x32d)],'durationMin':L['session'][bv(0xfc)]||0x259+-0x2f*0xa3+0x1b94,'confirmedAt':L['session'][bv(0xda)]||L[bv(0x110)]['startedAt'],'examId':L[bv(0x110)][bv(0x3b7)]};a0a0();const aG=Math['max'](-0x25*0xf9+0x2*-0x5d4+0x2fa5,Math[bv(0x359)]((Date[bv(0x32c)]()-new Date(aF['confirmedAt'])[bv(0x1e7)]())/(0x2546*-0x1+0xb8a+0x1da4))),aH=Math['floor'](aG/(-0x1350+0xdb*0xf+0x6b7)),aI=aG%(0x24b3+-0x2*-0xdd5+-0x1*0x4021);console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x238)](bv(0x3a1))),console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x254)][bv(0x324)](bv(0x1db))),console[bv(0x2c1)](a0L[bv(0x254)][bv(0x324)](bv(0x1e1))),console[bv(0x2c1)](a0L['bold'][bv(0x324)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bv(0x2c1)](a0L[bv(0x254)]['white'](bv(0x39b))),console[bv(0x2c1)](a0L[bv(0x254)][bv(0x324)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console['log'](a0L[bv(0x254)]['white'](bv(0xc7))),console[bv(0x2c1)]();const aJ=aD['passed']?a0L[bv(0x224)]['bold'](bv(0x37a)):a0L['yellow'][bv(0x254)]('\x20\x20\x20○\x20\x20Submission\x20accepted');console[bv(0x2c1)](aJ),console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x324)]('\x20\x20\x20Your\x20answers\x20have\x20been\x20recorded\x20and\x20sent\x20to\x20your\x20national')),console['log'](a0L[bv(0x324)]('\x20\x20\x20exam\x20center.\x20Final\x20scoring\x20and\x20selection\x20are\x20decided\x20by')),console['log'](a0L[bv(0x324)](bv(0x2eb))),console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x238)](bv(0xe7))),console[bv(0x2c1)](),console[bv(0x2c1)](a0L['bold'][bv(0x324)](bv(0x287)));const aK=aF[bv(0x14b)]-aF['answered'];console[bv(0x2c1)](bv(0x26f)+a0L['gray'](bv(0xbc))+a0L[bv(0x324)](aF[bv(0x293)]+'/'+aF[bv(0x14b)])+(aK>-0x84f+-0xe73+0x3*0x796?a0L[bv(0x210)](bv(0x306)+aK+'\x20skipped'):'')),console['log'](bv(0x26f)+a0L['gray']('Time\x20used:\x20')+a0L[bv(0x324)](aH+'m\x20'+aI+'s')+a0L[bv(0x210)](bv(0x2e5)+aF['durationMin']+bv(0x29b))),aF['bookmarks']>-0x142c+-0x1d0f+0x313b&&console[bv(0x2c1)]('\x20\x20\x20\x20'+a0L[bv(0x210)]('Flagged:\x20\x20\x20')+a0L[bv(0x232)]('★\x20'+aF[bv(0x1e8)])),console[bv(0x2c1)]();const aL=aD[bv(0x3aa)];if(aL&&Object[bv(0x38b)](aL)[bv(0x32d)]>=-0x525+0x1d8f+0xb*-0x238){const aT=Object[bv(0x18b)](aL)['filter'](([,aY])=>aY[bv(0x14b)]>-0x10dd+0x234b+-0x126e)[bv(0xdb)](([aY,aZ])=>({'cat':aY,'pct':aZ[bv(0x12a)]/aZ[bv(0x14b)]}))[bv(0x1f8)]((aY,aZ)=>aZ[bv(0x279)]-aY[bv(0x279)]),aU=Math[bv(0x264)](-0x1fa4+-0x2e*-0xcb+0x2*-0x26a,Math['ceil'](aT[bv(0x32d)]/(-0x1a3e+-0x397*0x5+0x2c34))),aV=Math[bv(0x264)](-0x78*0x49+0x2*-0x1218+0x466a,Math['ceil'](aT[bv(0x32d)]/(0x876+-0x241a+0x1ba7*0x1))),aW=aT['slice'](0x348+-0x10c0+0xd78,aU)[bv(0xdb)](aY=>aY[bv(0x1fd)]),aX=aT[bv(0x2a6)](-aV)[bv(0xdb)](aY=>aY[bv(0x1fd)]);aW[bv(0x328)](aY=>aX['includes'](aY))||(console[bv(0x2c1)](a0L[bv(0x254)]['white'](bv(0x3a4))),console[bv(0x2c1)]('\x20\x20\x20\x20'+a0L['green'](bv(0x2f1))+a0L[bv(0x324)](aW[bv(0x360)](',\x20'))),console['log'](bv(0x26f)+a0L[bv(0x232)](bv(0x286))+a0L[bv(0x324)](aX[bv(0x360)](',\x20'))),console['log'](a0L[bv(0x210)]('\x20\x20\x20\x20(relative\x20to\x20other\x20categories\x20—\x20numeric\x20scores\x20go\x20to\x20your\x20exam\x20center)')),console['log']());}console[bv(0x2c1)](a0L['bold'][bv(0x324)](bv(0x357))),console[bv(0x2c1)]('\x20\x20\x20\x20'+a0L[bv(0x210)](bv(0x189))+a0L[bv(0x324)](aF[bv(0x38d)][bv(0x2d7)]+'/'+aF['help'][bv(0x3c6)])),console['log'](bv(0x26f)+a0L[bv(0x210)](bv(0x354))+a0L[bv(0x324)](aF[bv(0x1b6)][bv(0x1a3)]+bv(0x26b))+a0L[bv(0x210)](bv(0x306))+a0L[bv(0x324)](aF[bv(0x1b6)]['ctf4ai']+bv(0x341))),console[bv(0x2c1)](),console['log'](a0L[bv(0x238)](bv(0xe7))),console[bv(0x2c1)](),console['log'](a0L[bv(0x254)]['white'](bv(0x2df))),console['log'](a0L['gray']('\x20\x20·\x20Your\x20national\x20organizer\x20will\x20announce\x20selection\x20results.')),console[bv(0x2c1)](a0L[bv(0x210)](bv(0x1b1))+a0L[bv(0x324)](bv(0x206))+a0L[bv(0x210)](bv(0x3b2))),console[bv(0x2c1)](a0L[bv(0x210)](bv(0xba))+a0L[bv(0x324)](bv(0xfb))),console[bv(0x2c1)]();const {showCToBUpgradePrompt:aM}=await import(bv(0x228));aM(aF[bv(0x3b7)],aD[bv(0x17c)]),console[bv(0x2c1)](a0L[bv(0x232)]('\x20\x20ICOA\x202026\x20·\x20Sydney,\x20Australia\x20·\x20Jun\x2027\x20–\x20Jul\x202')),console[bv(0x2c1)](a0L['cyan'][bv(0xe8)](bv(0x1da))),console[bv(0x2c1)](),console[bv(0x2c1)](a0L[bv(0x238)]('\x20\x20═════════════════════════════════════════════')),console[bv(0x2c1)]();}catch(aY){console[bv(0x2c1)](),a0aa(aY[bv(0x184)]);}}),B['command'](be(0x1a1))[be(0x235)](be(0x378))[be(0x21c)](async F=>{const bw=be;a0a8('exam\x20result\x20'+(F||''));const G=M();if(!G)return;if(!F){const J=a0Y();if(!J)return void a0aa(bw(0x11a));F=J[bw(0x110)][bw(0x3b7)];}const H=a0ag(bw(0x17f));H['start']();try{const K=await G[bw(0x159)](F);H['succeed']('Result\x20loaded'),console[bw(0x2c1)](),a0ae(K['examName']),a0af('Score',a0L[bw(0x254)](K[bw(0x1e3)]+'/'+K[bw(0x14b)])),a0af(bw(0x27b),a0L['bold'](K[bw(0x2aa)]+'%')),a0af(bw(0x14f),K[bw(0x17c)]?a0L[bw(0x224)][bw(0x254)](bw(0x386)):a0L['red'][bw(0x254)](bw(0x21a))),a0af(bw(0x14e),K[bw(0x2e1)]),console[bw(0x2c1)]();}catch(L){H[bw(0x2ba)](bw(0x2f0)),a0aa(L[bw(0x184)]);}}),B[be(0x29c)](be(0x1a6))[be(0x235)](be(0x137))['action'](async J=>{const bx=be;a0a8(bx(0x2e9)+J);const {getRealExamState:K,saveExamState:L,clearExamState:Q}=await import(bx(0x2bb)),V=K();if(V){const a2=V[bx(0x110)]['token'],a3=a0a1(),a4=!!a2&&a2[bx(0x145)]()[bx(0x20c)]()!==J[bx(0x145)]()[bx(0x20c)](),a5=!!a3&&a3[bx(0x1e7)]()+(-0x8bf*-0xce+0x2d4d7e+-0x18dff0)<Date[bx(0x32c)]();if(a4&&a5)return Q(),console['log'](),console[bx(0x2c1)](a0L[bx(0x210)](bx(0x339))),console[bx(0x2c1)](),console['log'](a0L[bx(0x324)](bx(0x12b))+a0L[bx(0x254)][bx(0x238)](bx(0x300)+J)),void console['log']();if(!a2&&J)return V[bx(0x110)][bx(0x239)]=J[bx(0x145)](),L(V),console[bx(0x2c1)](),console[bx(0x2c1)](a0L[bx(0x224)](bx(0x12e))),console[bx(0x2c1)](a0L['gray']('\x20\x20\x20\x20You\x20can\x20now\x20use:\x20')+a0L[bx(0x324)](bx(0x3b9))+a0L[bx(0x210)](bx(0x12f))+a0L[bx(0x324)](bx(0xe3))),console[bx(0x2c1)](),console['log'](a0L['bold']['white']('\x20\x20Continue\x20this\x20exam:')),console[bx(0x2c1)](a0L[bx(0x210)](bx(0x164))+a0L[bx(0x254)][bx(0x238)](bx(0x2a3))+a0L[bx(0x210)](bx(0xea))),console[bx(0x2c1)](a0L['gray'](bx(0x164))+a0L[bx(0x254)][bx(0x238)](bx(0x15d))+a0L['gray'](bx(0x3d5))),void console[bx(0x2c1)]();const a6=Object[bx(0x38b)](V['answers'])[bx(0x32d)],a7=V[bx(0x110)][bx(0xd9)],a8=a0a1(),a9=a8?Math[bx(0x3c6)](0xa2a*-0x3+-0x2d6+0x2154,Math['round']((a8[bx(0x1e7)]()-Date[bx(0x32c)]())/(0x1*-0x98c9+-0x120ce+-0xb75*-0x3b))):null;return console[bx(0x2c1)](),console[bx(0x2c1)](a0L[bx(0x232)](bx(0x259))),console[bx(0x2c1)](),console[bx(0x2c1)](a0L[bx(0x210)](bx(0x156))+a0L[bx(0x324)](V[bx(0x110)][bx(0x141)])),a2&&console[bx(0x2c1)](a0L['gray'](bx(0x31d))+a0L[bx(0x324)](a2)+(a2===J?a0L[bx(0x224)](bx(0x33b)):a0L[bx(0x232)](bx(0x174)))),console[bx(0x2c1)](a0L[bx(0x210)](bx(0x102))+a0L['white'](a6+'/'+a7)),null!==a9&&console[bx(0x2c1)](a0L[bx(0x210)](bx(0x33a))+a0L['white'](a9+bx(0x183))),console[bx(0x2c1)](),console[bx(0x2c1)](a0L[bx(0x254)][bx(0x324)]('\x20\x20To\x20continue\x20this\x20exam:')),console[bx(0x2c1)](a0L['gray']('\x20\x20\x20\x20→\x20')+a0L['bold'][bx(0x238)](bx(0x2a3))+a0L[bx(0x210)](bx(0xea))),console[bx(0x2c1)](a0L['gray'](bx(0x164))+a0L[bx(0x254)]['cyan']('exam\x20review')+a0L[bx(0x210)]('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),console[bx(0x2c1)](a0L[bx(0x210)](bx(0x164))+a0L[bx(0x254)]['cyan']('exam\x20submit')+a0L['gray'](bx(0x1ed))),a2&&a2!==J&&(console[bx(0x2c1)](),console[bx(0x2c1)](a0L['yellow']('\x20\x20Note:\x20you\x20typed\x20a\x20different\x20token.\x20Each\x20exam\x20token\x20is\x20bound\x20to')),console['log'](a0L[bx(0x232)](bx(0x29f))),console[bx(0x2c1)](),console[bx(0x2c1)](a0L[bx(0x210)]('\x20\x20If\x20you\x20believe\x20this\x20is\x20wrong\x20(e.g.\x20expired\x20session,\x20wrong\x20paper')),console['log'](a0L[bx(0x210)]('\x20\x20issued),\x20please\x20contact\x20your\x20country\x20team\x20leader.'))),void console[bx(0x2c1)]();}const {isNativeWindowsCmd:W}=await import(bx(0x1b4));if(!W()&&!a0am()){let aa=!(-0x57*0x5a+0x19a1+0x4f6);try{const ab={};ab[bx(0x39e)]='application/json';const ac=a0W()[bx(0x321)]||bx(0x105),ad=await fetch(ac+bx(0xfe),{'method':'POST','headers':ab,'body':JSON['stringify']({'token':J['trim'](),'deviceHash':a0aj(),'peek':!(-0x91f*0x2+0x51e+0xd20)}),'signal':AbortSignal[bx(0x15f)](-0x1887+0x16*0x22+0x2923)});if(ad['ok']){const ae=await ad['json']();(ae?.['data']?.[bx(0x3ae)]||'')[bx(0x128)]('-c')&&(aa=!(0xbc2+-0x50d*-0x1+-0x14b*0xd));}}catch{}if(!aa)return console['log'](),a0ab(bx(0x23e)),console[bx(0x2c1)](a0L[bx(0x210)](bx(0xdf))+a0L[bx(0x254)][bx(0x238)](bx(0x2f7))),console[bx(0x2c1)](a0L[bx(0x210)](bx(0x3d1))+a0L[bx(0x254)][bx(0x238)](bx(0x334))+a0L[bx(0x210)](bx(0x332))),console['log'](a0L[bx(0x210)]('\x20\x20(Paper\x20C\x20tokens\x20skip\x20this\x20gate\x20—\x20Paper\x20C\x20is\x20MCQ-only)')),void console['log']();}const X={};X['UA']='uk',X['PE']='es',X['CN']='zh',X['AU']='en',X['JP']='ja',X['KR']='ko',X['BR']='pt',X['SA']='ar',X['FR']='fr',X['DE']='de',X['IN']='hi',X['ID']='id',X['TH']='th',X['VN']='vi',X['TR']='tr',X['RU']='ru',X['EG']='ar',X['HT']='ht',X['PH']='en',X['MY']='en',X['MM']='en',X['SG']='en',X['ZA']='en',X['KE']='sw',X['TZ']='sw',X['MO']='zh',X['UZ']='uz',X['GH']='en',X['LA']='lo',X['BD']='bn',X['BI']='fr',X['US']='en',X['UK']='en',X['NZ']='en',X['LK']='si',X['BW']='en';const Y=X[J[bx(0x145)]()['substring'](0x4*0x85+0x1a84+-0x1c98,-0x43a+0x1287+-0xe4b)[bx(0x20c)]()],Z=a0W(),a0=Z['ctfdUrl']||bx(0x105),a1=Y||Z[bx(0x1a4)]||'en';Y&&Y!==(Z['language']||'en')&&a0X({'language':Y}),console[bx(0x2c1)](),E(-0x1ffd+0xdc6+0x1237,bx(0x242));try{const af={};af[bx(0x39e)]=bx(0x3c1);const ag=await fetch(a0+bx(0xfe),{'method':bx(0x383),'headers':af,'body':JSON['stringify']({'token':J[bx(0x145)](),'deviceHash':a0aj(),'lang':a1}),'signal':AbortSignal[bx(0x15f)](-0xb77*-0x3+0xa*0x640+-0x23*0x1a7)});if(!ag['ok']){E(-0x3f*-0x8f+-0x2158+-0x1d9,''),console[bx(0x2c1)]();const ao=await ag[bx(0x2ff)]()[bx(0xaf)](()=>({'message':'Invalid\x20token'}));return a0aa(ao[bx(0x184)]||'Invalid\x20exam\x20token'),void a0ac(bx(0x2ea));}E(-0x21a2+0x172a+0xa96,bx(0x30a));const ah=await ag[bx(0x2ff)](),{session:ai,questions:aj,languages:ak}=ah[bx(0x143)];E(-0x12e*0xe+-0xb3e*0x1+0x1bfe,bx(0x1b0)),await q(0x19b0+-0xa57*0x3+0x61d),E(0x29*-0xad+0x1115+0xb04,'Ready!'),console[bx(0x2c1)](),console[bx(0x2c1)](),a0ae(ai[bx(0x141)]),console[bx(0x2c1)](),a0af(bx(0x25b),ai[bx(0xd9)]+bx(0x2db)),a0af(bx(0x2dc),ai['durationMinutes']+bx(0x201)),a0af(bx(0x1b2),(ai['totalScore']||0x25e*0x2+-0x6a+-0x3bc)+bx(0x356)),a0af(bx(0x154),(ai[bx(0x34b)]||0x17b5+0x20f1+-0x385b)+bx(0x31a)),console[bx(0x2c1)](),console[bx(0x2c1)](a0L[bx(0x324)](bx(0xc0))),console[bx(0x2c1)](a0L[bx(0x324)](bx(0x113))),console[bx(0x2c1)](a0L[bx(0x324)](bx(0x292))),console['log'](a0L[bx(0x324)](bx(0x2cd))),ak&&ak[bx(0x32d)]>-0x19*-0xbe+0xc2*-0x3+-0x1*0x1047&&console[bx(0x2c1)](a0L['white'](bx(0x16a)+ak[bx(0x360)](',\x20')+'\x20—\x20switch\x20with:\x20lang\x20<code>')),console['log'](),console[bx(0x2c1)](a0L[bx(0x232)]('\x20\x20Rules:')),console['log'](a0L[bx(0x324)](bx(0x230))),console[bx(0x2c1)](a0L['white'](bx(0x13c))),console['log'](a0L['white'](bx(0x243))),console['log'](),await new Promise(ap=>{const by=bx;process[by(0x1c3)]['write'](a0L['bold'][by(0x232)]('\x20\x20Press\x20Enter\x20to\x20start\x20the\x20exam\x20timer...\x20'));const aq=!!process['stdin'][by(0x372)]&&process['stdin'][by(0x262)];process[by(0x2a1)][by(0x372)]&&process[by(0x2a1)][by(0x17e)]&&process[by(0x2a1)]['setRawMode'](!(-0x2d5+0x1*0xe26+-0xb5*0x10));const ar=as=>{const bz=by,at=as[bz(0x2ae)]();(at[bz(0x20e)]('\x0a')||at[bz(0x20e)]('\x0d'))&&(process[bz(0x2a1)][bz(0x218)](bz(0x143),ar),process[bz(0x2a1)][bz(0x372)]&&process[bz(0x2a1)][bz(0x17e)]&&process['stdin'][bz(0x17e)](aq),process[bz(0x1c3)][bz(0x2ca)]('\x0a'),ap());};process[by(0x2a1)]['on'](by(0x143),ar),process[by(0x2a1)]['resume']();});const al=new Date()[bx(0x3ad)]();ai[bx(0xda)]=al,ai[bx(0x239)]=J['trim']();try{const ap=Date[bx(0x32c)](),aq=await fetch(a0+bx(0xd4),{'method':bx(0x271),'signal':AbortSignal[bx(0x15f)](0x1*-0x1795+0x1*-0x119f+-0x4*-0xd3b)});if(aq['ok']){const ar=await aq[bx(0x2ff)](),as=ar?.[bx(0x143)]?.[bx(0x36b)];if(bx(0xff)==typeof as&&as>-0x1abf+0xa67+-0x4*-0x416){const at=(ap+Date[bx(0x32c)]())/(0x147*0x12+0x1ef7+-0x35f3);ai[bx(0x3cf)]=Math[bx(0x359)](as-at),ai[bx(0x35a)]=as+(-0x9e6+0x5bd+0x465)*ai[bx(0xfc)]*(0x29*-0x8b+0xb*0x6d+0x157c);}}}catch{}const am={};am[bx(0x1a3)]=0x0,am['ctf4ai']=0x0;const an={};an[bx(0x110)]=ai,an['questions']=aj,an[bx(0x3c3)]={},an[bx(0x397)]=[],an[bx(0x1b6)]=am,(a0Z(an),console[bx(0x2c1)](),a0a9(bx(0x343)),a0af(bx(0x342),ai[bx(0xfc)]+bx(0x2a9)),aj[bx(0x32d)]>0x1cf0+0xa96+0x13c3*-0x2&&U(aj[0x105+-0x1448+0x1343]));}catch(au){console['log'](),bx(0x3d0)===au[bx(0x2fb)]?a0aa(bx(0x171)):a0aa(au['message']||'Failed\x20to\x20start\x20exam');}}),B['command'](be(0x127),{'hidden':!(0x2297+0xf2+0x2389*-0x1)})[be(0x235)](be(0x3c7))[be(0x21c)](async()=>{const bA=be;a0a8(bA(0x106));const {getRealExamState:F,clearExamState:G}=await import(bA(0x2bb)),H=F();if(!H)return console[bA(0x2c1)](),console[bA(0x2c1)](a0L[bA(0x210)]('\x20\x20No\x20active\x20exam\x20session\x20to\x20reset.')),void console[bA(0x2c1)]();const J=H[bA(0x110)][bA(0x239)];console['log'](),console['log'](a0L['yellow'](bA(0x350))),console['log'](a0L['gray'](bA(0x175))+a0L[bA(0x324)](H[bA(0x110)][bA(0x141)])),J&&console['log'](a0L[bA(0x210)](bA(0x217))+a0L['white'](J)),console[bA(0x2c1)](a0L[bA(0x210)](bA(0x1e5))),console[bA(0x2c1)](a0L['gray'](bA(0x3b1))),console[bA(0x2c1)](),console[bA(0x2c1)](a0L[bA(0x210)](bA(0x219))+a0L[bA(0x254)][bA(0x238)](bA(0x127))+a0L['gray'](bA(0x241)));const {getMainRl:K}=await import(bA(0x10e)),L=K();if('reset'!==(await new Promise(Q=>{const bB=bA;if(L){const V=L['listeners'](bB(0xd2))['slice']();L[bB(0x1b3)](bB(0xd2)),process[bB(0x1c3)][bB(0x2ca)](bB(0x1fc)),L[bB(0xf1)]('line',W=>{const bC=bB;for(const X of V)L['on'](bC(0xd2),X);Q(W['trim']());});}else((async()=>{const bD=bB,W={};W[bD(0x283)]=process['stdin'],W[bD(0xd8)]=process[bD(0x1c3)];const {createInterface:X}=await import('node:readline'),Y=X(W);Y[bD(0x19f)]('\x20\x20>\x20',Z=>{const bE=bD;Y[bE(0x362)](),Q(Z[bE(0x145)]());});})());}))['toLowerCase']())return console[bA(0x2c1)](a0L[bA(0x210)](bA(0x212))),void console[bA(0x2c1)]();G(),console['log'](),console[bA(0x2c1)](a0L['green']('\x20\x20✓\x20Exam\x20state\x20cleared.')),console[bA(0x2c1)](a0L[bA(0x210)](bA(0x265))+a0L[bA(0x254)][bA(0x238)](bA(0x11f))),console[bA(0x2c1)]();}),B[be(0x29c)](be(0x206))['description'](be(0x114))['action'](async()=>{const bF=be;a0a8('exam\x20demo'),N(bF(0x331));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import('../lib/demo-exam.js');a0W()[bF(0x325)]||(await(async function(){const bG=bF;let a0=!(-0x2369+-0xaa6*-0x1+0x18c4);const a1=process[bG(0x2a1)],a2=()=>{a0=!(0x2e1+0x1*0x2e7+-0x5c8);},a3=a1['isTTY']&&bG(0x27a)==typeof a1[bG(0x17e)];a3&&(a1[bG(0x17e)](!(-0xd*0x2f1+-0xdd3+0x3410)),a1[bG(0x1df)](),a1[bG(0xf1)](bG(0x143),a2));const a4=async a5=>{let a6=0xc25*0x3+-0x242b+-0x1*0x44;for(;a6<a5&&!a0;)await q(0x21c9+-0x8d4+-0x18a5),a6+=0x64b+-0xfc9*0x2+-0x1997*-0x1;};try{if(console[bG(0x39c)](),console[bG(0x2c1)](),console[bG(0x2c1)](a0L[bG(0x210)](bG(0xb2))+a0L[bG(0x1ca)]('(press\x20any\x20key\x20to\x20skip)')),console[bG(0x2c1)](),console[bG(0x2c1)](a0L['bold']['white'](bG(0x1db))),console['log'](a0L[bG(0x254)][bG(0x324)](bG(0x1e1))),console[bG(0x2c1)](a0L[bG(0x254)]['white'](bG(0x25e))),console['log'](a0L[bG(0x254)][bG(0x324)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bG(0x2c1)](a0L[bG(0x254)][bG(0x324)](bG(0x337))),console['log'](a0L[bG(0x254)][bG(0x324)](bG(0xc7))),console[bG(0x2c1)](),console['log'](a0L['bold'][bG(0x232)]('\x20\x20\x20International\x20Cyber\x20Olympiad\x20in\x20AI')),console[bG(0x2c1)](a0L['gray'](bG(0x36d))),await a4(0x1a6c+0x7*-0x48f+-0x5*-0x30d),a0)return;if(console['log'](),console[bG(0x2c1)](a0L[bG(0x324)](bG(0x2e2))),console[bG(0x2c1)](),await a4(-0x1*-0x3d7+0x1*0x1451+-0x1*0x15d0),a0)return;if(console['log'](a0L[bG(0x238)]('\x20\x20\x20\x20\x20▣\x20')+a0L[bG(0x324)](bG(0x38f))+a0L[bG(0x210)](bG(0x162))),await a4(0x1*-0x1b5+-0x2335+0xaf*0x3a),a0)return;if(console[bG(0x2c1)](a0L[bG(0x224)](bG(0x25f))+a0L[bG(0x324)](bG(0x369))+a0L[bG(0x210)](bG(0x21d))),await a4(-0x122d+0x23d1+0x18*-0x9f),a0)return;if(console[bG(0x2c1)](a0L[bG(0x19e)](bG(0x25f))+a0L['white'](bG(0x1cd))+a0L[bG(0x210)](bG(0x109))),await a4(-0x1*-0xa59+-0x4*-0x3cc+0x3*-0x757),a0)return;if(console['log'](),console[bG(0x2c1)](a0L[bG(0x254)]['white'](bG(0x310))+a0L[bG(0x254)][bG(0x232)]('IS')+a0L[bG(0x254)]['white']('\x20the\x20competition.')),console['log'](),await a4(-0x18c2*0x1+0x1751+0x59*0x15),a0)return;if(console[bG(0x2c1)](a0L[bG(0x210)](bG(0x1eb))),await a4(-0x1*-0xbc8+0xe*-0x89+-0x2ba*0x1),a0)return;if(console[bG(0x2c1)](a0L[bG(0x210)]('\x20\x20\x20·\x2015\x20languages,\x20real-time\x20AI\x20translation')),await a4(-0x116e*0x1+-0x1c55*0x1+-0x1*-0x2f53),a0)return;if(console[bG(0x2c1)](a0L[bG(0x210)](bG(0x3a8))),await a4(-0x123a+0x3ed+-0x3*-0x5cf),a0)return;console[bG(0x2c1)](),console[bG(0x2c1)](a0L[bG(0x254)][bG(0x238)](bG(0x250))),await a4(-0x4d*-0x13+0x2396+0x1*-0x19ad);}finally{((()=>{const bH=bG;if(a3){a1[bH(0x218)]('data',a2);try{a1[bH(0x17e)](!(-0x59*0x1b+0x1bd+0x7a7));}catch{}a1[bH(0x2b2)]();}})()),console['clear']();}}()),a0X({'demoIntroSeen':!(0x4*0x26+0x5f*-0x3f+0x1*0x16c9)})),console[bF(0x2c1)](),console['log'](a0L['white'](bF(0x1aa))+a0L[bF(0x210)](H+bF(0x30b)+J+'.\x20No\x20timer.\x20Free\x20practice.')),console['log'](a0L['gray']('\x20\x20You\x20can\x20pause\x20with\x20')+a0L[bF(0x238)](bF(0x29a))+a0L[bF(0x210)]('\x20or\x20leave\x20with\x20')+a0L[bF(0x238)](bF(0x334))+a0L[bF(0x210)]('\x20at\x20any\x20time.')),await new Promise(a0=>{const bI=bF;process['stdout'][bI(0x2ca)](a0L[bI(0x254)][bI(0x232)](bI(0xc4)));const a1=!!process[bI(0x2a1)][bI(0x372)]&&process[bI(0x2a1)][bI(0x262)];process[bI(0x2a1)][bI(0x372)]&&process[bI(0x2a1)][bI(0x17e)]&&process[bI(0x2a1)][bI(0x17e)](!(-0x81*-0x11+-0x1b52+0x12c2));const a2=a3=>{const bJ=bI,a4=a3[bJ(0x2ae)]();(a4[bJ(0x20e)]('\x0a')||a4[bJ(0x20e)]('\x0d'))&&(process[bJ(0x2a1)]['removeListener'](bJ(0x143),a2),process['stdin'][bJ(0x372)]&&process['stdin'][bJ(0x17e)]&&process[bJ(0x2a1)][bJ(0x17e)](a1),process['stdout'][bJ(0x2ca)]('\x0a'),a0());};process[bI(0x2a1)]['on']('data',a2),process[bI(0x2a1)][bI(0x1df)]();});const K=F(H),L=G(),{getDemoState:Q,clearExamState:V}=await import(bF(0x2bb));Q()&&V(bF(0x266)),console[bF(0x2c1)](),a0ae('ICOA\x20Demo\x20Exam\x20—\x20Free\x20Practice'),console[bF(0x2c1)](),console[bF(0x2c1)](a0L[bF(0x324)](bF(0x358))),console[bF(0x2c1)](a0L[bF(0x324)]('\x20\x20'+H+bF(0x312)+J+bF(0x199)));const W=a0a3();if(W['attempts']>0xf00+-0x356+-0xbaa){const a0=W[bF(0x35f)],a1=a0>=-0x369*-0x3+-0x76*-0x1+-0xa61?a0L[bF(0x224)]:a0>=0x81b+0x43*0x1+-0x6*0x15b?a0L[bF(0x232)]:a0L[bF(0x324)];console[bF(0x2c1)](),console[bF(0x2c1)](a0L[bF(0x210)](bF(0x2c6))+a1(W['best']+'/'+H+'\x20('+a0+'%)')+a0L[bF(0x210)]('\x20\x20·\x20\x20'+W['attempts']+bF(0x3a9)));}console[bF(0x2c1)](),console[bF(0x2c1)](a0L[bF(0x210)](bF(0x220))),console['log'](a0L[bF(0x324)]('\x20\x20'+a0ai(bF(0x168)))),console['log'](a0L[bF(0x232)](bF(0xce))+a0L[bF(0x210)](bF(0x281)+a0ai(bF(0x221)))),console['log'](a0L[bF(0x232)](bF(0x2ce))+a0L[bF(0x210)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ai(bF(0x23d)))),console['log'](a0L[bF(0x232)](bF(0x2d4))+a0L[bF(0x210)](bF(0x2a7))+a0L['yellow']('prev')+a0L[bF(0x210)]('\x20\x20\x20\x20'+a0ai(bF(0x203)))),console[bF(0x2c1)](a0L[bF(0x232)]('\x20\x20\x20\x20more\x20help')+a0L['gray'](bF(0x1f5)+a0ai(bF(0x2c0)))),console[bF(0x2c1)](a0L[bF(0x232)](bF(0x333))+a0L[bF(0x210)](bF(0x274)+a0ai(bF(0x131)))),console['log'](a0L['yellow'](bF(0x208))+a0L['gray'](bF(0x274)+a0ai(bF(0x3a6)))),console[bF(0x2c1)](a0L[bF(0x210)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20es\x20·\x20zh\x20·\x20ja\x20·\x20ko\x20·\x20ar\x20·\x20fr\x20·\x20pt')),console['log'](a0L[bF(0x210)](bF(0x1de))),console['log'](a0L[bF(0x210)](bF(0x220))),console[bF(0x2c1)]();const {getConfig:X}=await import(bF(0x392)),Y=X()['language']||'en';'en'===Y?(console[bF(0x2c1)](a0L['gray'](bF(0x1fb))),console[bF(0x2c1)](a0L['gray'](bF(0x368))),console['log'](a0L[bF(0x210)](bF(0x2e3)))):console[bF(0x2c1)](a0L[bF(0x224)](bF(0x14a)+Y)),console['log'](),console['log'](a0L['white'](bF(0x103)));const Z={...L,'startedAt':new Date()[bF(0x3ad)]()};console[bF(0x2c1)](),E(0x155d+0x17cc+-0x2d29*0x1,'Preparing\x20questions...'),await q(-0x1*-0x14e5+-0x5b3+0x2*-0x735),E(-0x1440+0x14af+0x1*-0x47,bF(0x138)),await q(-0x182+0x11c1+-0xf77),E(-0x9f9+-0x3*0x806+-0x225b*-0x1,bF(0x18d)),await q(0x2*0x3b3+-0x1869+0x1199),E(-0x15ca+-0x4a5*-0x7+0xa55*-0x1,bF(0x373)),console[bF(0x2c1)](),console[bF(0x2c1)](),a0Z({'session':Z,'questions':K,'answers':{},'_helpMax':0x5}),a0af(bF(0x25b),String(H)),a0af('Duration',bF(0x3b8)),U(K[0x6df*-0x1+0x294*0xd+-0x1*0x1aa5]);}),B['command']('demo-retry')[be(0x235)]('Retry\x20only\x20the\x20questions\x20you\x20got\x20wrong\x20last\x20demo\x20attempt')['action'](async()=>{const bK=be;a0a8(bK(0x303)),N(bK(0x1d2));const {getLocalizedDemoSession:F}=await import(bK(0x1d8)),G=a0a6();if(!G||-0x202f+0x40b*0x7+-0x3e2*-0x1===G['length'])return console[bK(0x2c1)](),console['log'](a0L[bK(0x232)](bK(0x284))+a0L['bold'][bK(0x238)]('demo')+a0L[bK(0x232)](bK(0xe6))),void console[bK(0x2c1)]();const H=a0Y();if(H){if(bK(0x266)!==H[bK(0x110)][bK(0x3b7)])return a0ab(bK(0x151)+H['session']['examName']+bK(0x2cb)),void a0ac(bK(0x2bd));a0a0();}const J=V=>{const bL=bK;if(!V[bL(0x2fa)])return V;const W=V[bL(0x361)][V[bL(0x2fa)]],X=['A','B','C','D'][bL(0xdb)](a2=>V[bL(0x361)][a2]);for(let a2=X[bL(0x32d)]-(0x1*-0x2173+0x2*-0x130d+0x478e);a2>0x2195*0x1+0x29*-0x72+0xf53*-0x1;a2--){const a3=Math[bL(0x261)](Math[bL(0x3c5)]()*(a2+(-0x3a9*-0x3+-0x16d1+0xbd7)));[X[a2],X[a3]]=[X[a3],X[a2]];}const Y={};Y['A']=X[-0x1867+0x85e+-0x1*-0x1009],Y['B']=X[0x1a3e*0x1+-0x38d*-0x7+-0x3318],Y['C']=X[0x1*0x22df+-0x2*-0xe2+-0x24a1],Y['D']=X[-0x1*-0x15b5+-0x4*0x5f3+0x2*0x10d];const Z=Y,a0=['A','B','C','D'][bL(0x2d0)](a4=>Z[a4]===W),a1={...V};return a1['options']=Z,a1[bL(0x2fa)]=a0,a1;},K=G[bK(0xdb)]((V,W)=>({...J(V),'number':W+(-0x2*-0x97+0x1*0x1c76+-0x1da3)})),L=F(),Q={...L,'examName':L[bK(0x141)]+bK(0x133),'questionCount':K[bK(0x32d)],'startedAt':new Date()[bK(0x3ad)]()};console['log'](),a0ae('Demo\x20Retry\x20—\x20Wrong\x20Questions\x20Only'),console[bK(0x2c1)](),console[bK(0x2c1)](a0L[bK(0x324)]('\x20\x20Practicing\x20'+K['length']+bK(0x3a7)+(-0x6c1+-0x305*-0xb+-0x1a75===K[bK(0x32d)]?'':'s')+'\x20you\x20got\x20wrong.')),console[bK(0x2c1)](a0L[bK(0x210)](bK(0x193))),console[bK(0x2c1)](),a0Z({'session':Q,'questions':K,'answers':{}}),a0af(bK(0x25b),String(K['length'])),a0af(bK(0x2dc),'No\x20time\x20limit'),U(K[-0x259b+-0x31*-0x49+0x17a2]);}),B[be(0x29c)](be(0x1e2))['description']('Install\x20Python\x20environment\x20for\x20practical\x20exam\x20questions')['action'](async()=>{const bM=be;if(a0a8(bM(0x2f7)),0x1690+0xa78+-0x2108===a0a3()[bM(0x213)])return console[bM(0x2c1)](),a0ab(bM(0x2ab)),console[bM(0x2c1)](a0L[bM(0x210)](bM(0xdf))+a0L[bM(0x254)]['cyan'](bM(0x123))),void console['log']();const J=a0ak();if(J){const a7=J['installedPackages'][bM(0x32d)],a8=a7+J[bM(0x3b0)][bM(0x32d)];if(a7>=0x12b*0x9+-0xd6*-0x1b+0x1*-0x210d||(a8>0x36f+-0x19ab+0x163c?a7/a8:-0x253d+-0x1*0xbf6+0x3133)>=-0x1baf*0x1+-0x1b9b+0x374a+0.7)return console[bM(0x2c1)](),console[bM(0x2c1)](a0L[bM(0x224)](bM(0x27e))+a0L[bM(0x224)]('Environment\x20already\x20set\x20up')),console['log'](a0L[bM(0x210)](bM(0x252)+J['completedAt'][bM(0x3af)]('T')[0x129*-0x1f+0x14f8+0xeff])),console[bM(0x2c1)](a0L[bM(0x210)]('\x20\x20\x20\x20Python:\x20'+J['pythonVersion'])),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x1d3)+a7+bM(0x396))),J['failedPackages'][bM(0x32d)]>0x2447+-0x2*-0xc32+0x3cab*-0x1&&console['log'](a0L['yellow']('\x20\x20\x20\x20Failed:\x20'+J[bM(0x3b0)]['join'](',\x20'))),console['log'](),console[bM(0x2c1)](a0L['white'](bM(0x353))+a0L['bold'][bM(0x238)](bM(0x11f))),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x3d1))+a0L['bold'][bM(0x238)]('back')+a0L['gray'](bM(0x332))),void console[bM(0x2c1)]();console['log'](),console[bM(0x2c1)](a0L[bM(0x232)]('\x20\x20Previous\x20setup\x20had\x20only\x20'+a7+'/'+a8+'\x20packages.\x20Retrying...')),console['log']();}console[bM(0x2c1)](),a0ae(bM(0x1f2)),console[bM(0x2c1)](),console[bM(0x2c1)](a0L['white']('\x20\x20Installing\x20Python\x20packages\x20for\x20practical\x20questions.')),console['log'](a0L[bM(0x210)](bM(0x348))),console[bM(0x2c1)]();const K=(a9,aa)=>{const bN=bM,ab=process['platform'];console[bN(0x2c1)](),a0aa('missing'===a9?'Python\x203\x20not\x20found.':bN(0x267)+aa+bN(0x349)),console[bN(0x2c1)](),console['log'](a0L[bN(0x254)]['white']('\x20\x20How\x20to\x20install\x20Python\x203.10+\x20(3.12\x20recommended):')),console['log'](),'darwin'===ab?(console[bN(0x2c1)](a0L[bN(0x232)]('\x20\x20macOS\x20(Homebrew,\x20recommended):')),console['log'](a0L[bN(0x224)](bN(0x12d))),console[bN(0x2c1)](),console[bN(0x2c1)](a0L[bN(0x210)](bN(0x1ec))),console[bN(0x2c1)](a0L['gray'](bN(0x18c)))):bN(0x136)===ab?(console[bN(0x2c1)](a0L[bN(0x232)](bN(0x23f))),console[bN(0x2c1)](a0L[bN(0x224)](bN(0x2f6))),console['log'](a0L[bN(0x224)](bN(0x34d))),console[bN(0x2c1)](a0L[bN(0x224)](bN(0x322))),console[bN(0x2c1)](a0L[bN(0x210)]('\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201')),console[bN(0x2c1)](),console[bN(0x2c1)](a0L['yellow'](bN(0x304))),console[bN(0x2c1)](a0L[bN(0x224)](bN(0x179))),console['log'](),console['log'](a0L['yellow'](bN(0x1ad))),console['log'](a0L['green'](bN(0x2dd)))):'win32'===ab?(console[bN(0x2c1)](a0L[bN(0x232)](bN(0x121))),console[bN(0x2c1)](a0L[bN(0x224)]('\x20\x20\x20\x20winget\x20install\x20Python.Python.3.12')),console[bN(0x2c1)](),console[bN(0x2c1)](a0L[bN(0x210)](bN(0x1ec))),console[bN(0x2c1)](a0L[bN(0x210)](bN(0x118)))):console['log'](a0L[bN(0x210)](bN(0x3b4))),console[bN(0x2c1)](),console[bN(0x2c1)](a0L[bN(0x324)](bN(0x186))+a0L[bN(0x254)]['cyan'](bN(0x2f7))),console[bN(0x2c1)]();},{execFileSync:L}=await import(bM(0x2cf)),Q=[bM(0x140),'python3.11',bM(0x351),bM(0xd3)];let V='',W='',X='';for(const a9 of Q)try{const aa=L(a9,['--version'],{'encoding':bM(0x371),'timeout':0x1388})[bM(0x145)]()[bM(0x20f)](bM(0x267),''),ab=aa[bM(0x3af)]('.')[bM(0xdb)](Number);if(-0x225f+0x1*0x12ef+0xf73===ab[-0x1*0x2528+-0x2203+0x472b]&&ab[-0x984+-0x9bf*-0x1+0x3a*-0x1]>=-0x141*0xf+0xb*-0x1a7+0x2506){V=a9,W=aa;break;}bM(0xd3)!==a9||X||(X=aa);}catch{}if(!V)return void(X?K(bM(0x11e),X):K(bM(0x196)));const Y=W['split']('.')[bM(0xdb)](Number);0xcc5*-0x1+0x281*0xb+0xec3*-0x1===Y[-0x29*0x77+0x79*-0x16+0x1*0x1d75]&&Y[-0xf0+-0xe*-0x58+-0x3df]<0x1b6e+0x1117+0x45*-0xa5?console[bM(0x2c1)](a0L[bM(0x224)](bM(0x1cf)+W)+a0L[bM(0x210)]('\x20(works,\x20but\x203.12\x20recommended)')):console[bM(0x2c1)](a0L[bM(0x224)](bM(0x1cf)+W));try{const ac={};ac[bM(0x100)]='ignore',ac['timeout']=0x1388,(a0an(V+bM(0x363),ac),console[bM(0x2c1)](a0L['green'](bM(0xb3))));}catch{console[bM(0x2c1)](a0L[bM(0x232)]('\x20\x20⚠\x20pip\x20not\x20found,\x20trying\x20ensurepip...'));try{const ad={};ad[bM(0x100)]=bM(0x394),ad[bM(0x15f)]=0x7530,(a0an(V+bM(0x2b0),ad),console[bM(0x2c1)](a0L[bM(0x224)](bM(0x2b4))));}catch{a0aa(bM(0x142)),console[bM(0x2c1)]();const {isInWSL:ae,isNativeWindowsCmd:af}=await import(bM(0x1b4)),{execFileSync:ag}=await import(bM(0x2cf)),ah=ae(),ai=af(),aj='linux'===process['platform']&&!ah,ak=bM(0x27d)===process['platform'];let al=bM(0x295);if(aj||ah)try{const {readFileSync:ao}=await import(bM(0x17a)),ap=ao(bM(0x147),bM(0x371)),aq=(ap[bM(0xde)](/^ID="?([^"\n]+)/m)||[])[-0x2*-0x1379+-0x206f+-0xe*0x77]||'',ar=(ap[bM(0xde)](/^VERSION_ID="?([^"\n]+)/m)||[])[0x2282+-0xe62+-0x141f]||'';bM(0x165)===aq?al=bM(0x245)+ar+(ah?bM(0x26d):''):aq&&(al=''+aq+(ar?'\x20'+ar:'')+(ah?'\x20(WSL2)':''));}catch{}let am=!(-0x1e77+-0x1*-0x259+0x1c1f);if(ak)try{const as={};as['stdio']=bM(0x394),as[bM(0x15f)]=0x7d0,(ag(bM(0x2bf),['brew'],as),am=!(0x1cd6+-0x2499+0x7c3));}catch{am=!(-0x2484+0x1282+-0x1d*-0x9f);}const an=ai?bM(0xc1):'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20sudo\x20cannot\x20run\x20inside\x20the\x20prompt';return console[bM(0x2c1)](a0L[bM(0x254)]['yellow']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x2c1)](a0L['bold'][bM(0x232)]('\x20\x20'+an)),console[bM(0x2c1)](a0L[bM(0x254)][bM(0x232)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bM(0x2c1)](),aj||ah?(console['log'](a0L[bM(0x324)](bM(0x31b))+a0L['cyan'](al)),console[bM(0x2c1)](a0L['gray'](bM(0x382))),console[bM(0x2c1)](),console[bM(0x2c1)](a0L[bM(0x254)]['white']('\x20\x20Step-by-step:')),console[bM(0x2c1)](),console[bM(0x2c1)](a0L['white'](bM(0x387))+a0L[bM(0x254)][bM(0x238)]('quit')+a0L[bM(0x324)](bM(0x338))),console[bM(0x2c1)](),console[bM(0x2c1)](a0L[bM(0x324)]('\x20\x20\x20\x202.\x20In\x20your\x20shell,\x20run:')),console[bM(0x2c1)](),console[bM(0x2c1)](bM(0x281)+a0L[bM(0x254)][bM(0x238)](bM(0x311))),console['log'](bM(0x281)+a0L[bM(0x254)][bM(0x238)]('sudo\x20apt\x20install\x20-y\x20python3-pip\x20python3-venv')),console['log'](),console[bM(0x2c1)](a0L[bM(0x324)](bM(0x3d4))),console[bM(0x2c1)](),console[bM(0x2c1)](bM(0x281)+a0L[bM(0x254)][bM(0x238)](bM(0x35b))),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x210)](bM(0x3ba))+'\x20'+a0L['bold'][bM(0x238)]('exam\x20setup'))):ak?(console[bM(0x2c1)](a0L['white'](bM(0x31b))+a0L[bM(0x238)](bM(0x253))),console[bM(0x2c1)](),console['log'](a0L['bold'][bM(0x324)]('\x20\x20Step-by-step:')),console[bM(0x2c1)](),console[bM(0x2c1)](a0L['white']('\x20\x20\x20\x201.\x20Type\x20')+a0L[bM(0x254)][bM(0x238)](bM(0x276))+a0L[bM(0x324)](bM(0x163))),console[bM(0x2c1)](),am?(console[bM(0x2c1)](a0L[bM(0x324)](bM(0x200))),console[bM(0x2c1)](),console[bM(0x2c1)](bM(0x281)+a0L[bM(0x254)][bM(0x238)]('brew\x20install\x20python@3.12')),console['log'](bM(0x281)+a0L['bold']['cyan'](bM(0x117)))):(console[bM(0x2c1)](a0L['white']('\x20\x20\x20\x202.\x20Install\x20Homebrew\x20first\x20(we\x20did\x20not\x20find\x20')+a0L[bM(0x254)][bM(0x232)](bM(0x18a))+a0L['white']('):')),console['log'](),console['log'](bM(0x281)+a0L[bM(0x254)][bM(0x238)]('/bin/bash\x20-c\x20\x22$(curl\x20-fsSL\x20https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\x22')),console[bM(0x2c1)](),console[bM(0x2c1)](a0L['white'](bM(0x32a))),console[bM(0x2c1)](),console[bM(0x2c1)](bM(0x281)+a0L[bM(0x254)][bM(0x238)](bM(0x2c3)))),console[bM(0x2c1)](),console[bM(0x2c1)](a0L['white'](bM(0x1cc))),console[bM(0x2c1)](),console['log'](bM(0x281)+a0L[bM(0x254)][bM(0x238)](bM(0x35b))),console[bM(0x2c1)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x210)](bM(0x3ba))+'\x20'+a0L[bM(0x254)][bM(0x238)](bM(0x2f7)))):ai?(console[bM(0x2c1)](a0L[bM(0x324)](bM(0x31b))+a0L['cyan'](bM(0x1dd))),console[bM(0x2c1)](),console[bM(0x2c1)](a0L[bM(0x254)][bM(0x232)](bM(0x248))),console['log'](a0L[bM(0x210)]('\x20\x20Native\x20Windows\x20can\x20run\x20Paper\x20C\x20(MCQ-only)\x20and\x20AI\x20chat,\x20but')),console['log'](a0L[bM(0x210)](bM(0x305))),console[bM(0x2c1)](a0L['gray']('\x20\x20far\x20more\x20smoothly\x20inside\x20WSL2\x20Ubuntu.')),console[bM(0x2c1)](),console[bM(0x2c1)](a0L[bM(0x254)][bM(0x324)](bM(0x170))),console['log'](),console['log'](a0L[bM(0x324)]('\x20\x20\x20\x201.\x20Type\x20')+a0L[bM(0x254)][bM(0x238)]('quit')+a0L['white']('\x20to\x20leave\x20icoa')),console['log'](a0L[bM(0x324)]('\x20\x20\x20\x202.\x20In\x20an\x20Administrator\x20PowerShell,\x20run:')),console[bM(0x2c1)](),console[bM(0x2c1)](bM(0x281)+a0L[bM(0x254)][bM(0x238)](bM(0x16b))),console['log'](),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x385))),console[bM(0x2c1)](a0L['white'](bM(0x2ee))),console[bM(0x2c1)](),console['log'](bM(0x281)+a0L['bold'][bM(0x238)](bM(0xb8))),console[bM(0x2c1)](bM(0x281)+a0L[bM(0x254)][bM(0x238)](bM(0x211))),console['log'](bM(0x281)+a0L['bold'][bM(0x238)](bM(0xfd))),console[bM(0x2c1)](bM(0x281)+a0L[bM(0x254)]['cyan']('icoa')),console[bM(0x2c1)](),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x24a))),console['log'](),console[bM(0x2c1)](a0L['white']('\x20\x20\x20\x201.\x20Type\x20')+a0L[bM(0x254)][bM(0x238)](bM(0x276))+a0L[bM(0x324)]('\x20to\x20leave\x20icoa')),console['log'](a0L[bM(0x324)](bM(0x3ac))),console[bM(0x2c1)](),console[bM(0x2c1)](bM(0x281)+a0L[bM(0x254)][bM(0x238)](bM(0x10f))),console[bM(0x2c1)](),console[bM(0x2c1)](a0L[bM(0x210)]('\x20\x20\x20\x20\x20\x20\x20(Or\x20download\x20from\x20python.org\x20and\x20CHECK\x20both\x20\x22Add\x20Python\x20to')),console[bM(0x2c1)](a0L['gray'](bM(0x202))),console[bM(0x2c1)](a0L['white'](bM(0x30d))),console[bM(0x2c1)](),console[bM(0x2c1)]('\x20\x20\x20\x20\x20\x20\x20'+a0L[bM(0x254)][bM(0x238)](bM(0x35b))),console[bM(0x2c1)](bM(0x281)+a0L['gray'](bM(0x3ba))+'\x20'+a0L[bM(0x254)][bM(0x238)](bM(0x2f7)))):(console[bM(0x2c1)](a0L[bM(0x324)]('\x20\x20Detected:\x20unrecognized\x20platform\x20(')+a0L[bM(0x238)](process[bM(0x176)])+a0L[bM(0x324)](')')),console['log'](),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x35d))),console[bM(0x2c1)](bM(0x281)+a0L[bM(0x254)][bM(0x238)](bM(0x35b))),console[bM(0x2c1)](bM(0x281)+a0L['gray'](bM(0x3ba))+'\x20'+a0L[bM(0x254)][bM(0x238)](bM(0x2f7)))),console['log'](),console['log'](a0L[bM(0x210)](bM(0xf2))),void console['log']();}}const Z={};Z[bM(0x188)]=bM(0xf0),Z[bM(0x30c)]='Crypto',Z[bM(0x166)]='z3',Z['pillow']=bM(0x370),Z[bM(0x172)]=bM(0x1e6),Z[bM(0x2e7)]='ropgadget';const a0=[bM(0x172),bM(0x3bf),bM(0x320),bM(0x188),bM(0x299),bM(0x22a),bM(0x379),bM(0x173),bM(0x166),'pycryptodome',bM(0x2e7),bM(0x2ac),bM(0x3c8)],a1=Z;console[bM(0x2c1)](),console[bM(0x2c1)](a0L['white'](bM(0x1fe)+a0[bM(0x32d)]+'\x20packages...')),console[bM(0x2c1)]();let a2='';try{const at={};at['encoding']=bM(0x371),at[bM(0x15f)]=0x2710,a0an(V+bM(0x227),at);}catch(au){const av=String(au?.[bM(0x1c3)]||au?.[bM(0x108)]||au?.[bM(0x184)]||'');/externally-managed-environment|break-system-packages/i[bM(0xc6)](av)&&(a2='--user\x20--break-system-packages',console[bM(0x2c1)](a0L[bM(0x232)]('\x20\x20ℹ\x20PEP\x20668\x20detected\x20—\x20using\x20--user\x20install\x20(no\x20sudo\x20needed)')),console[bM(0x2c1)]());}const a3=W['split']('.')[bM(0xdb)](Number);-0x158e+-0x92*-0x18+0x7e1===a3[0x2aa*-0x1+0x83*0x10+-0x586]&&a3[-0x1633*-0x1+0x1*0x24cb+-0x3afd]>=0x210a+-0x5*0x227+-0x2*0xb1d&&(console[bM(0x2c1)](a0L['yellow']('\x20\x20⚠\x20Python\x20'+W+bM(0x134))),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x346))),console[bM(0x2c1)](a0L['gray'](bM(0x38a))),bM(0x136)===process['platform']&&(console['log'](a0L['green'](bM(0x1b7))),console[bM(0x2c1)](a0L['green']('\x20\x20\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201'))),console[bM(0x2c1)]());const a4=[],a5=[];let a6='';for(const aw of a0)try{a0an(V+'\x20-m\x20pip\x20install\x20\x22'+aw+'\x22\x20'+a2+bM(0x225),{'encoding':bM(0x371),'timeout':0x2bf20,'stdio':'pipe'}),a0an(V+bM(0x389)+(a1[aw]||aw)+'\x22',{'stdio':bM(0x394),'timeout':0x2710});let ax='';try{const ay=a0an(V+bM(0x17d)+aw+bM(0x270),{'encoding':bM(0x371),'timeout':0x1388})[bM(0xde)](/^Version:\s*(.+)$/m);ay&&(ax=ay[-0x216a+-0x1f3c+0x40a7][bM(0x145)]());}catch{}console['log'](a0L[bM(0x224)](bM(0x27e)+aw)+(ax?a0L[bM(0x210)]('\x20('+ax+')'):'')),a4[bM(0x26c)](ax?aw+'=='+ax:aw);}catch(az){const aA=String(az?.['stdout']||az?.[bM(0x108)]||az?.['message']||'')[bM(0x2a6)](-(-0xcbf+-0x17f8+0x2647)),aB=aA[bM(0x3af)]('\x0a')[bM(0xd0)](aC=>aC[bM(0x145)]())[bM(0x2a6)](-(0x7*-0x119+0x9*0x301+-0x8*0x26b))[bM(0x360)](bM(0x297))[bM(0x2a6)](-0x9c5*-0x1+0x1159+-0x1b1e,0x1b1d+0x1e42+-0x38e7);console['log'](a0L[bM(0x19e)](bM(0x24f)+aw)+a0L[bM(0x210)]('\x20\x20'+aB)),a5['push']({'pkg':aw,'error':aB}),a6||(a6=aA);}0xc43*-0x3+0x526*-0x7+-0xb5*-0x67===a4[bM(0x32d)]&&a6&&(console[bM(0x2c1)](),console[bM(0x2c1)](a0L['yellow']('\x20\x20First\x20error\x20detail\x20(for\x20debugging):')),console['log'](a0L[bM(0x210)]('\x20\x20'+a6[bM(0x3af)]('\x0a')[bM(0x2a6)](-(0x8*0x2c5+-0xd23+-0x8ff))[bM(0x360)](bM(0x126))))),a0al({'completedAt':new Date()[bM(0x3ad)](),'pythonVersion':W,'installedPackages':a4,'failedPackages':a5[bM(0xdb)](aC=>aC[bM(0x1c7)])}),console[bM(0x2c1)](),0x1fc2+0x20+0x2*-0xff1===a5['length']?a0a9(bM(0xf8)+a0['length']+bM(0x37c)):0x1*-0x238a+-0x22e7+0x3*0x177b===a4['length']?(a0aa(bM(0x28c)+a0[bM(0x32d)]+bM(0x37c)),console[bM(0x2c1)](),console['log'](a0L[bM(0x232)]('\x20\x20Troubleshooting:')),0x65b*-0x1+0x1*0xf53+-0x1*0x8f5===a3[0x8*0x362+0x1d44+0x46*-0xce]&&a3[-0x466*0x6+0x15d1+0x2*0x24a]>=0x5ee+0x1*0x1e65+0x1223*-0x2?(console[bM(0x2c1)](a0L[bM(0x210)]('\x20\x20\x20\x20Python\x203.13\x20is\x20too\x20new\x20—\x20most\x20CTF\x20libraries\x20lack\x20wheels.')),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x2de)))):(console[bM(0x2c1)](a0L[bM(0x210)](bM(0x37b))),console[bM(0x2c1)](a0L[bM(0x210)](bM(0xe1))+a0L[bM(0x238)](V+bM(0x20a))+a0L[bM(0x210)](bM(0x3d6))),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x2e6)))),console[bM(0x2c1)](),console[bM(0x2c1)](a0L['white'](bM(0x104))+a0L[bM(0x254)][bM(0x238)](bM(0x2f7)))):a0ab(a4[bM(0x32d)]+'/'+a0['length']+bM(0x21f)+a5[bM(0x32d)]+bM(0x1d9)+a5[bM(0xdb)](aC=>aC[bM(0x1c7)])[bM(0x360)](',\x20')),console['log'](),console[bM(0x2c1)](a0L['cyan']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](a0L[bM(0x254)]['white'](bM(0xca))),console[bM(0x2c1)](a0L[bM(0x238)](bM(0x101))),console[bM(0x2c1)](),console[bM(0x2c1)](a0L[bM(0x254)][bM(0x232)](bM(0x29e))+a0L[bM(0x210)]('\x20(quick\x20tasks)')),console[bM(0x2c1)](a0L[bM(0x324)](bM(0x178))),console[bM(0x2c1)](a0L[bM(0x224)]('\x20\x20\x20\x20!python3\x20-c\x20\x22import\x20base64;\x20print(base64.b64decode(\x27SGVsbG8=\x27))\x22')),console[bM(0x2c1)](a0L[bM(0x210)]('\x20\x20\x20\x20→\x20b\x27Hello\x27')),console[bM(0x2c1)](),console['log'](a0L[bM(0x254)][bM(0x232)](bM(0x29d))+a0L[bM(0x210)](bM(0x1d1))),console[bM(0x2c1)](a0L[bM(0x324)](bM(0x1cb))),console[bM(0x2c1)](a0L[bM(0x224)](bM(0x155))),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x3b6))),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x377))),console['log'](a0L[bM(0x210)](bM(0xbb))),console[bM(0x2c1)](a0L['gray'](bM(0xe4))),console[bM(0x2c1)](a0L['gray'](bM(0x302))),console[bM(0x2c1)](),console['log'](a0L['bold'][bM(0x232)]('\x20\x20Method\x203:\x20Script\x20file')+a0L['gray'](bM(0x1c0))),console[bM(0x2c1)](a0L[bM(0x324)](bM(0x2ec))),console[bM(0x2c1)](a0L[bM(0x224)]('\x20\x20\x20\x20!cat\x20<<\x20\x27EOF\x27\x20>\x20solve.py')),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x2d2))),console[bM(0x2c1)](a0L[bM(0x210)]('\x20\x20\x20\x20ct\x20=\x20bytes.fromhex(\x220a2b0e1c...\x22)')),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x20b))),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x272))),console[bM(0x2c1)](a0L[bM(0x224)]('\x20\x20\x20\x20EOF')),console[bM(0x2c1)](a0L[bM(0x224)](bM(0x336))),console[bM(0x2c1)](),console['log'](a0L[bM(0x254)]['yellow'](bM(0x34e))),console[bM(0x2c1)](a0L[bM(0x324)](bM(0x314))+a0L[bM(0x254)][bM(0x238)]('hint')+a0L['white']('\x20to\x20ask\x20AI\x20for\x20help:')),console[bM(0x2c1)](a0L['gray']('\x20\x20\x20\x20\x22How\x20do\x20I\x20decrypt\x20AES-CBC\x20in\x20Python?\x22')),console[bM(0x2c1)](a0L[bM(0x210)](bM(0x129))),console[bM(0x2c1)](a0L[bM(0x210)]('\x20\x20\x20\x20AI\x20budget:\x2025K\x20tokens\x20for\x20AI4CTF\x20+\x2025K\x20for\x20CTF4AI')),console[bM(0x2c1)](a0L[bM(0x238)](bM(0x101))),console[bM(0x2c1)](),console[bM(0x2c1)](a0L[bM(0x324)](bM(0x353))+a0L[bM(0x254)][bM(0x238)](bM(0x11f))),console[bM(0x2c1)](a0L['gray'](bM(0x3d1))+a0L[bM(0x254)]['cyan'](bM(0x334))+a0L[bM(0x210)](bM(0x332))),console[bM(0x2c1)]();}),B[be(0x21c)](()=>{const bO=be;a0a8(bO(0xed));const F=a0Y();if(F){a0ae('In\x20Progress:\x20'+F[bO(0x110)]['examName']),O();const J=Object[bO(0x38b)](F[bO(0x3c3)])['length'];return a0af(bO(0x2f2),J+'/'+F[bO(0x110)][bO(0xd9)]+bO(0xeb)),console[bO(0x2c1)](),void console[bO(0x2c1)](a0L[bO(0x210)]('\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['log'](),a0ae('ICOA\x20National\x20Selection\x20Exam'),console[bO(0x2c1)](),0x18*-0x55+-0x8cc+0x10c4===G[bO(0x213)]?(console['log'](a0L['yellow'](bO(0x3a2))+a0L[bO(0x232)](bO(0x34a))),console[bO(0x2c1)](a0L[bO(0x210)](bO(0x164))+a0L[bO(0x254)][bO(0x238)]('exam\x20demo'))):(console[bO(0x2c1)](a0L[bO(0x224)]('\x20\x20●\x20')+a0L[bO(0x224)](bO(0x139)+G['attempts']+bO(0x28d)+(-0x17ec+0x506+-0x12e7*-0x1!==G[bO(0x213)]?'s':'')+')')),H?(console['log'](a0L[bO(0x224)](bO(0x13d))+a0L[bO(0x224)](bO(0x1be))),console[bO(0x2c1)](a0L[bO(0x232)](bO(0x3a2))+a0L[bO(0x232)](bO(0x197))),console[bO(0x2c1)](a0L[bO(0x210)]('\x20\x20\x20\x20→\x20')+a0L[bO(0x254)][bO(0x238)]('exam\x20<token>'))):(console[bO(0x2c1)](a0L[bO(0x232)](bO(0x3a2))+a0L[bO(0x232)]('Pre-exam\x20setup\x20required')),console['log'](a0L[bO(0x210)](bO(0x164))+a0L['bold'][bO(0x238)](bO(0x2f7))))),console['log']();});}
|
|
1
|
+
(function(z,B){const b2=a0B,F=z();while(!![]){try{const G=parseInt(b2(0x442))/(-0x1*0x1d93+0x1484+0x1d*0x50)*(-parseInt(b2(0x25b))/(0x241a+-0xcd9+-0x173f))+-parseInt(b2(0x1a0))/(0x471+-0x1273+-0x1*-0xe05)*(parseInt(b2(0x181))/(0x1*0xe95+0x24df+-0x337*0x10))+parseInt(b2(0x2f3))/(-0x3*-0xc35+-0x1*-0x1ebf+-0x4359)*(parseInt(b2(0x174))/(-0x2b8+-0x1*-0x266c+-0x23ae))+parseInt(b2(0x283))/(0x1eaf+0x1428+-0x32d0)*(-parseInt(b2(0x2c3))/(0xeef+0x1a*-0x17c+0x17b1))+parseInt(b2(0x2b9))/(0x211a*0x1+0xfae+0x1*-0x30bf)+-parseInt(b2(0x41f))/(-0x7aa+0x1dc8+-0x2*0xb0a)+parseInt(b2(0x21f))/(-0x1493+-0x1*-0x2f+0x146f);if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x3f4de+-0x36ba9+0xb36c2));import a0V from'chalk';import{confirm as a0W}from'@inquirer/prompts';import{ExamClient as a0X}from'../lib/exam-client.js';function a0B(a,b){a=a-(0x140f+0xc51+-0x1eed);const c=a0z();let d=c[a];if(a0B['Scecnt']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x20e8+0x14bd*0x1+-0x35a5,o,p,q=0xacc+-0x1*-0xd13+-0x17df*0x1;p=i['charAt'](q++);~p&&(o=n%(0x1120+0x896+-0x19b2)?o*(-0x252*-0x1+-0x333+0x11*0x11)+p:p,n++%(0x1*0x1a1f+-0xfb*-0x23+0x1*-0x3c6c))?l+=String['fromCharCode'](0x20a6+0xa*0x185+-0x2ed9&o>>(-(-0x186c*-0x1+0xa*-0x28d+0x118)*n&0x1*-0x24b+0x1*-0x134f+0x15a0)):0x3c9*0x8+-0x1*-0x1f1d+0xa9*-0x5d){p=j['indexOf'](p);}for(let r=-0x159e+0x202a+-0x2d*0x3c,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x4f*-0x1+-0x1*-0x23f+-0x27e))['slice'](-(0x2c4+-0x15ff+0x3d9*0x5));}return decodeURIComponent(m);};a0B['dSpZBY']=e,a0B['qtNanv']={},a0B['Scecnt']=!![];}const f=c[0xba+0x2694+0x183*-0x1a],g=a+f,h=a0B['qtNanv'][g];return!h?(d=a0B['dSpZBY'](d),a0B['qtNanv'][g]=d):d=h,d;}function a0z(){const bR=['Dg9Rzw4','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','vgHHAwXHBMq','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','ic1TihbPCcbPBNn0ywXSici','BwLU','qw5ZD2vYzwq6ica','mu1VvK1eEa','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','CMvZDwX0ifTPzf0','BgfUz3vHz2u','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','ywrK','EJmTC29SDMvY','twfSyxLZAwe','BMfTzq','icaGieXHBMC6icaGia','y3rMngfPpG','zMLUzeLUzgv4','icaGicbtB2X2zsa','BMv4DeXHyMvS','AwDUB3jL','zgf0yq','icGR','icbzB3vYigfUC3DLCJOG','AhrWqw5ZD2vY','yM9Sza','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','icaG','zxHWBgfUyxrPB24','l3n1yM1PDa','ChL0Ag9UmW','ig1PBIbYzw1HAw5PBMC','C3rHCNrfEgfT','icbizwXWihvZzwq6ia','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','icdIL4SG','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','u291DgGGs29Yzwe','C3rHCNq','ig9Mia','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','Cgf1C2u','ls12zxjZAw9U','CdmW','Aw5ZDgfSBgvKugfJA2fNzxm','icbtDgfYDcbHifb5DgHVBIbZzxnZAw9Ulcb0ExbLignVBw1HBMrZig9UzsbIEsbVBMu6','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','u3vIBwL0igzHAwXLza','icbtDwjTAxr0Aw5Nig5VDYbZy29YzxmGzNjVBsbVBMX5ia','tK9uifbbu1nfra','icbzB3uGD2LSBcbZDwjTAxqG','icaGicbgCMvLignOyxq6icaGicaGyw55ig1LC3nHz2uG4OAsiefjihrLyw1TyxrL','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','zMfPBgvKugfJA2fNzxm','icdIHPiGia','BwLZC2LUzW','igrLDgvJDgvK','ihf1zxn0Aw9U','C2nVCMu','Aw50zxjHy3rPB25Z','icaGifb5DgHVBJOG','rMfPBgvKihrVihn0yxj0igv4yw0','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','zxHHBuLK','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','Dg9vChbLCKnHC2u','ica+ia','v2LUzg93CYbUyxrPDMuGkfbVD2vYu2HLBgWGlYbJBwqP','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','icaGifb5DgHVBIaZlJeYigLZihjLy29TBwvUzgvKlIbjBNn0ywXSoG','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','rhvYyxrPB24','icaGsg93ihrVihDVCMS','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','B3b0Aw9UCW','icbbCMnOic8GtwfUAMfYBZO','y2XVC2u','C3bSAxq','icaGigv4yw0GBgLZDcbbvq','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','vg90ywW','icaGicbqCM9TChqGAw5Qzwn0Aw9Uimk3igfKDMvYC2fYAwfSigfUywX5C2LZimk3iefjigf1zgL0Aw5N','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','icaGicbbssb0B2TLBNm6icaGicaG','C3rYAw5NAwz5','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','ihjLz2LVBNmP','CgfKrw5K','tg9HzgLUzYbYzxn1BhqUlI4','y2HHBMDLzcbMCM9Tia','icdcTYbszwzLCMvUy2uGz3vPzgvZigzVCIaZocb0B29SCZOG','x3n1yM1PDenVBMzPCM1Lza','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','BMv4Da','uNvZC2LH','vgLTzsbLEhbPCMvKlG','y29TCgXLDgu','igzSywDNzwqGzM9YihjLDMLLDY4','icaGifnVBwuGCgfJA2fNzxmGkhb3BNrVB2XZlcbZy2fWEsKGBwf5ig5VDcbOyxzLihDOzwvSCYb5zxqGzM9YidmUmtmU','ihvUzMXHz2DLzc4','q29UDgLUDwuGC3rHCNrPBMCGDgHLigv4yw0Gyw55D2f5pW','DM9SyxrPBgL0Etm','ihnRAxbWzwq','AgLUDcbHic8GyIaVigm','icdIL48G','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','mJe1ntHmCKHxwvy','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','BwfNzw50yq','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','yw5ZD2vY','zgvTBY1MCMvL','ihrOzsbJB21WzxrPDgLVBI4','zw5KC1DPDgG','l2HLBha','icaGsg93ihrVigf0DgfJAW','icbbC3nPC3rHBMnLihvZzwq','icdILRGG','ihrVigXLyxzLigLJB2e','odrYsxbwCvu','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','zxHHBv9Pza','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','CMvM','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','icaGiokrOIa','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','Dg9Vx29Sza','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','icaGigv4yw0GCMv2Awv3','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','lI4VBgLIl3bSyxrMB3jTlMPZ','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','icdIMQaGCgLWig5VDcbMB3vUzcWGDhj5Aw5NigvUC3vYzxbPCc4UlG','u3jPieXHBMTH','zw5JB2rPBMC','zxHHBsbZDwjTAxqGy29UzMLYBsa','ywXS','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','zxHHBsbZDwjTAxqG','r28GDg8GBMv4DcbXDwvZDgLVBG','BgLZDgvUzxjZ','8j+pLU+4JW','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','icbezxrLy3rLzdOG','u29SAwqGCgLJAY4','l2fUC3DLCG','ic0TCxvPzxqGmJ4Mmq','mJq2m1LQCK55uG','icdWN46bicS','u2f1zgKGqxjHyMLH','ihbHy2THz2vZigLUC3rHBgXLzc4G','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','C2vYDMvYx3rPBwvFBxm','y3LHBG','icbqBgvHC2uGCMuTDhLWztOG','icaGihn1zg8Gyxb0ihvWzgf0zq','zwXPBwLUyxrLzca','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','BgLUzq','icdIMQaGie9UBhKG','icbdDxjYzw50BhKGzMXHz2DLzdOG','ihWG','ihLLDc4','icaGWRCGmtuGBgfUz3vHz2vZlcbYzwfSlxrPBwuGquKGDhjHBNnSyxrPB24','vw5PDgvKifn0yxrLCW','y3vYBcaTzNnttcbODhrWCZOVl2rLyI5UB2rLC291CMnLlMnVBs9Zzxr1Cf8YmI54ihWGC3vKBYaTrsbIyxnOic0','icbpCIb0ExbLia','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','icaG4PQGiefjigfNzw50ienmsxmGzgv0zwn0zwqGAw4GuefusdO','icaGid4+pIbMCM9TienYExb0BY5dAxbOzxiGAw1WB3j0ieffuW','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','rgvTBYbJB21WBgv0zwqGka','zwDNmte','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','rxHHBxmG4Ocuia','icbbssbbC3nPC3rHBNq','icbfEgfToIaGica','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwq','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','zMLUza','igfUC3DLCNmU','vgLTzsb1C2vKoIa','icaGicaGicaGia','Aw5WDxq','C19HAtrJDgy','BgvUz3rO','C19JDgy0ywK','Axnoyu4','zxHHBsbWCMv2','Cg9PBNrZ','icbuBYbNBYbIywnRigfUzcbHBNn3zxiGBw9YztO','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','zxHHBu5HBwu','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','qM90C3DHBMe','icdIHPiG','C29Tzq','ihbVAw50C10','icbuExbLia','ihjLBwfPBMLUzYK','AhrWtMf2','CxvLC3rPB25dB3vUDa','u2nVCMu','ChjLlxDYAxr0zw4GCgvYihf1zxn0Aw9U','q2HPBMe','zxHHBsbSAxn0ia','u291DgGGqwzYAwnH','AgvSCa','ugXLyxnLihbYB3zPzguGEw91CIbMBgfNoIbLEgfTigfUC3DLCIa8BJ4GsunpqxT5B3vYx2zSywD9','zwDNnW','uhL0Ag9Uia','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','ig1PBNv0zxm','ywK0y3rMu3vI','icbxCMfWihvWigfUzcbZDwjTAxq6ia','yMvHDxrPzNvSC291Cdq','ig5VDcbMB3vUzcaOms0','icbbBNn3zxjZigfYzsa','tg9HzgLUzYbLEgfTCY4UlG','y3rMngfP','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','x2HLBhbnyxG','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','icHxu0WYkq','C3rHDhvZ','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','ig9YigXLyxzLihDPDgGG','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','sgvSCdOGicaGica','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','icaGiokgKIa','zwXPBwLUyxrL','igLUC3rHBgXLza','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','BwvZC2fNzq','icbuBYbJB25MAxjToIaG','C3rKAw4','tgfVCW','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','ihnOyxjLzcbHy3jVC3mGutm54Octnda','zxHHBvDHExnuB1nVBhzL','ugvYy2vUDgfNzq','BgLUDxG','icdINjmGuhL0Ag9Uia','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','icaOEwvZiokaLcbSAxrLCMfSBhKGDhLWzsb0AguGBNvTyMvYia','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','uMvJB21Tzw5Kzwq6ignVBxbSzxrLigrLBw8GzMLYC3q','sw4GuhjVz3jLC3m6ia','ixb5DgHVBJmGC29SDMuUChK','igfUC3DLCMvK','ywK0y3rMrgvZyW','CMvZDw1L','BNvTyMvY','ANnVBG','zxHHBsa8Dg9Rzw4+','AgfZ','uhjVz3jLC3m','icaGicaGC3rHCNqGuhL0Ag9UihnOzwXS','icbtDgvWlwj5lxn0zxa6','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','icaOuMv0CNKGD3jVBMCGB25SEsK','zxHHBsbZzxr1Ca','zhvYyxrPB25nAw4','icbozxH0ihn0zxa6ia','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','zxHHBsbKzw1VlxjLDhj5','zxHHBsbYzxn1BhqG','mZKYodi0m0nvAuD0rW','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','xsaG','icaGicHHAtrJDgyP','drTBmKSGia','icbbC3nPC3rHBMnLoG','yM9VA21HCMTZ','vgLTzsbszw1HAw5PBMC','icHLEhbSB3jLicyGzxHWzxjPBwvUDcK','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','icbmyw5NDwfNztOG','zxHHBsbHyMfUzg9U','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','rvHqsvjfra','ihbHy2THz2vZigLUC3rHBgXLzc4','rMXHzYbHihf1zxn0Aw9UihrVihjLDMLLDYbSyxrLCIaODg9Nz2XLCYK','qxzHAwXHyMXLiev4yw1ZicG','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','lI4VBgLIl2rLBw8TzxHHBs5QCW','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','ue9tva','C3rKB3v0','ihrVihnLzsb5B3vYihjLC3vSDhmH','icaGia','zxHHBsbZDgfYDca','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','y29UzMLYBwvKqxq','BM93','D3jVBMC','icaGiokaOIbuCNK6ia','vw5HBNn3zxjLza','Aw5JB3jYzwn0sw50CM8','AwnVyt4','icbszwfKEt8GvxnLia','A2v5','yNjLDW','C3vIBwL0DgvK','C3rKzxjY','icbtDgfYDgLUzYbLEgfTlI4U','x2vSAw1PBMf0zwq','ieLdt0f7Ew91CL9MBgfNFq','icaGihDPBMDLDcbPBNn0ywXSifb5DgHVBI5qExrOB24UmY4XmG','tM8GDgLTzsbSAw1PDa','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icdIMiyGuq','qNjHEMLS','icaGiokrOsa','ugvYDq','iokgKIbIywnRihrVigv4yw0Sig5HDMLNyxrLihDPDgGG','ic8G','yw5ZD2vYvgHPCW','CxvPDa','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','icaGswyGDgLTzsbPCYb0AwDODcWGC2TPBsbrmZKVndaGzMLYC3qGDg8GzgvJAwrLigf0DgfJAYbVCMrLCI4','icaGihbYAw50khHVCIHJDcWGA2v5ks5KzwnVzguOksK','l2v0yY9VCY1YzwXLyxnL','AgvSCefSBfvZzwq','Aw5FChjVz3jLC3m','mte2mZK4q1LtqvDz','4PQGicbfweLuigLJB2eGzMLYC3qG4Ocuihn1zg8Gy2fUBM90ihj1BIbPBNnPzguGDgHLihbYB21WDa','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','BMv3','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','icaGidmUie9Wzw4GysborvCGug93zxjtAgvSBcb3Aw5KB3CGkfbbveGGCMvMCMvZAcKSihrOzw46','icaGiokgKIbIj0HLBgXVjW','y2f0zwDVCNLtDgf0CW','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','C3vKBYbUCg0GAw5ZDgfSBcaTzYbPy29HlwnSAq','ChL0Ag9UmY4Xmq','CMvXDwvZDhm','wYbDica','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','CMvWBgfJzq','BM9KztPMCW','z2v0vgLTzq','Dg90ywXty29Yzq','icdIMQaGiefUigv4yw0GAxmGywXYzwfKEsbPBIbWCM9NCMvZCYbVBIb0AgLZigrLDMLJzs4','lI4VBgLIl2nVBMzPzY5QCW','tg9HzgLUzYbLEgfTlI4U','ks4Gww91j3jLig9UihLVDxiGB3DUisdWN5kQ','u3rHDhvZ','C2v0Dxa','zMfPBa','icbjzIb5B3uGCMvHBgX5ihDHBNqGDg8GC3vIBwL0ihDPDgGGANvZDca','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','ihbVAw50CW','zxHHBsbYzxzPzxC','uxvLC3rPB25Z','qw5ZD2vYzwq','icaGigjHy2S','zw50CMLLCW','icaGiokrOYa','qxvZDhjHBgLH','D29YA3nWywnLrgLY','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','D2L0Aa','mtq5og5jquzlrG','zxHPDa','Dg9ju09tDhjPBMC','iokCKYaGka','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','qwXTB3n0ihjLywr5lI4U','rw52AxjVBM1LBNqGCMvHzhK','ChL0Ag9UmY4Xma','ChL0Ag9UmY4XmG','zxHHBvDHExntyxzLzfrV','tMv3ifPLywXHBMq','icaGicaGicaOBM93lcb+nsbTAw4P','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','CMv2Awv3','DxrMltG','icaGig1VCMuGAgvSCa','Dgv4Da','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','x2HLBhbqzxjr','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','y2f0','rMfPBgvKihrVigXVywqGCMvZDwX0','lI4VBgLIl21HAw4TCMWUANm','ifSGxsaG','D3jPDgu','4O+XifrPBwuGCMvTywLUAw5NoG','icaGicbfBNrLCIbJAgf0oIaGicaG','iefjihn5C3rLBxmU','BM9KztPYzwfKBgLUzq','y2vPBa','icbpChrPB25ZigHHDMuGyMvLBIbYzxnODwzMBgvKlG','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','igzVDw5KlcbIDxqGmY4XmcSGCMvXDwLYzwqGzM9YihrOzsbLEgfTlG','Ew91CIbmAw51EcbKAxn0CM8','icbfEgfTCgXLoIa','z2v0uMvZDwX0','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','icaGicbfEgfToIaG','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','ihbVAw50CYaOntaLkq','icbcEsbJyxrLz29YEq','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','AhrWqMfJAW','lI4VBgLIl2v4yw0TC3rHDguUANm','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','u3rHCNqGyw4GzxHHBsaOyMvNAw5ZihrPBwvYkq','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','yw5ZD2vYx2nOyw5Nzwq','y2f0zwDVCNK','mJaWmtq4m3HHwxDRzG','CgvYzMvJDfnJB3jL','icdIMQaGiezjtKfmifnvqK1ju1njt04G4OcuihbSzwfZzsbJB25MAxjT','igzHAwXLzdOG','icbzB3uGy2fUihbHDxnLihDPDgGG','x2HLBhbvC2vK','C3vIC3rYAw5N','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','nJqYnfDYDwDosa','uK9qz2fKz2v0','C3rKAw8','icdINjmGCgLWigf2ywLSywjSzq','BMf0Aw9UCW','zxHHBvDHExnszwzqExrOB24','cGPgDwXSigf0DgfJAgvKigrHDge6cG','AwnVys1JBgK','icbpCIbKB3DUBg9HzcbPBNn0ywXSzxi6','ihDHCYbUB3qGzMXHz2DLzc4','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','DdeW','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','uhL0Ag9UidmGBM90igzVDw5KlG','x2XHC3rr','zwDNmtm','uMv2Awv3oIa','Cg9ZDc1YzxbVCNqTCMv0CNK','igzPCNn0lG','AxnsyxC','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','yw5ZD2vYx3n1yM1PDhrLza','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','Bwf4','icaGid4+pIbJAxbOzxiGpsbbrvmUBMv3kgTLEsWGquvtlK1prevFq0jdlcbPDIK','C3vIBwL0ieLdt0f7lI4UFq','icaGicbiAw50CYbbl0iVqZOGicaG','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','icbVzIa','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','CxvLC3rPB24','ywLvC2fNzq','icaGicaGia','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','icbr','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','igfUC3DLCMvKiokaLcbHy2nPzgvUDgfSihn1yM1PDcbNDwfYza','ChvZAa','icbB','rNjHBMnL','icaGienVBxbSzxrLzdOG','txLHBM1HCG','icaGid4+pIbLEgL0kcK','AhrWtgfUzW','vgLTzq','zxHHBsbOzwXW','CgLSBg93','mZu1zw5zDNPK','ChjLDG','A2v5CW','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','icbVCIaG','zxHHBvDHExnqExrOB25szxbS','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','icaGidiUieLUihLVDxiGC2HLBgWSihj1BJO','y291BNrYEq','icaOAgvSCca','icdcTYaG','icaGicaGicaGkgn0zJrHAsK','DxnLza','CMvWzwf0','zxHHBsbZDwjTAxqGy29UzMLYBq','icaGvgHLAxiGChjLC2vUy2uGAgfZigjLzw4GBg9Nz2vKigzVCIb0AguGChjVy3rVCIb0zwfTlG','t3rOzxi','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','icdINjmGCgLWigLUC3rHBgXLza','Ew91CKfUC3DLCG','tg9HzgLUzYbXDwvZDgLVBNmUlI4','icaGig1HCMS','AwnVyq','y29YCMvJDa','CMvTB3zLqwXStgLZDgvUzxjZ','icaGww91CIb0zxjTAw5HBca','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','ywK0y3rM','yMvZDfbLCMnLBNrHz2u','yMvZDa','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','icbbBgWGAgvSCcb1C2vKicG','zxHHBsbKzw1V','BMv4DcaVihbYzxy','C3vIBwL0ifTJB25MAxjTqxjNxsbBC2vJB25KqxjNxq','8j+pM++4JW','Dg9mB3DLCKnHC2u','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','zNjVBq','oIdIGjq','ihf1zxn0Aw9UCY4','uxvLC3rPB24G','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','oYb0AgLZihbYzxzLBNrZigfJy2LKzw50CYK','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','C3LTChK','C2nHChK','imk3ifbPy2SGB25LigfUC3DLCIbWzxiGCxvLC3rPB24','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','C3bSAwnL','icbzB3uGC3rPBgWGAgf2zsa','icaGqNvKz2v0icHZAgfYzwqGywnYB3nZifeZmEkaKZm4kq','Bw9Yzs1OzwXW','uMvZDwX0igXVywrLza','C3vIBwL0DgvKqxq','CsbBBL0','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','icaGifbHy2THz2vZoIa','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','CMvMihb5DgHVBG','ugfZCW','zgvTBW','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','icdIMQaGiduGBwLUDxrLCYbYzw1HAw5PBMC','icdIMiuG','rMXHz2DLzcbMB3iGCMv2Awv3','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','icaGicaGWRCG','igf0igfUEsb0Aw1LlG','icaGvxnPBMCGDgHLC2uGDg8Gyw5ZD2vYigv4yw0GCxvLC3rPB25ZigLZigeGzgLZCxvHBgLMEwLUzYbVzMzLBNnLlG','ic1TihbPCcbPBNn0ywXSihb3BNrVB2XZ','y29TCgXLDgvKqxq','y29TBwfUza','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','vMfSAwrHDgLUzYb0B2TLBI4UlG','C2vZC2LVBG','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','zxHHBsa','zxHHBsbXide','q29UBMvJDgLUzYb0BYbLEgfTihnLCNzLCI4UlG','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','AhrWuMv2Awv3','z3jHEq','EwvSBg93','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','imk3ia','zgvZy3jPChrPB24','AxnbCNjHEq','zxHHBq','icaGicdcTYbbssbPCYb5B3vYia','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','icaGid4+pIbRzxKGpsbIExrLCY5MCM9TAgv4kci0otqZngy0ms4UlIiP','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','igf0DgvTChrZ','icbjzIb5B3uGyMvSAwv2zsb0AgLZigLZihDYB25NicHLlMCUigv4CgLYzwqGC2vZC2LVBIWGD3jVBMCGCgfWzxi','oJaW','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','CdeW','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','icaGzMLUAxnOigfUzcbZDwjTAxq','rxHHBsbLEhbPCMvKigfUzcbJBgvHCMvKlG','icbPC3n1zwqPlcbWBgvHC2uGy29UDgfJDcb5B3vYignVDw50CNKGDgvHBsbSzwfKzxiU','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','icdcTYblzwvWihnOyxjWzw5PBMC6ia','l2fWAs9Py29Hl2v4yw1ZlW','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','zxHHBvDHExntAgvSBa','Bg9N','DhjPBq','Bwf0y2G','icdINjmG','y3rMzfvYBa','CgXHDgzVCM0','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','DgLTzw91Da','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','icaGicbfEgL0ignOyxq6icaGicaG','igvSAw1PBMf0zwqH','sunpqsbezw1Viev4yw0G4OcuiezYzwuGuhjHy3rPy2u','iokgKIa','q3rYBcTd','yMfJAW','yNm0','l2fWAs9Py29Hl2v4yw0TDg9Rzw4','zwXPBwLUyxrLza','CgvYuq','icaOC2vLihDOAwnOihf1zxn0Aw9UCYbHCMuGyMXHBMSP','Ag93vg9qBgf5','zwDNmW','u3bVDcbVBI4','B25Jzq','AM9PBG','icaGica','icaGDxnPBMCGquKSihLVDsDYzsa','ChLJCNLWDg9KB21L','rxHHBsaI','BgLZDcbBy291BNrYEv0','tM8GzxHHBsbPBIbWCM9NCMvZCY4','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','z3jLzw4','u2H1zMzSAw5Nig9WDgLVBNmUlI4','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','icaGig5LEhq','rxHHBsbfBNzPCM9UBwvUDcbtzxr1Ca','icaGieeVqI9dl0q','icbVBMuGzgv2AwnLicSGB25LihnLC3nPB24UifLVDsbJyw5UB3qGC3DPDgnOihrVA2vUCYbTAwqTzxHHBs4','icaGifLVDsbJyw4GBM93ihvZztOG','uhjLCgfYAw5NlI4U','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','ChDU','icboyxrPB25HBcbsB3vUzcaXifnLBgvJDgLVBIbLEgfTCYbHCMuGyMvPBMCGChjLCgfYzwqU','uM9VBsb0BYbNCM93oIaGia','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','icaGigfPngn0zG','r2HHBMe','D2HPDgu','C3vIBwL0rxHHBq','vMLLDg5HBq','yxr0zw1WDhm','icaGicdILQmG','CMvZzxq','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','r0vu','q291BNrYEq','zxHHBsb1BM1HCMSG','zxHHBsbXia','q29UDgvUDc1uExbL','CMvK','Cvr1Dg9YAwfS','qMfUz2XHzgvZAa','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','CgfZC2vK','ixb5DgHVBJmGlI4U','BwfYAYbBBL0','C29YDa','y2f0y2G','icaGicaGicaGicaGicaGicaGCNuGWRCGAgKGWRCGzguGWRCGAwqGWRCGDgGGWRCGDMKGWRCGDhi','u3bLy2LMEsbLEgfTieLeoIbLEgfTihjLC3vSDca8Awq+','CgfKu3rHCNq','uhjLCgfYAw5Nigv4yw0Gzw52AxjVBM1LBNqUlI4','icbgAxjZDcbLCNjVCIbKzxrHAwWGkgzVCIbKzwj1z2DPBMCPoG','Dg9tDhjPBMC','igfUC3DLCMvKkq','icbeDxjPBMCGDgHLigv4yw0Sihr5CguG','icbozwvKig1VCMu/ifr5Cgu6ia','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','vhLWztOG','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','Aw5JBhvKzxm','ueftu0ve','icdINjCG','C2HVD25xyxjUAw5NCW','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','icdWN5kHifrYEsb0ExbPBMCG','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','Dg90ywW','zMXVB3i','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','ww91igHHDMuGyw4Gywn0AxzLihjLywWGzxHHBsbPBIbWCM9NCMvZCYdIGjqGzgvTBYbJyw5UB3qGC3rHCNqGD2HPBguGAxqGB2nJDxbPzxmGC3rHDguU','zxHHBsbTB3jLlwHLBha','yxr0ywnOzwreyxrH','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','icaGicfWExrOB24ZihnVBhzLlNb5','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','C2XPy2u','zgvTBY1YzxrYEq','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','zgfYD2LU','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','AxnuvfK','zhvYyxrPB25nAw51DgvZ','sMfWyw4','khnLCNzLCI1HDxrOB3jPDgf0AxzLkq','icaGww91CIbHBNn3zxjZigHHDMuGyMvLBIbYzwnVCMrLzcbHBMqGC2vUDcb0BYb5B3vYig5HDgLVBMfS','icdIMiuGuq','CMvTB3zLtgLZDgvUzxi','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','CgTN','igf0DgvTChq','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','icbuB2TLBJOGica','CxvLC3rPB25Z','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','zw1VAMK','C2v0uMf3tw9Kzq','CgLWzq','ihrVihjLC3vTzsb0AguGCMvHBcbLEgfTlG','icaGigv4yw0GCsaXlI4','vMLLDYbLEgfTihjLC3vSDa','zwDNnq','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','icaGrwXHChnLzdOG','D2LUmZi','sw5KB25LC2LH','icbODhrWCZOVl2LJB2eYmdi2lMf1','icaGidiUifjLAw5ZDgfSBcbqExrOB24GD2L0AcbWAxaGkeHVBwvICMv3igrLDgvJDgvKiokCKYK6','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','DMXH','ic1TihbPCcaTlxzLCNnPB24','icdWN5Miie1HEcaYigHLBhbZihbLCIbXDwvZDgLVBIdIGjqGEw91igfSCMvHzhKGAgf2zsbHiduWlZuWiq','ic1JicjPBxbVCNqG','DhLWzq','icbuCM91yMXLC2HVB3rPBMC6','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','zxHHBsbUzxH0','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','y2XVy2TpzMzZzxrnCW','vxnLCI1bz2vUDa','Cgn0','ihrVigrPC2nHCMqGAxqGyw5KigzYzwuGDxaGC3rHDguU','tMfTzq','quKGDg9Rzw5ZoIa','tMLJzsbVBMuU','DgvZDa','icaGicHYzwXHDgL2zsb0BYbVDgHLCIbJyxrLz29YAwvZiokaLcbUDw1LCMLJihnJB3jLCYbNBYb0BYb5B3vYigv4yw0Gy2vUDgvYkq','y29UzMLYBq','ywn0Aw9U','u2LUz2fWB3jL','icdIJ7eGifrPBwuGy2HLy2SGia','icaGign0zJr2Bge','u3rYB25NzxiGAgvYztOGia','zMLUywW','Bsb0B3rHBa','icaGigv4yw0GC3vIBwL0','vxbSB2fKAw5NigfUC3DLCNmUlI4','BwfJt1m','icaGigXHBMC','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','icdWN46jiefSBcbXDwvZDgLVBNmGyw5ZD2vYzwqH','C3rHCNrLzef0','icdIMQaGuhL0Ag9Uia','igzVCIb0AgLZihnLy3rPB24','sw5KAwe','icHJB21WBgv4ihnVBhv0Aw9UCYK','yxbWBgLJyxrPB24VANnVBG','CM91BMq','yxr0ywnRAw5N','icHr','ChL0Ag9UvMvYC2LVBG','ueLm','Dwj1BNr1','yw5ZD2vYCW','icaGiezHAwXLzdOG','mZm1odCWmff4Bun2CG','icbqCMvZCYbfBNrLCIb0BYbIzwDPBI4UlIa','yw5ZD2vYzwq','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','icbdyw5JzwXSzwqU','icaGidiUieLUigfUiefKBwLUAxn0CMf0B3iGug93zxjtAgvSBcWGCNvUoG','icaGicfWExrOB24Z','rxHHy3rSEs4','rwD5Chq','rgvTBYbszxrYEsdIGjqGv3jVBMCGuxvLC3rPB25Zie9UBhK','zMLSDgvY','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','ic1TihbPCcbZAg93ici','zxHHBsbZDwjTAxq','BgfUzYa8y29Kzt4','BwfW','icaGideUifr5CguG','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','BNvTChK','icbqCMfJDgLJAw5Nia','iefjnenurG','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS','vxPIzwTPC3rHBG','AgvSCf91C2vK','CMfUzg9T','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','zxHHBvDHExnbAtrJDgy'];a0z=function(){return bR;};return a0z();}import{getConfig as a0Y,saveConfig as a0Z}from'../lib/config.js';import{getExamState as a0a0,saveExamState as a0a1,clearExamState as a0a2,getExamDeadline as a0a3,materializeAttachedData as a0a4}from'../lib/exam-state.js';import{getDemoStats as a0a5,recordDemoAttempt as a0a6,saveRetryQueue as a0a7,getRetryQueue as a0a8,clearRetryQueue as a0a9}from'../lib/demo-stats.js';import{logCommand as a0aa}from'../lib/logger.js';import{printSuccess as a0ab,printError as a0ac,printWarning as a0ad,printInfo as a0ae,printTable as a0af,printHeader as a0ag,printKeyValue as a0ah,createSpinner as a0ai,formatCountdown as a0aj}from'../lib/ui.js';import{t as a0ak}from'../lib/i18n.js';import{getDeviceFingerprint as a0al}from'../lib/access.js';import{getExamSetup as a0am,saveExamSetup as a0an,isExamSetupComplete as a0ao}from'../lib/exam-setup.js';import{scanForAIBinaries as a0ap,reportAIBinaryDetection as a0aq,createExamWorkspace as a0ar}from'../lib/exam-sandbox.js';import{execSync as a0as}from'node:child_process';const M=z=>new Promise(B=>setTimeout(B,z));function O(B,F={}){const b3=a0B,G=a0Y(),H={};H['Content-Type']=b3(0x416),fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':b3(0x233),'headers':H,'body':JSON['stringify']({'type':B,'lang':G['language']||'en','timestamp':new Date()[b3(0x285)](),...F}),'signal':AbortSignal[b3(0x36d)](0x2257+0x2*0xc73+-0x27b5)})[b3(0x3ab)](()=>{});}function D(z,B){const b4=a0B,F=Math[b4(0x417)](z/(-0x11da*-0x1+0x1*-0x18e+-0xfe8)*(-0x2*0x880+-0x22a8*0x1+0x33c6)),G=0x2131*0x1+0x1*0x19ca+-0x139f*0x3-F,H=a0V[b4(0x386)]('█'[b4(0x302)](F))+a0V[b4(0x34d)]('░'['repeat'](G)),J=String(z)[b4(0x3ae)](0x1*0x201d+0x1b4+0x2*-0x10e7)+'%';process[b4(0x234)][b4(0x29d)](b4(0x223)+H+'\x20'+J+'\x20\x20'+a0V[b4(0x34d)](B));}function j(){const b5=a0B,z=a0Y();return z['ctfdUrl']&&z[b5(0x43b)]?new a0X(z[b5(0x36a)],z[b5(0x43b)]):(a0ac(b5(0x430)),null);}function R(){const b6=a0B,z=a0a3();z&&(new Date()<z?a0ah(b6(0x226),a0V[b6(0x34e)][b6(0x455)](a0aj(z))):a0ah(b6(0x2f0),a0V['red'][b6(0x455)](b6(0x22c))));}function U(z,B){const b7=a0B;return Array['isArray'](z[b7(0x225)])&&z[b7(0x225)][b7(0x3b8)](B);}function Q(z,B){const b8=a0B,F=Array[b8(0x352)](z[b8(0x225)])?[...z[b8(0x225)]]:[],G=F['indexOf'](B);return G>=-0x27f+-0x186c*-0x1+0x3*-0x74f?(F[b8(0x328)](G,-0x1d22+0x1*-0x24b+0x2*0xfb7),z[b8(0x225)]=F,a0a1(z),!(0x1*-0x1feb+0x286*0xc+0x1a4)):(F['push'](B),F[b8(0x3aa)]((H,J)=>H-J),z[b8(0x225)]=F,a0a1(z),!(0x2476+-0x11*-0x12c+-0x3862));}function _(B){const b9=a0B,F={};return F['used']=B[b9(0x2be)]||0x1*0x227d+-0x162*0xd+-0x1*0x1083,F[b9(0x2da)]=B[b9(0x1ee)]||-0x1420+0x2c4+0x1170,F[b9(0x378)]=B[b9(0x297)]||{},F[b9(0x377)]=B[b9(0x247)]||{},F;}function L(z,B){const ba=a0B,F=a0a0(),G=Number(F?.[ba(0x345)][ba(0x1da)]||0x73d*0x1+0x1a82+-0x21a1),H=Object['keys'](F?.['answers']||{})[ba(0x1ca)],J=_(F),K=J['eliminated'][z[ba(0x210)]]||[],V=ba(0x311)===z[ba(0x3f1)]||'ctf4ai'===z['type']||ba(0x3ed)===z[ba(0x3f1)]||z['options']&&!z[ba(0x48c)]['A']&&!z[ba(0x48c)]['B'];F&&function(a0,a1){const bb=ba;if(bb(0x179)===a0[bb(0x345)]['examId'])return;const a2=new Set(a0[bb(0x3bb)]||[]),a3=Number(a0[bb(0x345)][bb(0x1da)]||0x513*0x7+0x1a61*0x1+-0x3dbe),a4=a0a3();if(0xeef*0x2+0x2285+0x13*-0x363===a1&&a3>=-0xd02+0x12*-0x1d3+0x2e00&&!a2[bb(0x213)](bb(0x35c))){const a5=a4?Math['max'](0x10fb+0x9*-0x34a+0xc9f,Math[bb(0x417)]((a4[bb(0x26d)]()-Date[bb(0x23b)]())/(0x18a9*0x8+-0x2da3*-0x1+0x1b*-0x51))):null;console[bb(0x366)](),console[bb(0x366)](a0V[bb(0x34d)](bb(0x238))),console['log'](a0V[bb(0x1a6)](bb(0x406))+a0V[bb(0x34d)](bb(0x2b5))),null!==a5&&console[bb(0x366)](a0V[bb(0x34d)](bb(0x37f)+a5+'\x20minutes\x20left.\x20Keep\x20the\x20pace\x20steady.')),console['log'](a0V[bb(0x34d)](bb(0x238))),a2[bb(0x447)](bb(0x35c)),a0[bb(0x3bb)]=Array['from'](a2),a0a1(a0);}if(0x1a2b+0x1c72+-0x367f===a1&&a3>=0x1efe+0xb*0x2fd+-0x3fb5&&!a2[bb(0x213)](bb(0x46c))){Object[bb(0x2f5)](a0[bb(0x41d)]||{})[bb(0x1ca)];const a6=Object[bb(0x2f5)](a0[bb(0x41d)]||{})[bb(0x429)](a7=>Number(a7)<=-0x21c4+-0x3*0xca1+0x47c5)[bb(0x1ca)];console[bb(0x366)](),console[bb(0x366)](a0V[bb(0x386)](bb(0x1d0))),console['log'](a0V[bb(0x455)][bb(0x386)](bb(0x220))),console[bb(0x366)](a0V[bb(0x34d)]('\x20\x20\x20\x20\x20'+a6+bb(0x177))),console[bb(0x366)](a0V['white']('\x20\x20↓\x20\x20Practical\x20section\x20begins\x20at\x20Q31.')),console[bb(0x366)](a0V['gray'](bb(0x22b))),console[bb(0x366)](a0V['green'](bb(0x1d0))),a2['add']('p30'),a0['shownWarnings']=Array[bb(0x31d)](a2),a0a1(a0);}}(F,z[ba(0x210)]),F&&V&&function(a0,a1){const bc=ba;if(bc(0x179)===a0['session']['examId'])return;if(Number(a0[bc(0x345)][bc(0x1da)]||0x767+0x482*-0x1+-0x2bd)<-0x23cf*0x1+0xaed*-0x3+0x2*0x225f)return;const a2=new Set(a0[bc(0x3bb)]||[]);a1>=-0x1*-0x83b+0x1566+-0x1d82&&a1<=-0x33*0x83+0x29*0xa+-0x3*-0x837&&!a2['has'](bc(0x1c9))?(console[bc(0x366)](),console['log'](a0V[bc(0x386)](bc(0x346))),console[bc(0x366)](a0V[bc(0x455)][bc(0x386)](bc(0x18e))),console['log'](a0V['green'](bc(0x346))),console[bc(0x366)](),console[bc(0x366)](a0V['white'](bc(0x434))),console['log'](a0V[bc(0x396)](bc(0x187))),console[bc(0x366)](),console[bc(0x366)](a0V[bc(0x455)]['white'](bc(0x291))),console['log'](a0V[bc(0x34d)](bc(0x44e))+a0V[bc(0x455)](bc(0x282))+a0V[bc(0x34d)](bc(0x2b1))),console[bc(0x366)](),console[bc(0x366)](a0V[bc(0x455)]['white'](bc(0x48a))),console[bc(0x366)](a0V[bc(0x34d)](bc(0x29f))+a0V['bold']['green']('ai4ctf')+a0V[bc(0x34d)](bc(0x372))+a0V[bc(0x176)]('ai4ctf>')+a0V['gray'](bc(0x481))),console[bc(0x366)](a0V[bc(0x34d)]('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0V['cyan']('hint\x20a\x20/\x20b\x20/\x20c')+a0V[bc(0x34d)](bc(0x350))+a0V[bc(0x1a6)]('submit\x20ICOA{...}')+a0V[bc(0x34d)]('\x20·\x20')+a0V[bc(0x1a6)]('!python3\x20...')),console[bc(0x366)](a0V[bc(0x34d)](bc(0x474))),console[bc(0x366)](a0V['gray'](bc(0x36f))+a0V['cyan'](bc(0x284))+a0V['gray'](bc(0x251))+a0V['cyan'](bc(0x317))),console['log'](),console[bc(0x366)](a0V[bc(0x455)][bc(0x396)](bc(0x32a))),console[bc(0x366)](a0V[bc(0x34d)](bc(0x496))+a0V[bc(0x396)]('25,000')+a0V[bc(0x34d)](bc(0x413))),console[bc(0x366)](a0V[bc(0x34d)](bc(0x2dd))+a0V['white'](bc(0x1dc))),console[bc(0x366)](),console[bc(0x366)](a0V[bc(0x34e)]('\x20\x20\x20Time\x20still\x20counting\x20down.\x20Budget\x20~2\x20min\x20per\x20question.')),console[bc(0x366)](a0V[bc(0x386)](bc(0x346))),console[bc(0x366)](),a2['add']('s_ai4ctf'),a0[bc(0x3bb)]=Array['from'](a2),a0a1(a0)):a1>=-0x27d+0x9b*0x4+0x38&&!a2[bc(0x213)](bc(0x1cb))&&(console[bc(0x366)](),console[bc(0x366)](a0V[bc(0x3a2)](bc(0x346))),console[bc(0x366)](a0V['bold'][bc(0x3a2)]('\x20\x20\x20🎯\x20\x20Section\x203:\x20CTF4AI\x20—\x20Challenge\x20the\x20AI')),console['log'](a0V[bc(0x3a2)](bc(0x346))),console[bc(0x366)](),console[bc(0x366)](a0V[bc(0x396)](bc(0x290))),console[bc(0x366)](a0V['white'](bc(0x380))+a0V['bold'](bc(0x418))+a0V[bc(0x396)](bc(0x2a0))),console[bc(0x366)](),console[bc(0x366)](a0V[bc(0x455)]['white']('\x20\x20\x20Q39–40\x20(2\x20questions\x20·\x2016\x20pts\x20each\x20—\x20highest\x20value!)')),console[bc(0x366)](a0V[bc(0x34d)](bc(0x493))),console['log'](),console['log'](a0V[bc(0x455)][bc(0x396)](bc(0x17d))),console['log'](a0V[bc(0x34d)]('\x20\x20\x20\x20\x20Enter\x20chat:\x20\x20\x20\x20\x20')+a0V[bc(0x455)][bc(0x3a2)](bc(0x1ec))+a0V[bc(0x34d)](bc(0x372))+a0V['red'](bc(0x44c))+a0V[bc(0x34d)]('\x20prompt,\x20same\x20shape\x20as\x20demo')),console['log'](a0V[bc(0x34d)]('\x20\x20\x20\x20\x20Inside\x20chat:\x20\x20\x20\x20')+a0V[bc(0x1a6)](bc(0x4aa))+a0V[bc(0x34d)](bc(0x350))+a0V['cyan'](bc(0x2dc))+a0V[bc(0x34d)](bc(0x350))+a0V[bc(0x1a6)](bc(0x3a8))),console[bc(0x366)](a0V[bc(0x34d)]('\x20\x20\x20\x20\x20Messages\x20→\x20AI\x20target\x20—\x20craft\x20prompts\x20to\x20break\x20its\x20rules.')),console[bc(0x366)](),console[bc(0x366)](a0V[bc(0x455)]['white'](bc(0x48b))),console[bc(0x366)](a0V['gray'](bc(0x354))+a0V[bc(0x3a2)]('target')+a0V[bc(0x34d)](',\x20not\x20your\x20teammate')),console[bc(0x366)](a0V[bc(0x34d)](bc(0x3cd))+a0V[bc(0x396)]('25,000\x20tokens')+a0V[bc(0x34d)](bc(0x200))),console[bc(0x366)](),console[bc(0x366)](a0V[bc(0x34e)](bc(0x1fa))),console['log'](a0V[bc(0x34e)](bc(0x256))),console[bc(0x366)](a0V['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bc(0x366)](),a2[bc(0x447)]('s_ctf4ai'),a0[bc(0x3bb)]=Array[bc(0x31d)](a2),a0a1(a0));}(F,z['number']),F&&function(a0){const bd=ba,a1=a0a3();if(!a1)return;const a2=a1['getTime']()-Date[bd(0x23b)]();if(a2<=-0x2087+0xe9f+0x11e8)return;const a3=a2/(0xb971*-0x1+-0xb1bf+0x30*0xc73),a4=new Set(a0[bd(0x3bb)]||[]);let a5=null;if(a3<=0x3*-0x17b+0x1949+-0x1e5*0xb&&!a4[bd(0x213)]('t1')?a5={'key':'t1','text':[a0V[bd(0x3a2)][bd(0x455)](bd(0x469)),a0V['red']('\x20\x20Submit\x20now\x20with:\x20')+a0V[bd(0x455)](bd(0x42c))]}:a3<=0x99e*0x1+-0x5ad+-0x3ec&&!a4[bd(0x213)]('t5')?a5={'key':'t5','text':[a0V[bd(0x3a2)][bd(0x455)](bd(0x339)),a0V[bd(0x34e)](bd(0x1e7))+a0V[bd(0x455)](bd(0x42c))]}:a3<=0x17e*0xd+-0x1*0x1ad5+0x779&&!a4[bd(0x213)](bd(0x2ce))&&(a5={'key':bd(0x2ce),'text':[a0V[bd(0x34e)][bd(0x455)](bd(0x1c2)),a0V[bd(0x34d)](bd(0x1aa))+a0V[bd(0x396)](bd(0x279))]}),a5){console[bd(0x366)](),console[bd(0x366)](a0V[bd(0x3a2)](bd(0x1d0)));for(const a6 of a5[bd(0x295)])console[bd(0x366)](a6);console[bd(0x366)](a0V['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),a4[bd(0x447)](a5['key']),a0[bd(0x3bb)]=Array[bd(0x31d)](a4),a0a1(a0);}}(F),function(a0,a1,a2){const be=ba,a3=Math[be(0x417)](a0/a1*(-0x40*-0x7+-0x99f+0x7fd)),a4=0x15a7+0x1904+-0x2e8d*0x1-a3,a5=a0V[be(0x1a6)]('━'['repeat'](a3))+a0V['gray']('─'[be(0x302)](a4)),a6=Math[be(0x417)](a0/a1*(-0x2*-0x9bf+0x2330+-0x1*0x364a));console['log'](),console[be(0x366)]('\x20\x20'+a5+'\x20\x20'+a0V[be(0x396)][be(0x455)](''+a0)+a0V[be(0x34d)]('/'+a1)+'\x20\x20'+a0V[be(0x34d)]('('+a2+be(0x3b2))+'\x20\x20'+a0V['gray'](a6+'%'));const a7=a0a3();if(a7){const a8=Math[be(0x2da)](-0x9e1*-0x1+0x41*-0x4f+0xa2e,Math['round']((a7[be(0x26d)]()-Date[be(0x23b)]())/(-0xd4+-0x1bec+0x20a8))),a9=Math[be(0x3c1)](a8/(0x1*0x1763+-0x4f6+-0x1231))+':'+String(a8%(-0x7*-0x3+-0x4ef*-0x6+0x167*-0x15))[be(0x3ae)](0x1634+-0xee*0xe+-0x92e,'0'),aa=a8<=-0x19a9+0x346+0x169f*0x1?a0V['red'][be(0x455)]:a8<=-0x1c25+-0x6a4+0x523*0x7?a0V[be(0x3a2)]:a8<=-0x54d*0x4+0x77e+0x100e?a0V[be(0x34e)]:a0V['gray'];console['log']('\x20\x20'+a0V['gray'](be(0x29e))+'\x20'+aa(a9)+'\x20'+a0V[be(0x34d)](be(0x3d2)));}}(z[ba(0x210)],G,H),F&&U(F,z[ba(0x210)])&&console['log'](a0V[ba(0x34e)](ba(0x2b4)));const W=function(a0,a1){const bf=ba,a2={};a2[bf(0x3fc)]=0.2,a2[bf(0x3de)]=bf(0x319),a2[bf(0x242)]=bf(0x37b);const a3={};a3[bf(0x3fc)]=0.33,a3[bf(0x3de)]='🐨',a3['key']=bf(0x3e4);const a4={};a4[bf(0x3fc)]=0.5,a4['emoji']='🌉',a4['key']=bf(0x1e2);const a5={};a5['pct']=0.6,a5['emoji']='🦘',a5['key']='egg9';const a6={};a6[bf(0x3fc)]=0.8,a6['emoji']=bf(0x19a),a6['key']=bf(0x1ba);const a7={};a7[bf(0x3fc)]=0.87,a7[bf(0x3de)]='🦈',a7[bf(0x242)]=bf(0x2d2);const a8={};a8['pct']=0x1,a8['emoji']='🎉',a8[bf(0x242)]='egg15';const a9=[a2,a3,a4,a5,a6,a7,a8],aa=new Set();for(const ab of a9){const ac=Math[bf(0x417)](ab['pct']*a1);if(!(ac<0x199*-0x4+0x159e+-0xf39||aa[bf(0x213)](ac))&&(aa[bf(0x447)](ac),a0===ac))return{'emoji':ab[bf(0x3de)],'text':a0ak(ab[bf(0x242)])};}}(z[ba(0x210)],G);if(W&&console['log'](a0V[ba(0x34e)]('\x20\x20'+W[ba(0x3de)]+'\x20\x20'+W[ba(0x295)])),console[ba(0x366)](),z[ba(0x2b8)]&&console[ba(0x366)](a0V['cyan']('\x20\x20['+z[ba(0x2b8)]+']')),z[ba(0x1ce)]&&z[ba(0x1ce)]>-0x114+-0x1*-0xf4+-0x11*-0x2&&console[ba(0x366)](a0V[ba(0x1a6)](ba(0x2ea)+z[ba(0x1ce)]+ba(0x1d6))),V){let a0=z[ba(0x351)]||z[ba(0x295)];const a1=a0a4(z[ba(0x210)],z[ba(0x3c5)]);if(z[ba(0x3c5)]){const a3=/\([^()]*attachedData[^()]*\)/;a3[ba(0x401)](a0)?a0=a0[ba(0x26b)](a3,z[ba(0x3c5)]):a0[ba(0x3b8)](z[ba(0x3c5)])||(a0=a0+ba(0x2c9)+z[ba(0x3c5)]);}console[ba(0x366)](a0V[ba(0x455)][ba(0x396)](ba(0x2e6)+z['number']+'.\x20')+a0V[ba(0x396)](a0[ba(0x48f)]('\x0a')[0x24a0+0xc65+-0x3105]));const a2=a0[ba(0x48f)]('\x0a')[ba(0x3c9)](-0x1a7a+-0x215*0x9+0x8*0x5a7);for(const a4 of a2)console[ba(0x366)](a0V[ba(0x396)]('\x20\x20'+a4));if(console[ba(0x366)](),a1&&ba(0x311)===z[ba(0x3f1)]){const a5=a1[ba(0x26b)](process.env.HOME||'','~');console['log'](a0V[ba(0x1a6)]('\x20\x20'+a0ak(ba(0x201))+'\x20')+a0V[ba(0x34d)]('('+a0ak(ba(0x28d))+'\x20'+a5+'):')),console[ba(0x366)](a0V['white']('\x20\x20\x20\x20①\x20')+a0V[ba(0x34e)]('!<cmd>\x20'+a5)[ba(0x49a)](0x3*0x4af+0x5*-0x11b+-0x8e*0xf)+a0V['gray']('\x20'+a0ak(ba(0x365)))),console[ba(0x366)](a0V[ba(0x396)](ba(0x24f))+a0V[ba(0x34e)]('!python3')['padEnd'](-0x9*0x1ab+0x1743+-0x820)+a0V[ba(0x34d)]('\x20'+a0ak(ba(0x2f8)))),console[ba(0x366)](a0V[ba(0x396)](ba(0x189))+a0V[ba(0x34e)]('!vi\x20solve.py')+a0V[ba(0x34d)](ba(0x477))+a0V['yellow'](ba(0x20c))),console[ba(0x366)](a0V['white'](ba(0x27e))+a0V[ba(0x34e)](ba(0x335))[ba(0x49a)](0xbd*-0x33+-0x1*0xe6f+0x3436)+a0V['gray']('\x20'+a0ak(ba(0x2c8)))),console[ba(0x366)](a0V[ba(0x396)]('\x20\x20\x20\x20⑤\x20')+a0V[ba(0x34e)](ba(0x311))['padEnd'](-0xe0c+0x1fa5+0x47*-0x3f)+a0V[ba(0x34d)]('\x20'+a0ak(ba(0x43a)))),console[ba(0x366)](),console['log'](a0V[ba(0x34d)]('\x20\x20'+a0ak('examWaysFound')+'\x20')+a0V[ba(0x455)][ba(0x386)](ba(0x3dc))),console[ba(0x366)]();}B&&(console[ba(0x366)](a0V[ba(0x386)](ba(0x453)+B)),console['log']());}else{console[ba(0x366)](a0V['bold']['white'](ba(0x2e6)+z['number']+'.\x20')+a0V[ba(0x396)](z['text'])),console['log']();for(const a6 of['A','B','C','D']){const a7=B===a6;K['includes'](a6)?console['log'](a0V[ba(0x34d)]['strikethrough'](ba(0x236)+a6+'.\x20'+z[ba(0x48c)][a6])+a0V['red']('\x20('+a0ak(ba(0x23c))+')')):a7?console[ba(0x366)](a0V['green'][ba(0x455)](ba(0x17f)+a6+'.\x20'+z['options'][a6])):console['log'](a0V['gray'](ba(0x236)+a6+'.')+'\x20'+a0V[ba(0x396)](z[ba(0x48c)][a6]));}console[ba(0x366)]();}const X=ba(0x179)===F?.[ba(0x345)][ba(0x480)],Y=J[ba(0x378)][0x44b*-0x1+-0x59*-0x5e+-0x1c61]||0x11f6+0x2*0xce3+-0x2bbc;X&&0x213b*-0x1+-0x6c2+0x27ff===z['number']&&0x15cb+-0xa44+0xb87*-0x1===Y&&(console[ba(0x366)](a0V[ba(0x34e)][ba(0x455)]('\x20\x20'+a0ak(ba(0x3a3)))),console[ba(0x366)]());const Z=J[ba(0x2da)]-J[ba(0x301)];if(console[ba(0x366)](a0V[ba(0x34d)]('\x20\x20─────────────────────────────────────────')),V){const a8=F&&ba(0x179)!==F[ba(0x345)]['examId']&&z[ba(0x210)]>=0x44*0x37+0x12c8+0x213d*-0x1&&z[ba(0x210)]<=-0x6b*-0x56+-0xfb2*-0x1+-0x337c,a9=F&&ba(0x179)!==F[ba(0x345)][ba(0x480)]&&z['number']>=-0x25b1+-0xb7e+0x314e*0x1&&z[ba(0x210)]<=-0x1877+-0xc8d+0x252a;ba(0x3ed)===z[ba(0x3f1)]?console[ba(0x366)](a0V[ba(0x455)][ba(0x1a6)](ba(0x407))+a0V[ba(0x34d)](ba(0x18a))):a9?console[ba(0x366)](a0V['bold']['green'](ba(0x394))+a0V['gray'](ba(0x458))):a8&&console[ba(0x366)](a0V[ba(0x455)][ba(0x3a2)]('\x20\x20\x20\x20ctf4ai')+a0V['gray'](ba(0x173))),console[ba(0x366)](a0V[ba(0x34e)](ba(0x2de))+a0V[ba(0x34d)]('\x20\x20submit\x20flag\x20directly')),console[ba(0x366)](a0V['yellow'](ba(0x425))+a0V[ba(0x34d)](ba(0x215)));}else{const aa=J[ba(0x2da)]>=0x1*0x2615+-0x5a1+-0x2056,ab=Z>0x523*0x5+0x6c+-0x1a1b?a0V[ba(0x34d)](a0ak('helpRemove')+'\x20')+a0V[ba(0x34e)]('('+Z+'/'+J[ba(0x2da)]+')'):aa?a0V[ba(0x34d)](a0ak(ba(0x259))+'\x20('+J[ba(0x301)]+'/'+J[ba(0x2da)]+')'):a0V[ba(0x34d)](''+a0ak('helpUsedUp'));console['log'](a0V['yellow'](ba(0x38b))+a0V[ba(0x34d)](ba(0x2e4)+a0ak(ba(0x253)))),console['log'](a0V[ba(0x34e)]('\x20\x20\x20\x20help')+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+ab);}console[ba(0x366)](a0V['yellow'](ba(0x389))+a0V[ba(0x34d)](ba(0x252))+a0V[ba(0x34e)]('prev')+a0V[ba(0x34d)]('\x20\x20\x20\x20'+a0ak(ba(0x1d9)))),console['log'](a0V[ba(0x34e)](ba(0x3e2)+G)+a0V['gray'](ba(0x45c)+a0ak('htpJump'))),console['log'](a0V[ba(0x34e)](ba(0x30b))+a0V[ba(0x34d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0ak('htpMark'))),console[ba(0x366)](a0V[ba(0x34e)](ba(0x18d))+a0V['gray']('\x20\x20\x20'+a0ak(ba(0x34c)))),console[ba(0x366)](a0V['bold'][ba(0x34e)](ba(0x40b))+a0V[ba(0x34d)](ba(0x45c)+a0ak('htpSubmit'))),console[ba(0x366)](a0V[ba(0x34e)](ba(0x27c))+a0V[ba(0x34d)](ba(0x1c7)+a0ak(ba(0x2af)))),console[ba(0x366)](a0V['yellow'](ba(0x40e))+a0V[ba(0x34d)](ba(0x1c7)+a0ak(ba(0x2ef)))),console[ba(0x366)](a0V[ba(0x34d)]('\x20\x20─────────────────────────────────────────'));}export function registerExamCommand(z){const bg=a0B,B=z['command']('exam')[bg(0x351)]('National\x20selection\x20exam');B[bg(0x342)](bg(0x2c7))['description']('View\x20all\x20participating\x20countries')[bg(0x404)](()=>{const bh=bg;a0aa('exam\x20nations'),console['log'](),a0ag(bh(0x439)),console[bh(0x366)]();const F=[['AU',bh(0x27f)],['BD',bh(0x3a4)],['BI','Burundi'],['BR',bh(0x24e)],['BW',bh(0x1d3)],['CN',bh(0x1dd)],['DE','Germany'],['EG',bh(0x427)],['FR',bh(0x2eb)],['GH',bh(0x395)],['ID',bh(0x3e9)],['IN',bh(0x414)],['JP',bh(0x3d1)],['KR',bh(0x466)],['LA',bh(0x1fe)],['LK',bh(0x192)],['MM',bh(0x2ed)],['MO','Macau'],['MY',bh(0x449)],['NZ',bh(0x28e)],['PE',bh(0x250)],['PH','Philippines'],['RU',bh(0x4a1)],['SA',bh(0x1a2)],['SG',bh(0x405)],['TH',bh(0x43d)],['TR','Turkey'],['UK','United\x20Kingdom'],['US',bh(0x1b2)],['UZ',bh(0x435)],['VN',bh(0x398)],['ZA',bh(0x1df)]];for(let G=0x241c+0xac+-0xd6*0x2c;G<F[bh(0x1ca)];G+=-0x10af+0xc9*0x6+0xbfc){const H=F[bh(0x3c9)](G,G+(-0x1*-0x13f9+-0x67*0x52+-0xc*-0x116))[bh(0x42e)](([J,K])=>'\x20\x20'+a0V['cyan'](J)+'\x20\x20'+a0V[bh(0x34d)](K[bh(0x49a)](-0x19c+-0x29*-0x76+0xd2*-0x15)))[bh(0x37e)]('');console[bh(0x366)](H);}console['log'](),console[bh(0x366)](a0V[bh(0x34d)](bh(0x491))),console[bh(0x366)](a0V[bh(0x34d)](bh(0x1bf))),console[bh(0x366)](),console[bh(0x366)](a0V[bh(0x396)](bh(0x45b))),console['log'](a0V[bh(0x1a6)](bh(0x490))+a0V[bh(0x34d)]('\x20\x20\x20\x20\x20exam\x20list\x20PE')+a0V[bh(0x34d)]('\x20\x20\x20\x20\x20exam\x20list\x20CN')),console[bh(0x366)]();}),B[bg(0x342)](bg(0x383))[bg(0x351)](bg(0x21c))[bg(0x404)](async F=>{const bi=bg;a0aa(bi(0x1de)+(F||''));const G=j();if(!G)return;const H=a0ai(bi(0x1eb));H[bi(0x467)]();try{let J=await G['getExams']();if(H['stop'](),F){const W=F[bi(0x482)]();J=J[bi(0x429)](X=>X[bi(0x2fd)][bi(0x482)]()===W||'ALL'===X[bi(0x2fd)]);}if(!J||0x12a6+0xa2*-0xb+-0xbb0===J[bi(0x1ca)]){console['log'](),a0ae(F?bi(0x230)+F[bi(0x482)]()+bi(0x1b0):'No\x20exams\x20available\x20for\x20your\x20country\x20yet.'),console[bi(0x366)](),console['log'](a0V[bi(0x396)](bi(0x3f5))),console['log'](a0V['gray'](bi(0x391))),console['log'](),console['log'](a0V[bi(0x34d)]('\x20\x20In\x20the\x20meantime,\x20try:\x20')+a0V[bi(0x455)][bi(0x1a6)]('demo')),console[bi(0x366)]();const X={};X['PE']='es',X['CN']='zh',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['UA']='uk',X['HT']='ht',X['KE']='sw',X['TZ']='sw';const Y=X,Z=(F||'')[bi(0x482)]();return void(Y[Z]&&(console['log'](a0V[bi(0x34d)]('\x20\x20Tip:\x20switch\x20to\x20your\x20language\x20with:\x20lang\x20'+Y[Z])),console[bi(0x366)]()));}const K=J[bi(0x42e)](a0=>{const bj=bi,a1=bj(0x244)===a0[bj(0x1f1)]?a0V[bj(0x386)]:bj(0x25a)===a0[bj(0x1f1)]?a0V[bj(0x34e)]:a0V[bj(0x396)];return[a0V[bj(0x396)](a0['id']),a0[bj(0x44a)],a0V[bj(0x1a6)](a0[bj(0x2fd)]),String(a0[bj(0x1da)]),a0[bj(0x3d0)]+'\x20min',a1(a0[bj(0x1f1)])];}),V=[...new Set(J['map'](a0=>a0[bi(0x2fd)]))];a0ag(F?bi(0x1bc)+F[bi(0x482)]():bi(0x22f)+V[bi(0x1ca)]+bi(0x499)),a0af(['ID',bi(0x3fe),bi(0x39e),bi(0x27a),bi(0x489),bi(0x273)],K),console[bi(0x366)](),console[bi(0x366)](a0V[bi(0x34d)]('\x20\x20Start:\x20exam\x20start\x20<id>')),V[bi(0x1ca)]>0xa21*0x3+-0x1368+0x232*-0x5&&console[bi(0x366)](a0V[bi(0x34d)](bi(0x183)));}catch(a0){H[bi(0x275)]('Failed\x20to\x20load\x20exams'),a0ac(a0[bi(0x1fb)]);}}),B[bg(0x342)]('start\x20<id>')['description'](bg(0x2b2))[bg(0x404)](async F=>{const bk=bg;a0aa(bk(0x237)+F);const G=a0a0();if(G)return a0ad('Exam\x20\x22'+G[bk(0x345)][bk(0x1d1)]+bk(0x38f)),void a0ae('Use\x20\x22exam\x20review\x22\x20to\x20check\x20progress\x20or\x20\x22exam\x20submit\x22\x20to\x20submit.');const H=j();if(!H)return;const J=a0ap();let K=a0V[bk(0x396)](bk(0x287)),V=!(0x25*0x81+0xe8*-0x2a+0x136b);if(J[bk(0x1ca)]>0x14f1+-0x92*0x3a+0xef*0xd){console[bk(0x366)](),console['log'](a0V[bk(0x3a2)][bk(0x455)](bk(0x1b6)));for(const X of J)console[bk(0x366)](a0V[bk(0x3a2)](bk(0x33d)+X));console['log'](),console[bk(0x366)](a0V[bk(0x34e)](bk(0x33f))),console[bk(0x366)](a0V[bk(0x34e)](bk(0x304))),console['log'](),K=a0V['white'](bk(0x4a7)),V=!(0x5d*0xd+-0x500+-0xc*-0x6);}const W=await a0W({'message':K,'default':V,'theme':{'prefix':'','style':{'message':Y=>Y,'defaultAnswer':Y=>a0V['green'](Y)}}});if(a0aq(J),W){console[bk(0x366)]();try{D(0x5*0x373+-0x5*0x5f5+0xc8a,bk(0x349));const {session:Y,questions:Z}=await H[bk(0x461)](F);D(0xa3*-0x12+0x213f+-0x81*0x2b,bk(0x30a)),await M(0x2069*-0x1+-0xfb8+0x30e9),D(0x186b+-0x1d*-0xb7+-0x1675*0x2,bk(0x3af)),await M(0x696+-0x1391+0x1*0xdc3),D(0x176f+0x1*0x2284+-0xb85*0x5,'Starting\x20timer...'),await M(-0x40d+-0x80+0x523);try{const a1=a0ar(Y['examId']);Y[bk(0x280)]=a1,process['chdir'](a1);}catch{}const a0={};a0[bk(0x345)]=Y,a0['questions']=Z,a0['answers']={},(a0a1(a0),D(0x7*0x1b3+0xabd*0x1+-0xb1f*0x2,'Ready!'),console[bk(0x366)](),console[bk(0x366)](),a0ag(Y['examName']),a0ah(bk(0x27a),String(Y[bk(0x1da)])),a0ah('Duration',Y['durationMinutes']+bk(0x1e5)),a0ah('Country',Y[bk(0x2fd)]),R(),Z[bk(0x1ca)]>-0xf3d*-0x1+0x1531+-0x246e&&L(Z[-0x79b+0x36a+0x431]));}catch(a2){console['log'](),a0ac(a2[bk(0x1fb)]);}}}),B[bg(0x342)](bg(0x32e))['description'](bg(0x2f9))[bg(0x404)](async F=>{const bl=bg;a0aa(bl(0x3a0)+(F||bl(0x195)));const {refetchQuestionDataIfStale:G}=await import(bl(0x2b0));await G();const H=a0a0();if(H){if(R(),F){const J=parseInt(F,0x1c83+0x71*0x1f+-0x8*0x545),K=H['questions']['find'](V=>V[bl(0x210)]===J);if(!K)return void a0ac(bl(0x320)+F+bl(0x1e9)+H[bl(0x3db)][bl(0x1ca)]+').');H[bl(0x2d1)]=J,a0a1(H),L(K,H[bl(0x41d)][J]);}else{a0ag(''+H[bl(0x345)][bl(0x1d1)]);const V=Object[bl(0x2f5)](H[bl(0x41d)])['length'];a0ah('Progress',V+'/'+H[bl(0x345)][bl(0x1da)]+bl(0x20d)),console['log']();for(const W of H[bl(0x3db)]){const X=H[bl(0x41d)][W[bl(0x210)]],Y=X?a0V['green']('['+X+']'):a0V[bl(0x34d)]('[\x20]'),Z=W['category']?a0V[bl(0x34d)]('\x20['+W[bl(0x2b8)]+']'):'';console[bl(0x366)]('\x20\x20'+Y+'\x20'+a0V[bl(0x396)]('Q'+W['number'])+Z+'\x20'+a0V[bl(0x34d)](W[bl(0x295)][bl(0x2bf)](-0x86*0x24+-0xb*0x97+0x1955,0x1f*0xb4+0x656*-0x5+0xa1e))+(W['text'][bl(0x1ca)]>0x1baa*0x1+0x6eb+-0x9*0x3d1?'...':''));}console['log']();}}else a0ac(bl(0x1ab));}),B[bg(0x342)](bg(0x3a9))[bg(0x351)](bg(0x22e))[bg(0x404)](F=>{const bm=bg;a0aa('exam\x20mark\x20'+(F||''));const G=a0a0();if(!G)return void a0ac('No\x20exam\x20in\x20progress.');const H=G[bm(0x3db)]['length'],J=F?parseInt(F,-0x1793+-0x212c+0x38c9):G[bm(0x2d1)]||-0xe*0x14e+0xc6*0x2b+-0x1*0xefd;if(Number['isNaN'](J)||J<0x2448+0x2dd*-0x5+0x2*-0xafb||J>H)return void a0ac(bm(0x355)+H+'.');const K=Q(G,J);console[bm(0x366)](),K?console[bm(0x366)](a0V['yellow'](bm(0x3d4)+J+bm(0x4a4))):console[bm(0x366)](a0V['gray'](bm(0x24d)+J+bm(0x4a6)));const V=Array[bm(0x352)](G[bm(0x225)])?G['bookmarks']:[];V[bm(0x1ca)]>-0x1*-0x641+-0x65*-0x8+-0x969&&console[bm(0x366)](a0V[bm(0x34d)](bm(0x1ae)+V[bm(0x42e)](W=>'Q'+W)[bm(0x37e)](',\x20'))),console[bm(0x366)](a0V[bm(0x34d)](bm(0x196))+a0V[bm(0x396)](bm(0x279))),console[bm(0x366)]();}),B['command']('unmark\x20[n]')[bg(0x351)](bg(0x228))[bg(0x404)](F=>{const bn=bg;a0aa(bn(0x39f)+(F||''));const G=a0a0();if(!G)return void a0ac(bn(0x384));const H=G['questions']['length'],J=F?parseInt(F,-0x1327+-0x1c08+0x2f39):G[bn(0x2d1)]||-0x26f2+-0xe41+0x3534*0x1;Number[bn(0x1cc)](J)||J<-0x214f*0x1+-0x5c*0x62+0x2db*0x18||J>H?a0ac('Invalid\x20question\x20number.\x20Use\x201..'+H+'.'):U(G,J)?(Q(G,J),console[bn(0x366)](),console[bn(0x366)](a0V[bn(0x34d)](bn(0x24d)+J+bn(0x4a6))),console['log']()):console[bn(0x366)](a0V[bn(0x34d)](bn(0x2e6)+J+bn(0x2cc)));}),B[bg(0x342)](bg(0x4a0))[bg(0x351)](bg(0x198))[bg(0x404)](()=>{const bo=bg;a0aa(bo(0x3f4));const F=a0a0();if(!F)return void a0ac('No\x20exam\x20in\x20progress.');F['questions'][bo(0x44d)](K=>!F[bo(0x41d)][K[bo(0x210)]]);const G=F[bo(0x2d1)]||-0x62*0x31+0x9d*0x3a+-0x10cf,H=Math['min'](G+(0x2d3+0x13*-0x17d+0x1975),F[bo(0x3db)][bo(0x1ca)]);F['_lastQ']=H,a0a1(F);const J=F[bo(0x3db)][H-(0x3*0x53b+0x17d5*0x1+-0x1*0x2785)];L(J,F['answers'][J[bo(0x210)]]);}),B['command']('prev')[bg(0x351)]('Go\x20to\x20previous\x20question')['action'](()=>{const bp=bg;a0aa(bp(0x1cd));const F=a0a0();if(!F)return void a0ac(bp(0x384));const G=F[bp(0x2d1)]||0x1760+-0xedd+-0x882,H=Math[bp(0x2da)](G-(-0x61e+-0x1*0x143e+0x11*0x18d),-0x16c4+0x1b*0x6b+0xb7c);F[bp(0x2d1)]=H,a0a1(F);const J=F['questions'][H-(0x157d+-0x1131+-0x7*0x9d)];L(J,F[bp(0x41d)][J[bp(0x210)]]);}),B[bg(0x342)](bg(0x1e0))[bg(0x351)]('Eliminate\x20one\x20wrong\x20option\x20(limited\x20uses)')[bg(0x404)](async()=>{const bq=bg;a0aa(bq(0x2f1));const F=a0a0();if(!F)return void a0ac(bq(0x384));const G=_(F),H=F['_lastQ']||0x1*0x957+-0x1169*-0x2+-0x2c28,J=G['perQ'][H]||-0x10b1+0x1c52+0xe5*-0xd,K=G[bq(0x377)][H]||[],V=F[bq(0x3db)]['find'](Y=>Y[bq(0x210)]===H);if(!V)return;if(J>=-0x24a9+-0x749*0x1+0x2bf4)return console[bq(0x366)](),console['log'](a0V[bq(0x34e)](bq(0x3ef))),console[bq(0x366)](a0V[bq(0x34d)](bq(0x2c0))),console[bq(0x366)](),void L(V,F[bq(0x41d)][V[bq(0x210)]]);const W=['A','B','C','D']['filter'](Y=>!K[bq(0x3b8)](Y));if(W[bq(0x1ca)]<=0x29*-0xb3+-0x1163*-0x1+0xb4a)return console[bq(0x366)](),console[bq(0x366)](a0V[bq(0x34e)](bq(0x364))),console[bq(0x366)](),void L(V,F[bq(0x41d)][V[bq(0x210)]]);if(G[bq(0x301)]>=G[bq(0x2da)]){const Y=G['max']>=-0x196a+-0x8*-0x147+-0x310*-0x5,Z=0x1*0x277+-0x12c1+-0x3c*-0x46-G[bq(0x2da)];return void(Y?(console[bq(0x366)](),console[bq(0x366)](a0V[bq(0x34d)](bq(0x315)+G[bq(0x301)]+'/'+G[bq(0x2da)]+bq(0x272))),console[bq(0x366)]()):(console['log'](),console[bq(0x366)](a0V[bq(0x34e)](bq(0x462)+G[bq(0x301)]+'/'+G['max'])),console[bq(0x366)](a0V[bq(0x396)](bq(0x3b4))+a0V[bq(0x455)][bq(0x34e)]('more\x20help')+a0V[bq(0x34d)](bq(0x452)+Z+'\x20bonus\x20uses)')),console['log']()));}const X=a0=>{const br=bq;K[br(0x2e9)](a0),G[br(0x377)][H]||(G[br(0x377)][H]=[]),G[br(0x377)][H]=K,G[br(0x378)][H]=J+(0x216f+0x1289+-0x33f7),G[br(0x301)]++,F['_helpUsed']=G[br(0x301)],F[br(0x1ee)]=G['max'],F['_helpPerQ']=G[br(0x378)],F['_eliminated']=G[br(0x377)],F[br(0x47c)]||(F[br(0x47c)]=[]),F['interactions'][br(0x2e9)]({'ts':new Date()[br(0x285)](),'q':H,'type':br(0x436),'result':br(0x1a9)+a0}),a0a1(F),console[br(0x366)](),console['log'](a0V[br(0x34e)]('\x20\x20💡\x20Option\x20'+a0+br(0x370))+a0V[br(0x34d)](br(0x2fe)+G[br(0x301)]+'/'+G['max']+')')),L(V,F[br(0x41d)][V[br(0x210)]]);};if(bq(0x179)===F[bq(0x345)][bq(0x480)]&&V[bq(0x178)])(a0=>{const bs=bq,a1=W[bs(0x429)](a2=>a2!==a0&&!K[bs(0x3b8)](a2));-0x1*0x22a9+0x3*0xcdd+-0x3ee!==a1[bs(0x1ca)]&&X(a1[Math[bs(0x3c1)](Math[bs(0x437)]()*a1[bs(0x1ca)])]);})(V[bq(0x178)]);else{const a0=a0Y()[bq(0x36a)]||bq(0x4ac),a1=F[bq(0x345)]?.['token']||'';try{const a2={};a2[bq(0x3a1)]=bq(0x416),a2[bq(0x3fb)]=bq(0x2ca);const a3={};a3['token']=a1,a3['question']=H,a3[bq(0x377)]=K;const a4=await fetch(a0+'/api/icoa/exams/'+F['session'][bq(0x480)]+bq(0x17c),{'method':bq(0x233),'headers':a2,'body':JSON[bq(0x497)](a3),'signal':AbortSignal[bq(0x36d)](-0x1769*0x1+-0x17e1+0x42d2)}),a5=await a4[bq(0x211)](),a6=a5?.[bq(0x451)]?.[bq(0x1f8)];a6&&['A','B','C','D'][bq(0x3b8)](a6)?X(a6):(console[bq(0x366)](),console[bq(0x366)](a0V[bq(0x34d)](bq(0x260))));}catch{console[bq(0x366)](),console['log'](a0V[bq(0x34d)](bq(0x3f6)));}}}),B[bg(0x342)](bg(0x32b))[bg(0x351)](bg(0x43c))[bg(0x404)](()=>{const bt=bg;a0aa(bt(0x3c4));const F=a0a0();if(!F)return void a0ac('No\x20exam\x20in\x20progress.');const G=_(F),H=bt(0x179)===F[bt(0x345)]['examId']?0xf34*-0x2+0x1*0x1e2f+0x41:0x22d+0x1095+-0x12a4;if(G[bt(0x2da)]>=H)return void console[bt(0x366)](a0V[bt(0x34d)]('\x20\x20Bonus\x20help\x20already\x20unlocked.'));if(G[bt(0x301)]<G['max'])return void console[bt(0x366)](a0V[bt(0x34d)](bt(0x329)+(G[bt(0x2da)]-G['used'])+bt(0x288)));const J=H-G[bt(0x2da)];F['_helpMax']=H,a0a1(F),console[bt(0x366)](),console[bt(0x366)](a0V['green'](bt(0x1a1)+J+bt(0x40f)+J+'/'+H+bt(0x1d8))),console['log'](a0V['gray'](bt(0x321))),console[bt(0x366)]();}),B[bg(0x342)](bg(0x3ce))[bg(0x351)](bg(0x2e1))[bg(0x404)](async(F,G)=>{const bu=bg,H=G[bu(0x37e)]('\x20');a0aa('exam\x20answer\x20'+F+'\x20'+H);const J=a0a0();if(!J)return void a0ac(bu(0x1ab));if(!(function(){const bv=bu,a1=a0a3();if(!a1)return!(0xb7f*-0x2+0xe91+0x86d);if(new Date()>=a1){const a2=a0a0();if(a2){const a3=Object[bv(0x2f5)](a2[bv(0x41d)])[bv(0x1ca)];'demo-free'===a2['session'][bv(0x480)]||0x225e*-0x1+0xb5*-0x1+-0xdb*-0x29===a3?(a0a2(),a0ad(bv(0x35f)),a0ae('Type:\x20demo\x20to\x20start\x20again.')):(a0ac(bv(0x4a2)),a0ae('Type\x20\x22exam\x20submit\x22\x20to\x20finalise\x20now,\x20or\x20the\x20server\x20will\x20auto-finalise\x20within\x2030\x20minutes.'));}return!(0x1343+-0x9a5*0x1+-0x99d);}return!(0x26c6*-0x1+0x1dfd+0x8c9);}()))return;const K=parseInt(F,-0x1e8b+0x1*0x1743+0x3a9*0x2),V=J['questions'][bu(0x1c4)](a1=>a1[bu(0x210)]===K);if(!V)return void a0ac(bu(0x320)+F+'\x20not\x20found\x20(1-'+J[bu(0x3db)][bu(0x1ca)]+').');let W;if(bu(0x311)===V[bu(0x3f1)]||bu(0x1ec)===V['type']||bu(0x3ed)===V[bu(0x3f1)]||V[bu(0x48c)]&&!V[bu(0x48c)]['A']&&!V[bu(0x48c)]['B']){if(W=H[bu(0x367)](),/^submit\s+/i[bu(0x401)](W)&&(W=W['replace'](/^submit\s+/i,'')[bu(0x367)]()),W=W[bu(0x26b)](/^["'`]+|["'`]+$/g,'')[bu(0x367)](),!W)return void a0ac(bu(0x1e1));if(/^[A-Da-d]$/[bu(0x401)](W))return a0ac('Q'+K+bu(0x1b5)),void console[bu(0x366)](a0V[bu(0x34d)](bu(0x2a7))+a0V['green']('exam\x20answer\x20'+K+bu(0x248)));}else{if(W=H['toUpperCase'](),!['A','B','C','D'][bu(0x3b8)](W))return void a0ac(bu(0x185));}if('demo-free'===J[bu(0x345)][bu(0x480)]&&0xced*0x1+0x6ff+-0x9f5*0x2===K&&-0x318+-0xc76+0xf8e===(_(J)[bu(0x378)][0xa59+0x3*0x4f4+-0x1933*0x1]||0x12bf*-0x1+0x266b+-0x13ac))return console[bu(0x366)](),console[bu(0x366)](a0V[bu(0x34e)](bu(0x3bd))+a0V[bu(0x455)]['yellow'](bu(0x1e0))+a0V[bu(0x34e)]('\x20first\x20to\x20see\x20what\x20it\x20does!')),console[bu(0x366)](a0V['gray'](bu(0x2c2))),void console[bu(0x366)]();const X=J[bu(0x41d)][K];J['interactions']||(J[bu(0x47c)]=[]),J[bu(0x47c)][bu(0x2e9)]({'ts':new Date()[bu(0x285)](),'q':K,'type':X?bu(0x2b7):bu(0x2d8),'input':W,'result':X?bu(0x49c)+X:bu(0x25f)}),J[bu(0x41d)][K]=W,J[bu(0x2d1)]=K,a0a1(J),console[bu(0x366)](a0V['gray']('\x20\x20\x20\x20✓\x20saved'));const Y=J[bu(0x345)][bu(0x43b)];if(Y&&bu(0x179)!==J[bu(0x345)]['examId']){const a1=(a0Y()[bu(0x36a)]||bu(0x4ac))+bu(0x363)+J[bu(0x345)][bu(0x480)]+bu(0x19e),a2={};a2[bu(0x3a1)]=bu(0x416);const a3={};a3['token']=Y,a3[bu(0x2e2)]=K,a3[bu(0x178)]=W,fetch(a1,{'method':bu(0x233),'headers':a2,'body':JSON[bu(0x497)](a3),'signal':AbortSignal[bu(0x36d)](-0x5*-0x55a+-0xd54+0x61a)})[bu(0x3ab)](()=>{});}const Z=Object[bu(0x2f5)](J[bu(0x41d)])[bu(0x1ca)],a0=J[bu(0x345)][bu(0x1da)];if(a0ab('Q'+K+':\x20'+W+bu(0x286)+Z+'/'+a0+bu(0x3b2)),'demo-free'===J[bu(0x345)]['examId']&&V[bu(0x178)]){const a4=[bu(0x400),bu(0x19d),'On\x20the\x20money.',bu(0x426),bu(0x37c)],a5=[bu(0x217),bu(0x1f6),bu(0x3b5)],a6=W===V[bu(0x178)]?a4:a5,a7=a6[Math['floor'](Math[bu(0x437)]()*a6[bu(0x1ca)])];console['log'](a0V['gray']('\x20\x20\x20\x20·\x20'+a7));}if(K<J[bu(0x3db)]['length']){const a8=J[bu(0x3db)][K];J[bu(0x2d1)]=a8['number'],a0a1(J),L(a8,J[bu(0x41d)][a8[bu(0x210)]]);}else Z>=J['questions'][bu(0x1ca)]&&(console[bu(0x366)](),console[bu(0x366)](a0V[bu(0x386)][bu(0x455)](bu(0x410))),console['log'](),bu(0x179)===J[bu(0x345)][bu(0x480)]?(console[bu(0x366)](a0V[bu(0x396)](bu(0x1d7))+a0V[bu(0x455)][bu(0x1a6)](bu(0x42c))+a0V[bu(0x396)](bu(0x235))),console[bu(0x366)]()):console[bu(0x366)](a0V[bu(0x396)](bu(0x207))));}),B[bg(0x342)](bg(0x292))[bg(0x351)]('Review\x20all\x20answers\x20before\x20submitting')[bg(0x404)](()=>{const bw=bg;a0aa(bw(0x279));const F=a0a0();if(!F)return void a0ac(bw(0x384));a0ag(bw(0x2d3)+F['session'][bw(0x1d1)]),R(),console[bw(0x366)]();let G='\x20\x20';const H=Array[bw(0x352)](F[bw(0x225)])?F[bw(0x225)]:[];for(const W of F['questions']){const X=F['answers'][W[bw(0x210)]],Y=H[bw(0x3b8)](W[bw(0x210)]),Z=Y?'★':'\x20';G+=X?Y?a0V['bold']['yellow']('Q'+String(W['number'])[bw(0x3ae)](-0x2017+0x481*0x7+0x49*0x2)+Z+'['+X+']\x20'):a0V['green']('Q'+String(W[bw(0x210)])['padStart'](0x1f7b+-0x1*-0x1978+0x38f1*-0x1)+'\x20['+X+bw(0x221)):Y?a0V[bw(0x455)]['yellow']('Q'+String(W[bw(0x210)])[bw(0x3ae)](0xee0+0x26*-0xa3+-0x3*-0x31c)+Z+bw(0x268)):a0V[bw(0x34e)]('Q'+String(W['number'])[bw(0x3ae)](-0x82f*-0x3+0x14e+-0x19d9)+bw(0x29c)),W[bw(0x210)]%(0x108d*-0x2+0x2227+0x107*-0x1)==-0x6a+-0xfe7+0x1051*0x1&&(console[bw(0x366)](G),G='\x20\x20');}G[bw(0x367)]()&&console[bw(0x366)](G);const J=Object['keys'](F[bw(0x41d)])[bw(0x1ca)],K=F[bw(0x345)][bw(0x1da)],V=K-J;if(console[bw(0x366)](),a0ah(bw(0x27b),a0V[bw(0x386)][bw(0x455)](J+'/'+K)),V>-0x748*-0x2+0x1*0x277+0x5ad*-0x3){const a0=F[bw(0x3db)][bw(0x429)](a1=>!F[bw(0x41d)][a1[bw(0x210)]])['map'](a1=>a1[bw(0x210)])[bw(0x37e)](',\x20');a0ah(bw(0x23e),a0V[bw(0x34e)](V+bw(0x419)+a0+')'));}H[bw(0x1ca)]>0x3*-0x4f3+-0x6*0x5df+0x3213&&a0ah(bw(0x33b),a0V[bw(0x455)][bw(0x34e)]('★\x20'+H[bw(0x1ca)])+a0V['gray']('\x20('+H[bw(0x42e)](a1=>'Q'+a1)[bw(0x37e)](',\x20')+')')),console[bw(0x366)](),H[bw(0x1ca)]>-0x94*-0x2f+0x855+-0x2381&&console['log'](a0V['gray']('\x20\x20Jump\x20to\x20a\x20flagged\x20question:\x20')+a0V[bw(0x396)](bw(0x3a0)+H[0x160f*0x1+-0x8*0xb6+-0x105f])),console['log'](a0V['gray'](bw(0x241))+a0V[bw(0x455)][bw(0x1a6)](bw(0x42c))+a0V[bw(0x34d)](bw(0x1ef)));}),B[bg(0x342)](bg(0x318))[bg(0x351)](bg(0x463))[bg(0x404)](async(J,K)=>{const bx=bg;a0aa(bx(0x197)+(J||'')+'\x20'+(K||''));const V=a0a0();if(V&&'confirm'===J&&!K&&(V[bx(0x49e)]=!(0x252b+-0x894+-0x1*0x1c97),a0a1(V)),!V)return void a0ac(bx(0x384));const W=Object['keys'](V[bx(0x41d)])[bx(0x1ca)],X=V[bx(0x345)][bx(0x1da)],Y=X-W;if(0x2*-0x1254+-0x26f8+0x4ba0===W){const a2=a0a3(),a3=a2&&new Date()>=a2;return void('demo-free'===V[bx(0x345)][bx(0x480)]||a3?(a0a2(),a0ad(bx(0x3f3)),a0ae(bx(0x209))):(a0ad(bx(0x1c1)),a0ae(bx(0x2cd))));}const Z=a0a3(),a0=!!(Z&&new Date()>=Z);if(bx(0x179)!==V[bx(0x345)][bx(0x480)]&&!a0&&bx(0x403)===J&&W<-0xc*0x13d+-0xbd5*-0x3+-0x1499){if((K||'')[bx(0x367)]()!==String(W))return console[bx(0x366)](),console[bx(0x366)](a0V['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bx(0x366)](a0V[bx(0x455)][bx(0x3a2)](bx(0x1ad)+W+'/'+X+bx(0x2e8))),console[bx(0x366)](a0V['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console['log'](),console[bx(0x366)](a0V[bx(0x396)](bx(0x471))+a0V[bx(0x455)][bx(0x34e)](''+W)+a0V[bx(0x396)](bx(0x468))+a0V[bx(0x396)](''+X)+a0V['white'](bx(0x31f))),console[bx(0x366)](a0V[bx(0x396)]('\x20\x20Pass\x20threshold\x20is\x20typically\x2050%\x20—\x20')+a0V[bx(0x455)][bx(0x3a2)](W+'/'+X+'\x20is\x20well\x20below.')),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x455)][bx(0x396)](bx(0x1cf))),console['log'](a0V[bx(0x34d)](bx(0x236))+a0V['cyan'](bx(0x348))+a0V['gray']('\x20\x20\x20(resume\x20from\x20Q1)')),console['log'](a0V[bx(0x34d)]('\x20\x20\x20\x20')+a0V[bx(0x1a6)](bx(0x279))+a0V[bx(0x34d)](bx(0x379))),console[bx(0x366)](),console[bx(0x366)](a0V['bold'][bx(0x396)](bx(0x276))+a0V[bx(0x455)]['yellow'](''+W)+a0V[bx(0x455)][bx(0x396)]('\x20answers,\x20type:')),console[bx(0x366)](a0V[bx(0x34d)](bx(0x236))+a0V[bx(0x455)][bx(0x1a6)](bx(0x194)+W)),console[bx(0x366)](a0V[bx(0x34d)](bx(0x208)+W+bx(0x322))),console[bx(0x366)](),void(V[bx(0x49e)]&&(delete V[bx(0x49e)],a0a1(V)));V[bx(0x49e)]=!(-0x2345+0x1071+0x12d4),a0a1(V);}if(bx(0x179)!==V['session'][bx(0x480)]){const a4=!(0x1*-0x1d7b+-0x1*-0x26c9+-0x94e)===V[bx(0x49e)],a5=a0a3(),a6=!!(a5&&new Date()>=a5);if(!a4&&!a6){if(console['log'](),console[bx(0x366)](a0V[bx(0x3a2)](bx(0x1d0))),console['log'](a0V[bx(0x455)][bx(0x3a2)](bx(0x2bb))),console['log'](a0V['red'](bx(0x1d0))),console['log'](),console[bx(0x366)](a0V[bx(0x396)](bx(0x473)+a0V[bx(0x455)]['green'](W+'/'+X)+bx(0x1c5))),Y>-0x9e8+0xf77+0x1*-0x58f){const a8=V['questions']['filter'](a9=>!V['answers'][a9[bx(0x210)]])[bx(0x42e)](a9=>'Q'+a9[bx(0x210)])[bx(0x37e)](',\x20');console[bx(0x366)](a0V['yellow']('\x20\x20'+Y+'\x20unanswered:\x20'+a8));}const a7=Array[bx(0x352)](V[bx(0x225)])?V[bx(0x225)]:[];return a7['length']>-0xd*-0x179+0x24d3+-0x37f8&&console['log'](a0V[bx(0x34e)](bx(0x33a)+a7[bx(0x1ca)]+bx(0x2b3)+a7[bx(0x42e)](a9=>'Q'+a9)[bx(0x37e)](',\x20'))),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x396)](bx(0x1ea))+a0V[bx(0x455)]['red'](bx(0x409))+a0V['white'](bx(0x277))),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x455)][bx(0x396)](bx(0x1fc))+a0V[bx(0x455)]['cyan'](bx(0x303))),console[bx(0x366)](a0V['white']('\x20\x20To\x20go\x20back:\x20\x20')+a0V['cyan'](bx(0x279))+a0V[bx(0x34d)](bx(0x2f7))+a0V[bx(0x1a6)](bx(0x374))),void console[bx(0x366)]();}a4&&(delete V[bx(0x49e)],a0a1(V));}if(console[bx(0x366)](),bx(0x179)===V[bx(0x345)]['examId']){try{D(-0x52*-0x9+0x25c5+-0x28a7,a0ak('grading')),await M(-0x50f+0x2*0x6ce+-0x761);let a9=-0x53b*-0x1+-0x6f*0x27+0xbae;const aa=[],ab={};for(const an of V[bx(0x3db)]){const ao=an['category']||bx(0x305),ap={};ap[bx(0x30d)]=0x0,ap[bx(0x3c0)]=0x0,(ab[ao]||(ab[ao]=ap),ab[ao][bx(0x3c0)]++);const aq=V[bx(0x41d)][an[bx(0x210)]];aq&&an[bx(0x178)]&&aq===an[bx(0x178)]?(a9++,ab[ao][bx(0x30d)]++):aa[bx(0x2e9)](an['number']);}aa[bx(0x3aa)]((ar,as)=>ar-as),D(0x1*-0x1137+-0x13*0xc4+-0x1*-0x2027,a0ak(bx(0x4a3))),console['log']();const ac=new Date(V[bx(0x345)][bx(0x411)])[bx(0x26d)](),ad=Math['max'](-0x26b+0xd*-0x2ce+0x26e1,Math[bx(0x417)]((Date['now']()-ac)/(0xbdc+-0x255f+0x1d6b))),ae=Math[bx(0x3c1)](ad/(0x2*0x11c9+-0x1f00+-0x456))+'m\x20'+ad%(0x1*-0x214+0x1*-0x9c5+0xc15*0x1)+'s',af=[...V[bx(0x3db)]],ag={...V[bx(0x41d)]},ah=_(V);a0a2();const ai=Math[bx(0x417)](a9/X*(-0x845*-0x1+-0x129*0x17+0x1*0x12ce)),aj=a0Y(),ak={};ak['Content-Type']=bx(0x416),(fetch('https://practice.icoa2026.au/api/icoa/demo-stats',{'method':bx(0x233),'headers':ak,'body':JSON[bx(0x497)]({'type':'demo-exam','score':a9,'total':X,'lang':aj[bx(0x445)]||'en','help_used':ah['used'],'help_max':ah[bx(0x2da)],'tokens_used':0x0,'solved':ai>=0x5*0x1bf+0x9ba+-0x1239?-0x1cf5+-0x114f+0x2e45:0x1*-0x6e2+-0x1*-0xad5+-0x3f3*0x1,'timestamp':new Date()[bx(0x285)](),'interactions':V[bx(0x47c)]||[]}),'signal':AbortSignal[bx(0x36d)](-0x655*0x5+0xbb*-0x31+-0x2*-0x2b7e)})[bx(0x3ab)](()=>{}),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x1a6)]('\x20\x20═══════════════════════════════════════')),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x455)][bx(0x396)](bx(0x457))),console[bx(0x366)](a0V[bx(0x455)][bx(0x396)](bx(0x190))),console[bx(0x366)](a0V[bx(0x455)][bx(0x396)](bx(0x388))),console[bx(0x366)](a0V['bold'][bx(0x396)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console['log'](a0V[bx(0x455)][bx(0x396)](bx(0x2fa))),console[bx(0x366)](a0V[bx(0x455)][bx(0x396)](bx(0x1f2))),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x455)](bx(0x45c)+a0ak(bx(0x47b))+':\x20'+a9+'/'+X+'\x20('+ai+'%)')),console['log'](a0V['bold'](bx(0x45c)+(ai>=0x1a87+0x4c4+-0x1f0f*0x1?a0V[bx(0x386)](a0ak(bx(0x3a7))):a0V[bx(0x3a2)](a0ak('notPassed'))))),console['log'](a0V[bx(0x34d)](bx(0x3e7)+ae)),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x34e)](bx(0x3f8))),console[bx(0x366)](a0V[bx(0x34d)](bx(0x2fb))),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x1a6)](bx(0x2cf))),await M(-0x2*-0x2ca+-0x1b*-0x12+0x43e));const al=Object[bx(0x27d)](ab);if(al['length']>-0x2012+0x3*0x33e+-0x2cb*-0x8){console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x455)][bx(0x396)](bx(0x2ad)));const ar=0x1*-0x1897+-0x4*0x821+0x3925;for(const [as,at]of al){const au=at[bx(0x3c0)]>-0x162a+-0x73+0x169d*0x1?Math[bx(0x417)](at[bx(0x30d)]/at[bx(0x3c0)]*(-0x734+-0x1500+-0x1e*-0xf4)):-0x32b*-0xc+-0x1bb7+-0xa4d,av=at['total']>-0x11c5+0x17b*-0xb+0x5ad*0x6?Math[bx(0x417)](at[bx(0x30d)]/at[bx(0x3c0)]*ar):0x283*-0x1+0x226a+-0x1fe7*0x1,aw=ar-av,ax=au>=0x6e*0x1d+-0x368+-0x1*0x8be?a0V[bx(0x386)]:au>=0x1*0x25af+0x80f+-0x2d8c?a0V[bx(0x34e)]:a0V[bx(0x3a2)],ay=ax('█'[bx(0x302)](av))+a0V[bx(0x34d)]('░'[bx(0x302)](aw));console['log'](bx(0x236)+a0V[bx(0x396)](as[bx(0x49a)](-0x38f*-0x3+-0x139c+0x903))+'\x20'+ay+'\x20\x20'+ax(at[bx(0x30d)]+'/'+at[bx(0x3c0)])+a0V[bx(0x34d)]('\x20('+au+'%)'));}console[bx(0x366)](),console['log'](a0V[bx(0x1a6)]('\x20\x20─────────────────────────────────────────────'));}const am=a0a6(a9,X);if(a9===am[bx(0x313)]&&am[bx(0x399)]>0x1*-0x961+0x1f*0xd5+-0x1069&&a9>0xc0b*0x1+-0xfc5*-0x1+-0x1bd0&&(console[bx(0x366)](),console['log'](a0V[bx(0x455)][bx(0x386)](bx(0x3cb)))),aa[bx(0x1ca)]>0x1d19+-0x7c0+-0x1559){const az=af[bx(0x429)](aA=>aa[bx(0x3b8)](aA[bx(0x210)]))[bx(0x42e)](aA=>({...aA}));a0a7(az);}else a0a9();if(await M(-0xb5d+0x2*-0xe6d+0x33ef),aa['length']>0xc14+0xf6c+-0x1b80){console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x34e)]('\x20\x20'+aa['length']+'\x20'+a0ak(bx(0x23f)))),console[bx(0x366)]();for(const aA of aa){const aB=af[bx(0x1c4)](aE=>aE[bx(0x210)]===aA);if(!aB)continue;const aC=ag[aA],aD=aB[bx(0x178)];console[bx(0x366)](a0V[bx(0x396)](bx(0x2e6)+aA+'.\x20'+aB[bx(0x295)])),aC?console[bx(0x366)](a0V[bx(0x3a2)](bx(0x236)+a0ak(bx(0x309))+':\x20'+aC+'.\x20'+aB['options'][aC])):console[bx(0x366)](a0V['yellow'](bx(0x236)+a0ak('yourAnswer')+bx(0x31e))),aD&&console[bx(0x366)](a0V['green'](bx(0x236)+a0ak(bx(0x30d))+':\x20'+aD+'.\x20'+aB[bx(0x48c)][aD])),aB[bx(0x45d)]&&console['log'](a0V['gray'](bx(0x1f7)+aB[bx(0x45d)])),console[bx(0x366)]();}}else console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x386)]('\x20\x20'+a0ak(bx(0x2ba))));await M(0x1467+-0xaf*0x36+-0x1*-0x1853),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x1a6)]('\x20\x20─────────────────────────────────────────────')),console['log'](a0V[bx(0x396)]('\x20\x20'+a0ak(bx(0x44f))+'\x20')+a0V[bx(0x455)]['green']('ai4ctf')+a0V[bx(0x34d)]('\x20—\x20'+a0ak(bx(0x20e)))),console['log'](a0V[bx(0x34d)]('\x20\x20'+a0ak(bx(0x1e6)))),console[bx(0x366)](a0V[bx(0x1a6)](bx(0x314))),console[bx(0x366)]();}catch(aE){console[bx(0x366)](),a0ac(aE[bx(0x1fb)]);}return;}const a1=V[bx(0x345)][bx(0x43b)];try{let aF;if(D(0x1285+-0x9a4+-0x8e1,bx(0x40c)),a1){const aP={};aP[bx(0x3a1)]=bx(0x416);const aQ={};aQ[bx(0x311)]=0x0,aQ['ctf4ai']=0x0;const aR=a0Y()[bx(0x36a)]||bx(0x4ac),aS=await fetch(aR+'/api/icoa/exams/'+V[bx(0x345)]['examId']+bx(0x45e),{'method':bx(0x233),'headers':aP,'body':JSON[bx(0x497)]({'token':a1,'answers':V['answers'],'interactions':V[bx(0x47c)]||[],'aiUsage':V[bx(0x2e3)]||aQ,'bookmarks':V['bookmarks']||[]}),'signal':AbortSignal[bx(0x36d)](-0x6fc0+-0x2c52+0xd6aa)});if(!aS['ok']){const aT=await aS[bx(0x211)]()[bx(0x3ab)](()=>({'message':bx(0x470)}));throw new Error(aT[bx(0x1fb)]||bx(0x470));}aF=(await aS[bx(0x211)]())['data'];}else{const aU=j();if(!aU)return;aF=await aU[bx(0x397)](V[bx(0x345)][bx(0x480)],V[bx(0x41d)]);}D(-0x8*-0x4b2+-0xb08+-0x1a56,'Grading...'),await M(0x226f+0xeb*0x28+-0x45fb),D(0x923*0x2+-0x1*0x1d5d+0x1*0xb7b,'Complete!'),console[bx(0x366)]();const aG={};aG['ai4ctf']=0x0,aG[bx(0x1ec)]=0x0;const aH={'answered':Object[bx(0x2f5)](V[bx(0x41d)])[bx(0x1ca)],'total':V[bx(0x345)][bx(0x1da)],'bookmarks':Array[bx(0x352)](V[bx(0x225)])?V[bx(0x225)]['length']:-0xc3+-0x2d*-0x1b+-0x3fc,'help':_(V),'aiUsage':V[bx(0x2e3)]||aG,'interactions':(V[bx(0x47c)]||[])[bx(0x1ca)],'durationMin':V['session'][bx(0x3d0)]||0x6d9+-0x263f+-0xfb3*-0x2,'confirmedAt':V[bx(0x345)][bx(0x23a)]||V[bx(0x345)][bx(0x411)],'examId':V[bx(0x345)][bx(0x480)]};a0a2();const aI=Math[bx(0x2da)](0x2*-0xa98+-0x135c+0x288c,Math['round']((Date['now']()-new Date(aH[bx(0x23a)])['getTime']())/(-0x1d*-0x11b+0x1096+0x1*-0x2cbd))),aJ=Math['floor'](aI/(0x26f*-0x7+0x2425+-0x12e0)),aK=aI%(-0x115*-0x3+0x1a27+-0x1d2a);console[bx(0x366)](),console['log'](a0V[bx(0x1a6)]('\x20\x20═════════════════════════════════════════════')),console[bx(0x366)](),console['log'](a0V[bx(0x455)][bx(0x396)](bx(0x457))),console[bx(0x366)](a0V['bold'][bx(0x396)](bx(0x190))),console[bx(0x366)](a0V[bx(0x455)][bx(0x396)](bx(0x388))),console['log'](a0V[bx(0x455)][bx(0x396)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console['log'](a0V[bx(0x455)]['white']('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bx(0x366)](a0V['bold']['white'](bx(0x1f2))),console[bx(0x366)]();const aL=aF[bx(0x3a7)]?a0V[bx(0x386)][bx(0x455)](bx(0x3d6)):a0V[bx(0x34e)][bx(0x455)]('\x20\x20\x20○\x20\x20Submission\x20accepted');console[bx(0x366)](aL),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x396)](bx(0x3d3))),console['log'](a0V[bx(0x396)](bx(0x175))),console[bx(0x366)](a0V[bx(0x396)](bx(0x3e6))),console[bx(0x366)](),console['log'](a0V[bx(0x1a6)](bx(0x314))),console[bx(0x366)](),console[bx(0x366)](a0V['bold']['white']('\x20\x20Your\x20run'));const aM=aH[bx(0x3c0)]-aH[bx(0x421)];console['log']('\x20\x20\x20\x20'+a0V[bx(0x34d)](bx(0x441))+a0V['white'](aH[bx(0x421)]+'/'+aH['total'])+(aM>0x1ed0+0x1702+-0x35d2?a0V[bx(0x34d)](bx(0x2ff)+aM+bx(0x4a9)):'')),console[bx(0x366)]('\x20\x20\x20\x20'+a0V[bx(0x34d)](bx(0x1c6))+a0V[bx(0x396)](aJ+'m\x20'+aK+'s')+a0V[bx(0x34d)](bx(0x2df)+aH[bx(0x21a)]+bx(0x40a))),aH['bookmarks']>0x1207+-0x14ce+0x9*0x4f&&console[bx(0x366)]('\x20\x20\x20\x20'+a0V[bx(0x34d)]('Flagged:\x20\x20\x20')+a0V[bx(0x34e)]('★\x20'+aH[bx(0x225)])),console['log']();const aN=aF[bx(0x263)];if(aN&&Object[bx(0x2f5)](aN)[bx(0x1ca)]>=0xbd1+-0x2af*0xc+-0xe3*-0x17){const aV=Object[bx(0x27d)](aN)[bx(0x429)](([,b0])=>b0[bx(0x3c0)]>-0x1*-0x137b+0x1684+-0x33b*0xd)[bx(0x42e)](([b0,b1])=>({'cat':b0,'pct':b1[bx(0x30d)]/b1[bx(0x3c0)]}))[bx(0x3aa)]((b0,b1)=>b1[bx(0x3fc)]-b0[bx(0x3fc)]),aW=Math[bx(0x440)](0x18b*-0xe+0x1e1c+-0x880,Math[bx(0x2a2)](aV[bx(0x1ca)]/(-0x1f*-0x93+-0x6*0x25f+-0x390))),aX=Math[bx(0x440)](0x1b3*0x9+-0x61*-0x28+-0x1e71,Math[bx(0x2a2)](aV['length']/(-0x36*-0x9e+0x14ad+0x1aff*-0x2))),aY=aV[bx(0x3c9)](0xd3*-0x3+0x1c0d+-0x1994,aW)[bx(0x42e)](b0=>b0[bx(0x299)]),aZ=aV[bx(0x3c9)](-aX)[bx(0x42e)](b0=>b0[bx(0x299)]);aY[bx(0x1d5)](b0=>aZ[bx(0x3b8)](b0))||(console[bx(0x366)](a0V['bold']['white']('\x20\x20Directional\x20feedback')),console[bx(0x366)](bx(0x236)+a0V[bx(0x386)](bx(0x408))+a0V[bx(0x396)](aY[bx(0x37e)](',\x20'))),console[bx(0x366)](bx(0x236)+a0V['yellow'](bx(0x392))+a0V[bx(0x396)](aZ[bx(0x37e)](',\x20'))),console[bx(0x366)](a0V[bx(0x34d)](bx(0x402))),console['log']());}console['log'](a0V[bx(0x455)][bx(0x396)](bx(0x17e))),console[bx(0x366)](bx(0x236)+a0V[bx(0x34d)](bx(0x1f5))+a0V[bx(0x396)](aH[bx(0x1e0)][bx(0x301)]+'/'+aH[bx(0x1e0)][bx(0x2da)])),console[bx(0x366)]('\x20\x20\x20\x20'+a0V[bx(0x34d)](bx(0x3ff))+a0V[bx(0x396)](aH[bx(0x2e3)]['ai4ctf']+bx(0x433))+a0V['gray'](bx(0x2ff))+a0V['white'](aH['aiUsage'][bx(0x1ec)]+'\x20CTF4AI')),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x1a6)]('\x20\x20─────────────────────────────────────────────')),console[bx(0x366)](),console[bx(0x366)](a0V['bold']['white']('\x20\x20What\x20next')),console[bx(0x366)](a0V['gray'](bx(0x2a9))),console[bx(0x366)](a0V['gray'](bx(0x362))+a0V['white'](bx(0x337))+a0V[bx(0x34d)](bx(0x1ff))),console[bx(0x366)](a0V[bx(0x34d)](bx(0x49d))+a0V[bx(0x396)](bx(0x186))),console['log']();const {showCToBUpgradePrompt:aO}=await import('../lib/paper-upgrade.js');aO(aH['examId'],aF[bx(0x3a7)]),console['log'](a0V['yellow'](bx(0x3a6))),console['log'](a0V[bx(0x1a6)]['underline'](bx(0x3ea))),console[bx(0x366)](),console[bx(0x366)](a0V[bx(0x1a6)](bx(0x34b))),console[bx(0x366)]();}catch(b0){console[bx(0x366)](),a0ac(b0['message']);}}),B['command'](bg(0x444))[bg(0x351)](bg(0x3e3))[bg(0x404)](async F=>{const by=bg;a0aa(by(0x21e)+(F||''));const G=j();if(!G)return;if(!F){const J=a0a0();if(!J)return void a0ac(by(0x3ad));F=J[by(0x345)]['examId'];}const H=a0ai(by(0x49b));H[by(0x467)]();try{const K=await G[by(0x2a8)](F);H['succeed'](by(0x32c)),console[by(0x366)](),a0ag(K['examName']),a0ah(by(0x1db),a0V[by(0x455)](K['score']+'/'+K['total'])),a0ah(by(0x202),a0V[by(0x455)](K['percentage']+'%')),a0ah(by(0x273),K[by(0x3a7)]?a0V['green'][by(0x455)](by(0x3b9)):a0V[by(0x3a2)][by(0x455)](by(0x472))),a0ah('Submitted',K[by(0x32d)]),console['log']();}catch(V){H[by(0x275)](by(0x29a)),a0ac(V[by(0x1fb)]);}}),B[bg(0x342)]('token\x20<code>')['description']('Enter\x20exam\x20with\x20access\x20token\x20(no\x20login\x20needed)')['action'](async J=>{const bz=bg;a0aa('exam\x20token\x20'+J);const {getRealExamState:K,saveExamState:V,clearExamState:W}=await import(bz(0x2b0)),X=K();if(X){const a4=X[bz(0x345)][bz(0x43b)],a5=a0a3(),a6=!!a4&&a4['trim']()['toUpperCase']()!==J['trim']()['toUpperCase'](),a7=!!a5&&a5[bz(0x26d)]()+(0x6a3*-0x5a3+0x19ab91+0x273478)<Date[bz(0x23b)]();if(a6&&a7)return W(),console['log'](),console[bz(0x366)](a0V['gray']('\x20\x20(previous\x20exam\x20session\x20expired\x20—\x20cleared\x20state,\x20starting\x20fresh\x20with\x20your\x20new\x20token)')),console[bz(0x366)](),console[bz(0x366)](a0V['white'](bz(0x1a7))+a0V[bz(0x455)]['cyan'](bz(0x347)+J)),void console[bz(0x366)]();if(!a4&&J)return X['session'][bz(0x43b)]=J['trim'](),V(X),console[bz(0x366)](),console[bz(0x366)](a0V['green'](bz(0x24b))),console['log'](a0V[bz(0x34d)](bz(0x38d))+a0V[bz(0x396)](bz(0x42d))+a0V['gray'](bz(0x350))+a0V[bz(0x396)](bz(0x42c))),console['log'](),console[bz(0x366)](a0V[bz(0x455)][bz(0x396)]('\x20\x20Continue\x20this\x20exam:')),console[bz(0x366)](a0V[bz(0x34d)](bz(0x1f7))+a0V[bz(0x455)]['cyan'](bz(0x348))+a0V[bz(0x34d)]('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bz(0x366)](a0V[bz(0x34d)](bz(0x1f7))+a0V[bz(0x455)][bz(0x1a6)](bz(0x279))+a0V['gray'](bz(0x343))),void console[bz(0x366)]();const a8=Object[bz(0x2f5)](X[bz(0x41d)])[bz(0x1ca)],a9=X['session'][bz(0x1da)],aa=a0a3(),ab=aa?Math['max'](-0x2404+-0x208*0x3+-0x23*-0x134,Math[bz(0x417)]((aa[bz(0x26d)]()-Date[bz(0x23b)]())/(0x5289*0x1+0xa864+-0x108d))):null;return console[bz(0x366)](),console[bz(0x366)](a0V[bz(0x34e)](bz(0x26f))),console[bz(0x366)](),console[bz(0x366)](a0V[bz(0x34d)](bz(0x1be))+a0V[bz(0x396)](X[bz(0x345)]['examName'])),a4&&console[bz(0x366)](a0V[bz(0x34d)](bz(0x3da))+a0V[bz(0x396)](a4)+(a4===J?a0V[bz(0x386)](bz(0x182)):a0V[bz(0x34e)]('\x20\x20(different\x20from\x20the\x20one\x20you\x20typed)'))),console[bz(0x366)](a0V[bz(0x34d)]('\x20\x20Answers:\x20')+a0V[bz(0x396)](a8+'/'+a9)),null!==ab&&console[bz(0x366)](a0V['gray']('\x20\x20Time:\x20\x20\x20\x20')+a0V[bz(0x396)](ab+bz(0x460))),console[bz(0x366)](),console[bz(0x366)](a0V[bz(0x455)][bz(0x396)]('\x20\x20To\x20continue\x20this\x20exam:')),console[bz(0x366)](a0V[bz(0x34d)](bz(0x1f7))+a0V['bold'][bz(0x1a6)]('exam\x20q\x201')+a0V['gray'](bz(0x307))),console['log'](a0V['gray'](bz(0x1f7))+a0V[bz(0x455)][bz(0x1a6)](bz(0x279))+a0V[bz(0x34d)](bz(0x343))),console[bz(0x366)](a0V[bz(0x34d)](bz(0x1f7))+a0V[bz(0x455)][bz(0x1a6)](bz(0x42c))+a0V[bz(0x34d)](bz(0x35e))),a4&&a4!==J&&(console[bz(0x366)](),console[bz(0x366)](a0V[bz(0x34e)](bz(0x494))),console['log'](a0V['yellow'](bz(0x38c))),console[bz(0x366)](),console[bz(0x366)](a0V['gray'](bz(0x359))),console[bz(0x366)](a0V[bz(0x34d)](bz(0x360)))),void console[bz(0x366)]();}const {isNativeWindowsCmd:Y}=await import('../lib/platform.js');if(!Y()&&!a0ao()){let ac=!(-0x2b*0xd3+0x269b+-0x329);try{const ad={};ad[bz(0x3a1)]=bz(0x416);const ae=a0Y()[bz(0x36a)]||bz(0x4ac),af=await fetch(ae+bz(0x376),{'method':bz(0x233),'headers':ad,'body':JSON[bz(0x497)]({'token':J['trim'](),'deviceHash':a0al(),'peek':!(-0xa5+-0x3d9+0x19*0x2e)}),'signal':AbortSignal[bz(0x36d)](0x8db*0x3+0x14a7+0x1*-0x1bb0)});if(af['ok']){const ag=await af[bz(0x211)]();(ag?.['data']?.[bz(0x184)]||'')[bz(0x17b)]('-c')&&(ac=!(-0x8*0xf1+-0xb38+0x96*0x20));}}catch{}if(!ac)return console['log'](),a0ad(bz(0x3be)),console['log'](a0V[bz(0x34d)]('\x20\x20→\x20')+a0V[bz(0x455)]['cyan'](bz(0x219))),console['log'](a0V['gray'](bz(0x1b4))+a0V['bold'][bz(0x1a6)]('back')+a0V[bz(0x34d)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console[bz(0x366)](a0V[bz(0x34d)](bz(0x3b7))),void console[bz(0x366)]();}const Z={};Z['UA']='uk',Z['PE']='es',Z['CN']='zh',Z['AU']='en',Z['JP']='ja',Z['KR']='ko',Z['BR']='pt',Z['SA']='ar',Z['FR']='fr',Z['DE']='de',Z['IN']='hi',Z['ID']='id',Z['TH']='th',Z['VN']='vi',Z['TR']='tr',Z['RU']='ru',Z['EG']='ar',Z['HT']='ht',Z['PH']='en',Z['MY']='en',Z['MM']='en',Z['SG']='en',Z['ZA']='en',Z['KE']='sw',Z['TZ']='sw',Z['MO']='zh',Z['UZ']='uz',Z['GH']='en',Z['LA']='lo',Z['BD']='bn',Z['BI']='fr',Z['US']='en',Z['UK']='en',Z['NZ']='en',Z['LK']='si',Z['BW']='en';const a0=Z[J[bz(0x367)]()[bz(0x2bf)](-0x51*0x11+-0x1ed9*0x1+0x243a,-0x11dd+-0x1*0x1795+-0x2*-0x14ba)['toUpperCase']()],a1=a0Y(),a2=a1[bz(0x36a)]||'https://practice.icoa2026.au',a3=a0||a1['language']||'en';a0&&a0!==(a1[bz(0x445)]||'en')&&a0Z({'language':a0}),console['log'](),D(0x24ba+-0xe1*0x2+-0x2ea*0xc,bz(0x344));try{const ah={};ah[bz(0x3a1)]=bz(0x416);const ai=await fetch(a2+bz(0x376),{'method':bz(0x233),'headers':ah,'body':JSON[bz(0x497)]({'token':J['trim'](),'deviceHash':a0al(),'lang':a3}),'signal':AbortSignal[bz(0x36d)](0xd64+0x9*0x49e+-0xfe2)});if(!ai['ok']){D(0x2*0x260+-0x24c5+-0x7*-0x493,''),console[bz(0x366)]();const aq=await ai[bz(0x211)]()[bz(0x3ab)](()=>({'message':'Invalid\x20token'}));return a0ac(aq[bz(0x1fb)]||'Invalid\x20exam\x20token'),void a0ae(bz(0x2c1));}D(-0x18b4+0x2025+-0x753,bz(0x271));const aj=await ai['json'](),{session:ak,questions:al,languages:am}=aj[bz(0x451)];D(-0xc18*-0x3+-0x5f3*-0x3+-0x35e5,bz(0x38e)),await M(-0x1*-0x1f67+-0x13ae*-0x1+-0x324d*0x1),D(0x2ea+0x2ad*0xb+-0x1ff5,'Ready!'),console['log'](),console[bz(0x366)](),a0ag(ak[bz(0x1d1)]),console[bz(0x366)](),a0ah(bz(0x27a),ak['questionCount']+bz(0x1bb)),a0ah(bz(0x489),ak[bz(0x3d0)]+'\x20minutes'),a0ah(bz(0x492),(ak[bz(0x26e)]||0x173*0xb+0x2b1*-0xd+0x13a2*0x1)+bz(0x278)),a0ah(bz(0x336),(ak['passingScore']||-0x180c+0x1*0x251+-0x1*-0x1606)+bz(0x2ac)),console[bz(0x366)](),console[bz(0x366)](a0V[bz(0x396)](bz(0x224))),console[bz(0x366)](a0V[bz(0x396)]('\x20\x20\x20\x20Help:\x20\x20\x20\x2010\x20uses\x20+\x205\x20hidden\x20bonus\x20(MCQ\x20only)')),console['log'](a0V['white'](bz(0x32f))),console[bz(0x366)](a0V['white']('\x20\x20\x20\x20AI:\x20\x20\x20\x20\x20\x2025K\x20AI4CTF\x20+\x2025K\x20CTF4AI\x20tokens')),am&&am[bz(0x1ca)]>0xa*-0x62+0x1*-0x4d+0x422&&console[bz(0x366)](a0V[bz(0x396)](bz(0x44b)+am[bz(0x37e)](',\x20')+bz(0x422))),console[bz(0x366)](),console[bz(0x366)](a0V[bz(0x34e)]('\x20\x20Rules:')),console['log'](a0V['white']('\x20\x20\x20\x20•\x20All\x20interactions\x20are\x20recorded\x20for\x20audit')),console[bz(0x366)](a0V[bz(0x396)]('\x20\x20\x20\x20•\x20Server\x20auto-finalises\x20your\x20answers\x20if\x20you\x20do\x20not\x20submit\x20before\x20the\x20deadline')),console[bz(0x366)](a0V['white'](bz(0x1b8))),console[bz(0x366)](),await new Promise(ar=>{const bA=bz;process['stdout']['write'](a0V[bA(0x455)][bA(0x34e)](bA(0x43e)));const as=!!process[bA(0x1fd)][bA(0x3cf)]&&process[bA(0x1fd)][bA(0x2d6)];process['stdin']['isTTY']&&process[bA(0x1fd)]['setRawMode']&&process['stdin']['setRawMode'](!(0x138f+-0xb5+-0x12d9));const at=au=>{const bB=bA,av=au[bB(0x3b1)]();(av[bB(0x3b8)]('\x0a')||av['includes']('\x0d'))&&(process[bB(0x1fd)]['removeListener'](bB(0x451),at),process[bB(0x1fd)][bB(0x3cf)]&&process[bB(0x1fd)]['setRawMode']&&process[bB(0x1fd)]['setRawMode'](as),process['stdout'][bB(0x29d)]('\x0a'),ar());};process[bA(0x1fd)]['on'](bA(0x451),at),process[bA(0x1fd)][bA(0x20f)]();});const an=new Date()[bz(0x285)]();ak[bz(0x23a)]=an,ak[bz(0x43b)]=J['trim']();try{const ar=Date[bz(0x23b)](),as=await fetch(a2+bz(0x1c3),{'method':bz(0x39d),'signal':AbortSignal['timeout'](0xad*-0x32+0x1ab*0x11+-0x1*-0x1127)});if(as['ok']){const at=await as[bz(0x211)](),au=at?.[bz(0x451)]?.[bz(0x1a5)];if('number'==typeof au&&au>0x166c+0x7c8+-0x1e34){const av=(ar+Date['now']())/(0xff9+-0x12b3*0x1+0x2bc);ak[bz(0x3fa)]=Math['round'](au-av),ak['deadlineServerMs']=au+(0x7*0x47a+-0x157d+-0x99d*0x1)*ak[bz(0x3d0)]*(0x5*-0x498+-0x1*-0x7e1+0x12ff*0x1);}}}catch{}const ao={};ao[bz(0x311)]=0x0,ao[bz(0x1ec)]=0x0;const ap={};ap[bz(0x345)]=ak,ap[bz(0x3db)]=al,ap[bz(0x41d)]={},ap[bz(0x47c)]=[],ap[bz(0x2e3)]=ao,(a0a1(ap),console[bz(0x366)](),a0ab(bz(0x459)),a0ah(bz(0x226),ak[bz(0x3d0)]+bz(0x35a)),al[bz(0x1ca)]>0xcdd+-0x25c3+0x18e6&&L(al[0x893+0x602+0xe95*-0x1]));}catch(aw){console['log'](),'TimeoutError'===aw[bz(0x44a)]?a0ac('Server\x20not\x20reachable.\x20Check\x20your\x20internet\x20connection.'):a0ac(aw[bz(0x1fb)]||bz(0x47e));}}),B[bg(0x342)](bg(0x39b),{'hidden':!(-0x1*-0x1358+-0x2f*-0x6b+-0x455*0x9)})['description']('Abandon\x20current\x20exam\x20session\x20and\x20wipe\x20local\x20state\x20(recovery\x20only)')[bg(0x404)](async()=>{const bC=bg;a0aa('exam\x20reset');const {getRealExamState:F,clearExamState:G}=await import('../lib/exam-state.js'),H=F();if(!H)return console[bC(0x366)](),console[bC(0x366)](a0V[bC(0x34d)]('\x20\x20No\x20active\x20exam\x20session\x20to\x20reset.')),void console['log']();const J=H['session'][bC(0x43b)];console[bC(0x366)](),console[bC(0x366)](a0V[bC(0x34e)](bC(0x255))),console[bC(0x366)](a0V[bC(0x34d)](bC(0x2aa))+a0V['white'](H[bC(0x345)][bC(0x1d1)])),J&&console['log'](a0V[bC(0x34d)]('\x20\x20\x20\x20\x20Token:\x20')+a0V[bC(0x396)](J)),console[bC(0x366)](a0V[bC(0x34d)]('\x20\x20\x20\x20\x20The\x20token\x20itself\x20is\x20NOT\x20revoked\x20server-side.\x20If\x20your\x20session\x20is')),console[bC(0x366)](a0V[bC(0x34d)](bC(0x3dd))),console[bC(0x366)](),console['log'](a0V[bC(0x34d)](bC(0x1d7))+a0V[bC(0x455)][bC(0x1a6)](bC(0x39b))+a0V[bC(0x34d)](bC(0x25e)));const {getMainRl:K}=await import(bC(0x29b)),V=K();if(bC(0x39b)!==(await new Promise(W=>{const bD=bC;if(V){const X=V[bD(0x199)]('line')[bD(0x3c9)]();V[bD(0x30e)]('line'),process[bD(0x234)][bD(0x29d)](bD(0x483)),V[bD(0x37d)](bD(0x1ac),Y=>{const bE=bD;for(const Z of X)V['on']('line',Z);W(Y[bE(0x367)]());});}else((async()=>{const bF=bD,Y={};Y[bF(0x1c8)]=process[bF(0x1fd)],Y['output']=process[bF(0x234)];const {createInterface:Z}=await import(bF(0x2a1)),a0=Z(Y);a0['question']('\x20\x20>\x20',a1=>{const bG=bF;a0[bG(0x48e)](),W(a1[bG(0x367)]());});})());}))[bC(0x31a)]())return console[bC(0x366)](a0V[bC(0x34d)](bC(0x423))),void console[bC(0x366)]();G(),console[bC(0x366)](),console[bC(0x366)](a0V['green'](bC(0x296))),console[bC(0x366)](a0V[bC(0x34d)](bC(0x330))+a0V[bC(0x455)][bC(0x1a6)](bC(0x212))),console[bC(0x366)]();}),B[bg(0x342)](bg(0x337))[bg(0x351)](bg(0x35b))[bg(0x404)](async()=>{const bH=bg;a0aa(bH(0x316)),O('demo-enter');const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import('../lib/demo-exam.js');a0Y()['demoIntroSeen']||(await(async function(){const bI=bH;let a5=!(-0x1bf*0x1+-0x23bd+0x1*0x257d);const a6=process[bI(0x1fd)],a7=()=>{a5=!(-0x1ec7+-0xc59+0x2b20);},a8=a6[bI(0x3cf)]&&'function'==typeof a6[bI(0x3df)];a8&&(a6[bI(0x3df)](!(-0xd7*-0x1+0x1c2a+-0x1d01)),a6[bI(0x20f)](),a6[bI(0x37d)]('data',a7));const a9=async aa=>{let ab=0x1*0x4ec+-0x576*-0x1+-0xa62;for(;ab<aa&&!a5;)await M(0x5*0x153+-0x828+-0x1*-0x1d9),ab+=0xa9f+0x16a3+-0x20f2;};try{if(console['clear'](),console[bI(0x366)](),console[bI(0x366)](a0V[bI(0x34d)](bI(0x45c))+a0V['dim'](bI(0x47f))),console[bI(0x366)](),console[bI(0x366)](a0V['bold'][bI(0x396)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console[bI(0x366)](a0V['bold']['white']('\x20\x20\x20██║██╔════╝██╔═══██╗██╔══██╗')),console[bI(0x366)](a0V[bI(0x455)][bI(0x396)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bI(0x366)](a0V[bI(0x455)][bI(0x396)](bI(0x3e5))),console[bI(0x366)](a0V[bI(0x455)][bI(0x396)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bI(0x366)](a0V[bI(0x455)]['white']('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console['log'](),console[bI(0x366)](a0V[bI(0x455)][bI(0x34e)](bI(0x306))),console[bI(0x366)](a0V[bI(0x34d)](bI(0x1f4))),await a9(0x2*-0x130+0xdaa+-0x186),a5)return;if(console[bI(0x366)](),console[bI(0x366)](a0V[bI(0x396)](bI(0x188))),console[bI(0x366)](),await a9(-0x3b9*0x1+0x1*-0x475+0xa86),a5)return;if(console[bI(0x366)](a0V[bI(0x1a6)]('\x20\x20\x20\x20\x20▣\x20')+a0V[bI(0x396)](bI(0x298))+a0V[bI(0x34d)](bI(0x28f))),await a9(0x1877+0x1*0x10fd+-0x26b8),a5)return;if(console['log'](a0V[bI(0x386)](bI(0x39a))+a0V[bI(0x396)]('Team\x20up\x20with\x20AI\x20to\x20solve\x20CTFs')+a0V[bI(0x34d)](bI(0x222))),await a9(-0x1*-0x1f31+0x1*-0x1757+-0x51e),a5)return;if(console[bI(0x366)](a0V[bI(0x3a2)](bI(0x39a))+a0V[bI(0x396)](bI(0x323))+a0V[bI(0x34d)](bI(0x300))),await a9(-0x14d0+0x17*-0x2+0x1882),a5)return;if(console['log'](),console[bI(0x366)](a0V[bI(0x455)]['white'](bI(0x30f))+a0V[bI(0x455)][bI(0x34e)]('IS')+a0V[bI(0x455)]['white'](bI(0x17a))),console['log'](),await a9(0x31b*0x3+0xb66+-0xedb),a5)return;if(console['log'](a0V['gray'](bI(0x35d))),await a9(0x944+0x6b*0x23+-0x1655*0x1),a5)return;if(console['log'](a0V['gray'](bI(0x1b1))),await a9(0x2*0xfef+0x136e+-0x2*0x18de),a5)return;if(console['log'](a0V[bI(0x34d)](bI(0x488))),await a9(-0x16ec+0x6*-0x24d+0x13ed*0x2),a5)return;console['log'](),console[bI(0x366)](a0V[bI(0x455)][bI(0x1a6)](bI(0x24c))),await a9(-0x67d*-0x5+0x158+0x1*-0x1229);}finally{((()=>{const bJ=bI;if(a8){a6['removeListener'](bJ(0x451),a7);try{a6[bJ(0x3df)](!(-0x9ee+0x18f2+0x9*-0x1ab));}catch{}a6[bJ(0x46a)]();}})()),console['clear']();}}()),a0Z({'demoIntroSeen':!(-0xb7*0x23+-0x200*0x12+-0x1457*-0x3)})),console[bH(0x366)](),console[bH(0x366)](a0V[bH(0x396)]('\x20\x20Demo:\x20')+a0V[bH(0x34d)](H+bH(0x456)+J+bH(0x487))),console['log'](a0V[bH(0x34d)](bH(0x2bd))+a0V['cyan'](bH(0x373))+a0V[bH(0x34d)](bH(0x1f3))+a0V[bH(0x1a6)](bH(0x374))+a0V[bH(0x34d)](bH(0x33e))),await new Promise(a5=>{const bK=bH;process['stdout'][bK(0x29d)](a0V[bK(0x455)]['yellow'](bK(0x420)));const a6=!!process[bK(0x1fd)][bK(0x3cf)]&&process['stdin']['isRaw'];process[bK(0x1fd)][bK(0x3cf)]&&process['stdin']['setRawMode']&&process[bK(0x1fd)]['setRawMode'](!(-0x1*0x13ed+-0x1*0x2ae+0x169c*0x1));const a7=a8=>{const bL=bK,a9=a8[bL(0x3b1)]();(a9['includes']('\x0a')||a9['includes']('\x0d'))&&(process[bL(0x1fd)][bL(0x3d5)]('data',a7),process[bL(0x1fd)]['isTTY']&&process['stdin'][bL(0x3df)]&&process[bL(0x1fd)]['setRawMode'](a6),process['stdout'][bL(0x29d)]('\x0a'),a5());};process['stdin']['on']('data',a7),process[bK(0x1fd)][bK(0x20f)]();});const K=F(H),V=G(),{getDemoState:W,getRealExamState:X,getRealExamDeadline:Y,clearExamState:Z}=await import(bH(0x2b0)),a0=X();if(a0){const a5=Y();if(!(null!==a5&&Date['now']()>=a5[bH(0x26d)]())&&null!==a5)return console[bH(0x366)](),a0ad(bH(0x3c3)),a0ae(bH(0x3b6)+a0V[bH(0x455)][bH(0x1a6)](bH(0x353))+bH(0x3e1)),a0ae('Or:\x20\x20\x20'+a0V['bold'][bH(0x1a6)](bH(0x22a))+bH(0x3fd)),void console[bH(0x366)]();Z(a0[bH(0x345)][bH(0x480)]);}W()&&Z('demo-free'),console[bH(0x366)](),a0ag(bH(0x371)),console[bH(0x366)](),console[bH(0x366)](a0V['white'](bH(0x2e5))),console['log'](a0V['white']('\x20\x20'+H+bH(0x3bc)+J+bH(0x326)));const a1=a0a5();if(a1[bH(0x399)]>-0x1e3f+0x1ca+0x1c75){const a6=a1[bH(0x312)],a7=a6>=0x1e08+-0x243a*0x1+0x682?a0V[bH(0x386)]:a6>=-0x1892+-0x5b+0x1929?a0V[bH(0x34e)]:a0V['white'];console[bH(0x366)](),console[bH(0x366)](a0V[bH(0x34d)]('\x20\x20Your\x20best:\x20')+a7(a1['best']+'/'+H+'\x20('+a6+'%)')+a0V[bH(0x34d)](bH(0x2ff)+a1[bH(0x399)]+bH(0x358)));}console[bH(0x366)](),console[bH(0x366)](a0V[bH(0x34d)](bH(0x46f))),console['log'](a0V['white']('\x20\x20'+a0ak(bH(0x37a)))),console[bH(0x366)](a0V['yellow'](bH(0x38b))+a0V[bH(0x34d)](bH(0x2e4)+a0ak(bH(0x454)))),console['log'](a0V[bH(0x34e)]('\x20\x20\x20\x20help')+a0V['gray'](bH(0x1c7)+a0ak('htpHelp'))),console[bH(0x366)](a0V[bH(0x34e)](bH(0x389))+a0V[bH(0x34d)](bH(0x252))+a0V['yellow'](bH(0x2f4))+a0V['gray'](bH(0x236)+a0ak(bH(0x1d9)))),console[bH(0x366)](a0V[bH(0x34e)](bH(0x294))+a0V[bH(0x34d)](bH(0x37f)+a0ak('htpMoreHelp'))),console[bH(0x366)](a0V[bH(0x34e)](bH(0x27c))+a0V['gray'](bH(0x1c7)+a0ak(bH(0x2af)))),console[bH(0x366)](a0V[bH(0x34e)]('\x20\x20\x20\x20lang')+a0V[bH(0x34d)](bH(0x1c7)+a0ak('htpLang'))),console[bH(0x366)](a0V[bH(0x34d)](bH(0x327))),console[bH(0x366)](a0V['gray'](bH(0x3ac))),console[bH(0x366)](a0V[bH(0x34d)]('\x20\x20─────────────────────────────────────────')),console['log']();const {getConfig:a2}=await import(bH(0x270)),a3=a2()[bH(0x445)]||'en';'en'===a3?(console[bH(0x366)](a0V['gray']('\x20\x20Questions\x20in\x20English.\x20To\x20switch\x20language\x20first:')),console[bH(0x366)](a0V['gray'](bH(0x2b6))),console['log'](a0V[bH(0x34d)]('\x20\x20lang\x20fr\x20·\x20lang\x20ar\x20·\x20lang\x20pt\x20·\x2015\x20languages\x20supported'))):console[bH(0x366)](a0V[bH(0x386)](bH(0x229)+a3)),console['log'](),console[bH(0x366)](a0V['white'](bH(0x246)));const a4={...V,'startedAt':new Date()[bH(0x285)]()};console[bH(0x366)](),D(-0x1*0x1cf9+0x1*-0x17c9+-0x1*-0x34c2,bH(0x310)),await M(0x1573+-0x24*-0x63+0x325*-0xb),D(0x181f+0x2631+-0x3e28,bH(0x387)),await M(0x17c5+0x97*-0x13+-0xbc8),D(0xa7d+-0x1809+0x377*0x4,bH(0x289)),await M(-0x1*-0x23e9+0xc*-0x7+0x22ff*-0x1),D(0x62*0x15+0x101*-0xf+-0x1*-0x769,'Ready!'),console[bH(0x366)](),console['log'](),a0a1({'session':a4,'questions':K,'answers':{},'_helpMax':0x5}),a0ah(bH(0x27a),String(H)),a0ah(bH(0x489),bH(0x24a)),L(K[-0x1821*-0x1+-0x51a+0x1307*-0x1]);}),B[bg(0x342)](bg(0x3ca))[bg(0x351)](bg(0x385))['action'](async()=>{const bM=bg;a0aa(bM(0x21d)),O(bM(0x2d4));const {getLocalizedDemoSession:F}=await import(bM(0x231)),G=a0a8();if(!G||-0xd3d*-0x1+0x1c27+-0x2964===G[bM(0x1ca)])return console[bM(0x366)](),console[bM(0x366)](a0V[bM(0x34e)](bM(0x2d9))+a0V[bM(0x455)][bM(0x1a6)]('demo')+a0V['yellow'](bM(0x2d5))),void console[bM(0x366)]();const H=a0a0();if(H){if('demo-free'!==H['session'][bM(0x480)])return a0ad(bM(0x382)+H[bM(0x345)][bM(0x1d1)]+'\x22\x20is\x20in\x20progress.'),void a0ae('Submit\x20it\x20first:\x20exam\x20submit');a0a2();}const J=X=>{const bN=bM;if(!X[bN(0x178)])return X;const Y=X[bN(0x48c)][X['answer']],Z=['A','B','C','D'][bN(0x42e)](a4=>X[bN(0x48c)][a4]);for(let a4=Z[bN(0x1ca)]-(0x1*0x7cd+0x2*-0x100f+0x1852);a4>-0x2db+-0x1d*-0xcd+-0x145e;a4--){const a5=Math[bN(0x3c1)](Math[bN(0x437)]()*(a4+(0x7d1+-0x62c+0x46*-0x6)));[Z[a4],Z[a5]]=[Z[a5],Z[a4]];}const a0={};a0['A']=Z[0x133c+0x2127+-0x3463*0x1],a0['B']=Z[-0x493*-0x1+-0x242f+-0x1f9d*-0x1],a0['C']=Z[-0x17*0x2a+0x1*0x4bb+0x1*-0xf3],a0['D']=Z[0x1*0x1297+-0x179f+0x1*0x50b];const a1=a0,a2=['A','B','C','D'][bN(0x1c4)](a6=>a1[a6]===Y),a3={...X};return a3[bN(0x48c)]=a1,a3[bN(0x178)]=a2,a3;},K=G[bM(0x42e)]((X,Y)=>({...J(X),'number':Y+(-0x1b84+0x1e4+0x19a1)})),V=F(),W={...V,'examName':V[bM(0x1d1)]+bM(0x218),'questionCount':K[bM(0x1ca)],'startedAt':new Date()[bM(0x285)]()};console[bM(0x366)](),a0ag(bM(0x428)),console[bM(0x366)](),console[bM(0x366)](a0V[bM(0x396)](bM(0x432)+K[bM(0x1ca)]+bM(0x47a)+(-0x2641*0x1+-0x3*-0x4c1+0x17ff===K[bM(0x1ca)]?'':'s')+'\x20you\x20got\x20wrong.')),console[bM(0x366)](a0V['gray'](bM(0x2a3))),console[bM(0x366)](),a0a1({'session':W,'questions':K,'answers':{}}),a0ah(bM(0x27a),String(K[bM(0x1ca)])),a0ah(bM(0x489),bM(0x24a)),L(K[0x1d79+-0x1fdf+-0x266*-0x1]);}),B[bg(0x342)](bg(0x274))[bg(0x351)](bg(0x3c6))[bg(0x404)](async()=>{const bO=bg;if(a0aa(bO(0x219)),-0x4*-0x494+-0x9*0x3fd+0x1195===a0a5()['attempts'])return console[bO(0x366)](),a0ad(bO(0x42a)),console[bO(0x366)](a0V[bO(0x34d)](bO(0x1d4))+a0V[bO(0x455)][bO(0x1a6)]('exam\x20demo')),void console['log']();const J=a0am();if(J){const a9=J[bO(0x46d)]['length'],aa=a9+J[bO(0x476)][bO(0x1ca)];if(a9>=0x4c9+-0x1*0x1cf6+0x1835||(aa>0x7*0x1df+0x293*-0xb+-0x1e7*-0x8?a9/aa:0x1b8d*0x1+-0x20bc+0x52f)>=0x11*0x92+-0x4d4+-0x4de+0.7)return console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x386)](bO(0x369))+a0V[bO(0x386)](bO(0x1e4))),console['log'](a0V[bO(0x34d)](bO(0x2ec)+J[bO(0x341)][bO(0x48f)]('T')[-0x66f*0x5+-0xa9b+0x2ac6])),console[bO(0x366)](a0V[bO(0x34d)](bO(0x47d)+J[bO(0x41a)])),console['log'](a0V[bO(0x34d)](bO(0x332)+a9+bO(0x1f9))),J[bO(0x476)][bO(0x1ca)]>-0x6c3*0x1+-0x6a*0x33+0x1be1&&console[bO(0x366)](a0V[bO(0x34e)](bO(0x41e)+J['failedPackages'][bO(0x37e)](',\x20'))),console[bO(0x366)](),console[bO(0x366)](a0V['white'](bO(0x21b))+a0V['bold'][bO(0x1a6)]('exam\x20<token>')),console[bO(0x366)](a0V[bO(0x34d)](bO(0x1b4))+a0V[bO(0x455)]['cyan'](bO(0x374))+a0V[bO(0x34d)](bO(0x2e0))),void console[bO(0x366)]();console['log'](),console['log'](a0V[bO(0x34e)](bO(0x281)+a9+'/'+aa+bO(0x31c))),console[bO(0x366)]();}console[bO(0x366)](),a0ag(bO(0x38a)),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x396)](bO(0x475))),console[bO(0x366)](a0V[bO(0x34d)](bO(0x264))),console['log']();const K=(ab,ac)=>{const bP=bO,ad=process[bP(0x36b)];console[bP(0x366)](),a0ac(bP(0x478)===ab?bP(0x2d0):bP(0x1e3)+ac+bP(0x2a5)),console[bP(0x366)](),console['log'](a0V[bP(0x455)][bP(0x396)](bP(0x3c8))),console[bP(0x366)](),bP(0x3cc)===ad?(console[bP(0x366)](a0V[bP(0x34e)]('\x20\x20macOS\x20(Homebrew,\x20recommended):')),console[bP(0x366)](a0V[bP(0x386)](bP(0x269))),console[bP(0x366)](),console['log'](a0V[bP(0x34d)](bP(0x2cb))),console['log'](a0V[bP(0x34d)]('\x20\x20\x20\x20https://www.python.org/downloads/macos/'))):'linux'===ad?(console[bP(0x366)](a0V[bP(0x34e)]('\x20\x20Ubuntu\x20/\x20Debian\x20(deadsnakes\x20PPA):')),console['log'](a0V[bP(0x386)]('\x20\x20\x20\x20sudo\x20add-apt-repository\x20ppa:deadsnakes/ppa\x20-y')),console[bP(0x366)](a0V[bP(0x386)](bP(0x1a8))),console['log'](a0V[bP(0x386)](bP(0x1a4))),console[bP(0x366)](a0V['gray']('\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201')),console[bP(0x366)](),console[bP(0x366)](a0V[bP(0x34e)]('\x20\x20Fedora\x20/\x20RHEL:')),console[bP(0x366)](a0V[bP(0x386)](bP(0x239))),console[bP(0x366)](),console['log'](a0V[bP(0x34e)](bP(0x48d))),console[bP(0x366)](a0V['green']('\x20\x20\x20\x20sudo\x20pacman\x20-S\x20python'))):bP(0x3e8)===ad?(console['log'](a0V['yellow']('\x20\x20Windows\x20(winget,\x20recommended):')),console[bP(0x366)](a0V[bP(0x386)](bP(0x249))),console['log'](),console[bP(0x366)](a0V['gray']('\x20\x20Or\x20download\x20installer:')),console[bP(0x366)](a0V[bP(0x34d)](bP(0x338)))):console[bP(0x366)](a0V[bP(0x34d)]('\x20\x20\x20\x20https://www.python.org/downloads/')),console[bP(0x366)](),console['log'](a0V[bP(0x396)](bP(0x465))+a0V['bold'][bP(0x1a6)](bP(0x219))),console[bP(0x366)]();},{execFileSync:V}=await import('node:child_process'),W=[bO(0x28c),bO(0x266),bO(0x28b),bO(0x45f)];let X='',Y='',Z='';for(const ab of W)try{const ac=V(ab,[bO(0x46b)],{'encoding':bO(0x293),'timeout':0x1388})[bO(0x367)]()[bO(0x26b)]('Python\x20',''),ad=ac[bO(0x48f)]('.')[bO(0x42e)](Number);if(0x724*0x5+0x1bf*0x3+-0x28ee===ad[-0x1f4+0x1f80+0xf4*-0x1f]&&ad[0x373+0xac6+0x118*-0xd]>=-0xde7+-0x4*0x309+0x1a15*0x1){X=ab,Y=ac;break;}bO(0x45f)!==ab||Z||(Z=ac);}catch{}if(!X)return void(Z?K(bO(0x18b),Z):K(bO(0x478)));const a0=Y[bO(0x48f)]('.')[bO(0x42e)](Number);0xbb6+-0x24c5+-0x1912*-0x1===a0[-0x955+0x26f+0x6e6*0x1]&&a0[0x1*-0x17e2+0x25b9+-0xdd6]<-0x36d+-0x345+0x6be?console[bO(0x366)](a0V[bO(0x386)](bO(0x204)+Y)+a0V[bO(0x34d)](bO(0x331))):console[bO(0x366)](a0V['green'](bO(0x204)+Y));try{const ae={};ae[bO(0x2c5)]=bO(0x450),ae['timeout']=0x1388,(a0as(X+bO(0x3ee),ae),console[bO(0x366)](a0V[bO(0x386)](bO(0x2c6))));}catch{console[bO(0x366)](a0V[bO(0x34e)](bO(0x191)));try{const af={};af[bO(0x2c5)]=bO(0x450),af[bO(0x36d)]=0x7530,(a0as(X+bO(0x206),af),console[bO(0x366)](a0V[bO(0x386)](bO(0x308))));}catch{a0ac('Could\x20not\x20install\x20pip\x20—\x20pip\x20is\x20not\x20installed\x20on\x20your\x20system.'),console[bO(0x366)]();const {isInWSL:ag,isNativeWindowsCmd:ah}=await import(bO(0x18f)),{execFileSync:ai}=await import('node:child_process'),aj=ag(),ak=ah(),al='linux'===process['platform']&&!aj,am='darwin'===process[bO(0x36b)];let an=bO(0x2a6);if(al||aj)try{const {readFileSync:aq}=await import(bO(0x26c)),ar=aq(bO(0x258),bO(0x293)),as=(ar[bO(0x368)](/^ID="?([^"\n]+)/m)||[])[-0x22da+-0x1efb+0x41d6]||'',at=(ar['match'](/^VERSION_ID="?([^"\n]+)/m)||[])[0x941+0x1*0xd64+-0x16a4]||'';bO(0x41c)===as?an='Ubuntu\x20'+at+(aj?bO(0x1f0):''):as&&(an=''+as+(at?'\x20'+at:'')+(aj?bO(0x1f0):''));}catch{}let ao=!(0x89*-0x34+0xe2*-0x6+0x2121);if(am)try{const au={};au[bO(0x2c5)]='ignore',au[bO(0x36d)]=0x7d0,(ai('which',[bO(0x243)],au),ao=!(-0x1df9+-0x177b*-0x1+0x67e));}catch{ao=!(-0x590+0x2*0x1165+-0x1d39);}const ap=ak?bO(0x361):bO(0x25c);return console[bO(0x366)](a0V[bO(0x455)]['yellow'](bO(0x205))),console['log'](a0V[bO(0x455)]['yellow']('\x20\x20'+ap)),console['log'](a0V['bold'][bO(0x34e)](bO(0x205))),console[bO(0x366)](),al||aj?(console[bO(0x366)](a0V[bO(0x396)](bO(0x19c))+a0V[bO(0x1a6)](an)),console[bO(0x366)](a0V[bO(0x34d)](bO(0x443))),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x455)][bO(0x396)]('\x20\x20Step-by-step:')),console['log'](),console['log'](a0V[bO(0x396)](bO(0x42f))+a0V[bO(0x455)][bO(0x1a6)](bO(0x254))+a0V['white'](bO(0x2f6))),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x396)](bO(0x2fc))),console[bO(0x366)](),console[bO(0x366)](bO(0x2e4)+a0V['bold'][bO(0x1a6)]('sudo\x20apt\x20update')),console[bO(0x366)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x455)]['cyan'](bO(0x45a))),console['log'](),console[bO(0x366)](a0V[bO(0x396)](bO(0x393))),console['log'](),console[bO(0x366)](bO(0x2e4)+a0V[bO(0x455)][bO(0x1a6)](bO(0x30c))),console[bO(0x366)](bO(0x2e4)+a0V['gray']('icoa>')+'\x20'+a0V[bO(0x455)][bO(0x1a6)](bO(0x219)))):am?(console['log'](a0V[bO(0x396)](bO(0x19c))+a0V[bO(0x1a6)](bO(0x40d))),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x455)][bO(0x396)](bO(0x216))),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x396)](bO(0x42f))+a0V[bO(0x455)]['cyan'](bO(0x254))+a0V[bO(0x396)](bO(0x180))),console[bO(0x366)](),ao?(console['log'](a0V[bO(0x396)](bO(0x3eb))),console[bO(0x366)](),console[bO(0x366)](bO(0x2e4)+a0V[bO(0x455)]['cyan']('brew\x20install\x20python@3.12')),console[bO(0x366)](bO(0x2e4)+a0V[bO(0x455)][bO(0x1a6)](bO(0x49f)))):(console[bO(0x366)](a0V[bO(0x396)](bO(0x26a))+a0V['bold'][bO(0x34e)](bO(0x243))+a0V[bO(0x396)]('):')),console[bO(0x366)](),console['log'](bO(0x2e4)+a0V[bO(0x455)][bO(0x1a6)](bO(0x36e))),console['log'](),console[bO(0x366)](a0V[bO(0x396)](bO(0x18c))),console[bO(0x366)](),console[bO(0x366)](bO(0x2e4)+a0V['bold'][bO(0x1a6)](bO(0x2d7)))),console[bO(0x366)](),console['log'](a0V[bO(0x396)]('\x20\x20\x20\x203.\x20Restart\x20icoa\x20and\x20retry:')),console[bO(0x366)](),console[bO(0x366)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x455)][bO(0x1a6)](bO(0x30c))),console[bO(0x366)](bO(0x2e4)+a0V[bO(0x34d)]('icoa>')+'\x20'+a0V[bO(0x455)][bO(0x1a6)](bO(0x219)))):ak?(console[bO(0x366)](a0V['white'](bO(0x19c))+a0V[bO(0x1a6)](bO(0x484))),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x455)][bO(0x34e)](bO(0x3bf))),console[bO(0x366)](a0V[bO(0x34d)](bO(0x31b))),console[bO(0x366)](a0V[bO(0x34d)](bO(0x485))),console[bO(0x366)](a0V[bO(0x34d)](bO(0x39c))),console[bO(0x366)](),console['log'](a0V[bO(0x455)][bO(0x396)](bO(0x2a4))),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x396)](bO(0x42f))+a0V[bO(0x455)]['cyan'](bO(0x254))+a0V[bO(0x396)]('\x20to\x20leave\x20icoa')),console[bO(0x366)](a0V[bO(0x396)](bO(0x424))),console['log'](),console[bO(0x366)](bO(0x2e4)+a0V['bold'][bO(0x1a6)]('wsl\x20--install\x20-d\x20Ubuntu-22.04')),console[bO(0x366)](),console[bO(0x366)](a0V['gray'](bO(0x3a5))),console[bO(0x366)](a0V['white']('\x20\x20\x20\x203.\x20Inside\x20Ubuntu,\x20install\x20Node.js\x2022\x20+\x20Python\x20tools\x20+\x20icoa:')),console[bO(0x366)](),console[bO(0x366)](bO(0x2e4)+a0V[bO(0x455)][bO(0x1a6)](bO(0x1b3))),console[bO(0x366)](bO(0x2e4)+a0V['bold'][bO(0x1a6)](bO(0x25d))),console['log'](bO(0x2e4)+a0V[bO(0x455)]['cyan'](bO(0x265))),console['log'](bO(0x2e4)+a0V['bold'][bO(0x1a6)](bO(0x30c))),console[bO(0x366)](),console[bO(0x366)](a0V['gray'](bO(0x34a))),console[bO(0x366)](),console['log'](a0V[bO(0x396)](bO(0x42f))+a0V[bO(0x455)][bO(0x1a6)]('quit')+a0V['white'](bO(0x180))),console[bO(0x366)](a0V[bO(0x396)](bO(0x36c))),console['log'](),console['log'](bO(0x2e4)+a0V[bO(0x455)][bO(0x1a6)](bO(0x2ab))),console[bO(0x366)](),console[bO(0x366)](a0V['gray']('\x20\x20\x20\x20\x20\x20\x20(Or\x20download\x20from\x20python.org\x20and\x20CHECK\x20both\x20\x22Add\x20Python\x20to')),console[bO(0x366)](a0V[bO(0x34d)](bO(0x34f))),console[bO(0x366)](a0V['white'](bO(0x261))),console[bO(0x366)](),console[bO(0x366)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x455)][bO(0x1a6)](bO(0x30c))),console[bO(0x366)](bO(0x2e4)+a0V['gray']('icoa>')+'\x20'+a0V[bO(0x455)]['cyan']('exam\x20setup'))):(console[bO(0x366)](a0V[bO(0x396)](bO(0x232))+a0V[bO(0x1a6)](process[bO(0x36b)])+a0V[bO(0x396)](')')),console[bO(0x366)](),console['log'](a0V['gray'](bO(0x495))),console['log']('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x455)][bO(0x1a6)]('icoa')),console[bO(0x366)](bO(0x2e4)+a0V[bO(0x34d)](bO(0x240))+'\x20'+a0V[bO(0x455)][bO(0x1a6)]('exam\x20setup'))),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x34d)](bO(0x3ec))),void console['log']();}}const a1={};a1[bO(0x1e8)]=bO(0x375),a1[bO(0x381)]='Crypto',a1[bO(0x448)]='z3',a1[bO(0x2f2)]=bO(0x41b),a1['pwntools']=bO(0x390),a1[bO(0x2c4)]='ropgadget';const a2=['pwntools','cryptography',bO(0x267),'beautifulsoup4',bO(0x431),bO(0x2f2),bO(0x325),bO(0x324),bO(0x448),'pycryptodome','ROPgadget',bO(0x4a8),'regex'],a3=a1;console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x396)]('\x20\x20Installing\x20'+a2['length']+'\x20packages...')),console['log']();let a4='';try{const av={};av[bO(0x193)]=bO(0x293),av[bO(0x36d)]=0x2710,a0as(X+'\x20-m\x20pip\x20install\x20--dry-run\x20pip\x202>&1',av);}catch(aw){const ax=String(aw?.[bO(0x234)]||aw?.[bO(0x245)]||aw?.[bO(0x1fb)]||'');/externally-managed-environment|break-system-packages/i[bO(0x401)](ax)&&(a4=bO(0x3d9),console['log'](a0V[bO(0x34e)]('\x20\x20ℹ\x20PEP\x20668\x20detected\x20—\x20using\x20--user\x20install\x20(no\x20sudo\x20needed)')),console[bO(0x366)]());}const a5=Y[bO(0x48f)]('.')[bO(0x42e)](Number);0x7bc+0x1a54+-0x1*0x220d===a5[-0x627+0x2*0xeef+0x1*-0x17b7]&&a5[-0x2313*0x1+0x1f82+0x1c9*0x2]>=-0x955+0x1b9b*0x1+-0x1*0x1239&&(console['log'](a0V[bO(0x34e)](bO(0x412)+Y+bO(0x479))),console[bO(0x366)](a0V[bO(0x34d)](bO(0x4a5))),console[bO(0x366)](a0V[bO(0x34d)](bO(0x486))),bO(0x203)===process[bO(0x36b)]&&(console[bO(0x366)](a0V[bO(0x386)](bO(0x19b))),console[bO(0x366)](a0V[bO(0x386)]('\x20\x20\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201'))),console[bO(0x366)]());const a6=[],a7=[];let a8='';for(const ay of a2)try{a0as(X+bO(0x43f)+ay+'\x22\x20'+a4+bO(0x19f),{'encoding':bO(0x293),'timeout':0x2bf20,'stdio':bO(0x3e0)}),a0as(X+bO(0x3f0)+(a3[ay]||ay)+'\x22',{'stdio':bO(0x450),'timeout':0x2710});let az='';try{const aA=a0as(X+bO(0x42b)+ay+'\x22\x202>/dev/null',{'encoding':'utf-8','timeout':0x1388})[bO(0x368)](/^Version:\s*(.+)$/m);aA&&(az=aA[-0x1580+-0x2610+0x3b91][bO(0x367)]());}catch{}console['log'](a0V[bO(0x386)]('\x20\x20✓\x20'+ay)+(az?a0V['gray']('\x20('+az+')'):'')),a6[bO(0x2e9)](az?ay+'=='+az:ay);}catch(aB){const aC=String(aB?.['stdout']||aB?.[bO(0x245)]||aB?.[bO(0x1fb)]||'')[bO(0x3c9)](-(0x4fd*0x6+-0x1ff*-0x7+-0x2a57)),aD=aC[bO(0x48f)]('\x0a')[bO(0x429)](aE=>aE[bO(0x367)]())['slice'](-(-0xc3*-0x1+-0x1ad6*0x1+0x1*0x1a15))[bO(0x37e)](bO(0x1af))[bO(0x3c9)](-0x43*-0x5e+0x3be+-0x1c58,0x2529+0x719*-0x2+-0xd*0x1bb);console['log'](a0V[bO(0x3a2)](bO(0x3ba)+ay)+a0V[bO(0x34d)]('\x20\x20'+aD)),a7[bO(0x2e9)]({'pkg':ay,'error':aD}),a8||(a8=aC);}-0xda5+-0x1982+-0x2727*-0x1===a6[bO(0x1ca)]&&a8&&(console[bO(0x366)](),console['log'](a0V[bO(0x34e)](bO(0x3b0))),console['log'](a0V[bO(0x34d)]('\x20\x20'+a8[bO(0x48f)]('\x0a')[bO(0x3c9)](-(0xbba*0x3+-0xae8+-0x1840))[bO(0x37e)]('\x0a\x20\x20')))),a0an({'completedAt':new Date()[bO(0x285)](),'pythonVersion':Y,'installedPackages':a6,'failedPackages':a7[bO(0x42e)](aE=>aE[bO(0x3d7)])}),console[bO(0x366)](),0x525+-0x11*0x89+0x3f4*0x1===a7[bO(0x1ca)]?a0ab(bO(0x357)+a2[bO(0x1ca)]+'\x20packages\x20installed.'):0x1bcf+0x772+-0x2341===a6[bO(0x1ca)]?(a0ac('Setup\x20failed\x20—\x200\x20of\x20'+a2['length']+bO(0x22d)),console['log'](),console[bO(0x366)](a0V[bO(0x34e)](bO(0x3f2))),-0x146d+0x1*0x1c81+-0x811===a5[0x3bf*-0x6+0x195*-0xf+0x2e35]&&a5[0x2143+-0x1*0x8b1+-0x1891*0x1]>=-0x1563+-0x1*0x1fc4+-0x552*-0xa?(console[bO(0x366)](a0V[bO(0x34d)]('\x20\x20\x20\x20Python\x203.13\x20is\x20too\x20new\x20—\x20most\x20CTF\x20libraries\x20lack\x20wheels.')),console[bO(0x366)](a0V[bO(0x34d)]('\x20\x20\x20\x20Install\x20Python\x203.12\x20and\x20re-run\x20exam\x20setup.'))):(console[bO(0x366)](a0V[bO(0x34d)](bO(0x446))),console[bO(0x366)](a0V['gray'](bO(0x23d))+a0V[bO(0x1a6)](X+bO(0x340))+a0V['gray']('\x20—\x20see\x20full\x20error')),console[bO(0x366)](a0V[bO(0x34d)](bO(0x3f7)))),console['log'](),console[bO(0x366)](a0V['white']('\x20\x20Rerun\x20when\x20fixed:\x20')+a0V[bO(0x455)][bO(0x1a6)](bO(0x219)))):a0ad(a6['length']+'/'+a2[bO(0x1ca)]+bO(0x1a3)+a7[bO(0x1ca)]+bO(0x2bc)+a7[bO(0x42e)](aE=>aE[bO(0x3d7)])[bO(0x37e)](',\x20')),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x1a6)](bO(0x1d0))),console[bO(0x366)](a0V[bO(0x455)][bO(0x396)]('\x20\x20How\x20to\x20use\x20Python\x20in\x20ICOA\x20CLI')),console[bO(0x366)](a0V[bO(0x1a6)](bO(0x1d0))),console['log'](),console['log'](a0V[bO(0x455)][bO(0x34e)]('\x20\x20Method\x201:\x20One-liner')+a0V[bO(0x34d)]('\x20(quick\x20tasks)')),console['log'](a0V[bO(0x396)](bO(0x333))),console[bO(0x366)](a0V[bO(0x386)](bO(0x3f9))),console[bO(0x366)](a0V[bO(0x34d)](bO(0x262))),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x455)][bO(0x34e)]('\x20\x20Method\x202:\x20Interactive\x20Python')+a0V['gray'](bO(0x227))),console[bO(0x366)](a0V[bO(0x396)](bO(0x46e))),console[bO(0x366)](a0V[bO(0x386)](bO(0x425))),console['log'](a0V[bO(0x34d)](bO(0x1b7))),console['log'](a0V[bO(0x34d)](bO(0x356))),console[bO(0x366)](a0V[bO(0x34d)](bO(0x2db))),console[bO(0x366)](a0V['gray']('\x20\x20\x20\x20>>>\x20print(cipher.decrypt(data))')),console[bO(0x366)](a0V[bO(0x34d)](bO(0x2ee))),console['log'](),console[bO(0x366)](a0V[bO(0x455)][bO(0x34e)](bO(0x2e7))+a0V[bO(0x34d)](bO(0x415))),console[bO(0x366)](a0V[bO(0x396)](bO(0x2ae))),console[bO(0x366)](a0V[bO(0x386)](bO(0x3c2))),console[bO(0x366)](a0V[bO(0x34d)]('\x20\x20\x20\x20from\x20pwn\x20import\x20xor')),console[bO(0x366)](a0V[bO(0x34d)]('\x20\x20\x20\x20ct\x20=\x20bytes.fromhex(\x220a2b0e1c...\x22)')),console[bO(0x366)](a0V[bO(0x34d)](bO(0x1d2))),console[bO(0x366)](a0V[bO(0x34d)](bO(0x257))),console[bO(0x366)](a0V[bO(0x386)]('\x20\x20\x20\x20EOF')),console[bO(0x366)](a0V[bO(0x386)](bO(0x3c7))),console[bO(0x366)](),console[bO(0x366)](a0V[bO(0x455)][bO(0x34e)](bO(0x1bd))),console['log'](a0V['white'](bO(0x3b3))+a0V[bO(0x455)][bO(0x1a6)]('hint')+a0V['white']('\x20to\x20ask\x20AI\x20for\x20help:')),console['log'](a0V[bO(0x34d)](bO(0x1ed))),console['log'](a0V[bO(0x34d)](bO(0x438))),console['log'](a0V[bO(0x34d)]('\x20\x20\x20\x20AI\x20budget:\x2025K\x20tokens\x20for\x20AI4CTF\x20+\x2025K\x20for\x20CTF4AI')),console['log'](a0V['cyan']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bO(0x366)](),console['log'](a0V[bO(0x396)](bO(0x21b))+a0V['bold'][bO(0x1a6)](bO(0x212))),console[bO(0x366)](a0V['gray'](bO(0x1b4))+a0V[bO(0x455)]['cyan'](bO(0x374))+a0V[bO(0x34d)]('\x20to\x20return\x20to\x20the\x20main\x20menu.')),console[bO(0x366)]();}),B['action'](()=>{const bQ=bg;a0aa(bQ(0x353));const F=a0a0();if(F){a0ag(bQ(0x20b)+F[bQ(0x345)]['examName']),R();const J=Object[bQ(0x2f5)](F[bQ(0x41d)])[bQ(0x1ca)];return a0ah(bQ(0x214),J+'/'+F[bQ(0x345)][bQ(0x1da)]+bQ(0x20d)),console[bQ(0x366)](),void console[bQ(0x366)](a0V[bQ(0x34d)](bQ(0x33c)));}const G=a0a5(),H=a0am();console[bQ(0x366)](),a0ag(bQ(0x334)),console[bQ(0x366)](),-0x2059+0x1f16+0x143===G[bQ(0x399)]?(console[bQ(0x366)](a0V[bQ(0x34e)](bQ(0x464))+a0V['yellow'](bQ(0x20a))),console[bQ(0x366)](a0V[bQ(0x34d)](bQ(0x1f7))+a0V['bold']['cyan'](bQ(0x316)))):(console[bQ(0x366)](a0V[bQ(0x386)]('\x20\x20●\x20')+a0V['green'](bQ(0x1b9)+G[bQ(0x399)]+bQ(0x3d8)+(0x1*0x5bc+0x796+-0x1e7*0x7!==G[bQ(0x399)]?'s':'')+')')),H?(console[bQ(0x366)](a0V[bQ(0x386)](bQ(0x4ab))+a0V[bQ(0x386)](bQ(0x28a))),console[bQ(0x366)](a0V[bQ(0x34e)](bQ(0x464))+a0V[bQ(0x34e)](bQ(0x498))),console[bQ(0x366)](a0V[bQ(0x34d)](bQ(0x1f7))+a0V[bQ(0x455)][bQ(0x1a6)]('exam\x20<token>'))):(console[bQ(0x366)](a0V['yellow'](bQ(0x464))+a0V[bQ(0x34e)](bQ(0x1c0))),console[bQ(0x366)](a0V[bQ(0x34d)](bQ(0x1f7))+a0V[bQ(0x455)][bQ(0x1a6)](bQ(0x219))))),console[bQ(0x366)]();});}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function scanForAIBinaries(): string[];
|
|
2
|
+
export declare function checkShellRisk(input: string): string[];
|
|
3
|
+
export declare function logShellAudit(entry: {
|
|
4
|
+
cwd: string;
|
|
5
|
+
input: string;
|
|
6
|
+
riskFlags: string[];
|
|
7
|
+
}): void;
|
|
8
|
+
export declare function reportAIBinaryDetection(binaries: string[]): void;
|
|
9
|
+
export declare function createExamWorkspace(examId: string): string;
|
|
10
|
+
export declare function getActiveCwd(): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mkdtempSync as t,mkdirSync as e,existsSync as o,appendFileSync as s,statSync as r}from"node:fs";import{execFileSync as i}from"node:child_process";import{tmpdir as n,homedir as a,platform as c}from"node:os";import{join as p,delimiter as l}from"node:path";import{getIcoaDir as h}from"./config.js";import{getRealExamState as d}from"./exam-state.js";const m=["claude","cursor-agent","aider","codex","ollama","llm","cody","continue","windsurf","mods","gemini","q"];function u(t){const e=process.env.PATH||"",o="win32"===c()?(process.env.PATHEXT||".EXE;.CMD;.BAT").split(";"):[""];for(const s of e.split(l))if(s)for(const e of o){const o=p(s,t+e);try{if(r(o).isFile())return!0}catch{}}return!1}export function scanForAIBinaries(){const t=[];for(const e of m)u(e)&&t.push(e);if(u("gh"))try{const e=i("gh",["extension","list"],{encoding:"utf-8",timeout:2e3,stdio:["ignore","pipe","ignore"]});/copilot/i.test(e)&&t.push("gh-copilot")}catch{}return t}const f=[{pattern:/(?:^|[\s|;&`$(])(?:cat|less|more|head|tail|bat)\s+(?:~|\$HOME|\/home\/[^/\s]+|\/Users\/[^/\s]+)/,label:"reads home directory"},{pattern:/\.bash_history|\.zsh_history|\.fish_history|\.python_history/,label:"reads shell history"},{pattern:/(?:^|[\s|;&`$(])(?:find|grep\s+-[rR]\S*|rg|fd|ack)\s+(?:~|\$HOME|\/home|\/Users)/,label:"searches home directory"},{pattern:/(?:^|[\s|;&`$(])(?:claude|cursor-agent|aider|codex|ollama|llm|cody|continue|windsurf|mods|gemini)\b/,label:"invokes AI agent CLI"},{pattern:/(?:^|[\s|;&`$(])gh\s+copilot\b/,label:"invokes gh copilot"},{pattern:/(?:^|[\s|;&`$(])history\b/,label:"inspects shell history"},{pattern:/(?:^|[\s|;&`$(])cd\s+(?:~|\$HOME|\/home|\/Users|\/etc|\/var)/,label:"cd outside exam workspace"}];export function checkShellRisk(t){const e=[];for(const{pattern:o,label:s}of f)o.test(t)&&e.push(s);return e}export function logShellAudit(t){const e=d();if(!e)return;const o=JSON.stringify({ts:(new Date).toISOString(),examId:e.session.examId,country:e.session.country,cwd:t.cwd,input:t.input.slice(0,500),riskFlags:t.riskFlags});try{s(p(h(),"exam-audit.log"),`${o}\n`)}catch{}fetch("https://practice.icoa2026.au/api/icoa/exam-audit",{method:"POST",headers:{"Content-Type":"application/json"},body:o,signal:AbortSignal.timeout(3e3)}).catch(()=>{})}export function reportAIBinaryDetection(t){if(0===t.length)return;const e=d(),o=JSON.stringify({ts:(new Date).toISOString(),examId:e?.session.examId??"(pre-start)",country:e?.session.country??"(pre-start)",binaries:t,platform:process.platform});fetch("https://practice.icoa2026.au/api/icoa/exam-ai-binaries",{method:"POST",headers:{"Content-Type":"application/json"},body:o,signal:AbortSignal.timeout(3e3)}).catch(()=>{})}export function createExamWorkspace(e){const o=e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,32);return t(p(n(),`icoa-exam-${o}-`))}const g=p(a(),"icoa-workspace");export function getActiveCwd(){const t=d(),s=t?.session?.workspaceDir;return s&&o(s)?s:(o(g)||e(g,{recursive:!0}),g)}
|
package/dist/lib/exam-state.d.ts
CHANGED
|
@@ -23,4 +23,8 @@ export declare function getExamState(): ExamState | null;
|
|
|
23
23
|
export declare function saveExamState(state: ExamState): void;
|
|
24
24
|
export declare function clearExamState(examId?: string): void;
|
|
25
25
|
export declare function getExamDeadline(): Date | null;
|
|
26
|
+
/** Deadline read from the real-exam state file specifically, bypassing
|
|
27
|
+
* getExamState()'s real-over-demo priority. Used by `exam demo` to
|
|
28
|
+
* detect a parked expired real exam that would otherwise block demo. */
|
|
29
|
+
export declare function getRealExamDeadline(): Date | null;
|
|
26
30
|
export declare function refetchQuestionDataIfStale(): Promise<ExamState | null>;
|
package/dist/lib/exam-state.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{readFileSync as t,writeFileSync as e,existsSync as n,unlinkSync as o,mkdirSync as r}from"node:fs";import{execFileSync as a}from"node:child_process";import{join as i}from"node:path";import{homedir as s}from"node:os";import{getIcoaDir as c}from"./config.js";export function materializeAttachedData(t,
|
|
1
|
+
import{readFileSync as t,writeFileSync as e,existsSync as n,unlinkSync as o,mkdirSync as r}from"node:fs";import{execFileSync as a}from"node:child_process";import{join as i}from"node:path";import{homedir as s}from"node:os";import{getIcoaDir as c}from"./config.js";export function materializeAttachedData(t,o){if(!o)return null;let c;try{const a=getRealExamState(),u=a?.session?.workspaceDir,f=u&&n(u)?u:i(s(),"icoa-workspace");r(f,{recursive:!0}),c=i(f,`q${t}.txt`),e(c,o,"utf-8")}catch{return null}try{return a("docker",["cp",c,`icoa-sandbox:/home/competitor/challenges/q${t}.txt`],{stdio:"ignore",timeout:3e3}),`challenges/q${t}.txt`}catch{return c}}function u(){return i(c(),"exam-state.json")}function f(){return i(c(),"demo-state.json")}function l(t){return"demo-free"===t?f():u()}export function getRealExamState(){const e=u();if(!n(e))return null;try{const n=JSON.parse(t(e,"utf-8"));if("demo-free"===n?.session?.examId){try{o(e)}catch{}return null}return n}catch{return null}}export function getDemoState(){const e=f();if(!n(e))return null;try{return JSON.parse(t(e,"utf-8"))}catch{return null}}export function getExamState(){return getRealExamState()||getDemoState()}export function saveExamState(t){const n=l(t.session.examId);e(n,JSON.stringify(t,null,2))}export function clearExamState(t){if(t){const e=l(t);n(e)&&o(e)}else{const t=getExamState();if(t){const e=l(t.session.examId);n(e)&&o(e)}}}function m(t){if(!t.session.durationMinutes)return null;const{deadlineServerMs:e,clockOffsetMs:n}=t.session;if("number"==typeof e&&"number"==typeof n)return new Date(e-n);const o=t.session.confirmedAt||t.session.startedAt,r=new Date(o).getTime();return new Date(r+60*t.session.durationMinutes*1e3)}export function getExamDeadline(){const t=getExamState();return t?m(t):null}export function getRealExamDeadline(){const t=getRealExamState();return t?m(t):null}let d=!1;export async function refetchQuestionDataIfStale(){const t=getRealExamState();if(!t)return null;if(d)return t;const e=t.session.token;if(!e)return t;if(!t.questions.some(t=>{if("ai4ctf"!==t.type&&"ctf4ai"!==t.type)return!1;const e=String(t.description||"");return(e.includes("attachedData")||/base64 blob/i.test(e))&&!t.attachedData}))return t;d=!0;try{const{getConfig:n}=await import("./config.js"),o=n(),r=o.ctfdUrl||"https://practice.icoa2026.au",a=o.language||"en",i=await fetch(`${r}/api/icoa/exam-token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:e,deviceHash:"",lang:a}),signal:AbortSignal.timeout(8e3)});if(!i.ok)return t;const s=await i.json(),c=s?.data?.questions||[];if(0===c.length)return t;const u=new Map;for(const t of c)u.set(t.number,t);let f=0;for(const e of t.questions){const t=u.get(e.number);t&&(t.attachedData&&!e.attachedData&&(e.attachedData=t.attachedData,f++),t.description&&(!e.description||t.description.length>e.description.length)&&(e.description=t.description))}return f>0&&saveExamState(t),t}catch{return t}}
|
package/dist/repl.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createInterface as o}from"node:readline";import{spawn as e,execSync as l}from"node:child_process";import chalk from"chalk";import{isConnected as t,getConfig as n,saveConfig as s}from"./lib/config.js";import{isActivated as a,activateToken as r,isFreeCommand as i,isDeviceMatch as c,recordExit as g,recordResume as y,isFirstRunOrUpgrade as m,markVersionSeen as d}from"./lib/access.js";import{setReplMode as p}from"./lib/ui.js";import{returnToMainMenu as u,printMenuHint as h,menuHintInline as w}from"./lib/menu-nav.js";import{setMainRl as f}from"./lib/main-rl.js";import{isChatActive as b,handleChatMessage as x}from"./commands/ai4ctf.js";import{isCtf4aiActive as v,handleCtf4aiMessage as C}from"./commands/ctf4ai-demo.js";import{isCtf4VlaActive as A,handleCtf4VlaMessage as I}from"./commands/ctf4vla.js";import{isDemo2Active as k}from"./commands/demo2.js";import{loadDemo2Progress as T}from"./lib/demo2-progress.js";import{hasAnySimHistory as $,lastArmAt as S,lastBundledAt as O,lastSimAt as E}from"./lib/sim-cooldown.js";import{getExamState as L,getRealExamState as P,getDemoState as R}from"./lib/exam-state.js";import{getDemoStats as N}from"./lib/demo-stats.js";import{isExamSetupComplete as j}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as D,DEMO_POOL_SIZE as q}from"./lib/demo-exam.js";import{isNativeWindowsCmd as F}from"./lib/platform.js";import{resetTerminalTheme as M}from"./lib/theme.js";import{ensureSandbox as U,runInSandbox as z,isDockerAvailable as W}from"./lib/sandbox.js";import{logCommand as B}from"./lib/logger.js";import{startLogSync as _,stopLogSync as Q}from"./lib/log-sync.js";import{existsSync as Y,mkdirSync as V,writeFileSync as J}from"node:fs";import{join as G}from"node:path";import{homedir as K}from"node:os";function Z(){return P()?chalk.cyan("exam> "):R()?chalk.yellow("demo> "):chalk.green("icoa> ")}const H=G(K(),"icoa-workspace");function X(){return Y(H)||V(H,{recursive:!0}),H}const oo=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),eo="__REPL_NO_EXIT__",lo="2.5.1";function to(){const o=N(),e=j(),t=`Free practice — ${D} questions (from pool of ${q})`,n=F();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="",t="missing";for(const n of o)try{const o=l(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,t=3===s&&a>=10&&a<12?"old":3===s&&a>12?"new":"missing"}catch{}return{ok:"missing"!==t,version:e,status:t}}();"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(` ${t}`)),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(` ${t}`)),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(` ${t}`)),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,R){process.env.ICOA_INSIDE_REPL="1";const N=n(),j=t(),D=process.exit.bind(process),q=a();if(N.demoCleanedForVersion!==lo){try{const{existsSync:o,unlinkSync:e}=await import("node:fs"),{join:l}=await import("node:path"),{getIcoaDir:t}=await import("./lib/config.js"),n=l(t(),"demo-state.json");o(n)&&e(n)}catch{}s({demoCleanedForVersion:lo})}const{select:F,confirm:so}=await import("@inquirer/prompts"),ao=N.mode||"",ro=[{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 · sim (instant) · sim arm (interactive) · demo2 · learn")}`,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 io="";for(;!io;){const o=await F({message:"Mode",choices:ro,default:ao||"selection"});"about"!==o?io=o:(console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA")+chalk.white(" — AI-Native CLI OS for Cyber & AI Security")),console.log(chalk.gray(" Olympiad & Competition · K-12 to University")),console.log(chalk.cyan(" ───────────────────────────────────────────────────")),console.log(),console.log(chalk.bold.white(" What Makes ICOA Different")),console.log(chalk.gray(" · AI-native AI teammate, AI adversary, AI translation")),console.log(chalk.gray(" · CLI OS Complete competition environment in terminal")),console.log(chalk.gray(" · 110 tools pwntools, z3, gdb, nmap, sleuthkit... pre-configured")),console.log(chalk.gray(" · Global scale 15,000+ concurrent exams · 15 languages")),console.log(),console.log(chalk.bold.white(" Competition Format")),console.log(` ${chalk.green.bold("AI4CTF")}${chalk.gray(" [Day 1] AI as teammate — 5hr jeopardy CTF")}`),console.log(` ${chalk.red.bold("CTF4AI")}${chalk.gray(" [Day 2] Challenge AI — adversarial ML, red-team")}`),console.log(` ${chalk.cyan.bold("CTF4VLA")}${chalk.gray(" [Pioneer Round] Embodied AI — attack robot brains (NEW)")}`),console.log(),console.log(chalk.white(" Sydney, Australia")+chalk.gray(" · Jun 27 - Jul 2, 2026 · 40+ countries")),console.log(),console.log(chalk.bold.white(" Organized by")+chalk.gray(" ASRA (Australia) · ICO Foundation Inc")),console.log(chalk.bold.white(" Contact ")+chalk.cyan(" australia@icoa2026.au · accreditation@icoa2026.au")),console.log(chalk.bold.white(" Website ")+chalk.cyan.underline(" https://icoa2026.au")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.gray(" Press ")+chalk.yellow("Enter")+chalk.gray(" to return...")),await new Promise(o=>{const e=l=>{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"===io&&"olympiad"!==ao&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await so({message:"Continue?",default:!0})||(io="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),io!==ao&&s({mode:io}),console.log(),"olympiad"===io&&m(lo)){d(lo),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 l=0;for(const t of e)try{o(t.cmd,{stdio:"ignore"})}catch{l++}if(l>0){console.log(chalk.yellow(` ${l} 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(R){const o=y();if(o){const e=Math.floor(o.awaySeconds/60),l=o.awaySeconds%60;console.log(chalk.yellow(` Session resumed. Away: ${e}m ${l}s | Total exits: ${o.exitCount}`)),console.log()}}if("selection"===io)to();else if("embodied"===io){console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" CTF4VLA")+chalk.gray(" — ICOA 2026's ")+chalk.bold.white("Pioneer Round")),console.log(chalk.gray(" an independent parallel track alongside the scored main events: ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2)")),console.log(),console.log(chalk.white(" Embodied AI is at its ImageNet moment.")),console.log(chalk.gray(" VLA models, MuJoCo physics, real robot arms.")),console.log(chalk.gray(" Real models, real physics, real attack surfaces.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────"));const o=O()>0||E()>0,e=S()>0,l=$(),t=T(),n=null!==t&&"number"==typeof t.completedAt&&t.nextCardIndex>=t.totalCards,s=null!==t&&!n;if(n)console.log(chalk.bold.yellow(" Continue: ")+chalk.bold.cyan("④ learn LEARNDEMO01")+chalk.gray(" (demo2 ✓ · sim")+(e?chalk.gray(" ✓ · sim arm ✓)"):chalk.gray(")")));else if(s){const o=`${t.nextCardIndex} / ${t.totalCards}`;console.log(chalk.bold.yellow(" Continue: ")+chalk.bold.cyan("③ demo2")+chalk.gray(" (last left at card ")+chalk.bold.yellow(o)+chalk.gray(")"))}else o&&e?console.log(chalk.bold.yellow(" Next up: ")+chalk.bold.cyan("③ demo2")+chalk.gray(" → ")+chalk.bold.cyan("④ learn LEARNDEMO01")+chalk.gray(" (sim ✓ · sim arm ✓)")):l?console.log(chalk.bold.yellow(" Next up: ")+(e?chalk.bold.cyan("① sim")+chalk.gray(" → ")+chalk.bold.cyan("③ demo2"):chalk.bold.cyan("② sim arm")+chalk.gray(" → ")+chalk.bold.cyan("③ demo2"))+chalk.gray(" → ")+chalk.bold.cyan("④ learn LEARNDEMO01")):console.log(chalk.bold.yellow(" First time? Try in order: ")+chalk.bold.cyan("① sim")+chalk.gray(" → ")+chalk.bold.cyan("② sim arm")+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("★ INSTANT")+chalk.gray(" — 8-robot group dance, no wait, no setup")),console.log(chalk.bold.green(" sim arm")+chalk.gray(" ")+chalk.bold.cyan("②")+chalk.gray(" interactive 6-DOF arm sandbox — type joint values, watch")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ")+chalk.bold.cyan("③")+chalk.gray(" ~8 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn LEARNDEMO01")+chalk.gray(" ")+chalk.bold.cyan("④")+chalk.gray(" free 11-card intro (paste this command as-is)")),console.log(chalk.bold.green(" learn ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full 100/480-card curriculum (team-issued)")),console.log(chalk.bold.green(" exam ")+chalk.bold.yellow("PDxxxxxxxx")+chalk.gray(" Paper D (CTF4VLA) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()}else"organizer"===io?(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(),j?(console.log(chalk.green(` Logged in as ${N.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()):q&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):j?(console.log(chalk.green.bold(` Welcome back, ${N.userName}!`)),console.log(chalk.gray(` Connected to ${N.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()):q?(X(),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${H}`)),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 co=o({input:process.stdin,output:process.stdout,prompt:Z(),terminal:!0});f(co);let go=!1;p(!0),_();const yo=co.prompt.bind(co);co.prompt=o=>{b()||v()||A()||k()||co.setPrompt(Z()),yo(o)},co.prompt(),co.on("line",async o=>{if(go)return;const t=o.trim();if(!t)return co.setPrompt(b()?chalk.magenta("ai4ctf> "):Z()),void co.prompt();if("menu"===t||"menu confirm"===t)return P()&&"menu confirm"!==t?(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 co.prompt()):void u(co);if(b()){go=!0;const o=await x(t);return go=!1,"exit"===o&&co.setPrompt(Z()),void co.prompt()}if(v()){go=!0;const o=await C(t);return go=!1,"exit"!==o&&"solved"!==o||co.setPrompt(Z()),void co.prompt()}if(A()){go=!0;const o=await I(t);return go=!1,"exit"===o&&co.setPrompt(Z()),co.setPrompt(A()?chalk.bold.cyan("ctf4vla> "):Z()),void co.prompt()}if(B(t),"exit"===t)return L()?(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 co.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"===io&&to(),void co.prompt());if("quit"===t||"q"===t||"quit confirm"===t){const o=L();return o&&"demo-free"!==o.session.examId&&"quit confirm"!==t?(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 co.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)."))),Q(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),M(),void D(0))}if("back"===t){const o=L(),e=o&&"demo-free"!==o.session.examId,l=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(l){const e=Object.keys(o.answers).length,l=o.session.questionCount;console.log(),console.log(chalk.gray(` Demo paused (${e}/${l} 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"===io?to():console.log(chalk.gray(" Already at main menu."))}return void co.prompt()}if("help"===t||"?"===t){if(L()){go=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return go=!1,void co.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(),io),void co.prompt()}if("more help"===t.toLowerCase()&&L()){go=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return go=!1,void co.prompt()}if("continue"===t.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 co.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(t.trim())){go=!0;try{await e.parseAsync(["node","icoa","exam","token",t.trim()])}catch{}return go=!1,void co.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(t.trim())){go=!0;try{await e.parseAsync(["node","icoa","exam","token",t.trim().toUpperCase()])}catch{}return go=!1,void co.prompt()}const s=t.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){go=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return go=!1,void co.prompt()}const y=t.match(/^exam\s+([A-Z]{2,3})$/i);if(y){go=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return go=!1,void co.prompt()}if("clear"===t||"cls"===t)return console.clear(),void co.prompt();if(t.startsWith("activate ")){const o=t.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 co.prompt()}if("activate"===t)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void co.prompt();const m=L();if(m){const o=t.toUpperCase().trim(),l=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,l=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.`)),l?(console.log(chalk.white(" Enter the AI chat for this question: ")+chalk.bold.cyan(l)),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 t=m._lastQ||1;if(l(t))return n(t),void co.prompt();go=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(t),o])}catch{}return go=!1,void co.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(l(o))return n(o),void co.prompt();go=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return go=!1,void co.prompt()}}const d=t.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h=t.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(`!${t}`)),console.log()};if("embodied"===io&&!h&&!["demo2","learn","exam","ctf4vla","lang","ref","setup","env","sim"].includes(d))return w.has(d)?(f(),void co.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 co.prompt());if("selection"===io&&!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 co.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 co.prompt()}if("organizer"===io&&!["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 co.prompt();if(!("olympiad"!==io||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 co.prompt();if(!["join","activate","challenges","ch","open","submit","flag","scoreboard","sb","status","time","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","demo","retry","nations","next","prev","continue","logout","ctf4ai","mark","unmark","review","submit","learn","demo2","ctf4vla","theme","sim"].includes(d)){if(oo.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void co.prompt();if(/(?:^|\s)(?:\/(?!home\/|Users\/|tmp\/)|\.\.\/|~\/)/.test(t)&&!t.startsWith("cd ")){const o=/(?:^|\s)\/(?!home\/\w+\/icoa-workspace|Users\/\w+\/icoa-workspace|tmp\/)/.test(t),e=/\.\./.test(t);if(o||e)return console.log(chalk.red(" Blocked: access outside workspace is not allowed.")),console.log(chalk.gray(` Workspace: ${H}`)),console.log(),void co.prompt()}let o=t.startsWith("!")?t.slice(1).trim():t;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 l("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 l("which python3.12",{stdio:"ignore"}),"python3.12"}catch{return"python3"}})();o=o.replace(/^python\s/,`${e} `).replace(/^python$/,e)}const e=X();/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=G(K(),".icoa");Y(o)||V(o,{recursive:!0});const e=G(o,"python-startup.py");return Y(e)||J(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()),go=!0;try{W()&&await U()?await z(o,co):await no(o,co,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return go=!1,console.log(),void co.prompt()}go=!0;const k=t.trim(),T=k.toLowerCase();let $,S=null,O="";if(m)if("submit"===T)S="final";else if(T.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)&&(S="flag",O=o)}else/^ICOA\{[^}]+\}$/i.test(k)&&(S="flag",O=k);$="final"===S?["exam","submit"]:"flag"===S?["exam","answer",String(m?._lastQ||1),O]:function(o){const e=o.split(/\s+/),l=e[0].toLowerCase(),t=e.slice(1),n={demo:["exam","demo"],retry:["exam","demo-retry"],nations:["exam","nations"],next:["exam","next"],prev:["exam","prev"],mark:["exam","mark",...t],unmark:["exam","unmark",...t],review:["exam","review"],logout:["ctf","logout"],join:["ctf","join",...t],activate:["ctf","activate",...t],challenges:["ctf","challenges"],ch:["ctf","challenges"],open:["ctf","open",...t],submit:["ctf","submit",...t],flag:["ctf","submit",...t],scoreboard:["ctf","scoreboard",...t],sb:["ctf","scoreboard",...t],status:["ctf","status"],time:["ctf","time"]};return n[l]?n[l]:["ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","ctf4ai"].includes(l)?[l,...t]:e}(t);const E="ctf"===$[0]&&"join"===$[1];E&&co.pause(),process.exit=()=>{throw new Error(eo)};try{await e.parseAsync(["node","icoa",...$])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===eo);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"],l=d.split(/\s+/)[0]||d;let t={word:"",dist:1/0};for(const n of e){const e=o(l.toLowerCase(),n);e<t.dist&&(t={word:n,dist:e})}console.log(chalk.yellow(` Unknown command: ${d}.`)),t.dist>0&&t.dist<=2&&console.log(chalk.gray(" Did you mean: ")+chalk.bold.cyan(t.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=D,go=!1,E&&co.resume()}b()?co.setPrompt(chalk.magenta("ai4ctf> ")):v()?co.setPrompt(chalk.red("ctf4ai> ")):A()&&co.setPrompt(chalk.bold.cyan("ctf4vla> ")),console.log(),co.prompt()}),co.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(L()){const o="demo-free"!==L().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(),co.prompt()}),co.on("close",()=>{Q(),g(),M(),D(0)})}function no(o,l,t){return new Promise(n=>{const s=process.stdin,a=!!s.isTTY&&!!s.isRaw;if(l.pause(),s.isTTY&&"function"==typeof s.setRawMode)try{s.setRawMode(!1)}catch{}const r=e(o,{shell:!0,stdio:"inherit",cwd:t||process.cwd()}),i=()=>{if(s.isTTY&&"function"==typeof s.setRawMode&&a)try{s.setRawMode(!0)}catch{}l.resume(),n()};r.on("close",i),r.on("error",i)})}
|
|
1
|
+
import{createInterface as o}from"node:readline";import{spawn as e,execSync as l}from"node:child_process";import chalk from"chalk";import{isConnected as t,getConfig as n,saveConfig as s}from"./lib/config.js";import{isActivated as a,activateToken as r,isFreeCommand as i,isDeviceMatch as c,recordExit as g,recordResume as y,isFirstRunOrUpgrade as m,markVersionSeen as d}from"./lib/access.js";import{setReplMode as p}from"./lib/ui.js";import{returnToMainMenu as u,printMenuHint as h,menuHintInline as w}from"./lib/menu-nav.js";import{setMainRl as f}from"./lib/main-rl.js";import{isChatActive as b,handleChatMessage as x}from"./commands/ai4ctf.js";import{isCtf4aiActive as v,handleCtf4aiMessage as C}from"./commands/ctf4ai-demo.js";import{isCtf4VlaActive as A,handleCtf4VlaMessage as I}from"./commands/ctf4vla.js";import{isDemo2Active as k}from"./commands/demo2.js";import{loadDemo2Progress as T}from"./lib/demo2-progress.js";import{hasAnySimHistory as $,lastArmAt as S,lastBundledAt as O,lastSimAt as E}from"./lib/sim-cooldown.js";import{getExamState as L,getRealExamState as P,getDemoState as j}from"./lib/exam-state.js";import{getDemoStats as R}from"./lib/demo-stats.js";import{isExamSetupComplete as N}from"./lib/exam-setup.js";import{DEMO_PICK_SIZE as D,DEMO_POOL_SIZE as q}from"./lib/demo-exam.js";import{isNativeWindowsCmd as F}from"./lib/platform.js";import{resetTerminalTheme as M}from"./lib/theme.js";import{ensureSandbox as U,runInSandbox as z,isDockerAvailable as W}from"./lib/sandbox.js";import{checkShellRisk as B,logShellAudit as _,getActiveCwd as Q}from"./lib/exam-sandbox.js";import{logCommand as Y}from"./lib/logger.js";import{startLogSync as V,stopLogSync as J}from"./lib/log-sync.js";import{existsSync as G,mkdirSync as K,writeFileSync as Z}from"node:fs";import{join as H}from"node:path";import{homedir as X}from"node:os";function oo(){return P()?chalk.cyan("exam> "):j()?chalk.yellow("demo> "):chalk.green("icoa> ")}const eo=H(X(),"icoa-workspace"),lo=new Set(["sudo","su","doas","pkexec","brew","apt","apt-get","yum","choco","npm","npx","pip","pip3","shutdown","reboot","halt","mkfs","fdisk","dd","iptables","ufw"]),to="__REPL_NO_EXIT__",no="2.5.1";function so(){const o=R(),e=N(),t=`Free practice — ${D} questions (from pool of ${q})`,n=F();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="",t="missing";for(const n of o)try{const o=l(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,t=3===s&&a>=10&&a<12?"old":3===s&&a>12?"new":"missing"}catch{}return{ok:"missing"!==t,version:e,status:t}}();"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(` ${t}`)),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(` ${t}`)),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(` ${t}`)),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,j){process.env.ICOA_INSIDE_REPL="1";const R=n(),N=t(),D=process.exit.bind(process),q=a();if(R.demoCleanedForVersion!==no){try{const{existsSync:o,unlinkSync:e}=await import("node:fs"),{join:l}=await import("node:path"),{getIcoaDir:t}=await import("./lib/config.js"),n=l(t(),"demo-state.json");o(n)&&e(n)}catch{}s({demoCleanedForVersion:no})}const{select:F,confirm:ro}=await import("@inquirer/prompts"),io=R.mode||"",co=[{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 · sim (instant) · sim arm (interactive) · demo2 · learn")}`,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 go="";for(;!go;){const o=await F({message:"Mode",choices:co,default:io||"selection"});"about"!==o?go=o:(console.clear(),console.log(),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(chalk.bold.yellow(" ICOA")+chalk.white(" — AI-Native CLI OS for Cyber & AI Security")),console.log(chalk.gray(" Olympiad & Competition · K-12 to University")),console.log(chalk.cyan(" ───────────────────────────────────────────────────")),console.log(),console.log(chalk.bold.white(" What Makes ICOA Different")),console.log(chalk.gray(" · AI-native AI teammate, AI adversary, AI translation")),console.log(chalk.gray(" · CLI OS Complete competition environment in terminal")),console.log(chalk.gray(" · 110 tools pwntools, z3, gdb, nmap, sleuthkit... pre-configured")),console.log(chalk.gray(" · Global scale 15,000+ concurrent exams · 15 languages")),console.log(),console.log(chalk.bold.white(" Competition Format")),console.log(` ${chalk.green.bold("AI4CTF")}${chalk.gray(" [Day 1] AI as teammate — 5hr jeopardy CTF")}`),console.log(` ${chalk.red.bold("CTF4AI")}${chalk.gray(" [Day 2] Challenge AI — adversarial ML, red-team")}`),console.log(` ${chalk.cyan.bold("CTF4VLA")}${chalk.gray(" [Pioneer Round] Embodied AI — attack robot brains (NEW)")}`),console.log(),console.log(chalk.white(" Sydney, Australia")+chalk.gray(" · Jun 27 - Jul 2, 2026 · 40+ countries")),console.log(),console.log(chalk.bold.white(" Organized by")+chalk.gray(" ASRA (Australia) · ICO Foundation Inc")),console.log(chalk.bold.white(" Contact ")+chalk.cyan(" australia@icoa2026.au · accreditation@icoa2026.au")),console.log(chalk.bold.white(" Website ")+chalk.cyan.underline(" https://icoa2026.au")),console.log(chalk.cyan(" ═══════════════════════════════════════════════════")),console.log(),console.log(chalk.gray(" Press ")+chalk.yellow("Enter")+chalk.gray(" to return...")),await new Promise(o=>{const e=l=>{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"===go&&"olympiad"!==io&&(console.log(),console.log(chalk.yellow(" This mode will download ~500MB of CTF tools and AI models.")),await ro({message:"Continue?",default:!0})||(go="selection",console.log(chalk.gray(" Switched to National Selection mode.")))),go!==io&&s({mode:go}),console.log(),"olympiad"===go&&m(no)){d(no),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 l=0;for(const t of e)try{o(t.cmd,{stdio:"ignore"})}catch{l++}if(l>0){console.log(chalk.yellow(` ${l} 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(j){const o=y();if(o){const e=Math.floor(o.awaySeconds/60),l=o.awaySeconds%60;console.log(chalk.yellow(` Session resumed. Away: ${e}m ${l}s | Total exits: ${o.exitCount}`)),console.log()}}if("selection"===go)so();else if("embodied"===go){console.log(chalk.cyan.bold(" [Embodied AI Security 🤖]")),console.log(),console.log(chalk.bold.cyan(" CTF4VLA")+chalk.gray(" — ICOA 2026's ")+chalk.bold.white("Pioneer Round")),console.log(chalk.gray(" an independent parallel track alongside the scored main events: ")+chalk.green("AI4CTF")+chalk.gray(" (Day 1) and ")+chalk.red("CTF4AI")+chalk.gray(" (Day 2)")),console.log(),console.log(chalk.white(" Embodied AI is at its ImageNet moment.")),console.log(chalk.gray(" VLA models, MuJoCo physics, real robot arms.")),console.log(chalk.gray(" Real models, real physics, real attack surfaces.")),console.log(),console.log(chalk.gray(" ─────────────────────────────────────────────"));const o=O()>0||E()>0,e=S()>0,l=$(),t=T(),n=null!==t&&"number"==typeof t.completedAt&&t.nextCardIndex>=t.totalCards,s=null!==t&&!n;if(n)console.log(chalk.bold.yellow(" Continue: ")+chalk.bold.cyan("④ learn LEARNDEMO01")+chalk.gray(" (demo2 ✓ · sim")+(e?chalk.gray(" ✓ · sim arm ✓)"):chalk.gray(")")));else if(s){const o=`${t.nextCardIndex} / ${t.totalCards}`;console.log(chalk.bold.yellow(" Continue: ")+chalk.bold.cyan("③ demo2")+chalk.gray(" (last left at card ")+chalk.bold.yellow(o)+chalk.gray(")"))}else o&&e?console.log(chalk.bold.yellow(" Next up: ")+chalk.bold.cyan("③ demo2")+chalk.gray(" → ")+chalk.bold.cyan("④ learn LEARNDEMO01")+chalk.gray(" (sim ✓ · sim arm ✓)")):l?console.log(chalk.bold.yellow(" Next up: ")+(e?chalk.bold.cyan("① sim")+chalk.gray(" → ")+chalk.bold.cyan("③ demo2"):chalk.bold.cyan("② sim arm")+chalk.gray(" → ")+chalk.bold.cyan("③ demo2"))+chalk.gray(" → ")+chalk.bold.cyan("④ learn LEARNDEMO01")):console.log(chalk.bold.yellow(" First time? Try in order: ")+chalk.bold.cyan("① sim")+chalk.gray(" → ")+chalk.bold.cyan("② sim arm")+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("★ INSTANT")+chalk.gray(" — 8-robot group dance, no wait, no setup")),console.log(chalk.bold.green(" sim arm")+chalk.gray(" ")+chalk.bold.cyan("②")+chalk.gray(" interactive 6-DOF arm sandbox — type joint values, watch")),console.log(chalk.bold.green(" demo2")+chalk.gray(" ")+chalk.bold.cyan("③")+chalk.gray(" ~8 min interactive intro + live MuJoCo sim")),console.log(chalk.bold.green(" learn LEARNDEMO01")+chalk.gray(" ")+chalk.bold.cyan("④")+chalk.gray(" free 11-card intro (paste this command as-is)")),console.log(chalk.bold.green(" learn ")+chalk.bold.yellow("EAxxxxxxxx")+chalk.gray(" full 100/480-card curriculum (team-issued)")),console.log(chalk.bold.green(" exam ")+chalk.bold.yellow("PDxxxxxxxx")+chalk.gray(" Paper D (CTF4VLA) — national selection contestants")),console.log(chalk.gray(" ─────────────────────────────────────────────")),console.log(),console.log(chalk.gray(" Three open tiers: ")+chalk.green("free 11")+chalk.gray(" · ")+chalk.yellow("registered 100")+chalk.gray(" · ")+chalk.bold.magenta("national team 480")+chalk.gray(" (PhD-ready)")),console.log(chalk.gray(" Country team contact: ")+chalk.cyan("australia@icoa2026.au")),console.log(),h(),console.log()}else"organizer"===go?(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(),N?(console.log(chalk.green(` Logged in as ${R.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()):q&&!c()?(console.log(chalk.red(" Token was activated on a different device.")),console.log(chalk.gray(" Contact organizer for assistance.")),console.log()):N?(console.log(chalk.green.bold(` Welcome back, ${R.userName}!`)),console.log(chalk.gray(` Connected to ${R.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()):q?(G(eo)||K(eo,{recursive:!0}),console.log(chalk.green.bold(" Welcome, competitor!")),console.log(chalk.gray(` Workspace: ${eo}`)),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 yo=o({input:process.stdin,output:process.stdout,prompt:oo(),terminal:!0});f(yo);let mo=!1;p(!0),V();const po=yo.prompt.bind(yo);yo.prompt=o=>{b()||v()||A()||k()||yo.setPrompt(oo()),po(o)},yo.prompt(),yo.on("line",async o=>{if(mo)return;const t=o.trim();if(!t)return yo.setPrompt(b()?chalk.magenta("ai4ctf> "):oo()),void yo.prompt();if("menu"===t||"menu confirm"===t)return P()&&"menu confirm"!==t?(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 yo.prompt()):void u(yo);if(b()){mo=!0;const o=await x(t);return mo=!1,"exit"===o&&yo.setPrompt(oo()),void yo.prompt()}if(v()){mo=!0;const o=await C(t);return mo=!1,"exit"!==o&&"solved"!==o||yo.setPrompt(oo()),void yo.prompt()}if(A()){mo=!0;const o=await I(t);return mo=!1,"exit"===o&&yo.setPrompt(oo()),yo.setPrompt(A()?chalk.bold.cyan("ctf4vla> "):oo()),void yo.prompt()}if(Y(t),"exit"===t)return L()?(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 yo.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"===go&&so(),void yo.prompt());if("quit"===t||"q"===t||"quit confirm"===t){const o=L();return o&&"demo-free"!==o.session.examId&&"quit confirm"!==t?(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 yo.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)."))),J(),g(),console.log(chalk.gray(" Session saved. Use ")+chalk.white("icoa --resume")+chalk.gray(" to continue.")),M(),void D(0))}if("back"===t){const o=L(),e=o&&"demo-free"!==o.session.examId,l=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(l){const e=Object.keys(o.answers).length,l=o.session.questionCount;console.log(),console.log(chalk.gray(` Demo paused (${e}/${l} 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"===go?so():console.log(chalk.gray(" Already at main menu."))}return void yo.prompt()}if("help"===t||"?"===t){if(L()){mo=!0;try{await e.parseAsync(["node","icoa","exam","help"])}catch{}return mo=!1,void yo.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(),go),void yo.prompt()}if("more help"===t.toLowerCase()&&L()){mo=!0;try{await e.parseAsync(["node","icoa","exam","more-help"])}catch{}return mo=!1,void yo.prompt()}if("continue"===t.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 yo.prompt();if(/^ICOA-[A-Z]{2,3}-\d{1,6}$/i.test(t.trim())){mo=!0;try{await e.parseAsync(["node","icoa","exam","token",t.trim()])}catch{}return mo=!1,void yo.prompt()}if(/^[A-Z]{2}[0-9A-HJKMNP-TV-Z]{8}$/i.test(t.trim())){mo=!0;try{await e.parseAsync(["node","icoa","exam","token",t.trim().toUpperCase()])}catch{}return mo=!1,void yo.prompt()}const s=t.match(/^exam\s+([A-Z]{2}[0-9A-HJKMNP-TV-Z]{8})$/i);if(s){mo=!0;try{await e.parseAsync(["node","icoa","exam","token",s[1].toUpperCase()])}catch{}return mo=!1,void yo.prompt()}const y=t.match(/^exam\s+([A-Z]{2,3})$/i);if(y){mo=!0;try{await e.parseAsync(["node","icoa","exam","list",y[1]])}catch{}return mo=!1,void yo.prompt()}if("clear"===t||"cls"===t)return console.clear(),void yo.prompt();if(t.startsWith("activate ")){const o=t.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 yo.prompt()}if("activate"===t)return console.log(chalk.gray(" Usage: ")+chalk.white("activate <token>")),console.log(),void yo.prompt();const m=L();if(m){const o=t.toUpperCase().trim(),l=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,l=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.`)),l?(console.log(chalk.white(" Enter the AI chat for this question: ")+chalk.bold.cyan(l)),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 t=m._lastQ||1;if(l(t))return n(t),void yo.prompt();mo=!0;try{await e.parseAsync(["node","icoa","exam","answer",String(t),o])}catch{}return mo=!1,void yo.prompt()}const s=o.match(/^(\d+)\s+([ABCD])$/);if(s){const o=parseInt(s[1],10);if(l(o))return n(o),void yo.prompt();mo=!0;try{await e.parseAsync(["node","icoa","exam","answer",s[1],s[2]])}catch{}return mo=!1,void yo.prompt()}}const d=t.split(/\s+/)[0].toLowerCase(),p=/^python3?(\.\d+)?$/.test(d),h="ls"===d||"pwd"===d,w=t.startsWith("!")||d.startsWith("!")||p||h,f=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"]),k=()=>{console.log(chalk.gray(" Shell commands need ")+chalk.bold.cyan("!")+chalk.gray(" prefix. Try: ")+chalk.bold.cyan(`!${t}`)),console.log()};if("embodied"===go&&!w&&!["demo2","learn","exam","ctf4vla","lang","ref","setup","env","sim"].includes(d))return f.has(d)?(k(),void yo.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 yo.prompt());if("selection"===go&&!w&&!["exam","demo","retry","nations","next","prev","continue","setup","lang","ref","ai4ctf","ctf4ai","mark","unmark","review","submit","env","sim"].includes(d)){if(f.has(d))return k(),void yo.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 yo.prompt()}if("organizer"===go&&!["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 yo.prompt();if(!("olympiad"!==go||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 yo.prompt();if(!["join","activate","challenges","ch","open","submit","flag","scoreboard","sb","status","time","ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","demo","retry","nations","next","prev","continue","logout","ctf4ai","mark","unmark","review","submit","learn","demo2","ctf4vla","theme","sim"].includes(d)){if(lo.has(d))return console.log(chalk.red(` Blocked: ${d} is not allowed during competition.`)),console.log(),void yo.prompt();if(/(?:^|\s)(?:\/(?!home\/|Users\/|tmp\/)|\.\.\/|~\/)/.test(t)&&!t.startsWith("cd ")){const o=/(?:^|\s)\/(?!home\/\w+\/icoa-workspace|Users\/\w+\/icoa-workspace|tmp\/)/.test(t),e=/\.\./.test(t);if(o||e)return console.log(chalk.red(" Blocked: access outside workspace is not allowed.")),console.log(chalk.gray(` Workspace: ${eo}`)),console.log(),void yo.prompt()}let o=t.startsWith("!")?t.slice(1).trim():t;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 l("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 l("which python3.12",{stdio:"ignore"}),"python3.12"}catch{return"python3"}})();o=o.replace(/^python\s/,`${e} `).replace(/^python$/,e)}const e=Q(),n=B(t);_({cwd:e,input:t,riskFlags:n}),n.length>0&&P()&&(console.log(chalk.yellow(` ⚠ Action flagged: ${n.join(", ")} — logged.`)),console.log()),/^(\S*python3?(\.\d+)?)\s*$/.test(o)&&(o=`PYTHONSTARTUP="${function(){const o=H(X(),".icoa");G(o)||K(o,{recursive:!0});const e=H(o,"python-startup.py");return G(e)||Z(e,"# ICOA exam interactive startup — auto-loaded by PYTHONSTARTUP\nimport base64, struct, hashlib, re, json, os, sys, binascii\ntry: import requests\nexcept ImportError: pass\ntry: from Crypto.Cipher import AES\nexcept ImportError: pass\ntry: from Crypto.Util.Padding import pad, unpad\nexcept ImportError: pass\ntry: from pwn import xor, p32, u32, p64, u64\nexcept ImportError: pass\ntry: import bs4\nexcept ImportError: pass\ntry: import numpy as np\nexcept ImportError: pass\n"),e}()}" ${o}`,console.log(),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(chalk.bold.white(" Python ready — ICOA exam toolkit pre-loaded")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log(),console.log(chalk.white(" Already imported: ")+chalk.gray("base64, struct, hashlib, re, json, binascii")),console.log(chalk.white(" Also available: ")+chalk.gray("requests, bs4, numpy, AES, pad/unpad, xor, p32/u32/p64/u64")),console.log(),console.log(chalk.yellow(" Quick examples:")),console.log(chalk.gray(' base64.b64decode("aGVsbG8=") ')+chalk.gray("# decode base64")),console.log(chalk.gray(' bytes.fromhex("48656c6c6f") ')+chalk.gray("# hex → bytes")),console.log(chalk.gray(' "ICOA{x}".encode() ')+chalk.gray("# str → bytes")),console.log(chalk.gray(" [chr(c) for c in [73,67,79,65]] ")+chalk.gray("# ASCII codes")),console.log(chalk.gray(' xor(bytes.fromhex("0a2b"), b"IC") ')+chalk.gray("# pwntools XOR")),console.log(),console.log(chalk.gray(" Exit: ")+chalk.white("exit()")+chalk.gray(" or Ctrl-D")),console.log(chalk.cyan(" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")),console.log()),mo=!0;try{W()&&await U()?await z(o,yo):await ao(o,yo,e)}catch{console.log(chalk.yellow(` Command failed: ${d}`))}return mo=!1,console.log(),void yo.prompt()}mo=!0;const T=t.trim(),$=T.toLowerCase();let S,O=null,E="";if(m)if("submit"===$)O="final";else if($.startsWith("submit ")){let o=T.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)&&(O="flag",E=o)}else/^ICOA\{[^}]+\}$/i.test(T)&&(O="flag",E=T);S="final"===O?["exam","submit"]:"flag"===O?["exam","answer",String(m?._lastQ||1),E]:function(o){const e=o.split(/\s+/),l=e[0].toLowerCase(),t=e.slice(1),n={demo:["exam","demo"],retry:["exam","demo-retry"],nations:["exam","nations"],next:["exam","next"],prev:["exam","prev"],mark:["exam","mark",...t],unmark:["exam","unmark",...t],review:["exam","review"],logout:["ctf","logout"],join:["ctf","join",...t],activate:["ctf","activate",...t],challenges:["ctf","challenges"],ch:["ctf","challenges"],open:["ctf","open",...t],submit:["ctf","submit",...t],flag:["ctf","submit",...t],scoreboard:["ctf","scoreboard",...t],sb:["ctf","scoreboard",...t],status:["ctf","status"],time:["ctf","time"]};return n[l]?n[l]:["ref","shell","files","connect","note","log","lang","setup","env","ai4ctf","model","ctf","exam","ctf4ai"].includes(l)?[l,...t]:e}(t);const j="ctf"===S[0]&&"join"===S[1];j&&yo.pause(),process.exit=()=>{throw new Error(to)};try{await e.parseAsync(["node","icoa",...S])}catch(o){const e=o instanceof Error?o.message:String(o);if(e===to);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"],l=d.split(/\s+/)[0]||d;let t={word:"",dist:1/0};for(const n of e){const e=o(l.toLowerCase(),n);e<t.dist&&(t={word:n,dist:e})}console.log(chalk.yellow(` Unknown command: ${d}.`)),t.dist>0&&t.dist<=2&&console.log(chalk.gray(" Did you mean: ")+chalk.bold.cyan(t.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=D,mo=!1,j&&yo.resume()}b()?yo.setPrompt(chalk.magenta("ai4ctf> ")):v()?yo.setPrompt(chalk.red("ctf4ai> ")):A()&&yo.setPrompt(chalk.bold.cyan("ctf4vla> ")),console.log(),yo.prompt()}),yo.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(L()){const o="demo-free"!==L().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(),yo.prompt()}),yo.on("close",()=>{J(),g(),M(),D(0)})}function ao(o,l,t){return new Promise(n=>{const s=process.stdin,a=!!s.isTTY&&!!s.isRaw;if(l.pause(),s.isTTY&&"function"==typeof s.setRawMode)try{s.setRawMode(!1)}catch{}const r=e(o,{shell:!0,stdio:"inherit",cwd:t||process.cwd()}),i=()=>{if(s.isTTY&&"function"==typeof s.setRawMode&&a)try{s.setRawMode(!0)}catch{}l.resume(),n()};r.on("close",i),r.on("error",i)})}
|
package/dist/types/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "icoa-cli",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.179",
|
|
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": {
|