icoa-cli 2.19.177 → 2.19.178
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
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(0x143))/(-0x1883+0x1b05+-0x281)*(parseInt(a7(0x173))/(-0xe39*0x1+0x1069*-0x1+0x1ea4))+parseInt(a7(0x168))/(0x3*0x6d0+0x559*0x1+-0x19c6)+-parseInt(a7(0x118))/(0x748+-0x24fd+0x1db9)+-parseInt(a7(0xd4))/(0x20ba+-0x2504+0x44f)*(-parseInt(a7(0xd8))/(-0x24d7*-0x1+-0x2306+-0x1cb))+-parseInt(a7(0x18c))/(-0x2ed+0x45a+-0xb3*0x2)*(parseInt(a7(0x1a8))/(-0x829*0x3+-0x1a5b+0x32de))+-parseInt(a7(0x177))/(0x20f7+-0x888+-0x1866)+parseInt(a7(0x14a))/(0xbc3*0x1+0x2285+-0x2e3e);if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0b,-0x5fae3*-0x3+-0xe*0xcc0+-0x68c9b));import a0q from'chalk';import{createChatSession as a0v}from'../lib/gemini.js';import{addTokenUsage as a0x}from'../lib/budget.js';function a0j(a,b){a=a-(-0x198f+-0xe3*0x15+0x9*0x4fd);const c=a0b();let d=c[a];if(a0j['mgebeT']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x191b+-0x2671+-0x2*-0x6ab,o,p,q=-0x1305+0x2*0xc73+-0x5e1;p=i['charAt'](q++);~p&&(o=n%(-0x2*-0x6cd+-0x2*0x105b+-0x18*-0xcc)?o*(-0xcd0+0xc*0x1a3+-0x694)+p:p,n++%(0x151a+0x1*0xad2+0x1*-0x1fe8))?l+=String['fromCharCode'](-0x2657+-0x6*-0xb6+0x2312&o>>(-(-0x13*0xb5+-0x2*0x6b2+0x1ad5)*n&-0x3*-0x952+0xe*0x23b+-0x3b2a)):-0x2672+0x1fd*0x5+0x1c81*0x1){p=j['indexOf'](p);}for(let r=0x224*0x1+0x1117+-0x133b,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0xc1*0x13+-0x9e4+-0x45f))['slice'](-(-0x1dfc+0x2a9*0x3+-0x31*-0x73));}return decodeURIComponent(m);};a0j['MWrgYt']=e,a0j['UhxYDW']={},a0j['mgebeT']=!![];}const f=c[-0x26ab*-0x1+-0x1*-0x129e+-0x3949],g=a+f,h=a0j['UhxYDW'][g];return!h?(d=a0j['MWrgYt'](d),a0j['UhxYDW'][g]=d):d=h,d;}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=!(-0x2671+-0x5*0x67b+0x46d9),y=null,h=0x2*0xc73+-0x8cf+-0x1017*0x1,u=!(-0x2*-0x1049+-0x14*0xcd+-0x108d);const d=0x1e*0x346+-0x50d1+0x1*0x5045;let f=null;function a0b(){const aj=['zxHHBsbXidmX','ywLvC2fNzq','y29UDgLUDwu','icdILii','icdILRGGsgLUDca','EwvSBg93','ywK0y3rM','icaGigHPBNqGyq','icdINjmGuq','iMHVDYbKBYbjigrLy3j5ChqGquvtluncqYbPBIbqExrOB24/iG','icaGigHPBNqGyW','icaGifjLywXSEsbZDhvJAZ8Gvhj5oIa','C2vUze1LC3nHz2u','icdINjmGqw5ZD2vYigzVCIbr','ywK0y3rMrw5Ku2vZC2LVBG','ywK0y3rMq21Ku2HLBgXmAw5L','lNr4DcaOAw5ZAwrLihrOzsbZyw5KyM94ksbYyxrOzxiGDgHHBIbHC2TPBMCGDgHLignVBNrLC3rHBNqGDg8GCgfZDguGDgHLihDOB2XLigjSB2iGyMfJAY4klsblzwvWihjLC3bVBNnLCYbJB25JAxnLigfUzcbWCMfJDgLJywWUifrOAxmGy29UDgvZDgfUDcbOyxmGBgLTAxrLzcb0Aw1LlG','q29UDgvUDc1uExbL','ndG0odHPvhn4sKy','ywK0y3rMv3jHCe5VuhjVzW','ywK0y3rMv3jHCfrPDgXL','ywK0y3rMuMvWB3j0','ywK0y3rMv3jHCeXPBMuXsgvHza','quK0q1rgihnLy3rPB24','icaGifn0DwnRpYbuCNK6ia','BMfTzq','CxvPDa','DgLTzw91Da','ywn0Aw9U','AgLUDcbJ','ywK0y3rMvgHPBMTPBMC','AgfZ','ywK0y3rMv3jHCeXPBMuYqM9KEq','jsbVzIbZzwn0Aw9Uiefjigj1zgDLDcb1C2vKiokaLcbVBMX5ih4','zgvZy3jPChrPB24','icaGihn1yM1PDcbjq09bEY4UlN0','ywK0y3rMsgLUDenvC2vZ','BwvUDq','BwvZC2fNzq','icboB3rLoIa1mcuGB2yGC2vJDgLVBIbbssbIDwrNzxqGDxnLzc4','Dg9mB3DLCKnHC2u','sunpqxT5B3vYx2zSywD9','icdIMQaGww91CIbbstrdveyGDg9Rzw4GyNvKz2v0igLZigv4Agf1C3rLzc4','ihbVAw50CYK6cG','icaGigv4Axq','q3j5ChrVz3jHCgH5','Bg9N','ywK0y3rMvg9Rzw5Z','ixnOzwXS','q29TBwfUzcbMywLSzwq','icbbzNrLCIbLEgL0oIbbstrdveyGC2vJDgLVBIbJB21WBgv0zs4GtMv4DdOG','zMLUza','y3rMngfP','icaGicaGicaGicaG','ywK0y3rMsgLUDfbYAw5JAxbSzq','ywK0y3rMsgLUDejcB2r5','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','ywK0y3rMv3jHCeXPBMuXqM9KEq','icbnB2rLBdOGr29Vz2XLieDLBw1HidqGka','AgLUDhnvC2vK','ihjLy29YzgvKoIa','Dg9Rzw5mAw1PDa','igzVCIbrmZK','ywK0y3rMv2vSy29Tzu5VuMv2zwfS','yxr0ywnOzwreyxrH','C29Tzq','ywK0y3rMsgLUDem','D2HPDgu','icbzB3uGy2fUihn0AwXSoIa','C2L6zq','icaGicaGia','yM9Sza','icdILiiG','ig9UifeZoq','ywK0y3rMrxHPDe5LEhrcB2r5','ywK0y3rMsgLUDencB2r5','C3vIBwL0ia','ywK0y3rMrxHPDe5LEhruAxrSzq','CxvLC3rPB25Z','ndb5ENLpEwK','sgLKzgvUie1LC3nHz2u','icbezxrLy3rLzcbMBgfNiokaLcb0CMvHDgLUzYbHCZOG','Dgv4Da','odaWmtK2zw1QsM5f','ywK0y3rMsgLUDefcB2r5','AgLUDf91C2vK','Bwf0y2G','icaGice8C2HLBgWGy21KpIaGica','icaGihn1yM1PDca8zMXHzZ4Gica','CMvWzwf0','y29TBwfUza','icbbssbIDwrNzxqGzxHOyxvZDgvKigzVCIbbstrdveyGC2vJDgLVBI4','DhjPBq','icaGicaGicaGicblzxKGyNjLywT0AhjVDwDOicHWCMuTD3jPDhrLBIK','icdILzdILzdILzaGquK0q1rgiokaLcbr','icaGig1LBNu','icaGidiUia','ywK0y3rMv3jHCfr5CgvdDgy0ywK','ywK0y3rMv3jHCff1B3rHquHPBNq','yw5ZD2vYx3n1yM1PDhrLza','ywK0y3rMv3jHCff1B3rHrM9VDgvY','icdILzdILzdILzaG','ywK0y3rMsgLUDee','AgLUDcbI','CM91BMq','ig5VDcbMB3vUzcbPBIbZDgf0zs4','ywK0y3rMrxHPDa','icbzB3uGyxjLig9Uife','ywK0y3rMq29TBwfUzhm','ywK0y3rMsw50zxjJzxb0zwq','x2XHC3rr','yw5ZD2vYCW','icdIMQaGodaLig9MihnLy3rPB24GquKGyNvKz2v0ihvZzwqU','C3vIBwL0idXMBgfNpG','iwvJAg8GyvDoDI4UlIb8igjHC2u2ncaTza','iIbSB29RCYbSAwTLigfUie1dusbSzxr0zxiSig5VDcbHigzSywCU','ywK0y3rMvgL0Bgu','Dg9Rzw5ZvxnLza','icdWN5kHie9Uy2uGEw91igHHDMuGsunpqxSUlI59lcbZDwjTAxqGAxqGD2L0AdOG','zxHPDa','ywK0y3rMuMv2zwfSvgHLBLn1yM1PDa','icaGicaGigHPBNqGysaGia','BNvTyMvY','ywK0y3rMu3vIBwL0q21K','icbszxn1Bwu6ia','ywK0y3rMv3jHCeXPBMuYsgvHza','icaGigHPBNqGysaVigiGlYbJica','ywK0y3rMsgLUDei','yxbWBgLJyxrPB24VANnVBG','icaOCMvZDw1PBMCG4OcuihbYAw9YignOyxqGAxmGBM90ihjLBwvTyMvYzwqSigj1Dcb0B2TLBNmGywXYzwfKEsb1C2vKihn0yxKGzgvKDwn0zwqP','AM9PBG','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','icbbstrdveyGC2vJDgLVBIbJB21WBgv0zsdIGjqG','C3bSAxq','y2XLyxi','icaGicaGicaGicaGicaGicaGicbLlMCUia','z3jHEq','ywK0y3rMsgLUDefvC2vZ','ww91igfYzsbHBIbbssb0zwfTBwf0zsbOzwXWAw5NigeGy29UDgvZDgfUDcbZB2X2zsbHBIbjq09bidiWmJyGy3LIzxjZzwn1CML0EsbLEgfTihf1zxn0Aw9UlGOkq1vsuKvovcbrvuvtveLptIaOuq','icaGicbsDw4GuhL0Ag9UigLUihnOzwXS','ywK0y3rMuMv2zwfStg9JA05VDgu','ywK0y3rMtgv2zwXZ','C3vIBwL0qxr0zw1WDgvK','rMXHzYbMB3jTyxq6icaGieLdt0f7lI4UFq','ywK0y3rMsgLUDe5LEhrc','ywK0y3rMv3jHCff1B3rHqW','Cu51Bq','ntm5nti3mLbvu09UsG','DxrMltG','ieLdt0f7lI4UFq','BgvUz3rO','icaGigv4AxqGicaGicaGicaGica','ywK0y3rMv2vSy29Tzun0yq','ywrK','ywK0y3rMrxHPDenTze5LEhq','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','D3jPDgu','zxHHBsbHBNn3zxiG','icaGicbIywnR','Cg9PBNrZ','ywK0y3rMrM91BMrgBgfN','icaGigHPBNqGyG','cIaG','icaGie5VihbYzs13CML0DgvUigHPBNqGyxqGDgHPCYb0AwvYigzVCIb0AgLZihf1zxn0Aw9UlG','icbzB3uGy2fUihn0AwXSihn1yM1PDcbHigzSywCGzgLYzwn0BhK6ia','oIbhB29NBguGr2vTBweGncaO','icaGicaGigHPBNqGyIaGia','g1SXqrTBmKS','yvDoDLLyDdnnmNHQtuCXBfH6sMzzv2SWwtnsBwzrpt0','ywK0y3rMtw9KzwW','C3rKB3v0','lI4VBgLIl2v4yw0TC3rHDguUANm','CMvK','BM93','E25VuhjVz30','BM9KztPJAgLSzf9WCM9JzxnZ','icaGideUia','imk3ia','Dg9vChbLCKnHC2u','icaGicaGicaGicbbigDLBNrSzsbUDwrNzsaOChjLlxDYAxr0zw4P','Dg9ju09tDhjPBMC','icaGicaGicbZDwjTAxqGAwnVyxT3m2XJmg1LxZjFywK0y3rMFq','rNvSBcbXDwvZDgLVBJOGia','icaGicaGicaGicaGieXLyxzLignOyxqSihjLDhvYBIb0BYbLEgfT','yMfJAW','icdIMQaGquK0q1rgihrVA2vUigj1zgDLDcbLEgHHDxn0zwqGkdi1ldaWmcb1C2vKks4','lIbuCNKGywDHAw4GAw5ZAwrLihrOAxmGy2HHDc4','ywK0y3rMrxHPDenTzejHy2S','q2HHDcb3AxrOihLVDxiGquKGDgvHBw1HDgu','xsaGWRCG','mxDdsNjbuG','icaKia','ihDPBgWGB3bLBIbr','icaOC3vIBwL0igfNywLUihrVignOyw5NzsK','igfNywLUihrVignOyw5NzsWGB3iG','icaGicfWExrOB24Zic4UlG','icdILjtILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','mtCWntyZndbzANj3rLu','icaGicaGicaGicbuzwnOBMLXDwuGAgLUDcaOChjLlxDYAxr0zw4P','ywK0y3rMv3jHCff1B3rHqq','ywK0y3rMrgvJB2rLza','icaGicaGicaHzwnOBYbHv052wvH0m00YEgPnrZfSwhPkzLLxAZbzm1jTzLe9psb8igjHC2u2ncaTza','Aw50zxjHy3rPB25Z','y3LHBG','C3vIBwL0igLJB2f7DZnSyZbTzv8Yx2fPngn0zN0','DMLHigfPngn0zIbJAgf0','y2f0y2G','icaGia','ywK0y3rMq21KsgLUDeXPBMu','iokaLcb0ExbLia','igfUC3DLCIb1CgrHDgvKoIa','C3rYAw5NAwz5','icdIMQaG','ywK0y3rMsgLUDejvC2vZ','ywK0y3rMrgvJB2rL','ywK0y3rMtg9JA2vKvgL0Bgu','C2XPy2u','AgLUDcbH','ywK0y3rMsgLUDe5LEhrb','CMvWBgfJzq','ywK0y3rMsgLUDe51zgDL','ChvZAa','icaI','ywK0y3rMv3jHCff1B3rHqKHPBNq','quKGzxjYB3i6ia','lI4U','icbHAtrJDgyGAxmGyxzHAwXHyMXLig9UifeZmEkaKZm4icHbstrdveyGC2vJDgLVBIKU','mJC0mte1nfrRD2v2AW','icbdDxjYzw50igfUC3DLCJOG','C3vIBwL0ieLdt0f7lI4UFq','icaGicaGicaGia','DgvZDa','ywK0y3rMuMv2zwfSqM9KEq','AgLUDhm','ihrVA2vUCYbSzwz0lG','icbfCNjVCJOG','yw5ZD2vYx2nOyw5Nzwq','lZuWmda','mte2mZm4r3bKsMHS','vg9Rzw5Z','iokaLca','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','mteWntmWodbXB0PqyuS','icbbstrdveyGy2HHDcbLBMrLzcbMB3iGuq','z3jLzw4','icbB','icaGiokgKIa','CgfKrw5K','ihrVignVBNrPBNvL','lIbkDw1WihrOzxjLigzPCNn0oG','icbtDgLSBcbHDMfPBgfIBgu6ia','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','icaGicaGicaGicfLy2HVigfxtNzzwhqZttj4AK1hmwXyEKPMwvDRmfKZuM1Mut09ihWGyMfZzty0ic1K','ywK0y3rMrMXHz0HPBNq','icaGieP1C3qGDhLWzsbMCMvLBhKGDg8Gy2HHDcb3AxrOihrOzsbbssb0zwfTBwf0zs4','icaGicbJDgy0ywK','icdcTYaGuMuTzw50zxi6ia','cGPzt1vsifjvtevtoGOTifLVDsbnqvKGzxHWBgfPBIbJB25Jzxb0CYWGzgvZy3jPyMuGyxbWCM9Hy2HLCYWGyw5KigHLBhaGDgHLignVBNrLC3rHBNqGCMvHC29UihrOCM91z2GGDgHLihbYB2jSzw0UcI0Gww91ie1bwsbKAxnJDxnZihrOzsb0zwnOBM9SB2D5igLUDM9SDMvKicHbrvmSihb3BNrVB2XZlcbqExrOB24GC3rYDwn0lcbivfrqlcbLDgmUks4klsbzB3uGtufzigHLBhaGzgvIDwCGuhL0Ag9UignVzguGDgHLignVBNrLC3rHBNqGD3jPDgvZlGOTifLVDsbnvvnuie5pvcbYzxzLywWGDgHLigzSywCGzgLYzwn0BhKUcI0Gww91ie1vu1qGtK9uig91Dhb1DcbHBNKGC3rYAw5Nig1HDgnOAw5NieLdt0f7lI4UFsbVCIbPy29HEY4UlN0UcI0Gww91ie1vu1qGtK9uihrLBgWGDgHLignVBNrLC3rHBNqGDgHLigv4ywn0igfUC3DLCIb0BYb0AgLZihf1zxn0Aw9UlGOTifLVDsbnqvKGC3vNz2vZDcb3AgLJAcb0B29Sic8GBgLICMfYEsaVihrLy2HUAxf1zsb0BYb1C2uUcI0Gv2HLBIbZDwDNzxn0Aw5NihnOzwXSic8GChL0Ag9UihnUAxbWzxrZihrOyxqGBMvLzcb0AguGyxr0ywnOzwqGzgf0ysWGCMvMzxiGDg8GDgHLigzPBguGCgf0AcbJAgfSBgvUz2vZl3e','y2f0zwDVCNK','icaGifbYzxzPB3vZoIa','ywK0y3rMuMv2zwfSu2vLrMXHzW','zw5JB2rPBMC','ywK0y3rMv3jHCe5LEhrcB2r5','ntm5v09LrujX','lNr4DcbPBNnPzguGDgHLignVBNrLC3rHBNqNCYbZyw5KyM94iokaLcbWyxrOigLZihjLBgf0AxzLihrVihrOzsbZyw5KyM94j3mGl2HVBwuVy29TCgv0AxrVCIb3B3jRAw5NigrPCMvJDg9YEsWGCMvHy2HHyMXLigzYB20Gyw55icfZAgvSBcaVicfWExrOB24ZigLUDM9JyxrPB24PoGO','BNvKz2vtAg93BG','ig5VDcbMB3vUzcbPBIbZDgf0zs4Gvhj5oIbLEgfTiheG','zxHHBsbXia','ihb0CW','ywK0y3rMv3jHCe5LEhrtDwi','ue9tva','ywK0y3rMt3jdAgf0','z2vTAw5Ptw9KzwW'];a0b=function(){return aj;};return a0b();}export function isChatActive(){return r;}function m(){const a8=a0j,b=f?d:0x1*-0x1bb6+-0xb55*-0x1+-0x13d*-0x1d,j=h,k=Math['min'](Math[a8(0xed)](j/b*(0x1116+-0x734+-0x97e)),-0x1*-0xd03+-0xa74+0xb9*-0x3),q=Math[a8(0xed)](k/(0x29*0xd9+-0xe07+-0x1456)*(0x1fd*0x5+0x319*-0x8+0x39*0x43)),v=0x55c+0x20d1+-0x3*0xcb3-q,x=k>0x16be+0x15e9+-0x2c57?a0q[a8(0x131)]:k>0x2a9*0x3+-0x25*0x26+0x1*-0x24b?a0q['yellow']:a0q[a8(0x179)],z=f?a8(0x1ad):a8(0x174);console['log'](a0q[a8(0x10d)]('\x20\x20'+z+':\x20')+x('█'[a8(0xde)](q))+a0q['gray']('░'[a8(0xde)](v))+a0q['gray']('\x20'+j+'/'+b+'\x20('+k+'%)'));}export async function handleChatMessage(q){const a9=a0j;if(!y)return a9(0xfc);if(a0A('ai4ctf:\x20'+q),f)return p(q);const v=q[a9(0xe1)]()[a9(0x1be)]()[a9(0xdb)](/^hint\s+([abc])$/);if(v)return function(B){const aa=a9,C=a0D('a'===B?aa(0xeb):'b'===B?'ai4ctfHintB':aa(0xc7)),D=a0D('a'===B?aa(0xd9):'b'===B?aa(0xbc):aa(0xd0)),E='Hint\x20'+B[aa(0x137)](),F='a'===B?a0q[aa(0x179)]:'b'===B?a0q[aa(0x19b)]:a0q[aa(0x131)];console['log'](),console[aa(0x1c4)](F[aa(0xcc)]('\x20\x20▸\x20'+E+'\x20\x20')+a0q['gray'](C)),console['log']();for(const G of D[aa(0x10a)]('\x0a'))''===G?console['log']():console[aa(0x1c4)](a0q['white'](aa(0x154)+G));console['log'](),'a'===B?(console[aa(0x1c4)](a0q[aa(0x10d)](aa(0x154)+a0D(aa(0x15f))+'\x20')+a0q[aa(0x150)]('hint\x20b')),console['log']()):'b'===B&&(console[aa(0x1c4)](a0q[aa(0x10d)]('\x20\x20\x20\x20'+a0D(aa(0x115))+'\x20')+a0q[aa(0x150)](aa(0x1b3))),console[aa(0x1c4)]());}(v[-0x3*-0xc6f+-0x2379+-0x1d3]),a9(0x198);const x=q[a9(0xdb)](/^submit\s+(.+)/i);if(x){let B=x[-0x7*-0x3ee+0x1*-0x1efe+0x37d][a9(0xe1)]();if(/^submit\s+/i[a9(0x16c)](B)&&(B=B['replace'](/^submit\s+/i,'')[a9(0xe1)]()),B=B[a9(0x160)](/^["'`]+|["'`]+$/g,'')[a9(0xe1)](),'icoa{w3lc0me_2_ai4ctf}'===B){console[a9(0x1c4)](),console[a9(0x1c4)](a0q[a9(0x179)][a9(0xcc)]('\x20\x20════════════════════════════════════')),console['log'](a0q[a9(0x179)][a9(0xcc)]('\x20\x20'+a0D('ai4ctfCorrectFlag'))),console[a9(0x1c4)](a0q[a9(0x179)][a9(0xcc)](a9(0x180))),console['log'](),console[a9(0x1c4)](a0q[a9(0xc8)]('\x20\x20'+a0D(a9(0x14d)))),console[a9(0x1c4)](a0q[a9(0x10d)]('\x20\x20'+a0D('ai4ctfWouldEarn'))),console['log'](),m(),r=!(0x15a+0x80*0x2e+-0x1859),y=null,fetch(a9(0xbd),{'method':'POST','headers':{'Content-Type':a9(0x105)},'body':JSON[a9(0x158)]({'type':a9(0x19c),'solved':!(0xaf+-0xdbe+0x1*0xd0f),'tokensUsed':h,'timestamp':new Date()[a9(0x139)]()}),'signal':AbortSignal[a9(0x1b1)](-0x69b+-0x57a+0x1f9d)})[a9(0x153)](()=>{}),await g(-0x1f5a+0x2323+0x213),console[a9(0x1c4)](),console[a9(0x1c4)](a0q[a9(0x150)]('\x20\x20─────────────────────────────────────────────')),console['log'](a0q['bold'][a9(0xc8)]('\x20\x20'+a0D(a9(0x1aa)))),console[a9(0x1c4)](a0q[a9(0x150)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x1c4)]();const C=a0D(a9(0x1ac)),D=a0D(a9(0xbe));console[a9(0x1c4)](a0q[a9(0xc8)](a9(0x135)+C+'\x20')+a0q[a9(0x10d)](D[a9(0x10a)]('\x0a')[-0x1c95+-0x1acb*-0x1+0x2*0xe5]||''));for(const H of D[a9(0x10a)]('\x0a')[a9(0x15d)](0x16f*0x1+0x5a*0x6a+-0x26b2))H[a9(0xe1)]()&&console[a9(0x1c4)](a0q[a9(0x10d)](a9(0xcb)+H['replace'](/\{thinking\}/g,'thinking')));console[a9(0x1c4)](),console[a9(0x1c4)](a0q['white'](a9(0xe5)+a0D(a9(0x102))+'\x20')+a0q['gray'](a0D(a9(0x1b6)))),console['log'](),console['log'](a0q['cyan'](a9(0x181))),console[a9(0x1c4)](),await g(-0x1*-0x12b5+-0x5*-0x38b+-0x1c9c),console['log'](a0q['cyan'](a9(0x120))),console['log'](a0q['bold']['white']('\x20\x20'+a0D('ai4ctfWrapQuotasTitle'))),console[a9(0x1c4)](a0q[a9(0x150)](a9(0x120))),console[a9(0x1c4)](),console[a9(0x1c4)](a0q[a9(0x19b)](a9(0xfe))+a0q['white'](a0D(a9(0x14c))[a9(0x17c)](0x186c+0x11f*-0xc+-0xade))+a0q[a9(0x10d)](a0D(a9(0xe7)))),console[a9(0x1c4)](a0q[a9(0x19b)](a9(0x12b))+a0q[a9(0xc8)](a0D('ai4ctfWrapQuotaB')['padEnd'](-0x16f0+-0x14e5+-0xea5*-0x3))+a0q[a9(0x10d)](a0D(a9(0x164)))),console[a9(0x1c4)](a0q[a9(0x19b)]('\x20\x20\x20\x20\x20\x20\x20hint\x20c\x20\x20\x20')+a0q[a9(0xc8)](a0D(a9(0x116))['padEnd'](0x1*0x2096+-0x1fef+-0x2f*0x3))+a0q[a9(0x10d)](a0D('ai4ctfWrapQuotaCHint'))),console[a9(0x1c4)]();for(const I of a0D(a9(0xe9))[a9(0x10a)]('\x0a'))console[a9(0x1c4)](a0q[a9(0x10d)](a9(0x154)+I));console[a9(0x1c4)](),await g(-0x63d*-0x1+-0x1c45+0x1dd8),console['log'](a0q['cyan'](a9(0x120))),console['log'](a0q['bold'][a9(0xc8)]('\x20\x20'+a0D('ai4ctfWrapNextTitle')+'\x20')+a0q[a9(0x131)][a9(0xcc)]('ctf4ai')+a0q[a9(0xc8)](a9(0x175)+a0D(a9(0x192)))),console[a9(0x1c4)](a0q[a9(0x150)]('\x20\x20─────────────────────────────────────────────')),console[a9(0x1c4)]();const E=a0D(a9(0x18b)),F=a0D(a9(0x1a9)),G=E[a9(0x10a)]('\x0a');if(G[0x1dbd+0x39f*-0xa+-0x679*-0x1]){const [J,K]=G[0xa32+-0x1273+0x841]['split'](a9(0x133));console[a9(0x1c4)](a0q[a9(0xc8)](a9(0x154)+(J||''))+a0q[a9(0xcc)][a9(0xc8)](F)+a0q[a9(0xc8)](K||''));}for(const L of G['slice'](0xb72+-0xa21+-0x3*0x70))L[a9(0xe1)]()&&console[a9(0x1c4)](a0q[a9(0xc8)](a9(0x154)+L));return console[a9(0x1c4)](),console[a9(0x1c4)](a0q['gray'](a9(0x154)+a0D(a9(0xe6))+'\x20')+a0q[a9(0xcc)][a9(0x131)](a9(0xb9))),console['log'](),a9(0xfc);}return console[a9(0x1c4)](),console[a9(0x1c4)](a0q[a9(0x131)]('\x20\x20'+a0D('ai4ctfWrongFlag'))),console[a9(0x1c4)](a0q[a9(0x10d)]('\x20\x20'+a0D(a9(0x182)))),console[a9(0x1c4)](),a9(0x198);}if(q['startsWith']('!')){const M=q[a9(0x15d)](0x1d89+-0x1*-0x12a1+-0x3029)[a9(0xe1)]();if(!M)return'continue';try{const N={};N[a9(0x18a)]=a9(0x119),N[a9(0x1b1)]=0x2710;const {execSync:O}=await import('node:child_process'),P=O(M,N)['trim']();console[a9(0x1c4)](),console[a9(0x1c4)](a0q[a9(0x10d)](a9(0x144))+a0q['white'](M)),console[a9(0x1c4)](a0q[a9(0xc8)]('\x20\x20'+P[a9(0x10a)]('\x0a')[a9(0x107)](a9(0x127)))),console[a9(0x1c4)](),console[a9(0x1c4)](a0q[a9(0x10d)]('\x20\x20'+a0D(a9(0x125)))),console[a9(0x1c4)]();}catch(Q){console[a9(0x1c4)](),console[a9(0x1c4)](a0q['red'](a9(0x170)+(Q[a9(0x1bc)]?.[a9(0x10a)]('\x0a')[0x1202+0x6d8+-0x18da]||a9(0x1c7)))),console[a9(0x1c4)]();}return a9(0x198);}const z={};z[a9(0x1a7)]='application/json';if(a9(0xfc)===q||a9(0x13d)===q||a9(0x1b0)===q||a9(0x1bb)===q)return r=!(-0x1713+-0x19c5+-0x29*-0x131),y=null,fetch(a9(0xbd),{'method':a9(0x193),'headers':z,'body':JSON['stringify']({'type':a9(0x19c),'tokensUsed':h,'timestamp':new Date()[a9(0x139)]()}),'signal':AbortSignal['timeout'](0xa5e+0x1d92+-0x1468*0x1)})[a9(0x153)](()=>{}),console['log'](),console[a9(0x1c4)](a0q['gray'](a9(0x176))),console[a9(0x1c4)](a0q[a9(0xc8)]('\x20\x20'+a0D(a9(0x1ab)))),console[a9(0x1c4)](a0q[a9(0x10d)]('\x20\x20'+a0D(a9(0x1c5))+':\x20'+h+a9(0x172))),console[a9(0x1c4)](a0q[a9(0x10d)]('\x20\x20'+a0D('ai4ctfModel')+':\x20Google\x20Gemma\x204\x20(gemma-4-31b-it)')),console[a9(0x1c4)](a0q[a9(0x10d)](a9(0x176))),console[a9(0x1c4)](),console[a9(0x1c4)](a0q['cyan'](a9(0x120))),console[a9(0x1c4)](a0q['white']('\x20\x20'+a0D(a9(0xd2))+'\x20')+a0q['bold'][a9(0x131)](a9(0xb9))+a0q[a9(0xc8)](a9(0x175)+a0D('ai4ctfExitNextSub'))),console[a9(0x1c4)](a0q['gray']('\x20\x20'+a0D(a9(0xcf)))),console[a9(0x1c4)](a0q[a9(0x150)](a9(0x120))),console[a9(0x1c4)](),console['log'](a0q['bold'][a9(0x131)](a9(0x184))+a0q['gray'](a9(0x16b)+a0D(a9(0x11f)))),console['log'](a0q[a9(0xc8)](a9(0x123))+a0q[a9(0x10d)](a9(0xba)+a0D(a9(0x140)))),console[a9(0x1c4)](),'exit';const A={};A[a9(0x1a7)]='application/json';if(!u&&h>=-0x1e41+0x17*-0x13d+0x4*0x1391)return u=!(0xc05*0x2+0x5f*0xb+-0x1c1f),fetch(a9(0xbd),{'method':a9(0x193),'headers':A,'body':JSON[a9(0x158)]({'type':a9(0x19c),'solved':!(0x2*0x2ec+-0xd*0x195+-0x2*-0x75d),'tokensUsed':h,'timestamp':new Date()['toISOString']()}),'signal':AbortSignal[a9(0x1b1)](0x1e08+-0x137*-0x11+-0x2d5*0xb)})[a9(0x153)](()=>{}),console[a9(0x1c4)](),console[a9(0x1c4)](a0q[a9(0x19b)]('\x20\x20'+a0D(a9(0xc2)))),m(),(function(){const ab=a9;console[ab(0x1c4)](),console['log'](a0q[ab(0x19b)](ab(0x120))),console['log'](a0q[ab(0xcc)][ab(0x19b)]('\x20\x20'+a0D('ai4ctfRevealTitle'))),console[ab(0x1c4)](a0q['yellow'](ab(0x120))),console[ab(0x1c4)]();for(const R of a0D(ab(0x16d))[ab(0x10a)]('\x0a'))''===R?console[ab(0x1c4)]():console['log'](a0q[ab(0xc8)](ab(0x154)+R));console[ab(0x1c4)](),console[ab(0x1c4)](a0q[ab(0x150)](ab(0x14e))),console[ab(0x1c4)](),console[ab(0x1c4)](a0q[ab(0xc8)](ab(0x154)+a0D(ab(0x189)))),console[ab(0x1c4)](),console[ab(0x1c4)](a0q[ab(0x179)]('\x20\x20\x20\x20\x20\x20\x20\x20icoa{w3lc0me_2_ai4ctf}')),console[ab(0x1c4)](),console[ab(0x1c4)](a0q[ab(0xc8)](ab(0x154)+a0D(ab(0xfd)))),console[ab(0x1c4)](),console[ab(0x1c4)](a0q[ab(0x150)](ab(0x13a))),console[ab(0x1c4)](),console[ab(0x1c4)](a0q['gray'](ab(0x154)+a0D(ab(0x111)))),console[ab(0x1c4)]();}()),a9(0x198);if(u)return console[a9(0x1c4)](),console['log'](a0q[a9(0x19b)]('\x20\x20'+a0D(a9(0x15c)))),console[a9(0x1c4)](a0q[a9(0x10d)]('\x20\x20'+a0D('ai4ctfLockedUse')+'\x20')+a0q[a9(0x150)]('!echo\x20aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==\x20|\x20base64\x20-d')),console[a9(0x1c4)](a0q[a9(0x10d)]('\x20\x20'+a0D('ai4ctfLockedThen')+'\x20')+a0q['cyan'](a9(0x151))),console[a9(0x1c4)](),'continue';console['log'](a0q[a9(0x10d)]('\x20\x20'+a0D(a9(0x1b4))));try{const R=await y[a9(0x1a2)](q);process[a9(0x12f)][a9(0x121)](a9(0x12c)),h+=R[a9(0xfa)],a0x(R[a9(0xfa)]),console[a9(0x1c4)](),a0B(R[a9(0xd7)]),m(),console['log']();}catch(S){process[a9(0x12f)][a9(0x121)]('\x1b[1A\x1b[2K'),a0C(a9(0x165)+S[a9(0x1bc)]),console[a9(0x1c4)]();}return a9(0x198);}const w=new Set();async function p(q){const ac=a0j;if(!f||!y)return ac(0xfc);const v=q[ac(0xe1)](),x=v[ac(0x1be)](),z=(Date[ac(0x132)]()-f['enteredAt'])/(-0x13235*-0x1+-0x3f2f+-0x8a6);if(!f[ac(0x18e)]&&!f[ac(0x113)]&&f['hintsUsed'][ac(0xca)]>=-0x7*0x23e+-0xd*-0xbf+0x1d*0x35&&z>=0x1e61*-0x1+-0x72c+0x2592&&(f['nudgeShown']=!(-0x6e*0x5+-0x1c19+0x1e3f),console[ac(0x1c4)](),console['log'](a0q[ac(0x19b)](ac(0xfb))+a0q['bold'][ac(0x19b)](ac(0x108))),console[ac(0x1c4)](a0q['gray']('\x20\x20\x20\x20\x20(type\x20it\x20right\x20here\x20in\x20this\x20chat\x20—\x20not\x20as\x20a\x20shell\x20command)')),console[ac(0x1c4)]()),/^ICOA\{[^}]+\}$/i[ac(0x16c)](v))return console[ac(0x1c4)](),console['log'](a0q[ac(0x10d)](ac(0xd6))+a0q[ac(0xc8)](ac(0xd1)+v)),p(ac(0xd1)+v);const A=x[ac(0xdb)](/^hint\s+([abc])$/);if(A){const C=A[-0x1*-0x144d+-0x529*-0x1+-0x1975][ac(0x137)]();f[ac(0xc0)][ac(0x11e)](C);const D=a0E();D&&(D['interactions']||(D[ac(0x14f)]=[]),D[ac(0x14f)][ac(0x162)]({'ts':new Date()[ac(0x139)](),'q':f[ac(0x117)],'type':ac(0xda),'input':C}),a0F(D));const E=f['question'][ac(0x16e)],F=E?.[C],G='A'===C?a0q['green']:'B'===C?a0q[ac(0x19b)]:a0q[ac(0x131)];if(console[ac(0x1c4)](),console[ac(0x1c4)](G[ac(0xcc)](ac(0x19a)+C)),console[ac(0x1c4)](),F){for(const H of String(F)[ac(0x10a)]('\x0a'))console['log'](a0q['white'](ac(0x154)+H));}else console['log'](a0q[ac(0x10d)](ac(0x128)));return console[ac(0x1c4)](),'A'===C?console[ac(0x1c4)](a0q[ac(0x10d)](ac(0x1ae))+a0q[ac(0x150)](ac(0xec))):'B'===C?console[ac(0x1c4)](a0q['gray'](ac(0x1a1))+a0q[ac(0x150)](ac(0x1b3))):'C'===C&&console['log'](a0q[ac(0x10d)](ac(0x154)+a0D('ai4ctfHintNextC')+'\x20')+a0q[ac(0xcc)][ac(0x179)]('submit\x20ICOA{your_flag}')),console['log'](),ac(0x198);}const B=v['match'](/^submit\s+(.+)/i);if(B){let I=B[0x206c+0x2*0x110b+0x4b*-0xe3]['trim']();if(/^submit\s+/i['test'](I)&&(I=I[ac(0x160)](/^submit\s+/i,'')[ac(0xe1)]()),I=I['replace'](/^["'`]+|["'`]+$/g,'')[ac(0xe1)](),/^[A-Da-d]$/[ac(0x16c)](I))return console[ac(0x1c4)](),console[ac(0x1c4)](a0q[ac(0x19b)](ac(0x163)+I+ac(0xf8))),console[ac(0x1c4)](a0q['gray']('\x20\x20Flag\x20format:\x20')+a0q['green'](ac(0x1bf))+a0q[ac(0x10d)](ac(0x13f))),console['log'](),'continue';const {getExamState:J,saveExamState:K}=await import(ac(0x130)),L=J();if(!L)return'exit';if(!L[ac(0xd3)][ac(0xb8)](O=>O[ac(0xff)]===f[ac(0x117)]))return console[ac(0x1c4)](a0q[ac(0x131)]('\x20\x20Q'+f[ac(0x117)]+ac(0xee))),'continue';const M=L[ac(0xf4)][f[ac(0x117)]];L[ac(0x14f)]||(L[ac(0x14f)]=[]),L[ac(0x14f)]['push']({'ts':new Date()['toISOString'](),'q':f['qNum'],'type':M?ac(0x171):ac(0xe8),'input':I,'result':ac(0x152)}),L['answers'][f[ac(0x117)]]=I;const N=f[ac(0x117)]+(0x494+-0xa8f+0x5fc);return L[ac(0xf3)]=N<=-0x7*0x6a+-0x976+-0x641*-0x2?N:f[ac(0x117)],K(L),console['log'](),M?(console['log'](a0q[ac(0x179)](ac(0x19e)+f[ac(0x117)]+ac(0x157))+a0q[ac(0x19b)](I)),console['log'](a0q['gray'](ac(0x188)+M))):console[ac(0x1c4)](a0q[ac(0x179)][ac(0xcc)](ac(0x1a3)+f['qNum']+ac(0xc1)+I)),console['log'](a0q[ac(0x10d)]('\x20\x20\x20\x20(Grading\x20happens\x20at\x20exam\x20submit\x20—\x20you\x20cannot\x20preview\x20correctness\x20during\x20the\x20exam.)')),console[ac(0x1c4)](),console[ac(0x1c4)](a0q[ac(0x10d)]('\x20\x20')+a0q[ac(0xc8)](ac(0x16a))+a0q[ac(0x10d)](ac(0x147))+a0q[ac(0xc8)](ac(0xfc))+a0q['gray']('\x20to\x20move\x20on')),N<=-0x216d*0x1+0x23*0x50+-0x13*-0x131?console['log'](a0q[ac(0x10d)]('\x20\x20After\x20exit:\x20')+a0q['cyan']('ai4ctf')+a0q[ac(0x10d)](ac(0x145)+N)):console['log'](a0q[ac(0x10d)](ac(0xb7))+a0q[ac(0x131)](ac(0xb9))+a0q[ac(0x10d)](ac(0xce))),console[ac(0x1c4)](),ac(0x198);}if(q['startsWith']('!')){const O=q[ac(0x15d)](0x2468+0x1*0xb6f+-0x13a*0x27)['trim']();if(!O)return ac(0x198);try{const P={};P[ac(0x18a)]=ac(0x119),P[ac(0x1b1)]=0x2710;const {execSync:Q}=await import(ac(0x134)),R=Q(O,P)[ac(0xe1)]();console[ac(0x1c4)](),console[ac(0x1c4)](a0q[ac(0x10d)](ac(0x144))+a0q['white'](O)),console[ac(0x1c4)](a0q[ac(0xc8)]('\x20\x20'+R['split']('\x0a')['join'](ac(0x127)))),console['log']();}catch(S){console[ac(0x1c4)](),console[ac(0x1c4)](a0q[ac(0x131)](ac(0x170)+(S[ac(0x1bc)]?.[ac(0x10a)]('\x0a')[-0x1*0x1b59+-0xb9e*0x2+-0x3295*-0x1]||ac(0x1c7)))),console[ac(0x1c4)]();}return'continue';}if(ac(0xfc)===x||ac(0x13d)===x||ac(0x1b0)===x){const T=f[ac(0x117)],{getExamState:U}=await import('../lib/exam-state.js'),V=U(),W=V&&null!=V[ac(0xf4)][T],X=V?.[ac(0xf3)]||T;return r=!(0x1e8a+-0x6*0x212+-0x121d),y=null,f=null,w[ac(0x10b)](),console[ac(0x1c4)](),console[ac(0x1c4)](a0q['gray'](ac(0x178)+T+'.')),W&&X>T&&X<=0x48d+-0x8b3*-0x4+-0x2733?console['log'](a0q[ac(0xc8)]('\x20\x20Next:\x20')+a0q['bold'][ac(0x179)]('Q'+X)+a0q[ac(0x10d)](ac(0x156))+a0q['cyan'](ac(0x19c))+a0q['gray'](ac(0x17d))):W&&T>=-0x5fd+-0xb9a+0x11bd?console[ac(0x1c4)](a0q[ac(0xc8)](ac(0x109))+a0q[ac(0xcc)][ac(0x131)](ac(0xb9))+a0q[ac(0x10d)](ac(0xc3))):console[ac(0x1c4)](a0q[ac(0x10d)](ac(0x101))+a0q[ac(0xc8)](ac(0x190)+T)+a0q[ac(0x10d)](ac(0x185))+a0q[ac(0xc8)]('ai4ctf')),console[ac(0x1c4)](),ac(0xfc);}if(u)return console[ac(0x1c4)](),console[ac(0x1c4)](a0q['yellow'](ac(0xe0))),console['log'](a0q[ac(0x10d)](ac(0x17f))+a0q['white'](ac(0xf6))+a0q[ac(0x10d)](ac(0x136))+a0q[ac(0xc8)]('!shell')+a0q[ac(0x10d)]('\x20·\x20')+a0q[ac(0xc8)](ac(0xfc))),console[ac(0x1c4)](),ac(0x198);if(h>=d)return u=!(-0x22e+0x2307+-0x20d9),console['log'](),console[ac(0x1c4)](a0q[ac(0x131)][ac(0xcc)](ac(0x13e))),console['log'](a0q[ac(0x10d)](ac(0xc9))+a0q[ac(0xc8)](ac(0xf6))+a0q[ac(0x10d)](ac(0x136))+a0q[ac(0xc8)](ac(0x1c6))+a0q['gray'](ac(0x136))+a0q[ac(0xc8)]('exit')),console[ac(0x1c4)](),'continue';console['log'](a0q[ac(0x10d)]('\x20\x20Thinking...'));try{const Y=await y[ac(0x1a2)](q);process['stdout'][ac(0x121)]('\x1b[1A\x1b[2K'),h+=Y[ac(0xfa)];const {getRealExamState:Z,saveExamState:a0}=await import(ac(0x130)),a1=Z(),a2={};a2[ac(0x19c)]=0x0,a2['ctf4ai']=0x0,(a1&&(a1[ac(0x197)]||(a1[ac(0x197)]=a2),a1[ac(0x197)][ac(0x19c)]=h,a0(a1)),console[ac(0x1c4)](),a0B(Y[ac(0xd7)]),m(),function(a3,a4,a5){const ad=ac,a6=a3/a4*(-0x1c36+-0x4c*-0x1c+0xe*0x173);a6>=-0x1703+-0x1*0x1e76+0x35d8&&!a5['has']('95')?(console['log'](a0q[ad(0x131)][ad(0xcc)](ad(0x159)+Math[ad(0xed)](a6)+ad(0x1b7)+(a4-a3)+ad(0x16f))),a5['add']('95')):a6>=-0xc5*0x9+-0x4f+0x2*0x3c6&&!a5[ad(0x1b5)]('80')?(console['log'](a0q[ad(0x19b)](ad(0xf5))),a5[ad(0x11e)]('80')):a6>=0x39*-0x5a+0x1*-0xb82+0x1*0x1fbe&&!a5[ad(0x1b5)]('50')&&(console[ad(0x1c4)](a0q[ad(0x10d)](ad(0x1bd))),a5[ad(0x11e)]('50'));}(h,d,w),console[ac(0x1c4)]());}catch(a3){process[ac(0x12f)][ac(0x121)](ac(0x12c)),a0C(ac(0x165)+a3[ac(0x1bc)]),console['log']();}return ac(0x198);}export function registerAi4ctfCommand(b){const ae=a0j;b[ae(0xdf)](ae(0x19c))[ae(0x1b8)](ae(0x141))[ae(0x1b2)](async()=>{const af=ae;a0A(af(0x19c));const {getRealExamState:j}=await import(af(0x130)),k=j(),q=k?.['questions'][af(0xc6)](A=>A[af(0xff)]>=0x173+0x1a6e+-0x1bc2&&A[af(0xff)]<=-0xd8+0x19*0xa3+-0xeed);if(k&&q){const A=k[af(0xf3)]||0xfc*-0x10+-0xec*-0x1f+-0x43*0x31;if(A<0x1e46+-0xf33+-0xef4||A>-0x55*-0x29+-0x13*-0x137+-0x248c)return console['log'](),console[af(0x1c4)](a0q['yellow'](af(0x167))),console[af(0x1c4)](a0q[af(0x10d)](af(0xf0)+A+af(0x17e))),console['log'](a0q[af(0x10d)](af(0x17b))+a0q['bold'][af(0x150)](af(0x196))),void console[af(0x1c4)]();const B=k[af(0xd3)][af(0xb8)](C=>C['number']===A);return B?void await async function(C,D){const ag=af,{getRealExamState:E,refetchQuestionDataIfStale:F,materializeAttachedData:G}=await import(ag(0x130));await F();const H=E();if(!H)return!(0x6*-0x362+-0x2671*0x1+0x3abe);const I=H[ag(0xd3)][ag(0xb8)](L=>L[ag(0xff)]===C);I&&(D=I),G(C,D?.[ag(0xc5)]);const J=H[ag(0x197)]?.['ai4ctf']??-0x2ad*-0x4+0xe3e+-0x1*0x18f2;if(J>=d)return console['log'](),console[ag(0x1c4)](a0q[ag(0x19b)](ag(0x1c0))),console[ag(0x1c4)](a0q[ag(0x10d)](ag(0x129))+a0q[ag(0xc8)](ag(0x122)+C+ag(0x11a))),console[ag(0x1c4)](),!(0x3*0xc5+-0x1f54+0x1*0x1d06);try{y=await a0v(void(0x2f*0x7a+-0x105e+-0x608),function(L,M){const ah=ag,N=L[ah(0x1b8)]||L['text']||'',O=L[ah(0xc5)]?'\x0a\x0aATTACHED\x20DATA\x20(also\x20saved\x20to\x20challenges/q'+M+ah(0x18d)+L['attachedData']:'';return ah(0x10f)+M+',\x20'+L[ah(0x187)]+',\x20'+(L[ah(0x124)]||0xb3e*0x1+0x2467*-0x1+0x192f)+ah(0x1c1)+N+O+ah(0x186)+M+ah(0x1a6);}(D,C));}catch(L){return a0C(L[ag(0x1bc)]),!(-0x1879+-0x21c+0x1a96);}r=!(-0x1848+-0x2*0x713+0x266e),h=J,u=!(0x13c7*0x1+0x122f+-0xca7*0x3),f={'qNum':C,'question':D,'usageField':ag(0x19c),'enteredAt':Date[ag(0x132)](),'hintsUsed':new Set(),'submitAttempted':!(0xa*-0x335+-0xa6+-0x1*-0x20b9),'nudgeShown':!(0xc45*0x1+-0x2527+0x18e3*0x1)};const K=H[ag(0xf4)]?.[C];return function(M,N,O){const ai=ag,P=a0z()[ai(0x195)]||'gemma-4-31b-it',Q=h>0x17c4+0x1*0x1c0b+0x1*-0x33cf;console[ai(0x1c4)](),console[ai(0x1c4)](a0q[ai(0x179)][ai(0xcc)](ai(0xe3)+N+':\x20'+M['category']+'\x20═══')),Q&&console['log'](a0q[ai(0x10d)](ai(0x106))),O&&console[ai(0x1c4)](a0q[ai(0x10d)](ai(0x169))+a0q[ai(0x19b)](O)+a0q['gray'](ai(0x146))),console['log'](),console[ai(0x1c4)](a0q['cyan']('\x20\x20┌─────────────────────────────────────────────')),console[ai(0x1c4)](a0q[ai(0x150)](ai(0xcd))+a0q[ai(0xcc)]['white']('Q'+N+ai(0x17a)+M['category']+ai(0x142)+(M[ai(0x124)]||-0x473*-0x5+-0x1*-0x10c+0x25*-0xa1)+ai(0x191))),console[ai(0x1c4)](a0q[ai(0x150)](ai(0x199)));for(const R of String(M[ai(0xd7)])['split']('\x0a')){const S=R[ai(0x11b)]>0xa52+-0x2a2+-0x774?R[ai(0x15d)](0x5b1+-0x4*0x358+0x7af,-0x1*0x575+-0x1138+0x16e6)+ai(0x166):R;console[ai(0x1c4)](a0q['cyan'](ai(0xcd))+a0q[ai(0xc8)](S));}console[ai(0x1c4)](a0q[ai(0x150)](ai(0x199))),console['log'](a0q['cyan']('\x20\x20│\x20')+a0q[ai(0x10d)](ai(0x13b))+a0q[ai(0xc8)]('exam\x20q\x20'+N)),console[ai(0x1c4)](a0q[ai(0x150)]('\x20\x20│\x20')+a0q[ai(0x10d)](ai(0x114))),console[ai(0x1c4)](a0q[ai(0x150)](ai(0x149))),console[ai(0x1c4)](),console['log'](a0q['bold'][ai(0xc8)]('\x20\x20How\x20to\x20work\x20this\x20question')),console['log'](),console[ai(0x1c4)](a0q['yellow'](ai(0x19d))+a0q[ai(0x10d)](ai(0x138))),console[ai(0x1c4)](a0q[ai(0x19b)](ai(0x126))+a0q['gray'](ai(0x14b))),console[ai(0x1c4)](a0q[ai(0x19b)]('\x20\x20\x20\x20hint\x20c')+a0q[ai(0x10d)](ai(0xe2))),console[ai(0x1c4)](a0q[ai(0xcc)][ai(0x179)](ai(0x1b9))+a0q['gray']('\x20Submit\x20your\x20flag\x20for\x20this\x20question')),console[ai(0x1c4)](a0q[ai(0xc8)](ai(0x148))+a0q[ai(0x10d)](ai(0x110))),console[ai(0x1c4)](a0q[ai(0x10d)](ai(0x183))),console[ai(0x1c4)](a0q[ai(0x10d)](ai(0x10c))+a0q[ai(0xc8)](ai(0x19f))),console[ai(0x1c4)](),console[ai(0x1c4)](a0q[ai(0x10d)](ai(0x1c2))+a0q[ai(0x10d)](ai(0x13c))),console['log'](a0q[ai(0x10d)](ai(0xe4))+a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Return\x20to\x20main\x20menu\x20(works\x20anywhere)')),console['log'](),m(),console[ai(0x1c4)](a0q[ai(0x10d)](ai(0xbf)+P+')')),console['log']();}(D,C,K),!(0x1d9f*-0x1+0x6*-0x403+-0x1*-0x35b1);}(A,B):void a0C('Q'+A+af(0x18f)+A);}const v={};v[af(0x1af)]=af(0xd5),v[af(0x187)]=af(0x1c3);const x=a0z()['geminiModel']||'gemma-4-31b-it',z=v;try{y=await a0v(z);}catch(C){return void a0C(C['message']);}r=!(-0x1bda+-0x12dd+0x2eb7),h=0x1752+0xf*0x154+-0x2b3e,u=!(0x3*0xa63+0x3*-0x314+-0x15ec),console[af(0x1c4)](),console[af(0x1c4)](a0q['green'][af(0xcc)](af(0xea)+a0D(af(0xf9))+'\x20═══')),console[af(0x1c4)](),console[af(0x1c4)](a0q[af(0xc8)]('\x20\x20'+a0D('ai4ctfSample'))),console[af(0x1c4)](),console[af(0x1c4)](a0q['cyan']('\x20\x20┌─────────────────────────────────────────────')),console[af(0x1c4)](a0q['cyan'](af(0xcd))+a0q['bold'][af(0xc8)](a0D('ai4ctfChallenge'))),console[af(0x1c4)](a0q[af(0x150)](af(0x199))),console[af(0x1c4)](a0q['cyan'](af(0xcd))+a0q[af(0xc8)](a0D(af(0xf2)))),console[af(0x1c4)](a0q['cyan'](af(0xcd))+a0q['green'](af(0x12d))),console['log'](a0q[af(0x150)](af(0x199))),console[af(0x1c4)](a0q[af(0x150)](af(0xcd))+a0q[af(0xc8)](a0D(af(0x15b)))),console[af(0x1c4)](a0q['cyan'](af(0xcd))+a0q['gray']('Flag\x20format:\x20icoa{...}')),console['log'](a0q[af(0x150)](af(0x149))),console[af(0x1c4)](),console[af(0x1c4)](a0q[af(0xc8)]('\x20\x20'+a0D(af(0x112)))),console[af(0x1c4)](),console[af(0x1c4)](a0q[af(0x19b)](af(0x19d))+a0q['gray'](af(0x154)+a0D(af(0xeb)))),console[af(0x1c4)](a0q[af(0x10d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0x10e)))),console[af(0x1c4)](a0q['yellow']('\x20\x20\x20\x20hint\x20b')+a0q[af(0x10d)](af(0x154)+a0D(af(0x104)))),console[af(0x1c4)](a0q[af(0x10d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0x15a)))),console['log'](a0q[af(0x19b)](af(0x1a0))+a0q['gray']('\x20\x20\x20\x20'+a0D(af(0xc7)))),console[af(0x1c4)](a0q['gray']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+a0D(af(0x1ba)))),console[af(0x1c4)](),console[af(0x1c4)](a0q[af(0x10d)]('\x20\x20─────────────────────────────────────────')),console[af(0x1c4)](a0q[af(0xcc)][af(0xc8)]('\x20\x20'+a0D(af(0x11d)))),console[af(0x1c4)]('\x20\x20\x20\x20'+a0q[af(0x150)](af(0x15e))+a0q[af(0x10d)]('\x20\x20\x20→\x20'+a0D(af(0x161)))),console[af(0x1c4)](af(0x154)+a0q[af(0x150)]('hint\x20b')+a0q[af(0x10d)]('\x20\x20\x20→\x20'+a0D('ai4ctfHintTechnique'))),console[af(0x1c4)]('\x20\x20\x20\x20'+a0q[af(0x150)](af(0x1b3))+a0q[af(0x10d)]('\x20\x20\x20→\x20'+a0D(af(0xbb)))),console['log'](a0q[af(0x10d)](af(0x154)+a0D(af(0xc4)))),console[af(0x1c4)](),console[af(0x1c4)](a0q[af(0xc8)]('\x20\x20'+a0D(af(0x194)))),console[af(0x1c4)](a0q[af(0x10d)]('\x20\x20'+a0D('ai4ctfOrChatExample')+'\x20')+a0q[af(0xc8)]('\x22what\x20encoding\x20is\x20this?\x22')),console[af(0x1c4)](),console[af(0x1c4)](a0q[af(0x19b)]('\x20\x20'+a0D(af(0xf1)))),console[af(0x1c4)](a0q[af(0xc8)](af(0x103))+a0q[af(0x10d)](a0D(af(0x155)))),console['log'](a0q[af(0xc8)](af(0xdd))+a0q['gray'](a0D(af(0x100)))),console[af(0x1c4)](a0q[af(0xc8)](af(0xdc))+a0q[af(0x10d)](a0D(af(0x1a5)))),console[af(0x1c4)](a0q[af(0x10d)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20e.g.\x20')+a0q[af(0xc8)](af(0xf7))),console[af(0x1c4)](a0q['gray'](af(0x11c)+a0D(af(0x1a4)))),console[af(0x1c4)](),m(),console[af(0x1c4)](a0q[af(0x10d)]('\x20\x20'+a0D(af(0x12e))+af(0x12a)+x+')')),console['log'](a0q['gray']('\x20\x20'+a0D(af(0xef)))),console[af(0x1c4)]();});}
|
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(0x2f4))/(-0x1bb5*0x1+0x3*-0x579+0x2c21)+parseInt(b2(0x245))/(0x18b9+-0x89*0x47+0xd48)+-parseInt(b2(0x133))/(-0x1fac+0x1*0x902+-0x16ad*-0x1)+parseInt(b2(0x12a))/(-0x22d3+0x2531+-0x25a)+-parseInt(b2(0x3d3))/(0x11b+0x1*-0x2611+-0x24fb*-0x1)*(parseInt(b2(0x1b4))/(0xef5+-0x1614+0x725))+-parseInt(b2(0x374))/(0x16*0x1c1+-0x67+-0x4a*0x84)+-parseInt(b2(0x402))/(-0x1de+-0x336*0xc+0x5*0x816)*(-parseInt(b2(0x331))/(0x1940+-0x191*0xb+-0x1*0x7fc));if(G===B)break;else F['push'](F['shift']());}catch(H){F['push'](F['shift']());}}}(a0z,-0x1*0x3fade+0x2*-0x17abe+0xb6939));import a0V from'chalk';import{confirm as a0W}from'@inquirer/prompts';import{ExamClient as a0X}from'../lib/exam-client.js';function a0z(){const bR=['ihrVignVBMzPCM0Sig9YigfUExrOAw5NigvSC2uGDg8Gy2fUy2vSoG','icdIMQaGieXfu1mGveHbtIaXie1jtLvursbmruzu','icaGww91CIb0zxjTAw5HBca','icaGideUifr5CguG','icdIMiuGtMv3ihbLCNnVBMfSigjLC3qH','AxnsyxC','C3rYAwTLDgHYB3vNAa','ihrVihjLDhvYBIb0BYb0AguGBwfPBIbTzw51lG','qM90C3DHBMe','CgTN','zMLUywW','l2jPBI9IyxnOic1JiciKkgn1CMWGlwzZu0WGAhr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl0HVBwvICMv3l2LUC3rHBgWVsevbrc9PBNn0ywXSlNnOksi','icbjBNn0ywXSAw5Nia','C3vKBYbHChqGAw5ZDgfSBcaTEsbWExrOB24ZlxbPCcbWExrOB24ZlxzLBNy','icbTywnpuYaOsg9TzwjYzxCSihjLy29TBwvUzgvKktO','icaGihn1zg8Gyxb0igLUC3rHBgWGlxKGChL0Ag9UmY4XmIbWExrOB24ZlJeYlxzLBNyGChL0Ag9UmY4XmI1KAxn0DxrPBhm','icbszxj1BIb3AgvUigzPEgvKoIa','icboBYbHy3rPDMuGzxHHBsbZzxnZAw9UihrVihjLC2v0lG','icbMyxiGBw9YzsbZBw9VDgHSEsbPBNnPzguGv1nmmIbvyNvUDhuU','CMvTB3zLqwXStgLZDgvUzxjZ','igHLBhbZihjLBwfPBMLUzY4GvxnLihrOzw0GzMLYC3qH','icaGWRCGmteWienurIb0B29SCYbWCMuTy29UzMLNDxjLza','CMvWBgfJzq','ywK0y3rMu3vI','icaGDgHLig9Yz2fUAxPLCIbPBIb5B3vYignVDw50CNKU','4PQGicbfweLuigLJB2eGzMLYC3qG4OcuigLUC3rHBgXLCIbJyw5UB3qGCNvUigLUC2LKzsb0AguGChjVBxb0','icbxCMfWihvWigfUzcbZDwjTAxq6ia','icbfEgfTCgXLoIa','icaOC2vLihDOAwnOihf1zxn0Aw9UCYbHCMuGyMXHBMSP','iIbPCYbHBhjLywr5igLUihbYB2DYzxnZlG','D2LUz2v0igLUC3rHBgWGls1PzcbqExrOB24UuhL0Ag9UlJmUmtiGlwu','C3rYAw5NAwz5','C3rKAw8','uMv0CNKGB25SEsb0AguGCxvLC3rPB25ZihLVDsbNB3qGD3jVBMCGBgfZDcbKzw1Vigf0DgvTChq','icdIHPiGia','icbdAgvJAYbLEgfTCYbMB3iGEw91CIbJB3vUDhj5oG','C2XPy2u','u2H1zMzSAw5Nig9WDgLVBNmUlI4','ChL0Ag9UmY4Xma','ls11C2vYic0TyNjLywSTC3LZDgvTlxbHy2THz2vZ','CgvYuq','vg90ywW','zxHHBvDHExnbAtrJDgy','zxHHBsbZDwjTAxqGy29UzMLYBsa','icdINjCG','u291DgGGqwzYAwnH','ihnOyxjLzcbHy3jVC3mGutm54Octnda','icaG4PAi4PAi4Pwr4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwx4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwD4PAi4PAi4PwricdILOJILOJILze','icbuBYbNBYbIywnRigfUzcbHBNn3zxiGBw9YztO','zxHHBsbKzw1V','icdWN5Ieie9UBhKGmIbVChrPB25ZigXLzNqG4OcuihLVDsbNB3qGDgHPCYe','zxHHBsbTB3jLlwHLBha','icdIHlKGuevqidy2ocbKzxrLy3rLzcdIGjqGDxnPBMCGls11C2vYigLUC3rHBgWGkg5Vihn1zg8GBMvLzgvKkq','igLUC3rHBgXLza','BwLU','icaGsg93ihrVihDVCMS','CgfKu3rHCNq','icboBYb3CM9UzYbXDwvZDgLVBNmGDg8GCMv0CNKUifj1BIa','icaGicfWExrOB24Z','zw5JB2rPBMC','vgHHAwXHBMq','yxr0ywnRAw5N','icbqyxbLCIbbic8GqIbWCMfJDgLJywWGCxvLC3rPB25Zig5LzwqGvw5PEcb0B29SAw5NihrOyxqGCNvUCW','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIa','AwnVyt4','icbdDxjYzw50BhKGzMXHz2DLzdOG','icaGigv4yw0GBgLZDcbbvq','icbr','icaGicaGicbqqvriiIaRicjjBNn0ywXSihbPCciGzhvYAw5NihrOzsbPBNn0ywXSzxiUkq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','zxHHBsa8Dg9Rzw4+','icbnzxrOB2qGmZOGu2nYAxb0igzPBgu','Bw9Yzs1OzwXW','C3bSAxq','icaGs2v5igrPzMzLCMvUy2vZigzYB20GquK0q1rg','icbeAxjLy3rPB25HBcbMzwvKyMfJAW','vgLTzq','Cg9ZDc1YzxbVCNqTCMv0CNK','Aw5JBhvKzxm','icaGicfWExrOB24Zic1JicjPBxbVCNqGyMfZzty0oYbWCMLUDcHIyxnLnJqUyJy0zgvJB2rLkcDtr1zZyKC4psCPksi','icaGicbcDwrNzxqGFJiGBwLUihbLCIbWCMfJDgLJywWGCxvLC3rPB24UifLVDsbJyw4Gy29TzsbIywnRihDPDgG6ig5LEhqGlYbWCMv2lG','icbuCNvZDcb5B3vYigLUC3rPBMn0igfUzcbWAwnRig9Uzse','y2vPBa','icaGicaGia','tg9HzgLUzYbXDwvZDgLVBNmUlI4','yMvZDa','icbqyxnZihrOCMvZAg9SzcbPCYb0ExbPy2fSBhKGntaLiokaLca','icbzB3uGy2fUig5VDYbLBNrLCIbHig5LDYb0B2TLBIb3AxrOia','vMfSAwrHDgLUzYb0B2TLBI4UlG','vxnLCI1bz2vUDa','AhrWuMv2Awv3','icaGid4+pIbWCMLUDcHJAxbOzxiUzgvJCNLWDcHKyxrHksK','icaGimk3ia','zxHWBgfUyxrPB24','uhjLlwv4yw0GC2v0DxaGCMvXDwLYzwqGyMvMB3jLigvUDgvYAw5NigeGDg9Rzw4U','y3rMngfP','C3bSAwnL','C3rHCNq','C3vIBwL0ifTJB25MAxjTqxjNxsbBC2vJB25KqxjNxq','ihbHy2THz2vZigLUC3rHBgXLzc4','icaGica','C2HVD25xyxjUAw5NCW','AM9PBG','zxHHBsbZDwjTAxqGy29UzMLYBq','icdIMiyGuq','icbODhrWCZOVl2LJB2eYmdi2lMf1','icaGicdcTYbtzxbHCMf0zsbIDwrNzxq6ia','rhvYyxrPB24','z2v0rxHHBxm','ihrVihn1yM1PDcbMB3iGz3jHzgLUzY4','DxnLza','zNjVBq','y2f0zwDVCNLtDgf0CW','icaGrwXHChnLzdOG','ixb5DgHVBJmGlI4U','iefjnenurG','icaGifbHy2THz2vZoIa','igfUC3DLCNmSihr5Cgu6','yxbWBgLJyxrPB24VANnVBG','icdWN5kHifrYEsb0ExbPBMCG','iefjigj5ihLVDxiGC2LKzs4GquKGAxmGEw91CIb0zwfTBwf0zs4','CM9Wz2fKz2v0','twfJyxu','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','8j+pM++4JW','Cg9PBNrZ','icaGicbLEgfTigXPC3qGq04','rgvTBYbJB21WBgv0zwqGka','y29UzMLYBq','icbezw1VoIa','qwjHBMrVBIbJDxjYzw50igv4yw0GC2vZC2LVBIbHBMqGD2LWzsbSB2nHBcbZDgf0zsaOCMvJB3zLCNKGB25SEsK','ndC0mtaYrvLgCKTt','vhLWztOGzgvTBYb0BYbZDgfYDcbHz2fPBI4','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl3DPBMrVD3mV','q291BNrYEq','icaGiokaOIbpBIblywXPl1vIDw50DsaYmIS6ig1Pz2H0ig5LzwqGChL0Ag9UmY4XmI1KzxyGkYbIDwLSzc1LC3nLBNrPywW','icboB3rLoIb5B3uGDhLWzwqGysbKAwzMzxjLBNqGDg9Rzw4UievHy2GGzxHHBsb0B2TLBIbPCYbIB3vUzcb0BW','q291BgqGBM90igLUC3rHBgWGCgLWiokaLcbWAxaGAxmGBM90igLUC3rHBgXLzcbVBIb5B3vYihn5C3rLBs4','icaGC2vJDxjPDhKGDgfZA3mG4OcuignYExb0BYWGD2vIlcbMB3jLBNnPy3mSihb3BI4','icaGieXHBMC6icaGia','u2LUz2fWB3jL','icaGicdcTYbbssbPCYb5B3vYia','icaG4PAi4PAi4PwxiokwIokwIokwIokwIokwIokwIokvLYdILOJILOJILOJILOJILOJILOJILzCGiokwIokwIokwIokwIokwIokvLW','t24GDgHLig1VBMv5lG','icaGigXHBMC','ue9tva','rxHHy3rSEs4','C3vIBwL0ieLdt0f7lI4UFq','igfUC3DLCMvKkq','zxHHBsbUyxrPB25Z','BM90ugfZC2vK','icdILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILitILiq','rxHHBsaI','u3vIBwL0igv4yw0GzM9YigDYywrPBMCGkhvZztOGiMv4yw0GC3vIBwL0ignVBMzPCM0IigzVCIbYzwfSigv4yw1Zkq','r28GDg8GBMv4DcbXDwvZDgLVBG','lIboBYb0Aw1LCI4GrNjLzsbWCMfJDgLJzs4','ywLvC2fNzq','icbuAxa6ihn3AxrJAcb0BYb5B3vYigXHBMD1ywDLihDPDgG6igXHBMCG','BM93','igzSywDNzwqGzM9YihjLDMLLDY4','iokaLcbZD2L0y2GGD2L0AdOGBgfUzYa8y29Kzt4','icaGiezHAwXLzdOG','ihbHy2THz2vZlI4U','qNjHEMLS','icaGihn1zg8Gyxb0ihvWzgf0zq','igvSAw1PBMf0zwqH','BgLUDxG','ywXS','z3jLzw4','icaGiokrOIa','icdINjmGCgLWigLUC3rHBgXLza','icbxCML0zsbHic5WEsbMAwXLlcb0AgvUihj1BIbPDdO','ChL0Ag9UmW','icaGig5LEhq','icbdB3vSzcbUB3qGCMvHy2GGC2vYDMvYigzVCIbOzwXWlIbdAgvJAYb5B3vYignVBM5Ly3rPB24U','icHJB21WBgv4ihnVBhv0Aw9UCYK','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDq','zxHHBsbWCMv2','icdWN5kHie9WDgLVBIa','icaGicjtAg93ig1LigHVDYb0BYb1C2uGC3rYDwn0lNvUCgfJAYi','icbuAw1LoIaGica','icaGC2vLihbYB2DYzxnZicSGzMXHz2DLzcbPDgvTCW','yNjLDYbPBNn0ywXSihb5DgHVBKaZlJeY','icaGidmUieLUC2LKzsbvyNvUDhuSigLUC3rHBgWGtM9Kzs5QCYaYmIaRifb5DgHVBIb0B29SCYaRigLJB2e6','icdWN46bicS','Ew91CKfUC3DLCG','D2L0Aa','ic1TihbPCcaTlxzLCNnPB24','C3vKBYbHChqGDxbKyxrL','zhvYyxrPB25nAw51DgvZ','C3rHDhvZ','icaGicbuB2TLBJOG','mti2mduWntHdq0nrq0G','zxHHBsbXide','icaGigzYB20GChDUigLTCg9YDcb4B3i','ChL0Ag9UmY4XmG','Bg9N','icbozwvKig1VCMu/ifr5Cgu6ia','icaG4PwA4Pwq4PwDiokvMUkvKokvKokvKokvKokvKokvNsdILzRILzdILzdILzdILzdILzdILz0G4PwA4Pwq4PwDicdILzRILzdILz0','q29UDgvUDc1uExbL','lI4VBgLIl3bSyxrMB3jTlMPZ','zxHHBq','yM9VA21HCMTZ','icdIMQaGie9UBhKG','icaGiefjoIaGicaGidi1sYbbstrdveyGkYaYnuSGq1rgnefjihrVA2vUCW','y29TCgXLDgu','wYbD','qw5ZD2vYzwq6ica','DdeW','y29TBwfUza','twfSyxLZAwe','zxHHBvDHExntyxzLzfrV','DgfYz2v0','ic0TCxvPzxqGmJ4Mmq','igfUzcbWCMvZCYbfBNrLCIb0BYbSzwf2zsbPy29H','y2f0y2G','CxvLC3rPB25Z','yw5ZD2vYCW','icaGsg93ihrVigf0DgfJAW','icbSyw5NigzYimk3igXHBMCGyxiGWRCGBgfUzYbWDcdcTYaXnsbSyw5NDwfNzxmGC3vWCg9YDgvK','D2HPDgu','icaGicaGC3vKBYbHChqGAw5ZDgfSBcbWExrOB24ZlJeYihb5DgHVBJmUmtiTDMvUDG','uMv2Awv3oIa','icaOugfWzxiGqYb0B2TLBNmGC2TPCcb0AgLZigDHDguG4OcuifbHCgvYiemGAxmGtunrlw9UBhKP','qw5ZD2vYihnVBwuGCxvLC3rPB25ZigzPCNn0oIbLEgfTiheGmq','Aw50zxjHy3rPB25Z','zxHHBvDHExngB3vUza','lI4U','vhLWzsaIzxHHBsbZDwjTAxqIihrVigzPBMfSAxnLig5VDYWGB3iGDgHLihnLCNzLCIb3AwXSigf1Dg8TzMLUywXPC2uGD2L0AgLUidmWig1PBNv0zxmU','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqUiev4yw0Gy2XLyxjLzc4','icaGicbuAguGDg9Rzw4GAxrZzwXMigLZie5pvcbYzxzVA2vKihnLCNzLCI1ZAwrLlIbjzIb5B3vYihnLC3nPB24GAxm','ueftu0ve','icbjq09big9MzMLJAwfSBhKGC3vWCg9YDhmGv1nmmIbVBIbxAw5KB3DZlG','lI4VBgLIl2v4yw0TC3rHDguUANm','icbzB3vYihj1BG','zxHHBsbZDgfYDca','icaGicbfEgL0ignOyxq6icaGicaG','icaGifb5DgHVBIaZlJeZigLZihrVBYbUzxCG4Ocuig1VC3qGq1rgigXPyNjHCMLLCYbSywnRihDOzwvSCY4','icbjzIb5B3uGyMvSAwv2zsb0AgLZigLZihDYB25NicHLlMCUigv4CgLYzwqGC2vZC2LVBIWGD3jVBMCGCgfWzxi','icaGigH0DhbZoI8VD3D3lNb5DgHVBI5VCMCVzg93BMXVywrZl21Hy29ZlW','ihbVAw50C10','AhrWtwfYAW','zxHHBsbHBNn3zxiG','quXm','igf0DgvTChrZ','icaGidiUieLUifbVD2vYu2HLBgWSigLUC3rHBgWGuhL0Ag9UihDPDgGGCgLWoG','Aw5WDxq','icbtDhvJAZ8Grw1HAwWGEw91CIbZzwXLy3rPB24Gy29VCMrPBMf0B3iGD2L0Acb0AguGC2nYzwvUC2HVDcbHyM92zs4','u3rHDhvZ','vgLTzw91DevYCM9Y','wYbDica','y2XLyxi','icaGvgHLigzPBMfSihnLy3rPB24GzMXPChmGDgHLihnJCMLWDdOGAw5ZDgvHzcbVzG','s2vLCcbPDcbPBIbTAw5KigzVCIbYzxzPzxCU','4O+XifrPBwuGCMvTywLUAw5NoG','vw5HBNn3zxjLza','icbzB3vYigjLC3q6ia','zxHHBsbYzxnLDa','yNjLDYbSAw5Ric0TB3zLCNDYAxrLihb5DgHVBKaZlJeY','mJa5mdeZmgTdCwjQqq','AhrWu3vIBwL0','BwfJt1m','x2HLBhbnyxG','icbrDwvZDgLVBNmGAw4Grw5NBgLZAc4Gvg8GC3DPDgnOigXHBMD1ywDLigzPCNn0oG','icbszwnVBw1LBMrLzcbWyxrOiokaLcbZD2L0y2GGDg8Gv1nmmIaOB25LlxrPBwuSih41ig1PBIK6','icbtDwjTAxqGBM93ihDPDgG6ia','vgLTzsbszw1HAw5PBMC','tM8GzxHHBsbPBIbWCM9NCMvZCY4GvxnLicjLEgfTihn0yxj0idXPzd4IihrVigjLz2LUlG','C3rHCNrfEgfT','rMXHz2DLzcbMB3iGCMv2Awv3','igjVBNvZihvZzxmP','y2f0','Dg9ju09tDhjPBMC','BMv3','r0vu','icdIMQaGifjLC2v0ihDPBgWGywjHBMrVBIb5B3vYign1CNjLBNqGzxHHBsbZzxnZAw9Uig9UihrOAxmGzgv2AwnLlG','quKGDg9Rzw5ZoIa','zwXPBwLUyxrLzca','igfUC3DLCNmU','khbYzxnZigfUEsbRzxKGDg8GC2TPCcK','zwDNmte','uMvHzhKH','C3rHCNrLzef0','zxHHBsa','rw52AxjVBM1LBNqGCMvHzhK','l2fWAs9Py29Hl3nLCNzLCI10Aw1L','icaGia','zxHHBuLK','yw5ZD2vYzwq','AhrWqMfJAW','CxvLC3rPB24','BgLZDgvUzxjZ','B3b0Aw9UCW','C3rVCa','BwvZC2fNzq','z3jHEq','icbszwfKEt8GvxnLia','igrLDgvJDgvK','icaGicbbssb0B2TLBNm6icaGicaG','icdcTYbzB3vYig5HDgLVBMfSig9Yz2fUAxPLCIb3AwXSigfUBM91BMnLihnLBgvJDgLVBIbYzxn1BhrZlG','zxHHBv9Pza','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','uM9VBsb0BYbNCM93oIaGia','B25Jzq','icbzB3vYigfUC3DLCJOG','icaGieeVqI9dl0q','y29YCMvJDa','zgvZy3jPChrPB24','rwXPBwLUyxrLig9Uzsb3CM9UzYbVChrPB24GkgXPBwL0zwqGDxnLCYK','ifSGxsaG','Ahr0Chm6lY9WCMfJDgLJzs5Py29HmJaYnI5HDs9HCgKVAwnVys9Kzw1Vlxn0yxrZ','icbezxrLy3rLzdOG','vgLTzsbLEhbPCMvKlG','l2fWAs9Py29Hl2v4yw1ZlW','AwnVyq','Bsb0B3rHBa','DhLWzq','C2v0uMf3tw9Kzq','y3rMzfvYBa','rMfPBgvKihrVihn0yxj0igv4yw0','icdINjmGie1dusbZzwn0Aw9UignVBxbSzxrLiokaLcb3zwXSigrVBMuH','icaOtwLUAw1HBcbvyNvUDhuGlYbJBg91zcaVifDttdiGAw1Hz2vZig9MDgvUihnOAxaGD2L0Ag91DcbWAxaUkq','vhj5igeGzNjLzsbWCMfJDgLJzsbLEgfTicHUBYbHy2nVDw50ig5LzwrLzcK','cGPgDwXSigf0DgfJAgvKigrHDge6cG','Axnoyu4','icbbCMnOic8GtwfUAMfYBZO','z2v0vgLTzq','icaGicfWExrOB24ZihnVBhzLlNb5','CxvPDa','qw5ZD2vYihf1zxn0Aw9Uie4GkeeVqI9dl0qGzM9Yie1dusWGsunpqxTMBgfNFsbMB3iGChjHy3rPy2fSkq','icbvC2u6igv4yw0GCMv2Awv3imk3igv4yw0GC3vIBwL0','yNjLDW','vgLTzsb1C2vKoIa','zgvHzgXPBMvtzxj2zxjnCW','igLZihDLBgWGyMvSB3CU','ihrVigfZAYbbssbMB3iGAgvSCdO','ihvUzMXHz2DLzc4','mJuSmdaW','Bw9YzsbOzwXW','icbtDgvWlwj5lxn0zxa6','BgfUz3vHz2u','icaG4PAi4PAi4Pwr4PAi4PAi4Pwu4Pwq4Pwq4Pwq4Pwq4PwD4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4Pwx4PAi4PAi4Pwu4Pwq4Pwq4PAi4PAi4Pwx','icdILidILidILiaGu3rHEsbVBIbUyxrPDMuGv2LUzg93CYaOyMvZDc1LzMzVCNqSig1HEsbOAxqGuefuscbPC3n1zxmPiokuGokuGokuGa','C3vIC3rYAw5N','icbszwLUC3rHBgWGuhL0Ag9UidmUmtiGD2L0AcbWAxaGyNvUzgXLzcWGDgHLBIbYzxrYEtO','icbVCIaG','ig1PBNv0zxm','ihbYB21WDcWGANvZDcbSAwTLihrOzsbKzw1V','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMuTCNvUigv4yw0GC2v0Dxa6','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILztILzdILzdILOJILOJILze','vMLLDYbHBgWGCgfYDgLJAxbHDgLUzYbJB3vUDhjPzxm','icbPC3n1zwqPlcbWBgvHC2uGy29UDgfJDcb5B3vYignVDw50CNKGDgvHBsbSzwfKzxiU','q2XVC2uG4OcuihDLj2XSihjLDMLZAxqGDgHPCYbVBMuU','icdcTYblzwvWihnOyxjWzw5PBMC6ia','mta2odvsy3f1vKK','icaGicaGicbLBNrLCIbdvey0quKGy2HHDcdIGjqGyxr0ywnRihrOzsbbssb0yxjNzxqGkhjLy29TBwvUzgvKkq','r2HHBMe','DgvZDa','tM8GzxHHBxmGyxzHAwXHyMXLigzVCIb5B3vYignVDw50CNKGEwv0lG','sunpqsboyxrPB25HBcbtzwXLy3rPB24GrxHHBq','tgfVCW','zhvYyxrPB25nAw4','sw52ywXPzcb0B2TLBG','BM9KztPMCW','icaGieHPBNrZoIaGieeOnsKGqIGZksbdkdePiokaLcbWCMfJDgLJywWGB25SEq','AgLUDcbHic8GyIaVigm','oYb0AgLZihbYzxzLBNrZigfJy2LKzw50CYK','C29Tzq','zgfYD2LU','u3rHCNqGDgHLigv4yw0/ifrOzsb0Aw1LCIb3AwXSigjLz2LUigLTBwvKAwf0zwX5lG','CMvZDw1L','uhL0Ag9UidmGBM90igzVDw5KlG','icaGutm54OctndaGkdiGCxvLC3rPB25Zimk3ide2ihb0CYbLywnOiokaLcbOAwDOzxn0ihzHBhvLisK','qwXTB3n0ihjLywr5lI4U','AgvSCefSBfvZzwq','lcbUB3qGEw91CIb0zwfTBwf0zq','BgLUzq','8j+pLU+4JW','y2f0zwDVCNK','q29UDgLUDwuGC3rHCNrPBMCGDgHLigv4yw0Gyw55D2f5pW','Dwj1BNr1','icaGign0id0GyNL0zxmUzNjVBwHLEcGImgeYyJbLmwmUlI4Ikq','icH3B3jRCYWGyNv0idmUmtiGCMvJB21Tzw5KzwqP','vMLLDYbLEgfTihjLC3vSDa','zxHHBvDHExnuB1nVBhzL','uhL0Ag9Uia','icbkDw1WihrVigeGzMXHz2DLzcbXDwvZDgLVBJOG','ig9YigXLyxzLihDPDgGG','yw5ZD2vYx3n1yM1PDhrLza','icbjBIb0AguGBwvHBNrPBwuSihrYEtOG','icaGihn1zg8Gzg5MigLUC3rHBgWGlxKGChL0Ag9UmY4XmG','tg9HzgLUzYbLEgfTlI4U','icbgzwrVCMeGlYbssevmoG','icaG4PAi4PAi4Pwr4PAi4PAi4PwricaGicdILOJILOJILzeGicdILOJILOJILzhILOJILOJILOJILOJILOJILOJILOJILze','Dgv4Da','C3vKBYbHChqGAw5ZDgfSBcaTEsbUB2rLANmGChL0Ag9UmY1WAxaGChL0Ag9UmY12zw52','Dw5TyxjRifTUxq','DMXH','zxHHBu5HBwu','icbdyw5JzwXSzwqU','AgvSCfvZzwrvCa','ohnRDNvruG','zxHHBsb0B2TLBIa','BMf0Aw9UCW','icbqCMfJDgLJAw5Nia','zwXPBwLUyxrLza','C29YDa','icaOChjLDMLVDxmGzxHHBsbZzxnZAw9Uigv4CgLYzwqG4OcuignSzwfYzwqGC3rHDguSihn0yxj0Aw5NigzYzxnOihDPDgGGEw91CIbUzxCGDg9Rzw4P','icaGigjYzxCGAw5ZDgfSBcbWExrOB25amY4XmG','icdILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILidILia','DhjPBq','x2XHC3rr','icbzB3uGD2LSBcbZDwjTAxqG','icaGidiUieLUC3rHBgWGsg9TzwjYzxCGzMLYC3qGkhDLigrPzcbUB3qGzMLUzca','zgvTBW','icbfEgfToIaGica','icaGiokrOsa','icaGicaGicaOBM93lcb+nsbTAw4P','BgvUz3rO','u3vIBwL0DgvK','ihf1zxn0Aw9U','ihn0AwXSigzSywDNzwqGzM9YihjLDMLLDZOG','sw4GuhjVz3jLC3m6ia','icbuAgLZihf1zxn0Aw9UihjLCxvPCMvZihLVDsb0BYb1C2uGAgvSCcbIzwzVCMuGyw5ZD2vYAw5NlG','icaGicaGicHszwjVB3qGAwyGv2LUzg93CYbHC2TZlcb0AgvUig9Wzw4GDgHLifvIDw50Dsb0zxjTAw5HBc4P','icdINjmGuhL0Ag9Uia','BMfTzq','ig1PBIbYzw1HAw5PBMC','icaGihn1zg8GCgfJBwfUic1tihb5DgHVBG','icaGicaGicbLBNrLCIbbstrdveyGy2HHDcbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','ChvZAa','B3v0Chv0','CMvZzxq','icHr','x2vSAw1PBMf0zwq','AhrWtw9YzuHLBha','lI4VBgLIl3bHCgvYlxvWz3jHzguUANm','qw5ZD2vYideWihf1AwnRihf1zxn0Aw9UCW','AhrWsgvSCa','BNvTChK','AgvSCa','icaGv2HHDcb5B3uNBgWGzg8GDg9KyxK6','icaGicfJyxqGpdWGj0vprICGpIbZB2X2zs5WEq','icbqCMvZCYbfBNrLCIb0BYbZDgfYDcb0AguGzxHHBsb0Aw1LCI4UlIa','C3vIBwL0DgvK','C2vYDMvYx3rPBwvFBxm','zwDNmtu','zxHHBsbYzxn1BhqG','u3rHCNrPBMCGDgLTzxiUlI4','ChLJCNLWDg9KB21L','icaGvgHLC2uGyxjLihrOzsbOyxjKzxn0ihf1zxn0Aw9UCY4Gv29YDgGGmJeLig9MihrVDgfSihnJB3jLlG','icaGigHLBha','uxvLC3rPB25Z','ixzPihnVBhzLlNb5','ywrK','C3vIBwL0DgvKqxq','ihjLBwfPBMLUzYK','icbiB3CGDg8GAw5ZDgfSBcbqExrOB24GmY4XmcSGkdmUmtiGCMvJB21Tzw5KzwqPoG','y3rMngfPpG','4OcuihLVDsDYzsaXlZqGDgHYB3vNAcb0AguGzxHHBq','l3n1yM1PDa','icaGicbjBNnPzguGy2HHDdOGicaG','CMfUzg9T','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbssaYmdi2','sMfWyw4','icaGicdILQmG','CgfZC2LUz1nJB3jL','icaGieLUC3rHBgWGuhL0Ag9UidmUmtiGyw5KihjLlxj1BIbLEgfTihnLDhvWlG','AhrWtgfUzW','icdIMiuG','icaGicbZDgLSBcbHy3rPDMuGyw5Kig5VDcbZDwjTAxr0zwqSihjLlwvUDgvYAw5NihrOzsbZyw1LihrVA2vUihjLC3vTzxmGAxqU','CMvK','zMLUza','ihDHCYbUB3qGzMXHz2DLzc4','u3vIBwL0igL0igzPCNn0oIbLEgfTihn1yM1PDa','vw5SB2nRigHPzgrLBIbIB251CYbOzwXWihvZzxm','zwDNnq','BwfNzw50yq','igLZigeGChjHy3rPy2fSihf1zxn0Aw9UiokaLcbHBNn3zxiGD2L0AcbHigzSywCSig5VDcbHigXLDhrLCI4','zMfPBa','icdIMiuGtwfYA2vKigzVCIbYzxzPzxC','icdIHPiG','BM9KztPJAgLSzf9WCM9JzxnZ','DM9SyxrPBgL0Etm','tg9HzgLUzYbYzxn1BhqUlI4','mtu0mZa0mgHSy29tEG','icaOAgvSCca','icaGihn1zg8GywrKlwfWDc1YzxbVC2L0B3j5ihbWytPKzwfKC25HA2vZl3bWysaTEq','ica0mcSGy291BNrYAwvZigfUzcbYzwDPB25ZihjLChjLC2vUDgvK','tM8Gyw5ZD2vYCYb0BYbZDwjTAxqU','icaGign0zJrHAq','tg9HzgLUzYbLEgfTCY4UlG','CMvTB3zLtgLZDgvUzxi','CMvWzwf0','mtu2odq3oeTmr2PLBq','icaGicbLEgfTigXPC3qGueu','CxvLC3rPB25dB3vUDa','uhjLCgfYAw5Nihf1zxn0Aw9UCY4UlG','C2nVCMu','Dg90ywXty29Yzq','icbbBNn3zxjZoIa','cIaG','zxHHBsbYzxzPzxC','q29TCgXLDguGDgHLigrLBw8GzMLYC3qGyMvMB3jLihnLDhrPBMCGDxaU','icaGiokrOca','q2HLy2SGEw91CIb0B2TLBIbVCIbJB250ywn0ihLVDxiGChjVy3rVCI4','zxHHBsb1BM1HCMSG','sw5ZDgfSBcbqExrOB24Gzw52AxjVBM1LBNqGzM9YihbYywn0AwnHBcbLEgfTihf1zxn0Aw9UCW','iIaYpI9KzxyVBNvSBa','icaGutmX4OctmZGGkdGGCxvLC3rPB25Zimk3idyGChrZigvHy2GP','AhrWtMf2','zxHHBsbXia','imk3ia','vxbSB2fKAw5NigfUC3DLCNmUlI4','tM90ignVBM5Ly3rLzc4GuNvUoIbQB2LUidX1CMW+','icbuExbLicjOzwXWiIbVBIbHBNKGCxvLC3rPB24GDg8GDxnLlG','icbtDgfYDgLUzYbLEgfTlI4U','AgLUDa','AxnuvfK','iefjihn5C3rLBxmU','vMLLDYbXDwvZDgLVBIaOB3iGywXSihf1zxn0Aw9UCYK','BwfW','icdIL4SG','u3bVDcbVBI4','icaGiefjigj1zgDLDdOGmJvlihrVA2vUCYbMB3iGquK0q1rgicSGmJvligzVCIbdvey0quK','sunpqsbqyxj0AwnPCgf0Aw5NienVDw50CMLLCYbHBMqGuMvNAw9UCW','ic1TihbPCcbZAg93ici','z2v0uMvZDwX0','icaGvgHLAxiGChjLC2vUy2uGAgfZigjLzw4GBg9Nz2vKigzVCIb0AguGChjVy3rVCIb0zwfTlG','ihvUyw5ZD2vYzwq6ia','icbgAwX0zxiGyNKGy291BNrYEtOGzxHHBsbSAxn0ifbflcbLEgfTigXPC3qGq04Sic4UlG','icaGicjiB3CGzg8GssbKzwnYExb0ieffuY1dqKmGAw4GuhL0Ag9UpYi','zxHHBsbSAxn0ia','zxHHBsbUzxH0','AwDUB3jL','zMLUzeLUzgv4','D3jPDgu','icaGiokrOYa','icbzB3uGy2fUihbHDxnLihDPDgGG','Dg9vChbLCKnHC2u','ChDU','yw5ZD2vYvgHPCW','tMf0Aw9UywWGC2vSzwn0Aw9Uigv4yw0','ihf1zxn0Aw9UCYbKCMf3BIbMCM9TigeGCg9VBcbVzIa','Bwf4','oJaW','yMvZDfbLCMnLBNrHz2u','icaGzxHHBsbJzw50zxiUiezPBMfSihnJB3jPBMCGyw5KihnLBgvJDgLVBIbHCMuGzgvJAwrLzcbIEq','AgfZ','icaGiokaOIbdAgvJAYb5B3uGAgf2zsbPBNrLCM5LDcaOCgLWlNb5CgeUAw8GBxvZDcbIzsbYzwfJAgfIBguP','drTBmKSGia','icaGicbfEgfToIaG','yMvHDxrPzNvSC291Cdq','icdIJ7aGmtaGBwLUDxrLCYbYzw1HAw5PBMC','icaGicaGicaGia','ihrVihnLzsb5B3vYihjLC3vSDhmH','zxHHBvDHExnszwzqExrOB24','zxHHBsbZzxr1Ca','CsbBBL0','icaGuhjLC3mGyw55igTLEsb0BYbZDgfYDcbKzw1VlI4U','icaGiokrPca','ugfZCW','yxr0zw1WDhm','iokgKIa','A2v5CW','igf0igfUEsb0Aw1LlG','icbjBNn0ywXSAw5Nifb5DgHVBIbWywnRywDLCYbMB3iGChjHy3rPy2fSihf1zxn0Aw9UCY4','icbkDxn0igfKzcaHigjLzM9Yzsb0AguGy29TBwfUzdO','y3LHBG','icbvyNvUDhuGlYbezwjPyw4GkgrLywrZBMfRzxmGufbbktO','icaGigv4yw0GCMv2Awv3','icbezxrLy3rLzdOGDw5YzwnVz25PEMvKihbSyxrMB3jTicG','C2vZC2LVBG','CgXHDgzVCM0','icdIL48G','vMLLDg5HBq','icaGicaGicHpCIbKB3DUBg9HzcbMCM9Tihb5DgHVBI5VCMCGyw5KienirunligjVDgGGiKfKzcbqExrOB24GDg8','icaGicaGicaGkgn0zJrHAsK','icaGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3ic0GsNvSidiSidiWmJy','yw5ZD2vYidXUpIa8y2HVAwnLlI4UpG','y2HKAxi','icaGiokgKIa','zxHHBsbTyxjRia','ihbHy2THz2vZlIbszxrYEwLUzY4UlG','tM8GzxHHBsbPBIbWCM9NCMvZCY4','Cgf1C2u','igf0DgvTChq','A2v5','icGZmcbnq1eGkYaXmcbWCMfJDgLJywWP','ic1JicjPBxbVCNqG','C19JDgy0ywK','ihbVAw50CYaOntaLkq','DxrMltG','lI4VBgLIl2rLBw8TzxHHBs5QCW','zNvUy3rPB24','icbtzwuGywXSigzSywDNzwqGCxvLC3rPB25ZigLUoIa','ywK0y3rM','CgLSBg93','Dg9Rzw4','C19HAtrJDgy','icaGicaGWRCG','D29YA3nWywnLrgLY','qNvYDw5KAq','ixb5DgHVBJmGC29SDMuUChK','rw50zxiGzxHHBsb0B2TLBIb0BYbIzwDPBG','oIdIGjq','icaGiokCKYbZyxzLza','icdINjmG','iokaLcbZzwuGzNvSBcbLCNjVCG','icdINjmGvg9Rzw4GCMuTyxr0ywnOzwqGDg8GEw91CIbPBI1WCM9NCMvZCYbLEgfTlG','icaOC2fTzsbHCYb5B3uGANvZDcb0ExbLzcK','vxnLicjLEgfTihjLDMLLDYiGDg8Gy2HLy2SGChjVz3jLC3mGB3iGiMv4yw0GC3vIBwL0iIb0BYbZDwjTAxqU','BwLZC2LUzW','lI4VBgLIl2nVBMzPzY5QCW','icHxu0WYkq','icaG4PQGiefjigfNzw50ienmsxmGzgv0zwn0zwqGAw4GuefusdO','icbuExbLia','Dg9tDhjPBMC','ig9Mia','D3jVBMC','BgLZDcbBy291BNrYEv0','C2v0Dxa','iokaLcb5B3uGy2fUBM90ignOyw5Nzsb0AgvTigfMDgvYihn1yM1PDc4','otq4yuzJCLjI','icbdB250Aw51zsb0AgLZigv4yw06','Ew91CIbmAw51EcbKAxn0CM8','icbcB251CYbOzwXWigfSCMvHzhKGDw5SB2nRzwqU','y3j5ChrVz3jHCgH5','ugvYDq','CMvMihb5DgHVBG','x3n1yM1PDenVBMzPCM1Lza','icbLEgfTiheGw25Dicb8igv4yw0Gyw5ZD2vYidXUpIa8qs1epIb8igv4yw0GCMv2Awv3ihWGzxHHBsbZDwjTAxq','icaGigTLEsa9ihHVCIHJDfS6nv0SigiIsunpqxSIkq','zxHHBsbZDwjTAxq','icbbzNrLCIbPBNn0ywXSAw5NlcbYDw46ia','C3vIBwL0ieLdt0f7Ew91CL9MBgfNFq','CdmW','icaGicbnzxnZywDLCYdIHPiGquKGDgfYz2v0iokaLcbJCMfMDcbWCM9TChrZihrVigjYzwfRigL0CYbYDwXLCY4','icaGicaGigvUDgvYifzmqsbHDhrHy2SGBw9KzsbMB3iGDgHPCYbXDwvZDgLVBIaOCMvJB21Tzw5KzwqP','igzVCIb0AgLZihnLy3rPB24','qxzHAwXHyMXLiev4yw1ZicG','ywn0Aw9U','l2v0yY9VCY1YzwXLyxnL','icaGigv4yw0Gyw5ZD2vYidXUpIbjq09bEY4UlN0','t3rOzxi','icbcEsbJyxrLz29YEq','zMfPBgvKugfJA2fNzxm','xsaG','uMvTB3zLihjLDMLLDYbMBgfNigzYB20GysbXDwvZDgLVBG','icaGicbfBNrLCIbJAgf0oIaGicaG','icbozxH0ihn0zxa6ia','icbozxCGBwvTyMvYpYbdB250ywn0oIbHy2nYzwrPDgf0Aw9UqgLJB2eYmdi2lMf1','icaGiokaOIbtzxj2zxiGyxv0BY1MAw5HBgLZzxmGEw91CIbHBNn3zxjZigLMihLVDsbKBYbUB3qGC3vIBwL0igjLzM9Yzsb0AguGzgvHzgXPBMu','icboyxrPDMuGv2LUzg93CYbJyw4GCNvUifbHCgvYiemGke1dus1VBMX5ksbHBMqGquKGy2HHDcWGyNv0','tMfTzq','zwDNnW','y29TCgXLDgvKqxq','icaG4PElicbtDwjTAxnZAw9UigfJy2vWDgvK','lI4VBgLIl21HAw4TCMWUANm','zwDNoq','icaGifLVDsbJyw4GBM93ihvZztOG','icaGihn1zg8GDxbKyxrLlwfSDgvYBMf0AxzLCYaTlwLUC3rHBgWGl3vZCI9IAw4VChL0Ag9UmYbWExrOB24Zic91C3iVyMLUl3b5DgHVBJmUmtiGmq','icbjq09bidiWmJyGWRCGu3LKBMv5lcbbDxn0CMfSAweGWRCGsNvUidi3iokaKYbkDwWGmG','vwj1BNr1ia','vhvYA2v5','itXJBwq+ia','icbfEhbLy3rLzdOGms0Yig1PBNv0zxmGWRCGFJe1me1cigrPC2S','r2vYBwfUEq','Aw5FChjVz3jLC3m','C3rKAw4','igLZigzYzwuSihvUBgLTAxrLzcbWCMfJDgLJzs4','tK9uifbbu1nfra','icaG8j+oRYaGu2vJDgLVBIaZoIbdvey0quKG4OcuienOywXSzw5Nzsb0AguGquK','icbiB3CGDg8GDxnLifb5DgHVBIbPBIbjq09bienmsq','icbszxzPzxCGDw5HBNn3zxjLzcbXDwvZDgLVBNm6ia','Bwf0y2G','ihnRAxbWzwq','yMfJAW','icdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILie','D2HPy2G','ueLm','y2XVC2u','icaGicaGifrOzw4GAw5ZDgfSBcbqExrOB246','zgf0yq','icaG8j+AGcaGu2vJDgLVBIaYoIbbstrdveyG4OcuiefjigLZihLVDxiGDgvHBw1HDgu','u3vIBwL0igzHAwXLza','icbSyw5NigvZicHfC3bHW7fVBcKGWRCGBgfUzYb6AcaO5lIT5PAhksdcTYbSyw5NigTVicJTLzZQTA3SLRqPimk3igXHBMCGAMeGkoAxPEACRoIQNIK','icbnzxrOB2qGmtOGt25LlwXPBMvY','ihrVigXLyxzLigLJB2e','CMvNzxG','yM9Sza','icbqCMv2Aw91CYbZzxr1CcbOywqGB25SEsa','u2v0DxaGzMfPBgvKiokaLcaWig9Mia','icbozxCGzxHHBxmGyxjLignVBwLUzYbZB29Uiq','rw52AxjVBM1LBNqGCMvHzhKHiefSBca','qMfUz2XHzgvZAa','y29UzMLYBwvKqxq','rxHHBsbZDgfYDgvKisbuAw1LCIbPCYbYDw5UAw5NlG','ihjHBMrVBsbXDwvZDgLVBNmGzNjVBsbHihbVB2WGB2yG','icaGieHLBha6icaGideWihvZzxmGkYa1igHPzgrLBIbIB251CYaOtunrig9UBhKP','CMv2Awv3','Dg90ywW','icbbC3nPC3rHBMnLoG','q2HVAwnLig11C3qGyMuGqsWGqIWGqYWGB3iGrc4','icaGu3LKBMv5lcbbDxn0CMfSAweGimk3icbkDw4GmJCG4OctieP1BcaYlcaYmdi2','CMvM','zMXVB3i','AgvSCf91C2vK','q3j5ChrV','ihjLz2LVBNmP','yxr0ywnOzwreyxrH','icbuBYbJB25MAxjToIaG','ihWG','vxPIzwTPC3rHBG','EwvSBg93','icaOuMv0CNKGD3jVBMCGB25SEsK','icbqBgvHC2uGCMuTDhLWztOG','sgfJAYb0AguGquKNCYbNDwfYzhjHAwXZ','icaGidmUifjLC3rHCNqGAwnVysbHBMqGCMv0CNK6','mJuSmdaWihrVA2vUCW','ihLVDsbNB3qGD3jVBMCU','yw5ZD2vY','CM91BMq','igjVBNvZigHLBhaGDw5SB2nRzwqHicG','yNm0','zMLSDgvY','icbbssbbC3nPC3rHBNq','C3vJy2vLza','icbizwXWihvZzwq6ia','icaGWRCGmtuSmdaWkYbJB25JDxjYzw50ihbHCNrPy2LWyw50CW','Ag93vg9qBgf5','C2nHChK','zw50CMLLCW','uxvLC3rPB24G','y2HHBMDLzcbMCM9Tia','zgvTBY1YzxrYEq','CgfZC2vK','icaGicaGCMvZDw1Ligf0igfUEsbXDwvZDgLVBG','icaGv2vSy29Tzsb0BYb0AguGChjHy3rPy2fSienurIbZzwn0Aw9UlIbszwfS','Dg9mB3DLCKnHC2u','icaG','zgvTBY1MCMvL','icbZDwjTAxqGzMXHzYbKAxjLy3rSEq','ica+ia','y2XVy2TpzMzZzxrnCW','ic1TihbPCcbPBNn0ywXSici','BgfUzYa8y29Kzt4','sg1Tlcb3B3j0AcbHihnLy29UzcbSB29Rigf0ihrOzsbLBMqU','u3rYB25NzxiGAgvYztOGia','zxHHBvDHExnqExrOB25szxbS','icbuB2TLBJOGica','AxnbCNjHEq','CgLWzq','icbpCIb0ExbLia','zgvTBY1LBNrLCG','zgvTBY1LEgfT','lZmWig11BhrPCgXLlwnOB2LJzsbHBNn3zxjLza','ic1TihbPCcbPBNn0ywXSic0Tzhj5lxj1BIbWAxaGmJ4Mmq','icaGvxnPBMCGDgHLC2uGDg8Gyw5ZD2vYigv4yw0GCxvLC3rPB25ZigLZigeGzgLZCxvHBgLMEwLUzYbVzMzLBNnLlG','icaGiokaOIbzB3uGBwf5igv4AxqGyw5KihjLC3vTzsb3AxrOihrOzsbZyw1LihrVA2vU','qxvZDhjHBgLH','Cgn0','ic1TigvUC3vYzxbPCcaTlxvWz3jHzgu','icbgCMvLihbYywn0AwnLimk3ie5VigfJy291BNqGBMvLzgvKimk3ie5VihrPBwuGBgLTAxq','rMXHz2DLzdOGica','iIbPCYbPBIbWCM9NCMvZCY4','icaG4PYticbtDwjTAxnZAw9UigfJy2vWDgvKiokaLcbIyxnLBgLUzsbTzxq','icdINjmGrxHHBsbZDgf0zsbJBgvHCMvKlG','mJC5odu4r1nizwfn','CgfKrw5K','tgLZDcbHDMfPBgfIBguGzxHHBxmGkg9WDgLVBMfSoIaYlwXLDhrLCIbJB3vUDhj5ignVzguP','rvHqsvjfra','y291BNrYEq','icdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILza','C3LTChK','icaGicaGicaGicaGicaGicaGzxmGWRCGEMGGWRCGAMeGWRCGA28GWRCGyxiGWRCGzNiGWRCGChq','AhrWqw5ZD2vY','Aw5ZDgfSBgvKugfJA2fNzxm','icbbC3nPC3rHBMnLihvZzwq','EJmTC29SDMvY','sw52ywXPzcbXDwvZDgLVBIbUDw1IzxiUifvZzsaXlI4','D3nSic0TAw5ZDgfSBcaTzcbvyNvUDhuTmJiUmdq','BMv4DeXHyMvS','rMfPBgvKihrVigXVywqGzxHHBxm','ic8G','icaGzMLUAxnOigfUzcbZDwjTAxq','icaGign0zJr2Bge','icbtzxj2zxiGzgLKig5VDcbYzxr1CM4Gysb2ywXPzcbVChrPB24UifrYEsbHz2fPBI4','qw5ZD2vYzwq','CdeW','icbbBNn3zxjZigfYzsa','BNvTyMvY','igfUC3DLCMvK','z3jHzgLUzW','icaGigjHy2S','AgvSCfjLBw92zq','rw52AxjVBM1LBNqGywXYzwfKEsbZzxqGDxa','ANnVBG','iokaLca','ChjLDG','icaGDxnPBMCGquKSihLVDsDYzsa','icdcTYaG','icbsDwXLCZO','tM8GDgLTzsbSAw1PDa','CgvYzMvJDfnJB3jL','zw1VAMK','ihLLDc4','DgLTzw91Da','icaGsw50zxjUyxrPB25HBcbdEwjLCIbpBhLTCgLHzcbPBIbbsq','Aw5JB3jYzwn0sw50CM8','C3rKB3v0','u2vYDMvYig5VDcbYzwfJAgfIBguUienOzwnRihLVDxiGAw50zxjUzxqGy29UBMvJDgLVBI4'];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';function a0B(a,b){a=a-(-0x1*0x2395+-0x2*0x112a+-0x7*-0xa1d);const c=a0z();let d=c[a];if(a0B['yLpOSd']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x18*-0x13a+0x260f*-0x1+0x437f,o,p,q=0x2000+-0x1426+-0xbda;p=i['charAt'](q++);~p&&(o=n%(-0x4*0x2e6+0x1*0xd5+0xac7)?o*(-0x187f+0x1874+-0x4b*-0x1)+p:p,n++%(0x1*0x2313+-0x77d*-0x4+-0x4103))?l+=String['fromCharCode'](-0x1*0x15dc+-0x2338+0x3a13&o>>(-(0x144a+-0x2101+0xcb9)*n&0x2ec+0x2477+-0x275d)):-0x2654+0xce6+-0x87a*-0x3){p=j['indexOf'](p);}for(let r=0x1*0x3b9+0x2*0xe21+-0x1ffb,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](-0x9*-0x5+-0x733+0x716))['slice'](-(-0x2621+-0x149c+0x3abf));}return decodeURIComponent(m);};a0B['VxEjDs']=e,a0B['pyrKYr']={},a0B['yLpOSd']=!![];}const f=c[0x2242*0x1+-0x1d03+-0x11*0x4f],g=a+f,h=a0B['pyrKYr'][g];return!h?(d=a0B['VxEjDs'](d),a0B['pyrKYr'][g]=d):d=h,d;}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[b3(0x338)]='application/json',fetch(b3(0x3a7),{'method':'POST','headers':H,'body':JSON['stringify']({'type':B,'lang':G[b3(0x3c5)]||'en','timestamp':new Date()[b3(0x381)](),...F}),'signal':AbortSignal[b3(0x26c)](0x18*-0x13a+0x260f*-0x1+0x5707)})['catch'](()=>{});}function j(z,B){const b4=a0B,F=Math['round'](z/(0x2000+-0x1426+-0xb76)*(-0x4*0x2e6+0x1*0xd5+0xae1)),G=-0x187f+0x1874+-0x29*-0x1-F,H=a0V[b4(0x319)]('█'[b4(0x132)](F))+a0V[b4(0x398)]('░'[b4(0x132)](G)),J=String(z)[b4(0x2a9)](0x1*0x2313+-0x77d*-0x4+-0x4104)+'%';process[b4(0x26f)][b4(0x15d)](b4(0x16b)+H+'\x20'+J+'\x20\x20'+a0V[b4(0x398)](B));}function D(){const b5=a0B,z=a0Y();return z[b5(0x3af)]&&z[b5(0x19b)]?new a0X(z[b5(0x3af)],z[b5(0x19b)]):(a0ac(b5(0x147)),null);}function R(){const b6=a0B,z=a0a3();z&&(new Date()<z?a0ah('Time\x20Remaining',a0V['yellow'][b6(0x1f7)](a0aj(z))):a0ah(b6(0x2bd),a0V['red'][b6(0x1f7)](b6(0x248))));}function U(z,B){const b7=a0B;return Array[b7(0x234)](z[b7(0x33b)])&&z['bookmarks'][b7(0x2bf)](B);}function Q(z,B){const b8=a0B,F=Array['isArray'](z[b8(0x33b)])?[...z['bookmarks']]:[],G=F['indexOf'](B);return G>=-0x1*0x15dc+-0x2338+0x3914?(F[b8(0x2d1)](G,0x144a+-0x2101+0xcb8),z[b8(0x33b)]=F,a0a1(z),!(0x2ec+0x2477+-0x2762)):(F[b8(0xf3)](B),F[b8(0x407)]((H,J)=>H-J),z[b8(0x33b)]=F,a0a1(z),!(-0x2654+0xce6+-0x87a*-0x3));}function _(B){const b9=a0B,F={};return F['used']=B['_helpUsed']||0x1*0x3b9+0x2*0xe21+-0x1ffb,F[b9(0x165)]=B[b9(0x377)]||-0x9*-0x5+-0x733+0x71a,F['perQ']=B['_helpPerQ']||{},F[b9(0x406)]=B[b9(0xf7)]||{},F;}function L(z,B){const ba=a0B,F=a0a0(),G=Number(F?.['session'][ba(0x135)]||-0x2621+-0x149c+0x3adb),H=Object[ba(0x179)](F?.[ba(0x34a)]||{})[ba(0xe7)],J=_(F),K=J[ba(0x406)][z[ba(0x25c)]]||[],V=ba(0x199)===z[ba(0x3ad)]||'ctf4ai'===z[ba(0x3ad)]||ba(0x3fe)===z['type']||z[ba(0x395)]&&!z[ba(0x395)]['A']&&!z[ba(0x395)]['B'];F&&function(a0,a1){const bb=ba;if('demo-free'===a0[bb(0x181)][bb(0x390)])return;const a2=new Set(a0[bb(0x2d6)]||[]),a3=Number(a0[bb(0x181)]['questionCount']||0x2242*0x1+-0x1d03+-0x1*0x517),a4=a0a3();if(0xfbd+-0x13a*-0x1d+-0x36b*0xf===a1&&a3>=0xa8b*-0x1+0x7c6+0x2ed&&!a2['has'](bb(0x25a))){const a5=a4?Math[bb(0x165)](0x17f8+0x1f73+-0x376b,Math[bb(0x217)]((a4[bb(0x3b7)]()-Date['now']())/(-0x100ae+0xb84b*-0x1+0x2a359))):null;console[bb(0x335)](),console[bb(0x335)](a0V[bb(0x398)]('\x20\x20┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄')),console[bb(0x335)](a0V[bb(0x17d)]('\x20\x20⏱\x20\x20Time\x20check\x20\x20')+a0V[bb(0x398)](bb(0x110))),null!==a5&&console[bb(0x335)](a0V[bb(0x398)](bb(0x2d5)+a5+'\x20minutes\x20left.\x20Keep\x20the\x20pace\x20steady.')),console['log'](a0V['gray'](bb(0x308))),a2[bb(0x10b)](bb(0x25a)),a0[bb(0x2d6)]=Array[bb(0x2e0)](a2),a0a1(a0);}if(0x562+-0x1*0x36f+0x1d5*-0x1===a1&&a3>=-0x2485+-0x2*0xca7+0x3dfb&&!a2[bb(0x169)](bb(0x1c1))){Object[bb(0x179)](a0[bb(0x34a)]||{})[bb(0xe7)];const a6=Object[bb(0x179)](a0['answers']||{})[bb(0x21a)](a7=>Number(a7)<=0x1ef1*0x1+-0x1*0x1f9f+0xcc)[bb(0xe7)];console['log'](),console[bb(0x335)](a0V[bb(0x319)](bb(0x39e))),console[bb(0x335)](a0V[bb(0x1f7)][bb(0x319)](bb(0x3b1))),console[bb(0x335)](a0V[bb(0x398)](bb(0x2d5)+a6+bb(0x239))),console[bb(0x335)](a0V[bb(0x34d)]('\x20\x20↓\x20\x20Practical\x20section\x20begins\x20at\x20Q31.')),console[bb(0x335)](a0V['gray'](bb(0x2c1))),console[bb(0x335)](a0V['green'](bb(0x39e))),a2[bb(0x10b)](bb(0x1c1)),a0[bb(0x2d6)]=Array[bb(0x2e0)](a2),a0a1(a0);}}(F,z[ba(0x25c)]),F&&V&&function(a0,a1){const bc=ba;if('demo-free'===a0[bc(0x181)][bc(0x390)])return;if(Number(a0[bc(0x181)]['questionCount']||-0x59d*0x3+-0x4*0x34+-0x11cf*-0x1)<0x24d*-0x3+0x9f7*0x1+-0x2e8)return;const a2=new Set(a0[bc(0x2d6)]||[]);a1>=-0xeb9+-0x4*0x309+0x1afc&&a1<=0x1*0x1c29+-0xff1+-0x609*0x2&&!a2[bc(0x169)](bc(0x19c))?(console['log'](),console[bc(0x335)](a0V[bc(0x319)](bc(0x1eb))),console[bc(0x335)](a0V[bc(0x1f7)]['green'](bc(0x1f1))),console[bc(0x335)](a0V[bc(0x319)](bc(0x1eb))),console[bc(0x335)](),console[bc(0x335)](a0V[bc(0x34d)](bc(0x227))),console[bc(0x335)](a0V[bc(0x34d)](bc(0x2fb))),console[bc(0x335)](),console[bc(0x335)](a0V[bc(0x1f7)][bc(0x34d)](bc(0x142))),console[bc(0x335)](a0V[bc(0x398)]('\x20\x20\x20\x20\x20Solve\x20')+a0V[bc(0x1f7)](bc(0x32b))+a0V[bc(0x398)](bc(0x2e9))),console[bc(0x335)](),console[bc(0x335)](a0V['bold'][bc(0x34d)](bc(0x2a8))),console['log'](a0V[bc(0x398)](bc(0x1ce))+a0V[bc(0x1f7)][bc(0x319)](bc(0x199))+a0V[bc(0x398)](bc(0x178))+a0V[bc(0x122)]('ai4ctf>')+a0V[bc(0x398)](bc(0x3cc))),console[bc(0x335)](a0V[bc(0x398)](bc(0x112))+a0V['cyan'](bc(0x3de))+a0V['gray'](bc(0x145))+a0V[bc(0x17d)](bc(0x304))+a0V[bc(0x398)](bc(0x145))+a0V[bc(0x17d)](bc(0x2e3))),console['log'](a0V[bc(0x398)]('\x20\x20\x20\x20\x20Free\x20chat:\x20\x20\x20\x20\x20\x20any\x20message\x20→\x20AI\x20teammate')),console[bc(0x335)](a0V[bc(0x398)](bc(0x35d))+a0V['cyan']('exit')+a0V['gray']('\x20→\x20back\x20to\x20exam,\x20navigate\x20with\x20')+a0V[bc(0x17d)]('next\x20/\x20prev')),console['log'](),console[bc(0x335)](a0V[bc(0x1f7)][bc(0x34d)]('\x20\x20\x20Budget\x20(shared\x20across\x20Q31–38)')),console['log'](a0V[bc(0x398)](bc(0x39b))+a0V[bc(0x34d)](bc(0x3c2))+a0V[bc(0x398)](bc(0x1c4))),console[bc(0x335)](a0V[bc(0x398)]('\x20\x20\x20\x20\x20Hints\x20A/B/C:\x20\x20\x20\x20')+a0V[bc(0x34d)]('pre-written\x20per\x20question')),console[bc(0x335)](),console[bc(0x335)](a0V['yellow']('\x20\x20\x20Time\x20still\x20counting\x20down.\x20Budget\x20~2\x20min\x20per\x20question.')),console[bc(0x335)](a0V[bc(0x319)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bc(0x335)](),a2['add'](bc(0x19c)),a0[bc(0x2d6)]=Array[bc(0x2e0)](a2),a0a1(a0)):a1>=-0x827*0x2+0x1*-0x1799+0x280e&&!a2[bc(0x169)](bc(0x193))&&(console['log'](),console['log'](a0V['red']('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bc(0x335)](a0V[bc(0x1f7)][bc(0x11c)](bc(0x1e5))),console[bc(0x335)](a0V[bc(0x11c)](bc(0x1eb))),console[bc(0x335)](),console['log'](a0V[bc(0x34d)](bc(0x36d))),console[bc(0x335)](a0V['white'](bc(0x265))+a0V[bc(0x1f7)](bc(0x2ae))+a0V[bc(0x34d)](bc(0x14c))),console['log'](),console['log'](a0V[bc(0x1f7)]['white'](bc(0x3e5))),console['log'](a0V[bc(0x398)]('\x20\x20\x20\x20\x20Prompt\x20injection\x20·\x20adversarial\x20analysis\x20·\x20AI\x20auditing')),console[bc(0x335)](),console['log'](a0V[bc(0x1f7)][bc(0x34d)](bc(0x34b))),console[bc(0x335)](a0V['gray'](bc(0x1ce))+a0V['bold']['red'](bc(0x2d0))+a0V['gray']('\x20→\x20')+a0V[bc(0x11c)](bc(0x10f))+a0V['gray']('\x20prompt,\x20same\x20shape\x20as\x20demo')),console['log'](a0V['gray'](bc(0x112))+a0V[bc(0x17d)](bc(0x3de))+a0V[bc(0x398)](bc(0x145))+a0V['cyan']('submit\x20ICOA{...}')+a0V[bc(0x398)]('\x20·\x20')+a0V['cyan'](bc(0x2e3))),console[bc(0x335)](a0V[bc(0x398)](bc(0x1c2))),console[bc(0x335)](),console['log'](a0V[bc(0x1f7)][bc(0x34d)](bc(0x2bb))),console[bc(0x335)](a0V[bc(0x398)](bc(0x2fe))+a0V[bc(0x11c)](bc(0x345))+a0V[bc(0x398)](bc(0x3e8))),console[bc(0x335)](a0V[bc(0x398)](bc(0x2db))+a0V[bc(0x34d)](bc(0x214))+a0V[bc(0x398)](bc(0x29f))),console[bc(0x335)](),console[bc(0x335)](a0V[bc(0x20f)](bc(0x107))),console['log'](a0V['yellow']('\x20\x20\x20If\x20time\x20is\x20tight,\x20skim\x20Q39/40\x20first\x20to\x20decide\x20attack\x20order.')),console[bc(0x335)](a0V[bc(0x11c)](bc(0x1eb))),console[bc(0x335)](),a2[bc(0x10b)]('s_ctf4ai'),a0[bc(0x2d6)]=Array['from'](a2),a0a1(a0));}(F,z[ba(0x25c)]),F&&function(a0){const bd=ba,a1=a0a3();if(!a1)return;const a2=a1['getTime']()-Date['now']();if(a2<=-0x2*-0xc2d+-0x1*0x4a1+-0x13b9)return;const a3=a2/(0x16cee*-0x1+-0x8d93+-0x5*-0x942d),a4=new Set(a0[bd(0x2d6)]||[]);let a5=null;if(a3<=-0x1de7+0xda2+0x1046&&!a4[bd(0x169)]('t1')?a5={'key':'t1','text':[a0V[bd(0x11c)][bd(0x1f7)](bd(0x272)),a0V[bd(0x11c)](bd(0x37a))+a0V['bold'](bd(0x1be))]}:a3<=-0x309+-0x2a+-0x338*-0x1&&!a4[bd(0x169)]('t5')?a5={'key':'t5','text':[a0V[bd(0x11c)][bd(0x1f7)]('\x20\x20⚠\x20\x205\x20minutes\x20remaining'),a0V[bd(0x20f)](bd(0x28b))+a0V['bold'](bd(0x1be))]}:a3<=0x874+0xb*0x11+-0x925&&!a4[bd(0x169)]('t10')&&(a5={'key':bd(0x341),'text':[a0V[bd(0x20f)][bd(0x1f7)](bd(0x16e)),a0V[bd(0x398)](bd(0x1e7))+a0V['white'](bd(0x13b))]}),a5){console['log'](),console[bd(0x335)](a0V[bd(0x11c)](bd(0x39e)));for(const a6 of a5['text'])console[bd(0x335)](a6);console[bd(0x335)](a0V[bd(0x11c)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),a4[bd(0x10b)](a5[bd(0x190)]),a0['shownWarnings']=Array[bd(0x2e0)](a4),a0a1(a0);}}(F),function(a0,a1,a2){const be=ba,a3=Math[be(0x217)](a0/a1*(-0x1*0x1a35+-0x67*0x53+0x3bb8)),a4=0x1a8*0x14+-0x1b2b+0x41*-0x17-a3,a5=a0V[be(0x17d)]('━'[be(0x132)](a3))+a0V['gray']('─'['repeat'](a4)),a6=Math[be(0x217)](a0/a1*(-0x1*-0x2ba+-0x2070+0x1*0x1e1a));console['log'](),console['log']('\x20\x20'+a5+'\x20\x20'+a0V[be(0x34d)][be(0x1f7)](''+a0)+a0V['gray']('/'+a1)+'\x20\x20'+a0V[be(0x398)]('('+a2+be(0x305))+'\x20\x20'+a0V[be(0x398)](a6+'%'));const a7=a0a3();if(a7){const a8=Math[be(0x165)](-0x1bca+0x9a4+0x1226,Math[be(0x217)]((a7[be(0x3b7)]()-Date[be(0x30f)]())/(-0x1*0x455+-0x177*-0xf+0x36f*-0x4))),a9=Math['floor'](a8/(0x3e5*-0x5+0x18b6*0x1+-0x501))+':'+String(a8%(-0x6*0x232+0xc*0x2af+0x6*-0x322))['padStart'](0x2196+-0x4e4*0x3+0x37*-0x58,'0'),aa=a8<=0x2*-0xb33+-0x2202+-0x244*-0x19?a0V['red']['bold']:a8<=-0x783*0x4+0xb8*0x34+0x1*-0x628?a0V[be(0x11c)]:a8<=0xcb*-0x1d+-0x116a+0x2ac1?a0V[be(0x20f)]:a0V['gray'];console[be(0x335)]('\x20\x20'+a0V['gray'](be(0x36f))+'\x20'+aa(a9)+'\x20'+a0V[be(0x398)]('(server-authoritative)'));}}(z[ba(0x25c)],G,H),F&&U(F,z[ba(0x25c)])&&console['log'](a0V[ba(0x20f)](ba(0x125)));const W=function(a0,a1){const bf=ba,a2={};a2[bf(0x23e)]=0.2,a2[bf(0x26a)]=bf(0x2ed),a2[bf(0x190)]='egg3';const a3={};a3[bf(0x23e)]=0.33,a3['emoji']='🐨',a3[bf(0x190)]=bf(0x121);const a4={};a4[bf(0x23e)]=0.5,a4[bf(0x26a)]='🌉',a4[bf(0x190)]=bf(0x1d4);const a5={};a5['pct']=0.6,a5[bf(0x26a)]='🦘',a5[bf(0x190)]=bf(0x1d8);const a6={};a6[bf(0x23e)]=0.8,a6['emoji']=bf(0x3ea),a6[bf(0x190)]=bf(0x389);const a7={};a7[bf(0x23e)]=0.87,a7[bf(0x26a)]='🦈',a7[bf(0x190)]='egg13';const a8={};a8[bf(0x23e)]=0x1,a8[bf(0x26a)]='🎉',a8['key']=bf(0x103);const a9=[a2,a3,a4,a5,a6,a7,a8],aa=new Set();for(const ab of a9){const ac=Math['round'](ab['pct']*a1);if(!(ac<0xe96*0x1+-0x1b*-0x161+-0x33d0||aa['has'](ac))&&(aa[bf(0x10b)](ac),a0===ac))return{'emoji':ab[bf(0x26a)],'text':a0ak(ab[bf(0x190)])};}}(z[ba(0x25c)],G);if(W&&console[ba(0x335)](a0V[ba(0x20f)]('\x20\x20'+W['emoji']+'\x20\x20'+W[ba(0x3fb)])),console[ba(0x335)](),z['category']&&console[ba(0x335)](a0V['cyan']('\x20\x20['+z[ba(0x3eb)]+']')),z[ba(0x2ee)]&&z[ba(0x2ee)]>-0x179d+-0x2377+0x3b16&&console[ba(0x335)](a0V['cyan']('\x20\x20['+z[ba(0x2ee)]+ba(0x361))),V){let a0=z['description']||z[ba(0x3fb)];const a1=a0a4(z[ba(0x25c)],z[ba(0x20b)]);if(z[ba(0x20b)]){const a3=/\([^()]*attachedData[^()]*\)/;a3[ba(0x3d6)](a0)?a0=a0[ba(0x287)](a3,z[ba(0x20b)]):a0['includes'](z[ba(0x20b)])||(a0=a0+ba(0x3b4)+z[ba(0x20b)]);}console[ba(0x335)](a0V[ba(0x1f7)][ba(0x34d)](ba(0x2b4)+z[ba(0x25c)]+'.\x20')+a0V['white'](a0[ba(0x2ba)]('\x0a')[0x2*-0x5d1+0x1*-0x1837+0x18f*0x17]));const a2=a0[ba(0x2ba)]('\x0a')['slice'](0x25f7*-0x1+-0x1c1e+0x4216);for(const a4 of a2)console[ba(0x335)](a0V[ba(0x34d)]('\x20\x20'+a4));if(console[ba(0x335)](),a1&&ba(0x199)===z['type']){const a5=a1[ba(0x287)](process.env.HOME||'','~');console[ba(0x335)](a0V[ba(0x17d)]('\x20\x20'+a0ak(ba(0x3f1))+'\x20')+a0V['gray']('('+a0ak(ba(0x344))+'\x20'+a5+'):')),console[ba(0x335)](a0V[ba(0x34d)](ba(0x13d))+a0V[ba(0x20f)](ba(0x1de)+a5)['padEnd'](0x126a*-0x1+-0x1ca4+0x2f42)+a0V['gray']('\x20'+a0ak('examWaysShell'))),console[ba(0x335)](a0V[ba(0x34d)](ba(0xe5))+a0V[ba(0x20f)]('!python3')[ba(0x246)](0x7b*0x1f+0x1c2a+-0x2aef)+a0V[ba(0x398)]('\x20'+a0ak(ba(0x232)))),console[ba(0x335)](a0V['white'](ba(0x31a))+a0V[ba(0x20f)](ba(0x10a))+a0V[ba(0x398)](ba(0x293))+a0V[ba(0x20f)](ba(0x1a0))),console[ba(0x335)](a0V['white'](ba(0x15e))+a0V[ba(0x20f)](ba(0x1ba))['padEnd'](-0x105*-0x22+0x2623+-0x48ad)+a0V['gray']('\x20'+a0ak(ba(0x171)))),console[ba(0x335)](a0V[ba(0x34d)](ba(0x175))+a0V[ba(0x20f)](ba(0x199))['padEnd'](-0x5*0xea+-0x17*-0x119+-0x148d)+a0V['gray']('\x20'+a0ak(ba(0x29b)))),console['log'](),console['log'](a0V['gray']('\x20\x20'+a0ak(ba(0x353))+'\x20')+a0V['bold'][ba(0x319)](ba(0x1c0))),console[ba(0x335)]();}B&&(console[ba(0x335)](a0V['green'](ba(0x3a1)+B)),console[ba(0x335)]());}else{console[ba(0x335)](a0V['bold']['white']('\x20\x20Q'+z[ba(0x25c)]+'.\x20')+a0V[ba(0x34d)](z[ba(0x3fb)])),console['log']();for(const a6 of['A','B','C','D']){const a7=B===a6;K['includes'](a6)?console[ba(0x335)](a0V[ba(0x398)][ba(0x277)](ba(0x38f)+a6+'.\x20'+z[ba(0x395)][a6])+a0V[ba(0x11c)]('\x20('+a0ak(ba(0x1b0))+')')):a7?console[ba(0x335)](a0V[ba(0x319)][ba(0x1f7)]('\x20\x20▸\x20'+a6+'.\x20'+z[ba(0x395)][a6])):console['log'](a0V[ba(0x398)](ba(0x38f)+a6+'.')+'\x20'+a0V[ba(0x34d)](z[ba(0x395)][a6]));}console[ba(0x335)]();}const X='demo-free'===F?.[ba(0x181)][ba(0x390)],Y=J['perQ'][0x1419+0x7*0x2cb+0x2*-0x13d2]||0x12d8+0x503*0x7+0x35ed*-0x1;X&&-0x25*0x8c+0x683+0xdbb===z[ba(0x25c)]&&-0x2407+0x8d3+0x1*0x1b34===Y&&(console[ba(0x335)](a0V['yellow']['bold']('\x20\x20'+a0ak('qTutorial'))),console[ba(0x335)]());const Z=J[ba(0x165)]-J[ba(0x2df)];if(console[ba(0x335)](a0V[ba(0x398)]('\x20\x20─────────────────────────────────────────')),V){const a8=F&&'demo-free'!==F[ba(0x181)][ba(0x390)]&&z['number']>=0x1*-0xa2+0x18db*0x1+-0x3*0x806&&z[ba(0x25c)]<=0x2174+0x261a+-0x4766,a9=F&&ba(0x22a)!==F[ba(0x181)]['examId']&&z[ba(0x25c)]>=-0xc4*0x14+0x1c49+-0xcda&&z[ba(0x25c)]<=-0x1*-0x1057+0x12d*0x11+-0x242e;ba(0x3fe)===z[ba(0x3ad)]?console[ba(0x335)](a0V[ba(0x1f7)][ba(0x17d)](ba(0x257))+a0V[ba(0x398)](ba(0x1c3))):a9?console[ba(0x335)](a0V['bold'][ba(0x319)]('\x20\x20\x20\x20ai4ctf')+a0V[ba(0x398)](ba(0xf2))):a8&&console['log'](a0V[ba(0x1f7)][ba(0x11c)](ba(0x12f))+a0V[ba(0x398)](ba(0x3d4))),console['log'](a0V[ba(0x20f)](ba(0x1c8))+a0V[ba(0x398)](ba(0x22b))),console[ba(0x335)](a0V[ba(0x20f)](ba(0x2ab))+a0V[ba(0x398)]('\x20\x20\x20\x20\x20\x20start\x20Python\x20shell'));}else{const aa=J['max']>=0xc1f+-0xb10+-0x1*0xf1,ab=Z>0x1102*-0x2+0x20e3+0x121?a0V['gray'](a0ak(ba(0x260))+'\x20')+a0V['yellow']('('+Z+'/'+J[ba(0x165)]+')'):aa?a0V[ba(0x398)](a0ak(ba(0x3e7))+'\x20('+J[ba(0x2df)]+'/'+J['max']+')'):a0V[ba(0x398)](''+a0ak(ba(0x401)));console['log'](a0V['yellow'](ba(0x3a2))+a0V[ba(0x398)](ba(0x2c4)+a0ak(ba(0x162)))),console[ba(0x335)](a0V['yellow']('\x20\x20\x20\x20help')+ba(0x16f)+ab);}console[ba(0x335)](a0V[ba(0x20f)]('\x20\x20\x20\x20next')+a0V[ba(0x398)](ba(0x255))+a0V['yellow'](ba(0x264))+a0V['gray'](ba(0x38f)+a0ak(ba(0x143)))),console[ba(0x335)](a0V[ba(0x20f)]('\x20\x20\x20\x20exam\x20q\x201..'+G)+a0V[ba(0x398)](ba(0x229)+a0ak('htpJump'))),console['log'](a0V['yellow']('\x20\x20\x20\x20mark')+a0V[ba(0x398)](ba(0x16f)+a0ak(ba(0x362)))),console['log'](a0V[ba(0x20f)](ba(0x17f))+a0V[ba(0x398)](ba(0x229)+a0ak(ba(0x2cb)))),console['log'](a0V[ba(0x1f7)][ba(0x20f)]('\x20\x20\x20\x20exam\x20submit')+a0V[ba(0x398)](ba(0x229)+a0ak(ba(0x375)))),console[ba(0x335)](a0V[ba(0x20f)](ba(0x25f))+a0V[ba(0x398)](ba(0x16f)+a0ak(ba(0x392)))),console['log'](a0V['yellow'](ba(0x301))+a0V['gray'](ba(0x16f)+a0ak(ba(0x119)))),console[ba(0x335)](a0V[ba(0x398)](ba(0x2ec)));}export function registerExamCommand(z){const bg=a0B,B=z[bg(0x342)](bg(0x33a))['description'](bg(0x163));B[bg(0x342)](bg(0x404))[bg(0x3a4)](bg(0x3cf))[bg(0x1c6)](()=>{const bh=bg;a0aa(bh(0x306)),console[bh(0x335)](),a0ag(bh(0x152)),console[bh(0x335)]();const F=[['AU',bh(0x23d)],['BD',bh(0x1fc)],['BI',bh(0x19f)],['BR',bh(0x314)],['BW',bh(0x279)],['CN','China'],['DE',bh(0x1e0)],['EG','Egypt'],['FR','France'],['GH',bh(0x3d5)],['ID','Indonesia'],['IN','India'],['JP',bh(0x115)],['KR','South\x20Korea'],['LA',bh(0x3d9)],['LK','Sri\x20Lanka'],['MM','Myanmar'],['MO',bh(0x2eb)],['MY',bh(0x343)],['NZ','New\x20Zealand'],['PE',bh(0x1b9)],['PH','Philippines'],['RU','Russia'],['SA','Saudi\x20Arabia'],['SG',bh(0x2fd)],['TH',bh(0x2ad)],['TR',bh(0x1dd)],['UK','United\x20Kingdom'],['US','United\x20States'],['UZ',bh(0x20e)],['VN',bh(0x184)],['ZA',bh(0x29e)]];for(let G=-0x18a5+-0x95b+0x220*0x10;G<F[bh(0xe7)];G+=-0x220f+-0x16f*0x17+0x430b){const H=F[bh(0x295)](G,G+(-0x77a+0x29*-0x5c+0x1639))[bh(0x14e)](([J,K])=>'\x20\x20'+a0V[bh(0x17d)](J)+'\x20\x20'+a0V[bh(0x398)](K[bh(0x246)](0x2e5*-0xd+0xcd6+0x18db)))[bh(0x2d7)]('');console[bh(0x335)](H);}console['log'](),console[bh(0x335)](a0V[bh(0x398)](bh(0x12d))),console['log'](a0V[bh(0x398)](bh(0x1d0))),console[bh(0x335)](),console[bh(0x335)](a0V[bh(0x34d)](bh(0x294))),console[bh(0x335)](a0V[bh(0x17d)](bh(0x2b3))+a0V[bh(0x398)](bh(0x134))+a0V[bh(0x398)](bh(0x2ef))),console[bh(0x335)]();}),B[bg(0x342)](bg(0x1b1))[bg(0x3a4)](bg(0x247))[bg(0x1c6)](async F=>{const bi=bg;a0aa(bi(0x159)+(F||''));const G=D();if(!G)return;const H=a0ai(bi(0x130));H[bi(0x2d2)]();try{let J=await G[bi(0x2dd)]();if(H[bi(0x396)](),F){const W=F[bi(0x160)]();J=J[bi(0x21a)](X=>X['country'][bi(0x160)]()===W||bi(0x364)===X['country']);}if(!J||-0x1b44+-0x1fb7*0x1+0x3afb===J[bi(0xe7)]){console[bi(0x335)](),a0ae(F?bi(0x2b0)+F[bi(0x160)]()+bi(0x26b):bi(0x3d7)),console['log'](),console[bi(0x335)](a0V[bi(0x34d)](bi(0x1fa))),console[bi(0x335)](a0V[bi(0x398)]('\x20\x20National\x20Round\x201\x20Selection\x20exams\x20are\x20being\x20prepared.')),console[bi(0x335)](),console[bi(0x335)](a0V[bi(0x398)](bi(0x3f6))+a0V[bi(0x1f7)][bi(0x17d)](bi(0xe3))),console[bi(0x335)]();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(0x160)]();return void(Y[Z]&&(console[bi(0x335)](a0V[bi(0x398)](bi(0x30e)+Y[Z])),console['log']()));}const K=J['map'](a0=>{const bj=bi,a1=bj(0x101)===a0[bj(0x32f)]?a0V['green']:bj(0x1e1)===a0[bj(0x32f)]?a0V[bj(0x20f)]:a0V[bj(0x34d)];return[a0V[bj(0x34d)](a0['id']),a0[bj(0xef)],a0V[bj(0x17d)](a0['country']),String(a0['questionCount']),a0[bj(0x32e)]+'\x20min',a1(a0[bj(0x32f)])];}),V=[...new Set(J[bi(0x14e)](a0=>a0[bi(0x249)]))];a0ag(F?'Exams\x20—\x20'+F[bi(0x160)]():bi(0x1c5)+V[bi(0xe7)]+bi(0x20a)),a0af(['ID',bi(0x1d3),bi(0x2f7),bi(0x109),bi(0x2dc),bi(0x369)],K),console[bi(0x335)](),console[bi(0x335)](a0V[bi(0x398)]('\x20\x20Start:\x20exam\x20start\x20<id>')),V[bi(0xe7)]>-0x6e5*-0x5+-0x2638+0x3c0&&console[bi(0x335)](a0V[bi(0x398)](bi(0x157)));}catch(a0){H[bi(0x124)](bi(0x254)),a0ac(a0[bi(0x397)]);}}),B['command']('start\x20<id>')[bg(0x3a4)]('Start\x20an\x20exam\x20(begins\x20timer)')[bg(0x1c6)](async F=>{const bk=bg;a0aa(bk(0x35c)+F);const G=a0a0();if(G)return a0ad(bk(0x309)+G[bk(0x181)][bk(0x3ff)]+bk(0x28e)),void a0ae(bk(0x1a8));const H=D();if(!H)return;const J=a0ap();let K=a0V[bk(0x34d)](bk(0x3e2)),V=!(-0x27*0xe9+0x1698+0xce7*0x1);if(J[bk(0xe7)]>-0x9*-0x2bd+-0x1cb0+-0xf*-0x45){console[bk(0x335)](),console[bk(0x335)](a0V['red']['bold'](bk(0x1ac)));for(const X of J)console[bk(0x335)](a0V['red'](bk(0x19d)+X));console['log'](),console['log'](a0V[bk(0x20f)](bk(0x23b))),console[bk(0x335)](a0V['yellow'](bk(0x155))),console[bk(0x335)](),K=a0V[bk(0x34d)](bk(0x3ec)),V=!(-0x7bc*0x3+0xb9*-0x2a+0x1*0x358f);}const W=await a0W({'message':K,'default':V,'theme':{'prefix':'','style':{'message':Y=>Y,'defaultAnswer':Y=>a0V[bk(0x319)](Y)}}});if(a0aq(J),W){console['log']();try{j(0x2624+0x1600+0x1e12*-0x2,'Connecting\x20to\x20exam\x20server...');const {session:Y,questions:Z}=await H[bk(0x37d)](F);j(-0x11cf+0xc9a+0x553,bk(0x2c5)),await M(-0x2089+0x2550+-0x3ff),j(0xd*-0x2ad+0x1*0x1733+0xbd2,'Preparing\x20exam\x20environment...'),await M(-0x19d5+0x6c8+0x13d5*0x1),j(0x34*-0x35+-0x1*-0x1d53+-0x1235,bk(0x105)),await M(0x4*-0x287+0x1cf9+0x1247*-0x1);try{const a1=a0ar(Y[bk(0x390)]);Y[bk(0x19e)]=a1,process[bk(0x189)](a1);}catch{}const a0={};a0['session']=Y,a0[bk(0x349)]=Z,a0[bk(0x34a)]={},(a0a1(a0),j(-0x11ad+0x2b*0xb9+0x456*-0x3,bk(0x38a)),console[bk(0x335)](),console[bk(0x335)](),a0ag(Y[bk(0x3ff)]),a0ah('Questions',String(Y[bk(0x135)])),a0ah(bk(0x2dc),Y['durationMinutes']+bk(0x3cb)),a0ah(bk(0x2f7),Y[bk(0x249)]),R(),Z[bk(0xe7)]>0x1d4d*0x1+-0x14e3*0x1+-0x1*0x86a&&L(Z[-0x22d8+0x103c+0x129c]));}catch(a2){console[bk(0x335)](),a0ac(a2[bk(0x397)]);}}}),B['command'](bg(0x173))[bg(0x3a4)](bg(0x14d))[bg(0x1c6)](async F=>{const bl=bg;a0aa(bl(0x144)+(F||bl(0x318)));const {refetchQuestionDataIfStale:G}=await import(bl(0x35a));await G();const H=a0a0();if(H){if(R(),F){const J=parseInt(F,0x1*-0x17c9+-0x3c*0x31+-0x189*-0x17),K=H[bl(0x349)][bl(0x11d)](V=>V[bl(0x25c)]===J);if(!K)return void a0ac(bl(0x222)+F+'\x20not\x20found\x20(1-'+H[bl(0x349)][bl(0xe7)]+').');H[bl(0x40c)]=J,a0a1(H),L(K,H[bl(0x34a)][J]);}else{a0ag(''+H[bl(0x181)][bl(0x3ff)]);const V=Object[bl(0x179)](H[bl(0x34a)])[bl(0xe7)];a0ah('Progress',V+'/'+H[bl(0x181)]['questionCount']+bl(0x25d)),console['log']();for(const W of H[bl(0x349)]){const X=H[bl(0x34a)][W[bl(0x25c)]],Y=X?a0V[bl(0x319)]('['+X+']'):a0V[bl(0x398)](bl(0x33f)),Z=W[bl(0x3eb)]?a0V[bl(0x398)]('\x20['+W['category']+']'):'';console[bl(0x335)]('\x20\x20'+Y+'\x20'+a0V[bl(0x34d)]('Q'+W['number'])+Z+'\x20'+a0V[bl(0x398)](W[bl(0x3fb)][bl(0x3c8)](0x556*0x1+0x1*0x1e4c+0x1*-0x23a2,0x21e0+0xf25+-0x30c9))+(W['text'][bl(0xe7)]>-0x32*-0xae+0x14bb+-0x367b?bl(0x354):''));}console[bl(0x335)]();}}else a0ac(bl(0x37c));}),B[bg(0x342)]('mark\x20[n]')['description']('Flag\x20a\x20question\x20to\x20review\x20later\x20(toggles)')[bg(0x1c6)](F=>{const bm=bg;a0aa(bm(0x18b)+(F||''));const G=a0a0();if(!G)return void a0ac(bm(0x18d));const H=G[bm(0x349)][bm(0xe7)],J=F?parseInt(F,-0x1de9*0x1+0x3b*-0xa3+0x21c2*0x2):G[bm(0x40c)]||0x100c+-0x6a3*0x5+0x1124;if(Number[bm(0x3b5)](J)||J<-0x10ff+-0x1161+0x2261||J>H)return void a0ac(bm(0x251)+H+'.');const K=Q(G,J);console[bm(0x335)](),K?console[bm(0x335)](a0V[bm(0x20f)]('\x20\x20★\x20Q'+J+bm(0x310))):console[bm(0x335)](a0V['gray'](bm(0x2d9)+J+bm(0x3c1)));const V=Array[bm(0x234)](G[bm(0x33b)])?G[bm(0x33b)]:[];V[bm(0xe7)]>0xd*0x253+-0x3e5*-0x1+-0x221c&&console[bm(0x335)](a0V[bm(0x398)](bm(0x2b2)+V['map'](W=>'Q'+W)['join'](',\x20'))),console[bm(0x335)](a0V[bm(0x398)](bm(0x198))+a0V[bm(0x34d)](bm(0x13b))),console[bm(0x335)]();}),B[bg(0x342)](bg(0x3fd))[bg(0x3a4)](bg(0x1cd))[bg(0x1c6)](F=>{const bn=bg;a0aa(bn(0x13f)+(F||''));const G=a0a0();if(!G)return void a0ac(bn(0x18d));const H=G[bn(0x349)][bn(0xe7)],J=F?parseInt(F,-0xe78+-0x1aa6+0x2928):G['_lastQ']||-0xc50+0x5ac+-0x1b*-0x3f;Number[bn(0x3b5)](J)||J<-0x383*-0xa+-0x1*0x1b0f+0x1*-0x80e||J>H?a0ac(bn(0x251)+H+'.'):U(G,J)?(Q(G,J),console['log'](),console[bn(0x335)](a0V['gray'](bn(0x2d9)+J+'\x20unflagged.')),console[bn(0x335)]()):console[bn(0x335)](a0V[bn(0x398)](bn(0x2b4)+J+bn(0x11e)));}),B[bg(0x342)]('next')[bg(0x3a4)](bg(0x30b))[bg(0x1c6)](()=>{const bo=bg;a0aa(bo(0x15a));const F=a0a0();if(!F)return void a0ac('No\x20exam\x20in\x20progress.');F[bo(0x349)][bo(0x15c)](K=>!F[bo(0x34a)][K[bo(0x25c)]]);const G=F[bo(0x40c)]||0x15f4+-0x6*-0x256+-0x9*0x3ff,H=Math[bo(0x2a7)](G+(0x22a0+-0x2*0x275+-0x27*0xc3),F['questions'][bo(0xe7)]);F['_lastQ']=H,a0a1(F);const J=F['questions'][H-(0x1*0x1c83+-0x207b+0x3f9)];L(J,F[bo(0x34a)][J['number']]);}),B[bg(0x342)](bg(0x264))['description']('Go\x20to\x20previous\x20question')['action'](()=>{const bp=bg;a0aa(bp(0x322));const F=a0a0();if(!F)return void a0ac(bp(0x18d));const G=F[bp(0x40c)]||0xada+-0x2b*0x1e+-0x1*0x5cf,H=Math[bp(0x165)](G-(-0x7ba+-0x1*-0xe4d+0x349*-0x2),-0x20f9+-0x1*-0x657+-0x1aa3*-0x1);F['_lastQ']=H,a0a1(F);const J=F[bp(0x349)][H-(0x19*0x10+-0x2*-0xb1e+-0x17cb)];L(J,F[bp(0x34a)][J[bp(0x25c)]]);}),B[bg(0x342)](bg(0xfd))[bg(0x3a4)](bg(0x3a5))[bg(0x1c6)](async()=>{const bq=bg;a0aa('exam\x20help');const F=a0a0();if(!F)return void a0ac('No\x20exam\x20in\x20progress.');const G=_(F),H=F[bq(0x40c)]||0x21e4+0xec*-0xa+0x4ef*-0x5,J=G[bq(0x299)][H]||-0xd4b+-0x759+0x2*0xa52,K=G[bq(0x406)][H]||[],V=F[bq(0x349)][bq(0x11d)](Y=>Y[bq(0x25c)]===H);if(!V)return;if(J>=0x5*0x45d+-0x72f*-0x5+-0x39ba)return console[bq(0x335)](),console['log'](a0V[bq(0x20f)]('\x20\x20🙈\x20Max\x202\x20helps\x20per\x20question\x20—\x20you\x20already\x20have\x20a\x2050/50!')),console[bq(0x335)](a0V[bq(0x398)](bq(0x2c2))),console[bq(0x335)](),void L(V,F['answers'][V['number']]);const W=['A','B','C','D'][bq(0x21a)](Y=>!K[bq(0x2bf)](Y));if(W['length']<=-0x388*-0x1+-0x5e*0x1d+0x20*0x39)return console[bq(0x335)](),console[bq(0x335)](a0V['yellow'](bq(0x2a3))),console[bq(0x335)](),void L(V,F['answers'][V[bq(0x25c)]]);if(G[bq(0x2df)]>=G[bq(0x165)]){const Y=G[bq(0x165)]>=0x10f+0x7d4+0x5*-0x1c1,Z=-0x2b*0x5b+0x11ad*-0x2+0x32c1-G[bq(0x165)];return void(Y?(console[bq(0x335)](),console[bq(0x335)](a0V[bq(0x398)]('\x20\x20All\x20help\x20used\x20('+G[bq(0x2df)]+'/'+G[bq(0x165)]+').\x20You\x27re\x20on\x20your\x20own!\x20💪')),console[bq(0x335)]()):(console[bq(0x335)](),console[bq(0x335)](a0V['yellow'](bq(0x21d)+G[bq(0x2df)]+'/'+G['max'])),console[bq(0x335)](a0V[bq(0x34d)](bq(0x336))+a0V[bq(0x1f7)][bq(0x20f)](bq(0x3c3))+a0V[bq(0x398)]('\x20(+'+Z+bq(0x37f))),console[bq(0x335)]()));}const X=a0=>{const br=bq;K['push'](a0),G[br(0x406)][H]||(G['eliminated'][H]=[]),G[br(0x406)][H]=K,G[br(0x299)][H]=J+(-0xa7*0x11+0x1dae*0x1+-0x1296),G['used']++,F['_helpUsed']=G[br(0x2df)],F[br(0x377)]=G[br(0x165)],F['_helpPerQ']=G[br(0x299)],F[br(0xf7)]=G[br(0x406)],F['interactions']||(F['interactions']=[]),F[br(0x352)][br(0xf3)]({'ts':new Date()[br(0x381)](),'q':H,'type':br(0x208),'result':br(0x386)+a0}),a0a1(F),console[br(0x335)](),console[br(0x335)](a0V[br(0x20f)](br(0x323)+a0+br(0x316))+a0V['gray'](br(0x12b)+G[br(0x2df)]+'/'+G[br(0x165)]+')')),L(V,F['answers'][V[br(0x25c)]]);};if('demo-free'===F['session'][bq(0x390)]&&V['answer'])(a0=>{const bs=bq,a1=W[bs(0x21a)](a2=>a2!==a0&&!K['includes'](a2));0xf84+0x1*-0x15b3+-0x1*-0x62f!==a1[bs(0xe7)]&&X(a1[Math['floor'](Math[bs(0x113)]()*a1[bs(0xe7)])]);})(V[bq(0x216)]);else{const a0=a0Y()[bq(0x3af)]||bq(0x321),a1=F[bq(0x181)]?.[bq(0x19b)]||'';try{const a2={};a2[bq(0x338)]=bq(0x2e7),a2[bq(0x2ca)]='icoa-cli';const a3={};a3[bq(0x19b)]=a1,a3[bq(0x393)]=H,a3['eliminated']=K;const a4=await fetch(a0+bq(0x3aa)+F[bq(0x181)]['examId']+'/help',{'method':'POST','headers':a2,'body':JSON[bq(0x290)](a3),'signal':AbortSignal[bq(0x26c)](-0x375*0x5+0xf3*0x1d+0x94a)}),a5=await a4[bq(0x262)](),a6=a5?.['data']?.['eliminate'];a6&&['A','B','C','D'][bq(0x2bf)](a6)?X(a6):(console['log'](),console[bq(0x335)](a0V[bq(0x398)](bq(0x258))));}catch{console[bq(0x335)](),console[bq(0x335)](a0V[bq(0x398)](bq(0x31f)));}}}),B[bg(0x342)](bg(0x2b9))[bg(0x3a4)](bg(0x120))[bg(0x1c6)](()=>{const bt=bg;a0aa(bt(0x2a4));const F=a0a0();if(!F)return void a0ac(bt(0x18d));const G=_(F),H=bt(0x22a)===F[bt(0x181)][bt(0x390)]?-0x79*-0xd+-0xd82+-0x3*-0x277:0x1*-0xd56+-0x1135+0x1ea9;if(G['max']>=H)return void console['log'](a0V[bt(0x398)](bt(0x1b7)));if(G['used']<G[bt(0x165)])return void console['log'](a0V[bt(0x398)]('\x20\x20You\x20still\x20have\x20'+(G[bt(0x165)]-G['used'])+bt(0x285)));const J=H-G[bt(0x165)];F[bt(0x377)]=H,a0a1(F),console[bt(0x335)](),console[bt(0x335)](a0V[bt(0x319)](bt(0x329)+J+bt(0x218)+J+'/'+H+bt(0x10d))),console[bt(0x335)](a0V[bt(0x398)](bt(0x148))),console['log']();}),B['command'](bg(0x188))['description'](bg(0x3ba))[bg(0x1c6)](async(F,G)=>{const bu=bg,H=G[bu(0x2d7)]('\x20');a0aa(bu(0x363)+F+'\x20'+H);const J=a0a0();if(!J)return void a0ac(bu(0x37c));if(!(function(){const bv=bu,a1=a0a3();if(!a1)return!(0x21e+-0x10f1+0xed3);if(new Date()>=a1){const a2=a0a0();if(a2){const a3=Object['keys'](a2[bv(0x34a)])['length'];bv(0x22a)===a2['session'][bv(0x390)]||-0x1*-0xc53+-0x1*0x26e3+0x1a90===a3?(a0a2(),a0ad('Exam\x20expired\x20and\x20cleared.'),a0ae(bv(0x2f5))):(a0ac(bv(0x3a9)),a0ae(bv(0x355)));}return!(0x7ef+-0xb*-0xaf+0x235*-0x7);}return!(-0xa20+-0x1382+0x1da2);}()))return;const K=parseInt(F,0x230e+-0x1d35*-0x1+0x29*-0x191),V=J[bu(0x349)][bu(0x11d)](a1=>a1[bu(0x25c)]===K);if(!V)return void a0ac(bu(0x222)+F+'\x20not\x20found\x20(1-'+J['questions'][bu(0xe7)]+').');let W;if(bu(0x199)===V[bu(0x3ad)]||bu(0x2d0)===V[bu(0x3ad)]||bu(0x3fe)===V['type']||V[bu(0x395)]&&!V[bu(0x395)]['A']&&!V[bu(0x395)]['B']){if(W=H[bu(0x40b)](),/^submit\s+/i[bu(0x3d6)](W)&&(W=W['replace'](/^submit\s+/i,'')['trim']()),W=W[bu(0x287)](/^["'`]+|["'`]+$/g,'')[bu(0x40b)](),!W)return void a0ac('Please\x20provide\x20your\x20flag:\x20exam\x20answer\x20<n>\x20ICOA{your_flag}');if(/^[A-Da-d]$/[bu(0x3d6)](W))return a0ac('Q'+K+bu(0x123)),void console[bu(0x335)](a0V[bu(0x398)](bu(0x28c))+a0V['green']('exam\x20answer\x20'+K+'\x20ICOA{your_flag}'));}else{if(W=H[bu(0x160)](),!['A','B','C','D'][bu(0x2bf)](W))return void a0ac(bu(0x204));}if(bu(0x22a)===J[bu(0x181)][bu(0x390)]&&0x2f1+-0x1931+0xb21*0x2===K&&0x1733*0x1+-0x137d+0x5*-0xbe===(_(J)[bu(0x299)][-0x98b+0x8*-0x2ac+-0xd*-0x261]||0x1c*0x165+-0x1*-0x12dd+-0x39e9))return console['log'](),console[bu(0x335)](a0V[bu(0x20f)](bu(0x2e8))+a0V[bu(0x1f7)][bu(0x20f)](bu(0xfd))+a0V[bu(0x20f)]('\x20first\x20to\x20see\x20what\x20it\x20does!')),console[bu(0x335)](a0V[bu(0x398)](bu(0xec))),void console[bu(0x335)]();const X=J['answers'][K];J[bu(0x352)]||(J[bu(0x352)]=[]),J['interactions']['push']({'ts':new Date()[bu(0x381)](),'q':K,'type':X?'answer_changed':bu(0x3f5),'input':W,'result':X?bu(0x223)+X:bu(0x382)}),J[bu(0x34a)][K]=W,J['_lastQ']=K,a0a1(J),console[bu(0x335)](a0V[bu(0x398)](bu(0x1a3)));const Y=J[bu(0x181)][bu(0x19b)];if(Y&&bu(0x22a)!==J['session'][bu(0x390)]){const a1=(a0Y()[bu(0x3af)]||bu(0x321))+'/api/icoa/exams/'+J[bu(0x181)][bu(0x390)]+'/answer',a2={};a2[bu(0x338)]=bu(0x2e7);const a3={};a3[bu(0x19b)]=Y,a3[bu(0x393)]=K,a3[bu(0x216)]=W,fetch(a1,{'method':bu(0x302),'headers':a2,'body':JSON[bu(0x290)](a3),'signal':AbortSignal[bu(0x26c)](0xdfc+-0x1904+0x1e90)})['catch'](()=>{});}const Z=Object[bu(0x179)](J[bu(0x34a)])[bu(0xe7)],a0=J['session'][bu(0x135)];if(a0ab('Q'+K+':\x20'+W+'\x20✓\x20\x20('+Z+'/'+a0+bu(0x305)),bu(0x22a)===J[bu(0x181)][bu(0x390)]&&V[bu(0x216)]){const a4=['Nice\x20one.','Solid\x20pick.',bu(0x300),bu(0x303),bu(0x150)],a5=[bu(0x3d1),bu(0x230),bu(0x36e)],a6=W===V['answer']?a4:a5,a7=a6[Math[bu(0x207)](Math['random']()*a6[bu(0xe7)])];console[bu(0x335)](a0V[bu(0x398)](bu(0x2cd)+a7));}if(K<J[bu(0x349)]['length']){const a8=J[bu(0x349)][K];J[bu(0x40c)]=a8[bu(0x25c)],a0a1(J),L(a8,J[bu(0x34a)][a8[bu(0x25c)]]);}else Z>=J[bu(0x349)][bu(0xe7)]&&(console['log'](),console[bu(0x335)](a0V['green'][bu(0x1f7)]('\x20\x20🎉\x20All\x20questions\x20answered!')),console[bu(0x335)](),'demo-free'===J['session'][bu(0x390)]?(console[bu(0x335)](a0V['white'](bu(0x1ad))+a0V['bold'][bu(0x17d)](bu(0x1be))+a0V[bu(0x34d)](bu(0x170))),console[bu(0x335)]()):console[bu(0x335)](a0V[bu(0x34d)](bu(0x3bb))));}),B[bg(0x342)](bg(0x201))['description']('Review\x20all\x20answers\x20before\x20submitting')[bg(0x1c6)](()=>{const bw=bg;a0aa(bw(0x13b));const F=a0a0();if(!F)return void a0ac(bw(0x18d));a0ag(bw(0x34f)+F[bw(0x181)]['examName']),R(),console[bw(0x335)]();let G='\x20\x20';const H=Array[bw(0x234)](F[bw(0x33b)])?F[bw(0x33b)]:[];for(const W of F[bw(0x349)]){const X=F['answers'][W[bw(0x25c)]],Y=H[bw(0x2bf)](W['number']),Z=Y?'★':'\x20';G+=X?Y?a0V[bw(0x1f7)][bw(0x20f)]('Q'+String(W[bw(0x25c)])[bw(0x2a9)](-0xfc4+-0xa3*0x3+0x3*0x5e5)+Z+'['+X+']\x20'):a0V['green']('Q'+String(W[bw(0x25c)])[bw(0x2a9)](-0x289+-0xf87+-0x1*-0x1212)+'\x20['+X+bw(0x1cc)):Y?a0V[bw(0x1f7)][bw(0x20f)]('Q'+String(W[bw(0x25c)])['padStart'](0x1af8+0x3a9*-0x3+0xffb*-0x1)+Z+bw(0x36b)):a0V[bw(0x20f)]('Q'+String(W[bw(0x25c)])[bw(0x2a9)](-0x5*-0x51b+0x7b3+-0x2138)+bw(0x3a6)),W['number']%(0x26*-0x2f+0x583*-0x5+0x228f)==0x17b*-0x7+-0x1cfa+-0x175*-0x1b&&(console[bw(0x335)](G),G='\x20\x20');}G[bw(0x40b)]()&&console[bw(0x335)](G);const J=Object[bw(0x179)](F[bw(0x34a)])['length'],K=F[bw(0x181)][bw(0x135)],V=K-J;if(console[bw(0x335)](),a0ah(bw(0x259),a0V[bw(0x319)][bw(0x1f7)](J+'/'+K)),V>-0x17d3+0x7*-0x368+-0x1*-0x2fab){const a0=F[bw(0x349)][bw(0x21a)](a1=>!F[bw(0x34a)][a1['number']])[bw(0x14e)](a1=>a1[bw(0x25c)])[bw(0x2d7)](',\x20');a0ah(bw(0x370),a0V[bw(0x20f)](V+bw(0xf6)+a0+')'));}H[bw(0xe7)]>0x2f*0x57+-0x12f6+-0xff*-0x3&&a0ah(bw(0x37e),a0V['bold'][bw(0x20f)]('★\x20'+H[bw(0xe7)])+a0V[bw(0x398)]('\x20('+H[bw(0x14e)](a1=>'Q'+a1)['join'](',\x20')+')')),console['log'](),H[bw(0xe7)]>0x47*0x23+-0x327+-0x68e&&console[bw(0x335)](a0V['gray'](bw(0x3f3))+a0V[bw(0x34d)]('exam\x20q\x20'+H[0x1ec4*0x1+-0x13*0xd8+-0xebc])),console[bw(0x335)](a0V[bw(0x398)](bw(0x399))+a0V[bw(0x1f7)][bw(0x17d)]('exam\x20submit')+a0V[bw(0x398)](bw(0x2de)));}),B[bg(0x342)](bg(0x2d3))[bg(0x3a4)](bg(0x30a))[bg(0x1c6)](async(J,K)=>{const bx=bg;a0aa('exam\x20submit\x20'+(J||'')+'\x20'+(K||''));const V=a0a0();if(V&&bx(0x2f1)===J&&!K&&(V[bx(0x1bb)]=!(0x158d+0x112e+-0xf*0x295),a0a1(V)),!V)return void a0ac('No\x20exam\x20in\x20progress.');const W=Object[bx(0x179)](V[bx(0x34a)])[bx(0xe7)],X=V[bx(0x181)][bx(0x135)],Y=X-W;if(-0x1fdc+-0x18e2+0x1c5f*0x2===W){const a2=a0a3(),a3=a2&&new Date()>=a2;return void(bx(0x22a)===V[bx(0x181)][bx(0x390)]||a3?(a0a2(),a0ad(bx(0x356)),a0ae('Type:\x20demo\x20to\x20start\x20again.')):(a0ad(bx(0x12e)),a0ae(bx(0x351))));}const Z=a0a3(),a0=!!(Z&&new Date()>=Z);if(bx(0x22a)!==V[bx(0x181)][bx(0x390)]&&!a0&&bx(0x2f1)===J&&W<-0x4*-0x121+0x1*-0x417+-0x63){if((K||'')[bx(0x40b)]()!==String(W))return console[bx(0x335)](),console['log'](a0V[bx(0x11c)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x11c)](bx(0x33c)+W+'/'+X+'\x20answered\x20—\x20accidental\x20submit\x20guard')),console[bx(0x335)](a0V[bx(0x11c)](bx(0x1eb))),console[bx(0x335)](),console[bx(0x335)](a0V['white']('\x20\x20Submitting\x20now\x20scores\x20from\x20only\x20')+a0V[bx(0x1f7)]['yellow'](''+W)+a0V[bx(0x34d)](bx(0x1af))+a0V['white'](''+X)+a0V['white']('\x20questions.')),console[bx(0x335)](a0V['white'](bx(0x2c7))+a0V[bx(0x1f7)][bx(0x11c)](W+'/'+X+bx(0x3bf))),console['log'](),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)](bx(0x2a1))),console[bx(0x335)](a0V[bx(0x398)](bx(0x38f))+a0V[bx(0x17d)](bx(0x332))+a0V[bx(0x398)]('\x20\x20\x20(resume\x20from\x20Q1)')),console[bx(0x335)](a0V['gray'](bx(0x38f))+a0V['cyan'](bx(0x13b))+a0V[bx(0x398)](bx(0x28d))),console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)]('\x20\x20If\x20you\x20really\x20want\x20to\x20submit\x20with\x20just\x20')+a0V[bx(0x1f7)]['yellow'](''+W)+a0V[bx(0x1f7)][bx(0x34d)](bx(0x2e6))),console[bx(0x335)](a0V[bx(0x398)](bx(0x38f))+a0V[bx(0x1f7)][bx(0x17d)](bx(0x29c)+W)),console['log'](a0V[bx(0x398)]('\x20\x20(yes\x20—\x20literally\x20type\x20the\x20number\x20'+W+bx(0x3df))),console[bx(0x335)](),void(V[bx(0x1bb)]&&(delete V[bx(0x1bb)],a0a1(V)));V[bx(0x1bb)]=!(0x1*0x25a3+0x85a*0x3+-0x3eb1*0x1),a0a1(V);}if(bx(0x22a)!==V[bx(0x181)]['examId']){const a4=!(0x1474+-0xe3*-0x7+-0x4b*0x5b)===V['_submitConfirmed'],a5=a0a3(),a6=!!(a5&&new Date()>=a5);if(!a4&&!a6){if(console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x11c)](bx(0x39e))),console[bx(0x335)](a0V['bold'][bx(0x11c)]('\x20\x20⚠\x20\x20FINAL\x20SUBMISSION\x20—\x20please\x20confirm')),console[bx(0x335)](a0V['red'](bx(0x39e))),console[bx(0x335)](),console[bx(0x335)](a0V['white'](bx(0x40d)+a0V[bx(0x1f7)][bx(0x319)](W+'/'+X)+bx(0x387))),Y>-0xa*0x30a+0x122c+0xc38){const a8=V['questions']['filter'](a9=>!V[bx(0x34a)][a9[bx(0x25c)]])[bx(0x14e)](a9=>'Q'+a9[bx(0x25c)])[bx(0x2d7)](',\x20');console[bx(0x335)](a0V['yellow']('\x20\x20'+Y+bx(0x156)+a8));}const a7=Array['isArray'](V[bx(0x33b)])?V[bx(0x33b)]:[];return a7[bx(0xe7)]>-0x1*0x1369+-0x1cbf+0x3028&&console['log'](a0V['yellow'](bx(0x11a)+a7[bx(0xe7)]+bx(0xea)+a7['map'](a9=>'Q'+a9)[bx(0x2d7)](',\x20'))),console[bx(0x335)](),console[bx(0x335)](a0V['white'](bx(0x25b))+a0V[bx(0x1f7)][bx(0x11c)](bx(0x27b))+a0V[bx(0x34d)](bx(0x1b3))),console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)](bx(0x20c))+a0V['bold'][bx(0x17d)](bx(0x2d8))),console['log'](a0V['white']('\x20\x20To\x20go\x20back:\x20\x20')+a0V['cyan'](bx(0x13b))+a0V['gray'](bx(0x3ca))+a0V[bx(0x17d)](bx(0x1ea))),void console['log']();}a4&&(delete V[bx(0x1bb)],a0a1(V));}if(console[bx(0x335)](),bx(0x22a)===V[bx(0x181)]['examId']){try{j(0x179b+0xb6e+-0x2309*0x1,a0ak(bx(0x25e))),await M(-0xc*-0x4b+0xb*-0x10e+0x942);let a9=0x6*0x5b3+-0x3*0x8f+0x2085*-0x1;const aa=[],ab={};for(const an of V['questions']){const ao=an[bx(0x3eb)]||bx(0x1c9),ap={};ap[bx(0x3a3)]=0x0,ap[bx(0x202)]=0x0,(ab[ao]||(ab[ao]=ap),ab[ao][bx(0x202)]++);const aq=V[bx(0x34a)][an[bx(0x25c)]];aq&&an[bx(0x216)]&&aq===an['answer']?(a9++,ab[ao][bx(0x3a3)]++):aa['push'](an['number']);}aa[bx(0x407)]((ar,as)=>ar-as),j(-0x84d+-0x35*0x22+0x1*0xfbb,a0ak(bx(0x33e))),console['log']();const ac=new Date(V[bx(0x181)][bx(0x38b)])['getTime'](),ad=Math['max'](0x1130+-0x1d5c+-0x30b*-0x4,Math[bx(0x217)]((Date[bx(0x30f)]()-ac)/(0x1e*-0x1e+-0x1de3*0x1+0x254f))),ae=Math[bx(0x207)](ad/(0x1*-0x16d7+-0x62e+-0x1d41*-0x1))+'m\x20'+ad%(-0xa81+-0xa9e+0x155b)+'s',af=[...V[bx(0x349)]],ag={...V[bx(0x34a)]},ah=_(V);a0a2();const ai=Math['round'](a9/X*(0x1e61+0x8db+0x4*-0x9b6)),aj=a0Y(),ak={};ak[bx(0x338)]=bx(0x2e7),(fetch(bx(0x3a7),{'method':'POST','headers':ak,'body':JSON['stringify']({'type':bx(0x238),'score':a9,'total':X,'lang':aj[bx(0x3c5)]||'en','help_used':ah['used'],'help_max':ah[bx(0x165)],'tokens_used':0x0,'solved':ai>=0x987+-0x56*-0x44+-0x2023?0x9d7*0x1+-0x1479+-0x7*-0x185:-0x143f+0x915+0xb2a,'timestamp':new Date()[bx(0x381)](),'interactions':V[bx(0x352)]||[]}),'signal':AbortSignal['timeout'](0xda5*0x1+0x11f*-0x2+0x1*0x821)})['catch'](()=>{}),console[bx(0x335)](),console['log'](a0V[bx(0x17d)]('\x20\x20═══════════════════════════════════════')),console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)](bx(0x2ff))),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)](bx(0x3c6))),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console['log'](a0V['bold'][bx(0x34d)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║██╔══██║')),console[bx(0x335)](a0V['bold'][bx(0x34d)]('\x20\x20\x20██║╚██████╗╚██████╔╝██║\x20\x20██║')),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)]('\x20\x20\x20╚═╝\x20╚═════╝\x20╚═════╝\x20╚═╝\x20\x20╚═╝')),console['log'](),console[bx(0x335)](a0V[bx(0x1f7)](bx(0x229)+a0ak(bx(0x137))+':\x20'+a9+'/'+X+'\x20('+ai+'%)')),console[bx(0x335)](a0V[bx(0x1f7)]('\x20\x20\x20'+(ai>=0x22c7+0x2691+0x248e*-0x2?a0V[bx(0x319)](a0ak(bx(0x225))):a0V['red'](a0ak(bx(0x307)))))),console[bx(0x335)](a0V['gray'](bx(0x2e2)+ae)),console['log'](),console[bx(0x335)](a0V[bx(0x20f)](bx(0x114))),console[bx(0x335)](a0V[bx(0x398)](bx(0x187))),console['log'](),console['log'](a0V['cyan'](bx(0x24a))),await M(-0xb*-0x119+0xa69+-0xac4));const al=Object[bx(0x221)](ab);if(al['length']>0x1324+-0x2056+-0x466*-0x3){console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)](bx(0x1ca)));const ar=0x12b5+-0x481*-0x3+-0x202e;for(const [as,at]of al){const au=at[bx(0x202)]>0x1*-0x47e+0x1*0x22ac+-0x1*0x1e2e?Math['round'](at[bx(0x3a3)]/at['total']*(0x2*-0xc8b+-0x114c+-0x49*-0x96)):-0x1269*0x1+-0x152c+0x2795,av=at[bx(0x202)]>0x73*-0x3+-0x1f71*-0x1+0x786*-0x4?Math['round'](at[bx(0x3a3)]/at['total']*ar):-0x257*-0x6+0x11b0+-0x1fba,aw=ar-av,ax=au>=-0x7*0xad+-0x6*0x66b+0x2b8d?a0V['green']:au>=0xb9c*0x2+0x1602+-0x2d08?a0V[bx(0x20f)]:a0V[bx(0x11c)],ay=ax('█'[bx(0x132)](av))+a0V[bx(0x398)]('░'['repeat'](aw));console[bx(0x335)](bx(0x38f)+a0V[bx(0x34d)](as['padEnd'](0x14db+-0x98f*0x4+0x1175))+'\x20'+ay+'\x20\x20'+ax(at[bx(0x3a3)]+'/'+at[bx(0x202)])+a0V['gray']('\x20('+au+'%)'));}console[bx(0x335)](),console['log'](a0V['cyan'](bx(0x40a)));}const am=a0a6(a9,X);if(a9===am['best']&&am[bx(0x177)]>-0x7ba+0x547+0x274&&a9>0x15ca+-0x1f34+0x2*0x4b5&&(console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x319)](bx(0x275)))),aa[bx(0xe7)]>0x61f*-0x3+0x2f*0x77+0x1be*-0x2){const az=af[bx(0x21a)](aA=>aa[bx(0x2bf)](aA[bx(0x25c)]))['map'](aA=>({...aA}));a0a7(az);}else a0a9();if(await M(0xb4e*-0x1+0x1*-0x1ad1+0x31d7),aa[bx(0xe7)]>-0x378+-0x51*-0x67+-0x1d1f){console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x20f)]('\x20\x20'+aa[bx(0xe7)]+'\x20'+a0ak(bx(0x26e)))),console[bx(0x335)]();for(const aA of aa){const aB=af['find'](aE=>aE[bx(0x25c)]===aA);if(!aB)continue;const aC=ag[aA],aD=aB[bx(0x216)];console[bx(0x335)](a0V[bx(0x34d)](bx(0x2b4)+aA+'.\x20'+aB['text'])),aC?console[bx(0x335)](a0V[bx(0x11c)](bx(0x38f)+a0ak(bx(0x32a))+':\x20'+aC+'.\x20'+aB[bx(0x395)][aC])):console['log'](a0V[bx(0x20f)](bx(0x38f)+a0ak(bx(0x32a))+bx(0x1a2))),aD&&console[bx(0x335)](a0V['green'](bx(0x38f)+a0ak(bx(0x3a3))+':\x20'+aD+'.\x20'+aB[bx(0x395)][aD])),aB[bx(0x2ce)]&&console[bx(0x335)](a0V[bx(0x398)](bx(0x18a)+aB['explanation'])),console['log']();}}else console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x319)]('\x20\x20'+a0ak(bx(0x269))));await M(0x732+0x11ba+-0xf*0x124),console['log'](),console[bx(0x335)](a0V[bx(0x17d)](bx(0x40a))),console[bx(0x335)](a0V[bx(0x34d)]('\x20\x20'+a0ak(bx(0x253))+'\x20')+a0V[bx(0x1f7)][bx(0x319)](bx(0x199))+a0V['gray'](bx(0x263)+a0ak('ai4ctfDesc'))),console[bx(0x335)](a0V['gray']('\x20\x20'+a0ak(bx(0x288)))),console['log'](a0V['cyan'](bx(0x40a))),console[bx(0x335)]();}catch(aE){console[bx(0x335)](),a0ac(aE['message']);}return;}const a1=V[bx(0x181)]['token'];try{let aF;if(j(-0x1b25+0x147*0x13+0x2e0,bx(0x146)),a1){const aP={};aP['Content-Type']='application/json';const aQ={};aQ[bx(0x199)]=0x0,aQ['ctf4ai']=0x0;const aR=a0Y()['ctfdUrl']||bx(0x321),aS=await fetch(aR+bx(0x3aa)+V[bx(0x181)]['examId']+bx(0x111),{'method':bx(0x302),'headers':aP,'body':JSON['stringify']({'token':a1,'answers':V[bx(0x34a)],'interactions':V[bx(0x352)]||[],'aiUsage':V[bx(0x30d)]||aQ,'bookmarks':V['bookmarks']||[]}),'signal':AbortSignal[bx(0x26c)](0x1*-0x2149+0x6d55+-0x8ba*0x2)});if(!aS['ok']){const aT=await aS[bx(0x262)]()[bx(0x348)](()=>({'message':bx(0x1f2)}));throw new Error(aT[bx(0x397)]||bx(0x1f2));}aF=(await aS[bx(0x262)]())['data'];}else{const aU=D();if(!aU)return;aF=await aU['submitExam'](V[bx(0x181)]['examId'],V['answers']);}j(-0xc*0x180+0x4a*-0x86+-0x12fa*-0x3,'Grading...'),await M(0x4*0x414+-0x67a+-0x8aa),j(-0x1b0a*-0x1+-0x6f9*-0x3+-0x2f91,'Complete!'),console[bx(0x335)]();const aG={};aG[bx(0x199)]=0x0,aG['ctf4ai']=0x0;const aH={'answered':Object[bx(0x179)](V[bx(0x34a)])[bx(0xe7)],'total':V[bx(0x181)]['questionCount'],'bookmarks':Array[bx(0x234)](V['bookmarks'])?V['bookmarks'][bx(0xe7)]:-0x106*-0x1+0x322*-0x6+-0xb6*-0x19,'help':_(V),'aiUsage':V[bx(0x30d)]||aG,'interactions':(V['interactions']||[])[bx(0xe7)],'durationMin':V[bx(0x181)][bx(0x32e)]||0x1fd1+0x9c3+-0x2994*0x1,'confirmedAt':V[bx(0x181)][bx(0x1fd)]||V['session'][bx(0x38b)],'examId':V[bx(0x181)][bx(0x390)]};a0a2();const aI=Math['max'](0xe*0x289+0x4b6+-0xa0d*0x4,Math[bx(0x217)]((Date['now']()-new Date(aH[bx(0x1fd)])[bx(0x3b7)]())/(-0x19a0+0x248b+-0x1*0x703))),aJ=Math[bx(0x207)](aI/(0x1*0x1472+-0x4*-0x3b5+-0x4e*0x73)),aK=aI%(-0x8ae+-0x953+0x123d*0x1);console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x17d)](bx(0x2b6))),console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)]('\x20\x20\x20██╗\x20██████╗\x20██████╗\x20\x20█████╗')),console['log'](a0V[bx(0x1f7)][bx(0x34d)](bx(0x3c6))),console[bx(0x335)](a0V[bx(0x1f7)]['white'](bx(0x3fa))),console[bx(0x335)](a0V['bold']['white'](bx(0x3ce))),console['log'](a0V['bold'][bx(0x34d)](bx(0x2a0))),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)](bx(0x337))),console[bx(0x335)]();const aL=aF[bx(0x225)]?a0V['green'][bx(0x1f7)](bx(0x243)):a0V[bx(0x20f)]['bold'](bx(0x1d6));console['log'](aL),console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x34d)]('\x20\x20\x20Your\x20answers\x20have\x20been\x20recorded\x20and\x20sent\x20to\x20your\x20national')),console['log'](a0V[bx(0x34d)](bx(0x168))),console[bx(0x335)](a0V['white'](bx(0x289))),console['log'](),console['log'](a0V[bx(0x17d)](bx(0x40a))),console[bx(0x335)](),console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)](bx(0x35b)));const aM=aH[bx(0x202)]-aH[bx(0x391)];console['log'](bx(0x38f)+a0V[bx(0x398)](bx(0x340))+a0V['white'](aH[bx(0x391)]+'/'+aH[bx(0x202)])+(aM>-0x3*-0x51b+0x51b*-0x7+0xa36*0x2?a0V['gray']('\x20\x20·\x20\x20'+aM+bx(0x1e9)):'')),console['log'](bx(0x38f)+a0V[bx(0x398)](bx(0x3bd))+a0V[bx(0x34d)](aJ+'m\x20'+aK+'s')+a0V[bx(0x398)]('\x20\x20of\x20'+aH[bx(0x3da)]+bx(0x3ac))),aH[bx(0x33b)]>0x463+-0x894+-0x25*-0x1d&&console['log'](bx(0x38f)+a0V['gray'](bx(0x241))+a0V[bx(0x20f)]('★\x20'+aH['bookmarks'])),console[bx(0x335)]();const aN=aF[bx(0x2e1)];if(aN&&Object[bx(0x179)](aN)['length']>=-0x1*-0x77+0x1c21+-0x1c96){const aV=Object['entries'](aN)[bx(0x21a)](([,b0])=>b0[bx(0x202)]>0x1895+-0x1*0x2475+-0x1*-0xbe0)[bx(0x14e)](([b0,b1])=>({'cat':b0,'pct':b1[bx(0x3a3)]/b1[bx(0x202)]}))['sort']((b0,b1)=>b1[bx(0x23e)]-b0[bx(0x23e)]),aW=Math[bx(0x2a7)](-0xaa*-0x8+-0x3*-0x215+-0xb8d,Math['ceil'](aV[bx(0xe7)]/(0x1677+0x2267+-0x38db))),aX=Math[bx(0x2a7)](-0x1363+0x2041+-0xcdc,Math[bx(0x2c3)](aV['length']/(-0x2*0xa2f+-0x1d72+0x1*0x31d3))),aY=aV['slice'](0x12a9+0x19af+0x16*-0x204,aW)['map'](b0=>b0[bx(0x380)]),aZ=aV[bx(0x295)](-aX)[bx(0x14e)](b0=>b0[bx(0x380)]);aY[bx(0x3e0)](b0=>aZ[bx(0x2bf)](b0))||(console[bx(0x335)](a0V[bx(0x1f7)][bx(0x34d)](bx(0x2bc))),console[bx(0x335)]('\x20\x20\x20\x20'+a0V[bx(0x319)](bx(0x231))+a0V[bx(0x34d)](aY['join'](',\x20'))),console[bx(0x335)](bx(0x38f)+a0V[bx(0x20f)](bx(0x39f))+a0V[bx(0x34d)](aZ[bx(0x2d7)](',\x20'))),console[bx(0x335)](a0V[bx(0x398)]('\x20\x20\x20\x20(relative\x20to\x20other\x20categories\x20—\x20numeric\x20scores\x20go\x20to\x20your\x20exam\x20center)')),console[bx(0x335)]());}console['log'](a0V['bold']['white'](bx(0x24f))),console['log']('\x20\x20\x20\x20'+a0V[bx(0x398)]('Help:\x20\x20\x20\x20\x20\x20')+a0V[bx(0x34d)](aH[bx(0xfd)][bx(0x2df)]+'/'+aH[bx(0xfd)]['max'])),console['log'](bx(0x38f)+a0V[bx(0x398)](bx(0x385))+a0V[bx(0x34d)](aH[bx(0x30d)]['ai4ctf']+bx(0x2e4))+a0V[bx(0x398)]('\x20\x20·\x20\x20')+a0V[bx(0x34d)](aH['aiUsage'][bx(0x2d0)]+'\x20CTF4AI')),console[bx(0x335)](),console['log'](a0V[bx(0x17d)](bx(0x40a))),console[bx(0x335)](),console['log'](a0V[bx(0x1f7)][bx(0x34d)]('\x20\x20What\x20next')),console[bx(0x335)](a0V['gray'](bx(0x39c))),console['log'](a0V[bx(0x398)](bx(0x3d2))+a0V[bx(0x34d)](bx(0xe3))+a0V[bx(0x398)](bx(0x1e3))),console[bx(0x335)](a0V[bx(0x398)]('\x20\x20·\x20Reference\x20guides\x20for\x2038\x20tools:\x20')+a0V[bx(0x34d)](bx(0x206))),console[bx(0x335)]();const {showCToBUpgradePrompt:aO}=await import(bx(0xf9));aO(aH['examId'],aF[bx(0x225)]),console[bx(0x335)](a0V['yellow'](bx(0x1db))),console[bx(0x335)](a0V['cyan']['underline'](bx(0x2da))),console['log'](),console[bx(0x335)](a0V[bx(0x17d)](bx(0x2b6))),console[bx(0x335)]();}catch(b0){console[bx(0x335)](),a0ac(b0[bx(0x397)]);}}),B[bg(0x342)]('result\x20[id]')[bg(0x3a4)](bg(0x3f0))[bg(0x1c6)](async F=>{const by=bg;a0aa(by(0x104)+(F||''));const G=D();if(!G)return;if(!F){const J=a0a0();if(!J)return void a0ac('Specify\x20exam\x20ID:\x20exam\x20result\x20<id>');F=J[by(0x181)][by(0x390)];}const H=a0ai(by(0x129));H[by(0x2d2)]();try{const K=await G[by(0x154)](F);H[by(0x21c)]('Result\x20loaded'),console[by(0x335)](),a0ag(K['examName']),a0ah('Score',a0V[by(0x1f7)](K[by(0x137)]+'/'+K[by(0x202)])),a0ah('Percentage',a0V[by(0x1f7)](K['percentage']+'%')),a0ah('Status',K['passed']?a0V['green']['bold'](by(0x358)):a0V[by(0x11c)][by(0x1f7)](by(0x1e4))),a0ah(by(0xe8),K[by(0x10c)]),console['log']();}catch(V){H[by(0x124)]('Failed\x20to\x20load\x20result'),a0ac(V[by(0x397)]);}}),B[bg(0x342)]('token\x20<code>')['description']('Enter\x20exam\x20with\x20access\x20token\x20(no\x20login\x20needed)')['action'](async J=>{const bz=bg;a0aa(bz(0x403)+J);const {getRealExamState:K,saveExamState:V,clearExamState:W}=await import(bz(0x35a)),X=K();if(X){const a4=X['session'][bz(0x19b)],a5=a0a3(),a6=!!a4&&a4['trim']()[bz(0x160)]()!==J[bz(0x40b)]()[bz(0x160)](),a7=!!a5&&a5['getTime']()+(-0x2192b2+0x129995+0x2a705d)<Date[bz(0x30f)]();if(a6&&a7)return W(),console[bz(0x335)](),console[bz(0x335)](a0V[bz(0x398)](bz(0x408))),console[bz(0x335)](),console[bz(0x335)](a0V['white'](bz(0x211))+a0V[bz(0x1f7)][bz(0x17d)](bz(0x38c)+J)),void console['log']();if(!a4&&J)return X[bz(0x181)]['token']=J[bz(0x40b)](),V(X),console[bz(0x335)](),console[bz(0x335)](a0V[bz(0x319)](bz(0x1a6))),console[bz(0x335)](a0V[bz(0x398)](bz(0x1d9))+a0V[bz(0x34d)](bz(0x22f))+a0V['gray'](bz(0x145))+a0V[bz(0x34d)]('exam\x20submit')),console['log'](),console[bz(0x335)](a0V[bz(0x1f7)][bz(0x34d)](bz(0x1b5))),console[bz(0x335)](a0V[bz(0x398)](bz(0x18a))+a0V[bz(0x1f7)][bz(0x17d)](bz(0x332))+a0V[bz(0x398)](bz(0x226))),console[bz(0x335)](a0V[bz(0x398)]('\x20\x20\x20\x20→\x20')+a0V[bz(0x1f7)][bz(0x17d)](bz(0x13b))+a0V[bz(0x398)](bz(0x326))),void console[bz(0x335)]();const a8=Object[bz(0x179)](X[bz(0x34a)])[bz(0xe7)],a9=X[bz(0x181)]['questionCount'],aa=a0a3(),ab=aa?Math[bz(0x165)](-0x9*0x29+0x15a*-0xd+0x1303,Math['round']((aa[bz(0x3b7)]()-Date[bz(0x30f)]())/(-0x1*-0x1e6f+0x11684+0x4a93*-0x1))):null;return console[bz(0x335)](),console[bz(0x335)](a0V['yellow']('\x20\x20⚠\x20\x20An\x20exam\x20is\x20already\x20in\x20progress\x20on\x20this\x20device.')),console[bz(0x335)](),console[bz(0x335)](a0V[bz(0x398)](bz(0xe4))+a0V[bz(0x34d)](X[bz(0x181)][bz(0x3ff)])),a4&&console[bz(0x335)](a0V[bz(0x398)](bz(0x233))+a0V[bz(0x34d)](a4)+(a4===J?a0V[bz(0x319)](bz(0x1a7)):a0V[bz(0x20f)]('\x20\x20(different\x20from\x20the\x20one\x20you\x20typed)'))),console[bz(0x335)](a0V['gray'](bz(0x139))+a0V[bz(0x34d)](a8+'/'+a9)),null!==ab&&console[bz(0x335)](a0V['gray'](bz(0x325))+a0V[bz(0x34d)](ab+bz(0xf0))),console['log'](),console[bz(0x335)](a0V[bz(0x1f7)][bz(0x34d)]('\x20\x20To\x20continue\x20this\x20exam:')),console[bz(0x335)](a0V['gray'](bz(0x18a))+a0V[bz(0x1f7)]['cyan'](bz(0x332))+a0V[bz(0x398)]('\x20\x20\x20\x20\x20\x20resume\x20at\x20any\x20question')),console[bz(0x335)](a0V['gray'](bz(0x18a))+a0V[bz(0x1f7)][bz(0x17d)](bz(0x13b))+a0V['gray']('\x20\x20\x20see\x20progress\x20+\x20flagged\x20items')),console[bz(0x335)](a0V[bz(0x398)]('\x20\x20\x20\x20→\x20')+a0V['bold'][bz(0x17d)](bz(0x1be))+a0V[bz(0x398)](bz(0x256))),a4&&a4!==J&&(console[bz(0x335)](),console[bz(0x335)](a0V['yellow'](bz(0x2f9))),console[bz(0x335)](a0V['yellow']('\x20\x20one\x20device\x20+\x20one\x20session.\x20You\x20cannot\x20switch\x20tokens\x20mid-exam.')),console[bz(0x335)](),console[bz(0x335)](a0V[bz(0x398)](bz(0x35f))),console[bz(0x335)](a0V['gray'](bz(0x3d0)))),void console['log']();}const {isNativeWindowsCmd:Y}=await import(bz(0x339));if(!Y()&&!a0ao()){let ac=!(0x1*-0x2001+-0x2218+0x421a);try{const ad={};ad[bz(0x338)]=bz(0x2e7);const ae=a0Y()[bz(0x3af)]||bz(0x321),af=await fetch(ae+'/api/icoa/exam-token',{'method':bz(0x302),'headers':ad,'body':JSON[bz(0x290)]({'token':J[bz(0x40b)](),'deviceHash':a0al(),'peek':!(0x9*0x367+0x143f*-0x1+0xa60*-0x1)}),'signal':AbortSignal[bz(0x26c)](-0x721*0x3+-0xea1+0x378c)});if(af['ok']){const ag=await af[bz(0x262)]();(ag?.[bz(0x1f0)]?.[bz(0x39d)]||'')['endsWith']('-c')&&(ac=!(0x16ed*0x1+0x1901+-0x4cb*0xa));}}catch{}if(!ac)return console['log'](),a0ad(bz(0x2cf)),console['log'](a0V['gray'](bz(0x126))+a0V[bz(0x1f7)][bz(0x17d)]('exam\x20setup')),console[bz(0x335)](a0V[bz(0x398)](bz(0x236))+a0V['bold'][bz(0x17d)](bz(0x1ea))+a0V[bz(0x398)](bz(0x278))),console[bz(0x335)](a0V[bz(0x398)](bz(0x350))),void console[bz(0x335)]();}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(0x40b)]()['substring'](-0x256c+-0x1210+0x377c,0x10d6+0x20*-0x81+-0x5a*0x2)[bz(0x160)]()],a1=a0Y(),a2=a1[bz(0x3af)]||'https://practice.icoa2026.au',a3=a0||a1[bz(0x3c5)]||'en';a0&&a0!==(a1['language']||'en')&&a0Z({'language':a0}),console[bz(0x335)](),j(0x3*-0x6bf+0x2650+-0x1213,bz(0x2c9));try{const ah={};ah['Content-Type']=bz(0x2e7);const ai=await fetch(a2+'/api/icoa/exam-token',{'method':bz(0x302),'headers':ah,'body':JSON[bz(0x290)]({'token':J['trim'](),'deviceHash':a0al(),'lang':a3}),'signal':AbortSignal[bz(0x26c)](0xbfd+-0x18e5*-0x1+0x22e)});if(!ai['ok']){j(0x2*0x16f+-0x13cf+0x10f1,''),console['log']();const aq=await ai[bz(0x262)]()['catch'](()=>({'message':bz(0x3db)}));return a0ac(aq[bz(0x397)]||'Invalid\x20exam\x20token'),void a0ae(bz(0x13e));}j(-0x248f+0x10*0x1a+-0x3e5*-0x9,bz(0x3f8));const aj=await ai[bz(0x262)](),{session:ak,questions:al,languages:am}=aj[bz(0x1f0)];j(0x6b*0x9+0x5*-0x4b5+0x1402,'Preparing...'),await M(0x1a21+0x2032+-0x398b),j(-0x153b*0x1+-0x7c*-0x2b+-0xcb*-0x1,bz(0x38a)),console[bz(0x335)](),console[bz(0x335)](),a0ag(ak[bz(0x3ff)]),console[bz(0x335)](),a0ah('Questions',ak[bz(0x135)]+bz(0x191)),a0ah(bz(0x2dc),ak[bz(0x32e)]+'\x20minutes'),a0ah(bz(0x29a),(ak[bz(0x138)]||0x67f+-0x1e96+-0x18ad*-0x1)+'\x20points'),a0ah(bz(0x176),(ak[bz(0x117)]||-0x33d+-0x1*-0x1fb2+0xe*-0x203)+bz(0x194)),console[bz(0x335)](),console['log'](a0V[bz(0x34d)](bz(0x203))),console[bz(0x335)](a0V[bz(0x34d)](bz(0x200))),console['log'](a0V[bz(0x34d)](bz(0x3dd))),console[bz(0x335)](a0V[bz(0x34d)](bz(0x33d))),am&&am[bz(0xe7)]>-0x1*-0x1f05+-0x10f*0x1e+0xbe&&console[bz(0x335)](a0V[bz(0x34d)](bz(0x2fc)+am['join'](',\x20')+bz(0x311))),console['log'](),console[bz(0x335)](a0V['yellow'](bz(0x267))),console['log'](a0V[bz(0x34d)]('\x20\x20\x20\x20•\x20All\x20interactions\x20are\x20recorded\x20for\x20audit')),console[bz(0x335)](a0V[bz(0x34d)](bz(0x1d1))),console[bz(0x335)](a0V[bz(0x34d)](bz(0x23c))),console[bz(0x335)](),await new Promise(ar=>{const bA=bz;process[bA(0x26f)][bA(0x15d)](a0V[bA(0x1f7)][bA(0x20f)](bA(0x100)));const as=!!process['stdin'][bA(0x14b)]&&process[bA(0x1e2)][bA(0x276)];process[bA(0x1e2)]['isTTY']&&process['stdin'][bA(0x3ae)]&&process['stdin'][bA(0x3ae)](!(-0x6c*0x46+-0x11d4+-0x7d*-0x61));const at=au=>{const bB=bA,av=au[bB(0x1ae)]();(av[bB(0x2bf)]('\x0a')||av[bB(0x2bf)]('\x0d'))&&(process[bB(0x1e2)]['removeListener'](bB(0x1f0),at),process[bB(0x1e2)]['isTTY']&&process[bB(0x1e2)][bB(0x3ae)]&&process['stdin'][bB(0x3ae)](as),process[bB(0x26f)][bB(0x15d)]('\x0a'),ar());};process[bA(0x1e2)]['on'](bA(0x1f0),at),process[bA(0x1e2)][bA(0x3e3)]();});const an=new Date()['toISOString']();ak[bz(0x1fd)]=an,ak[bz(0x19b)]=J[bz(0x40b)]();try{const ar=Date['now'](),as=await fetch(a2+bz(0x38e),{'method':bz(0x383),'signal':AbortSignal['timeout'](-0x12e7+-0xf4a+0x2de9)});if(as['ok']){const at=await as['json'](),au=at?.[bz(0x1f0)]?.[bz(0x102)];if('number'==typeof au&&au>0x16bc*-0x1+0xf71+0x74b){const av=(ar+Date['now']())/(-0x263f+-0x1411+0x3a52*0x1);ak[bz(0x22d)]=Math[bz(0x217)](au-av),ak[bz(0x3be)]=au+(0x13*-0x105+0x3c7+0xfd4)*ak[bz(0x32e)]*(0x21b8+0x1f0c*-0x1+0x13c);}}}catch{}const ao={};ao[bz(0x199)]=0x0,ao[bz(0x2d0)]=0x0;const ap={};ap['session']=ak,ap[bz(0x349)]=al,ap['answers']={},ap[bz(0x352)]=[],ap[bz(0x30d)]=ao,(a0a1(ap),console[bz(0x335)](),a0ab(bz(0x1fe)),a0ah(bz(0x37b),ak[bz(0x32e)]+bz(0x166)),al[bz(0xe7)]>-0x113f+0x2065+-0xf26&&L(al[0x1*-0x1e7+-0x119*-0x3+0x1*-0x164]));}catch(aw){console[bz(0x335)](),bz(0x36a)===aw[bz(0xef)]?a0ac(bz(0x270)):a0ac(aw[bz(0x397)]||bz(0x3b0));}}),B[bg(0x342)]('reset',{'hidden':!(0xabd+-0x657+-0x466)})['description'](bg(0x2f3))[bg(0x1c6)](async()=>{const bC=bg;a0aa(bC(0x372));const {getRealExamState:F,clearExamState:G}=await import(bC(0x35a)),H=F();if(!H)return console[bC(0x335)](),console['log'](a0V[bC(0x398)](bC(0x282))),void console['log']();const J=H[bC(0x181)][bC(0x19b)];console[bC(0x335)](),console[bC(0x335)](a0V[bC(0x20f)](bC(0x384))),console[bC(0x335)](a0V[bC(0x398)](bC(0x16c))+a0V[bC(0x34d)](H['session'][bC(0x3ff)])),J&&console[bC(0x335)](a0V[bC(0x398)](bC(0x330))+a0V[bC(0x34d)](J)),console[bC(0x335)](a0V[bC(0x398)](bC(0x357))),console[bC(0x335)](a0V[bC(0x398)](bC(0x11b))),console['log'](),console[bC(0x335)](a0V['gray'](bC(0x1ad))+a0V[bC(0x1f7)][bC(0x17d)](bC(0xf5))+a0V[bC(0x398)](bC(0x271)));const {getMainRl:K}=await import(bC(0x1d7)),V=K();if(bC(0xf5)!==(await new Promise(W=>{const bD=bC;if(V){const X=V[bD(0x394)]('line')[bD(0x295)]();V[bD(0x284)]('line'),process[bD(0x26f)][bD(0x15d)](bD(0x22c)),V[bD(0x3a0)](bD(0x3e9),Y=>{const bE=bD;for(const Z of X)V['on']('line',Z);W(Y[bE(0x40b)]());});}else((async()=>{const bF=bD,Y={};Y[bF(0x367)]=process['stdin'],Y[bF(0xf4)]=process[bF(0x26f)];const {createInterface:Z}=await import('node:readline'),a0=Z(Y);a0[bF(0x393)](bF(0x22c),a1=>{const bG=bF;a0[bG(0x1ee)](),W(a1['trim']());});})());}))[bC(0x228)]())return console[bC(0x335)](a0V['gray'](bC(0x400))),void console[bC(0x335)]();G(),console['log'](),console[bC(0x335)](a0V[bC(0x319)](bC(0x244))),console['log'](a0V[bC(0x398)](bC(0x2c8))+a0V[bC(0x1f7)][bC(0x17d)](bC(0x2b7))),console[bC(0x335)]();}),B['command'](bg(0xe3))[bg(0x3a4)](bg(0x3b3))[bg(0x1c6)](async()=>{const bH=bg;a0aa(bH(0x2a2)),O(bH(0x237));const {pickDemoQuestions:F,getLocalizedDemoSession:G,DEMO_PICK_SIZE:H,DEMO_POOL_SIZE:J}=await import(bH(0x196));a0Y()['demoIntroSeen']||(await(async function(){const bI=bH;let a2=!(0xa*-0x378+-0xc37+0x9e*0x4c);const a3=process['stdin'],a4=()=>{a2=!(-0x70c+0x9d0+-0x2c4);},a5=a3[bI(0x14b)]&&bI(0x197)==typeof a3[bI(0x3ae)];a5&&(a3[bI(0x3ae)](!(0x1f55+-0x10be+-0xe97)),a3[bI(0x3e3)](),a3[bI(0x3a0)](bI(0x1f0),a4));const a6=async a7=>{let a8=-0x1bce+0x201c*0x1+-0x44e;for(;a8<a7&&!a2;)await M(-0x7be*0x1+0x3f6*-0x2+0x1*0xffa),a8+=0x12*0x1e0+0x1*0x1cf3+-0x3e63;};try{if(console[bI(0x36c)](),console[bI(0x335)](),console[bI(0x335)](a0V[bI(0x398)]('\x20\x20\x20')+a0V['dim'](bI(0x388))),console[bI(0x335)](),console['log'](a0V[bI(0x1f7)]['white'](bI(0x2ff))),console[bI(0x335)](a0V['bold'][bI(0x34d)](bI(0x3c6))),console[bI(0x335)](a0V[bI(0x1f7)][bI(0x34d)]('\x20\x20\x20██║██║\x20\x20\x20\x20\x20██║\x20\x20\x20██║███████║')),console[bI(0x335)](a0V['bold']['white'](bI(0x3ce))),console['log'](a0V[bI(0x1f7)][bI(0x34d)](bI(0x2a0))),console['log'](a0V[bI(0x1f7)][bI(0x34d)](bI(0x337))),console['log'](),console[bI(0x335)](a0V[bI(0x1f7)][bI(0x20f)](bI(0x26d))),console['log'](a0V[bI(0x398)](bI(0x205))),await a6(-0x1d68+-0x25db+-0x1*-0x4d07),a2)return;if(console[bI(0x335)](),console[bI(0x335)](a0V[bI(0x34d)](bI(0xfe))),console[bI(0x335)](),await a6(-0x1ea3+0x2670+-0x7f*0xb),a2)return;if(console[bI(0x335)](a0V[bI(0x17d)](bI(0x116))+a0V[bI(0x34d)](bI(0xfa))+a0V['gray'](bI(0xe6))),await a6(0x806+-0x1*-0xf2b+0x1475*-0x1),a2)return;if(console[bI(0x335)](a0V['green']('\x20\x20\x20\x20\x20▣\x20')+a0V[bI(0x34d)]('Team\x20up\x20with\x20AI\x20to\x20solve\x20CTFs')+a0V['gray']('\x20\x20\x20\x20(ai4ctf)')),await a6(0x666+0x133e+-0x8*0x2dd),a2)return;if(console[bI(0x335)](a0V[bI(0x11c)](bI(0x116))+a0V['white'](bI(0x212))+a0V[bI(0x398)](bI(0x186))),await a6(0x2114+-0x3f3*-0x9+-0x411b),a2)return;if(console[bI(0x335)](),console[bI(0x335)](a0V[bI(0x1f7)]['white'](bI(0x273))+a0V['bold'][bI(0x20f)]('IS')+a0V[bI(0x1f7)][bI(0x34d)]('\x20the\x20competition.')),console[bI(0x335)](),await a6(0x3e4+0x1*-0x1c41+0x1e39),a2)return;if(console[bI(0x335)](a0V['gray'](bI(0x286))),await a6(0x2*0x5d4+0x10f9+-0x29*0xa9),a2)return;if(console[bI(0x335)](a0V['gray']('\x20\x20\x20·\x2015\x20languages,\x20real-time\x20AI\x20translation')),await a6(0x1ce+0x7d3+0x23*-0x3b),a2)return;if(console[bI(0x335)](a0V[bI(0x398)](bI(0x21e))),await a6(-0x9*-0x1c9+-0x3*-0xb7b+-0x2f62),a2)return;console[bI(0x335)](),console['log'](a0V[bI(0x1f7)][bI(0x17d)](bI(0x174))),await a6(-0x1329+0x2607+-0x33e);}finally{((()=>{const bJ=bI;if(a5){a3[bJ(0x131)](bJ(0x1f0),a4);try{a3[bJ(0x3ae)](!(0x23c8+0x118a+-0x1*0x3551));}catch{}a3[bJ(0x18e)]();}})()),console[bI(0x36c)]();}}()),a0Z({'demoIntroSeen':!(0xdd*0x22+0xf11+-0x2c6b)})),console[bH(0x335)](),console[bH(0x335)](a0V[bH(0x34d)](bH(0x2f2))+a0V[bH(0x398)](H+bH(0x164)+J+bH(0x30c))),console['log'](a0V['gray'](bH(0x15f))+a0V[bH(0x17d)]('Ctrl+C')+a0V[bH(0x398)](bH(0x3f4))+a0V[bH(0x17d)](bH(0x1ea))+a0V[bH(0x398)](bH(0x17a))),await new Promise(a2=>{const bK=bH;process['stdout'][bK(0x15d)](a0V[bK(0x1f7)]['yellow']('\x20\x20Press\x20Enter\x20to\x20begin...\x20'));const a3=!!process['stdin'][bK(0x14b)]&&process[bK(0x1e2)]['isRaw'];process[bK(0x1e2)][bK(0x14b)]&&process['stdin'][bK(0x3ae)]&&process['stdin'][bK(0x3ae)](!(0x6*0x32+0x2*0x5f3+-0xd11));const a4=a5=>{const bL=bK,a6=a5[bL(0x1ae)]();(a6[bL(0x2bf)]('\x0a')||a6['includes']('\x0d'))&&(process[bL(0x1e2)][bL(0x131)]('data',a4),process[bL(0x1e2)]['isTTY']&&process[bL(0x1e2)][bL(0x3ae)]&&process[bL(0x1e2)][bL(0x3ae)](a3),process[bL(0x26f)][bL(0x15d)]('\x0a'),a2());};process[bK(0x1e2)]['on'](bK(0x1f0),a4),process[bK(0x1e2)][bK(0x3e3)]();});const K=F(H),V=G(),{getDemoState:W,clearExamState:X}=await import('../lib/exam-state.js');W()&&X('demo-free'),console['log'](),a0ag('ICOA\x20Demo\x20Exam\x20—\x20Free\x20Practice'),console[bH(0x335)](),console[bH(0x335)](a0V[bH(0x34d)](bH(0x240))),console['log'](a0V['white']('\x20\x20'+H+bH(0x1ff)+J+'\x20·\x20Pick\x20one\x20answer\x20per\x20question'));const Y=a0a5();if(Y[bH(0x177)]>0x127b*-0x1+-0x1b18+0x2d93){const a2=Y[bH(0x167)],a3=a2>=0x1*-0x85b+0xbcd+-0x322?a0V['green']:a2>=0x5ef+0x14*0x24+0x1*-0x883?a0V['yellow']:a0V[bH(0x34d)];console[bH(0x335)](),console['log'](a0V['gray'](bH(0x371))+a3(Y[bH(0x2c6)]+'/'+H+'\x20('+a2+'%)')+a0V[bH(0x398)](bH(0x266)+Y[bH(0x177)]+bH(0x365)));}console[bH(0x335)](),console['log'](a0V[bH(0x398)]('\x20\x20─────────────────────────────────────────')),console[bH(0x335)](a0V[bH(0x34d)]('\x20\x20'+a0ak(bH(0x21f)))),console[bH(0x335)](a0V[bH(0x20f)](bH(0x3a2))+a0V[bH(0x398)]('\x20\x20\x20\x20\x20\x20\x20'+a0ak(bH(0x24d)))),console[bH(0x335)](a0V[bH(0x20f)](bH(0x108))+a0V[bH(0x398)](bH(0x16f)+a0ak(bH(0xfb)))),console[bH(0x335)](a0V[bH(0x20f)](bH(0x31e))+a0V[bH(0x398)](bH(0x255))+a0V[bH(0x20f)](bH(0x264))+a0V[bH(0x398)]('\x20\x20\x20\x20'+a0ak(bH(0x143)))),console[bH(0x335)](a0V[bH(0x20f)]('\x20\x20\x20\x20more\x20help')+a0V[bH(0x398)](bH(0x2d5)+a0ak(bH(0xf8)))),console[bH(0x335)](a0V['yellow']('\x20\x20\x20\x20back')+a0V[bH(0x398)](bH(0x16f)+a0ak(bH(0x392)))),console[bH(0x335)](a0V[bH(0x20f)](bH(0x301))+a0V[bH(0x398)](bH(0x16f)+a0ak(bH(0x119)))),console[bH(0x335)](a0V[bH(0x398)](bH(0x24c))),console[bH(0x335)](a0V[bH(0x398)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ru\x20·\x20hi\x20·\x20de\x20·\x20id\x20·\x20th\x20·\x20vi\x20·\x20tr')),console[bH(0x335)](a0V['gray']('\x20\x20─────────────────────────────────────────')),console['log']();const {getConfig:Z}=await import(bH(0x1aa)),a0=Z()['language']||'en';'en'===a0?(console[bH(0x335)](a0V['gray'](bH(0x378))),console[bH(0x335)](a0V[bH(0x398)](bH(0x1f3))),console[bH(0x335)](a0V[bH(0x398)](bH(0x34c)))):console['log'](a0V[bH(0x319)]('\x20\x20Language:\x20'+a0)),console[bH(0x335)](),console[bH(0x335)](a0V[bH(0x34d)](bH(0x149)));const a1={...V,'startedAt':new Date()[bH(0x381)]()};console[bH(0x335)](),j(0x2537*0x1+0x2111+-0x4648,bH(0x136)),await M(0x1507*-0x1+0x2511+-0x15*0xba),j(-0x2b2+-0x616+0x8f0,bH(0x296)),await M(0x13ed*-0x1+0x1329+0x18c),j(-0xd7*0x1c+-0x2f9*0x1+0x1acd,bH(0x3e6)),await M(0x3b*-0x42+0x1*0xd5+0x3*0x4fd),j(0x24c1+-0x41*-0x43+-0x3560,bH(0x38a)),console['log'](),console[bH(0x335)](),a0a1({'session':a1,'questions':K,'answers':{},'_helpMax':0x5}),a0ah(bH(0x109),String(H)),a0ah(bH(0x2dc),bH(0x268)),L(K[-0x2b3+0xa*-0x8b+0x821*0x1]);}),B['command'](bg(0x224))[bg(0x3a4)](bg(0x292))[bg(0x1c6)](async()=>{const bM=bg;a0aa('exam\x20demo-retry'),O(bM(0x2be));const {getLocalizedDemoSession:F}=await import(bM(0x196)),G=a0a8();if(!G||-0x687+-0x19*-0x12b+-0x16ac===G[bM(0xe7)])return console[bM(0x335)](),console[bM(0x335)](a0V[bM(0x20f)](bM(0x2aa))+a0V[bM(0x1f7)][bM(0x17d)](bM(0xe3))+a0V['yellow']('\x20first.')),void console[bM(0x335)]();const H=a0a0();if(H){if(bM(0x22a)!==H[bM(0x181)][bM(0x390)])return a0ad(bM(0x309)+H[bM(0x181)]['examName']+bM(0x242)),void a0ae(bM(0x11f));a0a2();}const J=X=>{const bN=bM;if(!X['answer'])return X;const Y=X['options'][X[bN(0x216)]],Z=['A','B','C','D']['map'](a4=>X['options'][a4]);for(let a4=Z[bN(0xe7)]-(0x1*-0xd01+0x963+0x9*0x67);a4>-0x37*0x1+0x19*0x144+-0x1f6d;a4--){const a5=Math['floor'](Math['random']()*(a4+(0x1fdc+0xc38+0x2c13*-0x1)));[Z[a4],Z[a5]]=[Z[a5],Z[a4]];}const a0={};a0['A']=Z[0x3e6+-0x21fc+0x1e16],a0['B']=Z[-0xee7+0x5f6*-0x2+0x2*0xd6a],a0['C']=Z[0x21a1+-0x7*0x54e+-0x1f*-0x1d],a0['D']=Z[0x4*0x409+0x70*0xb+-0x3*0x6fb];const a1=a0,a2=['A','B','C','D'][bN(0x11d)](a6=>a1[a6]===Y),a3={...X};return a3[bN(0x395)]=a1,a3[bN(0x216)]=a2,a3;},K=G[bM(0x14e)]((X,Y)=>({...J(X),'number':Y+(0x8d2*0x4+-0x10a8+-0x129f)})),V=F(),W={...V,'examName':V['examName']+bM(0x210),'questionCount':K[bM(0xe7)],'startedAt':new Date()[bM(0x381)]()};console[bM(0x335)](),a0ag('Demo\x20Retry\x20—\x20Wrong\x20Questions\x20Only'),console[bM(0x335)](),console[bM(0x335)](a0V['white'](bM(0x405)+K[bM(0xe7)]+bM(0xe9)+(0xbed+-0x11*0x1e8+0x147c===K[bM(0xe7)]?'':'s')+bM(0x215))),console[bM(0x335)](a0V[bM(0x398)]('\x20\x20Options\x20have\x20been\x20reshuffled.')),console[bM(0x335)](),a0a1({'session':W,'questions':K,'answers':{}}),a0ah(bM(0x109),String(K[bM(0xe7)])),a0ah(bM(0x2dc),bM(0x268)),L(K[-0x16aa+0xceb*-0x2+0x3080]);}),B['command'](bg(0x1b2))['description'](bg(0x140))[bg(0x1c6)](async()=>{const bO=bg;if(a0aa(bO(0x172)),-0x60b+-0xa*-0x1+0x601===a0a5()[bO(0x177)])return console[bO(0x335)](),a0ad(bO(0x13c)),console[bO(0x335)](a0V['gray'](bO(0x126))+a0V[bO(0x1f7)][bO(0x17d)](bO(0x2a2))),void console[bO(0x335)]();const J=a0am();if(J){const a9=J[bO(0x24e)][bO(0xe7)],aa=a9+J[bO(0x1cb)][bO(0xe7)];if(a9>=-0xd97+0x23e1+0x103*-0x16||(aa>0x1404+-0x4af*-0x7+-0x1*0x34cd?a9/aa:0x2605+0x821*-0x1+0x1de4*-0x1)>=0x1*-0x2203+-0x9bd*-0x3+0x4cc+0.7)return console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x319)](bO(0x1a4))+a0V[bO(0x319)](bO(0x261))),console[bO(0x335)](a0V[bO(0x398)]('\x20\x20\x20\x20Completed:\x20'+J[bO(0x1d5)]['split']('T')[0xe52+-0x46b+-0x27*0x41])),console['log'](a0V[bO(0x398)]('\x20\x20\x20\x20Python:\x20'+J['pythonVersion'])),console[bO(0x335)](a0V['gray'](bO(0x2e5)+a9+bO(0x2a6))),J[bO(0x1cb)][bO(0xe7)]>-0x1fb0+0x215f+-0x1af&&console[bO(0x335)](a0V['yellow'](bO(0x312)+J['failedPackages'][bO(0x2d7)](',\x20'))),console[bO(0x335)](),console['log'](a0V[bO(0x34d)](bO(0x1cf))+a0V[bO(0x1f7)][bO(0x17d)](bO(0x2b7))),console[bO(0x335)](a0V[bO(0x398)](bO(0x236))+a0V[bO(0x1f7)][bO(0x17d)]('back')+a0V[bO(0x398)](bO(0x278))),void console[bO(0x335)]();console[bO(0x335)](),console[bO(0x335)](a0V['yellow'](bO(0x1f8)+a9+'/'+aa+bO(0x18c))),console[bO(0x335)]();}console[bO(0x335)](),a0ag('Exam\x20Environment\x20Setup'),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x34d)](bO(0x17b))),console[bO(0x335)](a0V[bO(0x398)](bO(0x1df))),console[bO(0x335)]();const K=(ab,ac)=>{const bP=bO,ad=process['platform'];console[bP(0x335)](),a0ac(bP(0x1a9)===ab?bP(0x3e4):bP(0x3f2)+ac+'\x20found,\x20but\x203.10+\x20required\x20for\x20the\x20exam.'),console['log'](),console[bP(0x335)](a0V['bold'][bP(0x34d)](bP(0x10e))),console[bP(0x335)](),bP(0x3e1)===ad?(console['log'](a0V[bP(0x20f)](bP(0x27f))),console['log'](a0V[bP(0x319)](bP(0x409))),console[bP(0x335)](),console[bP(0x335)](a0V[bP(0x398)]('\x20\x20Or\x20download\x20installer:')),console[bP(0x335)](a0V[bP(0x398)](bP(0x360)))):'linux'===ad?(console[bP(0x335)](a0V[bP(0x20f)](bP(0x17e))),console[bP(0x335)](a0V[bP(0x319)](bP(0x12c))),console['log'](a0V['green'](bP(0x315))),console[bP(0x335)](a0V[bP(0x319)](bP(0x280))),console[bP(0x335)](a0V[bP(0x398)](bP(0x1da))),console[bP(0x335)](),console[bP(0x335)](a0V[bP(0x20f)](bP(0x3f9))),console[bP(0x335)](a0V['green'](bP(0x3f7))),console[bP(0x335)](),console[bP(0x335)](a0V[bP(0x20f)](bP(0x3b6))),console[bP(0x335)](a0V[bP(0x319)](bP(0xf1)))):'win32'===ad?(console[bP(0x335)](a0V[bP(0x20f)]('\x20\x20Windows\x20(winget,\x20recommended):')),console['log'](a0V['green']('\x20\x20\x20\x20winget\x20install\x20Python.Python.3.12')),console['log'](),console[bP(0x335)](a0V[bP(0x398)]('\x20\x20Or\x20download\x20installer:')),console[bP(0x335)](a0V[bP(0x398)](bP(0x2f6)))):console[bP(0x335)](a0V['gray']('\x20\x20\x20\x20https://www.python.org/downloads/')),console[bP(0x335)](),console[bP(0x335)](a0V[bP(0x34d)](bP(0x1bf))+a0V[bP(0x1f7)][bP(0x17d)](bP(0x172))),console[bP(0x335)]();},{execFileSync:V}=await import('node:child_process'),W=[bO(0x334),'python3.11',bO(0x297),bO(0x31d)];let X='',Y='',Z='';for(const ab of W)try{const ac=V(ab,['--version'],{'encoding':bO(0x195),'timeout':0x1388})[bO(0x40b)]()[bO(0x287)]('Python\x20',''),ad=ac['split']('.')[bO(0x14e)](Number);if(-0x1ef9+0x828+0xb6a*0x2===ad[-0x1e16+-0x11c5+0x2fdb*0x1]&&ad[0x1946+-0x122b+0x38d*-0x2]>=0xd72+0x413*-0x8+0x1330){X=ab,Y=ac;break;}bO(0x31d)!==ab||Z||(Z=ac);}catch{}if(!X)return void(Z?K('too_old',Z):K('missing'));const a0=Y[bO(0x2ba)]('.')[bO(0x14e)](Number);0x1d+0x1*-0x159d+0x1583===a0[0x111d+-0x26ed*0x1+0x15d0]&&a0[-0x140f+-0x1*-0x84f+0x3eb*0x3]<0x17bc+-0x1*0x22f7+0x1*0xb47?console[bO(0x335)](a0V['green'](bO(0xee)+Y)+a0V[bO(0x398)](bO(0x3ef))):console['log'](a0V[bO(0x319)](bO(0xee)+Y));try{const ae={};ae[bO(0x291)]='ignore',ae[bO(0x26c)]=0x1388,(a0as(X+bO(0x32c),ae),console[bO(0x335)](a0V[bO(0x319)]('\x20\x20✓\x20pip\x20available')));}catch{console[bO(0x335)](a0V['yellow']('\x20\x20⚠\x20pip\x20not\x20found,\x20trying\x20ensurepip...'));try{const af={};af[bO(0x291)]='ignore',af[bO(0x26c)]=0x7530,(a0as(X+bO(0x23f),af),console[bO(0x335)](a0V['green'](bO(0x31b))));}catch{a0ac(bO(0x2fa)),console[bO(0x335)]();const {isInWSL:ag,isNativeWindowsCmd:ah}=await import('../lib/platform.js'),{execFileSync:ai}=await import(bO(0x127)),aj=ag(),ak=ah(),al=bO(0x317)===process[bO(0x182)]&&!aj,am=bO(0x3e1)===process[bO(0x182)];let an=bO(0x1b6);if(al||aj)try{const {readFileSync:aq}=await import(bO(0x3dc)),ar=aq(bO(0x1c7),bO(0x195)),as=(ar[bO(0x1e8)](/^ID="?([^"\n]+)/m)||[])[-0xbe*-0x1+-0x1a7a+0x19bd]||'',at=(ar[bO(0x1e8)](/^VERSION_ID="?([^"\n]+)/m)||[])[-0x2493*0x1+-0x79*-0x9+0x2053]||'';bO(0x3ed)===as?an=bO(0x1dc)+at+(aj?bO(0x1ab):''):as&&(an=''+as+(at?'\x20'+at:'')+(aj?bO(0x1ab):''));}catch{}let ao=!(-0x649*0x1+-0x1096+0x16e0);if(am)try{const au={};au['stdio']='ignore',au[bO(0x26c)]=0x7d0,(ai(bO(0x1ec),[bO(0x3bc)],au),ao=!(0xd0*-0x2a+0xbaf+-0xf*-0x17f));}catch{ao=!(0x845*0x1+-0x822+-0x22);}const ap=ak?bO(0x28a):'⚠\x20\x20EXIT\x20icoa\x20first\x20—\x20sudo\x20cannot\x20run\x20inside\x20the\x20prompt';return console[bO(0x335)](a0V['bold'][bO(0x20f)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bO(0x335)](a0V['bold']['yellow']('\x20\x20'+ap)),console['log'](a0V[bO(0x1f7)][bO(0x20f)]('\x20\x20━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')),console[bO(0x335)](),al||aj?(console[bO(0x335)](a0V[bO(0x34d)]('\x20\x20Detected:\x20')+a0V[bO(0x17d)](an)),console[bO(0x335)](a0V[bO(0x398)](bO(0x3b2))),console['log'](),console[bO(0x335)](a0V[bO(0x1f7)][bO(0x34d)](bO(0x3c4))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x34d)](bO(0x274))+a0V[bO(0x1f7)][bO(0x17d)](bO(0x3b9))+a0V['white'](bO(0x347))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x34d)]('\x20\x20\x20\x202.\x20In\x20your\x20shell,\x20run:')),console['log'](),console[bO(0x335)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x1f7)]['cyan'](bO(0x32d))),console[bO(0x335)](bO(0x2c4)+a0V[bO(0x1f7)][bO(0x17d)](bO(0x27e))),console[bO(0x335)](),console[bO(0x335)](a0V['white'](bO(0x3cd))),console['log'](),console['log'](bO(0x2c4)+a0V[bO(0x1f7)][bO(0x17d)](bO(0x3ab))),console[bO(0x335)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x398)](bO(0x2b1))+'\x20'+a0V[bO(0x1f7)][bO(0x17d)]('exam\x20setup'))):am?(console[bO(0x335)](a0V[bO(0x34d)](bO(0x3a8))+a0V[bO(0x17d)](bO(0x376))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x1f7)][bO(0x34d)](bO(0x3c4))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x34d)](bO(0x274))+a0V['bold'][bO(0x17d)](bO(0x3b9))+a0V['white']('\x20to\x20leave\x20icoa')),console[bO(0x335)](),ao?(console[bO(0x335)](a0V[bO(0x34d)]('\x20\x20\x20\x202.\x20Reinstall\x20Python\x20with\x20pip\x20(Homebrew\x20detected\x20✓):')),console[bO(0x335)](),console[bO(0x335)](bO(0x2c4)+a0V[bO(0x1f7)][bO(0x17d)]('brew\x20install\x20python@3.12')),console[bO(0x335)]('\x20\x20\x20\x20\x20\x20\x20'+a0V['bold'][bO(0x17d)](bO(0x373)))):(console[bO(0x335)](a0V[bO(0x34d)](bO(0xe2))+a0V['bold'][bO(0x20f)](bO(0x3bc))+a0V[bO(0x34d)]('):')),console[bO(0x335)](),console[bO(0x335)](bO(0x2c4)+a0V[bO(0x1f7)][bO(0x17d)](bO(0x27c))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x34d)](bO(0x1ef))),console[bO(0x335)](),console[bO(0x335)](bO(0x2c4)+a0V['bold']['cyan'](bO(0x327)))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x34d)](bO(0x213))),console['log'](),console[bO(0x335)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x1f7)][bO(0x17d)](bO(0x3ab))),console[bO(0x335)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x398)](bO(0x2b1))+'\x20'+a0V[bO(0x1f7)][bO(0x17d)]('exam\x20setup'))):ak?(console[bO(0x335)](a0V[bO(0x34d)]('\x20\x20Detected:\x20')+a0V[bO(0x17d)]('Windows\x20native\x20(PowerShell\x20/\x20cmd)')),console[bO(0x335)](),console[bO(0x335)](a0V['bold'][bO(0x20f)](bO(0x359))),console['log'](a0V[bO(0x398)](bO(0x1d2))),console[bO(0x335)](a0V[bO(0x398)](bO(0x2af))),console['log'](a0V[bO(0x398)](bO(0x283))),console['log'](),console[bO(0x335)](a0V[bO(0x1f7)]['white'](bO(0x379))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x34d)](bO(0x274))+a0V[bO(0x1f7)]['cyan'](bO(0x3b9))+a0V[bO(0x34d)](bO(0x1f5))),console[bO(0x335)](a0V[bO(0x34d)]('\x20\x20\x20\x202.\x20In\x20an\x20Administrator\x20PowerShell,\x20run:')),console[bO(0x335)](),console[bO(0x335)](bO(0x2c4)+a0V[bO(0x1f7)][bO(0x17d)](bO(0x252))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x398)](bO(0xed))),console[bO(0x335)](a0V['white'](bO(0x328))),console[bO(0x335)](),console[bO(0x335)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x1f7)][bO(0x17d)]('curl\x20-fsSL\x20https://deb.nodesource.com/setup_22.x\x20|\x20sudo\x20-E\x20bash\x20-')),console[bO(0x335)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x1f7)][bO(0x17d)](bO(0x3fc))),console[bO(0x335)](bO(0x2c4)+a0V['bold'][bO(0x17d)]('sudo\x20npm\x20install\x20-g\x20icoa-cli')),console[bO(0x335)](bO(0x2c4)+a0V['bold'][bO(0x17d)]('icoa')),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x398)](bO(0x3c7))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x34d)](bO(0x274))+a0V[bO(0x1f7)]['cyan']('quit')+a0V[bO(0x34d)](bO(0x1f5))),console[bO(0x335)](a0V[bO(0x34d)](bO(0x366))),console[bO(0x335)](),console[bO(0x335)](bO(0x2c4)+a0V[bO(0x1f7)][bO(0x17d)](bO(0x28f))),console[bO(0x335)](),console[bO(0x335)](a0V['gray'](bO(0x185))),console[bO(0x335)](a0V[bO(0x398)](bO(0x2b5))),console[bO(0x335)](a0V['white']('\x20\x20\x20\x203.\x20Open\x20a\x20NEW\x20PowerShell\x20window\x20(PATH\x20refresh),\x20then:')),console[bO(0x335)](),console['log'](bO(0x2c4)+a0V['bold'][bO(0x17d)](bO(0x3ab))),console[bO(0x335)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x398)](bO(0x2b1))+'\x20'+a0V['bold'][bO(0x17d)](bO(0x172)))):(console[bO(0x335)](a0V[bO(0x34d)](bO(0x180))+a0V[bO(0x17d)](process[bO(0x182)])+a0V[bO(0x34d)](')')),console[bO(0x335)](),console[bO(0x335)](a0V['gray'](bO(0x3c9))),console[bO(0x335)]('\x20\x20\x20\x20\x20\x20\x20'+a0V[bO(0x1f7)][bO(0x17d)](bO(0x3ab))),console['log'](bO(0x2c4)+a0V['gray'](bO(0x2b1))+'\x20'+a0V['bold'][bO(0x17d)](bO(0x172)))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x398)](bO(0x368))),void console['log']();}}const a1={};a1[bO(0x16d)]=bO(0x219),a1['pycryptodome']=bO(0x209),a1[bO(0x250)]='z3',a1['pillow']=bO(0x1ed),a1['pwntools']=bO(0x161),a1['ROPgadget']=bO(0x2ea);const a2=['pwntools',bO(0x1b8),'requests','beautifulsoup4',bO(0xfc),bO(0x19a),bO(0x220),bO(0x24b),bO(0x250),bO(0x106),'ROPgadget',bO(0x128),bO(0x1f6)],a3=a1;console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x34d)](bO(0x27d)+a2['length']+bO(0x313))),console[bO(0x335)]();let a4='';try{const av={};av[bO(0x2ac)]=bO(0x195),av[bO(0x26c)]=0x2710,a0as(X+bO(0x23a),av);}catch(aw){const ax=String(aw?.[bO(0x26f)]||aw?.['stderr']||aw?.[bO(0x397)]||'');/externally-managed-environment|break-system-packages/i[bO(0x3d6)](ax)&&(a4=bO(0x298),console[bO(0x335)](a0V[bO(0x20f)](bO(0x2a5))),console[bO(0x335)]());}const a5=Y['split']('.')[bO(0x14e)](Number);0x2*-0x696+-0x13*-0x139+0x283*-0x4===a5[-0x1*-0x9e6+0x2031+0x2a17*-0x1]&&a5[0x1*0x1fe1+0xa76*0x2+-0x34cc]>=-0x1d96+-0x626+-0x23c9*-0x1&&(console['log'](a0V['yellow']('\x20\x20⚠\x20Python\x20'+Y+bO(0x39a))),console[bO(0x335)](a0V['gray']('\x20\x20\x20\x20Some\x20packages\x20(pwntools,\x20scapy)\x20may\x20not\x20have\x20wheels\x20yet\x20for\x203.13.')),console[bO(0x335)](a0V['gray']('\x20\x20\x20\x20Python\x203.12\x20is\x20recommended.\x20Install:')),bO(0x317)===process['platform']&&(console[bO(0x335)](a0V[bO(0x319)](bO(0x34e))),console['log'](a0V[bO(0x319)]('\x20\x20\x20\x20\x20\x20sudo\x20update-alternatives\x20--install\x20/usr/bin/python3\x20python3\x20/usr/bin/python3.12\x201'))),console['log']());const a6=[],a7=[];let a8='';for(const ay of a2)try{a0as(X+bO(0x22e)+ay+'\x22\x20'+a4+bO(0x346),{'encoding':bO(0x195),'timeout':0x2bf20,'stdio':bO(0x235)}),a0as(X+bO(0x192)+(a3[ay]||ay)+'\x22',{'stdio':bO(0x15b),'timeout':0x2710});let az='';try{const aA=a0as(X+bO(0x153)+ay+bO(0x141),{'encoding':bO(0x195),'timeout':0x1388})[bO(0x1e8)](/^Version:\s*(.+)$/m);aA&&(az=aA[-0x1dcd+0x19c+0x6*0x4b3][bO(0x40b)]());}catch{}console[bO(0x335)](a0V[bO(0x319)](bO(0x1a4)+ay)+(az?a0V[bO(0x398)]('\x20('+az+')'):'')),a6[bO(0xf3)](az?ay+'=='+az:ay);}catch(aB){const aC=String(aB?.[bO(0x26f)]||aB?.['stderr']||aB?.[bO(0x397)]||'')[bO(0x295)](-(0x21a5+-0x244c*0x1+0x1*0x437)),aD=aC[bO(0x2ba)]('\x0a')[bO(0x21a)](aE=>aE['trim']())[bO(0x295)](-(-0x76*-0x16+-0x1*0x19f7+0xfd5))['join'](bO(0x20d))['slice'](0xec1*-0x1+-0x2c2*-0x2+0x93d,-0x1*0x101+-0x212e*0x1+-0x22a7*-0x1);console['log'](a0V[bO(0x11c)](bO(0x29d)+ay)+a0V[bO(0x398)]('\x20\x20'+aD)),a7[bO(0xf3)]({'pkg':ay,'error':aD}),a8||(a8=aC);}0x6bb*-0x1+-0xab5*0x1+0x1170===a6[bO(0xe7)]&&a8&&(console[bO(0x335)](),console['log'](a0V[bO(0x20f)]('\x20\x20First\x20error\x20detail\x20(for\x20debugging):')),console['log'](a0V['gray']('\x20\x20'+a8[bO(0x2ba)]('\x0a')['slice'](-(0x9*-0x3bc+-0x112*-0x1+0x2090))[bO(0x2d7)](bO(0x13a))))),a0an({'completedAt':new Date()[bO(0x381)](),'pythonVersion':Y,'installedPackages':a6,'failedPackages':a7['map'](aE=>aE[bO(0x27a)])}),console[bO(0x335)](),-0x102d*0x1+-0x89*-0x38+-0xdcb===a7[bO(0xe7)]?a0ab(bO(0x1fb)+a2['length']+bO(0x2d4)):-0x338*0x7+0x1*0xcff+-0x1*-0x989===a6[bO(0xe7)]?(a0ac(bO(0x1f9)+a2[bO(0xe7)]+bO(0x2d4)),console[bO(0x335)](),console['log'](a0V['yellow']('\x20\x20Troubleshooting:')),-0x720+-0x262+0x985===a5[0x20b7+-0xdb6+-0x1301]&&a5[-0x281+-0xa39+0xcbb]>=-0x1136+0x142c+-0x95*0x5?(console[bO(0x335)](a0V[bO(0x398)](bO(0x35e))),console[bO(0x335)](a0V[bO(0x398)](bO(0x118)))):(console['log'](a0V[bO(0x398)](bO(0x16a))),console['log'](a0V[bO(0x398)]('\x20\x20\x20\x20•\x20Try:\x20')+a0V['cyan'](X+'\x20-m\x20pip\x20install\x20pwntools')+a0V[bO(0x398)](bO(0x1a5))),console[bO(0x335)](a0V['gray'](bO(0x2f8)))),console[bO(0x335)](),console[bO(0x335)](a0V[bO(0x34d)](bO(0x281))+a0V[bO(0x1f7)][bO(0x17d)]('exam\x20setup'))):a0ad(a6[bO(0xe7)]+'/'+a2[bO(0xe7)]+'\x20packages\x20installed.\x20'+a7['length']+'\x20failed:\x20'+a7[bO(0x14e)](aE=>aE[bO(0x27a)])[bO(0x2d7)](',\x20')),console[bO(0x335)](),console['log'](a0V[bO(0x17d)](bO(0x39e))),console['log'](a0V[bO(0x1f7)]['white'](bO(0x1e6))),console[bO(0x335)](a0V[bO(0x17d)](bO(0x39e))),console['log'](),console[bO(0x335)](a0V[bO(0x1f7)][bO(0x20f)](bO(0x1f4))+a0V[bO(0x398)]('\x20(quick\x20tasks)')),console[bO(0x335)](a0V[bO(0x34d)](bO(0x17c))),console[bO(0x335)](a0V[bO(0x319)](bO(0x2c0))),console[bO(0x335)](a0V['gray']('\x20\x20\x20\x20→\x20b\x27Hello\x27')),console[bO(0x335)](),console[bO(0x335)](a0V['bold'][bO(0x20f)]('\x20\x20Method\x202:\x20Interactive\x20Python')+a0V['gray']('\x20(explore\x20&\x20experiment)')),console[bO(0x335)](a0V[bO(0x34d)]('\x20\x20Start\x20a\x20Python\x20session,\x20type\x20commands\x20one\x20by\x20one:')),console[bO(0x335)](a0V[bO(0x319)](bO(0x2ab))),console[bO(0x335)](a0V[bO(0x398)]('\x20\x20\x20\x20>>>\x20from\x20Crypto.Cipher\x20import\x20AES')),console[bO(0x335)](a0V[bO(0x398)]('\x20\x20\x20\x20>>>\x20key\x20=\x20bytes.fromhex(\x2249434f41...\x22)')),console[bO(0x335)](a0V['gray']('\x20\x20\x20\x20>>>\x20cipher\x20=\x20AES.new(key,\x20AES.MODE_CBC,\x20iv)')),console[bO(0x335)](a0V['gray'](bO(0x2cc))),console[bO(0x335)](a0V[bO(0x398)]('\x20\x20\x20\x20>>>\x20exit()')),console['log'](),console[bO(0x335)](a0V['bold'][bO(0x20f)](bO(0x2b8))+a0V[bO(0x398)](bO(0x320))),console[bO(0x335)](a0V[bO(0x34d)](bO(0x31c))),console[bO(0x335)](a0V[bO(0x319)](bO(0xff))),console['log'](a0V[bO(0x398)](bO(0x333))),console[bO(0x335)](a0V[bO(0x398)](bO(0x3ee))),console[bO(0x335)](a0V[bO(0x398)](bO(0x1bd))),console[bO(0x335)](a0V['gray']('\x20\x20\x20\x20print(xor(ct,\x20key).decode())')),console[bO(0x335)](a0V[bO(0x319)]('\x20\x20\x20\x20EOF')),console[bO(0x335)](a0V['green'](bO(0x3b8))),console[bO(0x335)](),console['log'](a0V['bold']['yellow'](bO(0x21b))),console['log'](a0V[bO(0x34d)]('\x20\x20During\x20the\x20exam,\x20type\x20')+a0V['bold'][bO(0x17d)](bO(0x14a))+a0V['white'](bO(0x3c0))),console['log'](a0V[bO(0x398)](bO(0x158))),console[bO(0x335)](a0V[bO(0x398)](bO(0x324))),console['log'](a0V[bO(0x398)](bO(0x151))),console[bO(0x335)](a0V[bO(0x17d)](bO(0x39e))),console[bO(0x335)](),console['log'](a0V['white'](bO(0x1cf))+a0V[bO(0x1f7)][bO(0x17d)](bO(0x2b7))),console[bO(0x335)](a0V['gray']('\x20\x20Or\x20type\x20')+a0V['bold'][bO(0x17d)]('back')+a0V[bO(0x398)](bO(0x278))),console[bO(0x335)]();}),B['action'](()=>{const bQ=bg;a0aa(bQ(0x33a));const F=a0a0();if(F){a0ag(bQ(0xeb)+F['session'][bQ(0x3ff)]),R();const J=Object[bQ(0x179)](F[bQ(0x34a)])[bQ(0xe7)];return a0ah('Progress',J+'/'+F[bQ(0x181)]['questionCount']+'\x20answered'),console[bQ(0x335)](),void console[bQ(0x335)](a0V[bQ(0x398)](bQ(0x1bc)));}const G=a0a5(),H=a0am();console['log'](),a0ag(bQ(0x3d8)),console[bQ(0x335)](),0x1*0x1d29+0x1*-0x22c2+-0x599*-0x1===G[bQ(0x177)]?(console['log'](a0V[bQ(0x20f)]('\x20\x20○\x20')+a0V[bQ(0x20f)]('Recommended:\x20complete\x20demo\x20first')),console[bQ(0x335)](a0V[bQ(0x398)](bQ(0x18a))+a0V[bQ(0x1f7)]['cyan']('exam\x20demo'))):(console[bQ(0x335)](a0V[bQ(0x319)](bQ(0x183))+a0V['green'](bQ(0x2f0)+G[bQ(0x177)]+bQ(0x18f)+(-0x7*-0x192+0x5f3*-0x1+-0x50a!==G['attempts']?'s':'')+')')),H?(console['log'](a0V[bQ(0x319)](bQ(0x183))+a0V[bQ(0x319)](bQ(0x38d))),console[bQ(0x335)](a0V[bQ(0x20f)](bQ(0x14f))+a0V[bQ(0x20f)](bQ(0x1a1))),console[bQ(0x335)](a0V['gray'](bQ(0x18a))+a0V['bold']['cyan']('exam\x20<token>'))):(console[bQ(0x335)](a0V[bQ(0x20f)](bQ(0x14f))+a0V[bQ(0x20f)]('Pre-exam\x20setup\x20required')),console[bQ(0x335)](a0V['gray'](bQ(0x18a))+a0V[bQ(0x1f7)][bQ(0x17d)](bQ(0x172))))),console[bQ(0x335)]();});}
|
|
@@ -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.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
|
|
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 s}from"node:path";import{homedir as i}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:s(i(),"icoa-workspace");r(f,{recursive:!0}),c=s(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 s(c(),"exam-state.json")}function f(){return s(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)}}}export function getExamDeadline(){const t=getExamState();if(!t)return null;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)}let m=!1;export async function refetchQuestionDataIfStale(){const t=getRealExamState();if(!t)return null;if(m)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;m=!0;try{const{getConfig:n}=await import("./config.js"),o=n(),r=o.ctfdUrl||"https://practice.icoa2026.au",a=o.language||"en",s=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(!s.ok)return t;const i=await s.json(),c=i?.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.178",
|
|
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": {
|