@evomap/evolver 1.80.0 → 1.80.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/gep/candidates.jsonl +2 -1
- package/package.json +1 -1
- package/src/evolve/guards.js +1 -0
- package/src/evolve/pipeline/collect.js +1 -0
- package/src/evolve/pipeline/dispatch.js +1 -0
- package/src/evolve/pipeline/select.js +1 -0
- package/src/evolve/pipeline/signals.js +1 -0
- package/src/evolve/utils.js +1 -0
- package/src/evolve.js +1 -1
- package/src/gep/.integrity +0 -0
- package/src/gep/a2aProtocol.js +1 -1
- package/src/gep/candidateEval.js +1 -1
- package/src/gep/candidates.js +1 -1
- package/src/gep/contentHash.js +1 -1
- package/src/gep/crypto.js +1 -1
- package/src/gep/curriculum.js +1 -1
- package/src/gep/deviceId.js +1 -1
- package/src/gep/envFingerprint.js +1 -1
- package/src/gep/explore.js +1 -1
- package/src/gep/hubReview.js +1 -1
- package/src/gep/hubSearch.js +1 -1
- package/src/gep/hubVerify.js +1 -1
- package/src/gep/integrityCheck.js +1 -1
- package/src/gep/learningSignals.js +1 -1
- package/src/gep/memoryGraph.js +1 -1
- package/src/gep/memoryGraphAdapter.js +1 -1
- package/src/gep/mutation.js +1 -1
- package/src/gep/narrativeMemory.js +1 -1
- package/src/gep/personality.js +1 -1
- package/src/gep/policyCheck.js +1 -1
- package/src/gep/prompt.js +1 -1
- package/src/gep/reflection.js +1 -1
- package/src/gep/selector.js +1 -1
- package/src/gep/shield.js +1 -1
- package/src/gep/skillDistiller.js +1 -1
- package/src/gep/solidify.js +1 -1
- package/src/gep/strategy.js +1 -1
- package/src/gep/validator/index.js +85 -2
- package/src/gep/validator/reporter.js +86 -0
- package/src/gep/validator/sandboxExecutor.js +44 -0
- package/src/proxy/lifecycle/manager.js +103 -1
package/src/gep/strategy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var _0x5db64f=_0xdf89;(function(_0x4cd42e,_0x9aa4cf){var _0x4e884f=_0xdf89,_0x4e9b3c=_0x4cd42e();while(!![]){try{var _0x9cc380=-parseInt(_0x4e884f(0x1b9,'\x4c\x23\x40\x70'))/(0x12c3+-0x247a+0x11b8)*(-parseInt(_0x4e884f(0x152,'\x55\x44\x4d\x52'))/(-0x1168+-0x5*0x2c3+0x1f39))+parseInt(_0x4e884f(0x1cb,'\x36\x74\x31\x42'))/(0x1*0x1c7+0x1b*0xf1+-0x1b2f)*(-parseInt(_0x4e884f(0x1a6,'\x55\x72\x29\x53'))/(0x159c+0x2*-0xc77+-0x7a*-0x7))+parseInt(_0x4e884f(0x1f4,'\x59\x46\x6b\x47'))/(-0xb*0x2aa+-0x2616+0x4369)*(-parseInt(_0x4e884f(0x1ed,'\x4c\x23\x40\x70'))/(0x70d*0x2+-0x121a+0x406))+-parseInt(_0x4e884f(0x210,'\x6a\x51\x50\x41'))/(-0x2463*-0x1+-0x1*0x2dd+-0x217f)*(-parseInt(_0x4e884f(0x140,'\x6a\x54\x61\x68'))/(0x1482+0xb*-0x316+-0x35e*-0x4))+-parseInt(_0x4e884f(0x1eb,'\x38\x67\x59\x56'))/(-0xbdd*0x3+-0x2*-0x912+0x117c)+parseInt(_0x4e884f(0x138,'\x4a\x59\x49\x40'))/(-0xc41*-0x3+0x13*0xcb+0x19e5*-0x2)+-parseInt(_0x4e884f(0x1bc,'\x6b\x5a\x52\x6b'))/(0x26ba+0x1*0x1af9+-0x8*0x835);if(_0x9cc380===_0x9aa4cf)break;else _0x4e9b3c['push'](_0x4e9b3c['shift']());}catch(_0x13cb17){_0x4e9b3c['push'](_0x4e9b3c['shift']());}}}(_0x502b,0x76d*0xb7+-0x1*-0x7569b+-0x1d40d));var _0x54b168=(function(){var _0x2488b0=_0xdf89,_0x299560={};_0x299560[_0x2488b0(0x1b2,'\x26\x6e\x28\x77')]=_0x2488b0(0x207,'\x26\x35\x47\x4a'),_0x299560['\x5a\x4e\x43\x71\x71']=_0x2488b0(0x18d,'\x45\x79\x42\x25');var _0x1601b3=_0x299560,_0x5267cf=!![];return function(_0x8ed5d2,_0x342613){var _0x28ab62=_0x5267cf?function(){var _0x1f93f4=_0xdf89;if(_0x1601b3['\x69\x57\x78\x56\x5a']!==_0x1601b3[_0x1f93f4(0x147,'\x25\x51\x56\x33')]){if(_0x342613){var _0x430645=_0x342613[_0x1f93f4(0x146,'\x6d\x35\x53\x6d')](_0x8ed5d2,arguments);return _0x342613=null,_0x430645;}}else _0x331e48=_0x1f93f4(0x1d7,'\x26\x6e\x28\x77')+_0x1f93f4(0x1fe,'\x26\x6e\x28\x77');}:function(){};return _0x5267cf=![],_0x28ab62;};}()),_0x3c022a=_0x54b168(this,function(){var _0xe8a500=_0xdf89,_0x4d0d83={};_0x4d0d83[_0xe8a500(0x1d9,'\x6f\x42\x40\x65')]=_0xe8a500(0x199,'\x36\x74\x31\x42')+_0xe8a500(0x195,'\x4d\x61\x51\x5d');var _0x2a3fcc=_0x4d0d83;return _0x3c022a[_0xe8a500(0x172,'\x4d\x61\x51\x5d')]()[_0xe8a500(0x205,'\x5a\x61\x35\x40')](_0xe8a500(0x1b1,'\x6f\x42\x40\x65')+_0xe8a500(0x148,'\x21\x6c\x23\x34'))[_0xe8a500(0x20a,'\x78\x28\x65\x23')]()[_0xe8a500(0x183,'\x4d\x61\x51\x5d')+_0xe8a500(0x143,'\x6a\x66\x21\x25')](_0x3c022a)[_0xe8a500(0x16a,'\x31\x6b\x74\x4e')](_0x2a3fcc['\x4c\x7a\x46\x59\x42']);});_0x3c022a();var _0x5dff2d=require('\x66\x73'),_0x323b04=require(_0x5db64f(0x176,'\x51\x21\x6e\x46')),_0x5a6acb={};_0x5a6acb[_0x5db64f(0x1e8,'\x5d\x54\x57\x6e')]=0.2,_0x5a6acb[_0x5db64f(0x1be,'\x55\x44\x4d\x52')]=0.2,_0x5a6acb[_0x5db64f(0x1ac,'\x31\x6b\x74\x4e')]=0.5,_0x5a6acb[_0x5db64f(0x161,'\x34\x71\x34\x57')]=0.1,_0x5a6acb[_0x5db64f(0x162,'\x72\x34\x62\x67')+_0x5db64f(0x1d1,'\x63\x5d\x50\x5a')+_0x5db64f(0x1d3,'\x21\x6c\x23\x34')]=0.5,_0x5a6acb['\x6c\x61\x62\x65\x6c']=_0x5db64f(0x1c3,'\x71\x28\x5d\x25'),_0x5a6acb[_0x5db64f(0x206,'\x71\x28\x5d\x25')+_0x5db64f(0x167,'\x6e\x43\x59\x4d')]=_0x5db64f(0x151,'\x39\x33\x7a\x37')+_0x5db64f(0x12c,'\x57\x78\x65\x6a')+_0x5db64f(0x1ca,'\x57\x78\x65\x6a')+'\x20\x67\x72\x6f\x77\x74\x68\x20'+_0x5db64f(0x19b,'\x30\x79\x68\x5a')+_0x5db64f(0x181,'\x34\x71\x34\x57');var _0x3b7177={};_0x3b7177['\x72\x65\x70\x61\x69\x72']=0.05,_0x3b7177[_0x5db64f(0x136,'\x57\x78\x65\x6a')]=0.1,_0x3b7177[_0x5db64f(0x1f7,'\x4d\x61\x51\x5d')]=0.8,_0x3b7177['\x65\x78\x70\x6c\x6f\x72\x65']=0.05,_0x3b7177[_0x5db64f(0x1c8,'\x71\x64\x67\x2a')+_0x5db64f(0x1a4,'\x6d\x35\x53\x6d')+_0x5db64f(0x163,'\x55\x72\x29\x53')]=0.3,_0x3b7177['\x6c\x61\x62\x65\x6c']=_0x5db64f(0x1e7,'\x6b\x5a\x52\x6b')+'\x6f\x6e\x20\x46\x6f\x63\x75\x73',_0x3b7177[_0x5db64f(0x1bd,'\x39\x58\x79\x5a')+_0x5db64f(0x144,'\x78\x28\x65\x23')]=_0x5db64f(0x19c,'\x21\x6c\x23\x34')+_0x5db64f(0x1b7,'\x39\x58\x79\x5a')+'\x2e\x20\x4d\x61\x78\x69\x6d\x69'+_0x5db64f(0x13d,'\x43\x6c\x6a\x32')+_0x5db64f(0x19e,'\x21\x6c\x23\x34')+_0x5db64f(0x20d,'\x4a\x59\x49\x40')+_0x5db64f(0x1ef,'\x71\x28\x5d\x25')+'\x2e';var _0x1e0a36={};_0x1e0a36[_0x5db64f(0x1d5,'\x77\x44\x21\x42')]=0.4,_0x1e0a36[_0x5db64f(0x187,'\x6f\x42\x40\x65')]=0.35,_0x1e0a36[_0x5db64f(0x16b,'\x4e\x4a\x23\x72')]=0.2,_0x1e0a36[_0x5db64f(0x1b0,'\x39\x58\x79\x5a')]=0.05,_0x1e0a36[_0x5db64f(0x1fa,'\x6e\x43\x59\x4d')+_0x5db64f(0x1bf,'\x57\x78\x65\x6a')+_0x5db64f(0x1b4,'\x78\x52\x34\x24')]=0.7,_0x1e0a36[_0x5db64f(0x191,'\x4a\x59\x49\x40')]=_0x5db64f(0x15b,'\x67\x42\x24\x63')+'\x67',_0x1e0a36[_0x5db64f(0x133,'\x49\x52\x23\x71')+_0x5db64f(0x12a,'\x4d\x61\x51\x5d')]=_0x5db64f(0x1fc,'\x71\x28\x5d\x25')+_0x5db64f(0x16f,'\x51\x21\x6e\x46')+_0x5db64f(0x211,'\x49\x52\x23\x71')+'\x73\x20\x6f\x6e\x20\x73\x74\x61'+_0x5db64f(0x194,'\x71\x28\x5d\x25')+_0x5db64f(0x13c,'\x6f\x42\x40\x65')+_0x5db64f(0x1df,'\x31\x6b\x74\x4e');var _0x141f22={};_0x141f22[_0x5db64f(0x15d,'\x63\x5d\x50\x5a')]=0.8,_0x141f22[_0x5db64f(0x14a,'\x71\x28\x5d\x25')]=0.18,_0x141f22[_0x5db64f(0x12e,'\x39\x58\x79\x5a')]=0x0,_0x141f22[_0x5db64f(0x178,'\x77\x72\x33\x57')]=0.02,_0x141f22[_0x5db64f(0x1af,'\x5d\x54\x57\x6e')+'\x6f\x70\x54\x68\x72\x65\x73\x68'+_0x5db64f(0x16e,'\x67\x42\x24\x63')]=0x1,_0x141f22[_0x5db64f(0x18c,'\x59\x46\x6b\x47')]=_0x5db64f(0x209,'\x4e\x4a\x23\x72')+_0x5db64f(0x1c7,'\x51\x21\x6e\x46'),_0x141f22[_0x5db64f(0x1ad,'\x6a\x54\x61\x68')+_0x5db64f(0x1ce,'\x77\x44\x21\x42')]=_0x5db64f(0x15f,'\x72\x34\x62\x67')+_0x5db64f(0x1fb,'\x51\x21\x6e\x46')+_0x5db64f(0x129,'\x43\x5e\x76\x62')+_0x5db64f(0x17c,'\x55\x44\x4d\x52')+_0x5db64f(0x180,'\x4c\x23\x40\x70')+_0x5db64f(0x16c,'\x4c\x23\x40\x70')+_0x5db64f(0x1d2,'\x26\x35\x47\x4a');var _0x4b765e={};_0x4b765e[_0x5db64f(0x1bb,'\x78\x52\x34\x24')]=0.6,_0x4b765e[_0x5db64f(0x185,'\x4d\x61\x51\x5d')]=0.22,_0x4b765e['\x69\x6e\x6e\x6f\x76\x61\x74\x65']=0.15,_0x4b765e[_0x5db64f(0x19a,'\x72\x34\x62\x67')]=0.03,_0x4b765e[_0x5db64f(0x1f8,'\x5a\x61\x35\x40')+_0x5db64f(0x18a,'\x5d\x54\x57\x6e')+_0x5db64f(0x17e,'\x71\x36\x72\x69')]=0.8,_0x4b765e['\x6c\x61\x62\x65\x6c']=_0x5db64f(0x169,'\x4e\x4a\x23\x72')+_0x5db64f(0x142,'\x6a\x51\x50\x41')+_0x5db64f(0x1a7,'\x30\x79\x68\x5a'),_0x4b765e[_0x5db64f(0x1c6,'\x77\x44\x21\x42')+_0x5db64f(0x130,'\x39\x33\x7a\x37')]=_0x5db64f(0x20c,'\x78\x75\x45\x56')+_0x5db64f(0x160,'\x57\x78\x65\x6a')+_0x5db64f(0x1d6,'\x56\x53\x48\x39')+_0x5db64f(0x1c1,'\x78\x28\x65\x23')+_0x5db64f(0x208,'\x5d\x54\x57\x6e')+'\x20\x69\x73\x73\x75\x65\x73\x20'+_0x5db64f(0x166,'\x49\x52\x23\x71')+_0x5db64f(0x1e1,'\x43\x6c\x6a\x32')+'\x67\x2e';var _0x96093d={};_0x96093d['\x72\x65\x70\x61\x69\x72']=0.55,_0x96093d[_0x5db64f(0x19f,'\x6a\x51\x50\x41')]=0.25,_0x96093d[_0x5db64f(0x174,'\x71\x28\x5d\x25')]=0.05,_0x96093d[_0x5db64f(0x1aa,'\x6a\x51\x50\x41')]=0.15,_0x96093d[_0x5db64f(0x20b,'\x4c\x23\x40\x70')+_0x5db64f(0x184,'\x78\x75\x45\x56')+_0x5db64f(0x193,'\x48\x5e\x56\x24')]=0.9,_0x96093d[_0x5db64f(0x157,'\x48\x5e\x56\x24')]=_0x5db64f(0x20f,'\x5a\x61\x35\x40')+_0x5db64f(0x158,'\x77\x72\x33\x57'),_0x96093d[_0x5db64f(0x1c6,'\x77\x44\x21\x42')+_0x5db64f(0x1f1,'\x59\x46\x6b\x47')]=_0x5db64f(0x203,'\x71\x64\x67\x2a')+'\x6e\x20\x73\x61\x74\x75\x72\x61'+_0x5db64f(0x13b,'\x4c\x23\x40\x70')+_0x5db64f(0x1dc,'\x4d\x61\x51\x5d')+'\x69\x73\x74\x69\x6e\x67\x20\x63'+_0x5db64f(0x1ec,'\x43\x6c\x6a\x32')+'\x69\x65\x73\x2e\x20\x45\x78\x70'+_0x5db64f(0x165,'\x4e\x4a\x23\x72')+_0x5db64f(0x15c,'\x59\x46\x6b\x47')+'\x65\x63\x74\x69\x6f\x6e\x73\x2e';var _0x55577e={};_0x55577e[_0x5db64f(0x190,'\x5a\x61\x35\x40')]=_0x5a6acb,_0x55577e[_0x5db64f(0x1ea,'\x67\x42\x24\x63')]=_0x3b7177,_0x55577e[_0x5db64f(0x17a,'\x26\x35\x47\x4a')]=_0x1e0a36,_0x55577e['\x72\x65\x70\x61\x69\x72\x2d\x6f'+_0x5db64f(0x189,'\x45\x79\x42\x25')]=_0x141f22,_0x55577e[_0x5db64f(0x201,'\x77\x44\x21\x42')+_0x5db64f(0x150,'\x55\x44\x4d\x52')]=_0x4b765e,_0x55577e[_0x5db64f(0x1e2,'\x36\x74\x31\x42')+_0x5db64f(0x1ab,'\x39\x58\x79\x5a')]=_0x96093d;var _0x63f150=_0x55577e;function _0x2d08db(){var _0x5bdadc=_0x5db64f,_0x36a9fe={};_0x36a9fe['\x71\x63\x78\x6c\x5a']=_0x5bdadc(0x204,'\x26\x6e\x28\x77'),_0x36a9fe[_0x5bdadc(0x1c5,'\x38\x67\x59\x56')]=_0x5bdadc(0x1e9,'\x39\x33\x7a\x37')+_0x5bdadc(0x16d,'\x78\x28\x65\x23')+'\x6a\x73\x6f\x6e',_0x36a9fe[_0x5bdadc(0x14d,'\x6e\x43\x59\x4d')]=function(_0x265c73,_0x49b6d4){return _0x265c73<_0x49b6d4;},_0x36a9fe[_0x5bdadc(0x1e6,'\x55\x72\x29\x53')]=_0x5bdadc(0x170,'\x78\x52\x34\x24');var _0x445990=_0x36a9fe;try{var _0x1a07aa=_0x323b04[_0x5bdadc(0x17d,'\x6e\x43\x59\x4d')](__dirname,'\x2e\x2e','\x2e\x2e',_0x445990[_0x5bdadc(0x155,'\x4c\x23\x40\x70')],_0x5bdadc(0x1ae,'\x4a\x59\x49\x40')+_0x5bdadc(0x19d,'\x56\x53\x48\x39')+_0x5bdadc(0x1c9,'\x25\x51\x56\x33')),_0x11af38=_0x323b04[_0x5bdadc(0x20e,'\x72\x34\x62\x67')](__dirname,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',_0x445990[_0x5bdadc(0x1ff,'\x6a\x51\x50\x41')],_0x5bdadc(0x1dd,'\x78\x75\x45\x56')+'\x6e',_0x445990[_0x5bdadc(0x18e,'\x78\x75\x45\x56')]),_0x2b3409=[_0x1a07aa,_0x11af38];for(var _0x1bab72=-0xa5b*-0x1+0x146*0xa+-0x1717*0x1;_0x445990[_0x5bdadc(0x156,'\x56\x53\x48\x39')](_0x1bab72,_0x2b3409[_0x5bdadc(0x164,'\x71\x28\x5d\x25')]);_0x1bab72++){if(_0x5dff2d[_0x5bdadc(0x168,'\x49\x52\x23\x71')+'\x6e\x63'](_0x2b3409[_0x1bab72])){var _0x25dfaf=JSON['\x70\x61\x72\x73\x65'](_0x5dff2d[_0x5bdadc(0x145,'\x4d\x61\x51\x5d')+'\x53\x79\x6e\x63'](_0x2b3409[_0x1bab72],_0x445990[_0x5bdadc(0x1c4,'\x6b\x5a\x52\x6b')]));return _0x25dfaf&&Number[_0x5bdadc(0x1a5,'\x71\x36\x72\x69')](_0x25dfaf[_0x5bdadc(0x1d0,'\x71\x64\x67\x2a')+'\x6e\x74'])?_0x25dfaf[_0x5bdadc(0x12f,'\x38\x67\x59\x56')+'\x6e\x74']:0x1a25+0x24b9+-0x1f6f*0x2;}}}catch(_0x5d656e){}return-0x1*0x1361+-0x130b+0x266c;}function _0x502b(){var _0x2771d6=['\x7a\x53\x6f\x4a\x57\x37\x2f\x63\x55\x58\x75\x4f\x57\x34\x69\x54','\x62\x53\x6f\x2b\x68\x57','\x57\x51\x46\x63\x4a\x43\x6f\x45\x57\x52\x74\x64\x52\x61','\x57\x36\x56\x64\x4e\x48\x44\x56\x57\x37\x69\x69\x57\x4f\x34\x54\x57\x52\x68\x63\x4b\x62\x34\x70\x57\x50\x47','\x62\x6d\x6b\x6d\x74\x43\x6b\x42\x76\x48\x4a\x64\x52\x6d\x6b\x38','\x73\x62\x48\x59\x57\x34\x4a\x63\x4a\x6d\x6f\x75\x68\x74\x65','\x43\x43\x6b\x53\x57\x4f\x7a\x6d\x7a\x59\x66\x6f','\x66\x43\x6b\x6e\x74\x4e\x37\x63\x53\x43\x6f\x7a\x74\x4a\x65','\x57\x51\x4e\x64\x52\x64\x58\x77\x57\x51\x56\x63\x50\x47','\x6c\x4b\x7a\x55\x70\x76\x30\x33\x57\x52\x58\x6f\x57\x34\x71\x61\x57\x51\x2f\x64\x49\x38\x6b\x66\x46\x57','\x57\x37\x4a\x64\x55\x38\x6f\x39\x78\x6d\x6f\x33','\x57\x34\x68\x63\x50\x38\x6f\x68\x57\x4f\x30','\x57\x37\x61\x50\x43\x53\x6f\x78\x57\x50\x37\x63\x53\x78\x33\x63\x4e\x47','\x57\x51\x7a\x39\x57\x34\x69\x6b\x57\x50\x68\x64\x48\x53\x6f\x6c\x57\x37\x47','\x57\x37\x72\x37\x44\x4a\x57\x2b\x57\x37\x66\x52\x57\x36\x6d','\x57\x34\x33\x63\x48\x6d\x6f\x4e\x57\x4f\x34\x79','\x57\x51\x30\x6a\x57\x35\x4b\x43\x57\x35\x47','\x57\x52\x46\x64\x49\x63\x68\x63\x48\x4b\x62\x58\x57\x37\x79\x78\x75\x38\x6f\x2b\x64\x68\x76\x56','\x57\x52\x5a\x64\x4c\x49\x43\x35\x57\x52\x57','\x57\x35\x33\x63\x4d\x53\x6f\x6e\x57\x52\x50\x46\x76\x4a\x37\x64\x4d\x47','\x6d\x32\x2f\x63\x4e\x61','\x57\x50\x74\x63\x54\x72\x30','\x57\x4f\x53\x76\x6d\x53\x6f\x43\x70\x38\x6b\x31\x57\x37\x76\x2b','\x57\x35\x68\x64\x52\x6d\x6b\x79\x69\x63\x75','\x57\x52\x6c\x63\x4d\x31\x65\x48\x78\x57','\x6e\x76\x65\x46\x72\x47','\x57\x51\x74\x64\x56\x38\x6f\x4c\x57\x35\x34\x57','\x71\x47\x4c\x30\x57\x34\x33\x63\x4d\x6d\x6b\x71\x66\x63\x61','\x57\x51\x66\x2f\x57\x37\x4f\x72\x7a\x61','\x57\x35\x42\x64\x4c\x43\x6b\x44\x6e\x73\x79','\x57\x4f\x33\x63\x56\x43\x6f\x39\x57\x4f\x5a\x64\x4b\x47','\x45\x6d\x6f\x65\x57\x52\x71\x57\x57\x35\x4f\x32\x76\x48\x30','\x57\x52\x66\x53\x57\x35\x43\x6e\x57\x52\x30','\x78\x57\x46\x63\x4a\x77\x46\x63\x4d\x59\x52\x63\x50\x61','\x69\x43\x6f\x2b\x61\x57\x4e\x64\x51\x6d\x6b\x75\x6d\x53\x6b\x54','\x64\x76\x70\x64\x4e\x64\x70\x64\x47\x32\x4a\x63\x4a\x6d\x6b\x30\x43\x6d\x6b\x74\x57\x36\x4a\x63\x55\x61','\x69\x4d\x46\x63\x4c\x38\x6b\x68\x65\x63\x50\x7a\x57\x4f\x61','\x64\x53\x6b\x73\x44\x4e\x4a\x63\x51\x38\x6f\x76\x72\x48\x43','\x57\x37\x75\x56\x42\x53\x6b\x76\x57\x36\x71','\x57\x36\x4e\x64\x53\x38\x6f\x39\x42\x6d\x6f\x54','\x57\x35\x53\x61\x77\x43\x6b\x75\x57\x51\x79','\x57\x35\x46\x64\x4b\x66\x52\x63\x4e\x47','\x57\x51\x33\x63\x55\x38\x6f\x51\x57\x52\x56\x64\x50\x71','\x66\x43\x6f\x59\x7a\x5a\x2f\x64\x4d\x31\x5a\x64\x4e\x6d\x6f\x63\x6d\x43\x6f\x71\x7a\x59\x47','\x57\x4f\x64\x64\x56\x4a\x31\x42\x57\x51\x4e\x63\x50\x4d\x46\x63\x56\x61','\x6c\x4d\x64\x63\x53\x43\x6f\x44\x57\x51\x39\x4f\x69\x68\x71','\x57\x35\x33\x63\x4f\x38\x6f\x41\x57\x4f\x4b\x65\x75\x57','\x46\x58\x50\x44\x64\x48\x6c\x64\x55\x62\x4f','\x78\x43\x6b\x56\x57\x4f\x44\x42\x45\x61\x54\x67\x57\x52\x43','\x67\x43\x6b\x72\x78\x32\x74\x64\x53\x53\x6b\x71\x7a\x63\x79','\x57\x35\x44\x6b\x57\x4f\x50\x4e\x79\x65\x4b\x74','\x41\x53\x6b\x4e\x57\x50\x6a\x69\x44\x48\x58\x4b\x57\x52\x53','\x57\x4f\x30\x79\x6f\x61','\x71\x72\x58\x55\x57\x34\x70\x63\x47\x43\x6b\x72','\x57\x37\x74\x64\x4e\x67\x35\x4d\x6d\x58\x54\x4c\x75\x47','\x61\x53\x6b\x6d\x77\x6d\x6b\x78\x76\x48\x74\x63\x56\x6d\x6b\x48','\x57\x50\x46\x63\x4d\x6d\x6f\x45','\x62\x43\x6b\x72\x76\x38\x6b\x6c\x75\x61\x6c\x64\x4a\x38\x6b\x58','\x57\x35\x33\x64\x4b\x4d\x35\x56\x41\x4c\x31\x7a\x76\x61','\x46\x6d\x6f\x56\x71\x73\x70\x64\x56\x43\x6f\x53','\x57\x37\x68\x64\x4e\x78\x6a\x53\x7a\x72\x58\x2b\x72\x71','\x57\x36\x4f\x31\x79\x53\x6b\x72\x57\x35\x46\x63\x4b\x4e\x56\x64\x4c\x57','\x57\x50\x70\x63\x48\x71\x62\x64\x57\x36\x46\x64\x48\x38\x6f\x4b\x77\x47','\x57\x51\x46\x64\x53\x59\x53','\x43\x38\x6f\x64\x57\x52\x31\x2f\x57\x34\x38\x2f\x71\x58\x79','\x65\x76\x70\x63\x4f\x67\x53','\x67\x6d\x6b\x6f\x78\x78\x4a\x63\x4e\x57','\x57\x4f\x30\x46\x61\x6d\x6f\x6d\x63\x38\x6b\x31\x57\x37\x44\x38','\x7a\x49\x65\x6d\x73\x62\x34','\x72\x62\x44\x55\x57\x34\x56\x63\x47\x38\x6b\x79\x67\x49\x61','\x57\x36\x2f\x63\x4e\x63\x78\x64\x55\x68\x6d\x47\x6e\x31\x75','\x79\x43\x6f\x6c\x57\x51\x34\x33','\x57\x35\x66\x77\x57\x37\x61\x77\x57\x36\x46\x64\x54\x38\x6b\x61\x57\x36\x34','\x57\x34\x42\x64\x49\x76\x37\x63\x4c\x38\x6f\x49\x65\x38\x6b\x62','\x7a\x62\x39\x7a\x57\x37\x70\x63\x48\x57','\x57\x37\x75\x63\x57\x37\x42\x63\x52\x38\x6b\x51\x64\x47','\x57\x37\x74\x64\x48\x65\x64\x63\x47\x53\x6f\x43','\x77\x75\x78\x63\x48\x4d\x37\x63\x4c\x64\x2f\x63\x53\x38\x6b\x4c','\x57\x4f\x5a\x63\x4b\x53\x6f\x64\x57\x52\x78\x64\x4b\x73\x66\x4b','\x73\x43\x6b\x4f\x6f\x57','\x57\x51\x37\x63\x4e\x30\x79\x36','\x57\x51\x71\x4f\x45\x43\x6b\x71\x57\x35\x64\x63\x4d\x5a\x5a\x63\x4c\x47','\x57\x35\x62\x42\x57\x50\x7a\x49\x45\x30\x6a\x79','\x57\x37\x70\x63\x49\x72\x70\x63\x4a\x38\x6b\x74','\x57\x50\x4f\x46\x70\x43\x6f\x6c\x64\x43\x6b\x55\x57\x36\x58\x34','\x57\x37\x52\x63\x47\x57\x4a\x63\x4b\x6d\x6b\x63\x57\x35\x74\x63\x53\x6d\x6f\x46','\x57\x50\x79\x61\x6a\x38\x6f\x72\x66\x6d\x6b\x31\x57\x36\x6e\x2b','\x57\x35\x64\x63\x4f\x53\x6b\x4e\x41\x73\x31\x2f\x45\x47\x58\x70\x6a\x4b\x47\x58\x57\x37\x34','\x57\x51\x44\x50\x57\x50\x79\x72\x57\x50\x70\x64\x4a\x43\x6f\x65\x57\x36\x34','\x6b\x6d\x6b\x4e\x44\x6d\x6b\x38\x74\x47','\x57\x4f\x33\x64\x55\x43\x6f\x54','\x63\x4d\x79\x58\x57\x34\x6e\x6b\x6e\x53\x6f\x38\x74\x71','\x57\x4f\x42\x64\x54\x6d\x6f\x57\x6b\x65\x71\x37\x70\x61\x34','\x79\x4d\x2f\x63\x54\x53\x6f\x70\x57\x36\x6d','\x57\x51\x52\x64\x55\x53\x6f\x58\x67\x30\x69','\x57\x36\x64\x63\x4c\x58\x37\x63\x4b\x53\x6b\x47','\x74\x64\x4b\x64\x7a\x64\x61','\x6c\x43\x6f\x72\x57\x37\x75\x2f\x72\x38\x6f\x6a\x44\x74\x6d','\x43\x58\x71\x37\x79\x61\x71','\x64\x30\x6c\x63\x56\x59\x61','\x57\x35\x47\x6e\x78\x57','\x74\x58\x62\x53\x57\x34\x33\x63\x47\x43\x6b\x61\x74\x49\x71','\x57\x35\x6a\x7a\x45\x6d\x6b\x43','\x57\x35\x43\x66\x57\x34\x5a\x63\x55\x43\x6b\x37','\x65\x38\x6b\x6c\x7a\x53\x6b\x36\x78\x71','\x57\x51\x76\x65\x57\x37\x65\x4c\x75\x61','\x57\x37\x6c\x64\x48\x71\x44\x35\x57\x36\x4f\x74\x57\x50\x31\x52','\x46\x43\x6b\x36\x57\x50\x6a\x66\x43\x62\x58\x6e','\x57\x51\x30\x51\x62\x30\x75\x6e\x78\x53\x6f\x65\x6a\x71','\x74\x71\x66\x68\x66\x48\x37\x64\x52\x31\x2f\x64\x4f\x57','\x57\x37\x74\x64\x50\x53\x6f\x64\x74\x53\x6f\x4a\x57\x52\x70\x64\x53\x30\x4b','\x45\x58\x4c\x61\x66\x57\x4e\x64\x50\x57\x5a\x63\x51\x47','\x57\x35\x70\x63\x49\x6d\x6f\x71\x57\x52\x39\x42\x72\x73\x78\x64\x49\x57','\x57\x37\x61\x54\x79\x53\x6b\x43','\x6d\x32\x2f\x63\x4f\x53\x6b\x4d\x62\x49\x6a\x6f\x57\x52\x61','\x72\x38\x6f\x65\x41\x48\x78\x64\x54\x61','\x71\x43\x6f\x53\x57\x36\x4c\x71\x74\x71','\x57\x35\x2f\x64\x52\x6d\x6b\x38\x6a\x63\x34\x34\x68\x59\x79','\x74\x38\x6b\x33\x67\x77\x37\x63\x48\x61\x33\x64\x50\x43\x6f\x74','\x57\x35\x6e\x61\x42\x32\x78\x64\x54\x6d\x6f\x57\x57\x35\x70\x64\x51\x43\x6b\x35\x74\x67\x30','\x57\x52\x6d\x53\x68\x71','\x6d\x38\x6b\x39\x42\x6d\x6b\x35\x43\x64\x74\x64\x4d\x38\x6b\x62','\x57\x51\x48\x71\x57\x37\x69\x66\x44\x57','\x57\x35\x4e\x63\x47\x6d\x6f\x75\x57\x52\x50\x7a\x78\x4a\x4f','\x57\x52\x50\x6c\x57\x34\x4b\x78','\x7a\x53\x6f\x4b\x74\x4a\x37\x64\x51\x6d\x6f\x4c\x57\x51\x43\x75','\x57\x36\x6c\x63\x4e\x4d\x52\x64\x4e\x71\x65\x51\x57\x52\x34\x6d','\x45\x47\x6d\x32\x41\x72\x31\x57\x57\x36\x75\x72','\x66\x33\x6d\x76\x57\x34\x50\x72\x69\x43\x6f\x64\x73\x47','\x57\x51\x54\x73\x57\x34\x30\x45\x45\x38\x6b\x61\x73\x47','\x57\x36\x61\x58\x57\x34\x50\x77\x57\x35\x78\x63\x4a\x43\x6b\x76\x57\x51\x69','\x57\x52\x66\x43\x57\x35\x53\x52\x57\x52\x38','\x44\x53\x6f\x45\x44\x72\x5a\x64\x51\x61','\x63\x30\x56\x63\x4f\x47','\x57\x36\x2f\x64\x54\x53\x6f\x2b\x70\x57','\x57\x51\x4a\x64\x4a\x53\x6f\x64\x57\x34\x79\x6c\x41\x43\x6f\x79','\x57\x52\x30\x6b\x57\x34\x34\x67\x44\x43\x6b\x71\x71\x32\x4f','\x57\x50\x79\x44\x6d\x5a\x6d','\x57\x52\x69\x61\x7a\x43\x6b\x44\x57\x36\x37\x63\x4d\x78\x61','\x57\x37\x5a\x63\x4e\x74\x4a\x63\x4e\x43\x6b\x69\x57\x37\x37\x63\x50\x71','\x66\x4b\x6c\x63\x54\x4a\x6a\x33\x45\x71','\x57\x51\x2f\x64\x4a\x67\x70\x63\x50\x63\x44\x56\x41\x5a\x65\x6c\x6b\x38\x6b\x43\x68\x6d\x6f\x57\x74\x47','\x57\x51\x50\x70\x57\x34\x34\x72\x7a\x53\x6b\x42\x78\x33\x53','\x75\x72\x78\x63\x4b\x67\x6c\x63\x4e\x5a\x4e\x63\x55\x38\x6b\x4c','\x66\x43\x6b\x6e\x42\x4e\x2f\x63\x52\x53\x6f\x76\x72\x5a\x57','\x57\x50\x56\x64\x4d\x43\x6f\x49\x57\x34\x57\x57','\x57\x35\x33\x63\x56\x62\x50\x70\x57\x36\x2f\x64\x4e\x43\x6f\x4d\x76\x61','\x57\x36\x5a\x63\x50\x57\x4e\x63\x54\x43\x6b\x67','\x42\x58\x48\x53\x57\x34\x78\x63\x4d\x38\x6b\x41\x63\x59\x65','\x57\x35\x74\x63\x4c\x48\x52\x64\x4a\x30\x4f','\x43\x6d\x6f\x2b\x57\x35\x37\x63\x56\x73\x61','\x62\x67\x50\x6e\x6c\x61\x64\x63\x50\x61\x30\x4f','\x46\x38\x6f\x67\x57\x51\x6d','\x57\x50\x4a\x64\x4e\x63\x6a\x6a\x57\x51\x6c\x64\x56\x43\x6b\x61\x44\x61','\x57\x4f\x6c\x63\x50\x4e\x30\x2b','\x76\x6d\x6f\x44\x41\x77\x70\x63\x55\x43\x6f\x72\x75\x63\x30','\x57\x36\x56\x64\x4d\x48\x34\x30\x57\x52\x66\x6b\x57\x37\x6d\x4f\x57\x50\x75','\x41\x53\x6f\x59\x75\x64\x37\x64\x52\x6d\x6f\x57\x57\x51\x61','\x61\x38\x6b\x35\x57\x4f\x62\x58\x72\x6d\x6b\x70\x57\x34\x33\x63\x55\x49\x75','\x63\x77\x62\x71','\x76\x5a\x53\x74\x71\x71\x69','\x57\x4f\x4e\x64\x47\x64\x66\x65\x57\x51\x37\x64\x4a\x6d\x6b\x4a\x42\x47','\x57\x34\x64\x63\x54\x53\x6f\x2b\x57\x4f\x61\x46\x72\x6d\x6f\x4a\x63\x61','\x57\x37\x47\x70\x57\x37\x46\x63\x52\x53\x6f\x48','\x43\x72\x72\x71','\x57\x37\x78\x63\x4b\x4e\x37\x64\x4b\x62\x69\x56\x57\x52\x30','\x65\x4d\x50\x6f\x6c\x48\x56\x63\x56\x57','\x57\x37\x70\x64\x4c\x53\x6f\x63\x75\x38\x6f\x32\x57\x51\x37\x64\x52\x61\x69','\x57\x51\x54\x2f\x57\x34\x79\x43\x57\x4f\x68\x64\x47\x38\x6b\x51\x74\x71','\x57\x50\x47\x6b\x6e\x38\x6f\x45\x6e\x61','\x57\x4f\x72\x4a\x57\x51\x71\x48\x57\x52\x57','\x57\x37\x70\x63\x55\x49\x4e\x63\x47\x43\x6b\x6b','\x6c\x65\x30\x62\x75\x75\x70\x63\x55\x30\x42\x63\x56\x43\x6b\x34\x57\x36\x52\x63\x50\x38\x6b\x43\x61\x73\x69','\x57\x50\x43\x65\x6d\x53\x6f\x72\x66\x38\x6f\x38\x57\x37\x58\x4a','\x57\x37\x64\x63\x48\x74\x70\x63\x4c\x6d\x6b\x66\x57\x34\x78\x63\x51\x53\x6f\x79','\x57\x35\x79\x73\x78\x47','\x45\x38\x6f\x4b\x72\x73\x6c\x64\x52\x43\x6b\x51','\x42\x6d\x6f\x30\x57\x37\x4a\x63\x53\x47\x47\x4b\x57\x34\x53','\x57\x36\x62\x57\x6f\x73\x71\x36\x57\x37\x69\x49\x57\x36\x53','\x57\x51\x4e\x63\x4d\x75\x4f\x32\x57\x51\x76\x64\x57\x50\x53\x58','\x57\x35\x70\x64\x4e\x38\x6f\x50\x42\x43\x6f\x57','\x57\x34\x68\x63\x53\x53\x6f\x63\x57\x52\x38\x37','\x57\x4f\x68\x64\x54\x6d\x6f\x34\x6d\x68\x75\x52\x6c\x71\x53','\x57\x51\x53\x42\x65\x61\x78\x63\x4b\x71','\x57\x35\x74\x63\x4c\x5a\x4a\x64\x55\x67\x4b\x33\x6a\x4d\x38','\x66\x33\x6d\x76\x57\x34\x50\x72\x69\x71','\x63\x53\x6f\x4e\x68\x47\x4a\x64\x56\x6d\x6b\x6d\x45\x38\x6b\x54','\x57\x51\x68\x64\x53\x73\x66\x71\x57\x52\x52\x63\x51\x78\x52\x63\x54\x57','\x6e\x53\x6b\x54\x57\x51\x2f\x64\x52\x30\x7a\x43\x57\x50\x38\x37\x57\x52\x61\x47\x78\x43\x6f\x31\x57\x4f\x43','\x57\x36\x39\x55\x6e\x5a\x61\x59\x57\x36\x4f\x49\x57\x37\x65','\x57\x52\x6a\x36\x77\x53\x6b\x70\x57\x37\x70\x63\x4c\x4e\x68\x63\x47\x47','\x70\x53\x6b\x36\x65\x77\x68\x63\x52\x43\x6b\x58\x57\x51\x79\x4a\x73\x5a\x2f\x63\x4a\x43\x6b\x33','\x74\x58\x62\x53\x57\x34\x33\x63\x47\x43\x6b\x71\x63\x5a\x79','\x57\x51\x4a\x64\x4e\x38\x6f\x70','\x7a\x32\x68\x63\x55\x47','\x57\x36\x56\x63\x55\x4c\x33\x64\x4e\x59\x43','\x57\x4f\x6d\x67\x57\x34\x4b\x5a\x70\x32\x38\x55\x57\x51\x4f\x54\x57\x36\x6c\x64\x4f\x47','\x70\x5a\x37\x64\x50\x43\x6b\x41\x57\x52\x57\x35\x70\x66\x74\x64\x55\x38\x6f\x53\x57\x35\x5a\x63\x55\x57','\x74\x38\x6f\x38\x57\x35\x74\x63\x50\x71\x71','\x73\x58\x7a\x59\x57\x34\x46\x63\x4b\x6d\x6b\x4d\x68\x74\x65','\x57\x50\x61\x45\x70\x43\x6f\x78\x64\x38\x6b\x39\x57\x36\x31\x2b','\x70\x43\x6f\x76\x57\x36\x4b\x2f\x71\x6d\x6f\x79\x78\x64\x47','\x57\x35\x37\x63\x4d\x77\x65\x30\x46\x47\x6d\x34','\x57\x4f\x5a\x63\x4b\x53\x6f\x61\x57\x52\x56\x64\x4c\x63\x76\x6e\x57\x51\x57','\x41\x6d\x6b\x65\x57\x37\x4f\x7a\x57\x34\x75\x56\x61\x48\x30','\x42\x62\x39\x30\x57\x34\x68\x63\x48\x38\x6f\x7a\x64\x32\x75','\x57\x37\x33\x64\x51\x53\x6f\x54\x70\x53\x6b\x49\x6c\x38\x6b\x71','\x57\x51\x58\x51\x57\x35\x43\x79','\x57\x34\x33\x63\x4d\x38\x6f\x43\x57\x52\x50\x53','\x57\x36\x44\x57\x6f\x64\x30\x54\x57\x36\x43\x2f\x57\x36\x61','\x62\x77\x35\x6d\x69\x57\x56\x64\x4f\x61\x34\x4f','\x61\x30\x6c\x63\x53\x47\x62\x51\x45\x43\x6b\x67\x57\x37\x53','\x57\x51\x2f\x64\x4a\x5a\x31\x65\x57\x52\x37\x64\x55\x38\x6b\x4c\x44\x61','\x57\x52\x76\x55\x57\x34\x34\x73\x57\x50\x46\x64\x47\x57','\x70\x6d\x6f\x76\x57\x37\x47\x53\x73\x53\x6f\x63','\x73\x72\x58\x5a\x57\x34\x46\x63\x48\x38\x6b\x71\x68\x4a\x65','\x57\x37\x43\x53\x57\x36\x52\x63\x55\x43\x6b\x47','\x61\x67\x34\x6d\x57\x35\x48\x6d\x6f\x53\x6f\x48\x71\x47','\x57\x34\x52\x64\x4c\x4d\x58\x49\x45\x47\x38\x51\x42\x57','\x57\x4f\x4e\x63\x54\x73\x62\x64\x57\x37\x74\x64\x4d\x53\x6f\x56\x65\x57','\x57\x37\x79\x50\x7a\x53\x6b\x79\x57\x35\x46\x63\x4a\x4c\x64\x63\x4d\x61','\x57\x35\x70\x63\x4d\x49\x37\x63\x49\x38\x6b\x65\x57\x50\x68\x63\x4f\x6d\x6f\x6f','\x46\x48\x53\x39\x6a\x71\x54\x4c\x57\x37\x57\x46','\x41\x53\x6b\x4e\x57\x50\x66\x67\x43\x58\x48\x6e','\x68\x6d\x6f\x65\x57\x37\x57\x2f\x74\x43\x6f\x74\x6d\x61\x71','\x57\x4f\x4e\x64\x4a\x53\x6f\x64\x57\x50\x76\x79\x45\x58\x46\x64\x49\x71','\x62\x38\x6b\x6d\x65\x6d\x6f\x79\x79\x48\x37\x64\x56\x38\x6b\x39','\x45\x38\x6f\x34\x76\x74\x71','\x57\x52\x2f\x64\x49\x43\x6f\x79\x57\x35\x6d\x77\x45\x38\x6f\x75\x71\x57','\x57\x50\x61\x46\x70\x71','\x57\x50\x4c\x46\x57\x35\x6d\x6c\x72\x71','\x63\x53\x6b\x79\x73\x68\x42\x63\x51\x6d\x6f\x7a\x77\x5a\x4f','\x57\x36\x70\x63\x48\x63\x74\x63\x4a\x38\x6b\x79','\x57\x51\x44\x65\x57\x35\x6d\x44\x79\x53\x6b\x74\x77\x32\x4f'];_0x502b=function(){return _0x2771d6;};return _0x502b();}function _0xdf89(_0x544f65,_0xd7c74e){_0x544f65=_0x544f65-(0x1c6*-0x13+0x35*-0x29+0x2b57);var _0x42c66b=_0x502b();var _0x209d00=_0x42c66b[_0x544f65];if(_0xdf89['\x49\x56\x7a\x43\x4d\x41']===undefined){var _0x52cbd9=function(_0x44d5f2){var _0x2a3949='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';var _0x143662='',_0x5de07d='',_0x4ce60d=_0x143662+_0x52cbd9;for(var _0x59cb6a=0xb*-0x225+0x1*0x593+0x1204,_0x373c31,_0x25b40f,_0x30e98f=-0xf1*-0x1+-0x7ae*0x2+0x1*0xe6b;_0x25b40f=_0x44d5f2['\x63\x68\x61\x72\x41\x74'](_0x30e98f++);~_0x25b40f&&(_0x373c31=_0x59cb6a%(-0x1f0*-0xc+-0x1406+-0x6*0x89)?_0x373c31*(-0x15ad*0x1+-0x25*0x31+0x1d02)+_0x25b40f:_0x25b40f,_0x59cb6a++%(-0x16b+0x5*0x785+-0x242a))?_0x143662+=_0x4ce60d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x30e98f+(-0x148*-0x1+-0xab3+0x975))-(-0xc77+0xa4b*0x1+0x236)!==0x241*0xd+-0x355+-0x454*0x6?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xf*0x1a0+0x99d+-0x52*0x67&_0x373c31>>(-(-0x35*-0xb5+-0x267c+0x105)*_0x59cb6a&0x1793+0x1dfa+0xc1*-0x47)):_0x59cb6a:0x262f+-0x237d+-0xa*0x45){_0x25b40f=_0x2a3949['\x69\x6e\x64\x65\x78\x4f\x66'](_0x25b40f);}for(var _0x749693=0x3*0x2e7+0x228a+-0x2b3f,_0x28e235=_0x143662['\x6c\x65\x6e\x67\x74\x68'];_0x749693<_0x28e235;_0x749693++){_0x5de07d+='\x25'+('\x30\x30'+_0x143662['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x749693)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x80a*0x2+0x212+0xe12))['\x73\x6c\x69\x63\x65'](-(0x1*0x253+-0x272+0xb*0x3));}return decodeURIComponent(_0x5de07d);};var _0x1e3e18=function(_0x309868,_0x37854d){var _0x536595=[],_0x34e4cc=0x4b5*0x3+0x34d*-0x6+0x5af*0x1,_0x4e50a5,_0x25dd53='';_0x309868=_0x52cbd9(_0x309868);var _0x62ced5;for(_0x62ced5=0x1*-0x1024+-0x2593+0x35b7;_0x62ced5<-0x13*-0x115+-0x953*0x2+-0xe9;_0x62ced5++){_0x536595[_0x62ced5]=_0x62ced5;}for(_0x62ced5=-0x1859+0x155b+0x2fe;_0x62ced5<0xd53+0x1171*-0x1+-0x1*-0x51e;_0x62ced5++){_0x34e4cc=(_0x34e4cc+_0x536595[_0x62ced5]+_0x37854d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x62ced5%_0x37854d['\x6c\x65\x6e\x67\x74\x68']))%(-0x1*-0x974+-0x14*0x18e+0x16a4),_0x4e50a5=_0x536595[_0x62ced5],_0x536595[_0x62ced5]=_0x536595[_0x34e4cc],_0x536595[_0x34e4cc]=_0x4e50a5;}_0x62ced5=-0x66b*-0x1+-0x1ba3+0x1538,_0x34e4cc=0x13c+-0x7*-0xd3+0x1*-0x701;for(var _0x335af2=-0x2304+0x4*-0x3d6+-0x2*-0x192e;_0x335af2<_0x309868['\x6c\x65\x6e\x67\x74\x68'];_0x335af2++){_0x62ced5=(_0x62ced5+(-0x559+-0x433+0xf*0xa3))%(0x1e2d+0x2336+-0x137*0x35),_0x34e4cc=(_0x34e4cc+_0x536595[_0x62ced5])%(0x1b39+0x3ad*-0x4+0xb85*-0x1),_0x4e50a5=_0x536595[_0x62ced5],_0x536595[_0x62ced5]=_0x536595[_0x34e4cc],_0x536595[_0x34e4cc]=_0x4e50a5,_0x25dd53+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x309868['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x335af2)^_0x536595[(_0x536595[_0x62ced5]+_0x536595[_0x34e4cc])%(0x70*0x59+0x64c+0x95*-0x4c)]);}return _0x25dd53;};_0xdf89['\x75\x57\x62\x6c\x49\x6f']=_0x1e3e18,_0xdf89['\x66\x67\x58\x48\x47\x44']={},_0xdf89['\x49\x56\x7a\x43\x4d\x41']=!![];}var _0x2350e3=_0x42c66b[0x55*-0x1d+-0x11c3+0x1b64],_0x44c289=_0x544f65+_0x2350e3,_0x54dd70=_0xdf89['\x66\x67\x58\x48\x47\x44'][_0x44c289];if(!_0x54dd70){if(_0xdf89['\x63\x4c\x41\x53\x69\x57']===undefined){var _0x114786=function(_0x4b981a){this['\x6a\x4d\x6d\x75\x4a\x44']=_0x4b981a,this['\x4c\x79\x77\x54\x7a\x49']=[-0x19fc+0x2288*0x1+-0x88b,0x2*-0x23c+0x26de+-0x2266,-0x166*0xa+0x1ef6+0x2*-0x87d],this['\x45\x72\x62\x69\x71\x4d']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x69\x79\x48\x57\x4d\x6d']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x67\x56\x48\x4e\x47\x43']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x114786['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x5a\x71\x68\x57\x41\x6e']=function(){var _0x3c02a7=new RegExp(this['\x69\x79\x48\x57\x4d\x6d']+this['\x67\x56\x48\x4e\x47\x43']),_0x2013c5=_0x3c02a7['\x74\x65\x73\x74'](this['\x45\x72\x62\x69\x71\x4d']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x4c\x79\x77\x54\x7a\x49'][-0x1*-0x247d+0x14*-0x183+0x4*-0x190]:--this['\x4c\x79\x77\x54\x7a\x49'][0xcf7*-0x1+-0x13*-0x1cd+-0x11*0x140];return this['\x54\x51\x55\x63\x4f\x76'](_0x2013c5);},_0x114786['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x54\x51\x55\x63\x4f\x76']=function(_0x37f863){if(!Boolean(~_0x37f863))return _0x37f863;return this['\x55\x74\x72\x6f\x66\x5a'](this['\x6a\x4d\x6d\x75\x4a\x44']);},_0x114786['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x55\x74\x72\x6f\x66\x5a']=function(_0x214d99){for(var _0x412e71=0x1aab+0x858*0x2+-0x3f1*0xb,_0x4755cf=this['\x4c\x79\x77\x54\x7a\x49']['\x6c\x65\x6e\x67\x74\x68'];_0x412e71<_0x4755cf;_0x412e71++){this['\x4c\x79\x77\x54\x7a\x49']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x4755cf=this['\x4c\x79\x77\x54\x7a\x49']['\x6c\x65\x6e\x67\x74\x68'];}return _0x214d99(this['\x4c\x79\x77\x54\x7a\x49'][0x191b*0x1+0x2461+-0x626*0xa]);},new _0x114786(_0xdf89)['\x5a\x71\x68\x57\x41\x6e'](),_0xdf89['\x63\x4c\x41\x53\x69\x57']=!![];}_0x209d00=_0xdf89['\x75\x57\x62\x6c\x49\x6f'](_0x209d00,_0xd7c74e),_0xdf89['\x66\x67\x58\x48\x47\x44'][_0x44c289]=_0x209d00;}else _0x209d00=_0x54dd70;return _0x209d00;}function _0x563895(_0x32f58b){var _0x590e66=_0x5db64f,_0x192d38={'\x6b\x6e\x4c\x57\x44':_0x590e66(0x14e,'\x51\x21\x6e\x46'),'\x4a\x66\x48\x72\x74':function(_0x3e1f2b){return _0x3e1f2b();},'\x61\x7a\x64\x66\x4d':function(_0x205018,_0xd59b06){return _0x205018>_0xd59b06;},'\x57\x75\x6e\x79\x51':function(_0x16ba2e,_0x2661b4){return _0x16ba2e<=_0x2661b4;},'\x69\x67\x74\x70\x58':'\x65\x61\x72\x6c\x79\x2d\x73\x74'+_0x590e66(0x1b6,'\x43\x5e\x76\x62'),'\x6d\x53\x4f\x74\x52':function(_0x2150ac,_0x36f19d){return _0x2150ac!==_0x36f19d;},'\x62\x42\x4d\x66\x75':_0x590e66(0x1f6,'\x71\x28\x5d\x25')+_0x590e66(0x18b,'\x45\x79\x42\x25')+'\x74\x65','\x79\x54\x55\x4d\x76':'\x73\x74\x65\x61\x64\x79\x2d\x73'+_0x590e66(0x1a0,'\x4c\x23\x40\x70'),'\x73\x62\x58\x42\x79':function(_0x371596,_0x67b2d9){return _0x371596!==_0x67b2d9;},'\x66\x7a\x4f\x77\x63':'\x65\x76\x6f\x6c\x75\x74\x69\x6f'+'\x6e\x5f\x73\x61\x74\x75\x72\x61'+_0x590e66(0x1b8,'\x55\x72\x29\x53'),'\x49\x5a\x4a\x4a\x57':function(_0x5411a7,_0x397281){return _0x5411a7(_0x397281);},'\x48\x4e\x4a\x44\x6a':_0x590e66(0x1e5,'\x45\x79\x42\x25'),'\x50\x61\x51\x66\x62':function(_0x1bd5fa,_0x4a1c45){return _0x1bd5fa!==_0x4a1c45;},'\x79\x56\x78\x4c\x4a':_0x590e66(0x1f2,'\x6a\x54\x61\x68'),'\x6e\x74\x68\x57\x56':_0x590e66(0x14b,'\x39\x58\x79\x5a'),'\x49\x69\x4e\x49\x51':function(_0x211a26,_0x473008){return _0x211a26(_0x473008);},'\x59\x7a\x6e\x6e\x51':_0x590e66(0x128,'\x31\x6b\x74\x4e'),'\x52\x75\x48\x66\x52':function(_0x4c5fc3,_0x85c14f){return _0x4c5fc3===_0x85c14f;},'\x66\x49\x75\x79\x7a':function(_0x3a1808,_0x2b2eca){return _0x3a1808===_0x2b2eca;},'\x49\x66\x59\x57\x72':_0x590e66(0x1b5,'\x4b\x32\x36\x38'),'\x62\x73\x67\x6f\x43':function(_0x484e80,_0x39e9a8){return _0x484e80&&_0x39e9a8;},'\x53\x4c\x5a\x61\x58':_0x590e66(0x12d,'\x78\x75\x45\x56')},_0x11d1a6=_0x32f58b&&Array['\x69\x73\x41\x72\x72\x61\x79'](_0x32f58b[_0x590e66(0x1d4,'\x6a\x54\x61\x68')])?_0x32f58b[_0x590e66(0x1fd,'\x4b\x32\x36\x38')]:[],_0x1092b3=_0x192d38['\x49\x5a\x4a\x4a\x57'](String,process.env.EVOLVE_STRATEGY||_0x192d38[_0x590e66(0x1cf,'\x4a\x59\x49\x40')])[_0x590e66(0x154,'\x57\x78\x65\x6a')+_0x590e66(0x1de,'\x48\x5e\x56\x24')]()[_0x590e66(0x17f,'\x36\x74\x31\x42')](),_0x2a1170=![];if(!process.env.EVOLVE_STRATEGY){if(_0x192d38['\x50\x61\x51\x66\x62'](_0x192d38['\x79\x56\x78\x4c\x4a'],_0x192d38[_0x590e66(0x1e4,'\x63\x5d\x50\x5a')])){var _0x3f4e9b=_0x192d38[_0x590e66(0x13f,'\x49\x6f\x36\x28')](String,process.env.FORCE_INNOVATION||process.env.EVOLVE_FORCE_INNOVATION||'')[_0x590e66(0x1a1,'\x6a\x66\x21\x25')+_0x590e66(0x1f0,'\x43\x5e\x76\x62')]();_0x3f4e9b===_0x192d38[_0x590e66(0x131,'\x6e\x43\x59\x4d')]&&(_0x1092b3=_0x590e66(0x200,'\x43\x6c\x6a\x32'),_0x2a1170=!![]);}else _0x32368a=_0x192d38[_0x590e66(0x198,'\x39\x58\x79\x5a')],_0x55e89a=!![];}var _0x4bf807=!process.env.EVOLVE_STRATEGY||_0x192d38[_0x590e66(0x1c0,'\x43\x5e\x76\x62')](_0x1092b3,_0x192d38[_0x590e66(0x1a2,'\x31\x6b\x74\x4e')])||_0x192d38[_0x590e66(0x1da,'\x78\x75\x45\x56')](_0x1092b3,_0x192d38[_0x590e66(0x1e3,'\x56\x53\x48\x39')]);if(_0x192d38[_0x590e66(0x171,'\x57\x78\x65\x6a')](_0x4bf807,!_0x2a1170)){var _0x2e6c9a=_0x192d38[_0x590e66(0x1f5,'\x38\x67\x59\x56')](_0x2d08db);if(_0x192d38[_0x590e66(0x1d8,'\x4d\x61\x51\x5d')](_0x2e6c9a,0x7*0x511+0x4b*-0x59+-0x964)&&_0x192d38[_0x590e66(0x17b,'\x77\x72\x33\x57')](_0x2e6c9a,-0xcfb*-0x3+0x1*0x1c5f+-0xa1*0x6b)){if(_0x192d38[_0x590e66(0x14c,'\x6d\x35\x53\x6d')](_0x192d38[_0x590e66(0x159,'\x6e\x43\x59\x4d')],_0x192d38[_0x590e66(0x18f,'\x4a\x59\x49\x40')]))_0x1092b3=_0x590e66(0x134,'\x71\x28\x5d\x25')+_0x590e66(0x15e,'\x21\x6c\x23\x34');else{var _0x1bafb9=_0x192d38[_0x590e66(0x196,'\x26\x35\x47\x4a')](_0x358b1d);_0x192d38['\x61\x7a\x64\x66\x4d'](_0x1bafb9,0xb47*-0x1+-0x116c*-0x2+-0x1*0x1791)&&_0x192d38[_0x590e66(0x12b,'\x39\x58\x79\x5a')](_0x1bafb9,-0x21e1+-0x1e9d+0x1*0x4083)&&(_0x4b4465=_0x192d38[_0x590e66(0x14f,'\x26\x6e\x28\x77')]);if(_0x192d38[_0x590e66(0x149,'\x43\x5e\x76\x62')](_0x58e161[_0x590e66(0x135,'\x72\x34\x62\x67')](_0x192d38[_0x590e66(0x13e,'\x63\x5d\x50\x5a')]),-(-0x1*-0x22f7+-0x461+-0x1e95)))_0x537300=_0x192d38['\x79\x54\x55\x4d\x76'];else _0x192d38[_0x590e66(0x197,'\x49\x52\x23\x71')](_0x40ec91[_0x590e66(0x1e0,'\x38\x67\x59\x56')](_0x192d38[_0x590e66(0x1a9,'\x39\x58\x79\x5a')]),-(-0x213d+0x24c7+-0x389*0x1))&&(_0x32b0a3=_0x192d38[_0x590e66(0x1c2,'\x78\x75\x45\x56')]);}}if(_0x11d1a6[_0x590e66(0x1ba,'\x78\x75\x45\x56')](_0x192d38[_0x590e66(0x139,'\x56\x53\x48\x39')])!==-(0x1105+-0x118e+0x8a))_0x1092b3=_0x192d38[_0x590e66(0x1b3,'\x31\x6b\x74\x4e')];else _0x192d38[_0x590e66(0x1a3,'\x61\x75\x53\x31')](_0x11d1a6['\x69\x6e\x64\x65\x78\x4f\x66'](_0x192d38[_0x590e66(0x182,'\x78\x75\x45\x56')]),-(-0x143*-0x15+0x24f+-0x65*0x49))&&(_0x1092b3=_0x192d38[_0x590e66(0x173,'\x4a\x59\x49\x40')]);}if(_0x1092b3===_0x192d38[_0x590e66(0x179,'\x71\x28\x5d\x25')])_0x1092b3=_0x192d38[_0x590e66(0x188,'\x49\x52\x23\x71')];var _0xac4014=_0x63f150[_0x1092b3]||_0x63f150[_0x192d38[_0x590e66(0x141,'\x46\x78\x50\x52')]],_0x455d5e={};return _0x455d5e[_0x590e66(0x13a,'\x63\x5d\x50\x5a')]=_0x1092b3,Object[_0x590e66(0x137,'\x67\x42\x24\x63')]({},_0xac4014,_0x455d5e);}function _0x3087b3(){var _0x4230af=_0x5db64f;return Object[_0x4230af(0x192,'\x78\x52\x34\x24')](_0x63f150);}var _0x1f24ad={};_0x1f24ad[_0x5db64f(0x175,'\x6b\x5a\x52\x6b')+'\x74\x72\x61\x74\x65\x67\x79']=_0x563895,_0x1f24ad[_0x5db64f(0x202,'\x78\x52\x34\x24')+_0x5db64f(0x153,'\x6a\x66\x21\x25')]=_0x3087b3,_0x1f24ad[_0x5db64f(0x1a8,'\x49\x52\x23\x71')+'\x45\x53']=_0x63f150,module[_0x5db64f(0x1cc,'\x31\x6b\x74\x4e')]=_0x1f24ad;
|
|
1
|
+
var _0x3ac851=_0x432a;(function(_0x387c95,_0x48934c){var _0x43260b=_0x432a,_0x211eb5=_0x387c95();while(!![]){try{var _0x5d8c70=-parseInt(_0x43260b(0x1c5,'\x63\x32\x4c\x63'))/(-0x47*-0xd+0x55*0x29+0x1137*-0x1)*(-parseInt(_0x43260b(0x1fa,'\x41\x7a\x26\x67'))/(0x334+-0x2b*-0x9+-0x4b5))+parseInt(_0x43260b(0x1db,'\x70\x76\x33\x70'))/(0x14b*0x7+-0x4a2+0x18*-0x2f)*(parseInt(_0x43260b(0x190,'\x5b\x4b\x56\x74'))/(-0x2392+0xfdc+0x32*0x65))+parseInt(_0x43260b(0x1b7,'\x42\x24\x24\x6b'))/(-0x7*-0x347+0x171d+-0x2e09)*(-parseInt(_0x43260b(0x1c2,'\x47\x35\x58\x58'))/(-0xa*-0x399+-0x1*-0x259f+-0x4993))+-parseInt(_0x43260b(0x1df,'\x70\x76\x33\x70'))/(0x1ad2+-0x1*0x15fb+0x4d*-0x10)+-parseInt(_0x43260b(0x112,'\x21\x4a\x23\x40'))/(0xe41+-0x3*0x8f5+0x1*0xca6)+parseInt(_0x43260b(0x164,'\x30\x6f\x66\x73'))/(0xe3*0x8+-0x10ad*0x2+0x1*0x1a4b)*(-parseInt(_0x43260b(0x13a,'\x5b\x4b\x56\x74'))/(-0x25*-0x23+0x194c+-0xd*0x255))+parseInt(_0x43260b(0x1a0,'\x42\x24\x24\x6b'))/(-0x129d+0x34f+0xf59);if(_0x5d8c70===_0x48934c)break;else _0x211eb5['push'](_0x211eb5['shift']());}catch(_0x564ef6){_0x211eb5['push'](_0x211eb5['shift']());}}}(_0x1c28,0xc803+0x9c4d*-0xb+0x41422*0x3));var _0x599ad2=(function(){var _0x18d75d=_0x432a,_0x7726bf={};_0x7726bf[_0x18d75d(0x1a5,'\x76\x4c\x23\x77')]=_0x18d75d(0x16e,'\x48\x53\x65\x44')+_0x18d75d(0x101,'\x5e\x70\x56\x31'),_0x7726bf[_0x18d75d(0x1bc,'\x63\x21\x32\x56')]=function(_0x1990f7,_0x1ed252){return _0x1990f7!==_0x1ed252;},_0x7726bf[_0x18d75d(0x10b,'\x72\x4d\x4e\x65')]=_0x18d75d(0x13d,'\x65\x21\x43\x34');var _0x2ddd5e=_0x7726bf,_0x4f48c3=!![];return function(_0x162f11,_0x53f70b){var _0x515ea1=_0x18d75d,_0x21b308={'\x57\x70\x63\x4e\x41':_0x2ddd5e['\x70\x74\x73\x76\x4b'],'\x55\x4f\x76\x56\x69':function(_0x40aadd,_0x12be98){return _0x2ddd5e['\x64\x65\x49\x46\x72'](_0x40aadd,_0x12be98);},'\x63\x67\x52\x49\x6b':_0x2ddd5e[_0x515ea1(0x132,'\x30\x6f\x66\x73')]},_0x3908d0=_0x4f48c3?function(){var _0x51fe38=_0x515ea1,_0x3553d5={};_0x3553d5[_0x51fe38(0x195,'\x64\x51\x5e\x5a')]=_0x21b308[_0x51fe38(0x1c7,'\x76\x4c\x23\x77')];var _0x20c3b9=_0x3553d5;if(_0x53f70b){if(_0x21b308[_0x51fe38(0x11c,'\x70\x76\x33\x70')](_0x21b308[_0x51fe38(0x192,'\x30\x6f\x66\x73')],_0x51fe38(0x19e,'\x4b\x25\x63\x37'))){var _0x454c06=_0x53f70b[_0x51fe38(0x1cd,'\x41\x7a\x26\x67')](_0x162f11,arguments);return _0x53f70b=null,_0x454c06;}else return _0x1eef7b['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x51fe38(0xf3,'\x5a\x38\x47\x34')](_0x20c3b9[_0x51fe38(0x1dd,'\x4e\x25\x58\x32')])[_0x51fe38(0x108,'\x24\x79\x33\x69')]()[_0x51fe38(0x12c,'\x48\x78\x52\x6e')+_0x51fe38(0x197,'\x40\x28\x70\x61')](_0x379934)[_0x51fe38(0xfe,'\x63\x32\x4c\x63')](_0x20c3b9[_0x51fe38(0x1c6,'\x31\x4a\x32\x74')]);}}:function(){};return _0x4f48c3=![],_0x3908d0;};}()),_0x2284dc=_0x599ad2(this,function(){var _0x5e7def=_0x432a,_0x48331d={};_0x48331d[_0x5e7def(0x1ab,'\x72\x56\x30\x4d')]=_0x5e7def(0xf9,'\x64\x51\x5e\x5a')+'\x2b\x29\x2b\x24';var _0x3d59b6=_0x48331d;return _0x2284dc[_0x5e7def(0x11d,'\x52\x5e\x58\x55')]()[_0x5e7def(0x154,'\x72\x45\x5d\x73')](_0x3d59b6[_0x5e7def(0x1d2,'\x52\x5e\x58\x55')])[_0x5e7def(0x14d,'\x72\x4d\x4e\x65')]()[_0x5e7def(0x128,'\x5b\x4b\x56\x74')+_0x5e7def(0x18e,'\x72\x4d\x4e\x65')](_0x2284dc)['\x73\x65\x61\x72\x63\x68'](_0x3d59b6[_0x5e7def(0x186,'\x5b\x4b\x56\x74')]);});_0x2284dc();function _0x1c28(){var _0x4f49b3=['\x57\x35\x70\x63\x49\x63\x4a\x64\x51\x53\x6f\x53\x64\x77\x2f\x63\x47\x47','\x57\x35\x31\x78\x57\x52\x34','\x62\x43\x6f\x39\x57\x36\x69\x64\x57\x52\x46\x64\x48\x4c\x76\x70','\x65\x43\x6b\x4a\x76\x62\x75\x56\x6a\x53\x6f\x54\x6f\x61','\x63\x6d\x6b\x32\x75\x47\x75\x32\x6a\x38\x6f\x2b\x6d\x57','\x6b\x48\x53\x6e\x44\x43\x6f\x50','\x57\x4f\x48\x4d\x57\x34\x37\x64\x54\x6d\x6f\x55\x66\x53\x6b\x52\x57\x34\x74\x63\x53\x47\x2f\x63\x49\x4a\x70\x63\x54\x30\x38','\x7a\x43\x6f\x55\x57\x4f\x4c\x64\x69\x38\x6f\x52','\x72\x5a\x39\x71\x71\x76\x65\x49\x57\x34\x75\x35','\x77\x31\x42\x63\x50\x53\x6b\x67\x57\x52\x43','\x67\x53\x6f\x34\x57\x52\x46\x63\x4f\x43\x6b\x2b\x45\x47\x78\x63\x54\x61','\x57\x50\x64\x63\x4f\x48\x65','\x6a\x6d\x6f\x75\x57\x36\x47\x35\x57\x50\x43','\x6c\x6d\x6f\x68\x57\x4f\x74\x63\x52\x43\x6b\x41\x57\x34\x44\x55\x57\x52\x43','\x57\x50\x4e\x63\x53\x53\x6f\x61\x6a\x6d\x6f\x6d','\x57\x37\x38\x4d\x57\x50\x6c\x63\x4f\x43\x6b\x52\x76\x53\x6f\x58\x57\x50\x53','\x57\x35\x4e\x63\x52\x32\x52\x63\x48\x38\x6f\x75\x45\x47\x52\x64\x4a\x57','\x75\x4a\x57\x71\x57\x4f\x61','\x41\x6d\x6f\x51\x57\x35\x4e\x63\x48\x43\x6b\x76\x65\x71','\x71\x59\x53\x6c\x57\x4f\x4c\x5a\x57\x37\x76\x2b\x67\x71','\x71\x43\x6b\x6f\x57\x35\x37\x64\x52\x38\x6f\x69\x57\x34\x34\x77\x57\x36\x4f','\x57\x4f\x52\x64\x48\x4b\x58\x59','\x65\x6d\x6b\x33\x61\x61\x34\x54\x6c\x43\x6f\x49\x6c\x47','\x79\x43\x6b\x78\x57\x35\x5a\x64\x52\x38\x6f\x45\x57\x50\x57\x47','\x6d\x4a\x65\x79\x73\x53\x6f\x67','\x77\x6d\x6b\x79\x57\x34\x5a\x64\x49\x6d\x6f\x2b','\x57\x51\x4f\x38\x6e\x38\x6b\x6d\x6a\x4a\x70\x63\x56\x57\x65','\x57\x4f\x37\x63\x49\x64\x75\x35','\x42\x53\x6f\x4c\x57\x52\x35\x4a\x73\x6d\x6f\x34\x57\x37\x6d\x37','\x57\x34\x2f\x63\x4e\x47\x5a\x64\x48\x4e\x56\x63\x47\x58\x74\x64\x54\x47','\x57\x50\x4f\x43\x72\x65\x52\x63\x48\x38\x6f\x71','\x77\x66\x6c\x64\x56\x53\x6f\x67\x57\x4f\x4f','\x6c\x33\x69\x50\x62\x38\x6f\x56\x57\x51\x4b\x41\x57\x34\x38','\x57\x37\x54\x5a\x57\x51\x4b','\x41\x64\x62\x77\x57\x51\x42\x64\x4d\x6d\x6f\x37\x61\x33\x4b\x79\x79\x73\x4f','\x46\x38\x6f\x4b\x57\x50\x50\x79\x6e\x6d\x6f\x51\x57\x51\x68\x64\x4e\x47','\x57\x34\x71\x33\x57\x37\x4b\x41\x67\x43\x6f\x39\x57\x36\x30','\x57\x52\x56\x63\x55\x49\x61\x33\x57\x52\x75','\x6d\x63\x33\x64\x50\x43\x6f\x65\x57\x50\x6a\x41\x6c\x73\x39\x4a\x57\x34\x56\x64\x47\x43\x6b\x36\x78\x71','\x43\x38\x6f\x5a\x57\x50\x48\x44\x6c\x38\x6f\x58\x57\x52\x34','\x78\x64\x76\x6f','\x57\x4f\x65\x78\x75\x65\x37\x63\x4c\x53\x6f\x54\x46\x71','\x77\x49\x50\x30\x73\x65\x4f\x31\x57\x37\x4f\x2b','\x57\x52\x70\x64\x50\x75\x56\x64\x4a\x4b\x47','\x64\x6d\x6b\x6f\x57\x4f\x61','\x64\x43\x6b\x6a\x72\x72\x79\x59','\x57\x35\x37\x63\x4d\x73\x56\x64\x52\x43\x6f\x50','\x57\x50\x64\x63\x56\x49\x65\x50\x57\x50\x6a\x76\x74\x6d\x6f\x5a','\x70\x5a\x52\x64\x51\x57\x58\x43','\x64\x5a\x47\x35\x7a\x53\x6f\x4a\x57\x35\x61\x48\x6c\x61','\x57\x50\x47\x46\x57\x50\x50\x57\x65\x43\x6f\x65\x57\x51\x65','\x68\x38\x6b\x70\x6d\x53\x6b\x74\x57\x35\x69','\x57\x50\x71\x37\x72\x38\x6b\x65\x57\x37\x6d','\x6b\x77\x30\x5a','\x45\x61\x4a\x64\x4f\x4c\x4b','\x57\x34\x42\x63\x49\x4a\x5a\x64\x52\x71','\x65\x38\x6b\x58\x57\x51\x38\x52','\x68\x32\x65\x74\x57\x37\x4a\x63\x49\x61','\x73\x73\x30\x57\x57\x4f\x31\x30\x57\x36\x72\x4b\x68\x47','\x57\x34\x42\x63\x4c\x57\x65','\x57\x50\x5a\x63\x4f\x72\x53\x59\x57\x50\x72\x63\x73\x53\x6f\x34','\x77\x53\x6b\x78\x76\x53\x6b\x67\x6c\x33\x50\x33\x75\x71','\x7a\x6d\x6f\x55\x57\x50\x54\x45\x6c\x6d\x6f\x31\x57\x52\x34','\x44\x76\x42\x63\x51\x6d\x6b\x63\x57\x52\x78\x64\x51\x4a\x64\x63\x47\x71','\x61\x43\x6b\x6e\x57\x50\x46\x63\x4f\x62\x46\x64\x51\x72\x48\x4a','\x57\x35\x2f\x63\x52\x66\x4a\x63\x48\x38\x6f\x78\x45\x47\x74\x64\x4a\x57','\x61\x43\x6f\x39\x62\x6d\x6b\x59\x57\x35\x57','\x71\x74\x54\x75\x72\x71','\x71\x4b\x70\x63\x4f\x53\x6f\x42','\x57\x50\x5a\x64\x4d\x62\x52\x64\x56\x6d\x6f\x47\x61\x67\x6c\x63\x4a\x57','\x57\x50\x33\x63\x49\x49\x53\x4b\x41\x57','\x71\x59\x5a\x64\x53\x4d\x43\x53','\x57\x51\x47\x73\x79\x38\x6f\x56\x57\x51\x42\x63\x49\x43\x6f\x58\x6e\x61','\x57\x34\x43\x38\x57\x37\x44\x77\x65\x38\x6f\x56\x57\x36\x4c\x30','\x57\x34\x35\x62\x57\x52\x50\x5a\x7a\x6d\x6b\x72\x68\x6d\x6f\x67','\x67\x48\x74\x64\x52\x59\x4c\x71','\x57\x34\x57\x52\x57\x4f\x48\x34\x45\x43\x6f\x61','\x57\x34\x61\x54\x57\x36\x61\x41\x68\x38\x6f\x31\x57\x36\x30','\x57\x34\x37\x64\x56\x4a\x38\x58\x57\x51\x54\x69\x42\x43\x6f\x73','\x77\x66\x56\x63\x4f\x61','\x41\x76\x5a\x63\x4f\x43\x6b\x4d\x57\x36\x79','\x57\x37\x35\x59\x57\x51\x6c\x64\x4b\x32\x43','\x61\x43\x6b\x73\x57\x52\x70\x63\x53\x64\x53','\x57\x51\x38\x55\x78\x38\x6b\x57\x57\x34\x53','\x71\x53\x6f\x38\x57\x35\x52\x63\x53\x53\x6b\x5a','\x57\x52\x44\x4d\x6b\x49\x4a\x64\x4c\x6d\x6f\x56\x57\x36\x37\x63\x48\x47','\x41\x53\x6b\x6f\x57\x34\x68\x64\x50\x47','\x6e\x67\x57\x34\x68\x43\x6f\x58\x57\x36\x34','\x62\x6d\x6b\x58\x6e\x43\x6b\x4b\x57\x35\x69','\x44\x38\x6f\x47\x66\x68\x4a\x64\x53\x43\x6f\x56\x57\x35\x44\x6f','\x77\x53\x6f\x53\x68\x33\x47','\x7a\x6d\x6f\x55\x57\x50\x48\x71\x6b\x43\x6f\x58\x57\x50\x46\x64\x4c\x61','\x57\x37\x4a\x63\x52\x62\x5a\x64\x56\x4b\x4f','\x57\x4f\x76\x71\x65\x71\x78\x64\x51\x43\x6f\x71\x57\x34\x57','\x65\x43\x6b\x4a\x44\x62\x71\x57\x6b\x53\x6f\x4b\x6e\x71','\x61\x43\x6f\x6c\x75\x53\x6b\x53\x57\x4f\x33\x63\x4c\x38\x6b\x6d\x57\x35\x53','\x7a\x6d\x6f\x55\x57\x4f\x4c\x76\x62\x53\x6f\x51\x57\x52\x46\x64\x4e\x47','\x74\x31\x37\x64\x48\x38\x6f\x68\x57\x52\x66\x2f\x57\x4f\x31\x49','\x63\x38\x6b\x57\x6a\x6d\x6b\x42\x57\x37\x79','\x66\x38\x6f\x5a\x57\x51\x64\x63\x50\x38\x6b\x30\x78\x62\x6d','\x57\x34\x4f\x56\x57\x4f\x58\x38','\x73\x76\x74\x64\x50\x6d\x6f\x73\x57\x51\x50\x4b\x57\x51\x39\x51','\x57\x37\x44\x57\x57\x52\x74\x64\x56\x72\x4b','\x57\x4f\x43\x6a\x71\x65\x6c\x63\x47\x38\x6f\x6c\x79\x43\x6b\x6b','\x68\x6d\x6b\x6f\x71\x6d\x6b\x2f\x57\x50\x52\x63\x49\x47','\x75\x53\x6f\x67\x57\x51\x44\x46\x6d\x71','\x57\x51\x69\x38\x70\x43\x6f\x64\x6d\x5a\x70\x63\x55\x57\x75','\x57\x34\x39\x74\x57\x35\x47\x51\x75\x6d\x6b\x62\x57\x50\x6d\x4b\x57\x52\x56\x63\x52\x74\x5a\x64\x4a\x61','\x77\x43\x6b\x37\x57\x4f\x66\x72\x73\x71','\x66\x64\x53\x6f','\x7a\x32\x64\x63\x4f\x6d\x6b\x69\x57\x50\x34','\x70\x4d\x65\x77\x57\x37\x37\x63\x4b\x53\x6b\x76\x6b\x4c\x4b','\x57\x50\x71\x6a\x57\x4f\x72\x57\x66\x43\x6f\x72\x57\x51\x79\x6f','\x57\x36\x5a\x63\x4c\x38\x6f\x4b\x65\x53\x6f\x6d\x57\x50\x6c\x64\x49\x53\x6b\x41','\x57\x4f\x30\x79\x72\x4b\x46\x63\x4c\x38\x6b\x70\x41\x6d\x6b\x42','\x44\x53\x6b\x6b\x57\x35\x2f\x64\x52\x6d\x6f\x44\x57\x50\x47\x47','\x57\x34\x34\x52\x57\x4f\x50\x34\x7a\x6d\x6f\x42\x57\x50\x4f\x56','\x67\x6d\x6b\x49\x57\x51\x34\x37\x57\x36\x47','\x77\x64\x39\x6e\x74\x30\x4f\x50','\x74\x43\x6f\x35\x57\x36\x56\x63\x4b\x43\x6b\x46','\x57\x34\x56\x64\x4d\x78\x44\x49\x66\x43\x6f\x50\x57\x35\x6c\x63\x56\x61\x2f\x63\x51\x30\x42\x64\x4c\x68\x47','\x6e\x32\x65\x67\x57\x37\x46\x63\x48\x57','\x75\x74\x71\x71\x57\x4f\x30\x4d\x57\x37\x6a\x4a\x66\x57','\x57\x34\x56\x63\x47\x48\x56\x64\x55\x77\x52\x63\x53\x48\x52\x64\x54\x57','\x72\x38\x6b\x77\x46\x53\x6b\x6d\x69\x66\x62\x4a','\x43\x43\x6b\x70\x57\x50\x7a\x56\x72\x62\x43\x68\x57\x35\x57','\x61\x58\x52\x64\x53\x57','\x57\x4f\x47\x4c\x78\x6d\x6b\x4c\x57\x37\x65','\x70\x4e\x47\x75\x57\x37\x37\x63\x48\x6d\x6f\x6b\x70\x61','\x77\x53\x6b\x4d\x57\x35\x33\x64\x4d\x43\x6f\x5a\x75\x32\x79\x58','\x57\x37\x42\x63\x47\x67\x78\x64\x49\x48\x2f\x64\x4d\x77\x78\x63\x4f\x71','\x57\x36\x69\x74\x57\x36\x47\x56\x6e\x71','\x57\x51\x30\x73\x46\x53\x6b\x4d\x57\x37\x6c\x63\x50\x61','\x57\x34\x70\x63\x4d\x4a\x43\x4c\x57\x50\x79','\x63\x53\x6b\x71\x57\x52\x53\x57\x57\x37\x47','\x73\x38\x6b\x6f\x44\x43\x6b\x66\x6c\x77\x54\x53\x46\x71','\x57\x35\x38\x4f\x57\x50\x74\x63\x56\x53\x6b\x51\x75\x43\x6f\x6c\x57\x4f\x30','\x57\x35\x6e\x75\x57\x51\x39\x2b\x74\x38\x6b\x72\x63\x53\x6f\x67','\x57\x35\x52\x63\x4e\x47\x56\x64\x55\x4d\x70\x63\x48\x58\x61','\x46\x38\x6f\x4d\x42\x6d\x6b\x43\x57\x34\x65','\x57\x36\x4c\x51\x57\x34\x74\x64\x56\x76\x34','\x71\x6d\x6f\x4c\x6e\x4b\x74\x64\x54\x57','\x57\x37\x57\x6b\x57\x52\x68\x63\x4f\x38\x6b\x37','\x57\x50\x53\x4a\x75\x75\x68\x63\x4e\x47','\x57\x4f\x4b\x63\x57\x4f\x34\x58\x71\x38\x6f\x39\x57\x52\x6d\x63','\x65\x53\x6b\x76\x65\x38\x6b\x36\x57\x37\x2f\x63\x49\x4e\x4a\x63\x4f\x47','\x57\x51\x4b\x46\x71\x65\x37\x63\x4e\x6d\x6b\x63\x45\x53\x6f\x70','\x71\x5a\x4f\x44\x57\x51\x54\x4e\x57\x36\x58\x59\x62\x71','\x72\x76\x46\x63\x4d\x38\x6b\x45\x57\x35\x4f','\x76\x65\x68\x64\x4f\x6d\x6f\x41\x57\x51\x35\x2f\x57\x50\x4c\x47','\x57\x34\x6e\x77\x57\x35\x42\x64\x4a\x78\x64\x63\x56\x53\x6b\x43\x6f\x57','\x57\x4f\x33\x63\x4e\x73\x71\x57\x72\x53\x6b\x4f\x57\x34\x4a\x63\x54\x47','\x57\x4f\x42\x64\x4a\x33\x2f\x63\x53\x6d\x6b\x58\x76\x4a\x42\x63\x54\x59\x4a\x64\x4f\x62\x70\x64\x49\x73\x71','\x6a\x43\x6b\x2b\x57\x51\x34\x4b\x57\x35\x4b\x6e\x57\x35\x79\x76','\x57\x52\x64\x63\x48\x5a\x79\x37\x57\x52\x4f','\x57\x50\x61\x63\x57\x4f\x44\x57\x65\x43\x6f\x6a','\x57\x34\x71\x4d\x57\x37\x75','\x76\x6d\x6f\x51\x65\x4d\x6c\x64\x51\x53\x6b\x48\x57\x34\x43\x7a','\x66\x53\x6b\x5a\x75\x38\x6f\x63\x57\x35\x4c\x35\x57\x37\x53\x49','\x57\x35\x70\x63\x49\x47\x79\x59\x57\x50\x74\x63\x4f\x43\x6b\x2f\x44\x61','\x57\x52\x52\x64\x54\x33\x46\x64\x4c\x4b\x78\x63\x4f\x31\x37\x63\x4b\x47','\x57\x52\x76\x2b\x68\x57\x37\x64\x55\x61','\x74\x31\x37\x64\x50\x47','\x75\x59\x4b\x63\x57\x35\x30','\x57\x34\x56\x63\x4a\x5a\x53\x76\x57\x50\x6e\x4f\x44\x47','\x63\x43\x6f\x48\x57\x37\x38\x6f','\x57\x50\x33\x63\x4a\x48\x6d\x79\x73\x71','\x76\x38\x6f\x73\x57\x34\x2f\x64\x4f\x66\x74\x63\x4f\x31\x50\x35\x57\x36\x54\x76\x57\x34\x30\x45\x57\x51\x4b','\x78\x38\x6f\x4e\x63\x78\x33\x64\x50\x6d\x6b\x37\x57\x35\x31\x7a','\x42\x38\x6b\x6b\x57\x36\x78\x64\x48\x43\x6f\x57','\x57\x52\x46\x63\x55\x57\x30\x31\x76\x71','\x57\x50\x62\x44\x63\x47','\x57\x50\x68\x63\x55\x48\x71\x4f\x57\x4f\x34\x71\x77\x53\x6f\x4a','\x57\x35\x5a\x63\x50\x5a\x52\x64\x56\x6d\x6f\x4b\x66\x77\x70\x64\x4d\x61','\x65\x53\x6b\x36\x67\x6d\x6b\x72\x57\x52\x65\x32\x57\x34\x47\x4c','\x57\x4f\x33\x64\x54\x30\x46\x64\x47\x78\x71','\x61\x6d\x6b\x6c\x57\x50\x78\x63\x55\x48\x46\x64\x4f\x4b\x6d','\x41\x43\x6b\x51\x57\x4f\x6a\x35\x67\x53\x6f\x49\x57\x36\x4b\x39','\x74\x63\x78\x64\x55\x48\x39\x79','\x57\x51\x61\x4c\x57\x50\x6a\x30\x77\x4e\x4c\x78\x57\x52\x71','\x57\x4f\x6c\x64\x51\x48\x2f\x64\x4c\x38\x6b\x6b\x6a\x30\x33\x63\x4d\x4a\x68\x63\x51\x43\x6f\x69\x46\x76\x56\x64\x4c\x71','\x66\x6d\x6f\x67\x61\x53\x6b\x32\x57\x37\x37\x63\x49\x57','\x57\x35\x75\x47\x57\x51\x4e\x63\x50\x43\x6b\x53\x72\x38\x6f\x52\x57\x50\x57','\x57\x50\x64\x63\x4b\x64\x75\x35\x73\x38\x6b\x2f\x57\x4f\x6c\x64\x50\x71','\x63\x38\x6b\x6f\x75\x53\x6b\x55\x57\x4f\x56\x63\x49\x38\x6b\x6f\x57\x34\x34','\x42\x43\x6f\x4e\x74\x38\x6b\x7a\x57\x34\x34','\x66\x53\x6b\x2b\x57\x50\x69\x55\x57\x34\x75','\x79\x6d\x6b\x6b\x57\x35\x2f\x64\x4f\x6d\x6f\x64\x57\x4f\x43\x31\x57\x36\x4f','\x43\x53\x6f\x38\x57\x37\x4e\x63\x48\x43\x6b\x65\x67\x62\x71','\x57\x37\x4f\x36\x57\x51\x31\x56\x72\x71','\x6e\x31\x33\x64\x4d\x31\x43\x31\x44\x78\x66\x69','\x57\x37\x33\x63\x53\x71\x52\x64\x53\x53\x6f\x46','\x57\x4f\x4f\x2f\x74\x65\x74\x63\x54\x57','\x57\x51\x64\x64\x52\x68\x57','\x57\x52\x56\x63\x52\x57\x69\x52\x57\x4f\x6d','\x57\x34\x64\x63\x4e\x74\x4e\x64\x51\x43\x6f\x53\x65\x57','\x61\x6d\x6b\x6c\x57\x50\x78\x63\x55\x48\x46\x64\x53\x47\x48\x5a','\x44\x43\x6f\x59\x57\x4f\x54\x44\x6a\x43\x6f\x61\x57\x52\x74\x64\x4a\x47','\x57\x51\x33\x64\x50\x4d\x68\x64\x4c\x66\x70\x63\x53\x57\x70\x63\x4c\x71','\x57\x36\x48\x35\x57\x36\x46\x64\x54\x4c\x6a\x32\x57\x4f\x54\x74','\x57\x52\x43\x37\x6e\x53\x6b\x6e','\x78\x53\x6b\x33\x74\x58\x75\x53\x6b\x6d\x6b\x33\x70\x61','\x77\x74\x54\x63\x72\x76\x71','\x57\x4f\x42\x64\x51\x75\x56\x63\x4a\x43\x6f\x5a\x45\x5a\x33\x64\x52\x61','\x45\x43\x6f\x4f\x66\x67\x2f\x64\x4f\x6d\x6b\x48\x57\x35\x31\x7a','\x70\x4e\x79\x6c\x57\x37\x37\x63\x4e\x53\x6f\x6d\x6d\x65\x69','\x57\x51\x30\x77\x43\x53\x6b\x4b\x57\x36\x4f','\x57\x34\x48\x6c\x57\x50\x44\x34\x76\x43\x6b\x44\x61\x53\x6f\x47','\x7a\x38\x6b\x70\x57\x51\x58\x67\x77\x47','\x57\x35\x6d\x2b\x57\x50\x70\x63\x4f\x53\x6b\x4f\x71\x38\x6f\x53\x57\x50\x65','\x6a\x53\x6f\x6d\x68\x38\x6b\x38','\x57\x4f\x66\x6b\x65\x72\x52\x64\x54\x6d\x6f\x7a\x57\x37\x52\x63\x54\x47','\x57\x50\x79\x41\x57\x50\x7a\x46\x44\x47','\x57\x52\x6a\x78\x79\x38\x6b\x31\x57\x36\x46\x63\x52\x53\x6f\x4c\x69\x71','\x62\x68\x64\x63\x47\x43\x6b\x55\x57\x51\x35\x6f\x6b\x78\x48\x52\x57\x36\x6d\x71\x65\x61','\x73\x53\x6b\x61\x57\x35\x37\x64\x52\x53\x6f\x71\x57\x4f\x6a\x4c\x57\x37\x65','\x74\x47\x6c\x64\x51\x6d\x6f\x69\x57\x36\x30','\x6b\x43\x6b\x37\x57\x4f\x52\x64\x47\x53\x6f\x66\x73\x63\x57\x66\x6b\x38\x6f\x46\x76\x53\x6f\x62','\x66\x43\x6f\x34\x57\x4f\x33\x63\x48\x6d\x6b\x6e','\x73\x53\x6f\x4a\x78\x38\x6b\x48\x57\x34\x71','\x57\x50\x5a\x63\x54\x58\x79\x54\x57\x4f\x76\x5a\x75\x6d\x6f\x55','\x57\x52\x4e\x63\x48\x6d\x6f\x44\x6e\x43\x6f\x64','\x62\x4e\x42\x64\x55\x38\x6f\x53\x57\x35\x6d\x63\x70\x4d\x69','\x78\x49\x4a\x64\x4e\x38\x6f\x5a\x57\x36\x34\x42\x67\x65\x34','\x57\x34\x78\x63\x49\x48\x71\x31\x57\x51\x64\x63\x4f\x43\x6b\x4a\x7a\x71','\x57\x51\x33\x63\x4a\x53\x6f\x4e\x64\x43\x6f\x61','\x57\x36\x65\x71\x79\x53\x6b\x55\x57\x37\x68\x63\x55\x6d\x6f\x48\x7a\x61','\x6d\x6d\x6b\x50\x57\x52\x6d\x37\x57\x34\x4b','\x64\x38\x6b\x2f\x43\x64\x6d\x57','\x57\x34\x48\x66\x57\x51\x39\x59','\x6e\x62\x34\x50\x41\x6d\x6f\x6c','\x72\x74\x54\x73\x75\x31\x30','\x57\x50\x69\x64\x44\x43\x6b\x47\x57\x36\x6c\x63\x54\x43\x6b\x50\x66\x57','\x57\x35\x52\x63\x52\x30\x70\x63\x47\x61','\x67\x53\x6f\x42\x75\x43\x6b\x7a\x57\x37\x42\x63\x48\x4e\x2f\x63\x54\x61','\x46\x53\x6f\x56\x57\x50\x35\x30\x73\x6d\x6f\x34\x57\x36\x30\x4f','\x63\x53\x6b\x48\x71\x71\x47\x4e\x6b\x6d\x6f\x55','\x69\x33\x53\x2b\x61\x53\x6f\x4e\x57\x4f\x6d\x70\x57\x35\x38','\x57\x50\x6d\x34\x57\x50\x4c\x52\x61\x53\x6f\x65\x57\x52\x44\x66','\x77\x75\x78\x63\x52\x32\x34\x67\x57\x50\x5a\x63\x54\x4d\x46\x63\x51\x30\x39\x49','\x57\x36\x4a\x63\x47\x71\x4b\x35\x57\x51\x74\x63\x51\x43\x6b\x4e\x45\x61','\x6b\x32\x43\x75\x6b\x6d\x6f\x64','\x72\x76\x6c\x63\x54\x6d\x6b\x63\x57\x52\x6c\x64\x55\x58\x4e\x63\x49\x47','\x78\x4b\x6c\x63\x51\x32\x69\x62\x57\x36\x4a\x64\x4e\x68\x6c\x63\x4d\x76\x7a\x6a\x57\x4f\x4a\x63\x4b\x47','\x45\x53\x6f\x55\x57\x4f\x7a\x77\x6e\x6d\x6f\x52','\x57\x50\x34\x57\x43\x65\x4a\x63\x49\x71','\x43\x62\x38\x5a\x57\x4f\x6e\x2b','\x62\x43\x6f\x69\x6b\x66\x2f\x64\x54\x53\x6b\x78\x57\x37\x30','\x74\x5a\x6d\x6b\x57\x4f\x50\x57\x57\x36\x62\x4a\x65\x57','\x78\x4c\x64\x64\x50\x53\x6f\x46\x57\x52\x4f\x37\x57\x50\x62\x58','\x6e\x6d\x6f\x66\x57\x52\x37\x63\x55\x53\x6b\x79','\x57\x34\x6a\x4c\x57\x34\x65','\x57\x34\x61\x4a\x57\x37\x38\x41\x62\x43\x6f\x5a\x57\x36\x66\x31','\x57\x50\x52\x63\x55\x62\x4f\x54\x57\x50\x76\x65\x76\x53\x6f\x30','\x57\x34\x39\x4f\x57\x34\x4e\x64\x4d\x68\x2f\x63\x51\x43\x6b\x43\x43\x71','\x6c\x38\x6b\x4c\x57\x52\x70\x63\x48\x73\x47','\x57\x4f\x5a\x63\x4a\x64\x65\x57\x73\x38\x6b\x4a','\x42\x72\x74\x64\x55\x76\x47','\x66\x31\x4e\x63\x4f\x43\x6b\x75\x57\x37\x56\x64\x52\x74\x5a\x63\x4c\x57','\x62\x38\x6b\x46\x6f\x43\x6b\x62\x57\x37\x47','\x75\x43\x6f\x78\x57\x34\x6c\x63\x4a\x38\x6b\x49','\x71\x61\x5a\x64\x56\x68\x38\x6c','\x45\x38\x6f\x43\x57\x52\x39\x77\x66\x71','\x57\x4f\x5a\x63\x4a\x64\x65\x57\x73\x38\x6b\x4a\x57\x51\x4e\x63\x51\x47','\x57\x34\x57\x4d\x57\x36\x71\x46\x68\x53\x6f\x47\x57\x51\x48\x35','\x76\x38\x6f\x6e\x57\x51\x44\x62\x43\x71','\x57\x37\x53\x4a\x57\x50\x31\x52\x44\x38\x6f\x78\x57\x50\x53\x49','\x57\x37\x62\x35\x57\x51\x68\x64\x54\x30\x76\x4b\x57\x4f\x54\x43','\x57\x50\x30\x43\x77\x63\x2f\x64\x51\x43\x6f\x73\x57\x4f\x4e\x63\x51\x47','\x57\x34\x6c\x63\x55\x76\x5a\x63\x4a\x38\x6f\x74\x79\x74\x6c\x64\x48\x71','\x57\x37\x37\x63\x4c\x43\x6f\x30\x6c\x43\x6f\x34\x57\x52\x6c\x64\x4d\x61','\x44\x49\x70\x64\x4e\x58\x48\x44\x67\x72\x50\x38'];_0x1c28=function(){return _0x4f49b3;};return _0x1c28();}var _0x98d7ca=require('\x66\x73'),_0x33dc0e=require(_0x3ac851(0x107,'\x30\x6f\x66\x73')),_0x10f641={};_0x10f641['\x72\x65\x70\x61\x69\x72']=0.2,_0x10f641[_0x3ac851(0x1ff,'\x46\x62\x5e\x39')]=0.2,_0x10f641[_0x3ac851(0x1e4,'\x41\x45\x29\x51')]=0.5,_0x10f641[_0x3ac851(0x113,'\x5a\x38\x47\x34')]=0.1,_0x10f641[_0x3ac851(0x1de,'\x6c\x21\x59\x59')+_0x3ac851(0x14a,'\x46\x62\x5e\x39')+'\x6f\x6c\x64']=0.5,_0x10f641[_0x3ac851(0x1ba,'\x79\x46\x5d\x7a')]=_0x3ac851(0x12b,'\x6c\x21\x59\x59'),_0x10f641[_0x3ac851(0x1cc,'\x5e\x70\x56\x31')+_0x3ac851(0x16a,'\x70\x76\x33\x70')]=_0x3ac851(0x1c3,'\x64\x51\x5e\x5a')+_0x3ac851(0x160,'\x5b\x40\x6a\x6a')+_0x3ac851(0x131,'\x72\x56\x30\x4d')+_0x3ac851(0x1ce,'\x79\x46\x5d\x7a')+_0x3ac851(0x166,'\x41\x45\x29\x51')+_0x3ac851(0x19c,'\x48\x78\x52\x6e');var _0x3dd379={};_0x3dd379[_0x3ac851(0x10a,'\x6a\x73\x46\x5b')]=0.05,_0x3dd379[_0x3ac851(0x153,'\x6a\x73\x46\x5b')]=0.1,_0x3dd379['\x69\x6e\x6e\x6f\x76\x61\x74\x65']=0.8,_0x3dd379[_0x3ac851(0x113,'\x5a\x38\x47\x34')]=0.05,_0x3dd379[_0x3ac851(0x147,'\x5a\x38\x47\x34')+_0x3ac851(0x11b,'\x5b\x4b\x56\x74')+_0x3ac851(0x1e7,'\x4d\x41\x37\x5e')]=0.3,_0x3dd379[_0x3ac851(0x105,'\x78\x65\x49\x55')]=_0x3ac851(0x1dc,'\x5e\x70\x56\x31')+_0x3ac851(0x1d6,'\x66\x6e\x42\x6b'),_0x3dd379[_0x3ac851(0x1d7,'\x24\x79\x33\x69')+_0x3ac851(0x1ad,'\x75\x54\x30\x38')]='\x53\x79\x73\x74\x65\x6d\x20\x69'+_0x3ac851(0x1c1,'\x79\x46\x5d\x7a')+_0x3ac851(0x1aa,'\x34\x29\x5d\x79')+_0x3ac851(0x1b3,'\x65\x21\x43\x34')+'\x65\x61\x74\x75\x72\x65\x73\x20'+_0x3ac851(0x156,'\x78\x6a\x28\x7a')+_0x3ac851(0x1b0,'\x48\x78\x52\x6e')+'\x2e';var _0x22469d={};_0x22469d[_0x3ac851(0x138,'\x5b\x40\x6a\x6a')]=0.4,_0x22469d[_0x3ac851(0x181,'\x72\x4d\x4e\x65')]=0.35,_0x22469d['\x69\x6e\x6e\x6f\x76\x61\x74\x65']=0.2,_0x22469d[_0x3ac851(0x16c,'\x24\x4e\x5a\x5b')]=0.05,_0x22469d[_0x3ac851(0x1f9,'\x42\x24\x24\x6b')+_0x3ac851(0x1a2,'\x79\x49\x47\x40')+'\x6f\x6c\x64']=0.7,_0x22469d[_0x3ac851(0xf5,'\x6c\x21\x59\x59')]=_0x3ac851(0x1b8,'\x7a\x29\x47\x39')+'\x67',_0x22469d[_0x3ac851(0xf6,'\x31\x4a\x32\x74')+'\x69\x6f\x6e']=_0x3ac851(0x17e,'\x6a\x73\x46\x5b')+_0x3ac851(0x135,'\x24\x38\x4d\x6c')+_0x3ac851(0x18a,'\x4d\x21\x70\x58')+_0x3ac851(0x19d,'\x24\x79\x33\x69')+'\x62\x69\x6c\x69\x74\x79\x20\x61'+_0x3ac851(0x102,'\x46\x62\x5e\x39')+_0x3ac851(0x143,'\x4e\x25\x58\x32');function _0x432a(_0x535539,_0x57e68d){_0x535539=_0x535539-(0xb*0x2f+-0x36*0x6f+-0x2b*-0x85);var _0x847316=_0x1c28();var _0x51ecc3=_0x847316[_0x535539];if(_0x432a['\x6d\x53\x42\x46\x69\x57']===undefined){var _0x1f23d6=function(_0x3c5c22){var _0x7893cc='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';var _0x4d1eec='',_0x55ea1a='',_0x6e9ef8=_0x4d1eec+_0x1f23d6;for(var _0x1f498c=-0x153a+0x5*0x639+-0x9e3,_0x1c88d1,_0x23f176,_0x211d7b=-0xc1c+-0xe*0xfb+0x19d6;_0x23f176=_0x3c5c22['\x63\x68\x61\x72\x41\x74'](_0x211d7b++);~_0x23f176&&(_0x1c88d1=_0x1f498c%(-0x3f*-0x4b+-0x1fbf+-0x1*-0xd4e)?_0x1c88d1*(0xf*0xeb+0xac*0x23+-0x2509)+_0x23f176:_0x23f176,_0x1f498c++%(-0x63e+-0x6b*0x3b+-0x62f*-0x5))?_0x4d1eec+=_0x6e9ef8['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x211d7b+(0x15d7+0x1*-0x2221+0x20e*0x6))-(0x3*0x5db+-0xde5*-0x1+0xfb6*-0x2)!==0x1e6*0x5+0x2547*-0x1+0x1*0x1bc9?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xc44*-0x1+0xa90+0x2b3&_0x1c88d1>>(-(-0x11ed*0x1+0x1*-0xe63+0x2052)*_0x1f498c&-0xa72+0x10d2+-0x65a)):_0x1f498c:-0xb*0xad+0x7*0x1e2+-0x5bf){_0x23f176=_0x7893cc['\x69\x6e\x64\x65\x78\x4f\x66'](_0x23f176);}for(var _0x280390=-0x1968+0x1*-0x1c53+0xf*0x395,_0x43acec=_0x4d1eec['\x6c\x65\x6e\x67\x74\x68'];_0x280390<_0x43acec;_0x280390++){_0x55ea1a+='\x25'+('\x30\x30'+_0x4d1eec['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x280390)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x19d6*-0x1+-0x1396+0x18*-0x42))['\x73\x6c\x69\x63\x65'](-(-0x23f8+0x147d+0xf7d));}return decodeURIComponent(_0x55ea1a);};var _0xae4c59=function(_0x9cd6eb,_0x3f4fca){var _0x7013b9=[],_0x8a4b55=0x1319+-0x1ca2*0x1+0x989,_0x3fee4e,_0x3917da='';_0x9cd6eb=_0x1f23d6(_0x9cd6eb);var _0x20d3eb;for(_0x20d3eb=-0x6ac*-0x2+0x1eb9+-0x2c11;_0x20d3eb<-0xff8+-0x2290+0x3388;_0x20d3eb++){_0x7013b9[_0x20d3eb]=_0x20d3eb;}for(_0x20d3eb=-0x15e5+0x13d*-0xf+-0xa*-0x40c;_0x20d3eb<-0x240e+-0x169*0xd+0x3763*0x1;_0x20d3eb++){_0x8a4b55=(_0x8a4b55+_0x7013b9[_0x20d3eb]+_0x3f4fca['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x20d3eb%_0x3f4fca['\x6c\x65\x6e\x67\x74\x68']))%(-0x231+-0xa86+0x1*0xdb7),_0x3fee4e=_0x7013b9[_0x20d3eb],_0x7013b9[_0x20d3eb]=_0x7013b9[_0x8a4b55],_0x7013b9[_0x8a4b55]=_0x3fee4e;}_0x20d3eb=0x2640+0x1140+-0x3780,_0x8a4b55=-0x1*0x2e+0x1c5a+-0x1*0x1c2c;for(var _0x3bb8f9=-0x4*0x6a0+0x1ed3+0x3*-0x171;_0x3bb8f9<_0x9cd6eb['\x6c\x65\x6e\x67\x74\x68'];_0x3bb8f9++){_0x20d3eb=(_0x20d3eb+(-0x1*-0xb71+-0x2437+0x18c7*0x1))%(-0x1d2f+0x24e2*-0x1+0x4311),_0x8a4b55=(_0x8a4b55+_0x7013b9[_0x20d3eb])%(0x1161*-0x1+-0xb8c+-0x2f*-0xa3),_0x3fee4e=_0x7013b9[_0x20d3eb],_0x7013b9[_0x20d3eb]=_0x7013b9[_0x8a4b55],_0x7013b9[_0x8a4b55]=_0x3fee4e,_0x3917da+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x9cd6eb['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3bb8f9)^_0x7013b9[(_0x7013b9[_0x20d3eb]+_0x7013b9[_0x8a4b55])%(-0x82b+-0xf9+0xa24)]);}return _0x3917da;};_0x432a['\x55\x4e\x47\x59\x48\x50']=_0xae4c59,_0x432a['\x44\x47\x6e\x77\x69\x53']={},_0x432a['\x6d\x53\x42\x46\x69\x57']=!![];}var _0x1225c0=_0x847316[-0x233b+0xa0d+0x192e],_0x5beafa=_0x535539+_0x1225c0,_0x65e4a0=_0x432a['\x44\x47\x6e\x77\x69\x53'][_0x5beafa];if(!_0x65e4a0){if(_0x432a['\x63\x4a\x6a\x68\x44\x50']===undefined){var _0x44bf7a=function(_0x45bff8){this['\x77\x70\x63\x50\x4b\x55']=_0x45bff8,this['\x78\x58\x5a\x51\x61\x73']=[0xb61*-0x3+-0x111c+0x3340,0x2497+0x1*-0x1796+-0x1*0xd01,0x1589+-0x129f+-0x2ea*0x1],this['\x48\x64\x58\x6e\x51\x63']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x66\x4f\x77\x6e\x58\x70']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x74\x51\x55\x56\x77\x72']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x44bf7a['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4f\x6e\x63\x53\x65\x76']=function(){var _0x4910fe=new RegExp(this['\x66\x4f\x77\x6e\x58\x70']+this['\x74\x51\x55\x56\x77\x72']),_0x1149e5=_0x4910fe['\x74\x65\x73\x74'](this['\x48\x64\x58\x6e\x51\x63']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x78\x58\x5a\x51\x61\x73'][0x44*0x76+-0x58*0x21+0x13ff*-0x1]:--this['\x78\x58\x5a\x51\x61\x73'][0x222a+0x1*-0xfbb+-0x625*0x3];return this['\x6c\x56\x6e\x57\x74\x71'](_0x1149e5);},_0x44bf7a['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6c\x56\x6e\x57\x74\x71']=function(_0x266e57){if(!Boolean(~_0x266e57))return _0x266e57;return this['\x69\x51\x62\x7a\x46\x62'](this['\x77\x70\x63\x50\x4b\x55']);},_0x44bf7a['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x69\x51\x62\x7a\x46\x62']=function(_0x3ff913){for(var _0x4d6d0f=0x1f06+-0x153*-0x11+-0x3589,_0x24adf9=this['\x78\x58\x5a\x51\x61\x73']['\x6c\x65\x6e\x67\x74\x68'];_0x4d6d0f<_0x24adf9;_0x4d6d0f++){this['\x78\x58\x5a\x51\x61\x73']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x24adf9=this['\x78\x58\x5a\x51\x61\x73']['\x6c\x65\x6e\x67\x74\x68'];}return _0x3ff913(this['\x78\x58\x5a\x51\x61\x73'][0xdc2+0xa*-0x389+0x1598]);},new _0x44bf7a(_0x432a)['\x4f\x6e\x63\x53\x65\x76'](),_0x432a['\x63\x4a\x6a\x68\x44\x50']=!![];}_0x51ecc3=_0x432a['\x55\x4e\x47\x59\x48\x50'](_0x51ecc3,_0x57e68d),_0x432a['\x44\x47\x6e\x77\x69\x53'][_0x5beafa]=_0x51ecc3;}else _0x51ecc3=_0x65e4a0;return _0x51ecc3;}var _0x87e0dc={};_0x87e0dc[_0x3ac851(0x1ec,'\x30\x6f\x66\x73')]=0.8,_0x87e0dc[_0x3ac851(0x10c,'\x4e\x25\x58\x32')]=0.18,_0x87e0dc[_0x3ac851(0x1bd,'\x79\x49\x47\x40')]=0x0,_0x87e0dc[_0x3ac851(0x139,'\x24\x38\x4d\x6c')]=0.02,_0x87e0dc[_0x3ac851(0x151,'\x72\x4d\x4e\x65')+_0x3ac851(0x116,'\x52\x41\x52\x74')+_0x3ac851(0xf7,'\x5b\x4b\x56\x74')]=0x1,_0x87e0dc[_0x3ac851(0x11a,'\x72\x56\x30\x4d')]='\x52\x65\x70\x61\x69\x72\x20\x4f'+_0x3ac851(0x118,'\x48\x78\x52\x6e'),_0x87e0dc[_0x3ac851(0x1a7,'\x64\x51\x5e\x5a')+_0x3ac851(0x114,'\x52\x41\x52\x74')]=_0x3ac851(0x1f6,'\x5b\x40\x6a\x6a')+_0x3ac851(0x1f8,'\x40\x28\x70\x61')+_0x3ac851(0x200,'\x46\x62\x5e\x39')+_0x3ac851(0x17d,'\x66\x6e\x42\x6b')+_0x3ac851(0x1b5,'\x46\x62\x5e\x39')+_0x3ac851(0x1a3,'\x30\x6f\x66\x73')+_0x3ac851(0x152,'\x65\x21\x43\x34');var _0x209a2f={};_0x209a2f[_0x3ac851(0x10a,'\x6a\x73\x46\x5b')]=0.6,_0x209a2f[_0x3ac851(0x175,'\x28\x49\x50\x6e')]=0.22,_0x209a2f['\x69\x6e\x6e\x6f\x76\x61\x74\x65']=0.15,_0x209a2f['\x65\x78\x70\x6c\x6f\x72\x65']=0.03,_0x209a2f[_0x3ac851(0x1f3,'\x30\x6f\x66\x73')+_0x3ac851(0x1a2,'\x79\x49\x47\x40')+_0x3ac851(0x159,'\x52\x5e\x58\x55')]=0.8,_0x209a2f[_0x3ac851(0x1b6,'\x52\x41\x52\x74')]=_0x3ac851(0x100,'\x64\x51\x5e\x5a')+'\x61\x62\x69\x6c\x69\x7a\x61\x74'+_0x3ac851(0x121,'\x4e\x25\x58\x32'),_0x209a2f[_0x3ac851(0x1a4,'\x72\x45\x5d\x73')+_0x3ac851(0x10d,'\x65\x21\x43\x34')]=_0x3ac851(0x145,'\x7a\x29\x47\x39')+_0x3ac851(0x19a,'\x4d\x21\x70\x58')+_0x3ac851(0x10f,'\x5a\x38\x47\x34')+'\x20\x66\x69\x78\x69\x6e\x67\x20'+'\x65\x78\x69\x73\x74\x69\x6e\x67'+_0x3ac851(0x15d,'\x41\x7a\x26\x67')+_0x3ac851(0x1f7,'\x65\x21\x43\x34')+_0x3ac851(0x194,'\x7a\x29\x47\x39')+'\x67\x2e';var _0x3af1f0={};_0x3af1f0[_0x3ac851(0x1af,'\x72\x56\x30\x4d')]=0.55,_0x3af1f0[_0x3ac851(0x12d,'\x42\x24\x24\x6b')]=0.25,_0x3af1f0[_0x3ac851(0x106,'\x78\x6a\x28\x7a')]=0.05,_0x3af1f0[_0x3ac851(0x103,'\x64\x51\x5e\x5a')]=0.15,_0x3af1f0[_0x3ac851(0xf4,'\x52\x41\x52\x74')+_0x3ac851(0x126,'\x41\x45\x29\x51')+_0x3ac851(0x13b,'\x6c\x21\x59\x59')]=0.9,_0x3af1f0[_0x3ac851(0x165,'\x24\x4e\x5a\x5b')]=_0x3ac851(0x1d4,'\x79\x46\x5d\x7a')+_0x3ac851(0xfd,'\x41\x45\x29\x51'),_0x3af1f0[_0x3ac851(0x1b2,'\x75\x54\x30\x38')+'\x69\x6f\x6e']=_0x3ac851(0xfb,'\x79\x49\x47\x40')+_0x3ac851(0x14b,'\x72\x45\x5d\x73')+_0x3ac851(0x17c,'\x55\x31\x35\x42')+_0x3ac851(0x198,'\x5b\x4b\x56\x74')+_0x3ac851(0x1f4,'\x24\x38\x4d\x6c')+_0x3ac851(0x1fc,'\x72\x56\x30\x4d')+_0x3ac851(0x134,'\x79\x46\x5d\x7a')+'\x6c\x6f\x72\x65\x20\x66\x6f\x72'+_0x3ac851(0x1ee,'\x6c\x21\x59\x59')+_0x3ac851(0x189,'\x7a\x29\x47\x39');var _0x36ecdf={};_0x36ecdf[_0x3ac851(0x1ea,'\x4d\x41\x37\x5e')]=_0x10f641,_0x36ecdf[_0x3ac851(0x15c,'\x55\x31\x35\x42')]=_0x3dd379,_0x36ecdf['\x68\x61\x72\x64\x65\x6e']=_0x22469d,_0x36ecdf['\x72\x65\x70\x61\x69\x72\x2d\x6f'+_0x3ac851(0x127,'\x66\x39\x34\x5a')]=_0x87e0dc,_0x36ecdf[_0x3ac851(0x1e5,'\x72\x4d\x4e\x65')+_0x3ac851(0x149,'\x40\x28\x70\x61')]=_0x209a2f,_0x36ecdf[_0x3ac851(0x18c,'\x75\x54\x30\x38')+_0x3ac851(0x1d1,'\x28\x49\x50\x6e')]=_0x3af1f0;var _0x3ca59a=_0x36ecdf;function _0xb3f7be(){var _0x590e6b=_0x3ac851,_0x4d2337={};_0x4d2337[_0x590e6b(0x1ae,'\x5b\x4b\x56\x74')]=function(_0x3b4894,_0x2c7fd9){return _0x3b4894>_0x2c7fd9;},_0x4d2337[_0x590e6b(0x18d,'\x40\x28\x70\x61')]=function(_0x1ab087,_0x5350ed){return _0x1ab087<=_0x5350ed;},_0x4d2337[_0x590e6b(0x155,'\x5a\x38\x47\x34')]=_0x590e6b(0x15e,'\x6a\x73\x46\x5b')+_0x590e6b(0x149,'\x40\x28\x70\x61'),_0x4d2337[_0x590e6b(0xfa,'\x41\x7a\x26\x67')]='\x66\x6f\x72\x63\x65\x5f\x73\x74'+'\x65\x61\x64\x79\x5f\x73\x74\x61'+'\x74\x65',_0x4d2337['\x63\x70\x4a\x63\x58']=_0x590e6b(0x183,'\x30\x6f\x66\x73')+_0x590e6b(0x150,'\x5b\x40\x6a\x6a'),_0x4d2337[_0x590e6b(0x171,'\x5e\x70\x56\x31')]=function(_0x46c391,_0x2a0977){return _0x46c391!==_0x2a0977;},_0x4d2337[_0x590e6b(0x1eb,'\x48\x78\x52\x6e')]=_0x590e6b(0x1b9,'\x24\x4e\x5a\x5b')+'\x6e\x5f\x73\x61\x74\x75\x72\x61'+_0x590e6b(0x1ed,'\x34\x29\x5d\x79'),_0x4d2337[_0x590e6b(0x15a,'\x6c\x21\x59\x59')]=_0x590e6b(0x162,'\x52\x41\x52\x74'),_0x4d2337[_0x590e6b(0x1ef,'\x4d\x21\x70\x58')]=function(_0x188e24,_0x4bf7ed){return _0x188e24<_0x4bf7ed;},_0x4d2337[_0x590e6b(0x1a6,'\x37\x41\x6b\x4a')]=function(_0x291bf6,_0x2099a5){return _0x291bf6===_0x2099a5;},_0x4d2337[_0x590e6b(0x133,'\x34\x29\x5d\x79')]=function(_0x145953,_0x403dd7){return _0x145953!==_0x403dd7;},_0x4d2337['\x71\x6c\x50\x4f\x72']=_0x590e6b(0x17a,'\x79\x49\x47\x40');var _0x542af9=_0x4d2337;try{var _0x2578c1=_0x33dc0e[_0x590e6b(0x15f,'\x64\x51\x5e\x5a')](__dirname,'\x2e\x2e','\x2e\x2e',_0x542af9[_0x590e6b(0x148,'\x66\x39\x34\x5a')],_0x590e6b(0x185,'\x37\x41\x6b\x4a')+_0x590e6b(0x16d,'\x78\x65\x49\x55')+'\x6a\x73\x6f\x6e'),_0xa776f8=_0x33dc0e['\x72\x65\x73\x6f\x6c\x76\x65'](__dirname,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',_0x542af9[_0x590e6b(0x15a,'\x6c\x21\x59\x59')],_0x590e6b(0x173,'\x29\x74\x36\x4f')+'\x6e',_0x590e6b(0x1e9,'\x5b\x4b\x56\x74')+_0x590e6b(0x1da,'\x55\x31\x35\x42')+_0x590e6b(0x1d5,'\x42\x24\x24\x6b')),_0x1422c4=[_0x2578c1,_0xa776f8];for(var _0x154e3b=0x53*0x5e+0x38*0x10+-0x2*0x10fd;_0x542af9[_0x590e6b(0x1e1,'\x6a\x73\x46\x5b')](_0x154e3b,_0x1422c4[_0x590e6b(0x170,'\x79\x46\x5d\x7a')]);_0x154e3b++){if(_0x542af9[_0x590e6b(0x163,'\x63\x32\x4c\x63')](_0x590e6b(0x117,'\x75\x54\x30\x38'),_0x590e6b(0x14e,'\x4d\x21\x70\x58'))){if(_0x98d7ca[_0x590e6b(0x1bf,'\x40\x28\x70\x61')+'\x6e\x63'](_0x1422c4[_0x154e3b])){if(_0x542af9[_0x590e6b(0x158,'\x63\x21\x32\x56')](_0x542af9[_0x590e6b(0x1d0,'\x46\x62\x5e\x39')],_0x542af9[_0x590e6b(0x179,'\x7a\x29\x47\x39')])){var _0x1d41cc=_0x3f1c98[_0x590e6b(0x1d3,'\x52\x41\x52\x74')](_0x3707d8[_0x590e6b(0x14c,'\x5a\x38\x47\x34')+_0x590e6b(0x124,'\x37\x41\x6b\x4a')](_0x539a27[_0x39d571],_0x590e6b(0x130,'\x6c\x21\x59\x59')));return _0x1d41cc&&_0x25adb7['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x1d41cc[_0x590e6b(0x167,'\x66\x39\x34\x5a')+'\x6e\x74'])?_0x1d41cc[_0x590e6b(0x1b1,'\x5a\x38\x47\x34')+'\x6e\x74']:-0x1ecb*0x1+-0x1d*-0x1+0x1eae;}else{var _0x4dbe41=JSON[_0x590e6b(0x1cf,'\x37\x41\x6b\x4a')](_0x98d7ca[_0x590e6b(0x136,'\x28\x49\x50\x6e')+_0x590e6b(0x1be,'\x66\x6e\x42\x6b')](_0x1422c4[_0x154e3b],_0x590e6b(0x18f,'\x41\x45\x29\x51')));return _0x4dbe41&&Number[_0x590e6b(0x1fb,'\x4b\x25\x63\x37')](_0x4dbe41[_0x590e6b(0x1d9,'\x4e\x25\x58\x32')+'\x6e\x74'])?_0x4dbe41[_0x590e6b(0x167,'\x66\x39\x34\x5a')+'\x6e\x74']:0x8c2+0x2d7*0xc+-0x2ad6;}}}else{var _0xd54f10=_0x511083();_0x542af9[_0x590e6b(0x125,'\x24\x4e\x5a\x5b')](_0xd54f10,0x1a13+0x1*0x1f3+-0x1c06)&&_0x542af9[_0x590e6b(0x201,'\x52\x5e\x58\x55')](_0xd54f10,-0x133e*-0x1+0x1*-0x1bf1+0x8b8)&&(_0x22f8a7=_0x542af9[_0x590e6b(0x180,'\x21\x4a\x23\x40')]);if(_0x3c9ed6[_0x590e6b(0x168,'\x29\x74\x36\x4f')](_0x542af9[_0x590e6b(0x120,'\x79\x46\x5d\x7a')])!==-(-0x10c3+0x1a*0x34+0x3*0x3d4))_0x46ff3e=_0x542af9['\x63\x70\x4a\x63\x58'];else _0x542af9[_0x590e6b(0x177,'\x76\x4c\x23\x77')](_0x27fdb8[_0x590e6b(0x115,'\x6a\x73\x46\x5b')](_0x542af9[_0x590e6b(0x1f5,'\x24\x79\x33\x69')]),-(0x31c*0x5+0x2*0x108a+-0x309f))&&(_0xcbdc60=_0x542af9[_0x590e6b(0x13e,'\x48\x78\x52\x6e')]);}}}catch(_0x59781f){}return 0x4ec+0x13cd+-0x18b9*0x1;}function _0x2794b3(_0x465529){var _0x1f8e63=_0x3ac851,_0x31c3e5={'\x4a\x58\x7a\x78\x54':'\x73\x74\x65\x61\x64\x79\x2d\x73'+_0x1f8e63(0x12f,'\x52\x41\x52\x74'),'\x6e\x59\x4f\x71\x4d':_0x1f8e63(0x187,'\x55\x31\x35\x42'),'\x68\x46\x75\x56\x4d':'\x65\x76\x6f\x6c\x75\x74\x69\x6f'+'\x6e','\x56\x42\x57\x66\x78':_0x1f8e63(0x1e8,'\x24\x38\x4d\x6c')+_0x1f8e63(0x199,'\x72\x56\x30\x4d')+'\x6a\x73\x6f\x6e','\x59\x71\x6a\x49\x46':function(_0x5bcef6,_0x2d142a){return _0x5bcef6<_0x2d142a;},'\x79\x44\x59\x54\x75':'\x75\x74\x66\x38','\x75\x67\x48\x46\x4d':function(_0x1b09b7,_0x48def8){return _0x1b09b7(_0x48def8);},'\x44\x74\x55\x76\x55':'\x62\x61\x6c\x61\x6e\x63\x65\x64','\x74\x48\x75\x6d\x45':function(_0x8a4204,_0x5176ad){return _0x8a4204===_0x5176ad;},'\x44\x63\x61\x44\x4f':_0x1f8e63(0x123,'\x72\x56\x30\x4d'),'\x49\x52\x4c\x64\x77':function(_0x1b7841,_0x3c1524){return _0x1b7841===_0x3c1524;},'\x59\x73\x62\x45\x45':_0x1f8e63(0x1ac,'\x6a\x73\x46\x5b'),'\x6d\x57\x57\x67\x55':_0x1f8e63(0x1cb,'\x47\x35\x58\x58'),'\x76\x72\x57\x66\x44':function(_0xc1fce2,_0x16b824){return _0xc1fce2===_0x16b824;},'\x73\x5a\x65\x6a\x70':_0x1f8e63(0x122,'\x34\x29\x5d\x79'),'\x67\x66\x42\x67\x69':function(_0x476ba5){return _0x476ba5();},'\x75\x7a\x4a\x54\x7a':function(_0x3b5f2c,_0x31a725){return _0x3b5f2c<=_0x31a725;},'\x55\x46\x67\x47\x49':function(_0x2f2a34,_0x9b13b4){return _0x2f2a34!==_0x9b13b4;},'\x47\x46\x78\x59\x45':_0x1f8e63(0x161,'\x37\x41\x6b\x4a'),'\x78\x4a\x71\x47\x76':_0x1f8e63(0x15b,'\x24\x4e\x5a\x5b')+_0x1f8e63(0x110,'\x24\x38\x4d\x6c'),'\x49\x66\x72\x58\x57':function(_0x5bffc2,_0x4a6133){return _0x5bffc2!==_0x4a6133;}},_0x1bd0a8=_0x465529&&Array[_0x1f8e63(0x1a8,'\x63\x32\x4c\x63')](_0x465529['\x73\x69\x67\x6e\x61\x6c\x73'])?_0x465529['\x73\x69\x67\x6e\x61\x6c\x73']:[],_0x37b8ee=_0x31c3e5[_0x1f8e63(0x144,'\x4d\x21\x70\x58')](String,process.env.EVOLVE_STRATEGY||_0x31c3e5[_0x1f8e63(0x111,'\x5b\x4b\x56\x74')])[_0x1f8e63(0x129,'\x29\x74\x36\x4f')+_0x1f8e63(0x188,'\x24\x38\x4d\x6c')]()['\x74\x72\x69\x6d'](),_0x1f3e37=![];if(!process.env.EVOLVE_STRATEGY){var _0x476c04=String(process.env.FORCE_INNOVATION||process.env.EVOLVE_FORCE_INNOVATION||'')[_0x1f8e63(0x1bb,'\x28\x49\x50\x6e')+_0x1f8e63(0x1fd,'\x28\x49\x50\x6e')]();_0x31c3e5[_0x1f8e63(0x12e,'\x66\x6e\x42\x6b')](_0x476c04,_0x31c3e5[_0x1f8e63(0x178,'\x4d\x41\x37\x5e')])&&(_0x31c3e5[_0x1f8e63(0x196,'\x30\x6f\x66\x73')](_0x31c3e5[_0x1f8e63(0x140,'\x63\x32\x4c\x63')],_0x31c3e5['\x59\x73\x62\x45\x45'])?(_0x37b8ee=_0x31c3e5[_0x1f8e63(0x1f2,'\x5a\x38\x47\x34')],_0x1f3e37=!![]):_0x3ffa1c=_0x31c3e5[_0x1f8e63(0x1f0,'\x63\x32\x4c\x63')]);}var _0x2be52a=!process.env.EVOLVE_STRATEGY||_0x31c3e5['\x76\x72\x57\x66\x44'](_0x37b8ee,_0x31c3e5[_0x1f8e63(0x1a9,'\x5b\x40\x6a\x6a')])||_0x31c3e5['\x49\x52\x4c\x64\x77'](_0x37b8ee,_0x31c3e5[_0x1f8e63(0x17b,'\x6a\x73\x46\x5b')]);if(_0x2be52a&&!_0x1f3e37){var _0x5351cc=_0x31c3e5['\x67\x66\x42\x67\x69'](_0xb3f7be);if(_0x5351cc>0x167a+0xab4+-0x212e&&_0x31c3e5[_0x1f8e63(0x1c9,'\x41\x7a\x26\x67')](_0x5351cc,0x16c2*-0x1+0x246a+-0xda3)){if(_0x31c3e5[_0x1f8e63(0x1c0,'\x6b\x4d\x43\x4f')](_0x31c3e5[_0x1f8e63(0x16f,'\x24\x38\x4d\x6c')],_0x31c3e5[_0x1f8e63(0xf8,'\x51\x52\x58\x38')])){var _0x2a161e=_0x49da12[_0x1f8e63(0x176,'\x66\x39\x34\x5a')](_0x2b482b,'\x2e\x2e','\x2e\x2e',hwUnfp[_0x1f8e63(0x13f,'\x79\x46\x5d\x7a')],_0x1f8e63(0xff,'\x41\x45\x29\x51')+_0x1f8e63(0x182,'\x4d\x41\x37\x5e')+_0x1f8e63(0x191,'\x51\x52\x58\x38')),_0x28046d=_0x407e8e[_0x1f8e63(0x12a,'\x5a\x38\x47\x34')](_0x4c640e,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',hwUnfp[_0x1f8e63(0x11f,'\x4d\x21\x70\x58')],hwUnfp[_0x1f8e63(0x13c,'\x21\x4a\x23\x40')],hwUnfp[_0x1f8e63(0x1e2,'\x41\x45\x29\x51')]),_0x35b538=[_0x2a161e,_0x28046d];for(var _0x4ad082=-0x1*-0x263b+-0x941+-0x1cfa;hwUnfp[_0x1f8e63(0x1f1,'\x34\x29\x5d\x79')](_0x4ad082,_0x35b538[_0x1f8e63(0x1e0,'\x5a\x38\x47\x34')]);_0x4ad082++){if(_0x21bf4c[_0x1f8e63(0x174,'\x79\x49\x47\x40')+'\x6e\x63'](_0x35b538[_0x4ad082])){var _0x1e504c=_0x585328[_0x1f8e63(0x137,'\x70\x76\x33\x70')](_0xee135a[_0x1f8e63(0x18b,'\x5e\x70\x56\x31')+'\x53\x79\x6e\x63'](_0x35b538[_0x4ad082],hwUnfp[_0x1f8e63(0x1c4,'\x47\x35\x58\x58')]));return _0x1e504c&&_0x3d6b26[_0x1f8e63(0xfc,'\x42\x24\x24\x6b')](_0x1e504c[_0x1f8e63(0x19f,'\x6b\x4d\x43\x4f')+'\x6e\x74'])?_0x1e504c[_0x1f8e63(0x1c8,'\x5b\x4b\x56\x74')+'\x6e\x74']:-0x90f*-0x1+0x2178+-0x2a87;}}}else _0x37b8ee=_0x31c3e5['\x78\x4a\x71\x47\x76'];}if(_0x31c3e5[_0x1f8e63(0x104,'\x52\x5e\x58\x55')](_0x1bd0a8[_0x1f8e63(0x115,'\x6a\x73\x46\x5b')](_0x1f8e63(0x1fe,'\x51\x52\x58\x38')+'\x65\x61\x64\x79\x5f\x73\x74\x61'+'\x74\x65'),-(0x2b0*-0x3+0xce1+-0x4d0)))_0x37b8ee=_0x31c3e5[_0x1f8e63(0x1e6,'\x31\x4a\x32\x74')];else _0x1bd0a8[_0x1f8e63(0x14f,'\x31\x4a\x32\x74')]('\x65\x76\x6f\x6c\x75\x74\x69\x6f'+'\x6e\x5f\x73\x61\x74\x75\x72\x61'+_0x1f8e63(0x1b4,'\x78\x6a\x28\x7a'))!==-(-0x194c+0x2234+-0x8e7)&&(_0x37b8ee=_0x31c3e5[_0x1f8e63(0x172,'\x37\x41\x6b\x4a')]);}if(_0x31c3e5[_0x1f8e63(0x16b,'\x79\x46\x5d\x7a')](_0x37b8ee,_0x31c3e5[_0x1f8e63(0x119,'\x46\x62\x5e\x39')]))_0x37b8ee=_0x31c3e5[_0x1f8e63(0x19b,'\x75\x54\x30\x38')];var _0x274660=_0x3ca59a[_0x37b8ee]||_0x3ca59a[_0x31c3e5['\x44\x74\x55\x76\x55']],_0x273bfe={};return _0x273bfe[_0x1f8e63(0x142,'\x64\x51\x5e\x5a')]=_0x37b8ee,Object[_0x1f8e63(0x1a1,'\x66\x6e\x42\x6b')]({},_0x274660,_0x273bfe);}function _0xc503a5(){var _0x19efbf=_0x3ac851;return Object[_0x19efbf(0x146,'\x7a\x29\x47\x39')](_0x3ca59a);}var _0x30514e={};_0x30514e[_0x3ac851(0x169,'\x63\x21\x32\x56')+_0x3ac851(0x1d8,'\x46\x62\x5e\x39')]=_0x2794b3,_0x30514e[_0x3ac851(0x109,'\x66\x39\x34\x5a')+_0x3ac851(0x17f,'\x41\x45\x29\x51')]=_0xc503a5,_0x30514e[_0x3ac851(0x141,'\x40\x28\x70\x61')+'\x45\x53']=_0x3ca59a,module[_0x3ac851(0x11e,'\x55\x31\x35\x42')]=_0x30514e;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
12
|
const { getNodeId, buildHubHeaders, getHubUrl } = require('../a2aProtocol');
|
|
13
|
-
const { runInSandbox } = require('./sandboxExecutor');
|
|
13
|
+
const { runInSandbox, runPreflight } = require('./sandboxExecutor');
|
|
14
14
|
const { buildReportPayload, submitReport } = require('./reporter');
|
|
15
15
|
const { ensureValidatorStake } = require('./stakeBootstrap');
|
|
16
16
|
const { readFeatureFlag } = require('../featureFlags');
|
|
@@ -138,6 +138,48 @@ async function validateOneTask(task) {
|
|
|
138
138
|
};
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
+
// Lazy single-shot preflight cache. Runs once per process, reused by both the
|
|
142
|
+
// daemon and the inline runValidatorCycle() called from the main evolve loop.
|
|
143
|
+
let _preflightPromise = null;
|
|
144
|
+
let _preflightResult = null;
|
|
145
|
+
|
|
146
|
+
async function _ensurePreflight() {
|
|
147
|
+
if (_preflightResult) return _preflightResult;
|
|
148
|
+
if (_preflightPromise) return _preflightPromise;
|
|
149
|
+
_preflightPromise = (async () => {
|
|
150
|
+
try {
|
|
151
|
+
_preflightResult = await runPreflight();
|
|
152
|
+
} catch (err) {
|
|
153
|
+
_preflightResult = {
|
|
154
|
+
ok: false,
|
|
155
|
+
reason: 'preflight_threw',
|
|
156
|
+
durationMs: 0,
|
|
157
|
+
stderrTail: err && err.message ? String(err.message) : String(err),
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
_daemonStats.preflight = {
|
|
161
|
+
ok: !!_preflightResult.ok,
|
|
162
|
+
reason: _preflightResult.reason || null,
|
|
163
|
+
duration_ms: _preflightResult.durationMs || 0,
|
|
164
|
+
at: Date.now(),
|
|
165
|
+
};
|
|
166
|
+
if (!_preflightResult.ok) {
|
|
167
|
+
_preflightDisabled = true;
|
|
168
|
+
try {
|
|
169
|
+
console.warn(
|
|
170
|
+
'[Validator] Preflight FAILED (' + (_preflightResult.reason || 'unknown') + '): ' +
|
|
171
|
+
'cannot spawn `node <script>` inside the sandbox on this host. ' +
|
|
172
|
+
'Validator role is being SKIPPED to avoid flooding the Hub with env_fail reports. ' +
|
|
173
|
+
'Likely causes: node binary not on PATH for headless invocations, missing exec perm, ' +
|
|
174
|
+
'or unwritable TMPDIR. Diagnostic stderr: ' + (_preflightResult.stderrTail || '<empty>')
|
|
175
|
+
);
|
|
176
|
+
} catch (_) { /* console unavailable -- non-fatal */ }
|
|
177
|
+
}
|
|
178
|
+
return _preflightResult;
|
|
179
|
+
})();
|
|
180
|
+
return _preflightPromise;
|
|
181
|
+
}
|
|
182
|
+
|
|
141
183
|
/**
|
|
142
184
|
* Run one validator cycle. Intended to be called from the main evolve loop.
|
|
143
185
|
* Returns a summary object (useful for logging/tests).
|
|
@@ -149,6 +191,15 @@ async function runValidatorCycle(opts) {
|
|
|
149
191
|
if (!isValidatorEnabled()) {
|
|
150
192
|
return { skipped: 'disabled' };
|
|
151
193
|
}
|
|
194
|
+
// Lazy preflight gate: refuse to talk to the Hub if the local toolchain
|
|
195
|
+
// cannot even run a trivial `node <script>` in the sandbox. Without this,
|
|
196
|
+
// every validation task posted to this node returns duration_ms=1 /
|
|
197
|
+
// commands_passed=0 and the Hub auto-quarantines the node for chronic
|
|
198
|
+
// env_fail.
|
|
199
|
+
const pf = await _ensurePreflight();
|
|
200
|
+
if (!pf.ok) {
|
|
201
|
+
return { skipped: 'preflight_failed', reason: pf.reason || 'unknown' };
|
|
202
|
+
}
|
|
152
203
|
if (!options.skipStake) {
|
|
153
204
|
try {
|
|
154
205
|
await ensureValidatorStake({});
|
|
@@ -198,7 +249,8 @@ const DAEMON_FIRST_DELAY_MS = Math.max(0, _envIntDefault('EVOLVER_VALIDATOR_DAEM
|
|
|
198
249
|
let _daemonTimer = null;
|
|
199
250
|
let _daemonRunning = false;
|
|
200
251
|
let _daemonInflight = false;
|
|
201
|
-
let _daemonStats = { ticks: 0, processed: 0, lastError: null, lastRunAt: 0 };
|
|
252
|
+
let _daemonStats = { ticks: 0, processed: 0, lastError: null, lastRunAt: 0, preflight: null };
|
|
253
|
+
let _preflightDisabled = false;
|
|
202
254
|
|
|
203
255
|
async function _daemonTick() {
|
|
204
256
|
if (_daemonInflight) return;
|
|
@@ -208,6 +260,12 @@ async function _daemonTick() {
|
|
|
208
260
|
_daemonStats.ticks += 1;
|
|
209
261
|
return;
|
|
210
262
|
}
|
|
263
|
+
if (_preflightDisabled) {
|
|
264
|
+
// Preflight failed during startup -- stay silent. We still tick so the
|
|
265
|
+
// operator can re-enable later by restarting the agent after fixing PATH.
|
|
266
|
+
_daemonStats.ticks += 1;
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
211
269
|
const out = await runValidatorCycle({});
|
|
212
270
|
_daemonStats.ticks += 1;
|
|
213
271
|
_daemonStats.lastRunAt = Date.now();
|
|
@@ -246,6 +304,10 @@ function startValidatorDaemon() {
|
|
|
246
304
|
'be used. To opt out, set EVOLVER_VALIDATOR_ENABLED=false (or unset it).'
|
|
247
305
|
);
|
|
248
306
|
} catch (_) { /* console unavailable -- non-fatal */ }
|
|
307
|
+
// Fire preflight immediately so the user-visible warning lands before the
|
|
308
|
+
// first DAEMON_FIRST_DELAY_MS tick. _ensurePreflight is idempotent and the
|
|
309
|
+
// first call from runValidatorCycle will reuse this promise.
|
|
310
|
+
_ensurePreflight();
|
|
249
311
|
}
|
|
250
312
|
_daemonTimer = setTimeout(_daemonTick, DAEMON_FIRST_DELAY_MS);
|
|
251
313
|
return true;
|
|
@@ -263,6 +325,25 @@ function getValidatorDaemonStats() {
|
|
|
263
325
|
return Object.assign({ running: _daemonRunning, intervalMs: DAEMON_INTERVAL_MS }, _daemonStats);
|
|
264
326
|
}
|
|
265
327
|
|
|
328
|
+
function _resetPreflightForTests() {
|
|
329
|
+
_preflightPromise = null;
|
|
330
|
+
_preflightResult = null;
|
|
331
|
+
_preflightDisabled = false;
|
|
332
|
+
_daemonStats.preflight = null;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
function _setPreflightForTests(result) {
|
|
336
|
+
_preflightResult = result || { ok: true, durationMs: 0 };
|
|
337
|
+
_preflightPromise = Promise.resolve(_preflightResult);
|
|
338
|
+
_preflightDisabled = !_preflightResult.ok;
|
|
339
|
+
_daemonStats.preflight = {
|
|
340
|
+
ok: !!_preflightResult.ok,
|
|
341
|
+
reason: _preflightResult.reason || null,
|
|
342
|
+
duration_ms: _preflightResult.durationMs || 0,
|
|
343
|
+
at: Date.now(),
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
|
|
266
347
|
module.exports = {
|
|
267
348
|
runValidatorCycle,
|
|
268
349
|
fetchValidationTasks,
|
|
@@ -271,4 +352,6 @@ module.exports = {
|
|
|
271
352
|
startValidatorDaemon,
|
|
272
353
|
stopValidatorDaemon,
|
|
273
354
|
getValidatorDaemonStats,
|
|
355
|
+
_resetPreflightForTests,
|
|
356
|
+
_setPreflightForTests,
|
|
274
357
|
};
|
|
@@ -12,6 +12,78 @@ const { resolveHubUrl: resolveDefaultHubUrl } = require('../../config');
|
|
|
12
12
|
|
|
13
13
|
const REPORT_TIMEOUT_MS = Number(process.env.EVOLVER_VALIDATOR_REPORT_TIMEOUT_MS) || 10_000;
|
|
14
14
|
|
|
15
|
+
// Per-command stderr/stdout tail bundled into the report. Bounded so a noisy
|
|
16
|
+
// validator cannot blow up the Hub's a2a/report payload size.
|
|
17
|
+
const REPORT_CMD_TAIL_CHARS = 240;
|
|
18
|
+
const REPORT_MAX_COMMANDS = 8;
|
|
19
|
+
|
|
20
|
+
// Failure classes attached to each command result so the Hub can distinguish
|
|
21
|
+
// "validator host is broken" (env_fail) from "Gene's validation cmd cannot
|
|
22
|
+
// run in our hardened sandbox" (sandbox_block) from a real assertion failure
|
|
23
|
+
// (exit_nonzero).
|
|
24
|
+
const FAILURE_CLASS = {
|
|
25
|
+
OK: 'ok',
|
|
26
|
+
PARSE_FAILED: 'parse_failed',
|
|
27
|
+
EXEC_NOT_ALLOWED: 'executable_not_allowed',
|
|
28
|
+
SANDBOX_BLOCK_NODE_FLAG: 'sandbox_block_node_flag',
|
|
29
|
+
SPAWN_FAILED: 'spawn_failed',
|
|
30
|
+
TIMEOUT: 'timeout',
|
|
31
|
+
EXIT_NONZERO: 'exit_nonzero',
|
|
32
|
+
UNKNOWN: 'unknown',
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
function classifyCommandFailure(result) {
|
|
36
|
+
if (!result) return FAILURE_CLASS.UNKNOWN;
|
|
37
|
+
if (result.ok) return FAILURE_CLASS.OK;
|
|
38
|
+
const stderr = String(result.stderr || '');
|
|
39
|
+
if (result.timedOut) return FAILURE_CLASS.TIMEOUT;
|
|
40
|
+
// Check sandbox-block-on-node-flag BEFORE the generic parse_failed check
|
|
41
|
+
// because assertNodeCommandSafe wraps its rejection inside the
|
|
42
|
+
// `command_parse_failed:` stderr prefix; a plain prefix check would
|
|
43
|
+
// misclassify the Gene/Hub-incompatibility case as a parse error.
|
|
44
|
+
if (stderr.includes('node flag not allowed in sandbox')
|
|
45
|
+
|| stderr.includes('node requires a script file argument')) {
|
|
46
|
+
return FAILURE_CLASS.SANDBOX_BLOCK_NODE_FLAG;
|
|
47
|
+
}
|
|
48
|
+
if (stderr.startsWith('executable_not_allowed:')) return FAILURE_CLASS.EXEC_NOT_ALLOWED;
|
|
49
|
+
if (stderr.startsWith('command_parse_failed:')) return FAILURE_CLASS.PARSE_FAILED;
|
|
50
|
+
if (stderr.startsWith('spawn_failed:')) return FAILURE_CLASS.SPAWN_FAILED;
|
|
51
|
+
if (typeof result.exitCode === 'number' && result.exitCode !== 0) {
|
|
52
|
+
return FAILURE_CLASS.EXIT_NONZERO;
|
|
53
|
+
}
|
|
54
|
+
return FAILURE_CLASS.UNKNOWN;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function tailString(s, n) {
|
|
58
|
+
const str = typeof s === 'string' ? s : '';
|
|
59
|
+
if (str.length <= n) return str;
|
|
60
|
+
return str.slice(-n);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function summarizeResult(result) {
|
|
64
|
+
return {
|
|
65
|
+
cmd: typeof result.cmd === 'string' ? result.cmd.slice(0, 200) : '',
|
|
66
|
+
ok: !!result.ok,
|
|
67
|
+
exit_code: typeof result.exitCode === 'number' ? result.exitCode : null,
|
|
68
|
+
duration_ms: typeof result.durationMs === 'number' ? result.durationMs : 0,
|
|
69
|
+
timed_out: !!result.timedOut,
|
|
70
|
+
failure_class: classifyCommandFailure(result),
|
|
71
|
+
stderr_tail: tailString(result.stderr, REPORT_CMD_TAIL_CHARS),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Aggregate failure_class for the whole report -- the first non-OK class wins.
|
|
76
|
+
// Surfaces a single label in `failure_class` at the top of the report so that
|
|
77
|
+
// the Hub can route on it without iterating per-command.
|
|
78
|
+
function aggregateFailureClass(commands) {
|
|
79
|
+
if (!Array.isArray(commands) || commands.length === 0) return FAILURE_CLASS.UNKNOWN;
|
|
80
|
+
if (commands.every((c) => c.failure_class === FAILURE_CLASS.OK)) return FAILURE_CLASS.OK;
|
|
81
|
+
for (const c of commands) {
|
|
82
|
+
if (c.failure_class && c.failure_class !== FAILURE_CLASS.OK) return c.failure_class;
|
|
83
|
+
}
|
|
84
|
+
return FAILURE_CLASS.UNKNOWN;
|
|
85
|
+
}
|
|
86
|
+
|
|
15
87
|
function resolveHubUrl() {
|
|
16
88
|
try {
|
|
17
89
|
const u = getHubUrl && getHubUrl();
|
|
@@ -56,6 +128,13 @@ function buildReportPayload(task, execution, opts) {
|
|
|
56
128
|
? options.reproductionScore
|
|
57
129
|
: (commandsTotal > 0 ? commandsPassed / commandsTotal : 0);
|
|
58
130
|
|
|
131
|
+
// Per-command summaries. Bounded to REPORT_MAX_COMMANDS so a runaway batch
|
|
132
|
+
// cannot blow up the Hub payload size.
|
|
133
|
+
const commands = results.slice(0, REPORT_MAX_COMMANDS).map(summarizeResult);
|
|
134
|
+
const failureClass = !execution.overallOk
|
|
135
|
+
? aggregateFailureClass(commands)
|
|
136
|
+
: FAILURE_CLASS.OK;
|
|
137
|
+
|
|
59
138
|
return {
|
|
60
139
|
task_id: task.task_id,
|
|
61
140
|
nonce: task.nonce,
|
|
@@ -66,6 +145,10 @@ function buildReportPayload(task, execution, opts) {
|
|
|
66
145
|
execution_log_hash: hashExecutionLog(results),
|
|
67
146
|
env_fingerprint: env,
|
|
68
147
|
reproduction_score: Math.max(0, Math.min(1, reproductionScore)),
|
|
148
|
+
// New diagnostic surface (Hub-side classifier should prefer these when
|
|
149
|
+
// present; older Hubs that ignore unknown fields keep working unchanged).
|
|
150
|
+
failure_class: failureClass,
|
|
151
|
+
commands,
|
|
69
152
|
};
|
|
70
153
|
}
|
|
71
154
|
|
|
@@ -115,4 +198,7 @@ module.exports = {
|
|
|
115
198
|
buildReportPayload,
|
|
116
199
|
submitReport,
|
|
117
200
|
hashExecutionLog,
|
|
201
|
+
classifyCommandFailure,
|
|
202
|
+
aggregateFailureClass,
|
|
203
|
+
FAILURE_CLASS,
|
|
118
204
|
};
|
|
@@ -382,9 +382,53 @@ async function runInSandbox(commands, opts) {
|
|
|
382
382
|
};
|
|
383
383
|
}
|
|
384
384
|
|
|
385
|
+
/**
|
|
386
|
+
* Self-test to confirm the validator host can spawn a `node <script>` process
|
|
387
|
+
* inside the sandbox successfully. Used by the validator daemon at startup to
|
|
388
|
+
* decide whether to participate at all -- if the local toolchain cannot even
|
|
389
|
+
* run `node a-trivial-script.js`, the daemon will refuse to start and print a
|
|
390
|
+
* user-visible warning instead of flooding the Hub with env_fail reports.
|
|
391
|
+
*
|
|
392
|
+
* @returns {Promise<{ok: boolean, reason?: string, exitCode?: number, durationMs: number, stderrTail?: string}>}
|
|
393
|
+
*/
|
|
394
|
+
async function runPreflight() {
|
|
395
|
+
const sandboxDir = createSandboxDir();
|
|
396
|
+
const startedAt = Date.now();
|
|
397
|
+
const scriptPath = path.join(sandboxDir, '__evolver_preflight.js');
|
|
398
|
+
try {
|
|
399
|
+
fs.writeFileSync(scriptPath, "process.stdout.write('preflight_ok\\n');\nprocess.exit(0);\n", { encoding: 'utf8' });
|
|
400
|
+
const r = await runSingleCommand('node __evolver_preflight.js', {
|
|
401
|
+
cwd: sandboxDir,
|
|
402
|
+
timeoutMs: 10_000,
|
|
403
|
+
});
|
|
404
|
+
if (!r.ok) {
|
|
405
|
+
return {
|
|
406
|
+
ok: false,
|
|
407
|
+
reason: r.timedOut
|
|
408
|
+
? 'preflight_timeout'
|
|
409
|
+
: (typeof r.exitCode === 'number' && r.exitCode !== 0 ? 'preflight_exit_nonzero' : 'preflight_failed'),
|
|
410
|
+
exitCode: r.exitCode,
|
|
411
|
+
durationMs: r.durationMs,
|
|
412
|
+
stderrTail: typeof r.stderr === 'string' ? r.stderr.slice(-240) : '',
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
return { ok: true, exitCode: r.exitCode || 0, durationMs: Date.now() - startedAt };
|
|
416
|
+
} catch (err) {
|
|
417
|
+
return {
|
|
418
|
+
ok: false,
|
|
419
|
+
reason: 'preflight_exception',
|
|
420
|
+
durationMs: Date.now() - startedAt,
|
|
421
|
+
stderrTail: err && err.message ? String(err.message).slice(-240) : '',
|
|
422
|
+
};
|
|
423
|
+
} finally {
|
|
424
|
+
cleanupDir(sandboxDir);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
385
428
|
module.exports = {
|
|
386
429
|
runInSandbox,
|
|
387
430
|
runSingleCommand,
|
|
431
|
+
runPreflight,
|
|
388
432
|
createSandboxDir,
|
|
389
433
|
cleanupDir,
|
|
390
434
|
buildSandboxEnv,
|
|
@@ -52,7 +52,52 @@ class LifecycleManager {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
get nodeSecret() {
|
|
55
|
-
return this.
|
|
55
|
+
return this._resolveNodeSecret();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Resolve the active node_secret with conflict reconciliation between the
|
|
60
|
+
* persistent MailboxStore and `process.env.A2A_NODE_SECRET`.
|
|
61
|
+
*
|
|
62
|
+
* The store is normally authoritative because it is updated whenever
|
|
63
|
+
* /a2a/hello returns a fresh secret (including rotations). However, if the
|
|
64
|
+
* operator explicitly sets `A2A_NODE_SECRET` in the environment AND it
|
|
65
|
+
* disagrees with the stored value, the env var wins and we sync the store
|
|
66
|
+
* back to the env value. This breaks the failure mode reported in
|
|
67
|
+
* EvoMap/evolver#529 where a stale secret persisted in
|
|
68
|
+
* `~/.evomap/mailbox/state.json` keeps overriding a freshly minted secret
|
|
69
|
+
* exported from `.env`, producing an infinite re-auth loop:
|
|
70
|
+
* stale store secret -> hello "OK" (lenient path) -> heartbeat 403
|
|
71
|
+
* -> rotate_secret hello -> node_id_already_claimed (because the bearer
|
|
72
|
+
* we sent could not prove ownership) -> 30-min backoff.
|
|
73
|
+
*
|
|
74
|
+
* Single-source mode (only one of store/env present) is unchanged.
|
|
75
|
+
* @returns {string|null}
|
|
76
|
+
*/
|
|
77
|
+
_resolveNodeSecret() {
|
|
78
|
+
const envSecret = this._suppressEnvSecret
|
|
79
|
+
? null
|
|
80
|
+
: ((process.env.A2A_NODE_SECRET || '').trim() || null);
|
|
81
|
+
const storeSecret = this.store.getState('node_secret') || null;
|
|
82
|
+
const valid = (s) => typeof s === 'string' && /^[a-f0-9]{64}$/i.test(s);
|
|
83
|
+
|
|
84
|
+
if (envSecret && storeSecret && envSecret !== storeSecret) {
|
|
85
|
+
if (valid(envSecret)) {
|
|
86
|
+
this.store.setState('node_secret', envSecret);
|
|
87
|
+
if (!this._envOverrideLogged) {
|
|
88
|
+
this._envOverrideLogged = true;
|
|
89
|
+
this.logger.warn(
|
|
90
|
+
'[lifecycle] A2A_NODE_SECRET env var differs from MailboxStore; using env value and syncing store. ' +
|
|
91
|
+
'Clear ~/.evomap/mailbox/state.json or unset A2A_NODE_SECRET to silence this warning.'
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
return envSecret;
|
|
95
|
+
}
|
|
96
|
+
// env var malformed -- ignore it, fall back to store
|
|
97
|
+
return storeSecret;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return storeSecret || envSecret || null;
|
|
56
101
|
}
|
|
57
102
|
|
|
58
103
|
_buildHeaders() {
|
|
@@ -136,6 +181,14 @@ class LifecycleManager {
|
|
|
136
181
|
/**
|
|
137
182
|
* Re-authenticate after 403: rotate secret via hello, then verify with a
|
|
138
183
|
* heartbeat. Returns true if auth is restored, false otherwise.
|
|
184
|
+
*
|
|
185
|
+
* Recovery sequence (issue EvoMap/evolver#529):
|
|
186
|
+
* attempt 1 -> hello with current Bearer + rotate_secret=true
|
|
187
|
+
* (works when the stale secret is still recognised)
|
|
188
|
+
* attempt 2 -> drop the bearer locally, hello WITHOUT Authorization
|
|
189
|
+
* + rotate_secret=true. If the node is owned by someone
|
|
190
|
+
* else, hub returns node_id_already_claimed; we surface a
|
|
191
|
+
* manual-reset hint to the user instead of churning forever.
|
|
139
192
|
*/
|
|
140
193
|
async reAuthenticate() {
|
|
141
194
|
if (this._reauthInProgress) return false;
|
|
@@ -145,6 +198,7 @@ class LifecycleManager {
|
|
|
145
198
|
return false;
|
|
146
199
|
}
|
|
147
200
|
this._reauthInProgress = true;
|
|
201
|
+
let manualResetRequired = false;
|
|
148
202
|
try {
|
|
149
203
|
for (let attempt = 1; attempt <= MAX_REAUTH_ATTEMPTS; attempt++) {
|
|
150
204
|
this.logger.warn(`[lifecycle] re-auth attempt ${attempt}/${MAX_REAUTH_ATTEMPTS}: rotating secret via hello...`);
|
|
@@ -152,6 +206,18 @@ class LifecycleManager {
|
|
|
152
206
|
if (!helloResult.ok) {
|
|
153
207
|
this.logger.error(`[lifecycle] re-auth hello failed: ${helloResult.error}`);
|
|
154
208
|
if (helloResult.error === 'hello_rate_limited' || helloResult.error === 'hello_rate_limit_active') break;
|
|
209
|
+
if (typeof helloResult.error === 'string' && helloResult.error.startsWith('node_id_already_claimed')) {
|
|
210
|
+
// Hub does not believe we own this nodeId. Our locally cached
|
|
211
|
+
// secret(s) are useless. Drop them so attempt 2 retries WITHOUT
|
|
212
|
+
// a Bearer (lenient hello path). If even unauthenticated rotate
|
|
213
|
+
// is rejected, only a manual reset can recover.
|
|
214
|
+
if (attempt < MAX_REAUTH_ATTEMPTS) {
|
|
215
|
+
this._dropLocalSecret('node_id_already_claimed');
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
manualResetRequired = true;
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
155
221
|
continue;
|
|
156
222
|
}
|
|
157
223
|
const newSecret = helloResult.response?.payload?.node_secret;
|
|
@@ -162,10 +228,14 @@ class LifecycleManager {
|
|
|
162
228
|
const hbResult = await this.heartbeat({ _skipReauth: true });
|
|
163
229
|
if (hbResult.ok) {
|
|
164
230
|
this.logger.log('[lifecycle] re-auth succeeded: heartbeat confirmed with new secret');
|
|
231
|
+
this._envOverrideLogged = false;
|
|
165
232
|
return true;
|
|
166
233
|
}
|
|
167
234
|
this.logger.warn(`[lifecycle] re-auth attempt ${attempt}: heartbeat still failing after rotate`);
|
|
168
235
|
}
|
|
236
|
+
if (manualResetRequired) {
|
|
237
|
+
this._emitManualResetNeeded();
|
|
238
|
+
}
|
|
169
239
|
this.logger.error('[lifecycle] re-auth exhausted all attempts, backing off for 30 minutes');
|
|
170
240
|
this._reauthBackoffUntil = Date.now() + 30 * 60_000;
|
|
171
241
|
return false;
|
|
@@ -174,6 +244,38 @@ class LifecycleManager {
|
|
|
174
244
|
}
|
|
175
245
|
}
|
|
176
246
|
|
|
247
|
+
/**
|
|
248
|
+
* Drop the cached node_secret in MailboxStore AND signal the env-var path to
|
|
249
|
+
* skip its value for this process lifetime. Used when the hub explicitly
|
|
250
|
+
* disowns our claim.
|
|
251
|
+
* @param {string} reason - log tag describing why we are dropping it.
|
|
252
|
+
*/
|
|
253
|
+
_dropLocalSecret(reason) {
|
|
254
|
+
this.logger.warn(`[lifecycle] dropping cached node_secret (reason=${reason}); next hello will run unauthenticated`);
|
|
255
|
+
try { this.store.setState('node_secret', ''); } catch { /* best-effort */ }
|
|
256
|
+
// Suppress the env override for this process so _resolveNodeSecret stops
|
|
257
|
+
// re-seeding the store with the same stale env value next call.
|
|
258
|
+
this._suppressEnvSecret = true;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
_emitManualResetNeeded() {
|
|
262
|
+
try {
|
|
263
|
+
this.store.writeInbound({
|
|
264
|
+
type: 'system',
|
|
265
|
+
priority: 'high',
|
|
266
|
+
channel: 'evomap-hub',
|
|
267
|
+
payload: {
|
|
268
|
+
action: 'manual_secret_reset_required',
|
|
269
|
+
message:
|
|
270
|
+
'Hub disowns this node_id (node_id_already_claimed). Local node_secret in MailboxStore and A2A_NODE_SECRET env var are both invalid. Visit https://evomap.ai/account, click "Reset Secret" on the agent card, then update A2A_NODE_SECRET (or delete ~/.evomap/mailbox/state.json) and restart proxy.',
|
|
271
|
+
docs_url: 'https://evomap.ai/account',
|
|
272
|
+
},
|
|
273
|
+
});
|
|
274
|
+
} catch (err) {
|
|
275
|
+
this.logger.warn(`[lifecycle] failed to emit manual_secret_reset_required event: ${err.message}`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
177
279
|
async heartbeat({ _skipReauth = false } = {}) {
|
|
178
280
|
if (!this.hubUrl) return { ok: false, error: 'no_hub_url' };
|
|
179
281
|
|