@katorymnd/pawapay-node-sdk 2.6.2 → 2.8.0
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/CHANGELOG.md +30 -16
- package/LICENSE +13 -7
- package/README.md +74 -1455
- package/package.json +24 -9
- package/scripts/install-sdk.js +123 -1
- package/src/api/ApiClient.js +373 -1
- package/src/config/Config.js +30 -72
- package/src/core/index.js +100 -0
- package/src/core/katorymnd_pawapay_core.darwin-arm64.node +0 -0
- package/src/core/katorymnd_pawapay_core.darwin-x64.node +0 -0
- package/src/core/katorymnd_pawapay_core.linux-arm64-gnu.node +0 -0
- package/src/core/katorymnd_pawapay_core.linux-x64-gnu.node +0 -0
- package/src/core/katorymnd_pawapay_core.linux-x64-musl.node +0 -0
- package/src/core/katorymnd_pawapay_core.node +0 -0
- package/src/core/katorymnd_pawapay_core.win32-arm64-msvc.node +0 -0
- package/src/core/katorymnd_pawapay_core.win32-x64-msvc.node +0 -0
- package/src/utils/license/integrity.js +170 -1
- package/src/utils/license/protection.js +275 -1
- package/src/utils/license/server-check.js +326 -1
- package/src/utils/license/validator.js +42 -1
- package/src/utils/validator.js +2 -25
- package/src/utils/vm/bytecode-encoder.js +205 -1
- package/src/utils/vm/degradation-manager.js +146 -1
- package/src/utils/vm/interpreter.js +179 -1
|
@@ -1 +1,179 @@
|
|
|
1
|
-
const _0x6eaad4=_0x2b68;(function(_0x2cf9bd,_0x44efc4){const _0xcbc509=_0x2b68,_0x4aa225=_0x2cf9bd();while(!![]){try{const _0xd495a4=-parseInt(_0xcbc509(0x3e2,'b#O0'))/0x1*(parseInt(_0xcbc509(0x2a6,'(B93'))/0x2)+-parseInt(_0xcbc509(0x2f1,'rgHq'))/0x3+-parseInt(_0xcbc509(0x2dd,'sr!t'))/0x4+parseInt(_0xcbc509(0x1c5,'3J6N'))/0x5*(-parseInt(_0xcbc509(0x34b,'sYwO'))/0x6)+-parseInt(_0xcbc509(0x1e0,'9S@c'))/0x7*(parseInt(_0xcbc509(0x4a3,'XID@'))/0x8)+parseInt(_0xcbc509(0x264,'IDzA'))/0x9*(parseInt(_0xcbc509(0x33f,'3J6N'))/0xa)+-parseInt(_0xcbc509(0x2f0,'A85^'))/0xb*(-parseInt(_0xcbc509(0x3dd,'rTIa'))/0xc);if(_0xd495a4===_0x44efc4)break;else _0x4aa225['push'](_0x4aa225['shift']());}catch(_0x319e1a){_0x4aa225['push'](_0x4aa225['shift']());}}}(_0x1c44,0xbb019));function _0x2b68(_0x3b7172,_0x3f2b28){const _0x1c4416=_0x1c44();return _0x2b68=function(_0x2b68b5,_0x35cb09){_0x2b68b5=_0x2b68b5-0x1a5;let _0x1da187=_0x1c4416[_0x2b68b5];if(_0x2b68['LyjPnG']===undefined){var _0x2b1d83=function(_0x58feb1){const _0x360929='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c9d6d='',_0x25dc17='';for(let _0x56cf6a=0x0,_0x402bc8,_0x3d4410,_0x475e92=0x0;_0x3d4410=_0x58feb1['charAt'](_0x475e92++);~_0x3d4410&&(_0x402bc8=_0x56cf6a%0x4?_0x402bc8*0x40+_0x3d4410:_0x3d4410,_0x56cf6a++%0x4)?_0x1c9d6d+=String['fromCharCode'](0xff&_0x402bc8>>(-0x2*_0x56cf6a&0x6)):0x0){_0x3d4410=_0x360929['indexOf'](_0x3d4410);}for(let _0xe76ae8=0x0,_0x2478e3=_0x1c9d6d['length'];_0xe76ae8<_0x2478e3;_0xe76ae8++){_0x25dc17+='%'+('00'+_0x1c9d6d['charCodeAt'](_0xe76ae8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25dc17);};const _0x29a16b=function(_0x4f434b,_0x1a8143){let _0xf0981c=[],_0x3cc7ea=0x0,_0x183d85,_0x597ecc='';_0x4f434b=_0x2b1d83(_0x4f434b);let _0x3372ef;for(_0x3372ef=0x0;_0x3372ef<0x100;_0x3372ef++){_0xf0981c[_0x3372ef]=_0x3372ef;}for(_0x3372ef=0x0;_0x3372ef<0x100;_0x3372ef++){_0x3cc7ea=(_0x3cc7ea+_0xf0981c[_0x3372ef]+_0x1a8143['charCodeAt'](_0x3372ef%_0x1a8143['length']))%0x100,_0x183d85=_0xf0981c[_0x3372ef],_0xf0981c[_0x3372ef]=_0xf0981c[_0x3cc7ea],_0xf0981c[_0x3cc7ea]=_0x183d85;}_0x3372ef=0x0,_0x3cc7ea=0x0;for(let _0x401dfc=0x0;_0x401dfc<_0x4f434b['length'];_0x401dfc++){_0x3372ef=(_0x3372ef+0x1)%0x100,_0x3cc7ea=(_0x3cc7ea+_0xf0981c[_0x3372ef])%0x100,_0x183d85=_0xf0981c[_0x3372ef],_0xf0981c[_0x3372ef]=_0xf0981c[_0x3cc7ea],_0xf0981c[_0x3cc7ea]=_0x183d85,_0x597ecc+=String['fromCharCode'](_0x4f434b['charCodeAt'](_0x401dfc)^_0xf0981c[(_0xf0981c[_0x3372ef]+_0xf0981c[_0x3cc7ea])%0x100]);}return _0x597ecc;};_0x2b68['ceVcRw']=_0x29a16b,_0x3b7172=arguments,_0x2b68['LyjPnG']=!![];}const _0x19200a=_0x1c4416[0x0],_0x4a6c2d=_0x2b68b5+_0x19200a,_0x334977=_0x3b7172[_0x4a6c2d];return!_0x334977?(_0x2b68['xNqyvD']===undefined&&(_0x2b68['xNqyvD']=!![]),_0x1da187=_0x2b68['ceVcRw'](_0x1da187,_0x35cb09),_0x3b7172[_0x4a6c2d]=_0x1da187):_0x1da187=_0x334977,_0x1da187;},_0x2b68(_0x3b7172,_0x3f2b28);}const fs=require('fs'),path=require(_0x6eaad4(0x480,'u[Hp')),crypto=require(_0x6eaad4(0x364,'1GD%')),os=require('os'),BytecodeEncoder=require(_0x6eaad4(0x43f,'WNIj')+_0x6eaad4(0x2e5,'[yuu'));class ImprintBoundVM{constructor(){const _0x2d0e0d=_0x6eaad4;this[_0x2d0e0d(0x1c3,'WHd#')+_0x2d0e0d(0x46c,'b^2T')]=null,this[_0x2d0e0d(0x3ee,'WNIj')]=null,this[_0x2d0e0d(0x1c9,'xvHo')+'h']=null,this[_0x2d0e0d(0x42e,'oW%x')+_0x2d0e0d(0x494,'9S@c')]();}[_0x6eaad4(0x39a,'9S@c')+_0x6eaad4(0x239,'OAub')](){const _0x32bfbe=_0x6eaad4,_0x346532={'CENZF':function(_0x19d360,_0x29a318){return _0x19d360+_0x29a318;},'gWSlK':_0x32bfbe(0x396,'l$en'),'CDqIO':_0x32bfbe(0x3d2,'ms#R'),'zGdjm':_0x32bfbe(0x4ac,'WHd#')+_0x32bfbe(0x3ad,'S@S%'),'soXBq':function(_0x170c92,_0x55d270){return _0x170c92!==_0x55d270;},'mZGlX':_0x32bfbe(0x41d,'S@S%'),'WljJE':_0x32bfbe(0x41a,'WHd#'),'WcSFB':function(_0x20c7fb,_0xef3103){return _0x20c7fb===_0xef3103;},'qvOQQ':_0x32bfbe(0x358,'auE('),'KTcib':_0x32bfbe(0x415,'iD[O'),'NpvSJ':_0x32bfbe(0x237,'oW%x'),'myhWY':_0x32bfbe(0x40c,'&YJL'),'kDfUB':_0x32bfbe(0x432,'sYwO'),'CwpES':_0x32bfbe(0x47a,'9S@c')+_0x32bfbe(0x227,'sr!t')+_0x32bfbe(0x3df,'Q*(Y')+_0x32bfbe(0x3f7,'u[Hp')+_0x32bfbe(0x249,'bBV$'),'BoRyM':function(_0x3e5db3,_0x3a2b85){return _0x3e5db3+_0x3a2b85;},'kmHKY':_0x32bfbe(0x1cb,'AQ$n'),'JjZWI':_0x32bfbe(0x1dc,'270T')},_0x48965f=path[_0x32bfbe(0x24c,'l$en')](process[_0x32bfbe(0x1bf,'b^2T')](),_0x346532[_0x32bfbe(0x2b3,'4#1e')]);try{if(_0x346532[_0x32bfbe(0x2a1,'xvHo')](_0x346532[_0x32bfbe(0x461,'uujz')],_0x346532[_0x32bfbe(0x1ec,'Q*(Y')])){fs[_0x32bfbe(0x438,'AQ$n')](_0x48965f)?(this[_0x32bfbe(0x398,'[yuu')]=fs[_0x32bfbe(0x35f,'oW%x')+'nc'](_0x48965f,_0x346532[_0x32bfbe(0x33c,'l$en')])[_0x32bfbe(0x32e,']#Rj')](),console[_0x32bfbe(0x3eb,'*f]M')](_0x32bfbe(0x35b,'iD[O')+_0x32bfbe(0x37c,'WHd#')+_0x32bfbe(0x397,'1GD%')+_0x32bfbe(0x3bc,'aoNC')+_0x48965f),console[_0x32bfbe(0x33a,'auE(')](_0x32bfbe(0x3b7,'On8!')+_0x32bfbe(0x425,'270T')+_0x32bfbe(0x47d,'0R4&')+this[_0x32bfbe(0x22b,'oW%x')][_0x32bfbe(0x1de,'[yuu')](0x0,0x8)+_0x32bfbe(0x3e8,'w4*P'))):_0x346532[_0x32bfbe(0x3ed,'S@S%')](_0x346532[_0x32bfbe(0x226,'9S@c')],_0x346532[_0x32bfbe(0x49a,'Yer3')])?(console[_0x32bfbe(0x40a,'bBV$')](_0x32bfbe(0x487,'S@S%')+_0x32bfbe(0x401,'uMYL')+_0x32bfbe(0x219,'3J6N')+_0x32bfbe(0x3f0,'auE(')+_0x48965f),this[_0x32bfbe(0x46f,'aoNC')]=_0x346532[_0x32bfbe(0x3d0,'G28Z')](_0x346532[_0x32bfbe(0x38e,'sr!t')],crypto[_0x32bfbe(0x431,'sYwO')]()),console[_0x32bfbe(0x1b3,'IDzA')](_0x32bfbe(0x29b,'Q*(Y')+_0x32bfbe(0x25a,'oW%x')+_0x32bfbe(0x485,'w*E6')+_0x32bfbe(0x362,'u[Hp')+_0x32bfbe(0x1aa,'1GD%')+this[_0x32bfbe(0x3b0,'uujz')][_0x32bfbe(0x380,'*f]M')](0x0,0x8)+_0x32bfbe(0x288,'Q*(Y'))):(_0x5c3999[_0x32bfbe(0x4a7,'0Mj1')](_0x32bfbe(0x26e,'(B93')+_0x32bfbe(0x2f7,'Bwya')+_0x32bfbe(0x36a,'auE(')+_0x32bfbe(0x2a0,'Bwya')+_0x27bfbc),this[_0x32bfbe(0x255,'S@S%')]=_0x346532[_0x32bfbe(0x215,'AQ$n')](_0x346532[_0x32bfbe(0x408,'[yuu')],_0x12e4f8[_0x32bfbe(0x43c,'rgHq')]()),_0x25788d[_0x32bfbe(0x28f,'aoNC')](_0x32bfbe(0x35b,'iD[O')+_0x32bfbe(0x1e3,'w4*P')+_0x32bfbe(0x320,'Bwya')+_0x32bfbe(0x207,'sYwO')+_0x32bfbe(0x25f,'Q*(Y')+this[_0x32bfbe(0x1ee,'&YJL')][_0x32bfbe(0x3cf,'Bwya')](0x0,0x8)+_0x32bfbe(0x413,'Z!IS')));const _0x4ca63a=process[_0x32bfbe(0x2ea,'&YJL')]();this[_0x32bfbe(0x35a,'rgHq')+'h']=crypto[_0x32bfbe(0x1fe,'1GD%')](_0x346532[_0x32bfbe(0x307,'ms#R')])[_0x32bfbe(0x3f3,'G28Z')](_0x32bfbe(0x3cd,'uMYL')+_0x32bfbe(0x42b,'b^2T')+this[_0x32bfbe(0x305,'u[Hp')]+':'+_0x4ca63a)[_0x32bfbe(0x256,'uMYL')](_0x346532[_0x32bfbe(0x1af,'oW%x')])[_0x32bfbe(0x2c9,'u[Hp')](0x0,0x10),console[_0x32bfbe(0x424,'Yer3')](_0x32bfbe(0x26e,'(B93')+_0x32bfbe(0x338,'OxLS')+_0x32bfbe(0x37d,'&YJL')+this[_0x32bfbe(0x282,'AQ$n')+'h']);}else{if(_0x34b83c[_0x32bfbe(0x2b4,'Q*(Y')](_0x38abef))return this[_0x32bfbe(0x22b,'oW%x')]=_0x8e78ab[_0x32bfbe(0x2d9,'aoNC')+'nc'](_0x543822,_0x346532[_0x32bfbe(0x332,'rgHq')])[_0x32bfbe(0x296,'OxLS')](),this[_0x32bfbe(0x382,'auE(')];}}catch(_0x497383){if(_0x346532[_0x32bfbe(0x1f9,'OxLS')](_0x346532[_0x32bfbe(0x257,'S@S%')],_0x346532[_0x32bfbe(0x3d7,'3J6N')]))return{'PUSH_CONST':0x10,'PUSH_STATE':0x11,'CMP_GT':0x12,'CMP_EQ':0x13,'AND':0x14,'OR':0x15,'NOT':0x16,'JUMP_IF_FALSE':0x17,'JUMP':0x18,'RETURN':0x19};else console[_0x32bfbe(0x44f,'l$en')](_0x346532[_0x32bfbe(0x209,'G28Z')],_0x497383[_0x32bfbe(0x2f4,'On8!')]),this[_0x32bfbe(0x49f,'OAub')]=_0x346532[_0x32bfbe(0x26b,'[yuu')](_0x346532[_0x32bfbe(0x234,'0R4&')],Date[_0x32bfbe(0x1c0,'aoNC')]()),this[_0x32bfbe(0x330,'On8!')+'h']=_0x346532[_0x32bfbe(0x46e,'aoNC')];}}[_0x6eaad4(0x45d,'WHd#')+_0x6eaad4(0x48b,'b#O0')](){const _0x1b3c7a=_0x6eaad4,_0x34b963={'xILIL':_0x1b3c7a(0x48f,'[yuu'),'PtczH':_0x1b3c7a(0x299,'*f]M'),'BWrAz':_0x1b3c7a(0x3c3,'aoNC'),'kjFFF':_0x1b3c7a(0x325,'Yer3'),'OSpWx':_0x1b3c7a(0x471,'3J6N'),'HJzYL':function(_0x74fb88,_0x5c5c38){return _0x74fb88!==_0x5c5c38;},'PtPIP':_0x1b3c7a(0x2c0,'aoNC'),'cPgcQ':_0x1b3c7a(0x1a9,']#Rj'),'gOZgu':_0x1b3c7a(0x1cc,'OxLS')+_0x1b3c7a(0x46d,'OAub'),'wpxep':function(_0x21c668,_0x112228){return _0x21c668===_0x112228;},'MwmKm':_0x1b3c7a(0x2fe,'3J6N'),'vbLTy':_0x1b3c7a(0x1b1,'0Mj1'),'UxeOv':_0x1b3c7a(0x20a,'u[Hp'),'YBruL':_0x1b3c7a(0x391,'w4*P')+_0x1b3c7a(0x377,'b^2T')};if(this[_0x1b3c7a(0x37f,'1GD%')]&&!this[_0x1b3c7a(0x1f5,'Z!IS')][_0x1b3c7a(0x1e9,'iD[O')](_0x34b963[_0x1b3c7a(0x34d,'0R4&')])&&!this[_0x1b3c7a(0x4a4,'xvHo')][_0x1b3c7a(0x3b8,'270T')](_0x34b963[_0x1b3c7a(0x378,'u[Hp')])&&!this[_0x1b3c7a(0x22c,'(B93')][_0x1b3c7a(0x246,'ms#R')](_0x34b963[_0x1b3c7a(0x3a9,'iD[O')])){if(_0x34b963[_0x1b3c7a(0x274,'270T')](_0x34b963[_0x1b3c7a(0x312,'1GD%')],_0x34b963[_0x1b3c7a(0x283,'&YJL')]))return this[_0x1b3c7a(0x1b2,'kcNy')];else{const _0x54d9b3=this[_0x1b3c7a(0x3f4,'IDzA')+_0x1b3c7a(0x442,'rgHq')]();let _0x47e202=_0x2591a0[_0x1b3c7a(0x361,'OxLS')](_0x34b963[_0x1b3c7a(0x1c6,'u[Hp')])[_0x1b3c7a(0x23c,'uMYL')](_0x1b3c7a(0x2ce,'b#O0')+_0x1b3c7a(0x21b,'b^2T')+_0x54d9b3)[_0x1b3c7a(0x433,'w*E6')]();const _0x5dac7c=_0x25f380[_0x1b3c7a(0x3af,'WNIj')]();_0x47e202=_0x4ee624[_0x1b3c7a(0x2e0,'[yuu')](_0x34b963[_0x1b3c7a(0x303,'A85^')])[_0x1b3c7a(0x421,'w*E6')](_0x43d071[_0x1b3c7a(0x388,'JF$i')]([_0x47e202,_0x3beb56[_0x1b3c7a(0x40b,']#Rj')](_0x1b3c7a(0x2ec,'w4*P')+_0x5dac7c)]))[_0x1b3c7a(0x27f,'G28Z')]();const _0x14753a=this[_0x1b3c7a(0x4ab,'OxLS')+_0x1b3c7a(0x2a4,'[yuu')+_0x1b3c7a(0x497,'kcNy')]();return _0x47e202=_0x263772[_0x1b3c7a(0x2aa,'iD[O')](_0x34b963[_0x1b3c7a(0x2fa,']#Rj')])[_0x1b3c7a(0x263,'w4*P')](_0x542d0b[_0x1b3c7a(0x3a6,'IDzA')]([_0x47e202,_0x3ebfca[_0x1b3c7a(0x40b,']#Rj')](_0x1b3c7a(0x33b,'xvHo')+_0x14753a)]))[_0x1b3c7a(0x433,'w*E6')](),_0x47e202[_0x1b3c7a(0x2c8,'][OQ')](0x0,0x20)[_0x1b3c7a(0x4aa,'ms#R')](_0x34b963[_0x1b3c7a(0x253,'On8!')]);}}const _0x8b61df=path[_0x1b3c7a(0x1c2,'(B93')](process[_0x1b3c7a(0x2a3,'0R4&')](),_0x34b963[_0x1b3c7a(0x1a5,'kcNy')]);try{if(fs[_0x1b3c7a(0x1ad,'4#1e')](_0x8b61df))return _0x34b963[_0x1b3c7a(0x3d5,'l$en')](_0x34b963[_0x1b3c7a(0x287,'WNIj')],_0x34b963[_0x1b3c7a(0x270,'b^2T')])?_0x65af04+(_0x1b3c7a(0x3c6,'xvHo')+')'):(this[_0x1b3c7a(0x3fe,'XID@')]=fs[_0x1b3c7a(0x49c,'G28Z')+'nc'](_0x8b61df,_0x34b963[_0x1b3c7a(0x2df,'IDzA')])[_0x1b3c7a(0x276,'0Mj1')](),this[_0x1b3c7a(0x3fe,'XID@')]);}catch(_0x14a042){}return this[_0x1b3c7a(0x447,'*f]M')]||_0x34b963[_0x1b3c7a(0x25c,'ux#!')];}[_0x6eaad4(0x2d4,'1GD%')+_0x6eaad4(0x266,'uMYL')+_0x6eaad4(0x3e3,'aoNC')](){const _0x15bcea=_0x6eaad4,_0x1c41f1={'jUevI':_0x15bcea(0x30c,'JF$i'),'FXGkP':function(_0x13e2fe,_0x397219){return _0x13e2fe===_0x397219;},'luRMc':_0x15bcea(0x393,'1GD%'),'ZXtvg':_0x15bcea(0x3b1,'oW%x'),'BIxaR':_0x15bcea(0x2af,'JF$i')};try{const _0x105cfd=[],_0x4580bf=os[_0x15bcea(0x457,'AQ$n')]()||_0x1c41f1[_0x15bcea(0x235,'sr!t')];return _0x105cfd[_0x15bcea(0x3c2,'rgHq')]('h:'+_0x4580bf[_0x15bcea(0x22d,'S@S%')](0x0,0x8)),_0x105cfd[_0x15bcea(0x39b,'OAub')]('a:'+os[_0x15bcea(0x23b,'270T')]()[_0x15bcea(0x2d6,'b^2T')](0x0,0x2)),_0x105cfd[_0x15bcea(0x2f9,'bBV$')](',');}catch(_0x32bf69){if(_0x1c41f1[_0x15bcea(0x2f6,'WNIj')](_0x1c41f1[_0x15bcea(0x3cc,'OAub')],_0x1c41f1[_0x15bcea(0x2ab,'IDzA')])){const _0x1e5448=[],_0x127749=_0x45a407[_0x15bcea(0x2b9,'4#1e')]()||_0x1c41f1[_0x15bcea(0x218,'AQ$n')];return _0x1e5448[_0x15bcea(0x451,'0Mj1')]('h:'+_0x127749[_0x15bcea(0x326,'A85^')](0x0,0x8)),_0x1e5448[_0x15bcea(0x3e5,'IDzA')]('a:'+_0x4b6bc5[_0x15bcea(0x2cd,'Bwya')]()[_0x15bcea(0x3c8,'Yer3')](0x0,0x2)),_0x1e5448[_0x15bcea(0x3fc,'[yuu')](',');}else return _0x1c41f1[_0x15bcea(0x1f1,'*f]M')];}}[_0x6eaad4(0x1bd,'uujz')+'de'](){const _0x585025=_0x6eaad4,_0x17c427={'cZrnP':_0x585025(0x22f,'JF$i')+_0x585025(0x454,'uMYL')+_0x585025(0x2f2,'iD[O')+_0x585025(0x1b0,'sr!t')+_0x585025(0x205,'(B93')+_0x585025(0x245,'(B93')+_0x585025(0x2c4,'rTIa')+':','OCWIH':function(_0x5ec135,_0x5e82af){return _0x5ec135!==_0x5e82af;},'fSKks':_0x585025(0x2c1,'G28Z'),'NOdud':_0x585025(0x372,'xvHo')+'in','noTFM':_0x585025(0x2d0,'On8!'),'bNQyw':function(_0x4a7784,_0x53cc5e){return _0x4a7784!==_0x53cc5e;},'gfXdb':_0x585025(0x44b,'0R4&')+_0x585025(0x30a,'&YJL')+_0x585025(0x1be,'sr!t')+_0x585025(0x310,'rTIa')+_0x585025(0x2c5,'On8!')+_0x585025(0x3a8,'w*E6'),'swUTl':_0x585025(0x42c,'l$en')+_0x585025(0x4a5,'1GD%'),'uluFa':_0x585025(0x1cf,'Q*(Y')+'r','OjTsh':_0x585025(0x45f,'ux#!'),'hVksj':function(_0x8461e3,_0x29fd5e){return _0x8461e3+_0x29fd5e;},'VTIlS':_0x585025(0x2cb,'l$en'),'VWdub':_0x585025(0x385,'OxLS')+_0x585025(0x214,'270T')+_0x585025(0x42f,'aoNC'),'iGoLZ':_0x585025(0x26e,'(B93')+_0x585025(0x469,'u[Hp')+_0x585025(0x285,'WNIj')+_0x585025(0x1c1,'uMYL')};if(this[_0x585025(0x1f2,'][OQ')+_0x585025(0x27b,'1GD%')])return;try{if(_0x17c427[_0x585025(0x2b7,'WHd#')](_0x17c427[_0x585025(0x407,'w*E6')],_0x17c427[_0x585025(0x4a0,'b#O0')]))return _0x5a39f7[_0x585025(0x252,'b#O0')](_0x17c427[_0x585025(0x30b,'iD[O')],_0x1ff845[_0x585025(0x35c,']#Rj')]),this[_0x585025(0x259,'uujz')+_0x585025(0x289,'Q*(Y')]();else{const _0x294ab2=fs[_0x585025(0x1e1,'XID@')+'nc'](path[_0x585025(0x1c2,'(B93')](__dirname,_0x17c427[_0x585025(0x336,'270T')]),_0x17c427[_0x585025(0x306,'(B93')]),_0x566604=JSON[_0x585025(0x278,'[yuu')](_0x294ab2);if(_0x566604[_0x585025(0x23f,'ux#!')]&&_0x17c427[_0x585025(0x1d3,'uMYL')](_0x566604[_0x585025(0x1e5,'4#1e')],this[_0x585025(0x2c3,'&YJL')+'h'])){console[_0x585025(0x1c7,'4#1e')](_0x17c427[_0x585025(0x2d5,'G28Z')]);throw new Error(_0x17c427[_0x585025(0x474,'iD[O')]);}const _0xdd0c5b=this[_0x585025(0x437,'ms#R')+_0x585025(0x3ca,'auE(')+'ey']();console[_0x585025(0x1ab,'sYwO')](_0x585025(0x22f,'JF$i')+_0x585025(0x32f,'9S@c')+_0x585025(0x420,'b^2T')+_0x585025(0x2d3,'OxLS')+_0x585025(0x200,'][OQ')+_0x585025(0x40f,'JF$i')+_0xdd0c5b[_0x585025(0x27c,'4#1e')](0x0,0x10)+_0x585025(0x33d,'1GD%'));const _0x4da258=crypto[_0x585025(0x340,'l$en')+_0x585025(0x204,'[yuu')](_0x17c427[_0x585025(0x2d2,'auE(')],Buffer[_0x585025(0x1d9,'ux#!')](_0xdd0c5b,_0x17c427[_0x585025(0x24b,'AQ$n')]),Buffer[_0x585025(0x3a2,'AQ$n')](_0x566604[_0x585025(0x2bb,'OAub')]['iv'],_0x17c427[_0x585025(0x2c2,'rgHq')])),_0x2438b2=Buffer[_0x585025(0x260,'WNIj')]([_0x4da258[_0x585025(0x233,'XID@')](Buffer[_0x585025(0x2b0,'uMYL')](_0x566604[_0x585025(0x242,'IDzA')][_0x585025(0x400,'ms#R')],_0x17c427[_0x585025(0x27d,'Yer3')])),_0x4da258[_0x585025(0x343,'On8!')]()])[_0x585025(0x430,'b#O0')](),_0x289151=_0x17c427[_0x585025(0x333,'uujz')](_0x2438b2,_0x566604[_0x585025(0x46f,'aoNC')]||''),_0x9df941=crypto[_0x585025(0x208,'G28Z')](_0x17c427[_0x585025(0x495,'270T')])[_0x585025(0x279,'b^2T')](_0x289151)[_0x585025(0x44c,'OAub')](_0x17c427[_0x585025(0x304,'uujz')]);if(_0x17c427[_0x585025(0x339,'rgHq')](_0x9df941,_0x566604[_0x585025(0x2a5,'sr!t')]))throw new Error(_0x17c427[_0x585025(0x230,'iD[O')]);this[_0x585025(0x479,'rgHq')+_0x585025(0x404,'Bwya')]=JSON[_0x585025(0x248,'u[Hp')](_0x2438b2),this[_0x585025(0x39c,'Q*(Y')]=this[_0x585025(0x275,'xvHo')+_0x585025(0x272,'270T')]();}}catch(_0x49d1ba){console[_0x585025(0x1d0,'*f]M')](_0x17c427[_0x585025(0x460,'uMYL')],_0x49d1ba[_0x585025(0x2fc,'AQ$n')]),this[_0x585025(0x1ac,'b#O0')+_0x585025(0x1ba,'xvHo')]=this[_0x585025(0x21d,'sr!t')+_0x585025(0x427,'oW%x')+_0x585025(0x423,'rTIa')](),this[_0x585025(0x3f2,']#Rj')]=this[_0x585025(0x4a9,'rgHq')+_0x585025(0x498,'rTIa')]();}}[_0x6eaad4(0x4af,'u[Hp')+_0x6eaad4(0x29c,'3J6N')](){const _0x8e67f8=_0x6eaad4,_0x3dee92={'slbBX':_0x8e67f8(0x3e4,'WHd#')+_0x8e67f8(0x2e1,'ux#!'),'XoNGb':function(_0x234f7e,_0x4c6948){return _0x234f7e===_0x4c6948;},'AtMGY':_0x8e67f8(0x2e9,'*f]M'),'hfsGS':_0x8e67f8(0x459,'G28Z'),'ltrYc':_0x8e67f8(0x26f,'*f]M'),'KSjUW':_0x8e67f8(0x386,'bBV$'),'KqJZB':_0x8e67f8(0x2a7,'kcNy'),'YXsRd':_0x8e67f8(0x2ae,'b^2T'),'XIJeH':_0x8e67f8(0x3bf,'0R4&')+_0x8e67f8(0x24f,'&YJL'),'zAyST':_0x8e67f8(0x399,'JF$i'),'Syggj':_0x8e67f8(0x21e,'l$en'),'HZono':_0x8e67f8(0x3aa,'A85^')+'on','VVHsP':function(_0x589dfa,_0x3cfe27){return _0x589dfa!==_0x3cfe27;},'PoveW':_0x8e67f8(0x3bb,'xvHo'),'FzmSW':_0x8e67f8(0x277,'w4*P'),'wSyrw':_0x8e67f8(0x3dc,'w*E6')+_0x8e67f8(0x394,'auE(')+_0x8e67f8(0x3b9,'OAub')+_0x8e67f8(0x21a,'0Mj1')+_0x8e67f8(0x1ce,'ms#R'),'dGbDY':_0x8e67f8(0x44b,'0R4&')+_0x8e67f8(0x28c,'sr!t')+_0x8e67f8(0x36e,'Q*(Y')+_0x8e67f8(0x383,'OxLS')+_0x8e67f8(0x3e6,'3J6N')+_0x8e67f8(0x39f,'0Mj1')+_0x8e67f8(0x1df,'sYwO'),'rORZb':_0x8e67f8(0x1d1,'9S@c'),'Nspln':_0x8e67f8(0x1d7,'270T'),'bHyxw':_0x8e67f8(0x465,'4#1e')+_0x8e67f8(0x446,'bBV$')+_0x8e67f8(0x238,'l$en')+_0x8e67f8(0x1d4,'WNIj')+_0x8e67f8(0x202,'ux#!')+_0x8e67f8(0x2ad,'Yer3')+_0x8e67f8(0x3d4,'iD[O')+':'};try{const _0x4ee72c=path[_0x8e67f8(0x3fd,'270T')](__dirname,_0x3dee92[_0x8e67f8(0x489,'Bwya')]);if(fs[_0x8e67f8(0x2ed,'rTIa')](_0x4ee72c)){if(_0x3dee92[_0x8e67f8(0x375,'On8!')](_0x3dee92[_0x8e67f8(0x34e,'w*E6')],_0x3dee92[_0x8e67f8(0x35d,'XID@')])){const _0x36e830=_0x3dee92[_0x8e67f8(0x3f8,'Q*(Y')][_0x8e67f8(0x1fd,'AQ$n')]('|');let _0x45e0f5=0x0;while(!![]){switch(_0x36e830[_0x45e0f5++]){case'0':this[_0x8e67f8(0x43e,'oW%x')][_0x8e67f8(0x31b,'uMYL')+'de']();continue;case'1':this[_0x8e67f8(0x27a,'JF$i')]=_0x619b6f;continue;case'2':this['ip']=0x0;continue;case'3':this['ip']=this[_0x8e67f8(0x445,'ms#R')][_0x8e67f8(0x3c5,'xvHo')+_0x8e67f8(0x39d,'*f]M')][_0x8e67f8(0x2ff,'w*E6')]||0x0;continue;case'4':this[_0x8e67f8(0x417,'w4*P')]=[];continue;case'5':this[_0x8e67f8(0x1fa,'OAub')]=this[_0x8e67f8(0x350,'sr!t')][_0x8e67f8(0x236,'AQ$n')];continue;case'6':this[_0x8e67f8(0x41b,'u[Hp')]=this[_0x8e67f8(0x1a7,'3J6N')][_0x8e67f8(0x220,'(B93')+_0x8e67f8(0x2b5,'rgHq')][_0x8e67f8(0x45b,'b^2T')];continue;case'7':this[_0x8e67f8(0x350,'sr!t')]=_0x4b2a96;continue;}break;}}else{const _0x106b62=fs[_0x8e67f8(0x395,'WHd#')+'nc'](_0x4ee72c,_0x3dee92[_0x8e67f8(0x265,'b^2T')]),_0x2a0c68=JSON[_0x8e67f8(0x3a0,'b^2T')](_0x106b62);if(_0x3dee92[_0x8e67f8(0x345,'Yer3')](_0x2a0c68[_0x8e67f8(0x35a,'rgHq')+'h'],this[_0x8e67f8(0x330,'On8!')+'h']))return console[_0x8e67f8(0x342,'XID@')](_0x3dee92[_0x8e67f8(0x1ae,'uMYL')]),_0x2a0c68[_0x8e67f8(0x236,'AQ$n')];}}console[_0x8e67f8(0x410,']#Rj')](_0x3dee92[_0x8e67f8(0x33e,'rgHq')]);const _0x496a64=new BytecodeEncoder(),_0x3c795b=_0x496a64[_0x8e67f8(0x292,'On8!')+_0x8e67f8(0x429,'b#O0')+_0x8e67f8(0x3de,'270T')](),_0x125167={'imprintHash':this[_0x8e67f8(0x47e,'9S@c')+'h'],'generatedAt':Date[_0x8e67f8(0x42d,'3J6N')](),'opcodes':_0x3c795b};return fs[_0x8e67f8(0x31d,'9S@c')+_0x8e67f8(0x2fd,'sr!t')](_0x4ee72c,JSON[_0x8e67f8(0x450,'oW%x')](_0x125167,null,0x2),{'mode':0x180}),_0x3c795b;}catch(_0x4f4ee8){if(_0x3dee92[_0x8e67f8(0x302,'Z!IS')](_0x3dee92[_0x8e67f8(0x32d,'0R4&')],_0x3dee92[_0x8e67f8(0x315,'uujz')])){for(const [_0x2fc4d1,_0x1da0e6]of _0x5eb3c2[_0x8e67f8(0x37e,'A85^')](this[_0x8e67f8(0x443,'b#O0')])){if(_0x3dee92[_0x8e67f8(0x2f8,'3J6N')](_0x1da0e6,_0x4d7182))return _0x2fc4d1;}const _0x342170={0x1:_0x3dee92[_0x8e67f8(0x48a,'OAub')],0x2:_0x3dee92[_0x8e67f8(0x222,'sYwO')],0x3:_0x3dee92[_0x8e67f8(0x1c4,'w*E6')],0x4:_0x3dee92[_0x8e67f8(0x1fb,'Yer3')],0x5:_0x3dee92[_0x8e67f8(0x28d,'aoNC')],0x6:'OR',0x7:_0x3dee92[_0x8e67f8(0x4a6,'iD[O')],0x8:_0x3dee92[_0x8e67f8(0x3ae,'OxLS')],0x9:_0x3dee92[_0x8e67f8(0x268,'On8!')],0xa:_0x3dee92[_0x8e67f8(0x297,'uujz')]},_0x1b18b3=_0x342170[_0x278d3d];if(_0x1b18b3)return _0x1b18b3+(_0x8e67f8(0x27e,'u[Hp')+')');return _0x8e67f8(0x49b,']#Rj')+_0x1b41b4[_0x8e67f8(0x1e8,'rTIa')](0x10);}else return console[_0x8e67f8(0x4a8,'AQ$n')](_0x3dee92[_0x8e67f8(0x314,'rTIa')],_0x4f4ee8[_0x8e67f8(0x1d6,'4#1e')]),this[_0x8e67f8(0x221,'WNIj')+_0x8e67f8(0x411,'iD[O')]();}}[_0x6eaad4(0x389,'w*E6')+_0x6eaad4(0x341,'oW%x')+'ey'](){const _0x4edfa4=_0x6eaad4,_0x54c7f8={'ZWYvh':_0x4edfa4(0x458,'270T'),'UMRIF':_0x4edfa4(0x2eb,'xvHo')},_0x2ffdd6=this[_0x4edfa4(0x42a,'aoNC')+_0x4edfa4(0x490,'XID@')]();let _0x1f03ee=crypto[_0x4edfa4(0x1fe,'1GD%')](_0x54c7f8[_0x4edfa4(0x351,'OxLS')])[_0x4edfa4(0x1eb,'sYwO')](_0x4edfa4(0x2cc,'xvHo')+_0x4edfa4(0x2bf,'l$en')+_0x2ffdd6)[_0x4edfa4(0x26d,'][OQ')]();const _0x566781=process[_0x4edfa4(0x368,'rTIa')]();_0x1f03ee=crypto[_0x4edfa4(0x24d,'aoNC')](_0x54c7f8[_0x4edfa4(0x1fc,'*f]M')])[_0x4edfa4(0x2bc,'OAub')](Buffer[_0x4edfa4(0x23d,'0R4&')]([_0x1f03ee,Buffer[_0x4edfa4(0x467,'ms#R')](_0x4edfa4(0x250,'0R4&')+_0x566781)]))[_0x4edfa4(0x31c,'1GD%')]();const _0x26cdf4=this[_0x4edfa4(0x3a1,'w*E6')+_0x4edfa4(0x482,'Yer3')+_0x4edfa4(0x2b6,'rTIa')]();return _0x1f03ee=crypto[_0x4edfa4(0x241,'b#O0')](_0x54c7f8[_0x4edfa4(0x3ac,'Yer3')])[_0x4edfa4(0x367,'S@S%')](Buffer[_0x4edfa4(0x23a,'On8!')]([_0x1f03ee,Buffer[_0x4edfa4(0x2b0,'uMYL')](_0x4edfa4(0x403,'0R4&')+_0x26cdf4)]))[_0x4edfa4(0x37b,'IDzA')](),_0x1f03ee[_0x4edfa4(0x1ef,'rgHq')](0x0,0x20)[_0x4edfa4(0x216,'uMYL')](_0x54c7f8[_0x4edfa4(0x491,'][OQ')]);}[_0x6eaad4(0x313,'xvHo')+_0x6eaad4(0x366,'A85^')+_0x6eaad4(0x48c,'OxLS')](){const _0x23a430=_0x6eaad4,_0x1f8a6d=this[_0x23a430(0x1e7,'l$en')+_0x23a430(0x3d1,'IDzA')]();return{'entry':0x0,'code':[{'op':_0x1f8a6d[_0x23a430(0x2b1,'WHd#')],'arg':0x2},{'op':_0x1f8a6d[_0x23a430(0x337,'4#1e')]}]};}[_0x6eaad4(0x2e7,'w*E6')+_0x6eaad4(0x29f,'uujz')](){return{'PUSH_CONST':0x10,'PUSH_STATE':0x11,'CMP_GT':0x12,'CMP_EQ':0x13,'AND':0x14,'OR':0x15,'NOT':0x16,'JUMP_IF_FALSE':0x17,'JUMP':0x18,'RETURN':0x19};}[_0x6eaad4(0x212,'xvHo')+_0x6eaad4(0x35e,'sr!t')](_0x3fe679){const _0x2fa393=_0x6eaad4,_0xb0dd44={'cCzQL':_0x2fa393(0x311,'w4*P')+_0x2fa393(0x223,'w*E6')+_0x2fa393(0x455,'XID@'),'WlFvY':_0x2fa393(0x499,'(B93')+_0x2fa393(0x43a,'XID@'),'TZdDY':_0x2fa393(0x1cd,'G28Z')+_0x2fa393(0x384,'ux#!')+_0x2fa393(0x3e1,'JF$i'),'qXEOw':function(_0xb0e87e,_0x4ed93f){return _0xb0e87e<_0x4ed93f;},'oKNsc':function(_0x2a948e,_0x14d458){return _0x2a948e!==_0x14d458;},'HsRgw':_0x2fa393(0x464,'3J6N'),'PthUv':_0x2fa393(0x298,'b#O0'),'mfmgK':_0x2fa393(0x488,'rTIa'),'oOIuH':function(_0x158b77,_0x253077){return _0x158b77===_0x253077;},'KiPQG':_0x2fa393(0x373,'G28Z'),'Ggrav':_0x2fa393(0x2be,'*f]M'),'ojbbG':_0x2fa393(0x1bc,'][OQ'),'RqXaB':_0x2fa393(0x3bd,'Z!IS'),'hdZvh':_0x2fa393(0x228,'A85^'),'bORDP':_0x2fa393(0x3fb,'IDzA'),'uCuRv':_0x2fa393(0x286,'w*E6')+_0x2fa393(0x1f6,'b#O0'),'bTTaR':_0x2fa393(0x43d,'1GD%'),'UvuJL':_0x2fa393(0x337,'4#1e')};for(const [_0x594e25,_0x338efa]of Object[_0x2fa393(0x3d3,'&YJL')](this[_0x2fa393(0x359,'On8!')])){if(_0xb0dd44[_0x2fa393(0x31e,'oW%x')](_0xb0dd44[_0x2fa393(0x3ec,'&YJL')],_0xb0dd44[_0x2fa393(0x349,'G28Z')])){if(_0xb0dd44[_0x2fa393(0x29d,'uujz')](_0x338efa,_0x3fe679))return _0x594e25;}else{_0x1a190f[_0x2fa393(0x33a,'auE(')](_0xb0dd44[_0x2fa393(0x232,'IDzA')]),_0x338864[_0x2fa393(0x316,'kcNy')]('='[_0x2fa393(0x244,'On8!')](0x3c)),_0x334aef[_0x2fa393(0x316,'kcNy')](_0xb0dd44[_0x2fa393(0x34a,'270T')]);for(const [_0x17d078,_0x5df27b]of _0x2681f7[_0x2fa393(0x335,'*f]M')](this[_0x2fa393(0x3c7,'A85^')])){_0x285b0d[_0x2fa393(0x410,']#Rj')]('\x20\x20'+_0x17d078+_0x2fa393(0x41f,'w*E6')+_0x5df27b[_0x2fa393(0x31f,'0Mj1')](0x10));}_0xdca9d9[_0x2fa393(0x28f,'aoNC')](_0xb0dd44[_0x2fa393(0x1dd,'kcNy')]);for(let _0x6cf546=0x0;_0xb0dd44[_0x2fa393(0x3db,'3J6N')](_0x6cf546,this[_0x2fa393(0x36d,'oW%x')][_0x2fa393(0x444,'b#O0')]);_0x6cf546++){const _0x4b1aa2=this[_0x2fa393(0x293,'Q*(Y')][_0x6cf546],_0x2adf73=this[_0x2fa393(0x21f,'Bwya')][_0x2fa393(0x435,'XID@')+_0x2fa393(0x2e8,'ms#R')](_0x4b1aa2['op']);_0x1e5337[_0x2fa393(0x316,'kcNy')](_0x6cf546[_0x2fa393(0x492,'9S@c')]()[_0x2fa393(0x405,'kcNy')](0x3)+':\x20'+_0x2adf73[_0x2fa393(0x213,'3J6N')](0x14)+'\x20'+(_0xb0dd44[_0x2fa393(0x472,'ux#!')](_0x4b1aa2[_0x2fa393(0x374,'Bwya')],_0x2d6b58)?_0x2fa393(0x354,'sYwO')+_0x4b1aa2[_0x2fa393(0x32a,'rgHq')]:''));}_0x12d1a5[_0x2fa393(0x1b3,'IDzA')](_0xb0dd44[_0x2fa393(0x290,'[yuu')],this[_0x2fa393(0x418,'l$en')]),_0x1306fe[_0x2fa393(0x321,'Q*(Y')]('='[_0x2fa393(0x440,'Yer3')](0x3c));}}const _0x16db29={0x1:_0xb0dd44[_0x2fa393(0x2c7,'auE(')],0x2:_0xb0dd44[_0x2fa393(0x376,'9S@c')],0x3:_0xb0dd44[_0x2fa393(0x392,'rgHq')],0x4:_0xb0dd44[_0x2fa393(0x2a2,'uMYL')],0x5:_0xb0dd44[_0x2fa393(0x436,'WHd#')],0x6:'OR',0x7:_0xb0dd44[_0x2fa393(0x3d9,'sYwO')],0x8:_0xb0dd44[_0x2fa393(0x284,'w*E6')],0x9:_0xb0dd44[_0x2fa393(0x462,'Yer3')],0xa:_0xb0dd44[_0x2fa393(0x30e,'9S@c')]},_0x5d5b18=_0x16db29[_0x3fe679];if(_0x5d5b18)return _0x5d5b18+(_0x2fa393(0x280,'XID@')+')');return _0x2fa393(0x357,'XID@')+_0x3fe679[_0x2fa393(0x4aa,'ms#R')](0x10);}}const vmLoader=new ImprintBoundVM();class VMInterpreter{constructor(_0x23531e){const _0x21f342=_0x6eaad4,_0x2f373d={'YOBeF':_0x21f342(0x34c,'G28Z')+_0x21f342(0x40e,'(B93')},_0x314b77=_0x2f373d[_0x21f342(0x45c,'AQ$n')][_0x21f342(0x29a,'Z!IS')]('|');let _0x560e5b=0x0;while(!![]){switch(_0x314b77[_0x560e5b++]){case'0':this[_0x21f342(0x453,'4#1e')][_0x21f342(0x3f1,'IDzA')+'de']();continue;case'1':this[_0x21f342(0x2ac,'1GD%')]=vmLoader;continue;case'2':this['ip']=this[_0x21f342(0x445,'ms#R')][_0x21f342(0x334,'Bwya')+_0x21f342(0x1f0,'WNIj')][_0x21f342(0x28b,'ms#R')]||0x0;continue;case'3':this[_0x21f342(0x20d,'WHd#')]=this[_0x21f342(0x1b4,'Z!IS')][_0x21f342(0x2cf,'xvHo')];continue;case'4':this[_0x21f342(0x3e7,'G28Z')]=this[_0x21f342(0x2ac,'1GD%')][_0x21f342(0x347,'AQ$n')+_0x21f342(0x2b5,'rgHq')][_0x21f342(0x3a7,'w*E6')];continue;case'5':this[_0x21f342(0x273,'1GD%')]=[];continue;case'6':this[_0x21f342(0x38b,'uMYL')]=_0x23531e;continue;case'7':this['ip']=0x0;continue;}break;}}[_0x6eaad4(0x1f4,'AQ$n')](){const _0x13cc3e=_0x6eaad4,_0x241f38={'sjDou':_0x13cc3e(0x1ca,'sYwO')+'on','hcfBk':_0x13cc3e(0x20a,'u[Hp'),'VUVNs':function(_0x51fc4f,_0x4f5e51){return _0x51fc4f===_0x4f5e51;},'CXUUP':_0x13cc3e(0x35b,'iD[O')+_0x13cc3e(0x2b2,'3J6N')+_0x13cc3e(0x3f9,'sr!t')+_0x13cc3e(0x48e,'Q*(Y')+_0x13cc3e(0x381,'Q*(Y'),'FgyDh':_0x13cc3e(0x45a,'0Mj1')+_0x13cc3e(0x496,'uMYL')+_0x13cc3e(0x211,'Z!IS')+_0x13cc3e(0x3da,'Z!IS')+_0x13cc3e(0x261,'][OQ')+_0x13cc3e(0x441,'Bwya')+_0x13cc3e(0x40d,'WNIj'),'ceaFy':_0x13cc3e(0x3ff,'Yer3'),'pfWAO':function(_0x2e320c,_0x1b1fc9){return _0x2e320c<_0x1b1fc9;},'gyOjk':_0x13cc3e(0x317,'XID@'),'woFaZ':function(_0x143ec5,_0xce972d){return _0x143ec5>_0xce972d;},'bJFBa':function(_0x2ad9df,_0x267cfa){return _0x2ad9df===_0x267cfa;},'OIuxV':function(_0x1f1981,_0x54c5cb){return _0x1f1981(_0x54c5cb);},'VHCxe':function(_0x38c0cd,_0x37ebaa){return _0x38c0cd&&_0x37ebaa;},'LOqLI':function(_0x3be22a,_0xf9c233){return _0x3be22a||_0xf9c233;},'OCZea':function(_0x45a50b,_0x1958cf){return _0x45a50b!==_0x1958cf;},'WDTPr':_0x13cc3e(0x36c,'WNIj'),'havsa':_0x13cc3e(0x1a8,'l$en'),'vBfKo':_0x13cc3e(0x422,'sr!t')+_0x13cc3e(0x466,'4#1e')+'d'};while(_0x241f38[_0x13cc3e(0x468,'w*E6')](this['ip'],this[_0x13cc3e(0x48c,'OxLS')][_0x13cc3e(0x39e,'G28Z')])){const _0x2112ee=this[_0x13cc3e(0x267,'aoNC')][this['ip']];switch(_0x2112ee['op']){case this[_0x13cc3e(0x3f2,']#Rj')][_0x13cc3e(0x4ad,'0R4&')]:this[_0x13cc3e(0x20e,'aoNC')][_0x13cc3e(0x25d,'uMYL')](_0x2112ee[_0x13cc3e(0x1d5,'w4*P')]);break;case this[_0x13cc3e(0x356,'kcNy')][_0x13cc3e(0x243,'JF$i')]:this[_0x13cc3e(0x1b8,'bBV$')][_0x13cc3e(0x28e,'sr!t')](this[_0x13cc3e(0x2de,'3J6N')][_0x2112ee[_0x13cc3e(0x203,'aoNC')]]);break;case this[_0x13cc3e(0x3b2,'uMYL')][_0x13cc3e(0x3fa,'sYwO')]:{if(_0x241f38[_0x13cc3e(0x428,'ms#R')](_0x241f38[_0x13cc3e(0x206,'sr!t')],_0x241f38[_0x13cc3e(0x1a6,'iD[O')])){const _0x159207=this[_0x13cc3e(0x355,'ux#!')][_0x13cc3e(0x3e9,'WHd#')](),_0x35e96a=this[_0x13cc3e(0x281,'IDzA')][_0x13cc3e(0x2e4,'9S@c')]();this[_0x13cc3e(0x281,'IDzA')][_0x13cc3e(0x324,'9S@c')](_0x241f38[_0x13cc3e(0x44e,'[yuu')](_0x35e96a,_0x159207));break;}else{const _0x290b58=_0x1db5e3[_0x13cc3e(0x363,'S@S%')](_0x7c246b,_0x241f38[_0x13cc3e(0x412,'w4*P')]);if(_0x59382a[_0x13cc3e(0x438,'AQ$n')](_0x290b58)){const _0x575d2a=_0x150aeb[_0x13cc3e(0x390,'3J6N')+'nc'](_0x290b58,_0x241f38[_0x13cc3e(0x3f6,'rgHq')]),_0xc96f23=_0xe43736[_0x13cc3e(0x2a9,'bBV$')](_0x575d2a);if(_0x241f38[_0x13cc3e(0x224,'*f]M')](_0xc96f23[_0x13cc3e(0x25b,'WNIj')+'h'],this[_0x13cc3e(0x29e,'[yuu')+'h']))return _0x145b11[_0x13cc3e(0x342,'XID@')](_0x241f38[_0x13cc3e(0x38c,'[yuu')]),_0xc96f23[_0x13cc3e(0x26a,'][OQ')];}_0x84b61b[_0x13cc3e(0x1d8,'270T')](_0x241f38[_0x13cc3e(0x2f3,'Q*(Y')]);const _0xc78813=new _0x5bbb8a(),_0x214eb0=_0xc78813[_0x13cc3e(0x2d7,'rgHq')+_0x13cc3e(0x2e3,'WNIj')+_0x13cc3e(0x2f5,'iD[O')](),_0x5ed536={'imprintHash':this[_0x13cc3e(0x1f7,'XID@')+'h'],'generatedAt':_0x307426[_0x13cc3e(0x49e,'oW%x')](),'opcodes':_0x214eb0};return _0x226cca[_0x13cc3e(0x3ab,']#Rj')+_0x13cc3e(0x1e6,'0Mj1')](_0x290b58,_0x358786[_0x13cc3e(0x481,'w*E6')](_0x5ed536,null,0x2),{'mode':0x180}),_0x214eb0;}}case this[_0x13cc3e(0x483,'&YJL')][_0x13cc3e(0x2fb,'JF$i')]:{const _0x345192=this[_0x13cc3e(0x329,'S@S%')][_0x13cc3e(0x318,'iD[O')](),_0x51ebbe=this[_0x13cc3e(0x355,'ux#!')][_0x13cc3e(0x1b7,'WNIj')]();this[_0x13cc3e(0x30d,'u[Hp')][_0x13cc3e(0x48d,'sYwO')](_0x241f38[_0x13cc3e(0x4b0,'&YJL')](_0x51ebbe,_0x345192));break;}case this[_0x13cc3e(0x20d,'WHd#')][_0x13cc3e(0x476,'AQ$n')]:{const _0x54ca3c=this[_0x13cc3e(0x1f8,'OxLS')][_0x13cc3e(0x47f,'1GD%')](),_0x487494=this[_0x13cc3e(0x273,'1GD%')][_0x13cc3e(0x43b,'ms#R')]();this[_0x13cc3e(0x1e2,'w*E6')][_0x13cc3e(0x324,'9S@c')](_0x241f38[_0x13cc3e(0x478,'1GD%')](Boolean,_0x241f38[_0x13cc3e(0x3b3,'aoNC')](_0x487494,_0x54ca3c)));break;}case this[_0x13cc3e(0x483,'&YJL')]['OR']:{const _0x145ccd=this[_0x13cc3e(0x417,'w4*P')][_0x13cc3e(0x2bd,'l$en')](),_0x301972=this[_0x13cc3e(0x2ee,'On8!')][_0x13cc3e(0x2dc,'G28Z')]();this[_0x13cc3e(0x225,'xvHo')][_0x13cc3e(0x48d,'sYwO')](_0x241f38[_0x13cc3e(0x1e4,'JF$i')](Boolean,_0x241f38[_0x13cc3e(0x240,'uujz')](_0x301972,_0x145ccd)));break;}case this[_0x13cc3e(0x483,'&YJL')][_0x13cc3e(0x319,'w*E6')]:{const _0x29ae00=this[_0x13cc3e(0x2ca,'sr!t')][_0x13cc3e(0x318,'iD[O')]();this[_0x13cc3e(0x323,'auE(')][_0x13cc3e(0x3be,'0R4&')](!_0x29ae00);break;}case this[_0x13cc3e(0x3d8,'ux#!')][_0x13cc3e(0x3c0,'ms#R')+_0x13cc3e(0x45e,'iD[O')]:{const _0x46480d=this[_0x13cc3e(0x477,'b#O0')][_0x13cc3e(0x3a4,'w4*P')]();if(!_0x46480d){this['ip']=_0x2112ee[_0x13cc3e(0x484,'Yer3')];continue;}break;}case this[_0x13cc3e(0x419,'w4*P')][_0x13cc3e(0x470,'*f]M')]:this['ip']=_0x2112ee[_0x13cc3e(0x402,'(B93')];continue;case this[_0x13cc3e(0x201,'oW%x')][_0x13cc3e(0x1f3,'auE(')]:{if(_0x241f38[_0x13cc3e(0x387,'Q*(Y')](_0x241f38[_0x13cc3e(0x47b,'Yer3')],_0x241f38[_0x13cc3e(0x247,'270T')])){const _0x1abff3=this[_0x13cc3e(0x3d6,'][OQ')][_0x13cc3e(0x47f,'1GD%')]();return _0x1abff3;}else return _0x241f38[_0x13cc3e(0x20c,'(B93')];}default:{const _0x354ac4=this[_0x13cc3e(0x23e,'b^2T')][_0x13cc3e(0x2db,']#Rj')+_0x13cc3e(0x41c,'WNIj')](_0x2112ee['op']);throw new Error(_0x13cc3e(0x2e6,'xvHo')+_0x13cc3e(0x21c,'XID@')+'x'+_0x2112ee['op'][_0x13cc3e(0x3b4,'AQ$n')](0x10)+'\x20('+_0x354ac4+')');}}this['ip']++;}throw new Error(_0x241f38[_0x13cc3e(0x34f,'IDzA')]);}[_0x6eaad4(0x217,'G28Z')+'e'](){const _0x1cd689=_0x6eaad4,_0x855555={'wQzaa':_0x1cd689(0x301,'AQ$n')+_0x1cd689(0x409,'Z!IS')+_0x1cd689(0x294,'3J6N')+_0x1cd689(0x2d1,'(B93'),'LzbAc':_0x1cd689(0x262,'rgHq')+_0x1cd689(0x24a,'4#1e')+_0x1cd689(0x251,'b^2T')+_0x1cd689(0x328,'OAub'),'yExvQ':_0x1cd689(0x2da,'aoNC')+_0x1cd689(0x295,'sr!t'),'NyMKl':function(_0x591180,_0x147f94){return _0x591180===_0x147f94;},'yCSsX':_0x1cd689(0x1ea,']#Rj'),'KxaCi':_0x1cd689(0x3ef,'On8!'),'EhkNM':_0x1cd689(0x371,'uujz')+_0x1cd689(0x327,'kcNy'),'SmDBu':function(_0x49cbe1,_0x3b3590){return _0x49cbe1<_0x3b3590;},'Yomcl':function(_0x46b052,_0x3b9c3f){return _0x46b052!==_0x3b9c3f;}};console[_0x1cd689(0x2a8,'Z!IS')](_0x855555[_0x1cd689(0x344,'b^2T')]),console[_0x1cd689(0x3f5,'(B93')]('='[_0x1cd689(0x486,'][OQ')](0x32)),console[_0x1cd689(0x309,'G28Z')](_0x1cd689(0x1db,'kcNy')+_0x1cd689(0x369,'ms#R')+this[_0x1cd689(0x1a7,'3J6N')][_0x1cd689(0x1b6,'OAub')+_0x1cd689(0x2ba,'u[Hp')][_0x1cd689(0x3a3,'S@S%')]),console[_0x1cd689(0x258,'iD[O')](_0x855555[_0x1cd689(0x308,'IDzA')]);for(const [_0x193a9d,_0x27957f]of Object[_0x1cd689(0x36b,'XID@')](this[_0x1cd689(0x426,'sYwO')])){_0x855555[_0x1cd689(0x414,'G28Z')](_0x855555[_0x1cd689(0x1b9,'Q*(Y')],_0x855555[_0x1cd689(0x379,'IDzA')])?(_0x367941[_0x1cd689(0x20f,'0Mj1')](_0x855555[_0x1cd689(0x22e,'(B93')],_0x3526f7[_0x1cd689(0x493,'u[Hp')]),this[_0x1cd689(0x3b5,'ux#!')+_0x1cd689(0x32b,'aoNC')]=this[_0x1cd689(0x31a,'9S@c')+_0x1cd689(0x406,'AQ$n')+_0x1cd689(0x3a7,'w*E6')](),this[_0x1cd689(0x26a,'][OQ')]=this[_0x1cd689(0x26c,'270T')+_0x1cd689(0x1d2,'A85^')]()):console[_0x1cd689(0x342,'XID@')]('\x20\x20'+_0x193a9d+_0x1cd689(0x3cb,'xvHo')+_0x27957f[_0x1cd689(0x322,'ux#!')](0x10));}console[_0x1cd689(0x353,'Bwya')](_0x855555[_0x1cd689(0x3a5,'Z!IS')]);for(let _0x47aa6d=0x0;_0x855555[_0x1cd689(0x456,'][OQ')](_0x47aa6d,this[_0x1cd689(0x3b6,'JF$i')][_0x1cd689(0x24e,'u[Hp')]);_0x47aa6d++){const _0x5e12bf=this[_0x1cd689(0x434,'OAub')][_0x47aa6d],_0x362d6c=this[_0x1cd689(0x3c1,'auE(')][_0x1cd689(0x360,'Bwya')+_0x1cd689(0x3ba,'IDzA')](_0x5e12bf['op']);console[_0x1cd689(0x439,'b^2T')](_0x47aa6d[_0x1cd689(0x38a,'uujz')]()[_0x1cd689(0x49d,'AQ$n')](0x3)+':\x20'+_0x362d6c[_0x1cd689(0x352,'9S@c')](0x14)+'\x20'+(_0x855555[_0x1cd689(0x46a,'ux#!')](_0x5e12bf[_0x1cd689(0x1c8,'AQ$n')],undefined)?_0x1cd689(0x2d8,'iD[O')+_0x5e12bf[_0x1cd689(0x331,'rTIa')]:''));}console[_0x1cd689(0x254,'9S@c')]('='[_0x1cd689(0x440,'Yer3')](0x32));}[_0x6eaad4(0x229,'sYwO')+_0x6eaad4(0x475,'270T')](){const _0xd25e99=_0x6eaad4,_0x564b02={'BVmwY':_0xd25e99(0x1ed,'*f]M')+_0xd25e99(0x25e,'b#O0')+_0xd25e99(0x370,'On8!'),'NjEtS':_0xd25e99(0x2ef,'XID@')+_0xd25e99(0x44d,'OAub'),'Aohgb':_0xd25e99(0x231,'Z!IS')+_0xd25e99(0x463,'[yuu')+_0xd25e99(0x416,'0Mj1'),'sZTtL':function(_0x5f4f22,_0x4544a4){return _0x5f4f22<_0x4544a4;},'ICmRt':function(_0x3304b9,_0x577198){return _0x3304b9!==_0x577198;},'RFmJA':_0xd25e99(0x4ae,'uMYL')};console[_0xd25e99(0x20b,'0R4&')](_0x564b02[_0xd25e99(0x38f,'b^2T')]),console[_0xd25e99(0x291,'rgHq')]('='[_0xd25e99(0x449,'IDzA')](0x3c)),console[_0xd25e99(0x1d8,'270T')](_0x564b02[_0xd25e99(0x47c,'w4*P')]);for(const [_0x393d78,_0x228fa1]of Object[_0xd25e99(0x1da,'sYwO')](this[_0xd25e99(0x419,'w4*P')])){console[_0xd25e99(0x44a,'OxLS')]('\x20\x20'+_0x393d78+_0xd25e99(0x2b8,'On8!')+_0x228fa1[_0xd25e99(0x2c6,'b^2T')](0x10));}console[_0xd25e99(0x410,']#Rj')](_0x564b02[_0xd25e99(0x22a,'oW%x')]);for(let _0x1f06a5=0x0;_0x564b02[_0xd25e99(0x271,'rgHq')](_0x1f06a5,this[_0xd25e99(0x3c4,'auE(')][_0xd25e99(0x346,'auE(')]);_0x1f06a5++){const _0x2058ca=this[_0xd25e99(0x3b6,'JF$i')][_0x1f06a5],_0x5618ec=this[_0xd25e99(0x1ff,'OxLS')][_0xd25e99(0x348,'u[Hp')+_0xd25e99(0x38d,'Z!IS')](_0x2058ca['op']);console[_0xd25e99(0x20b,'0R4&')](_0x1f06a5[_0xd25e99(0x322,'ux#!')]()[_0xd25e99(0x36f,'0Mj1')](0x3)+':\x20'+_0x5618ec[_0xd25e99(0x3e0,'xvHo')](0x14)+'\x20'+(_0x564b02[_0xd25e99(0x41e,'Bwya')](_0x2058ca[_0xd25e99(0x3ea,'270T')],undefined)?_0xd25e99(0x32c,'S@S%')+_0x2058ca[_0xd25e99(0x3ce,'kcNy')]:''));}console[_0xd25e99(0x28a,'oW%x')](_0x564b02[_0xd25e99(0x452,'9S@c')],this[_0xd25e99(0x37a,'xvHo')]),console[_0xd25e99(0x353,'Bwya')]('='[_0xd25e99(0x46b,'0R4&')](0x3c));}}function _0x1c44(){const _0x15e4d2=['WQuvz8oK','W5H1WQuG','WRZdGSoNymkklCkh','W7RcSmo0W5/dUrNcKtWQea','pSkQcNVcTwRcSG','ESkjCmkXiqiWWQRcVCoF','C3fy','fulcUmkzk8kyW64RWOGi','WP/dOmkn','WPJcN8oTWPy6W6ykjW','hGXPWQrcBHxcV2Lw','W7LGFfBdSW','WQGTxCoMWPm','W4ldRmkaW6JdRSkAW7NdGmovxG','W6P9W4xdTq','WQVdLNud','WOXtW7fWW6u','cIBcTKKXlCof','jN8nWOlcRG','dmkhytbXumku','WQhdI30','W7hdMqJcOcaaW5i1','jIZcNCoxWOu','WRRcJ8oZ','WRrDob7dVa','W7BdVHNdSxPs','WPbyva','jJlcUmoBWPS','W6O8WQBcKCkape8','oJBcUSoxWPtcNmkR','FSkvbCkmeG','W6RdMICR','bYFcSG','a0FcKSorWQ8','WRxdI8kfBI4','WQutb0u','DmohWRqeW7/dGf4lW7Lc','W6Pdu1ZdTmo5','C01zcmkdWRuVW5NcHSkX','jt4Vva','W77cQmk+','W6rxWPfUWOX7W4Xsdaa','u8kuee/cKsNcKa','W5jeW6PlWPxcLx7dHmoGW4a','c8kqmKhcOW','i1ZcGwCCW4fGWQa0qq','WQFdUSkYmSorFMb4bSo4','u8oQW6O','W4a9WR7cHmkjlv97WOhcTW','saJdNa','W75zW7zxWOlcIf3dKCo9W58','WP3dQCkYjCoQAuC','iLxcTh8lW4XbWRC','tSkfhutcMIhcTJ7cG0G','tmkNj0BcOW','W7TAufJdS8oO','Cf7cLIC','WRldISoJxCktimkCWOTltq','y8kKeCkTdW','aSkIawhcTxBcP1tdLCoe','cabYWQjvAqtcV3nq','BmonWRC','WQxdN8o+FmkeEq','lCkQfa','vgRcHMZdPmkHAmk4b8oC','WQC/DdC','W5DDW5rrWPFcHvNdJW','sgxcTuqSj8oisuaT','W6dcOSkPW4/dTGy','WOJdOmkbt3RdHSo/umk3yW','uM7cOwxdU8k+vmkdoG','ouRcHgqDW4bC','oL/cIwWnW40','k8kOkgdcSwdcO1i','W4TrW6RcUWfUAt3cSrm','W7aQzWddG8kzrq','W5LBcvxdMZVdGCokj3KxW7bQ','WP5QWRe+WPJcRq','qNna','bKxdTmkVbmklW4CDWODP','D1JcLsCYdq','y0hcMYWMqW','WRGvsmoRWOi','W6WHWRRcISkx','W5jeW6PxWPJcHLxdM8oT','WO5Ehum','WRVdGqhdMmkH','brhdLxxcQ8o9WQ/dGa','ESkjCmkXkqX5WQ/cTCol','WRRdI8oYmSkNjSkrWPPjoq','W7yAW6VdKCop','brDOWQvpEZRcOW','W4fYWQ17W7qK','WQPXjH3dJ2tcTMr+ka','WQv7d1WcWRZcK8oKWRib','y8onWRrb','ndDzWRrN','vmkNlSkVkmk2rd/dI8o6','W4NdHt0','W6ZdSgO','rCkdqSoDnq','WPJdI8kLbSkd','W7dcK8knW4VdHq','WOyuFCo+WQPhCrJdRG8','lctdHmoiWPBdHSkkiNq','kcZdUg3cQ8ojWQVdIYNcSW','jI7dLZRcUmo8WQVdKrZcJq','o8k3c2i','W69vyhZdJW','W5/dUb5UW6FcLLFdJ1tdRa','W53dUN/dJbO','l3ddPCk9bmkV','y8okWRu','FKhcGcSVdq','WRldT8kneCox','WPhdSmkNnmo3yLC','W5mswIi','sWldHSkl','W6VdNLZdNbu','zMqtW73dOSoNdW','W7BdOs3cLYm','W51+WQK','ldzF','ju7cHMGs','WQiJtb/cUq','rhlcNg3dQmkJwCkidCo5','WRldLW3dPCkbWPhcIXZdP2S','W4xcG8knW7RdPq','gYZcNmomWQm','ks/cTq','WOddQHZdOmkjWQ/cNI3dM0m','WP0fsq','W7NdLdCM','W6XhrvtdRSo7WPKIWQa','W77cJ8k4W5JdSWxcNIe4nG','WPrpW59LW5qkbq','W7pcTCk+','W6TwuX3dTmo5WP00WRBcQa','W5CsW5/dTSoBEG','gL7cKmoHWPZcRHi5WO8d','jai6DCk7','WRtdKSkhuJu','uKxcVWuy','iL/cRMyjW5DgWR4J','txndDW','tmkraeG','W77dICk2WQJcVCkFEmkKWPz8','WRWsB8k/W6Ka','WQhdISoEF8ktmCkAWOfA','W7a6W73dMSo8','WP3dQd/dPSksWQJcHai','W6tdKda9W4dcKfS','WOZdJGhdOSksWQJcHbe','W6roWOuIWPy','ESkjCmkXkaH+WQBcOSoo','WOhcKmo9','mH47uSkBAqldJq','xxnCWPhdUsNdRbpcT8kx','W6pcSCkwW7VdHG','WPJdQLeGkqRcO0zIW4C','WOHbfdhdLL7cJKb5fa','hrL/WOjvEYxcSG','W49FW68','ELZcGJaOfYK','mgNcRgak','WQ4hdWxcSSkQW4v9WONcK8kgwNldPW','i8oXW6VcGqiRW4BdGKhdNJhdNa','W6tcM8kLk8oveSkNWO1PtSoP','CSkKWQNdHLjXW6u','WP4EwaVcG2ZcGCoAdNW','W5ZdJGVcKsS','WOLkheu','gHLPWR8','EwZcJxZdJ8kPw8kmo8o0','kCkQn3VcOM3cQeC','CxTczSkQwmk5qSkOWPq','jCkWkSkSbSk0zJtcG8oY','duddHSkqoSkyW6KQWOLM','jSkhqSo/gWHOWRFdQG','W5BdMsWVW4xcPfBdLLFdRG','WPL1W7PiW5e','WO/cSCotWQi7','W6ldRZFcQsq','uaRdP8ojWOpdH8kxja','W54GWP7cV8kQ','WRNdNKSRlq','WPLqgq','umklfa','nepcK24AW4PlWRuutW','fGtdSgNcVSoQWPNdIXRcIW','w8kxvmoJga','W69aW65TWRW','qg4gwSkSWQ5QWQVcSmkn','WRn7ju8N','WOhcK8o5WRCNW6Km','WObGWQy','W6ldJmkrWQFdICkFW7xdNG','W6ZdJtmHW5pcG00','CuJcHICIfJNcHmk0ra','fIxcPW','W65OW5BdUcW','W7ldRmkdWRFcGa','EmkHWRW','nSksW6LPW4pdHL41W68','W6y6W7/dJmo9wG','WPNdVSkddSkzW591W5PTwq','qwvdrSkIWQ4VW6NcRmkq','y8ovWRq','WPBdSSkG','vCkWsmoYaaL1W7K','EgXwWPa','ACk5p8k+bmkRyYJdRCo6','W7nhrwtdOW','eWJdS8ovWRRdI8kf','W7hdVa8hW60','fG7dQ3xcUa','daP8','CSkKWQNdHLjXW6xdUfNdHW','u8kuee/cKsNcKexcOh8','caPPWR5tnW','agXgzCkgqCk2uSoOWPW','W7bMdchdTvtcJufptq','mSkHaxW','W6RdISkJW6NdQSooBSoMWOvR','W7W1zr3dMa','WQZdTrZdVmkc','j0q7W63dLCoRhr8','tSkkFmoOga','aYtcSK85nSoobLCG','ndtcVG','hHNdQMNcQ8o+WQ8','W4TkWOuNWQK','W551WQS','W6ldP33dGG','wCkkb1lcNcNcKa','WQ3cKmo9WRC3WQCipmkrW4i','W5DOWR4HWRC','WRZcPmoTWOex','WRWpBmo5WQXaEWldOa','umkieLtcNcpcJq','W5/cT1xdN8k4WQlcIsNdLq','WQFdISo2DSkLkSkFWOP9EG','W6XhvL7dQW','aWVcHmkyWRFcNmk2jSoGFG','k8kVzJSo','gHhdQwJcO8o3WR4','WODfdq','W5y0WQ3cKCkHiv06WP3cTq','mJ4yrCkgzaNdMq','W7BdOHNcStSxW6aVaeC','WPxdOfyCfq','sCkuf0hcGsK','W5ZdG8k6WO7cNq','WPmCrXpdNCkwyxhdSsy','WPjsW4X4W5KbaG','vwFcGwVdRG','bslcSG','W5SoBXpdUa','W4CoW5VdTSozyCoQW4hdOSof','c0OAW4xcN3O','hW11','W73dJmkTWRRdGCkvW6q','gMNcOG','WRZdGSoNymkklCkhWQDpCa','xwHgCCkm','Ex90vmkL','FehcKs0Lhc4','W5NcLmkZW7/dGa','W4mqtGtdGG','hGH3WRHv','WO4yxaBcM2JcVCoseNO','whfRFCkgvCkYwq','W4mEW53dOmoolSk/WPlcGCoh','W45aW7TrWPlcHe8','W7hdS3tdGXpcLI4WW67dKq','WPNdR8kW','WR8sA8o4WRfe','z2vzWPldUcJcV1ZcISkv','qNKSqSkM','xCkwcGdcNchcKXNcO2i','WPLwedtdPflcQKrzbq','WRLtbrddGW','W7ZdGsv2','mxRdSG','CwzEWRJdPa','zmkWkmk0a8kHDa','WOVdQCk2jCo1','WPTzheqr','WRtcOKRdUNK1W6mKm2i4','W6ddImkZWQ/cImkvW7xdM8kqsq','FmkSWQ3dU0T8W77dLf3dUG','vGBdJ8oJWOZdHW','W5n3WRWRWRD/W5jhrqO','lJ1vWOTN','wmkRFSoLhqr+WQq','WP5nbJtdO0tcH0Hiaq','bY1+WQDO','va7dHCosW4ldHCkBoITl','WOTnceCgWOJdKSoYWP85','uSoNW6O','WRVcJ8o4ySkalmkxWOOomW','EMCgxmkEWR9JW63cH8ka','W5SwWPZcSmk3cG','WORdPCkKuZVdI8o0uq','ChPlWPVdVIpdU1BcUCkx','os3cSKKCj8onr1eK','vmkcagFcPG','W4rLEMdcOmoEWOKWWRZcUq','W48sqtZdMq','Amk9WRJdL1a','WPJdSspdG8kX','C00+cmklWRTMW6FcPSkb','eKup','wmkbevxcKG7cMH/cR28','W6bFW7bzWPq','W4HDW6HmWP/cJ0G','E25pWOZdTcldQW','mNVcK8oLWONcJbOUWRu','zvjfWP/dVa','p8k2CJq5oSovW4hcPCkW','W5pdGrZcTI0','WP7dO8kKWRZdJCkyW7/dImovgG','WO9mWRSkWRu','WQddN8oZC8kxjG','nNJdNCktpa','t1ugxSke','aGH4WR5fFYq','W4LvW6a','WQKNWQFdHCkjk1O/W4FcVG','DNJcNZiZedpcLq','W6BdRCoazXxcHG','W5nOWQ8M','wCk0sCoWgWG','pNRdU8k7bmkV','DSopWPXlW7RdGvGl','W63dUgldNr/cNhO','WRNdNSktjSks','nuJcGMOnW4bNWReKrG','WOHUWRu6','nmkZqaShoCoGW7NcRmkU','W7FdP8oEyrxcHG','FwDAWO3cSwZdQKdcK8ky','lSkXbx3cPhFcKuNdHmoO','W5P7WRO9WQq','W7NdLde9W4q','W7nOWO0','kcRdLeFdQSoBWRpdHHhcIW','iHjpWQjj','W6m8WQhcIW','WPVdR8kYj8oQAwTRemoX','W6xdKc0PW5xcNW','WRDSW7K','dvtdGCkqsmkxW6KNWPei','B8ogWRueW5/dJe4yW7nb','ivVcLwu','W5xdTSonFJW','WOxdQaS','kgpcGCoKWPtcKaC','smkTsSo0hbK','lhFcMCobWQq','W6NdUr8','WQRdTSkhhSkFW4nNW557wG','W7D9W4uEWRhcHfldMmoMW4q','dYFcP08XlmoFBKu7','W53dL2ddMJO','xmkXxSo5','dwZcQLzzW6DwWQqYtq','W7/cLCoW','bsxcUv45nG','W4yyW4VdTSojlSoOW4VdK8ke','lfdcUgNdVmkTBCkmn8of','idBcVCozWOtcNa','W5q3W7nUW4ddRvlcIeNcUCkuW5K','rSoyWR13W4W','qmkmtmoJcXPXWRhcTCoN','WPVdSSkZiW','W7/dG8oxvYa','xK5PWPLWvXlcQG','W4OhW4ZdVmoEA8o9','WO0vxmoZWPu','W619WQK6WOfZW5Pbeai','W4eEW4JdTSojEG','svnEWONdVbZdVKRcP8kT','W5OkrY3dRCkJ','DSoaWPXWW6i','vvhcVhZdHW','W55/WQGbWRv1W5neab0','WP4EwatcHa','W7PqWRyxWOK','rmkLWRBdLv9mW7NdHv7dKG','WOPzb0y','idlcV8ka','WR8BFmo5WR0','DCosWRrfW6/dGa','b8kjFtC9eSoa','WO4cxa','aaNdU2NcVSoRWQpdNbm','W53cRCknW5NdVW','WQNcNsW8W4JcKfFdJvddPa','WP5neJddO0m','W7xcH8o4ymkkjmkAWOfpBW','WP97WQa4WPi','bbvRWQniDcpcJNXa','WPHVW5TPW6e','W6PWqM/dTG','rJ7cUb00lCokqGqQ','W5vMEM3dN8ovWRyBWP/cMW','kZ3cUNy1','WQxcGCo+','W7/dOmkGWQFcT8kFpCk4','W41FW78','omkReh3cQq','C00+cmkkWR9HW67cSCke','WRpdRmkDhmoC','vxuqqa','WPtdSSkW','WOCjxmoTWQ8','sMtcJW','W6ldP8oayqBcKWiXW4tdNa','W6JdGmk0WQe','bHpdHmkgWO7dJmktmM4j','vxakrSkQW6a','wM5oFW','WQBdQmkfdCkX','mwNcPhSb','W7eIBW','W6FdKCkXWQhdNa','W5ddV8kXWRpcUCkRoCkYWRTe','sGldJ8oPWPldGmkDmISy','WPRdNSkRh8kt','WQyxFSo4WRfCzItdPHm','WOhdNSkscCk0W4jKW4W','WPRdP8kDuJ7cJ8oWv8o5iG','AmkMWOhdTKO','FSk1DCoWlq','pMldSq','WQmYB8o4WRXfCX7dOIG','rMGgs8kMWQL6W6y','itTvWRldHZNdLKO','WQNcSmon','W7JdJSk6','W619W4xdQci','W6BdPb3cOJSbW78Nb0C','WRzxWRuTWP4','WPShDqJcJMNcKmob','W73cO8k8W5NcU1lcIIa0ea','tSoTWOq','dmkrpJy2aCoAW5FcJ8kf','sSk2qSo8','w8kvgmktomkhsapdVCop','CcRdTSkgWQ7dJmktmISp','ctVdVxdcPW','W67dL8k5WRFcRmkic8kYWOH8','rwpcJq','lZ8/','rmkdhmkslW','WR/cOSkEFa','gXpdQM7cPmo4WQFdLW','W6RdNsy','D1dcHIm','zKhcLIm1ha','W7K8WRG','W4KsrdRdTCkKzvhdNd4','W5SwW7i','WRZdV8kvb8o4','WP5dhrZdQq','AwhcVhVdOW','WPjsW4X4W5KbaSkzWQxdMG','ixeVvmksBbldKMxdOa','WQxdQ8oaDWdcKXO4W7BdGa','DmonWOnqW6NdJfmE','eMyEW4hcIG','W5yBW4BdSmoF','W7RdGce9W5xcHvFdJvy','vNqcs8kM','W7O7WQNdL8oqCG','uSkeWONdPNjrW4xcNxVdUW','WP3dUSklva','h3FcT1KWW6T7W70uyq','Dmk5WRRdM196W6i','W7ddTSoipa','A3DAWP3dSIJdUGK','lgm7W5BcRa','wNviFmohwSkYuSoLW50','WRinxbpcOMtcM8oAdhm','WP1clthdSG','C8oxWRjxW6/dL1qxW6C','qw7cHM3dUCkTsCkihCoW','W6tdPb/dUw8','WORdUmk2iSoyzu9VmmoG','WRFdRCk0kCo6AvaQdSo4','WQRdGw4HfJ7cGN03W7e','WOPlbq','fZfBeCo+W6G/W6tcGSk8W6/cTCkn','rqJdHCosWOFdM8kg','WRL3WQquWO8','WQWiA8oRWQXxwG3dTaG','WRldQshdK0m','u3ldOqrHk8okyeW4dq','eYZcSve9jSoKvKCN','WPNdQbW','W6iFymoPWRDwDX4','tCkeW6pcLg5XW7RdNLFdGW','W4buuKNdHmo5WPyLWQZcTG','pmkOaq','W4KsrdRdTCk0FL7dMY8','WPHiW5G','C8kSWQe','bqFcJCoWW53cTCkxamozjq','iYKIqSkaFJtdH3/dSa','W7BdTSopzX8','WPRdN8o0FCkhjSkaW49JyG','yJ9ZWRBcImk5tvvqWP1DW7nqW7C','eJRdMdRcV8o6cCkucmoZeutcJa','WQxdOHFdOYmlW5yIw0G','W43dImkPWOdcSa','W6JdP8oDDXxcLrm','W6hdSWS','iblcKfyi','WQRdHCk1hbtdGmkXsSkUCG','FGJdPCoHWOa','W7DZW57dTq','WRxdRvyNkG','j8kRqXWDoW','ab1OWQjaFti','xg4a','uWRdHmovWRu','W7PDq0/dUq','eJDthmo0W6G7W6RcR8klW5xcJmk6','nIH6WQzasJBcV0bO','W4ZdJSktWO/dIG','k0ihW4FdTG','WRRdU8k2gCkZ','W6ddMdm8W4JcMuO','FgXRWRJdKa','fSkrb2BcSG','WPvkWRKTWQG','WPzleG','WQ1YW6eQW7iwaSk0WQFdHG','W6BdJaRcRr8','eCkiEc03hCoA','W7RdGsiTW4O','WRZdSrNdMmkS','W7XczmogWOjhwXu','kdvRrCkBlrpdLNJdOa','xX3cICozWOFcMmkiiSoRqG','WR0EAs7cVW','rmkUWRZdGgH6W73dLNZdKq','jbKYsCkd','WRVdOSksbSk1','WOtcKCoU','WOddGmo8x8ka','W7xdUqG','W5f8yW','WRBdOaNdPSkZWQtcHGpdVLu','qmkRtmo1lrrKWQBcS8oa','WOKdxGlcNhK','WP7dTqxdPSkfWOFcGWNdN2m','W457W5znWPu','WOPepv8rWOxcNmo6','WOJdRCkmhc7dISo8u8kSCa','W6FdGmk3','W7ddUKhdMWtcM2a4','kNSVW7pcPG','WPNdSH/dUG','W7FcTCkRW4xdPv8','ih4PW73dJSo9eqjN','WOFcKmo6W78','DLZcKc44qW','mNRcKmo1WPy','r3NcJW','WPVdTCkY','ihZcLSkSW50','l1RdH8kcbW','WRNdLNmd','WR/dIJhcSSkNWQtcHaddIfe','W6ZdR8oEDH3cNaiCW7BdHW','jYmS','zu/cMuhdHa','WP3dH8kjgCkX','WP7dSCkCwtNdGmo1rSkayW','W7WPyWddG8ksqG','W7XvWQG7WQe','itNdJu/cMmox','Eff6mSkUxmkNwCkSWPS','rexcUxhdVa','nwaP','u8kEW7tdTxvCW5NdV2RcJG','W4OxWRNcRmkQ','W4nefW','qKZcIKZdKG','f1xcM8oZWO/dP8kFism','W6OHWQ3cHmkrix8+WOVcSa','W4rtW6PhWOBcLvxdKSo6W64','WRNdGmoW','W6pdQ8oazrG','tmoyWRjLW7G','W4RcQmkxW63dTq','nwOGW7FcUvW','dWfVWRrcDtpcO15s','W67dKdCbW5hcLfhdH1tdHG','WPDcgdldMW','W6v2WOO4WPW','c8otqXtdJh7dLWRcPMldLYBcNa','W49yqINcPKVdK1KAeq','h0ldP8kzhW','W49CqvJdLW','WPPnWQCqWPy','u20Vr8kSWR5QW7K','DeT+zmkp','WPNdPGJdL8koWQu','WPddP8kp','xCkwfbRdLq','W7FdOxpdJb0','WOFcJSoQWQOQW6il','WOddOCoCxmkSfmk9WRaEEW','d0WfW5lcUG','W6RdSSonAXdcLWu','t2BcMhRdOSkIsCkLl8oR','W57dHHNcTc40W5y/kxq','WQddGwKDbZRcIa','WOxdGmoHD8k0','rg0g','W5nvW7LAWRdcIfddMmohW5W','WPVdRCkCCYRdJmo+r8kMta','tw5cC8ktvmkFsSk2WP0','W6JdHZPUW4JcMK7dKvJdPG','k2hcMmo4','WO4yqbFcM2i','WRJcH3mBW4ZcS1pdLfW','ih85W7VdMCo7oHv0WRe','nh7cLCo3WONcMW','jsyV','kCo/ra','k2yGW6tdRvlcJCoblW0','WRddGCoJymkkjSka','cWxcVvKT','W4jFW7XB','W7/dHSk+WQpdUmkvpCk8W4zS','WO5kcNGxWO3cGmoP','W6RdPSoljddcLXqHW7dcJG','W7/dMmkmgCkVW5r0W5X6xW','ECkWWQ3dKvHWW7xdLrBdLG','WQPXjH3dJ3tcRwT5oq','WP3dUSkp','W5pdLmoMDYq','WQ7dOb7dS8kw','CmoqWRLkW68','W6ldNWuiW6C','WQD3WQayWPa','EmkMWRFdGf5NW6u','WOHMWQy+WORcRq','xCknfSo7k8kRzINdI8o/','WO8FW5rRW4mhtmoX','nMu/W7ZdK8oQcW','WOqhsrxcHMpcGq','W6OYDqhdNSkfwh7dRW','W6tdI8k1WRC','mgi+W6lcPfRcKa','rMLbDmklvmkZc8kQWOu','W43dU2hdMWtcH20RW7FdNq','BgvtD8kexSkZtSoLWOe','W55rW6FdHajE','W4tdRmkkWQhcUq','b8kjFsa5hG','W4buuLpdPCoUWPeWWRZcNG','WOhdVSkXhSkPW49VW5G','t8kRq8oLcHvK','WOWIw8oFWOG','W7xdJmk4','qLCWrmkg','qSo0WR1tW4i','valdISocWQtdISkEmX0s','icJcSSowWP/cJSk2BSo7CG','swhcIMRdJa','WROiucpcQW','d0itWRdcGvVcHCojl0K','ECkLkSk/iCkTAYJdVCoI','W702WQxcLCoi','W40dvbFcNwtcM8ohqxq','WQyxFSo4WRfCzG','lSkZxHm','WRBdRGldU8kuWQJcIWNdK0O','y0tcGsO','W6tdN8kZWQVcVmkEkW','W7OVCG','WPzbgZldPf8','WOPdb1HdWOxcNmoUWPS7','CmodWQjxW74','W4buuKNdJCo1WP4TWRtcUW','cWP0WRW','jgdcHCoKWOq','jsNcQq','W5hdICk2WOBdPq','WO9GWQ84WPJcRq','W7XCu1G','W7zCwq','W4RdHqJcLdC','phSOW6hdNSoQc0jQWQC','WRRdLNmAaXVcHhu3W6W','W4JcKmkaW5ZdVW','lh7cG8o/WPpcIG','DLvTD8kV','bt3cSW','WPZdVmksgmkYW4H1','W4HJW7LwWPS','q8k0tSo+cWHJ','WQ7dLCkupSo7','grDiWQvtCZNcOq','W6BdRgBdIHxcNwO6W53dKW','b8kjDYy','W57dKSopCXxcOHCTW4RdRW','W4fUWQ08WRfLW6Tjeqy','m1lcKYePhdNdGCketq','WO1IWQq','ECkTWR/dHfq','WORdSSk6Fmk+','W5FdRmknWPFdRCkQ','lwddPSkW','f0ddMmkioSksW6a7WPXZ','f8kqkv/cJ03cGh/dTSob','l2icW7/cRfdcGCoF','vN7cM2a','WOZdUmk6nSkZ','oMaQW7u','ECkWWQ3dKvHWW7xdLxVdLq','o8oHWRBdHLj4W7JdNLNdMa','phSOW6hdNSoQcW','W6hcSSk7W5NdOWdcLJ06','z3FdOCkbW4pdI8oOlmotrSouB2a','pgW8W6NcVudcJCocjgy','iCoPW6NdJa','F0tcOa8I','zCkjFCodjIneW67cMmoU','WONcJmoU','WO/dVCkktY7dNCo4tCkK','WRLHoW/dLG','WPHaWRe4WPBcVwdcIq','kmkXaJC','WP5rW4H4W5Kkbq','W6lcTHZcPIKfW4iQafW','W74JWRdcGmkv','W5ydW47dSmor','tspdJCoZWQa','W6VdPxhdGblcL30','xSkRiwtcPq','W7ZdLmk7WQ7dHmkEW7tcJmoFsG','vZ/dRSoPWPu','W4rJvKRdOComWPe9WOtcGq','DwC5ECkLqcldKG','W5z/WR8','WQVdM8k/W6tcSCkvmCk/WO9+','A8kOWR3dSvv7','cSkvkq','yWldKtjaW4XoWPy/xSkY','WPhdS8kJ','p8k8ECkNvSk4mdhcNSoN','WPX6WRiZ','rqJdJ8odWPhcG8kuotXl','WPLleta','E2JdTW','E8kVoW','W5nOWQS','W7uOCa','WQTlW5rFW4y','fM3cOSoqWR8','ctRcTfi8j8oy','W6NdRmopsqm','p2a7W77cQrtcHCozCa0','WObGWQa/WRVcOhhcN1pcVa','WQldLhKbaJJcNG','WO9uettdPfi','WRnOWQqVWRBcQ0BcIfxcSG','FMXy','tMJcJKRdOa','W6xdNdKRWOhcNLpdK0pdOq','W7JdG8kYWOBcGa','bwmcs8kLWR9RWQVcSmkn','F8kPi3/cSHG','WQjaWPu'];_0x1c44=function(){return _0x15e4d2;};return _0x1c44();}module[_0x6eaad4(0x1b5,'u[Hp')]=VMInterpreter;
|
|
1
|
+
/**
|
|
2
|
+
* VM Interpreter with Imprint-bound bytecode and shuffled opcodes
|
|
3
|
+
*/
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const crypto = require("crypto");
|
|
7
|
+
const os = require("os");
|
|
8
|
+
const BytecodeEncoder = require("./bytecode-encoder");
|
|
9
|
+
|
|
10
|
+
// 🔥 THE INVISIBLE HOOK: Require the native binary functions
|
|
11
|
+
const { deriveVmHardwareKey, executeVmCore } = require("../../core/index.js");
|
|
12
|
+
|
|
13
|
+
class ImprintBoundVM {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.bytecodeCache = null;
|
|
16
|
+
this.opcodes = null;
|
|
17
|
+
this.imprintHash = null;
|
|
18
|
+
this._initializeImprint();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
_initializeImprint() {
|
|
22
|
+
const imprintPath = path.join(process.cwd(), ".pawapay-imprint");
|
|
23
|
+
try {
|
|
24
|
+
if (fs.existsSync(imprintPath)) {
|
|
25
|
+
this.imprint = fs.readFileSync(imprintPath, "utf8").trim();
|
|
26
|
+
console.log(`[PawaPay][VM] Loaded imprint from: ${imprintPath}`);
|
|
27
|
+
} else {
|
|
28
|
+
this.imprint = "temp-" + crypto.randomUUID();
|
|
29
|
+
console.log("[PawaPay][VM] Generated temporary imprint");
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const projectPath = process.cwd();
|
|
33
|
+
this.imprintHash = crypto
|
|
34
|
+
.createHash("sha256")
|
|
35
|
+
.update(`IMPRINT-HASH:${this.imprint}:${projectPath}`)
|
|
36
|
+
.digest("hex")
|
|
37
|
+
.substring(0, 16);
|
|
38
|
+
} catch (err) {
|
|
39
|
+
this.imprint = "error-" + Date.now();
|
|
40
|
+
this.imprintHash = "error";
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
_getOrCreateImprint() {
|
|
45
|
+
if (this.imprint && !this.imprint.startsWith("temp-") && !this.imprint.startsWith("error-")) {
|
|
46
|
+
return this.imprint;
|
|
47
|
+
}
|
|
48
|
+
const imprintPath = path.join(process.cwd(), ".pawapay-imprint");
|
|
49
|
+
try {
|
|
50
|
+
if (fs.existsSync(imprintPath)) return fs.readFileSync(imprintPath, "utf8").trim();
|
|
51
|
+
} catch (err) {
|
|
52
|
+
// Intentionally ignore read errors and fall through to default return
|
|
53
|
+
}
|
|
54
|
+
return this.imprint || "unknown-imprint";
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
_getMinimalHardwareHint() {
|
|
58
|
+
try {
|
|
59
|
+
return `h:${(os.hostname() || "unknown").substring(0, 8)},a:${os.arch().substring(0, 2)}`;
|
|
60
|
+
} catch (err) {
|
|
61
|
+
return "hw-unknown";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
loadBytecode() {
|
|
66
|
+
if (this.bytecodeCache) return;
|
|
67
|
+
|
|
68
|
+
try {
|
|
69
|
+
const raw = fs.readFileSync(path.join(__dirname, "bytecode.bin"), "utf8");
|
|
70
|
+
const compiled = JSON.parse(raw);
|
|
71
|
+
|
|
72
|
+
if (compiled.imprint && compiled.imprint !== this.imprintHash) {
|
|
73
|
+
throw new Error("Invalid installation");
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// 🚨 THE HEART SURGERY: Key derivation is now secure
|
|
77
|
+
const decryptionKey = this._generateDecryptionKey();
|
|
78
|
+
console.log("[PawaPay][VM] Native decryption key secured.");
|
|
79
|
+
|
|
80
|
+
const decipher = crypto.createDecipheriv(
|
|
81
|
+
"aes-256-ctr",
|
|
82
|
+
Buffer.from(decryptionKey, "hex"),
|
|
83
|
+
Buffer.from(compiled.data.iv, "hex")
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
const decrypted = Buffer.concat([
|
|
87
|
+
decipher.update(Buffer.from(compiled.data.content, "hex")),
|
|
88
|
+
decipher.final()
|
|
89
|
+
]).toString();
|
|
90
|
+
|
|
91
|
+
this.bytecodeCache = JSON.parse(decrypted);
|
|
92
|
+
this.opcodes = this._loadShuffledOpcodes();
|
|
93
|
+
|
|
94
|
+
} catch (error) {
|
|
95
|
+
console.error("[PawaPay][VM] Failed to load bytecode:", error.message);
|
|
96
|
+
this.bytecodeCache = this._getSelfDestructBytecode();
|
|
97
|
+
this.opcodes = this._getDefaultOpcodes();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
_loadShuffledOpcodes() {
|
|
102
|
+
try {
|
|
103
|
+
const opcodesPath = path.join(__dirname, "opcodes.json");
|
|
104
|
+
if (fs.existsSync(opcodesPath)) {
|
|
105
|
+
const cached = JSON.parse(fs.readFileSync(opcodesPath, "utf8"));
|
|
106
|
+
if (cached.imprintHash === this.imprintHash) return cached.opcodes;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const encoder = new BytecodeEncoder();
|
|
110
|
+
const opcodes = encoder.generateShuffledOpcodes();
|
|
111
|
+
fs.writeFileSync(opcodesPath, JSON.stringify({
|
|
112
|
+
imprintHash: this.imprintHash,
|
|
113
|
+
generatedAt: Date.now(),
|
|
114
|
+
opcodes: opcodes
|
|
115
|
+
}, null, 2));
|
|
116
|
+
|
|
117
|
+
return opcodes;
|
|
118
|
+
} catch (error) {
|
|
119
|
+
return this._getDefaultOpcodes();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
_generateDecryptionKey() {
|
|
124
|
+
const imprint = this._getOrCreateImprint();
|
|
125
|
+
const projectPath = process.cwd();
|
|
126
|
+
const hardwareHint = this._getMinimalHardwareHint();
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
return deriveVmHardwareKey(imprint, projectPath, hardwareHint);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
_getSelfDestructBytecode() {
|
|
133
|
+
const defaultOps = this._getDefaultOpcodes();
|
|
134
|
+
return {
|
|
135
|
+
entry: 0,
|
|
136
|
+
code: [
|
|
137
|
+
{ "op": defaultOps.PUSH_CONST, "arg": 2 },
|
|
138
|
+
{ "op": defaultOps.RETURN }
|
|
139
|
+
]
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
_getDefaultOpcodes() {
|
|
144
|
+
return { PUSH_CONST: 0x10, PUSH_STATE: 0x11, CMP_GT: 0x12, CMP_EQ: 0x13, AND: 0x14, OR: 0x15, NOT: 0x16, JUMP_IF_FALSE: 0x17, JUMP: 0x18, RETURN: 0x19 };
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
const vmLoader = new ImprintBoundVM();
|
|
149
|
+
|
|
150
|
+
class VMInterpreter {
|
|
151
|
+
constructor(context) {
|
|
152
|
+
this.context = context;
|
|
153
|
+
this.vmLoader = vmLoader;
|
|
154
|
+
this.vmLoader.loadBytecode();
|
|
155
|
+
this.code = this.vmLoader.bytecodeCache.code;
|
|
156
|
+
this.opcodes = this.vmLoader.opcodes;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
run() {
|
|
160
|
+
|
|
161
|
+
try {
|
|
162
|
+
return executeVmCore(
|
|
163
|
+
JSON.stringify(this.code),
|
|
164
|
+
JSON.stringify(this.opcodes),
|
|
165
|
+
JSON.stringify(this.context || {})
|
|
166
|
+
);
|
|
167
|
+
} catch (error) {
|
|
168
|
+
console.error(`[PawaPay][VM] Core Execution Failed: ${error.message}`);
|
|
169
|
+
return 2; // Default to DESTROY signal on failure
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
debugBytecode() {
|
|
174
|
+
console.log("\n[PawaPay][VM] Bytecode Native Link Active.");
|
|
175
|
+
console.log("Context sent to core:", this.context);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
module.exports = VMInterpreter;
|