@evomap/evolver 1.91.1 → 1.91.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/index.js +1 -1
- package/package.json +1 -1
- package/src/evolve/guards.js +1 -1
- package/src/evolve/pipeline/collect.js +1 -1
- package/src/evolve/pipeline/dispatch.js +1 -1
- package/src/evolve/pipeline/enrich.js +1 -1
- package/src/evolve/pipeline/hub.js +1 -1
- package/src/evolve/pipeline/select.js +1 -1
- package/src/evolve/pipeline/signals.js +1 -1
- package/src/evolve/utils.js +1 -1
- package/src/evolve.js +1 -1
- package/src/gep/a2aProtocol.js +5175 -1
- package/src/gep/antiAbuseTelemetry.js +233 -1
- package/src/gep/assetStore.js +3 -2
- package/src/gep/autoDistillConv.js +205 -1
- package/src/gep/autoDistillLlm.js +315 -1
- package/src/gep/candidateEval.js +92 -1
- package/src/gep/candidates.js +1 -1
- package/src/gep/contentHash.js +30 -1
- package/src/gep/conversationDistiller.js +270 -1
- package/src/gep/conversationSniffer.js +266 -1
- package/src/gep/crypto.js +93 -1
- package/src/gep/curriculum.js +1 -1
- package/src/gep/deviceId.js +218 -1
- package/src/gep/envFingerprint.js +118 -1
- package/src/gep/epigenetics.js +31 -1
- package/src/gep/execBridge.js +712 -1
- package/src/gep/explore.js +289 -1
- package/src/gep/hash.js +15 -1
- package/src/gep/hubFetch.js +672 -1
- package/src/gep/hubReview.js +212 -1
- package/src/gep/hubSearch.js +544 -1
- package/src/gep/hubVerify.js +306 -1
- package/src/gep/learningSignals.js +1 -1
- package/src/gep/memoryGraph.js +1449 -1
- package/src/gep/memoryGraphAdapter.js +203 -1
- package/src/gep/mutation.js +1 -1
- package/src/gep/narrativeMemory.js +1 -1
- package/src/gep/openPRRegistry.js +205 -1
- package/src/gep/personality.js +1 -1
- package/src/gep/policyCheck.js +599 -1
- package/src/gep/prompt.js +1 -1
- package/src/gep/recallInject.js +409 -1
- package/src/gep/recallVerifier.js +318 -1
- package/src/gep/reflection.js +1 -1
- package/src/gep/savingsCore.js +1 -1
- package/src/gep/selector.js +1 -1
- package/src/gep/skillDistiller.js +1294 -1
- package/src/gep/solidify.js +1 -1
- package/src/gep/strategy.js +136 -1
- package/src/gep/tokenSavings.js +1 -1
- package/src/gep/trajectoryExport.js +3841 -1
- package/src/gep/workspaceKeychain.js +174 -1
- package/src/proxy/extensions/traceControl.js +123 -1
- package/src/proxy/inject.js +52 -1
- package/src/proxy/trace/extractor.js +2355 -1
- package/src/proxy/trace/usage.js +105 -1
- package/src/webui/client/clientJs/bootstrap.js +6 -0
- package/src/webui/client/clientJs/github.js +225 -0
- package/src/webui/client/clientJs/i18n.js +14 -0
- package/src/webui/client/clientJs/index.js +3 -0
- package/src/webui/client/clientJs/pipelines.js +3 -1
- package/src/webui/client/indexHtml.js +10 -0
- package/src/webui/client/stylesCss.js +61 -0
- package/src/webui/observer/github.js +340 -0
- package/src/webui/observer/index.js +4 -0
- package/src/webui/server/routes.js +11 -0
package/src/gep/hubReview.js
CHANGED
|
@@ -1 +1,212 @@
|
|
|
1
|
-
const _0x16aa4a=_0x227f;(function(_0x113d17,_0x2eac6e){const _0x4a8dd5=_0x227f,_0x37ad32=_0x113d17();while(!![]){try{const _0x5a4d34=parseInt(_0x4a8dd5(0x235,'\x66\x5e\x4d\x65'))/(0x17cc+-0x22a2+0xad7)*(-parseInt(_0x4a8dd5(0x1bb,'\x5e\x33\x38\x68'))/(-0xab6+-0x1022*0x2+-0x72a*-0x6))+parseInt(_0x4a8dd5(0x1b4,'\x47\x53\x21\x74'))/(-0x47d+0x2e9+0x197)*(parseInt(_0x4a8dd5(0x1fb,'\x44\x71\x73\x67'))/(0x7f2*-0x1+-0x13*0x205+0x2e55))+-parseInt(_0x4a8dd5(0x21d,'\x5a\x4c\x6f\x69'))/(-0x178d*0x1+0x17fa+-0x4*0x1a)+-parseInt(_0x4a8dd5(0x225,'\x46\x21\x53\x4b'))/(0x1a+0x61*-0x3d+0x1709)*(-parseInt(_0x4a8dd5(0x147,'\x53\x6f\x5d\x67'))/(-0x175*-0x9+0x1529*-0x1+0x813*0x1))+parseInt(_0x4a8dd5(0xe8,'\x46\x37\x5b\x78'))/(-0x6a8+0x1e0e+-0x175e)+parseInt(_0x4a8dd5(0xb2,'\x75\x47\x7a\x4f'))/(-0x19d8+0x1485+0x55c)+-parseInt(_0x4a8dd5(0xd0,'\x76\x23\x65\x28'))/(-0x3*-0xae1+-0x1*0x773+-0x6*0x431)*(-parseInt(_0x4a8dd5(0xaf,'\x26\x56\x52\x4a'))/(0x6fd*-0x5+-0x126e+0x356a));if(_0x5a4d34===_0x2eac6e)break;else _0x37ad32['push'](_0x37ad32['shift']());}catch(_0x55a408){_0x37ad32['push'](_0x37ad32['shift']());}}}(_0xe2f9,0xc5511+0x4bf1*-0x19+0x4d1c5));const _0x4f569e=(function(){const _0x921ce8=_0x227f,_0x571737={};_0x571737[_0x921ce8(0x10f,'\x53\x6f\x5d\x67')]=function(_0x5648d5,_0x447190){return _0x5648d5!==_0x447190;},_0x571737[_0x921ce8(0x1d5,'\x4a\x39\x73\x29')]=_0x921ce8(0x19f,'\x66\x5e\x4d\x65');const _0x4c7c15=_0x571737;let _0x208b7d=!![];return function(_0x4283af,_0x5dfbdf){const _0x8722ec=_0x921ce8;if(_0x4c7c15[_0x8722ec(0x192,'\x67\x63\x37\x52')](_0x8722ec(0x1af,'\x7a\x39\x64\x44'),_0x4c7c15[_0x8722ec(0x240,'\x38\x23\x70\x37')])){const _0x1c7caf=_0x5f4bd4['\x6d\x61\x70'](_0x40c86a=>({'\x6b':_0x40c86a,'\x74':_0x48d331[_0x40c86a]['\x61\x74']||0x1613*0x1+0x1423*0x1+0x3*-0xe12}))['\x73\x6f\x72\x74']((_0xdd5b30,_0x4660e0)=>_0xdd5b30['\x74']-_0x4660e0['\x74']),_0x510cb7=_0x1c7caf[_0x8722ec(0x223,'\x67\x63\x37\x52')](0x1bf*0x1+0x609*0x3+0x15*-0xf2,_0x2c3980[_0x8722ec(0x204,'\x41\x54\x35\x46')]-_0x50b0cd);for(const _0x38a93e of _0x510cb7)delete _0x29febe[_0x38a93e['\x6b']];}else{const _0x180c05=_0x208b7d?function(){const _0x147554=_0x8722ec;if(_0x5dfbdf){const _0x413758=_0x5dfbdf[_0x147554(0x1ba,'\x53\x6f\x5d\x67')](_0x4283af,arguments);return _0x5dfbdf=null,_0x413758;}}:function(){};return _0x208b7d=![],_0x180c05;}};}()),_0x3b580e=_0x4f569e(this,function(){const _0x34cf7a=_0x227f,_0x8d38c3={};_0x8d38c3['\x62\x6f\x4d\x4f\x4a']=_0x34cf7a(0x144,'\x47\x53\x21\x74')+'\x2b\x29\x2b\x24';const _0x1934aa=_0x8d38c3;return _0x3b580e[_0x34cf7a(0x21c,'\x5e\x33\x38\x68')]()[_0x34cf7a(0x231,'\x6e\x6e\x64\x49')](_0x1934aa[_0x34cf7a(0x116,'\x59\x26\x72\x21')])['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x34cf7a(0x13c,'\x23\x6c\x6f\x64')+_0x34cf7a(0xd2,'\x6d\x42\x78\x53')](_0x3b580e)[_0x34cf7a(0xc7,'\x76\x23\x65\x28')](_0x1934aa[_0x34cf7a(0x1f6,'\x53\x47\x6b\x76')]);});_0x3b580e();function _0x227f(_0x5da347,_0x53b7f7){_0x5da347=_0x5da347-(0x1f3*0xb+-0x89f*0x1+-0xc23);const _0x312cb6=_0xe2f9();let _0x19f4b4=_0x312cb6[_0x5da347];if(_0x227f['\x56\x4f\x58\x67\x65\x4b']===undefined){var _0x30d65d=function(_0x24bfd5){const _0x37d9db='\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';let _0x5e53d8='',_0xfaac44='',_0x437361=_0x5e53d8+_0x30d65d,_0x2f2c53=(''+function(){return-0x10bb+-0xb5*-0x1f+0xa6*-0x8;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x16a6+0x493+-0x367*0x8);for(let _0x1bbb4c=-0x1052*0x1+0xf69+-0x1*-0xe9,_0x590f3b,_0x50beca,_0x53788d=-0x7*-0x2ce+-0x16e5+-0x5*-0xa7;_0x50beca=_0x24bfd5['\x63\x68\x61\x72\x41\x74'](_0x53788d++);~_0x50beca&&(_0x590f3b=_0x1bbb4c%(-0x749+-0x11c*-0x1e+-0x19fb)?_0x590f3b*(0x137d+0x1*-0x199f+-0x2b*-0x26)+_0x50beca:_0x50beca,_0x1bbb4c++%(-0x2c+-0xff3*0x1+0x1023))?_0x5e53d8+=_0x2f2c53||_0x437361['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x53788d+(-0x2a9+0xb64+0x5*-0x1bd))-(-0x994*0x4+0x67*0x1f+-0x19*-0x109)!==0xa0b+-0x3*-0xa12+-0x2841?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xaa5+0x2495+-0x2e3b&_0x590f3b>>(-(0x2172+0x171c+0x388c*-0x1)*_0x1bbb4c&0x18a7+0x3a*-0x7f+0x1*0x425)):_0x1bbb4c:-0xd6a*-0x1+-0x24c1+0x1757){_0x50beca=_0x37d9db['\x69\x6e\x64\x65\x78\x4f\x66'](_0x50beca);}for(let _0x294861=-0x9f3+-0x250d+0x10*0x2f0,_0x1d3ea2=_0x5e53d8['\x6c\x65\x6e\x67\x74\x68'];_0x294861<_0x1d3ea2;_0x294861++){_0xfaac44+='\x25'+('\x30\x30'+_0x5e53d8['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x294861)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0xc9b+-0x24fe+-0x1*-0x31a9))['\x73\x6c\x69\x63\x65'](-(-0xad*-0x24+0x3*0x575+-0x28b1));}return decodeURIComponent(_0xfaac44);};const _0x1f80d8=function(_0x51c046,_0x8ec2d1){let _0xdf984a=[],_0x858b25=-0x4*-0x32f+-0x1775+-0xf*-0xb7,_0x1a08df,_0x554b13='';_0x51c046=_0x30d65d(_0x51c046);let _0x35832a;for(_0x35832a=0xe*0x2c6+0x1a3f+0x269*-0x1b;_0x35832a<0x101*0xa+0x5*0x648+-0x2872;_0x35832a++){_0xdf984a[_0x35832a]=_0x35832a;}for(_0x35832a=0x15cb+-0x71f+-0x2*0x756;_0x35832a<-0x27*0x2e+0x26d*-0xa+-0x1c*-0x127;_0x35832a++){_0x858b25=(_0x858b25+_0xdf984a[_0x35832a]+_0x8ec2d1['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x35832a%_0x8ec2d1['\x6c\x65\x6e\x67\x74\x68']))%(-0x3f1+-0x1b01*-0x1+0x1610*-0x1),_0x1a08df=_0xdf984a[_0x35832a],_0xdf984a[_0x35832a]=_0xdf984a[_0x858b25],_0xdf984a[_0x858b25]=_0x1a08df;}_0x35832a=-0x2*0xc2e+-0x1*0x2d7+0x1*0x1b33,_0x858b25=-0x672*0x1+0x266d+-0x1*0x1ffb;for(let _0x5b4f73=0x6b7+0x20e9+-0x27a*0x10;_0x5b4f73<_0x51c046['\x6c\x65\x6e\x67\x74\x68'];_0x5b4f73++){_0x35832a=(_0x35832a+(0x2*0x49b+-0x22*-0x1d+-0xd0f))%(-0xcf*0x17+-0x1*0x790+-0x1*-0x1b29),_0x858b25=(_0x858b25+_0xdf984a[_0x35832a])%(-0x18e2+-0x15a1+0x2f83),_0x1a08df=_0xdf984a[_0x35832a],_0xdf984a[_0x35832a]=_0xdf984a[_0x858b25],_0xdf984a[_0x858b25]=_0x1a08df,_0x554b13+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x51c046['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5b4f73)^_0xdf984a[(_0xdf984a[_0x35832a]+_0xdf984a[_0x858b25])%(0x1734+0xecd+-0x2501)]);}return _0x554b13;};_0x227f['\x55\x63\x4f\x4d\x63\x72']=_0x1f80d8,_0x227f['\x6f\x57\x75\x68\x62\x6b']={},_0x227f['\x56\x4f\x58\x67\x65\x4b']=!![];}const _0x56a05b=_0x312cb6[0x1*0x21ae+-0x6ad*0x1+-0x1b01*0x1],_0x5e13e0=_0x5da347+_0x56a05b,_0x51e431=_0x227f['\x6f\x57\x75\x68\x62\x6b'][_0x5e13e0];if(!_0x51e431){if(_0x227f['\x66\x62\x57\x48\x74\x58']===undefined){const _0x530629=function(_0x58c592){this['\x78\x48\x4e\x64\x53\x41']=_0x58c592,this['\x51\x43\x63\x6f\x79\x5a']=[-0x2666+-0x1*0x1a5+-0x280c*-0x1,0x683+0x1e9c+-0x251f,0x2c7+-0x1a9f+0x17d8],this['\x56\x57\x6a\x74\x66\x65']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x63\x4c\x4a\x68\x44\x68']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x67\x57\x73\x4c\x45\x6c']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x530629['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x56\x4c\x61\x59\x6b\x6b']=function(){const _0x35c6ea=new RegExp(this['\x63\x4c\x4a\x68\x44\x68']+this['\x67\x57\x73\x4c\x45\x6c']),_0x456d50=_0x35c6ea['\x74\x65\x73\x74'](this['\x56\x57\x6a\x74\x66\x65']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x51\x43\x63\x6f\x79\x5a'][-0xeb5+-0x455*-0x4+0x29e*-0x1]:--this['\x51\x43\x63\x6f\x79\x5a'][-0x492*0x5+0x1*0x833+0xea7];return this['\x4d\x55\x56\x7a\x5a\x58'](_0x456d50);},_0x530629['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4d\x55\x56\x7a\x5a\x58']=function(_0x1d4557){if(!Boolean(~_0x1d4557))return _0x1d4557;return this['\x59\x50\x72\x6f\x4f\x4f'](this['\x78\x48\x4e\x64\x53\x41']);},_0x530629['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x59\x50\x72\x6f\x4f\x4f']=function(_0x1789af){for(let _0x2180c3=-0xb93*-0x3+-0x9b3+-0x1906,_0x508b0a=this['\x51\x43\x63\x6f\x79\x5a']['\x6c\x65\x6e\x67\x74\x68'];_0x2180c3<_0x508b0a;_0x2180c3++){this['\x51\x43\x63\x6f\x79\x5a']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x508b0a=this['\x51\x43\x63\x6f\x79\x5a']['\x6c\x65\x6e\x67\x74\x68'];}return _0x1789af(this['\x51\x43\x63\x6f\x79\x5a'][0x1849+-0xeca+-0x97f]);},(''+function(){return-0x8cb*0x1+0x934*0x3+0x12d1*-0x1;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x13a6+0x1*0xbac+0x7fb)&&new _0x530629(_0x227f)['\x56\x4c\x61\x59\x6b\x6b'](),_0x227f['\x66\x62\x57\x48\x74\x58']=!![];}_0x19f4b4=_0x227f['\x55\x63\x4f\x4d\x63\x72'](_0x19f4b4,_0x53b7f7),_0x227f['\x6f\x57\x75\x68\x62\x6b'][_0x5e13e0]=_0x19f4b4;}else _0x19f4b4=_0x51e431;return _0x19f4b4;}function _0xe2f9(){const _0x4cd1e7=['\x57\x50\x72\x50\x57\x37\x68\x64\x55\x33\x43\x31\x57\x52\x69','\x57\x37\x47\x53\x57\x50\x68\x63\x4a\x6d\x6f\x38','\x6f\x38\x6f\x35\x72\x30\x52\x63\x4e\x43\x6f\x48\x42\x67\x34\x56\x70\x43\x6f\x63\x57\x52\x56\x64\x54\x57','\x75\x6d\x6f\x4d\x57\x50\x78\x64\x4a\x38\x6b\x41','\x57\x51\x2f\x63\x51\x75\x57','\x77\x53\x6b\x70\x6c\x73\x4f','\x44\x31\x43\x75','\x57\x50\x2f\x64\x51\x43\x6b\x56\x7a\x6d\x6b\x4d','\x57\x4f\x68\x63\x55\x4c\x4e\x63\x55\x38\x6b\x73\x57\x35\x78\x63\x55\x6d\x6b\x4b','\x57\x35\x5a\x63\x4d\x65\x53\x44\x57\x4f\x30\x33\x57\x35\x69','\x65\x43\x6b\x64\x57\x35\x58\x50\x78\x61','\x6a\x6d\x6b\x44\x69\x53\x6f\x59\x57\x35\x75\x4f','\x57\x52\x6c\x64\x4d\x53\x6b\x48\x57\x34\x65\x46','\x6c\x66\x64\x64\x49\x38\x6f\x65\x57\x34\x68\x63\x50\x53\x6f\x34\x57\x37\x71','\x57\x52\x44\x75\x57\x36\x4a\x63\x4c\x43\x6b\x2f\x74\x53\x6f\x37','\x57\x4f\x58\x58\x57\x50\x56\x64\x53\x30\x58\x6f\x57\x4f\x42\x64\x4f\x47','\x6e\x53\x6f\x39\x57\x37\x69\x2b\x57\x50\x47','\x68\x43\x6b\x43\x46\x6d\x6f\x56\x66\x47','\x6b\x43\x6b\x38\x75\x43\x6f\x46\x57\x50\x75\x44\x46\x38\x6b\x73','\x57\x37\x74\x63\x51\x59\x34\x4b\x71\x47','\x70\x43\x6b\x67\x6b\x53\x6f\x4f','\x57\x50\x76\x70\x57\x35\x68\x63\x50\x47','\x7a\x43\x6f\x67\x57\x35\x7a\x67\x41\x47','\x57\x51\x72\x76\x57\x37\x33\x63\x4e\x49\x43','\x57\x35\x74\x63\x47\x63\x30\x5a\x44\x61','\x57\x37\x4e\x64\x47\x4a\x5a\x64\x53\x5a\x6c\x63\x54\x53\x6b\x64\x73\x71','\x57\x51\x76\x43\x57\x37\x68\x63\x4f\x63\x37\x63\x47\x77\x68\x63\x50\x53\x6f\x74\x57\x34\x7a\x39\x57\x36\x4b\x76','\x57\x35\x78\x63\x47\x32\x38\x66\x57\x36\x69','\x57\x34\x44\x59\x57\x35\x68\x64\x4c\x38\x6b\x30\x45\x6d\x6f\x57','\x57\x52\x38\x39\x57\x50\x42\x64\x50\x4c\x2f\x63\x4b\x77\x35\x6f','\x73\x53\x6f\x67\x57\x37\x7a\x39\x77\x71','\x6a\x66\x46\x63\x54\x6d\x6f\x73\x57\x51\x47','\x57\x36\x4c\x4c\x57\x51\x44\x66','\x57\x37\x37\x63\x4c\x59\x4e\x64\x56\x59\x4a\x64\x4f\x53\x6b\x65\x77\x71','\x57\x52\x46\x63\x4b\x64\x65\x4c','\x63\x53\x6f\x39\x57\x34\x38\x49\x57\x52\x75','\x44\x53\x6f\x75\x57\x34\x44\x32\x78\x38\x6f\x68\x57\x51\x79','\x57\x37\x56\x64\x54\x74\x74\x64\x54\x58\x71','\x68\x48\x52\x64\x4f\x74\x6e\x37','\x57\x35\x69\x6d\x57\x50\x2f\x63\x49\x53\x6f\x6f','\x57\x4f\x4c\x53\x57\x50\x37\x64\x50\x4d\x30','\x67\x74\x6c\x64\x4e\x4a\x7a\x38','\x6c\x53\x6b\x6c\x69\x43\x6f\x5a\x57\x34\x30','\x57\x51\x54\x77\x57\x36\x6d\x69\x57\x34\x65','\x6e\x4c\x33\x63\x47\x6d\x6f\x6a\x57\x51\x38','\x46\x53\x6f\x41\x57\x34\x44\x69\x77\x38\x6b\x45\x57\x36\x74\x63\x47\x47','\x57\x50\x44\x46\x57\x34\x70\x63\x56\x43\x6f\x31\x42\x57','\x57\x51\x42\x64\x55\x43\x6f\x4a','\x6a\x53\x6b\x2f\x57\x4f\x38\x4a\x57\x37\x75','\x57\x35\x66\x2b\x57\x35\x70\x64\x4b\x43\x6b\x4f\x41\x57','\x57\x37\x4e\x63\x47\x75\x4b\x79\x57\x37\x57','\x57\x37\x5a\x63\x53\x4d\x57\x67\x57\x36\x34','\x57\x4f\x37\x64\x55\x6d\x6b\x2b\x57\x35\x65\x32','\x44\x53\x6b\x35\x78\x48\x6c\x63\x48\x38\x6b\x58\x65\x38\x6f\x45','\x57\x37\x6c\x64\x4d\x4b\x30\x55\x77\x57','\x73\x31\x30\x77\x57\x36\x4f\x6c\x57\x36\x56\x63\x54\x43\x6f\x45','\x57\x50\x76\x65\x57\x4f\x4f\x36\x42\x57','\x70\x53\x6b\x41\x57\x35\x54\x49\x75\x43\x6b\x54\x57\x36\x70\x63\x51\x71','\x57\x37\x4b\x35\x57\x50\x70\x63\x4b\x6d\x6f\x56','\x57\x50\x62\x37\x57\x51\x30\x6e\x71\x47','\x57\x51\x4e\x63\x4f\x30\x4a\x64\x4c\x73\x56\x64\x53\x67\x33\x64\x51\x57','\x57\x35\x78\x64\x53\x59\x2f\x64\x54\x75\x6d\x78\x57\x37\x76\x4a','\x71\x62\x48\x59\x74\x38\x6f\x77','\x6b\x4c\x42\x64\x55\x43\x6f\x6f\x57\x34\x64\x63\x4f\x53\x6f\x50\x57\x34\x34','\x6b\x6d\x6b\x36\x57\x50\x30\x6f\x6c\x57','\x57\x35\x64\x63\x4a\x48\x38\x75\x73\x61','\x57\x35\x6a\x43\x57\x35\x6c\x64\x4d\x53\x6b\x55','\x57\x4f\x37\x64\x4d\x43\x6b\x49\x57\x35\x6e\x30\x62\x57','\x57\x50\x52\x64\x53\x43\x6f\x73\x57\x51\x2f\x64\x51\x57','\x57\x35\x2f\x63\x4e\x43\x6f\x50\x67\x43\x6f\x79\x57\x52\x65\x38\x68\x57','\x6d\x30\x52\x64\x51\x6d\x6f\x41\x57\x4f\x2f\x63\x51\x43\x6f\x4a\x57\x36\x6d','\x57\x36\x35\x48\x57\x52\x35\x49\x57\x50\x53','\x42\x67\x6c\x63\x53\x6d\x6b\x45\x76\x61','\x57\x37\x66\x66\x57\x36\x2f\x64\x49\x38\x6b\x73','\x57\x52\x37\x64\x52\x6d\x6b\x58\x7a\x38\x6b\x45\x62\x67\x30','\x61\x53\x6b\x51\x57\x51\x34\x51\x57\x37\x4b','\x57\x37\x79\x73\x57\x50\x4a\x64\x51\x4d\x4a\x64\x4c\x64\x52\x63\x52\x71','\x6a\x38\x6b\x2f\x6d\x6d\x6f\x4b\x57\x34\x47','\x57\x4f\x56\x64\x47\x38\x6b\x4b\x57\x34\x75\x36\x45\x6d\x6b\x67\x6f\x57','\x57\x50\x33\x64\x52\x6d\x6f\x36\x57\x4f\x46\x64\x4d\x61','\x69\x43\x6b\x69\x6d\x6d\x6f\x33\x57\x34\x6d','\x57\x4f\x7a\x5a\x57\x50\x52\x64\x47\x77\x79','\x57\x50\x66\x76\x57\x34\x68\x63\x4f\x43\x6f\x32','\x6c\x43\x6b\x47\x78\x43\x6f\x4c\x57\x50\x71','\x57\x4f\x54\x36\x57\x36\x6d\x4b','\x57\x4f\x50\x68\x57\x36\x56\x63\x52\x62\x57','\x57\x51\x50\x4e\x57\x50\x4e\x64\x54\x4e\x43','\x57\x52\x44\x41\x57\x52\x65\x71\x41\x71','\x6d\x53\x6b\x51\x78\x6d\x6f\x59\x57\x4f\x69','\x57\x51\x74\x63\x50\x72\x30\x4e\x74\x61','\x57\x35\x42\x63\x47\x78\x71\x56\x57\x37\x56\x64\x51\x4b\x42\x63\x52\x57','\x57\x50\x62\x50\x57\x50\x70\x64\x4f\x31\x62\x42','\x62\x43\x6f\x6a\x57\x4f\x62\x4c\x57\x37\x39\x79\x57\x37\x69\x30','\x57\x35\x46\x63\x4c\x72\x5a\x63\x56\x59\x4b','\x57\x4f\x66\x62\x57\x4f\x4b\x78\x78\x47','\x57\x51\x37\x63\x48\x59\x53\x37\x78\x77\x75\x55','\x57\x37\x52\x63\x4e\x4e\x34\x6d\x57\x50\x61\x37\x57\x34\x34\x79','\x57\x36\x56\x64\x48\x63\x33\x64\x55\x59\x2f\x63\x4e\x43\x6b\x45\x73\x61','\x7a\x6d\x6b\x56\x69\x72\x42\x64\x4e\x53\x6b\x36\x61\x31\x34','\x67\x38\x6b\x31\x57\x50\x65\x4c\x64\x61','\x43\x43\x6f\x66\x57\x34\x6e\x37\x77\x53\x6b\x69\x57\x36\x46\x63\x51\x71','\x57\x50\x66\x69\x57\x34\x56\x63\x4f\x57','\x72\x72\x39\x72\x42\x43\x6f\x63','\x57\x50\x66\x38\x57\x4f\x42\x64\x56\x4b\x54\x70','\x69\x76\x74\x63\x54\x38\x6f\x70\x57\x50\x4b','\x57\x52\x76\x37\x57\x51\x53\x52\x74\x57','\x57\x35\x46\x63\x4a\x53\x6f\x4b\x61\x38\x6f\x45\x57\x50\x65\x77\x63\x61','\x41\x31\x30\x74\x57\x37\x75\x70\x57\x51\x4a\x63\x56\x71','\x57\x4f\x52\x63\x4f\x4c\x56\x64\x51\x43\x6b\x4b\x57\x35\x78\x63\x51\x43\x6b\x53','\x57\x51\x48\x66\x57\x51\x68\x64\x53\x30\x4f','\x57\x4f\x62\x59\x57\x50\x5a\x64\x50\x66\x66\x41\x57\x50\x52\x64\x50\x61','\x6e\x62\x70\x64\x4d\x48\x39\x57','\x57\x37\x4f\x72\x57\x52\x70\x64\x56\x68\x4e\x63\x4c\x49\x78\x63\x4f\x71','\x57\x52\x37\x63\x53\x77\x68\x64\x4c\x63\x46\x64\x54\x68\x5a\x64\x4f\x61','\x57\x35\x7a\x4a\x57\x34\x5a\x64\x4e\x43\x6b\x50\x45\x43\x6f\x33','\x57\x50\x7a\x44\x57\x50\x61\x58','\x57\x50\x46\x63\x55\x67\x42\x64\x54\x53\x6b\x4f\x57\x35\x74\x63\x52\x53\x6b\x53','\x45\x53\x6b\x48\x63\x48\x79','\x42\x71\x56\x63\x50\x43\x6b\x64\x57\x4f\x74\x64\x50\x53\x6b\x4e\x57\x52\x47','\x57\x4f\x4a\x63\x50\x67\x52\x64\x56\x53\x6b\x59','\x57\x37\x4a\x64\x54\x73\x70\x64\x51\x57','\x57\x4f\x74\x64\x54\x4b\x72\x61\x66\x68\x6c\x64\x50\x43\x6b\x6d\x6b\x53\x6f\x44\x6b\x76\x4b\x78','\x7a\x68\x33\x63\x49\x43\x6b\x48\x45\x61','\x78\x47\x6a\x32\x71\x43\x6f\x59','\x57\x37\x37\x63\x52\x38\x6f\x4e\x67\x38\x6f\x68','\x70\x38\x6f\x68\x57\x35\x7a\x48\x77\x53\x6b\x6f\x57\x37\x68\x63\x52\x47','\x79\x43\x6b\x31\x65\x72\x2f\x64\x47\x71','\x57\x37\x39\x51\x57\x51\x7a\x30\x57\x4f\x43','\x79\x6d\x6f\x36\x57\x35\x39\x62\x76\x71','\x57\x50\x42\x63\x51\x67\x6c\x64\x56\x53\x6b\x5a\x57\x34\x78\x63\x54\x6d\x6b\x51','\x57\x36\x43\x78\x57\x51\x37\x64\x54\x61','\x6b\x6d\x6f\x30\x67\x30\x74\x64\x4d\x53\x6f\x50\x71\x38\x6f\x74\x72\x58\x6c\x64\x51\x6d\x6b\x33\x73\x71','\x69\x4e\x4a\x63\x56\x53\x6f\x57\x57\x4f\x53','\x57\x35\x78\x64\x4e\x43\x6f\x71\x57\x52\x79','\x57\x4f\x6e\x6c\x57\x34\x5a\x63\x55\x59\x6d','\x46\x6d\x6f\x41\x57\x35\x71','\x57\x52\x4a\x63\x50\x76\x56\x64\x4a\x5a\x33\x64\x4f\x78\x33\x64\x4f\x57','\x57\x35\x65\x51\x57\x4f\x33\x64\x49\x4c\x75','\x57\x37\x52\x64\x4f\x43\x6f\x61\x57\x52\x61\x34\x69\x43\x6f\x58\x57\x50\x69','\x57\x34\x64\x63\x53\x78\x4b\x67\x57\x50\x4b','\x57\x4f\x4c\x73\x79\x58\x7a\x32','\x57\x34\x4a\x64\x4f\x59\x70\x64\x56\x6d\x6b\x66\x73\x32\x65','\x68\x64\x68\x64\x4e\x59\x72\x75','\x79\x4b\x74\x64\x47\x64\x65\x35','\x57\x4f\x6a\x4f\x57\x36\x46\x63\x49\x47','\x57\x51\x38\x52\x57\x50\x42\x64\x53\x71','\x41\x66\x7a\x6b\x6b\x57\x34\x79','\x57\x51\x47\x48\x57\x50\x76\x42\x57\x4f\x37\x63\x4a\x64\x33\x63\x4c\x57','\x79\x53\x6f\x71\x57\x35\x62\x49\x71\x43\x6b\x79\x57\x36\x2f\x63\x51\x57','\x62\x72\x37\x64\x4c\x62\x6a\x44','\x65\x38\x6f\x63\x57\x37\x38\x61\x57\x51\x71','\x57\x36\x66\x39\x57\x51\x62\x64\x57\x50\x4f','\x57\x37\x78\x63\x4b\x4b\x75\x42\x57\x36\x34','\x57\x51\x68\x64\x56\x6d\x6f\x32\x41\x6d\x6b\x70\x67\x68\x69\x64','\x64\x38\x6b\x44\x57\x50\x6a\x51','\x57\x4f\x72\x51\x57\x51\x53\x5a\x43\x61','\x69\x77\x33\x63\x53\x6d\x6f\x70\x57\x51\x57','\x64\x6d\x6b\x7a\x78\x38\x6f\x42\x6e\x78\x71\x50','\x57\x37\x68\x63\x4c\x78\x57\x56\x57\x37\x56\x63\x55\x77\x46\x63\x54\x57','\x57\x35\x79\x31\x57\x52\x64\x63\x55\x49\x6a\x4e\x57\x36\x76\x78\x57\x34\x4f\x71\x57\x50\x70\x63\x49\x6d\x6b\x33','\x77\x74\x4f\x6a\x57\x50\x79\x34\x6e\x58\x52\x64\x52\x61','\x66\x68\x52\x63\x4f\x43\x6f\x75\x57\x52\x6c\x63\x49\x47','\x57\x34\x64\x64\x4d\x78\x30\x46\x78\x61','\x6a\x43\x6b\x69\x6e\x38\x6f\x56\x57\x34\x34\x38','\x61\x62\x42\x64\x49\x61\x31\x4f','\x57\x50\x4e\x64\x4e\x53\x6f\x4b\x57\x4f\x33\x64\x52\x57','\x57\x4f\x6a\x4d\x57\x34\x4a\x64\x4c\x53\x6b\x4a\x6a\x6d\x6f\x57\x57\x34\x47','\x6b\x53\x6f\x2b\x57\x35\x34\x43','\x57\x35\x64\x63\x54\x47\x75\x7a\x75\x47','\x46\x53\x6b\x30\x67\x58\x4f','\x67\x38\x6b\x4d\x57\x51\x47\x32','\x6f\x38\x6b\x6d\x57\x34\x62\x62\x44\x47','\x57\x4f\x7a\x2f\x57\x37\x33\x63\x4c\x72\x75','\x42\x65\x2f\x63\x54\x43\x6b\x37\x7a\x61','\x45\x66\x71\x72\x57\x37\x57\x70\x57\x51\x2f\x63\x4f\x43\x6f\x55','\x57\x36\x6d\x65\x57\x52\x78\x64\x51\x4e\x47','\x57\x35\x56\x64\x52\x74\x4a\x64\x4e\x38\x6b\x5a','\x72\x64\x6e\x77\x71\x6d\x6f\x46','\x57\x35\x2f\x63\x4e\x68\x6d\x37\x57\x37\x56\x64\x53\x71','\x57\x51\x42\x64\x53\x38\x6f\x37\x57\x4f\x70\x64\x51\x43\x6b\x4b\x76\x6d\x6b\x2b','\x57\x37\x48\x34\x57\x50\x7a\x78\x57\x52\x69','\x6e\x43\x6b\x46\x6c\x53\x6f\x4a\x57\x35\x69','\x57\x34\x78\x63\x53\x71\x71\x45','\x70\x53\x6b\x68\x57\x34\x4b\x4d\x44\x43\x6f\x31\x57\x52\x7a\x6f','\x69\x38\x6b\x43\x57\x50\x61\x4b\x6e\x4b\x68\x63\x48\x38\x6b\x37','\x7a\x6d\x6f\x66\x57\x4f\x74\x64\x53\x6d\x6b\x61\x57\x4f\x74\x63\x4a\x71\x6d','\x41\x43\x6b\x35\x77\x72\x4b','\x57\x52\x68\x63\x48\x5a\x4b\x37\x75\x32\x57','\x57\x50\x72\x6a\x57\x50\x43\x57\x7a\x68\x30','\x57\x35\x62\x5a\x57\x4f\x2f\x64\x4b\x53\x6b\x31\x79\x38\x6f\x54','\x57\x52\x30\x39\x57\x51\x68\x64\x47\x66\x47','\x44\x43\x6f\x6a\x57\x50\x2f\x64\x4c\x6d\x6b\x75\x57\x50\x6c\x63\x53\x72\x34','\x43\x31\x79\x6b\x57\x34\x65\x47','\x45\x78\x62\x6f\x6b\x72\x69\x6f\x57\x35\x30','\x66\x6d\x6b\x58\x57\x4f\x53\x48\x65\x65\x57','\x41\x76\x43\x55\x57\x35\x38\x30','\x57\x51\x42\x63\x51\x64\x61\x51\x76\x61','\x57\x34\x47\x38\x57\x50\x78\x63\x4a\x43\x6f\x36\x57\x35\x70\x64\x52\x77\x6d','\x61\x32\x5a\x63\x49\x53\x6f\x6f\x57\x51\x4e\x63\x4a\x31\x74\x64\x4f\x61','\x76\x4a\x35\x59\x46\x6d\x6f\x64','\x57\x4f\x70\x63\x54\x68\x33\x64\x56\x4a\x57','\x77\x73\x6d\x63\x57\x50\x47\x30','\x65\x43\x6b\x47\x79\x53\x6f\x6b\x57\x52\x6d','\x57\x35\x68\x64\x56\x38\x6f\x67\x57\x52\x61\x63','\x69\x6d\x6b\x37\x57\x50\x6d\x72\x57\x37\x38','\x68\x43\x6b\x68\x42\x38\x6f\x68\x66\x68\x43\x2b\x74\x61','\x57\x34\x70\x63\x47\x4d\x38\x79\x57\x35\x38\x57\x57\x34\x72\x71','\x57\x4f\x50\x49\x57\x4f\x4b\x75\x45\x47','\x44\x53\x6b\x62\x57\x35\x72\x4c\x45\x6d\x6f\x4a\x57\x36\x53','\x71\x76\x68\x64\x4e\x58\x43\x37','\x57\x35\x46\x63\x47\x43\x6f\x73\x62\x6d\x6f\x64\x57\x4f\x38\x47\x68\x47','\x69\x43\x6b\x61\x57\x36\x66\x41\x78\x6d\x6b\x67\x57\x35\x68\x63\x56\x57','\x57\x50\x62\x4f\x57\x50\x68\x64\x54\x65\x62\x42\x57\x50\x57','\x57\x52\x33\x63\x54\x4d\x4e\x64\x4c\x63\x79','\x75\x53\x6b\x47\x72\x72\x52\x63\x53\x61','\x66\x78\x6c\x63\x53\x53\x6f\x74\x57\x52\x33\x63\x47\x71','\x57\x34\x46\x63\x4a\x4d\x53\x6c\x57\x52\x4b\x2f\x57\x34\x44\x68','\x57\x36\x64\x63\x4b\x68\x4f\x59\x57\x36\x37\x64\x54\x77\x42\x64\x52\x61','\x57\x35\x57\x30\x57\x50\x68\x64\x56\x4c\x2f\x64\x4c\x32\x4c\x6b','\x57\x37\x33\x64\x56\x57\x56\x64\x4a\x43\x6b\x73','\x6f\x53\x6b\x66\x57\x34\x48\x55\x79\x47','\x57\x36\x54\x31\x57\x52\x76\x6a\x57\x51\x5a\x63\x51\x48\x52\x63\x4b\x57','\x68\x6d\x6b\x62\x7a\x6d\x6f\x63\x6a\x71','\x57\x51\x46\x64\x4f\x38\x6f\x59\x57\x4f\x78\x64\x52\x38\x6b\x4a\x71\x47','\x57\x37\x37\x63\x4a\x75\x53\x65\x57\x35\x30','\x71\x47\x69\x4e\x57\x52\x4b\x38','\x57\x51\x48\x56\x57\x37\x68\x63\x49\x5a\x6c\x63\x55\x78\x37\x63\x53\x61','\x57\x37\x66\x4c\x57\x52\x7a\x59\x57\x50\x4a\x63\x50\x47\x64\x63\x4e\x57','\x46\x33\x31\x6b\x6c\x61\x47\x6f\x57\x35\x34\x35','\x57\x37\x56\x64\x4a\x5a\x5a\x63\x52\x57','\x44\x62\x42\x64\x4e\x38\x6f\x47\x57\x34\x64\x63\x4f\x53\x6f\x42\x57\x37\x6d','\x57\x34\x68\x63\x47\x53\x6f\x53\x62\x6d\x6f\x46\x57\x50\x65','\x57\x34\x64\x64\x52\x43\x6f\x56\x57\x50\x43\x2b','\x61\x53\x6b\x6b\x57\x34\x47\x4d\x43\x53\x6f\x4a\x57\x52\x66\x69','\x62\x6d\x6b\x4d\x64\x43\x6f\x31\x57\x37\x71','\x57\x34\x52\x64\x4b\x38\x6b\x55\x57\x34\x6d\x49\x71\x53\x6f\x62','\x57\x35\x74\x63\x54\x61\x43\x41\x77\x71','\x6d\x43\x6b\x79\x57\x34\x42\x63\x49\x38\x6f\x6e\x57\x4f\x2f\x63\x4a\x71\x4b\x55\x43\x68\x43','\x57\x37\x69\x6a\x57\x50\x33\x64\x49\x53\x6f\x5a\x68\x38\x6b\x51\x45\x6d\x6b\x38\x7a\x6d\x6f\x52\x68\x78\x34','\x7a\x53\x6f\x78\x57\x51\x33\x63\x4d\x6d\x6b\x4d\x57\x50\x70\x63\x55\x48\x57','\x57\x50\x78\x64\x47\x33\x4b\x6d\x57\x50\x61\x4b\x57\x34\x34\x79','\x57\x4f\x7a\x2f\x57\x34\x5a\x63\x4e\x43\x6b\x75','\x64\x43\x6b\x79\x57\x52\x6d\x38\x57\x36\x61','\x57\x35\x52\x63\x50\x77\x6d\x68\x57\x52\x71','\x62\x66\x4e\x63\x4e\x43\x6f\x78\x57\x51\x79','\x57\x35\x50\x38\x57\x34\x46\x64\x53\x6d\x6b\x62','\x57\x36\x2f\x64\x4a\x5a\x46\x64\x52\x73\x2f\x63\x53\x43\x6b\x4b\x76\x71','\x57\x36\x30\x36\x57\x50\x37\x63\x4c\x53\x6f\x56\x57\x35\x42\x64\x53\x74\x43','\x42\x76\x30\x68','\x6a\x38\x6f\x30\x57\x35\x4b\x78','\x57\x4f\x46\x64\x4d\x43\x6f\x46\x57\x50\x78\x64\x4e\x47','\x57\x52\x62\x70\x57\x34\x2f\x63\x49\x6d\x6b\x59\x77\x61','\x57\x50\x48\x47\x42\x71\x4c\x6e','\x45\x6d\x6b\x4c\x68\x57\x33\x64\x48\x6d\x6b\x32','\x72\x4c\x6c\x64\x55\x4a\x30\x44','\x57\x36\x4e\x63\x4f\x48\x68\x63\x4d\x49\x37\x63\x4e\x71','\x57\x50\x42\x63\x51\x67\x78\x64\x51\x6d\x6b\x55\x57\x34\x34','\x57\x36\x6c\x64\x4c\x64\x30','\x57\x51\x48\x41\x57\x34\x43\x51\x57\x36\x69','\x64\x66\x68\x63\x4f\x53\x6f\x5a\x57\x50\x65','\x57\x37\x6a\x74\x57\x35\x6c\x64\x56\x6d\x6b\x72','\x57\x37\x5a\x64\x4d\x49\x37\x64\x56\x4e\x38\x76','\x57\x37\x57\x59\x57\x4f\x74\x64\x56\x31\x65','\x57\x52\x7a\x7a\x57\x51\x43\x77\x72\x61','\x57\x34\x78\x63\x50\x71\x75\x66\x72\x71','\x57\x52\x37\x64\x53\x6d\x6b\x30\x7a\x6d\x6b\x77\x68\x67\x4f\x70','\x72\x74\x30\x69\x57\x50\x43\x63','\x43\x6d\x6f\x76\x57\x50\x6c\x64\x4c\x43\x6b\x43\x57\x50\x6c\x63\x52\x62\x71','\x73\x76\x74\x64\x56\x48\x76\x54\x57\x35\x78\x63\x48\x76\x61','\x63\x72\x61\x53\x73\x38\x6b\x6b\x63\x64\x53\x71','\x57\x34\x6c\x64\x49\x6d\x6f\x62\x57\x52\x43\x6e\x6b\x38\x6f\x31\x57\x4f\x69','\x66\x6d\x6f\x35\x57\x35\x6a\x73\x57\x4f\x46\x64\x4b\x73\x5a\x63\x56\x57','\x57\x51\x56\x63\x50\x65\x46\x64\x52\x49\x65','\x6a\x53\x6f\x2b\x57\x34\x76\x73','\x57\x4f\x48\x44\x57\x36\x5a\x63\x51\x53\x6f\x58','\x41\x65\x46\x63\x4b\x38\x6b\x45\x73\x61','\x57\x4f\x4e\x63\x51\x4b\x52\x64\x56\x38\x6b\x51','\x57\x51\x74\x64\x51\x53\x6b\x34\x6a\x53\x6b\x76\x67\x33\x65\x65','\x57\x37\x34\x37\x57\x51\x46\x63\x53\x53\x6f\x72','\x43\x31\x44\x6a\x61\x61\x4b\x6f\x57\x35\x57\x70','\x57\x51\x74\x63\x51\x61\x4f\x50\x41\x47','\x57\x50\x50\x49\x57\x36\x56\x63\x49\x59\x78\x63\x4d\x76\x4a\x63\x55\x57','\x42\x38\x6b\x54\x66\x63\x74\x64\x4d\x61','\x57\x50\x4a\x64\x4b\x43\x6b\x4a\x57\x34\x4b\x47\x71\x61','\x57\x37\x78\x63\x4c\x4b\x61\x4b\x77\x53\x6f\x49\x57\x51\x5a\x64\x52\x61','\x77\x63\x34\x46\x57\x50\x69\x2f\x6a\x61','\x57\x35\x42\x63\x49\x32\x38\x5a\x57\x37\x30','\x57\x4f\x6a\x58\x57\x35\x4e\x63\x51\x76\x69\x58\x57\x52\x39\x78','\x57\x35\x69\x4c\x57\x51\x70\x64\x4b\x65\x66\x64\x57\x51\x6c\x64\x52\x71','\x57\x50\x78\x63\x48\x32\x6d\x62\x57\x50\x50\x2b\x57\x35\x47\x6c','\x57\x4f\x37\x63\x47\x62\x57\x2b\x75\x61','\x6f\x53\x6b\x62\x57\x50\x6d\x57\x65\x71','\x57\x50\x2f\x64\x48\x6d\x6b\x58\x57\x50\x47','\x57\x50\x35\x52\x57\x52\x62\x4b\x57\x37\x4a\x64\x53\x61\x4a\x63\x56\x47','\x57\x50\x5a\x64\x4d\x43\x6f\x39\x65\x43\x6f\x45\x57\x4f\x4f\x32','\x57\x52\x6d\x78\x57\x51\x6c\x64\x52\x33\x74\x64\x4b\x59\x64\x64\x50\x61','\x57\x35\x46\x63\x48\x65\x43\x47\x57\x52\x75','\x6e\x4b\x5a\x64\x56\x38\x6f\x7a','\x57\x51\x39\x78\x43\x71\x4c\x52','\x74\x53\x6b\x6f\x6c\x71\x46\x64\x55\x47','\x57\x4f\x58\x31\x57\x37\x46\x63\x49\x4a\x6c\x63\x4a\x31\x2f\x63\x55\x57','\x57\x52\x56\x63\x47\x77\x42\x63\x51\x4d\x70\x64\x55\x53\x6b\x44\x45\x38\x6b\x5a\x57\x50\x65\x45\x75\x61','\x57\x50\x56\x64\x4c\x6d\x6f\x32\x57\x51\x5a\x64\x4a\x61','\x43\x75\x33\x64\x48\x64\x71\x53','\x57\x50\x4a\x64\x4c\x43\x6b\x32\x57\x35\x6d\x48\x73\x71','\x66\x68\x37\x63\x54\x6d\x6f\x6f\x57\x52\x70\x63\x47\x57','\x57\x36\x68\x63\x4d\x5a\x56\x63\x54\x32\x69\x68\x57\x36\x62\x50','\x6a\x43\x6b\x66\x57\x52\x65\x76\x57\x36\x38','\x57\x50\x4a\x64\x51\x6d\x6b\x36\x57\x34\x6d\x61','\x57\x34\x74\x63\x49\x33\x71\x4f\x57\x36\x52\x64\x4e\x33\x5a\x63\x55\x47','\x57\x34\x33\x64\x4a\x6d\x6f\x42\x57\x52\x75\x45\x6c\x61','\x68\x6d\x6b\x53\x57\x52\x69\x52\x57\x37\x33\x63\x4f\x77\x79','\x57\x37\x4f\x77\x57\x4f\x42\x64\x51\x32\x2f\x64\x4c\x59\x34','\x57\x51\x35\x41\x57\x35\x34','\x57\x51\x62\x75\x57\x51\x52\x64\x4b\x32\x30','\x6d\x38\x6f\x30\x57\x35\x4b\x77\x57\x4f\x74\x64\x48\x47\x46\x63\x54\x71','\x57\x50\x35\x34\x57\x34\x38\x51\x57\x37\x46\x64\x54\x47\x52\x64\x54\x47','\x66\x53\x6b\x31\x57\x4f\x47\x4a','\x76\x71\x76\x53\x71\x38\x6f\x6c\x64\x49\x65\x66','\x64\x53\x6b\x6d\x57\x35\x54\x4c','\x57\x50\x66\x34\x57\x50\x70\x64\x50\x65\x50\x67','\x78\x53\x6b\x62\x62\x59\x2f\x64\x50\x57','\x6d\x71\x70\x64\x51\x43\x6f\x65\x57\x34\x56\x64\x52\x38\x6f\x49\x57\x37\x34','\x57\x51\x48\x32\x78\x59\x39\x78\x57\x4f\x44\x69\x57\x37\x75','\x6e\x4b\x78\x64\x50\x43\x6f\x53\x57\x34\x4f','\x57\x51\x30\x36\x57\x50\x46\x64\x50\x77\x30','\x6a\x43\x6b\x78\x57\x34\x39\x52\x46\x43\x6f\x59\x57\x52\x66\x6f','\x57\x34\x42\x63\x53\x72\x75\x42\x73\x74\x6c\x63\x50\x6d\x6b\x68','\x57\x52\x33\x64\x53\x6d\x6b\x4c\x79\x71','\x45\x43\x6b\x30\x68\x57\x52\x64\x4e\x53\x6b\x52','\x46\x78\x74\x64\x54\x4e\x75\x57\x57\x34\x65\x35\x57\x35\x65','\x41\x31\x30\x63\x57\x36\x4f\x62\x57\x51\x75','\x57\x34\x46\x64\x4f\x59\x4f','\x62\x33\x46\x64\x4f\x53\x6f\x4d\x57\x36\x75','\x44\x38\x6f\x70\x57\x51\x70\x64\x4a\x6d\x6b\x68\x57\x4f\x2f\x63\x54\x48\x79','\x57\x35\x47\x31\x57\x51\x2f\x64\x4a\x68\x74\x64\x49\x74\x4e\x63\x4b\x68\x33\x63\x48\x43\x6f\x49\x57\x51\x70\x64\x52\x47','\x57\x37\x6d\x57\x57\x50\x42\x64\x47\x38\x6f\x36\x57\x34\x5a\x64\x52\x74\x57','\x61\x43\x6b\x38\x57\x52\x69\x57','\x68\x38\x6b\x44\x57\x4f\x44\x39','\x6f\x47\x37\x64\x50\x58\x76\x6c','\x6e\x43\x6f\x2f\x57\x35\x57\x43\x57\x4f\x37\x64\x47\x5a\x79','\x57\x52\x64\x63\x4a\x4a\x65\x52\x77\x71','\x57\x37\x57\x52\x68\x78\x38\x68\x57\x52\x66\x34\x57\x37\x2f\x63\x51\x62\x42\x64\x56\x71','\x71\x4b\x5a\x64\x4e\x74\x6e\x39\x57\x35\x46\x63\x50\x4c\x30','\x42\x73\x4f\x66\x57\x50\x35\x52\x79\x57','\x57\x51\x6a\x2b\x57\x50\x68\x64\x53\x4c\x76\x43','\x75\x59\x71\x46\x57\x50\x47\x57','\x61\x68\x6c\x63\x55\x43\x6f\x79\x57\x51\x38','\x57\x52\x6e\x41\x57\x35\x5a\x63\x4a\x38\x6b\x49','\x57\x37\x4a\x64\x4c\x49\x52\x64\x54\x5a\x78\x63\x50\x71','\x70\x6d\x6b\x76\x57\x35\x58\x49\x72\x38\x6b\x69\x57\x36\x4e\x63\x53\x61','\x57\x36\x37\x63\x4a\x61\x69\x75\x43\x49\x70\x63\x50\x53\x6b\x6c','\x57\x37\x38\x4c\x65\x33\x47\x68\x57\x36\x62\x68\x57\x35\x64\x63\x48\x74\x52\x64\x53\x38\x6f\x31','\x57\x50\x44\x47\x57\x37\x43','\x6a\x6d\x6b\x37\x71\x43\x6f\x56\x57\x50\x75','\x41\x4c\x30\x63\x57\x36\x53\x6e\x57\x51\x6d','\x66\x48\x52\x64\x4d\x73\x76\x74','\x7a\x43\x6b\x31\x63\x48\x33\x64\x48\x6d\x6b\x31\x6f\x71','\x57\x34\x46\x63\x4a\x4d\x53\x43\x57\x50\x61\x34','\x68\x59\x56\x64\x4f\x64\x38\x2b\x57\x37\x6d\x53\x57\x34\x43','\x78\x78\x74\x63\x4b\x38\x6b\x59','\x57\x52\x70\x64\x53\x61\x5a\x63\x4c\x5a\x6c\x63\x4f\x53\x6b\x78\x57\x35\x61','\x71\x72\x72\x51\x42\x38\x6f\x74\x62\x49\x71\x77','\x57\x50\x4b\x32\x57\x35\x4a\x64\x53\x31\x74\x63\x4d\x5a\x4f\x71','\x57\x37\x33\x64\x4a\x59\x4a\x64\x56\x4e\x38\x76\x57\x36\x50\x53','\x46\x43\x6f\x42\x57\x35\x35\x71\x75\x71','\x57\x37\x33\x64\x4a\x4a\x4a\x64\x55\x4e\x47\x67\x57\x37\x44\x56','\x57\x50\x4e\x64\x48\x6d\x6b\x32\x57\x35\x71\x37\x76\x61','\x57\x50\x6e\x67\x57\x4f\x47\x33\x7a\x77\x31\x68','\x57\x36\x31\x30\x57\x4f\x6a\x35\x57\x52\x38','\x62\x53\x6b\x74\x57\x36\x4c\x6a\x77\x47','\x57\x51\x54\x49\x57\x34\x37\x63\x4d\x6d\x6f\x73','\x57\x50\x52\x64\x48\x43\x6b\x4b\x57\x34\x47','\x57\x50\x6d\x37\x57\x36\x64\x64\x4a\x53\x6b\x49\x71\x38\x6f\x69\x57\x4f\x61','\x57\x35\x64\x63\x51\x48\x38\x47\x79\x57','\x57\x37\x56\x63\x4f\x66\x46\x64\x4b\x63\x56\x63\x52\x33\x56\x63\x50\x47','\x57\x37\x5a\x63\x54\x53\x6f\x49\x6f\x53\x6f\x6a\x78\x59\x30\x67\x7a\x53\x6b\x43\x62\x53\x6f\x52\x45\x57','\x6a\x4c\x52\x64\x52\x53\x6f\x63\x57\x34\x47','\x57\x37\x4a\x64\x4b\x4a\x78\x64\x55\x33\x61\x67\x57\x36\x50\x4c','\x46\x4e\x69\x58\x57\x37\x47\x34','\x57\x52\x62\x6f\x57\x34\x5a\x63\x4b\x43\x6b\x55\x78\x38\x6f\x52\x43\x57','\x57\x37\x6c\x63\x53\x48\x69\x65\x75\x61','\x57\x51\x54\x6f\x57\x34\x5a\x63\x4f\x38\x6b\x31\x74\x53\x6f\x50\x46\x57','\x57\x35\x44\x71\x57\x35\x6c\x64\x4b\x43\x6b\x47','\x6d\x38\x6b\x71\x57\x35\x39\x50\x7a\x47','\x73\x4c\x74\x63\x4e\x38\x6b\x5a\x45\x71','\x41\x53\x6b\x34\x73\x57\x78\x63\x4e\x43\x6b\x56','\x57\x51\x6c\x63\x4d\x5a\x78\x64\x4f\x4d\x75\x72\x57\x36\x58\x4e','\x57\x35\x66\x2b\x57\x34\x64\x64\x4a\x6d\x6b\x5a\x46\x57','\x73\x48\x72\x57\x74\x43\x6f\x72\x61\x71','\x46\x4e\x71\x4e\x57\x37\x43\x4f','\x57\x4f\x74\x64\x56\x75\x35\x63\x66\x4e\x2f\x64\x4f\x6d\x6b\x4e\x6b\x53\x6f\x6e\x64\x31\x69\x45','\x57\x51\x56\x63\x4c\x5a\x4f\x78\x74\x4d\x43\x39\x57\x52\x71','\x57\x50\x6e\x6c\x57\x37\x64\x63\x55\x43\x6f\x37','\x57\x50\x50\x34\x57\x37\x33\x63\x4d\x49\x70\x63\x4a\x33\x38','\x57\x36\x30\x38\x57\x50\x33\x63\x4a\x38\x6f\x36\x57\x34\x56\x64\x54\x5a\x79','\x61\x30\x4a\x63\x52\x6d\x6f\x74\x57\x52\x38','\x45\x43\x6b\x4c\x68\x57\x5a\x64\x49\x6d\x6b\x57','\x57\x50\x64\x64\x52\x77\x4a\x64\x56\x53\x6b\x47\x57\x34\x74\x64\x55\x53\x6b\x39','\x6a\x6d\x6f\x7a\x57\x35\x34\x64\x57\x50\x4b','\x57\x51\x39\x32\x57\x36\x61\x50','\x71\x38\x6b\x59\x6c\x5a\x74\x64\x56\x57','\x78\x38\x6b\x39\x57\x51\x57\x4f','\x57\x34\x6c\x64\x54\x72\x46\x64\x52\x33\x34'];_0xe2f9=function(){return _0x4cd1e7;};return _0xe2f9();}const _0x1dac65=require('\x66\x73'),_0x2224e6=require(_0x16aa4a(0x143,'\x76\x23\x65\x28')),{getNodeId:_0x15e732,getHubNodeSecret:_0x587c25,getHubUrl:_0x50fc21}=require('\x2e\x2f\x61\x32\x61\x50\x72\x6f'+_0x16aa4a(0x120,'\x5a\x37\x50\x73')),{hubFetch:_0x51a31f}=require(_0x16aa4a(0x107,'\x51\x31\x47\x5a')+'\x63\x68'),{logAssetCall:_0x431cec}=require('\x2e\x2f\x61\x73\x73\x65\x74\x43'+'\x61\x6c\x6c\x4c\x6f\x67'),_0x343bb4=_0x2224e6['\x6a\x6f\x69\x6e'](require(_0x16aa4a(0x1f4,'\x75\x79\x37\x78'))[_0x16aa4a(0x238,'\x67\x43\x51\x61')+_0x16aa4a(0x16b,'\x5b\x41\x24\x58')](),'\x68\x75\x62\x5f\x72\x65\x76\x69'+_0x16aa4a(0x13f,'\x6d\x42\x78\x53')+_0x16aa4a(0x18b,'\x26\x56\x52\x4a')),_0x40a4f5=-0x26d8+-0x249+0x2b15;function _0x536945(){const _0x2ec659=_0x16aa4a,_0x342911={};_0x342911[_0x2ec659(0x13b,'\x23\x6c\x6f\x64')]=_0x2ec659(0x1f2,'\x36\x61\x66\x6e'),_0x342911['\x64\x71\x54\x77\x54']=function(_0x52b533,_0x7b05f7){return _0x52b533===_0x7b05f7;},_0x342911[_0x2ec659(0x199,'\x41\x54\x35\x46')]='\x58\x51\x6f\x68\x52';const _0x1f0d79=_0x342911;try{if(!_0x1dac65[_0x2ec659(0x138,'\x75\x79\x37\x78')+'\x6e\x63'](_0x343bb4))return{};const _0x51df66=_0x1dac65[_0x2ec659(0x1a6,'\x53\x47\x6b\x76')+_0x2ec659(0x146,'\x79\x55\x32\x5b')](_0x343bb4,_0x1f0d79[_0x2ec659(0x15d,'\x66\x5e\x4d\x65')]);if(!_0x51df66[_0x2ec659(0x133,'\x5a\x37\x50\x73')]())return{};return JSON[_0x2ec659(0x22a,'\x49\x47\x35\x45')](_0x51df66);}catch{return _0x1f0d79[_0x2ec659(0x1ac,'\x5b\x41\x24\x58')](_0x1f0d79[_0x2ec659(0x110,'\x26\x56\x52\x4a')],_0x1f0d79[_0x2ec659(0x11b,'\x36\x57\x59\x71')])?{}:{};}}function _0x4b78a3(_0x1c8d77){const _0x4cc895=_0x16aa4a,_0x16b246={};_0x16b246[_0x4cc895(0x124,'\x23\x6c\x6f\x64')]=_0x4cc895(0x220,'\x38\x29\x5d\x6c'),_0x16b246['\x6f\x57\x43\x66\x4c']=function(_0x2cc60e,_0x16ab91){return _0x2cc60e>_0x16ab91;},_0x16b246[_0x4cc895(0xb3,'\x47\x53\x21\x74')]=function(_0x3c377c,_0x424324){return _0x3c377c===_0x424324;},_0x16b246['\x4e\x73\x61\x43\x4b']=_0x4cc895(0xb9,'\x26\x56\x52\x4a'),_0x16b246[_0x4cc895(0x1a3,'\x6d\x42\x78\x53')]=function(_0x313c30,_0x25110f){return _0x313c30-_0x25110f;},_0x16b246[_0x4cc895(0xe6,'\x53\x6f\x5d\x67')]=function(_0x8fa0a7,_0x47f2ed){return _0x8fa0a7+_0x47f2ed;},_0x16b246[_0x4cc895(0xf7,'\x46\x21\x53\x4b')]=_0x4cc895(0xcc,'\x62\x71\x75\x62');const _0x181830=_0x16b246;try{const _0x7d4325=_0x2224e6['\x64\x69\x72\x6e\x61\x6d\x65'](_0x343bb4),_0x2257e7={};_0x2257e7[_0x4cc895(0x162,'\x51\x31\x47\x5a')+'\x65']=!![];if(!_0x1dac65[_0x4cc895(0x128,'\x25\x4b\x53\x46')+'\x6e\x63'](_0x7d4325))_0x1dac65[_0x4cc895(0x113,'\x75\x79\x37\x78')+'\x63'](_0x7d4325,_0x2257e7);const _0x5949fc=Object[_0x4cc895(0x15e,'\x5a\x4c\x6f\x69')](_0x1c8d77);if(_0x181830[_0x4cc895(0x1d4,'\x46\x37\x5b\x78')](_0x5949fc[_0x4cc895(0x180,'\x25\x4b\x53\x46')],_0x40a4f5)){if(_0x181830[_0x4cc895(0xcf,'\x72\x40\x5d\x70')](_0x181830['\x4e\x73\x61\x43\x4b'],_0x4cc895(0x159,'\x53\x47\x6b\x76'))){const _0x43a9cc=_0x5949fc[_0x4cc895(0x207,'\x49\x47\x35\x45')](_0x10f76e=>({'\x6b':_0x10f76e,'\x74':_0x1c8d77[_0x10f76e]['\x61\x74']||0x138e+0x6+-0x1394}))[_0x4cc895(0x1f7,'\x47\x53\x21\x74')]((_0x2be459,_0x3beea9)=>_0x2be459['\x74']-_0x3beea9['\x74']),_0x412810=_0x43a9cc['\x73\x6c\x69\x63\x65'](0x2637+0x2165+-0x479c,_0x181830['\x66\x70\x57\x68\x68'](_0x5949fc[_0x4cc895(0x190,'\x21\x26\x58\x31')],_0x40a4f5));for(const _0x18f056 of _0x412810)delete _0x1c8d77[_0x18f056['\x6b']];}else try{if(!_0x47a626[_0x4cc895(0x1fa,'\x5a\x4c\x6f\x69')+'\x6e\x63'](_0x13befd))return{};const _0xc2f21=_0x41a5af[_0x4cc895(0x1ab,'\x23\x65\x44\x67')+_0x4cc895(0x236,'\x59\x26\x72\x21')](_0x213da7,EyRwKD[_0x4cc895(0x221,'\x46\x21\x53\x4b')]);if(!_0xc2f21[_0x4cc895(0xf0,'\x67\x63\x37\x52')]())return{};return _0x49fbf5[_0x4cc895(0x1d6,'\x53\x6f\x5d\x67')](_0xc2f21);}catch{return{};}}const _0x276015=_0x181830[_0x4cc895(0x1f8,'\x4e\x58\x29\x21')](_0x343bb4,_0x181830[_0x4cc895(0x154,'\x5a\x4c\x6f\x69')]);_0x1dac65[_0x4cc895(0x203,'\x25\x4b\x53\x46')+_0x4cc895(0xc6,'\x79\x6d\x48\x50')](_0x276015,_0x181830[_0x4cc895(0x1b6,'\x41\x54\x35\x46')](JSON[_0x4cc895(0x23a,'\x55\x67\x24\x29')+'\x79'](_0x1c8d77,null,0x1326+-0x1*0x2149+0xe25),'\x0a'),_0x181830[_0x4cc895(0x11d,'\x63\x4c\x32\x37')]),_0x1dac65['\x72\x65\x6e\x61\x6d\x65\x53\x79'+'\x6e\x63'](_0x276015,_0x343bb4);}catch{}}function _0x41d4a5(_0x40195f){const _0x161459=_0x16aa4a,_0x4386f9={'\x44\x63\x6b\x4d\x57':function(_0x338bc1){return _0x338bc1();}},_0x80cec6=_0x4386f9[_0x161459(0x152,'\x79\x6d\x48\x50')](_0x536945);return!!_0x80cec6[_0x40195f];}function _0x400df5(_0x3d9dfa,_0x1ea508,_0x1fbd67){const _0x1299d3=_0x16aa4a,_0x46aa2f={'\x67\x69\x6a\x4e\x54':function(_0xd0c3cf){return _0xd0c3cf();},'\x44\x4e\x53\x79\x51':function(_0x3cf736,_0x26aec5){return _0x3cf736(_0x26aec5);}},_0x5c7b34=_0x46aa2f[_0x1299d3(0x12c,'\x4a\x39\x73\x29')](_0x536945);_0x5c7b34[_0x3d9dfa]={'\x61\x74':Date[_0x1299d3(0xd4,'\x6e\x6e\x64\x49')](),'\x72\x61\x74\x69\x6e\x67':_0x1ea508,'\x73\x75\x63\x63\x65\x73\x73':_0x1fbd67},_0x46aa2f[_0x1299d3(0x1f9,'\x76\x23\x65\x28')](_0x4b78a3,_0x5c7b34);}function _0x104d17(_0x170178,_0x381f8f){const _0x529f32=_0x16aa4a,_0x19138e={'\x53\x46\x65\x77\x6f':function(_0x23fa36,_0x5b2339,_0x1a3b2e,_0x27bd64){return _0x23fa36(_0x5b2339,_0x1a3b2e,_0x27bd64);},'\x49\x59\x6d\x69\x55':_0x529f32(0xc4,'\x5a\x4c\x6f\x69'),'\x73\x62\x44\x79\x71':function(_0x3b3652,_0x8df6b9){return _0x3b3652===_0x8df6b9;},'\x42\x54\x6f\x4b\x4a':_0x529f32(0x232,'\x46\x21\x53\x4b'),'\x79\x6b\x74\x63\x61':function(_0x1f28c7,_0x9631b9){return _0x1f28c7(_0x9631b9);},'\x4a\x78\x54\x44\x73':function(_0x4281f1,_0x283747){return _0x4281f1>=_0x283747;},'\x4a\x6c\x78\x50\x54':function(_0x5b713d,_0x97b332){return _0x5b713d>_0x97b332;}};if(_0x170178&&_0x170178[_0x529f32(0x1c9,'\x49\x47\x35\x45')]===_0x19138e[_0x529f32(0xf5,'\x72\x40\x5d\x70')]){if(_0x19138e[_0x529f32(0x172,'\x46\x21\x53\x4b')](_0x19138e[_0x529f32(0x21b,'\x47\x53\x21\x74')],_0x529f32(0x1e4,'\x72\x40\x5d\x70'))){const _0x74fa04=_0x19138e[_0x529f32(0x228,'\x7a\x39\x64\x44')](Number,_0x170178[_0x529f32(0x126,'\x6e\x39\x47\x4d')])||0x1*-0xe6b+0x1*-0x26dd+0x3548*0x1;return _0x19138e[_0x529f32(0x100,'\x25\x4b\x53\x46')](_0x74fa04,0x15f+0x1f*0x11b+-0x23a4+0.85)?-0x734+-0x8b2+0xfeb*0x1:-0x1778+-0x13d5+0xd*0x355;}else _0x19138e[_0x529f32(0xd1,'\x5e\x33\x38\x68')](_0x1f80d8,_0x24bfd5,_0x37d9db,![]);}const _0x5b36e6=_0x381f8f&&Array[_0x529f32(0x206,'\x46\x37\x5b\x78')](_0x381f8f[_0x529f32(0xc5,'\x72\x40\x5d\x70')+'\x6e\x73'])&&_0x19138e[_0x529f32(0xf1,'\x38\x4a\x38\x4c')](_0x381f8f[_0x529f32(0xb4,'\x55\x67\x24\x29')+'\x6e\x73'][_0x529f32(0x1cd,'\x66\x6e\x26\x51')],-0x946+-0x608+-0x2*-0x7a7);return _0x5b36e6?-0x1b11+-0x11b+0x1c2d:0x7db*0x3+-0xb11+-0x27*0x52;}function _0x10c3ee({outcome:_0x70d53a,gene:_0x201ab9,signals:_0x59be13,blast:_0x198d15,sourceType:_0x7d9a51}){const _0x31c198=_0x16aa4a,_0x32a648={'\x4c\x4e\x4d\x78\x6f':function(_0x368d2f,_0x2db9c7,_0x5656eb,_0x2d0cb2){return _0x368d2f(_0x2db9c7,_0x5656eb,_0x2d0cb2);},'\x62\x42\x48\x6a\x7a':function(_0x2ea91a,_0x3a606f){return _0x2ea91a+_0x3a606f;},'\x76\x53\x4e\x54\x48':function(_0x460e62,_0x12bd46){return _0x460e62+_0x12bd46;},'\x53\x41\x57\x76\x67':_0x31c198(0x1da,'\x46\x21\x53\x4b')+'\x3d','\x4f\x6c\x50\x50\x63':_0x31c198(0x22c,'\x51\x31\x47\x5a')+'\x65\x3d','\x47\x4f\x77\x44\x4d':function(_0x1dfe0b,_0xe07a7){return _0x1dfe0b(_0xe07a7);},'\x6f\x4e\x69\x68\x4b':function(_0xc2adb,_0x2163cd){return _0xc2adb||_0x2163cd;},'\x6f\x45\x53\x50\x4d':_0x31c198(0x1e5,'\x23\x72\x40\x53')+_0x31c198(0x11a,'\x46\x37\x5b\x78')+_0x31c198(0x153,'\x41\x54\x35\x46'),'\x4d\x62\x44\x76\x6c':function(_0x4fb75c,_0x4fb640){return _0x4fb75c+_0x4fb640;},'\x4b\x6c\x6f\x6b\x58':function(_0x261703,_0x3c234f){return _0x261703+_0x3c234f;},'\x70\x6f\x4d\x46\x5a':function(_0x44ca9e,_0x1fe14b){return _0x44ca9e+_0x1fe14b;},'\x70\x4f\x6c\x56\x66':_0x31c198(0x16c,'\x25\x4b\x53\x46')+_0x31c198(0x111,'\x36\x61\x66\x6e'),'\x73\x66\x68\x41\x65':_0x31c198(0x1a8,'\x38\x7a\x53\x47')+'\x2c\x20','\x51\x72\x52\x49\x63':_0x31c198(0x23e,'\x4a\x39\x73\x29'),'\x47\x41\x48\x5a\x49':function(_0x15b23e,_0x2ff8a9){return _0x15b23e(_0x2ff8a9);},'\x65\x6e\x68\x56\x43':function(_0xee46ab,_0x1adbdf){return _0xee46ab+_0x1adbdf;},'\x70\x56\x74\x65\x57':function(_0x34110e,_0x189e96){return _0x34110e+_0x189e96;},'\x4d\x48\x75\x6b\x65':function(_0x2fbbca,_0x4563c9){return _0x2fbbca+_0x4563c9;},'\x45\x73\x56\x45\x47':function(_0x4ba472,_0x2d5e7a){return _0x4ba472+_0x2d5e7a;},'\x50\x69\x51\x4a\x54':_0x31c198(0x12e,'\x53\x47\x6b\x76')+'\x20','\x46\x66\x75\x4d\x4a':_0x31c198(0x1be,'\x53\x47\x6b\x76')+'\x20','\x43\x49\x58\x44\x48':function(_0x29d882,_0x15c6f1){return _0x29d882+_0x15c6f1;},'\x42\x4c\x61\x6f\x74':_0x31c198(0x105,'\x6e\x6e\x64\x49')+_0x31c198(0x20d,'\x38\x29\x5d\x6c'),'\x70\x62\x79\x52\x6f':_0x31c198(0x226,'\x7a\x39\x64\x44'),'\x58\x51\x57\x61\x7a':function(_0xf98c1d,_0x216a51){return _0xf98c1d>_0x216a51;},'\x76\x61\x73\x71\x63':function(_0x140542,_0x385868){return _0x140542+_0x385868;},'\x70\x61\x75\x57\x53':_0x31c198(0x193,'\x72\x40\x5d\x70')+'\x20','\x65\x6c\x4c\x5a\x67':function(_0x3c0927,_0x3013ad){return _0x3c0927!==_0x3013ad;},'\x75\x43\x58\x69\x4f':_0x31c198(0x196,'\x6d\x42\x78\x53'),'\x63\x4a\x75\x55\x5a':_0x31c198(0x149,'\x67\x43\x51\x61'),'\x49\x72\x51\x4a\x54':function(_0x53bffb,_0x4c10c7){return _0x53bffb+_0x4c10c7;},'\x65\x6d\x6a\x5a\x73':function(_0x1794a9,_0x3b0725){return _0x1794a9===_0x3b0725;},'\x47\x61\x71\x6f\x48':_0x31c198(0x1b7,'\x38\x23\x70\x37')+'\x68\x65\x64\x20\x61\x73\x73\x65'+_0x31c198(0xef,'\x44\x71\x73\x67')+_0x31c198(0x156,'\x6d\x42\x78\x53')+_0x31c198(0x167,'\x75\x47\x7a\x4f')+_0x31c198(0x239,'\x38\x7a\x53\x47')+_0x31c198(0xdd,'\x23\x6c\x6f\x64')+'\x64\x2e','\x63\x6e\x4f\x47\x67':function(_0x482f98,_0x30ddac){return _0x482f98===_0x30ddac;},'\x62\x76\x6d\x65\x72':_0x31c198(0x202,'\x36\x61\x66\x6e'),'\x52\x52\x63\x42\x73':_0x31c198(0x1dd,'\x38\x4a\x38\x4c')+_0x31c198(0x21e,'\x72\x40\x5d\x70')+_0x31c198(0x1ea,'\x72\x25\x30\x35')+_0x31c198(0xc8,'\x58\x6f\x30\x66')+_0x31c198(0x200,'\x55\x67\x24\x29')+'\x65\x73\x73\x66\x75\x6c\x20\x65'+'\x76\x6f\x6c\x75\x74\x69\x6f\x6e'+_0x31c198(0x1b9,'\x36\x61\x66\x6e')},_0x293eca=[],_0x5db29f=_0x70d53a&&_0x70d53a[_0x31c198(0xbe,'\x26\x56\x52\x4a')]?_0x70d53a[_0x31c198(0xbc,'\x73\x4e\x57\x31')]:_0x32a648[_0x31c198(0x125,'\x4a\x39\x73\x29')],_0x2d4993=_0x70d53a&&Number[_0x31c198(0xdb,'\x47\x53\x21\x74')](_0x32a648['\x47\x4f\x77\x44\x4d'](Number,_0x70d53a[_0x31c198(0x119,'\x62\x71\x75\x62')]))?_0x32a648[_0x31c198(0x15a,'\x4e\x58\x29\x21')](Number,_0x70d53a['\x73\x63\x6f\x72\x65'])[_0x31c198(0xdc,'\x49\x47\x35\x45')](-0x2526+0x97c+-0x7*-0x3f4):'\x3f';_0x293eca[_0x31c198(0x184,'\x53\x6f\x5d\x67')](_0x32a648[_0x31c198(0x11f,'\x23\x6c\x6f\x64')](_0x32a648['\x70\x56\x74\x65\x57'](_0x32a648[_0x31c198(0x173,'\x63\x4c\x32\x37')](_0x32a648['\x45\x73\x56\x45\x47'](_0x32a648[_0x31c198(0x198,'\x6e\x39\x47\x4d')],_0x5db29f),_0x32a648['\x46\x66\x75\x4d\x4a']),_0x2d4993),'\x29')),_0x293eca[_0x31c198(0x216,'\x75\x47\x7a\x4f')](_0x32a648[_0x31c198(0x208,'\x23\x6c\x6f\x64')](_0x32a648[_0x31c198(0xed,'\x79\x6d\x48\x50')],_0x32a648[_0x31c198(0x1cc,'\x66\x5e\x4d\x65')](_0x7d9a51,_0x31c198(0x222,'\x38\x4a\x38\x4c'))));_0x201ab9&&_0x201ab9['\x69\x64']&&_0x293eca[_0x31c198(0x122,'\x66\x6e\x23\x4a')](_0x32a648[_0x31c198(0x1f0,'\x67\x63\x37\x52')](_0x32a648[_0x31c198(0xb0,'\x53\x6f\x5d\x67')](_0x32a648[_0x31c198(0x1de,'\x6d\x42\x78\x53')],_0x201ab9['\x69\x64'])+'\x20\x28',_0x201ab9[_0x31c198(0x1dc,'\x41\x54\x35\x46')]||_0x32a648[_0x31c198(0x19a,'\x62\x71\x75\x62')])+'\x29');Array[_0x31c198(0xd7,'\x53\x47\x6b\x76')](_0x59be13)&&_0x32a648[_0x31c198(0x1fd,'\x66\x5e\x4d\x65')](_0x59be13[_0x31c198(0xbf,'\x67\x43\x51\x61')],0x1*-0x19fd+-0xe6b+-0x6*-0x6bc)&&_0x293eca[_0x31c198(0x188,'\x73\x4e\x57\x31')](_0x32a648[_0x31c198(0x11e,'\x36\x57\x59\x71')](_0x32a648[_0x31c198(0x17e,'\x79\x55\x32\x5b')],_0x59be13[_0x31c198(0x106,'\x4a\x39\x73\x29')](0x8b*0x3e+0x1*-0x66a+0x1b4*-0x10,0x1f22*-0x1+-0x1*-0x1429+0xaff)[_0x31c198(0x175,'\x38\x4a\x38\x4c')]('\x2c\x20')));if(_0x198d15){if(_0x32a648[_0x31c198(0xdf,'\x5b\x41\x24\x58')](_0x32a648['\x75\x43\x58\x69\x4f'],_0x32a648[_0x31c198(0x123,'\x5a\x4c\x6f\x69')]))_0x293eca[_0x31c198(0x242,'\x36\x61\x66\x6e')](_0x32a648[_0x31c198(0x1c2,'\x79\x6d\x48\x50')](_0x32a648['\x76\x61\x73\x71\x63'](_0x32a648[_0x31c198(0xcb,'\x76\x23\x65\x28')](_0x32a648[_0x31c198(0x195,'\x67\x43\x51\x61')],_0x198d15[_0x31c198(0x10c,'\x67\x43\x51\x61')]||-0x74a+0x99e+-0x254)+(_0x31c198(0xb1,'\x6d\x42\x78\x53')+'\x2c\x20'),_0x198d15[_0x31c198(0x145,'\x58\x6f\x30\x66')]||0x2*0x8dd+-0x250a+0x1350),_0x31c198(0x174,'\x26\x56\x52\x4a')));else{_0x32a648[_0x31c198(0xcd,'\x55\x67\x24\x29')](_0xb42118,_0x399833,_0x5a3f2f,!![]),_0x4c9763[_0x31c198(0x155,'\x51\x31\x47\x5a')](_0x32a648[_0x31c198(0x169,'\x4a\x39\x73\x29')](_0x32a648[_0x31c198(0x109,'\x4a\x39\x73\x29')](_0x32a648[_0x31c198(0x17f,'\x67\x43\x51\x61')](_0x32a648[_0x31c198(0x17b,'\x59\x26\x72\x21')](_0x31c198(0x186,'\x21\x26\x58\x31')+_0x31c198(0x1bd,'\x5e\x33\x38\x68')+'\x69\x74\x74\x65\x64\x20\x72\x65'+_0x31c198(0x19c,'\x53\x47\x6b\x76')+'\x20',_0x5a7e48),_0x32a648['\x53\x41\x57\x76\x67'])+_0x17b480,_0x32a648[_0x31c198(0x201,'\x38\x29\x5d\x6c')]),_0x3def14&&_0x5c2ab0[_0x31c198(0x217,'\x76\x23\x65\x28')]));const _0x34fede={};_0x34fede[_0x31c198(0x171,'\x36\x57\x59\x71')]=_0x5da347,_0x34fede[_0x31c198(0x103,'\x73\x4e\x57\x31')+_0x31c198(0x160,'\x23\x72\x40\x53')]=_0x53b7f7&&_0x312cb6[_0x31c198(0x23d,'\x36\x61\x66\x6e')],_0x32a648['\x47\x4f\x77\x44\x4d'](_0x39877a,{'\x72\x75\x6e\x5f\x69\x64':_0x32a648[_0x31c198(0x1c1,'\x53\x47\x6b\x76')](_0x31b60c,null),'\x61\x63\x74\x69\x6f\x6e':_0x32a648[_0x31c198(0x15c,'\x46\x21\x53\x4b')],'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x221b0c,'\x65\x78\x74\x72\x61':_0x34fede});const _0x8839d6={};return _0x8839d6[_0x31c198(0x214,'\x38\x23\x70\x37')+'\x64']=!![],_0x8839d6[_0x31c198(0x1d3,'\x55\x67\x24\x29')]=_0x19f4b4,_0x8839d6[_0x31c198(0x11c,'\x36\x61\x66\x6e')]=_0x30d65d,_0x8839d6;}}return _0x32a648[_0x31c198(0x1e8,'\x76\x23\x65\x28')](_0x5db29f,_0x31c198(0x1ad,'\x63\x4c\x32\x37'))?_0x293eca[_0x31c198(0xee,'\x23\x65\x44\x67')](_0x32a648[_0x31c198(0xd8,'\x38\x23\x70\x37')]):_0x32a648[_0x31c198(0x134,'\x67\x43\x51\x61')](_0x32a648[_0x31c198(0x183,'\x36\x57\x59\x71')],_0x31c198(0xec,'\x51\x31\x47\x5a'))?_0x1bb1ab[_0x31c198(0xee,'\x23\x65\x44\x67')](_0x32a648['\x4d\x62\x44\x76\x6c'](_0x32a648[_0x31c198(0x1a4,'\x73\x4e\x57\x31')](_0x32a648[_0x31c198(0x191,'\x6e\x6e\x64\x49')](_0x32a648[_0x31c198(0x14e,'\x51\x31\x47\x5a')]+(_0x2cdf42[_0x31c198(0x229,'\x79\x6d\x48\x50')]||-0x262e+-0x247d*0x1+0x4aab),_0x32a648[_0x31c198(0x212,'\x47\x53\x21\x74')]),_0x253290[_0x31c198(0x121,'\x6e\x39\x47\x4d')]||0x3c3*0x7+0x1343*-0x2+0x1*0xc31),_0x31c198(0x1ef,'\x53\x47\x6b\x76'))):_0x293eca[_0x31c198(0x21f,'\x62\x71\x75\x62')](_0x32a648[_0x31c198(0x12b,'\x66\x6e\x26\x51')]),_0x293eca[_0x31c198(0x178,'\x62\x71\x75\x62')]('\x0a')[_0x31c198(0x197,'\x7a\x39\x64\x44')](-0xc18+-0xf75+-0x1*-0x1b8d,-0x14f0+-0x1a65+0x3725);}function _0x5f1650(){const _0x38305b=_0x16aa4a,_0x1c5151={'\x5a\x46\x4d\x64\x52':function(_0x3804ff){return _0x3804ff();}};return(_0x1c5151['\x5a\x46\x4d\x64\x52'](_0x50fc21)||'')[_0x38305b(0x139,'\x6e\x6e\x64\x49')](/\/+$/,'');}async function _0x4a2805({reusedAssetId:_0x4fc12d,sourceType:_0x43452d,outcome:_0x2fb4bc,gene:_0x56d53c,signals:_0x12cf62,blast:_0x552e95,constraintCheck:_0x4678cd,runId:_0x473d6f}){const _0x31b8c5=_0x16aa4a,_0x392886={'\x6c\x48\x6a\x76\x43':_0x31b8c5(0x1a2,'\x23\x6c\x6f\x64'),'\x6d\x6e\x6d\x47\x62':function(_0x3eafcc,_0x3829d6){return _0x3eafcc(_0x3829d6);},'\x62\x49\x7a\x4d\x6e':function(_0x2e1939,_0x5965fc){return _0x2e1939>=_0x5965fc;},'\x66\x4a\x6e\x4f\x56':function(_0xad198d,_0x3d75a5){return _0xad198d>_0x3d75a5;},'\x53\x53\x48\x72\x45':_0x31b8c5(0x13a,'\x58\x6f\x30\x66')+_0x31b8c5(0x1b2,'\x23\x72\x40\x53')+'\x69\x64','\x4d\x74\x56\x58\x52':_0x31b8c5(0x218,'\x66\x5e\x4d\x65')+_0x31b8c5(0x185,'\x38\x23\x70\x37')+_0x31b8c5(0x210,'\x47\x53\x21\x74')+'\x74\x20\x6c\x65\x61\x64\x20\x74'+_0x31b8c5(0x12a,'\x38\x29\x5d\x6c')+'\x65\x73\x73\x66\x75\x6c\x20\x65'+_0x31b8c5(0x1c5,'\x72\x40\x5d\x70')+_0x31b8c5(0x19e,'\x38\x23\x70\x37'),'\x53\x4f\x4e\x73\x54':function(_0x176308,_0x2c48bc){return _0x176308+_0x2c48bc;},'\x45\x44\x62\x61\x53':_0x31b8c5(0x1a7,'\x25\x4b\x53\x46')+'\x20','\x71\x42\x6a\x69\x4f':_0x31b8c5(0xb8,'\x49\x47\x35\x45')+_0x31b8c5(0x1a0,'\x75\x79\x37\x78')+'\x75\x74','\x6d\x67\x4e\x64\x6b':_0x31b8c5(0x17c,'\x6e\x6e\x64\x49')+_0x31b8c5(0x10a,'\x6d\x42\x78\x53'),'\x47\x76\x65\x72\x70':function(_0x434058,_0xa2d3d1){return _0x434058!==_0xa2d3d1;},'\x74\x64\x56\x54\x55':_0x31b8c5(0x1d1,'\x79\x6d\x48\x50'),'\x6f\x72\x63\x6c\x53':function(_0x20d67d,_0x489a7a){return _0x20d67d!==_0x489a7a;},'\x50\x46\x55\x74\x73':'\x72\x65\x75\x73\x65\x64','\x43\x41\x47\x78\x4c':function(_0x3ccbd0,_0x4dc694){return _0x3ccbd0!==_0x4dc694;},'\x76\x71\x52\x77\x61':_0x31b8c5(0x14f,'\x58\x6f\x30\x66')+'\x65','\x76\x6c\x45\x4c\x79':function(_0x296db4,_0x31df36){return _0x296db4!==_0x31df36;},'\x6c\x71\x46\x50\x75':_0x31b8c5(0xbb,'\x59\x26\x72\x21'),'\x67\x4c\x44\x6e\x46':_0x31b8c5(0x14a,'\x75\x79\x37\x78'),'\x46\x6b\x58\x47\x61':_0x31b8c5(0xfb,'\x51\x31\x47\x5a')+_0x31b8c5(0xce,'\x25\x70\x69\x79'),'\x50\x59\x73\x44\x57':function(_0x474b9b,_0x33114b){return _0x474b9b!==_0x33114b;},'\x6a\x71\x6c\x71\x48':_0x31b8c5(0xf8,'\x36\x57\x59\x71'),'\x52\x6c\x79\x6d\x59':_0x31b8c5(0x182,'\x23\x65\x44\x67'),'\x67\x47\x45\x6f\x70':function(_0x620793,_0xb8cb90,_0x5810da){return _0x620793(_0xb8cb90,_0x5810da);},'\x4d\x58\x63\x67\x61':function(_0x315c74){return _0x315c74();},'\x4c\x56\x6e\x66\x79':_0x31b8c5(0x1db,'\x67\x43\x51\x61')+_0x31b8c5(0x168,'\x38\x29\x5d\x6c'),'\x57\x62\x66\x78\x61':_0x31b8c5(0x14b,'\x51\x31\x47\x5a'),'\x6c\x67\x65\x68\x76':_0x31b8c5(0x132,'\x51\x31\x47\x5a')+_0x31b8c5(0x1e3,'\x75\x47\x7a\x4f'),'\x42\x4f\x4a\x53\x48':function(_0x13db8c){return _0x13db8c();},'\x64\x48\x69\x71\x78':_0x31b8c5(0x115,'\x23\x65\x44\x67'),'\x53\x55\x57\x66\x74':function(_0x534ca8,_0x1db57c){return _0x534ca8+_0x1db57c;},'\x78\x6d\x74\x6e\x70':'\x42\x65\x61\x72\x65\x72\x20','\x4e\x67\x43\x49\x61':function(_0x50a64b,_0x5e8860,_0x148796){return _0x50a64b(_0x5e8860,_0x148796);},'\x6b\x75\x6f\x61\x6a':function(_0x4c04a7,_0x2bdca6,_0xfbe841){return _0x4c04a7(_0x2bdca6,_0xfbe841);},'\x78\x76\x66\x48\x47':_0x31b8c5(0xd3,'\x76\x23\x65\x28'),'\x67\x4a\x52\x61\x56':_0x31b8c5(0x148,'\x59\x26\x72\x21'),'\x66\x7a\x72\x59\x6d':function(_0x1b0a0d,_0x42e5a8,_0x158a35,_0x53f164){return _0x1b0a0d(_0x42e5a8,_0x158a35,_0x53f164);},'\x41\x6f\x59\x52\x62':function(_0x193e98,_0x97aa1f){return _0x193e98+_0x97aa1f;},'\x6c\x4a\x6a\x4d\x70':_0x31b8c5(0x22d,'\x53\x6f\x5d\x67')+_0x31b8c5(0xd6,'\x58\x6f\x30\x66')+_0x31b8c5(0x13e,'\x46\x37\x5b\x78')+_0x31b8c5(0x114,'\x47\x53\x21\x74')+'\x20','\x58\x6a\x76\x61\x51':_0x31b8c5(0xbd,'\x55\x67\x24\x29')+'\x65\x3d','\x54\x41\x79\x51\x4c':function(_0x20414c,_0x2be8d9){return _0x20414c||_0x2be8d9;},'\x47\x67\x56\x6b\x69':function(_0x241c43,_0x2b4f85){return _0x241c43===_0x2b4f85;},'\x56\x73\x46\x45\x72':function(_0x12205f,_0x15d0a0){return _0x12205f+_0x15d0a0;},'\x6a\x6e\x69\x58\x4e':_0x31b8c5(0x10b,'\x55\x67\x24\x29')+'\x65\x77\x5d\x20\x48\x75\x62\x20'+_0x31b8c5(0x181,'\x63\x4c\x32\x37')+_0x31b8c5(0x1f5,'\x46\x37\x5b\x78')+_0x31b8c5(0x1df,'\x38\x4a\x38\x4c'),'\x4f\x42\x67\x4a\x46':function(_0x128ce8,_0x3d8639){return _0x128ce8(_0x3d8639);},'\x51\x68\x6f\x77\x57':function(_0x4e5a30,_0x3d681f){return _0x4e5a30||_0x3d681f;},'\x76\x6a\x58\x66\x44':_0x31b8c5(0x1b1,'\x23\x65\x44\x67')+_0x31b8c5(0x19b,'\x5b\x41\x24\x58')+_0x31b8c5(0x1c6,'\x6e\x6e\x64\x49'),'\x4e\x58\x6c\x56\x48':function(_0x14a481,_0x203431){return _0x14a481===_0x203431;},'\x47\x4f\x62\x72\x45':function(_0x1bcaf4,_0x464381){return _0x1bcaf4+_0x464381;},'\x44\x73\x69\x70\x6b':_0x31b8c5(0x158,'\x41\x54\x35\x46')+_0x31b8c5(0x1ed,'\x25\x70\x69\x79')+_0x31b8c5(0x1f3,'\x66\x6e\x23\x4a')+_0x31b8c5(0xf2,'\x51\x31\x47\x5a'),'\x42\x55\x76\x76\x75':'\x29\x3a\x20','\x67\x71\x52\x79\x6c':function(_0x97e2ab,_0x3ac0ea){return _0x97e2ab(_0x3ac0ea);},'\x50\x6e\x78\x48\x4b':function(_0x3bae56,_0x3b2394){return _0x3bae56||_0x3b2394;},'\x58\x5a\x4a\x55\x59':_0x31b8c5(0xc2,'\x67\x63\x37\x52')+_0x31b8c5(0x20a,'\x66\x6e\x23\x4a')+'\x64'};var _0x4d166b=_0x5f1650();const _0x590784={};_0x590784['\x73\x75\x62\x6d\x69\x74\x74\x65'+'\x64']=![],_0x590784[_0x31b8c5(0x1ff,'\x79\x6d\x48\x50')]=_0x31b8c5(0x130,'\x76\x23\x65\x28')+'\x72\x6c';if(!_0x4d166b)return _0x590784;if(!_0x4fc12d||_0x392886[_0x31b8c5(0xb7,'\x53\x6f\x5d\x67')](typeof _0x4fc12d,_0x31b8c5(0xff,'\x26\x56\x52\x4a'))){if('\x4e\x6f\x4a\x4e\x63'!==_0x392886[_0x31b8c5(0x23f,'\x23\x65\x44\x67')]){const _0x3768da={};return _0x3768da[_0x31b8c5(0x1d7,'\x75\x47\x7a\x4f')+'\x64']=![],_0x3768da[_0x31b8c5(0x189,'\x67\x63\x37\x52')]=_0x392886[_0x31b8c5(0x137,'\x4a\x39\x73\x29')],_0x3768da;}else{if(_0x18b769&&_0x214d8a['\x73\x74\x61\x74\x75\x73']===hYDBZD['\x6c\x48\x6a\x76\x43']){const _0x438025=hYDBZD[_0x31b8c5(0x23b,'\x51\x31\x47\x5a')](_0x58cafe,_0x278ae4['\x73\x63\x6f\x72\x65'])||-0x5db+-0x117a*0x1+-0xb5*-0x21;return hYDBZD['\x62\x49\x7a\x4d\x6e'](_0x438025,0x705+0xa43+0x8a4*-0x2+0.85)?-0x9ba+-0x4ad+0xe6c:0xf48+-0x9*0x247+0x53b;}const _0x3d09dc=_0x41c054&&_0x4f3926[_0x31b8c5(0x206,'\x46\x37\x5b\x78')](_0x218fd3['\x76\x69\x6f\x6c\x61\x74\x69\x6f'+'\x6e\x73'])&&hYDBZD[_0x31b8c5(0x1e1,'\x59\x26\x72\x21')](_0x2b7cdc[_0x31b8c5(0x18d,'\x5e\x33\x38\x68')+'\x6e\x73'][_0x31b8c5(0xbf,'\x67\x43\x51\x61')],-0xbf+0x21e*-0xb+0x3*0x803);return _0x3d09dc?0x2*0x642+-0x2f*0xa1+0x110c:-0x86*0x2f+0x4*-0x620+0x1*0x311c;}}if(_0x392886[_0x31b8c5(0x1d8,'\x7a\x39\x64\x44')](_0x43452d,_0x392886[_0x31b8c5(0xfa,'\x79\x6d\x48\x50')])&&_0x392886['\x43\x41\x47\x78\x4c'](_0x43452d,_0x392886[_0x31b8c5(0xc3,'\x5a\x37\x50\x73')])){if(_0x392886[_0x31b8c5(0xde,'\x38\x4a\x38\x4c')](_0x392886['\x6c\x71\x46\x50\x75'],_0x392886[_0x31b8c5(0xc0,'\x6e\x6e\x64\x49')])){const _0x385b66={};return _0x385b66[_0x31b8c5(0x215,'\x53\x6f\x5d\x67')+'\x64']=![],_0x385b66[_0x31b8c5(0x1cb,'\x76\x23\x65\x28')]=_0x392886[_0x31b8c5(0x166,'\x25\x4b\x53\x46')],_0x385b66;}else{const _0x5002e9={};return _0x5002e9[_0x31b8c5(0x1d9,'\x5e\x33\x38\x68')+'\x64']=![],_0x5002e9[_0x31b8c5(0x1fe,'\x36\x61\x66\x6e')]=_0x392886[_0x31b8c5(0x164,'\x38\x4a\x38\x4c')],_0x5002e9;}}if(_0x392886[_0x31b8c5(0x179,'\x38\x23\x70\x37')](_0x41d4a5,_0x4fc12d)){if(_0x392886[_0x31b8c5(0xf9,'\x66\x6e\x23\x4a')](_0x392886[_0x31b8c5(0xf6,'\x23\x6c\x6f\x64')],_0x392886[_0x31b8c5(0xd5,'\x75\x47\x7a\x4f')])){const _0x4a98d8={};return _0x4a98d8[_0x31b8c5(0x142,'\x58\x6f\x30\x66')+'\x64']=![],_0x4a98d8[_0x31b8c5(0x1ce,'\x58\x6f\x30\x66')]=_0x392886['\x6d\x67\x4e\x64\x6b'],_0x4a98d8;}else _0x3787df[_0x31b8c5(0xe3,'\x5a\x37\x50\x73')](hYDBZD[_0x31b8c5(0x1ae,'\x25\x4b\x53\x46')]);}var _0x27a8b0=_0x392886[_0x31b8c5(0x127,'\x67\x63\x37\x52')](_0x104d17,_0x2fb4bc,_0x4678cd);const _0x10e3b0={};_0x10e3b0[_0x31b8c5(0x233,'\x76\x23\x65\x28')]=_0x2fb4bc,_0x10e3b0[_0x31b8c5(0x1c7,'\x38\x4a\x38\x4c')]=_0x56d53c,_0x10e3b0[_0x31b8c5(0x118,'\x75\x47\x7a\x4f')]=_0x12cf62,_0x10e3b0[_0x31b8c5(0x108,'\x72\x40\x5d\x70')]=_0x552e95,_0x10e3b0[_0x31b8c5(0x1e7,'\x5a\x4c\x6f\x69')+'\x70\x65']=_0x43452d;var _0x6bb9c9=_0x392886[_0x31b8c5(0x23b,'\x51\x31\x47\x5a')](_0x10c3ee,_0x10e3b0),_0x3bfd83=_0x392886[_0x31b8c5(0xe5,'\x5a\x4c\x6f\x69')](_0x15e732),_0x483f83=_0x392886[_0x31b8c5(0x1b8,'\x36\x57\x59\x71')](_0x4d166b+_0x392886[_0x31b8c5(0xfe,'\x38\x29\x5d\x6c')],_0x392886[_0x31b8c5(0xf4,'\x46\x21\x53\x4b')](encodeURIComponent,_0x4fc12d))+_0x392886['\x57\x62\x66\x78\x61'];const _0x2c3f68={};_0x2c3f68[_0x31b8c5(0xeb,'\x38\x7a\x53\x47')+_0x31b8c5(0xca,'\x66\x6e\x23\x4a')]=_0x392886[_0x31b8c5(0x1aa,'\x38\x23\x70\x37')],_0x2c3f68[_0x31b8c5(0x227,'\x23\x6c\x6f\x64')]=_0x392886[_0x31b8c5(0x1aa,'\x38\x23\x70\x37')];var _0x4bb658=_0x2c3f68,_0x10a015=_0x392886[_0x31b8c5(0x157,'\x46\x37\x5b\x78')](_0x587c25);_0x10a015&&(_0x392886[_0x31b8c5(0x17a,'\x5a\x4c\x6f\x69')](_0x392886[_0x31b8c5(0xc9,'\x38\x4a\x38\x4c')],_0x392886[_0x31b8c5(0x102,'\x36\x61\x66\x6e')])?_0xe6362f[_0x31b8c5(0x141,'\x4a\x39\x73\x29')](hYDBZD[_0x31b8c5(0x1c8,'\x63\x4c\x32\x37')](hYDBZD[_0x31b8c5(0x1bf,'\x49\x47\x35\x45')],_0x3da26a[_0x31b8c5(0x104,'\x72\x25\x30\x35')](0x11*0x19b+0xab8+-0x107*0x25,0x1*-0x302+-0xd*-0x9a+-0x2*0x265)[_0x31b8c5(0xe2,'\x36\x57\x59\x71')]('\x2c\x20'))):_0x4bb658['\x41\x75\x74\x68\x6f\x72\x69\x7a'+'\x61\x74\x69\x6f\x6e']=_0x392886[_0x31b8c5(0x1d0,'\x66\x6e\x23\x4a')](_0x392886[_0x31b8c5(0x165,'\x23\x65\x44\x67')],_0x10a015));const _0x49bbbe={};_0x49bbbe[_0x31b8c5(0x209,'\x38\x4a\x38\x4c')+'\x64']=_0x3bfd83,_0x49bbbe[_0x31b8c5(0x16f,'\x79\x6d\x48\x50')]=_0x27a8b0,_0x49bbbe[_0x31b8c5(0x15b,'\x79\x55\x32\x5b')]=_0x6bb9c9;var _0x1b5c21=JSON[_0x31b8c5(0x20c,'\x67\x43\x51\x61')+'\x79'](_0x49bbbe);try{if(_0x392886[_0x31b8c5(0x1d2,'\x26\x56\x52\x4a')](_0x31b8c5(0x101,'\x25\x4b\x53\x46'),_0x31b8c5(0xe4,'\x51\x31\x47\x5a'))){var _0x1d73cc=new AbortController(),_0x10824a=_0x392886[_0x31b8c5(0x112,'\x63\x4c\x32\x37')](setTimeout,function(){const _0x5a04f7=_0x31b8c5;_0x1d73cc['\x61\x62\x6f\x72\x74'](_0x392886[_0x5a04f7(0xf3,'\x44\x71\x73\x67')]);},-0x1*0x2ceb+-0x3ba9+0x13d*0x74),_0x7e75d5=await _0x392886[_0x31b8c5(0x14c,'\x76\x23\x65\x28')](_0x51a31f,_0x483f83,{'\x6d\x65\x74\x68\x6f\x64':_0x392886[_0x31b8c5(0x1c3,'\x26\x56\x52\x4a')],'\x68\x65\x61\x64\x65\x72\x73':_0x4bb658,'\x62\x6f\x64\x79':_0x1b5c21,'\x73\x69\x67\x6e\x61\x6c':_0x1d73cc[_0x31b8c5(0x1a5,'\x79\x6d\x48\x50')]});clearTimeout(_0x10824a);if(_0x7e75d5['\x6f\x6b']){if(_0x392886[_0x31b8c5(0x16a,'\x79\x6d\x48\x50')](_0x392886[_0x31b8c5(0xb5,'\x6e\x6e\x64\x49')],_0x392886[_0x31b8c5(0x1e6,'\x67\x63\x37\x52')])){if(!_0x127e2b[_0x31b8c5(0x1c4,'\x44\x71\x73\x67')+'\x6e\x63'](_0x93b7e0))return{};const _0x54d394=_0x47798b['\x72\x65\x61\x64\x46\x69\x6c\x65'+_0x31b8c5(0x15f,'\x38\x7a\x53\x47')](_0x106ac6,_0x31b8c5(0x1b3,'\x55\x67\x24\x29'));if(!_0x54d394[_0x31b8c5(0x150,'\x46\x37\x5b\x78')]())return{};return _0x1ecb76[_0x31b8c5(0x17d,'\x46\x37\x5b\x78')](_0x54d394);}else{_0x392886[_0x31b8c5(0xe9,'\x25\x4b\x53\x46')](_0x400df5,_0x4fc12d,_0x27a8b0,!![]),console[_0x31b8c5(0x22f,'\x66\x6e\x23\x4a')](_0x392886[_0x31b8c5(0x170,'\x72\x25\x30\x35')](_0x392886['\x53\x55\x57\x66\x74'](_0x392886[_0x31b8c5(0x19d,'\x4a\x39\x73\x29')]+_0x4fc12d+('\x3a\x20\x72\x61\x74\x69\x6e\x67'+'\x3d')+_0x27a8b0,_0x392886[_0x31b8c5(0xda,'\x36\x61\x66\x6e')]),_0x2fb4bc&&_0x2fb4bc[_0x31b8c5(0xd9,'\x36\x57\x59\x71')]));const _0x44bfb6={};_0x44bfb6[_0x31b8c5(0x18a,'\x4a\x39\x73\x29')]=_0x27a8b0,_0x44bfb6[_0x31b8c5(0x10d,'\x47\x53\x21\x74')+_0x31b8c5(0xd9,'\x36\x57\x59\x71')]=_0x2fb4bc&&_0x2fb4bc[_0x31b8c5(0x1b5,'\x75\x79\x37\x78')],_0x431cec({'\x72\x75\x6e\x5f\x69\x64':_0x392886[_0x31b8c5(0x20f,'\x76\x23\x65\x28')](_0x473d6f,null),'\x61\x63\x74\x69\x6f\x6e':_0x31b8c5(0xe0,'\x6e\x39\x47\x4d')+_0x31b8c5(0x194,'\x79\x6d\x48\x50')+_0x31b8c5(0x177,'\x76\x23\x65\x28'),'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x4fc12d,'\x65\x78\x74\x72\x61':_0x44bfb6});const _0x28b3ef={};return _0x28b3ef[_0x31b8c5(0xb6,'\x49\x47\x35\x45')+'\x64']=!![],_0x28b3ef[_0x31b8c5(0x22b,'\x44\x71\x73\x67')]=_0x27a8b0,_0x28b3ef[_0x31b8c5(0x12f,'\x44\x71\x73\x67')]=_0x4fc12d,_0x28b3ef;}}var _0x5703f4=await _0x7e75d5['\x6a\x73\x6f\x6e']()[_0x31b8c5(0x131,'\x21\x26\x58\x31')](function(){return{};}),_0x591d6a=_0x5703f4[_0x31b8c5(0xba,'\x38\x23\x70\x37')]||_0x5703f4['\x63\x6f\x64\x65']||'\x68\x74\x74\x70\x5f'+_0x7e75d5[_0x31b8c5(0x129,'\x23\x6c\x6f\x64')];_0x392886[_0x31b8c5(0x13d,'\x46\x21\x53\x4b')](_0x591d6a,_0x392886[_0x31b8c5(0x1e0,'\x5a\x37\x50\x73')])&&_0x392886[_0x31b8c5(0x14d,'\x23\x65\x44\x67')](_0x400df5,_0x4fc12d,_0x27a8b0,![]);console[_0x31b8c5(0x1cf,'\x55\x67\x24\x29')](_0x392886[_0x31b8c5(0x117,'\x26\x56\x52\x4a')](_0x392886[_0x31b8c5(0x1a9,'\x79\x55\x32\x5b')](_0x392886[_0x31b8c5(0x18c,'\x38\x7a\x53\x47')](_0x392886[_0x31b8c5(0x18e,'\x6e\x6e\x64\x49')],_0x4fc12d),'\x3a\x20'),_0x591d6a));const _0x3ced4d={};_0x3ced4d[_0x31b8c5(0x1e9,'\x36\x61\x66\x6e')]=_0x27a8b0,_0x3ced4d[_0x31b8c5(0x230,'\x6e\x39\x47\x4d')]=_0x591d6a,_0x392886[_0x31b8c5(0x1fc,'\x63\x4c\x32\x37')](_0x431cec,{'\x72\x75\x6e\x5f\x69\x64':_0x392886[_0x31b8c5(0x213,'\x38\x7a\x53\x47')](_0x473d6f,null),'\x61\x63\x74\x69\x6f\x6e':_0x392886[_0x31b8c5(0x163,'\x46\x21\x53\x4b')],'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x4fc12d,'\x65\x78\x74\x72\x61':_0x3ced4d});const _0x34d4b7={};return _0x34d4b7[_0x31b8c5(0xe7,'\x44\x71\x73\x67')+'\x64']=![],_0x34d4b7[_0x31b8c5(0xfc,'\x5a\x37\x50\x73')]=_0x591d6a,_0x34d4b7[_0x31b8c5(0x135,'\x23\x6c\x6f\x64')]=_0x27a8b0,_0x34d4b7;}else{const _0x3486d4={};return _0x3486d4[_0x31b8c5(0x23c,'\x55\x67\x24\x29')+'\x64']=![],_0x3486d4[_0x31b8c5(0x219,'\x6e\x6e\x64\x49')]=_0x392886[_0x31b8c5(0x1e2,'\x58\x6f\x30\x66')],_0x3486d4;}}catch(_0x51b095){var _0x337879=_0x392886[_0x31b8c5(0x241,'\x5a\x37\x50\x73')](_0x51b095[_0x31b8c5(0x20b,'\x21\x26\x58\x31')],_0x31b8c5(0x1b0,'\x5a\x4c\x6f\x69')+'\x6f\x72')?_0x31b8c5(0x140,'\x26\x56\x52\x4a'):_0x31b8c5(0x211,'\x4e\x58\x29\x21')+_0x31b8c5(0xfd,'\x63\x4c\x32\x37');console[_0x31b8c5(0x21a,'\x79\x55\x32\x5b')](_0x392886[_0x31b8c5(0x136,'\x79\x6d\x48\x50')](_0x392886[_0x31b8c5(0xe1,'\x53\x6f\x5d\x67')](_0x392886[_0x31b8c5(0x1ca,'\x4e\x58\x29\x21')](_0x392886['\x44\x73\x69\x70\x6b'],_0x337879),_0x392886[_0x31b8c5(0x1f1,'\x21\x26\x58\x31')]),_0x51b095['\x6d\x65\x73\x73\x61\x67\x65']));const _0x5e93cb={};_0x5e93cb[_0x31b8c5(0x1eb,'\x7a\x39\x64\x44')]=_0x27a8b0,_0x5e93cb[_0x31b8c5(0x20e,'\x23\x6c\x6f\x64')]=_0x337879,_0x5e93cb[_0x31b8c5(0x176,'\x53\x6f\x5d\x67')]=_0x51b095[_0x31b8c5(0x205,'\x62\x71\x75\x62')],_0x392886[_0x31b8c5(0x1c0,'\x38\x29\x5d\x6c')](_0x431cec,{'\x72\x75\x6e\x5f\x69\x64':_0x392886[_0x31b8c5(0x10e,'\x21\x26\x58\x31')](_0x473d6f,null),'\x61\x63\x74\x69\x6f\x6e':_0x392886['\x58\x5a\x4a\x55\x59'],'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x4fc12d,'\x65\x78\x74\x72\x61':_0x5e93cb});const _0x5b6fa0={};return _0x5b6fa0['\x73\x75\x62\x6d\x69\x74\x74\x65'+'\x64']=![],_0x5b6fa0[_0x31b8c5(0x234,'\x53\x47\x6b\x76')]=_0x337879,_0x5b6fa0[_0x31b8c5(0x1ec,'\x25\x4b\x53\x46')]=_0x51b095[_0x31b8c5(0x12d,'\x67\x63\x37\x52')],_0x5b6fa0;}}const _0x34478c={};_0x34478c[_0x16aa4a(0x16e,'\x7a\x39\x64\x44')+_0x16aa4a(0x18f,'\x23\x72\x40\x53')]=_0x4a2805,_0x34478c[_0x16aa4a(0x187,'\x5e\x33\x38\x68')+'\x6c']=_0x5f1650,module[_0x16aa4a(0xea,'\x26\x56\x52\x4a')]=_0x34478c;
|
|
1
|
+
// Hub Asset Review: submit usage-verified reviews after solidify.
|
|
2
|
+
//
|
|
3
|
+
// When an evolution cycle reuses a Hub asset (source_type = 'reused' or 'reference'),
|
|
4
|
+
// we submit a review to POST /a2a/assets/:assetId/reviews after solidify completes.
|
|
5
|
+
// Rating is derived from outcome: success -> 4-5, failure -> 1-2.
|
|
6
|
+
// Reviews are non-blocking; errors never affect the solidify result.
|
|
7
|
+
// Duplicate prevention: a local file tracks reviewed assetIds to avoid re-reviewing.
|
|
8
|
+
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
const {
|
|
12
|
+
getNodeId,
|
|
13
|
+
getHubNodeSecret,
|
|
14
|
+
getHubUrl: resolveA2aHubUrl,
|
|
15
|
+
} = require('./a2aProtocol');
|
|
16
|
+
const { hubFetch } = require('./hubFetch');
|
|
17
|
+
const { logAssetCall } = require('./assetCallLog');
|
|
18
|
+
|
|
19
|
+
const REVIEW_HISTORY_FILE = path.join(
|
|
20
|
+
require('./paths').getEvolutionDir(),
|
|
21
|
+
'hub_review_history.json'
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
const REVIEW_HISTORY_MAX_ENTRIES = 500;
|
|
25
|
+
|
|
26
|
+
function _loadReviewHistory() {
|
|
27
|
+
try {
|
|
28
|
+
if (!fs.existsSync(REVIEW_HISTORY_FILE)) return {};
|
|
29
|
+
const raw = fs.readFileSync(REVIEW_HISTORY_FILE, 'utf8');
|
|
30
|
+
if (!raw.trim()) return {};
|
|
31
|
+
return JSON.parse(raw);
|
|
32
|
+
} catch {
|
|
33
|
+
return {};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function _saveReviewHistory(history) {
|
|
38
|
+
try {
|
|
39
|
+
const dir = path.dirname(REVIEW_HISTORY_FILE);
|
|
40
|
+
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
41
|
+
const keys = Object.keys(history);
|
|
42
|
+
if (keys.length > REVIEW_HISTORY_MAX_ENTRIES) {
|
|
43
|
+
const sorted = keys
|
|
44
|
+
.map(k => ({ k, t: history[k].at || 0 }))
|
|
45
|
+
.sort((a, b) => a.t - b.t);
|
|
46
|
+
const toRemove = sorted.slice(0, keys.length - REVIEW_HISTORY_MAX_ENTRIES);
|
|
47
|
+
for (const entry of toRemove) delete history[entry.k];
|
|
48
|
+
}
|
|
49
|
+
const tmp = REVIEW_HISTORY_FILE + '.tmp';
|
|
50
|
+
fs.writeFileSync(tmp, JSON.stringify(history, null, 2) + '\n', 'utf8');
|
|
51
|
+
fs.renameSync(tmp, REVIEW_HISTORY_FILE);
|
|
52
|
+
} catch {}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function _alreadyReviewed(assetId) {
|
|
56
|
+
const history = _loadReviewHistory();
|
|
57
|
+
return !!history[assetId];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function _markReviewed(assetId, rating, success) {
|
|
61
|
+
const history = _loadReviewHistory();
|
|
62
|
+
history[assetId] = { at: Date.now(), rating, success };
|
|
63
|
+
_saveReviewHistory(history);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function _deriveRating(outcome, constraintCheck) {
|
|
67
|
+
if (outcome && outcome.status === 'success') {
|
|
68
|
+
const score = Number(outcome.score) || 0;
|
|
69
|
+
return score >= 0.85 ? 5 : 4;
|
|
70
|
+
}
|
|
71
|
+
const hasConstraintViolation =
|
|
72
|
+
constraintCheck &&
|
|
73
|
+
Array.isArray(constraintCheck.violations) &&
|
|
74
|
+
constraintCheck.violations.length > 0;
|
|
75
|
+
return hasConstraintViolation ? 1 : 2;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function _buildReviewContent({ outcome, gene, signals, blast, sourceType }) {
|
|
79
|
+
const parts = [];
|
|
80
|
+
const status = outcome && outcome.status ? outcome.status : 'unknown';
|
|
81
|
+
const score = outcome && Number.isFinite(Number(outcome.score))
|
|
82
|
+
? Number(outcome.score).toFixed(2) : '?';
|
|
83
|
+
|
|
84
|
+
parts.push('Outcome: ' + status + ' (score: ' + score + ')');
|
|
85
|
+
parts.push('Reuse mode: ' + (sourceType || 'unknown'));
|
|
86
|
+
|
|
87
|
+
if (gene && gene.id) {
|
|
88
|
+
parts.push('Gene: ' + gene.id + ' (' + (gene.category || 'unknown') + ')');
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (Array.isArray(signals) && signals.length > 0) {
|
|
92
|
+
parts.push('Signals: ' + signals.slice(0, 6).join(', '));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (blast) {
|
|
96
|
+
parts.push('Blast radius: ' + (blast.files || 0) + ' file(s), ' + (blast.lines || 0) + ' line(s)');
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (status === 'success') {
|
|
100
|
+
parts.push('The fetched asset was successfully applied and solidified.');
|
|
101
|
+
} else {
|
|
102
|
+
parts.push('The fetched asset did not lead to a successful evolution cycle.');
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return parts.join('\n').slice(0, 2000);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function getHubUrl() {
|
|
109
|
+
return (resolveA2aHubUrl() || '').replace(/\/+$/, '');
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
async function submitHubReview({
|
|
113
|
+
reusedAssetId,
|
|
114
|
+
sourceType,
|
|
115
|
+
outcome,
|
|
116
|
+
gene,
|
|
117
|
+
signals,
|
|
118
|
+
blast,
|
|
119
|
+
constraintCheck,
|
|
120
|
+
runId,
|
|
121
|
+
}) {
|
|
122
|
+
var hubUrl = getHubUrl();
|
|
123
|
+
if (!hubUrl) return { submitted: false, reason: 'no_hub_url' };
|
|
124
|
+
|
|
125
|
+
if (!reusedAssetId || typeof reusedAssetId !== 'string') {
|
|
126
|
+
return { submitted: false, reason: 'no_reused_asset_id' };
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (sourceType !== 'reused' && sourceType !== 'reference') {
|
|
130
|
+
return { submitted: false, reason: 'not_hub_sourced' };
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (_alreadyReviewed(reusedAssetId)) {
|
|
134
|
+
return { submitted: false, reason: 'already_reviewed' };
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
var rating = _deriveRating(outcome, constraintCheck);
|
|
138
|
+
var content = _buildReviewContent({ outcome, gene, signals, blast, sourceType });
|
|
139
|
+
var senderId = getNodeId();
|
|
140
|
+
|
|
141
|
+
var endpoint = hubUrl + '/a2a/assets/' + encodeURIComponent(reusedAssetId) + '/reviews';
|
|
142
|
+
|
|
143
|
+
var headers = { 'Content-Type': 'application/json', 'Accept': 'application/json' };
|
|
144
|
+
var secret = getHubNodeSecret();
|
|
145
|
+
if (secret) {
|
|
146
|
+
headers['Authorization'] = 'Bearer ' + secret;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
var body = JSON.stringify({
|
|
150
|
+
sender_id: senderId,
|
|
151
|
+
rating: rating,
|
|
152
|
+
content: content,
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
try {
|
|
156
|
+
var controller = new AbortController();
|
|
157
|
+
var timer = setTimeout(function () { controller.abort('hub_review_timeout'); }, 10000);
|
|
158
|
+
|
|
159
|
+
var res = await hubFetch(endpoint, {
|
|
160
|
+
method: 'POST',
|
|
161
|
+
headers: headers,
|
|
162
|
+
body: body,
|
|
163
|
+
signal: controller.signal,
|
|
164
|
+
});
|
|
165
|
+
clearTimeout(timer);
|
|
166
|
+
|
|
167
|
+
if (res.ok) {
|
|
168
|
+
_markReviewed(reusedAssetId, rating, true);
|
|
169
|
+
console.log(
|
|
170
|
+
'[HubReview] Submitted review for ' + reusedAssetId + ': rating=' + rating + ', outcome=' + (outcome && outcome.status)
|
|
171
|
+
);
|
|
172
|
+
logAssetCall({
|
|
173
|
+
run_id: runId || null,
|
|
174
|
+
action: 'hub_review_submitted',
|
|
175
|
+
asset_id: reusedAssetId,
|
|
176
|
+
extra: { rating: rating, outcome_status: outcome && outcome.status },
|
|
177
|
+
});
|
|
178
|
+
return { submitted: true, rating: rating, asset_id: reusedAssetId };
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
var errData = await res.json().catch(function () { return {}; });
|
|
182
|
+
var errCode = errData.error || errData.code || ('http_' + res.status);
|
|
183
|
+
|
|
184
|
+
if (errCode === 'already_reviewed') {
|
|
185
|
+
_markReviewed(reusedAssetId, rating, false);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
console.log('[HubReview] Hub rejected review for ' + reusedAssetId + ': ' + errCode);
|
|
189
|
+
logAssetCall({
|
|
190
|
+
run_id: runId || null,
|
|
191
|
+
action: 'hub_review_rejected',
|
|
192
|
+
asset_id: reusedAssetId,
|
|
193
|
+
extra: { rating: rating, error: errCode },
|
|
194
|
+
});
|
|
195
|
+
return { submitted: false, reason: errCode, rating: rating };
|
|
196
|
+
} catch (err) {
|
|
197
|
+
var reason = err.name === 'AbortError' ? 'timeout' : 'fetch_error';
|
|
198
|
+
console.log('[HubReview] Failed (non-fatal, ' + reason + '): ' + err.message);
|
|
199
|
+
logAssetCall({
|
|
200
|
+
run_id: runId || null,
|
|
201
|
+
action: 'hub_review_failed',
|
|
202
|
+
asset_id: reusedAssetId,
|
|
203
|
+
extra: { rating: rating, reason: reason, error: err.message },
|
|
204
|
+
});
|
|
205
|
+
return { submitted: false, reason: reason, error: err.message };
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
module.exports = {
|
|
210
|
+
submitHubReview,
|
|
211
|
+
getHubUrl,
|
|
212
|
+
};
|