@evomap/evolver 1.89.3 → 1.89.4

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.
Files changed (104) hide show
  1. package/.cursor/BUGBOT.md +182 -0
  2. package/.env.example +68 -0
  3. package/.git-commit-guard-token +1 -0
  4. package/.github/CODEOWNERS +63 -0
  5. package/.github/ISSUE_TEMPLATE/good_first_issue.md +23 -0
  6. package/.github/pull_request_template.md +45 -0
  7. package/.github/workflows/test.yml +75 -0
  8. package/CHANGELOG.md +1237 -0
  9. package/README.md +86 -528
  10. package/README.public.md +569 -0
  11. package/SECURITY.md +108 -0
  12. package/assets/gep/events.jsonl +3 -0
  13. package/examples/atp-consumer-quickstart.md +100 -0
  14. package/examples/hello-world.md +38 -0
  15. package/index.js +30 -1
  16. package/package.json +6 -17
  17. package/proxy-package.json +39 -0
  18. package/public.manifest.json +143 -0
  19. package/src/config.js +23 -0
  20. package/src/evolve/guards.js +721 -1
  21. package/src/evolve/pipeline/collect.js +1283 -1
  22. package/src/evolve/pipeline/dispatch.js +421 -1
  23. package/src/evolve/pipeline/enrich.js +440 -1
  24. package/src/evolve/pipeline/hub.js +319 -1
  25. package/src/evolve/pipeline/select.js +274 -1
  26. package/src/evolve/pipeline/signals.js +206 -1
  27. package/src/evolve/utils.js +264 -1
  28. package/src/evolve.js +350 -1
  29. package/src/experiment/agentRunner.js +229 -0
  30. package/src/experiment/cli.js +159 -0
  31. package/src/experiment/comparison.js +233 -0
  32. package/src/experiment/metrics.js +75 -0
  33. package/src/forceUpdate.js +147 -59
  34. package/src/gep/a2aProtocol.js +4455 -1
  35. package/src/gep/antiAbuseTelemetry.js +233 -0
  36. package/src/gep/autoDistillConv.js +205 -1
  37. package/src/gep/autoDistillLlm.js +315 -1
  38. package/src/gep/candidateEval.js +92 -1
  39. package/src/gep/candidates.js +198 -1
  40. package/src/gep/contentHash.js +30 -1
  41. package/src/gep/conversationSniffer.js +266 -1
  42. package/src/gep/crypto.js +89 -1
  43. package/src/gep/curriculum.js +163 -1
  44. package/src/gep/deviceId.js +218 -1
  45. package/src/gep/envFingerprint.js +118 -1
  46. package/src/gep/epigenetics.js +31 -1
  47. package/src/gep/execBridge.js +711 -1
  48. package/src/gep/explore.js +289 -1
  49. package/src/gep/hash.js +15 -1
  50. package/src/gep/hubFetch.js +359 -1
  51. package/src/gep/hubReview.js +207 -1
  52. package/src/gep/hubSearch.js +526 -1
  53. package/src/gep/hubVerify.js +306 -1
  54. package/src/gep/learningSignals.js +89 -1
  55. package/src/gep/memoryGraph.js +1374 -1
  56. package/src/gep/memoryGraphAdapter.js +203 -1
  57. package/src/gep/mutation.js +203 -1
  58. package/src/gep/narrativeMemory.js +108 -1
  59. package/src/gep/openPRRegistry.js +205 -1
  60. package/src/gep/personality.js +423 -1
  61. package/src/gep/policyCheck.js +599 -1
  62. package/src/gep/prompt.js +836 -1
  63. package/src/gep/recallInject.js +409 -1
  64. package/src/gep/recallVerifier.js +318 -1
  65. package/src/gep/reflection.js +177 -1
  66. package/src/gep/sanitize.js +9 -0
  67. package/src/gep/selector.js +602 -1
  68. package/src/gep/skillDistiller.js +1294 -1
  69. package/src/gep/solidify.js +1699 -1
  70. package/src/gep/strategy.js +136 -1
  71. package/src/gep/tokenSavings.js +88 -1
  72. package/src/gep/validator/sandboxExecutor.js +29 -1
  73. package/src/gep/workspaceKeychain.js +174 -1
  74. package/src/proxy/extensions/traceControl.js +99 -1
  75. package/src/proxy/index.js +10 -1
  76. package/src/proxy/inject.js +52 -1
  77. package/src/proxy/lifecycle/manager.js +19 -0
  78. package/src/proxy/mailbox/store.js +2 -1
  79. package/src/proxy/router/messages_route.js +5 -2
  80. package/src/proxy/trace/extractor.js +646 -1
  81. package/src/proxy/trace/usage.js +105 -1
  82. package/CONTRIBUTING.md +0 -19
  83. package/assets/cover.png +0 -0
  84. package/scripts/a2a_export.js +0 -63
  85. package/scripts/a2a_ingest.js +0 -79
  86. package/scripts/a2a_promote.js +0 -118
  87. package/scripts/analyze_by_skill.js +0 -121
  88. package/scripts/build_binaries.js +0 -479
  89. package/scripts/check-changelog.js +0 -166
  90. package/scripts/extract_log.js +0 -85
  91. package/scripts/generate_history.js +0 -75
  92. package/scripts/gep_append_event.js +0 -96
  93. package/scripts/gep_personality_report.js +0 -234
  94. package/scripts/human_report.js +0 -147
  95. package/scripts/recall-verify-report.js +0 -234
  96. package/scripts/recover_loop.js +0 -61
  97. package/scripts/refresh_stars_badge.js +0 -168
  98. package/scripts/seed-merchants.js +0 -91
  99. package/scripts/suggest_version.js +0 -89
  100. package/scripts/validate-modules.js +0 -38
  101. package/scripts/validate-suite.js +0 -78
  102. package/skills/index.json +0 -14
  103. /package/assets/gep/{genes.seed.json → genes.json} +0 -0
  104. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -1 +1,306 @@
1
- const _0x269c9f=_0x5955;(function(_0x478bf3,_0x3d4757){const _0x3017b9=_0x5955,_0x50253c=_0x478bf3();while(!![]){try{const _0x5648bb=parseInt(_0x3017b9(0xc7,'\x44\x4e\x69\x6b'))/(-0x24b4+0x5b*0x13+0x1df4)+-parseInt(_0x3017b9(0x24e,'\x40\x6c\x4a\x6c'))/(0x11*0x33+0x2b*-0x4f+0x9e4)*(-parseInt(_0x3017b9(0x1e6,'\x2a\x76\x4a\x76'))/(-0x5*0xba+0x13e2+-0x103d))+-parseInt(_0x3017b9(0x1f1,'\x40\x5d\x56\x4c'))/(0x65*0x31+0x2298+-0x35e9)*(parseInt(_0x3017b9(0xca,'\x4f\x45\x33\x7a'))/(-0x14ba+-0x75b*-0x3+0x1*-0x152))+-parseInt(_0x3017b9(0x216,'\x25\x72\x62\x76'))/(0x1d72+0x18a3+-0x7*0x7b9)*(-parseInt(_0x3017b9(0xd0,'\x40\x5d\x56\x4c'))/(-0x749+0xe*0x20b+0x442*-0x5))+-parseInt(_0x3017b9(0x18b,'\x4a\x52\x69\x45'))/(-0x1a*-0x47+0x121b+-0x1949)+-parseInt(_0x3017b9(0x105,'\x64\x50\x61\x4a'))/(0x2*-0x9e+-0x7ff*0x2+0x1143)*(-parseInt(_0x3017b9(0xde,'\x32\x45\x4c\x30'))/(0x1f62+-0x68e+0x14e*-0x13))+-parseInt(_0x3017b9(0x236,'\x47\x63\x73\x4c'))/(-0x1*0x13ed+0x1*0xa4b+0x9ad*0x1)*(parseInt(_0x3017b9(0x285,'\x25\x61\x67\x40'))/(0xe2*-0x1e+-0x3*-0xa6b+-0x193*0x3));if(_0x5648bb===_0x3d4757)break;else _0x50253c['push'](_0x50253c['shift']());}catch(_0x330772){_0x50253c['push'](_0x50253c['shift']());}}}(_0x346d,-0x1e1*-0x12f+-0x73b22+-0xfa1*-0xcc));const _0x41e111=(function(){const _0x45ee29=_0x5955,_0x2157c3={'\x4b\x70\x66\x4b\x62':_0x45ee29(0x158,'\x4a\x52\x69\x45'),'\x6f\x6d\x66\x61\x66':'\x66\x55\x43\x59\x4a','\x72\x45\x4b\x77\x4f':_0x45ee29(0xcf,'\x2a\x76\x4a\x76'),'\x51\x58\x69\x70\x51':function(_0x26ac98){return _0x26ac98();},'\x68\x56\x47\x6a\x5a':function(_0x16ec9c,_0x56e8df,_0x25c253){return _0x16ec9c(_0x56e8df,_0x25c253);},'\x55\x4e\x54\x51\x50':function(_0x511e53){return _0x511e53();},'\x4c\x69\x4c\x4b\x74':_0x45ee29(0x1d8,'\x33\x46\x65\x4e'),'\x71\x73\x5a\x5a\x76':function(_0x4e14b4,_0x3d2d70){return _0x4e14b4>=_0x3d2d70;},'\x65\x61\x41\x4f\x6e':function(_0x1e8d12,_0xfec273){return _0x1e8d12+_0xfec273;},'\x54\x4a\x6e\x78\x59':'\x48\x54\x54\x50\x20','\x71\x56\x65\x56\x47':_0x45ee29(0x19d,'\x47\x63\x73\x4c'),'\x48\x48\x6a\x6b\x52':_0x45ee29(0x215,'\x25\x72\x62\x76')};let _0x2b85c2=!![];return function(_0x23985a,_0x222584){const _0x40588b=_0x45ee29,_0x6586b4={'\x6a\x71\x41\x64\x70':function(_0x2766c9){const _0x5145a4=_0x5955;return _0x2157c3[_0x5145a4(0x20c,'\x58\x52\x66\x51')](_0x2766c9);},'\x62\x5a\x6b\x6b\x75':function(_0x5d3b28,_0x1ec7a6,_0xe9a638){const _0x52b138=_0x5955;return _0x2157c3[_0x52b138(0x13c,'\x69\x66\x30\x32')](_0x5d3b28,_0x1ec7a6,_0xe9a638);},'\x4a\x68\x6d\x74\x4e':function(_0x5229f6){const _0x584a30=_0x5955;return _0x2157c3[_0x584a30(0x123,'\x4f\x45\x33\x7a')](_0x5229f6);},'\x56\x54\x47\x70\x6c':_0x2157c3[_0x40588b(0x28a,'\x71\x36\x6b\x6f')],'\x66\x49\x4c\x77\x57':function(_0x18a8fe,_0x941f4e){const _0xd50e56=_0x40588b;return _0x2157c3[_0xd50e56(0x134,'\x69\x6c\x63\x69')](_0x18a8fe,_0x941f4e);},'\x44\x65\x6b\x55\x54':function(_0x4d0fd3,_0x27e038){const _0x1e002f=_0x40588b;return _0x2157c3[_0x1e002f(0xc9,'\x79\x7a\x49\x68')](_0x4d0fd3,_0x27e038);},'\x71\x48\x43\x63\x44':_0x2157c3[_0x40588b(0xd5,'\x53\x56\x5b\x46')]};if(_0x2157c3[_0x40588b(0x16d,'\x72\x28\x69\x32')]===_0x2157c3['\x48\x48\x6a\x6b\x52'])try{if(!_0x5cdd00['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x6586b4[_0x40588b(0x21d,'\x47\x63\x73\x4c')](_0x53690e)))return-0x1*0x1af9+-0x13e2+0x2edb;return _0x6586b4[_0x40588b(0x15b,'\x55\x49\x69\x29')](_0x530082,_0x1b5f9e[_0x40588b(0xe7,'\x52\x5b\x78\x2a')+_0x40588b(0xb0,'\x4a\x52\x69\x45')](_0x6586b4[_0x40588b(0x19c,'\x52\x5b\x78\x2a')](_0x48e4c4),_0x6586b4[_0x40588b(0x1a2,'\x4b\x38\x29\x76')]),0x1bda+0xbfe+0x13e7*-0x2)||-0x4*0x44f+0x2227*0x1+-0x1*0x10eb;}catch(_0x789db4){return 0x10*-0x248+0x1451*-0x1+0x38d1;}else{const _0xcdd259=_0x2b85c2?function(){const _0x2d1d8b=_0x40588b;if(_0x2157c3[_0x2d1d8b(0x101,'\x64\x50\x61\x4a')]!==_0x2157c3[_0x2d1d8b(0x1fa,'\x69\x6c\x63\x69')])_0x48ce92=_0xd81912[_0x2d1d8b(0x152,'\x61\x64\x65\x21')](_0x6586b4[_0x2d1d8b(0xe2,'\x34\x76\x68\x26')](_0xeb9e04),'\x2e\x6c\x76');else{if(_0x222584){if(_0x2157c3[_0x2d1d8b(0x24d,'\x4f\x45\x33\x7a')]!==_0x2157c3[_0x2d1d8b(0x1cf,'\x36\x29\x53\x76')]){const _0x4ec246=_0x222584[_0x2d1d8b(0x232,'\x25\x72\x62\x76')](_0x23985a,arguments);return _0x222584=null,_0x4ec246;}else{const _0x421355=_0x6586b4['\x66\x49\x4c\x77\x57'](_0x5043f4['\x73\x74\x61\x74\x75\x73'],0x3*-0xb65+-0x1*-0x125f+-0x5ec*-0x3);return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x6586b4[_0x2d1d8b(0x29c,'\x72\x28\x69\x32')](_0x6586b4[_0x2d1d8b(0x1b5,'\x41\x44\x65\x5b')],_0x12d34c[_0x2d1d8b(0x1f0,'\x6c\x41\x48\x4c')])+'\x3a\x20'+_0x21297a[_0x2d1d8b(0xc8,'\x4f\x59\x79\x30')](-0x15c3+-0x59e+0xa3*0x2b,-0x20ef*0x1+0x23d5+-0x21e),'\x6f\x66\x66\x6c\x69\x6e\x65':_0x421355};}}}}:function(){};return _0x2b85c2=![],_0xcdd259;}};}()),_0x5ee018=_0x41e111(this,function(){const _0x18ca6e=_0x5955,_0x3d3ab5={};_0x3d3ab5[_0x18ca6e(0x258,'\x52\x5b\x78\x2a')]=_0x18ca6e(0x266,'\x6d\x35\x76\x30')+_0x18ca6e(0x25c,'\x58\x52\x66\x51');const _0x54325b=_0x3d3ab5;return _0x5ee018[_0x18ca6e(0x280,'\x32\x45\x4c\x30')]()[_0x18ca6e(0x1e1,'\x67\x7a\x46\x46')](_0x18ca6e(0x286,'\x69\x66\x30\x32')+_0x18ca6e(0x15d,'\x4d\x59\x4e\x6e'))[_0x18ca6e(0x186,'\x67\x7a\x46\x46')]()[_0x18ca6e(0x125,'\x58\x52\x66\x51')+_0x18ca6e(0x160,'\x67\x51\x57\x6e')](_0x5ee018)[_0x18ca6e(0x1d6,'\x6c\x41\x48\x4c')](_0x54325b[_0x18ca6e(0x281,'\x6c\x41\x48\x4c')]);});_0x5ee018();const _0xb17910=require(_0x269c9f(0x11e,'\x2a\x76\x4a\x76')),_0x50574b=require('\x66\x73'),_0x37b60f=require('\x70\x61\x74\x68'),{hubFetch:_0x534dd5}=require(_0x269c9f(0xb2,'\x68\x56\x33\x38')+'\x63\x68'),{withFileLock:_0x42001}=require('\x2e\x2f\x61\x73\x73\x65\x74\x53'+_0x269c9f(0xf3,'\x67\x6a\x6e\x56'));function _0x46cb74(_0xb239b9,_0x109a4e){const _0x5a7a3c=_0x269c9f,_0x41ff1e={};_0x41ff1e[_0x5a7a3c(0xc1,'\x55\x55\x59\x6e')]=_0x5a7a3c(0x27e,'\x47\x63\x73\x4c');const _0x52094e=_0x41ff1e;return _0xb17910[_0x5a7a3c(0x1df,'\x6c\x41\x48\x4c')+'\x61\x63'](_0x52094e['\x44\x64\x6a\x61\x74'],_0xb239b9)[_0x5a7a3c(0x284,'\x67\x51\x57\x6e')](_0x109a4e)[_0x5a7a3c(0x26c,'\x34\x76\x68\x26')](_0x5a7a3c(0xcc,'\x68\x56\x33\x38'));}function _0x4cafd0(_0x59f1e4){const _0x33c463=_0x269c9f,_0x341913={'\x69\x43\x48\x48\x4d':_0x33c463(0x25e,'\x4d\x6d\x32\x57'),'\x70\x68\x62\x64\x6d':function(_0x3b4fbf,_0x275f6d){return _0x3b4fbf(_0x275f6d);},'\x78\x5a\x73\x6a\x74':_0x33c463(0x14b,'\x23\x6f\x54\x76')};return _0xb17910[_0x33c463(0x1aa,'\x6c\x41\x48\x4c')+'\x73\x68'](_0x341913[_0x33c463(0x27f,'\x67\x6a\x6e\x56')])[_0x33c463(0x136,'\x67\x7a\x46\x46')](_0x341913[_0x33c463(0x111,'\x25\x61\x67\x40')](String,_0x59f1e4||''))[_0x33c463(0x229,'\x33\x46\x65\x4e')](_0x341913[_0x33c463(0x203,'\x4d\x59\x4e\x6e')])[_0x33c463(0x25b,'\x2a\x76\x4a\x76')](-0xb42+0x59*-0x31+0x1c4b,-0x5cf*0x6+-0x2427+0x4711);}function _0x3e1a35({geneId:_0x11e733,signals:_0x51219e,mutation:_0x5e97dc}){const _0x475d53=_0x269c9f,_0x2649a1={'\x4a\x4d\x7a\x53\x5a':function(_0x210d9b,_0x2c086e){return _0x210d9b(_0x2c086e);},'\x54\x6f\x48\x71\x57':function(_0x770455,_0x36d65c){return _0x770455(_0x36d65c);},'\x43\x6f\x76\x7a\x72':function(_0x534797,_0x19f054){return _0x534797!==_0x19f054;},'\x58\x7a\x63\x70\x4e':_0x475d53(0x21e,'\x53\x56\x5b\x46')+_0x475d53(0x207,'\x34\x76\x68\x26'),'\x72\x59\x71\x74\x4f':'\x6f\x66\x66\x6c\x69\x6e\x65\x5f'+_0x475d53(0x15e,'\x64\x50\x61\x4a')+_0x475d53(0x175,'\x68\x56\x33\x38'),'\x77\x57\x67\x55\x71':_0x475d53(0x267,'\x64\x50\x61\x4a')+_0x475d53(0xba,'\x2a\x76\x4a\x76')+_0x475d53(0x145,'\x36\x29\x53\x76'),'\x4b\x59\x4b\x45\x50':function(_0x1ec690,_0x39270e){return _0x1ec690!==_0x39270e;},'\x71\x6e\x79\x56\x41':'\x54\x6c\x47\x4e\x58','\x54\x57\x41\x7a\x79':_0x475d53(0xbf,'\x36\x29\x53\x76'),'\x57\x45\x50\x71\x7a':function(_0x5b8808,_0x5502fd){return _0x5b8808(_0x5502fd);},'\x70\x77\x6e\x4e\x63':_0x475d53(0xdc,'\x23\x6f\x26\x54')+_0x475d53(0xf7,'\x68\x56\x33\x38'),'\x45\x4d\x42\x71\x48':function(_0x4c1216,_0x8d4d18){return _0x4c1216===_0x8d4d18;},'\x58\x6d\x50\x5a\x67':'\x75\x62\x55\x7a\x76','\x6f\x6a\x6c\x6f\x79':_0x475d53(0x183,'\x40\x5d\x56\x4c'),'\x58\x6d\x78\x65\x6d':'\x68\x65\x78','\x78\x77\x4f\x46\x66':function(_0x27de02,_0x102355){return _0x27de02(_0x102355);},'\x49\x71\x56\x7a\x6b':function(_0x18f9c5,_0x5b36a0){return _0x18f9c5(_0x5b36a0);},'\x5a\x58\x61\x73\x4d':function(_0x5b5134,_0x202a6f){return _0x5b5134||_0x202a6f;},'\x77\x73\x47\x45\x48':function(_0x2d9788,_0x342b28){return _0x2d9788||_0x342b28;},'\x63\x52\x57\x57\x4d':function(_0x2e8057,_0xe47b9c,_0x4613d4){return _0x2e8057(_0xe47b9c,_0x4613d4);},'\x65\x62\x79\x4c\x79':function(_0x19e587,_0x174ba0){return _0x19e587||_0x174ba0;}};let _0xb06d00=null;try{if(_0x2649a1[_0x475d53(0x1ef,'\x36\x29\x53\x76')](_0x2649a1[_0x475d53(0x1e9,'\x4f\x45\x33\x7a')],_0x2649a1[_0x475d53(0xdf,'\x25\x72\x62\x76')]))_0xb06d00=_0x2649a1[_0x475d53(0x140,'\x6d\x35\x76\x30')](require,_0x2649a1[_0x475d53(0x104,'\x72\x28\x69\x32')])[_0x475d53(0x238,'\x53\x56\x5b\x46')+_0x475d53(0x2a0,'\x69\x6c\x63\x69')]();else return _0x5c9942&&_0x1e281f['\x6f\x6b']&&_0x3833c8['\x6f\x66\x66\x6c\x69\x6e\x65\x5f'+_0x475d53(0x164,'\x58\x52\x66\x51')]&&_0x2649a1[_0x475d53(0x1a5,'\x23\x6f\x26\x54')](_0x2e536c,_0x100881[_0x475d53(0x1ab,'\x4d\x59\x4e\x6e')+'\x74\x6f\x6b\x65\x6e']),_0x4dbb62;}catch(_0x47a828){}if(!_0xb06d00)return null;let _0x5bfc5d=null;try{if(_0x2649a1[_0x475d53(0x27c,'\x79\x7a\x49\x68')](_0x475d53(0xc2,'\x58\x52\x66\x51'),_0x2649a1[_0x475d53(0x1ed,'\x55\x55\x59\x6e')]))_0x5bfc5d=_0x2649a1['\x4a\x4d\x7a\x53\x5a'](require,_0x2649a1[_0x475d53(0x20b,'\x40\x6c\x4a\x6c')])[_0x475d53(0x277,'\x4d\x59\x4e\x6e')+'\x64']();else{var _0x1bc7f6=_0x13e10f&&_0x3ab82d['\x6d\x65\x73\x73\x61\x67\x65']||_0x2649a1[_0x475d53(0x261,'\x58\x52\x66\x51')](_0xf90ec1,_0x31f8a2);if(_0x2649a1[_0x475d53(0x25d,'\x40\x6c\x4a\x6c')](_0x1bc7f6[_0x475d53(0xe8,'\x67\x7a\x46\x46')](_0x2649a1[_0x475d53(0xf1,'\x52\x5b\x78\x2a')]),-(-0x24d2+-0x1*0x22c6+0x4799))){const _0x9a0119={};return _0x9a0119['\x6f\x6b']=![],_0x9a0119['\x65\x72\x72\x6f\x72']=_0x2649a1[_0x475d53(0x254,'\x33\x46\x65\x4e')],_0x9a0119['\x6f\x66\x66\x6c\x69\x6e\x65']=!![],_0x9a0119;}return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x2649a1[_0x475d53(0x169,'\x67\x7a\x46\x46')],'\x6f\x66\x66\x6c\x69\x6e\x65':!![],'\x64\x65\x74\x61\x69\x6c':_0x1bc7f6[_0x475d53(0x199,'\x6e\x6d\x6b\x35')](-0xb2+-0xf2*-0x19+-0x16f0,-0x25c3+0x6af*-0x3+0x3a98)};}}catch(_0x375851){}if(!_0x5bfc5d)return null;const _0x3ed611=_0xb17910[_0x475d53(0x249,'\x72\x28\x69\x32')+'\x73\x68'](_0x2649a1['\x6f\x6a\x6c\x6f\x79'])['\x75\x70\x64\x61\x74\x65'](_0xb06d00)[_0x475d53(0x11f,'\x44\x5e\x71\x41')](_0x2649a1['\x58\x6d\x78\x65\x6d']),_0x13d2ba=Date[_0x475d53(0x195,'\x68\x56\x33\x38')](),_0x25419b=_0x2649a1[_0x475d53(0x283,'\x6c\x41\x48\x4c')](_0x4cafd0,JSON[_0x475d53(0xbb,'\x64\x50\x61\x4a')+'\x79'](Array[_0x475d53(0x156,'\x32\x45\x4c\x30')](_0x51219e)?_0x51219e[_0x475d53(0xe0,'\x40\x5d\x56\x4c')](-0x1f6a+-0x19e*0x17+-0x1*-0x449c,0x12e*-0x1d+0xc*0x17b+0x3*0x57e):[])),_0x330e7a=_0x2649a1['\x49\x71\x56\x7a\x6b'](_0x4cafd0,JSON[_0x475d53(0x297,'\x25\x2a\x2a\x62')+'\x79'](_0x2649a1[_0x475d53(0x28b,'\x79\x7a\x49\x68')](_0x5e97dc,{}))),_0x220de5=[_0x5bfc5d,_0x2649a1[_0x475d53(0x182,'\x7a\x48\x53\x5b')](_0x11e733,''),_0x25419b,_0x330e7a,String(_0x13d2ba)][_0x475d53(0x10f,'\x25\x61\x67\x40')]('\x7c'),_0xa08b33=_0x2649a1[_0x475d53(0xea,'\x71\x36\x6b\x6f')](_0x46cb74,_0x3ed611,_0x220de5);return{'\x6e\x6f\x64\x65\x49\x64':_0x5bfc5d,'\x6e\x6f\x64\x65\x53\x65\x63\x72\x65\x74':_0xb06d00,'\x62\x6f\x64\x79':{'\x73\x65\x6e\x64\x65\x72\x5f\x69\x64':_0x5bfc5d,'\x67\x65\x6e\x65\x5f\x69\x64':_0x2649a1[_0x475d53(0x13e,'\x79\x7a\x49\x68')](_0x11e733,''),'\x73\x69\x67\x6e\x61\x6c\x73\x5f\x68\x61\x73\x68':_0x25419b,'\x6d\x75\x74\x61\x74\x69\x6f\x6e\x5f\x68\x61\x73\x68':_0x330e7a,'\x74\x73':_0x13d2ba,'\x63\x6c\x69\x65\x6e\x74\x5f\x73\x69\x67\x6e\x61\x74\x75\x72\x65':_0xa08b33}};}function _0x10e9e6({geneId:_0x27fa34,signals:_0x3c1091,mutation:_0x1e80eb}){const _0x35c677=_0x269c9f,_0x1f5994={'\x78\x45\x6f\x4f\x4c':_0x35c677(0x1b0,'\x69\x66\x30\x32')+_0x35c677(0x1c0,'\x47\x63\x73\x4c')+'\x75\x73\x79','\x47\x77\x49\x48\x6c':function(_0x38e3ae,_0x3bd58c){return _0x38e3ae===_0x3bd58c;},'\x41\x68\x74\x4e\x48':_0x35c677(0x112,'\x4d\x59\x4e\x6e'),'\x6f\x6a\x66\x77\x76':_0x35c677(0xf4,'\x67\x51\x57\x6e'),'\x75\x54\x67\x66\x53':_0x35c677(0x226,'\x40\x5d\x56\x4c'),'\x76\x6f\x56\x4a\x71':function(_0x4cef36,_0x34ac43){return _0x4cef36>=_0x34ac43;},'\x70\x73\x77\x50\x69':function(_0x3e7f08,_0x3a1347){return _0x3e7f08+_0x3a1347;},'\x6f\x67\x44\x45\x69':function(_0x1a4976,_0x468d20){return _0x1a4976(_0x468d20);},'\x6f\x4a\x67\x4b\x75':function(_0x5aaf86,_0x57c46a){return _0x5aaf86<_0x57c46a;},'\x42\x49\x48\x42\x6c':function(_0x199582){return _0x199582();},'\x54\x41\x73\x6c\x48':_0x35c677(0x268,'\x4f\x45\x33\x7a'),'\x71\x47\x4e\x64\x70':_0x35c677(0x26d,'\x44\x4e\x69\x6b'),'\x45\x48\x6d\x6a\x49':_0x35c677(0x1e3,'\x71\x36\x6b\x6f')+'\x72\x6c','\x41\x52\x46\x6e\x63':_0x35c677(0x272,'\x55\x55\x59\x6e')+_0x35c677(0x1d2,'\x49\x6e\x58\x42')+_0x35c677(0x139,'\x45\x77\x63\x64'),'\x52\x64\x62\x77\x4c':_0x35c677(0x234,'\x64\x50\x61\x4a')+'\x67','\x58\x56\x47\x54\x72':_0x35c677(0x28e,'\x68\x56\x33\x38')+_0x35c677(0x21b,'\x23\x6f\x26\x54'),'\x6e\x44\x7a\x5a\x57':_0x35c677(0x17a,'\x44\x5e\x71\x41'),'\x41\x42\x4d\x59\x76':function(_0x354013,_0x410ee7,_0x2b1f98){return _0x354013(_0x410ee7,_0x2b1f98);},'\x66\x48\x63\x66\x44':_0x35c677(0x119,'\x25\x61\x67\x40')},_0x55c697=(process.env.A2A_HUB_URL||'')[_0x35c677(0x1b8,'\x58\x52\x66\x51')](/\/+$/,''),_0x5e19b1={};_0x5e19b1['\x6f\x6b']=![],_0x5e19b1['\x65\x72\x72\x6f\x72']=_0x1f5994[_0x35c677(0x162,'\x55\x55\x59\x6e')],_0x5e19b1['\x6f\x66\x66\x6c\x69\x6e\x65']=!![];if(!_0x55c697)return Promise[_0x35c677(0xce,'\x7a\x48\x53\x5b')](_0x5e19b1);const _0x46b491={};_0x46b491[_0x35c677(0x21a,'\x23\x6f\x26\x54')]=_0x27fa34,_0x46b491[_0x35c677(0x287,'\x52\x5b\x78\x2a')]=_0x3c1091,_0x46b491['\x6d\x75\x74\x61\x74\x69\x6f\x6e']=_0x1e80eb;const _0x51dec2=_0x1f5994[_0x35c677(0x17f,'\x23\x6f\x54\x76')](_0x3e1a35,_0x46b491),_0x203a9e={};_0x203a9e['\x6f\x6b']=![],_0x203a9e[_0x35c677(0x18c,'\x6d\x35\x76\x30')]=_0x35c677(0x275,'\x68\x56\x33\x38')+_0x35c677(0xfd,'\x7a\x48\x53\x5b'),_0x203a9e[_0x35c677(0x106,'\x4b\x38\x29\x76')]=!![];if(!_0x51dec2)return Promise['\x72\x65\x73\x6f\x6c\x76\x65'](_0x203a9e);const _0x204e51=_0x1f5994[_0x35c677(0x116,'\x33\x46\x65\x4e')](_0x55c697,_0x1f5994[_0x35c677(0x282,'\x4d\x6d\x32\x57')]),_0x343504=require(_0x1f5994[_0x35c677(0x23f,'\x4a\x52\x69\x45')])[_0x35c677(0xe1,'\x4f\x59\x79\x30')+_0x35c677(0x171,'\x6b\x65\x4e\x4d')+_0x35c677(0x13f,'\x6b\x65\x4e\x4d')+'\x53']||-0x2313+0xf44+-0x1*-0x3adf,_0x48160a={};_0x48160a[_0x35c677(0xee,'\x67\x7a\x46\x46')+_0x35c677(0xb7,'\x25\x72\x62\x76')]=_0x1f5994[_0x35c677(0x170,'\x2a\x76\x4a\x76')],_0x48160a[_0x35c677(0x154,'\x49\x6e\x58\x42')+_0x35c677(0xfe,'\x58\x52\x66\x51')]=_0x1f5994[_0x35c677(0x25f,'\x55\x55\x59\x6e')]+_0x51dec2[_0x35c677(0x109,'\x58\x52\x66\x51')+'\x65\x74'];const _0x37bb00=_0x48160a;return _0x1f5994[_0x35c677(0x1e8,'\x44\x53\x37\x76')](_0x534dd5,_0x204e51,{'\x6d\x65\x74\x68\x6f\x64':_0x1f5994['\x66\x48\x63\x66\x44'],'\x68\x65\x61\x64\x65\x72\x73':_0x37bb00,'\x62\x6f\x64\x79':JSON[_0x35c677(0x1c2,'\x34\x76\x68\x26')+'\x79'](_0x51dec2[_0x35c677(0x206,'\x52\x5b\x78\x2a')]),'\x73\x69\x67\x6e\x61\x6c':AbortSignal[_0x35c677(0x16c,'\x55\x49\x69\x29')](_0x343504)})['\x74\x68\x65\x6e'](function(_0x2997a6){const _0x56c2bb=_0x35c677,_0x4aa768={'\x45\x59\x4f\x78\x77':function(_0x21ab42,_0x41311b){const _0x34973e=_0x5955;return _0x1f5994[_0x34973e(0x1fc,'\x7a\x48\x53\x5b')](_0x21ab42,_0x41311b);},'\x77\x56\x6b\x6d\x56':_0x56c2bb(0x263,'\x71\x36\x6b\x6f'),'\x46\x45\x70\x6a\x76':_0x1f5994[_0x56c2bb(0x1b1,'\x44\x53\x37\x76')],'\x79\x6c\x53\x4e\x74':_0x1f5994[_0x56c2bb(0xef,'\x6e\x6d\x6b\x35')],'\x73\x56\x76\x67\x49':_0x1f5994[_0x56c2bb(0x256,'\x47\x63\x73\x4c')],'\x49\x66\x55\x7a\x5a':function(_0x414dfa,_0x496ad9){const _0x2238d9=_0x56c2bb;return _0x1f5994[_0x2238d9(0x18d,'\x64\x70\x37\x32')](_0x414dfa,_0x496ad9);},'\x4b\x5a\x64\x73\x74':function(_0x30bde0,_0x35a57e){const _0x397f95=_0x56c2bb;return _0x1f5994[_0x397f95(0x27a,'\x55\x55\x59\x6e')](_0x30bde0,_0x35a57e);},'\x72\x71\x57\x45\x6d':function(_0x2ce96b,_0x5e90ff){return _0x2ce96b+_0x5e90ff;},'\x53\x4c\x6c\x6c\x57':function(_0x59203c,_0x30c448){return _0x59203c+_0x30c448;},'\x6b\x6a\x69\x4b\x77':'\x48\x54\x54\x50\x20','\x49\x78\x4d\x50\x4d':function(_0x3db737,_0x889f17){const _0x4b87e0=_0x56c2bb;return _0x1f5994[_0x4b87e0(0x1ee,'\x58\x52\x66\x51')](_0x3db737,_0x889f17);}};_0x1f5994[_0x56c2bb(0x16e,'\x25\x2a\x2a\x62')](_0x2997a6[_0x56c2bb(0x1ba,'\x61\x64\x65\x21')],-0xc22+-0x1bc1+0x29d7)&&_0x1f5994[_0x56c2bb(0x1c9,'\x5e\x29\x44\x52')](_0x130282);if(!_0x2997a6['\x6f\x6b']){if(_0x1f5994[_0x56c2bb(0x22d,'\x6e\x6d\x6b\x35')](_0x56c2bb(0x250,'\x67\x7a\x46\x46'),_0x1f5994[_0x56c2bb(0xc4,'\x32\x45\x4c\x30')])){const _0x1f258f={};return _0x1f258f['\x6f\x6b']=![],_0x1f258f[_0x56c2bb(0xe6,'\x33\x46\x65\x4e')]=_0x1f5994[_0x56c2bb(0x17d,'\x67\x6a\x6e\x56')],_0x1f258f[_0x56c2bb(0xbc,'\x68\x56\x33\x38')]=!![],_0x1f258f;}else return _0x2997a6[_0x56c2bb(0x190,'\x6e\x6d\x6b\x35')]()['\x74\x68\x65\x6e'](function(_0x3b968f){const _0x39f77b=_0x56c2bb;if(_0x4aa768[_0x39f77b(0x19b,'\x49\x6e\x58\x42')]===_0x4aa768[_0x39f77b(0x191,'\x34\x76\x24\x59')]){var _0x377634=(_0x27eee2.env.EVOLVER_SOLIDIFY_VERIFY||'')[_0x39f77b(0x23b,'\x4d\x59\x4e\x6e')+'\x61\x73\x65']();if(_0x4aa768['\x45\x59\x4f\x78\x77'](_0x377634,_0x4aa768[_0x39f77b(0x29a,'\x25\x61\x67\x40')])||_0x4aa768['\x45\x59\x4f\x78\x77'](_0x377634,'\x30')||_0x377634===_0x4aa768[_0x39f77b(0x1b6,'\x4b\x38\x29\x76')])return![];}else{const _0x43a420=_0x4aa768[_0x39f77b(0x22c,'\x49\x6e\x58\x42')](_0x2997a6[_0x39f77b(0x2a2,'\x23\x6f\x54\x76')],-0x2f5*0x2+-0x74b*-0x4+-0x154e);return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x4aa768[_0x39f77b(0x1b2,'\x68\x56\x33\x38')](_0x4aa768[_0x39f77b(0x189,'\x71\x36\x6b\x6f')](_0x4aa768[_0x39f77b(0x225,'\x34\x76\x24\x59')](_0x4aa768[_0x39f77b(0x28f,'\x5e\x29\x44\x52')],_0x2997a6[_0x39f77b(0x172,'\x2a\x76\x4a\x76')]),'\x3a\x20'),_0x3b968f[_0x39f77b(0xc8,'\x4f\x59\x79\x30')](-0x206*-0x1+0xcd5*-0x3+0x2479,-0x24c9+-0x2f*0xd2+0x1*0x4c1f)),'\x6f\x66\x66\x6c\x69\x6e\x65':_0x43a420};}});}return _0x2997a6[_0x56c2bb(0x1c1,'\x7a\x48\x53\x5b')]()[_0x56c2bb(0x1d1,'\x33\x46\x65\x4e')](function(_0x3148eb){const _0x22badd=_0x56c2bb;return _0x3148eb&&_0x3148eb['\x6f\x6b']&&_0x3148eb[_0x22badd(0x2a3,'\x68\x56\x33\x38')+_0x22badd(0x296,'\x7a\x48\x53\x5b')]&&_0x4aa768['\x49\x78\x4d\x50\x4d'](_0x1ee074,_0x3148eb[_0x22badd(0x295,'\x32\x45\x4c\x30')+_0x22badd(0x1ce,'\x68\x56\x33\x38')]),_0x3148eb;});})[_0x35c677(0x16a,'\x44\x53\x37\x76')](function(_0x441e03){const _0x688039=_0x35c677;if(_0x1f5994[_0x688039(0x174,'\x6c\x41\x48\x4c')](_0x688039(0xf9,'\x25\x2a\x2a\x62'),_0x1f5994[_0x688039(0xd8,'\x79\x7a\x49\x68')]))return null;else{const _0xa6ba97={};return _0xa6ba97['\x6f\x6b']=![],_0xa6ba97[_0x688039(0x1ea,'\x4f\x45\x33\x7a')]=_0x441e03[_0x688039(0x2a1,'\x23\x6f\x54\x76')],_0xa6ba97[_0x688039(0x168,'\x25\x61\x67\x40')]=!![],_0xa6ba97;}});}var _0x35df53=null,_0x4c31d8=null;function _0x1ba3a3(){const _0x3b9430=_0x269c9f,_0x1959fc={'\x56\x75\x4e\x66\x4f':function(_0x2809a7){return _0x2809a7();},'\x4f\x4a\x45\x67\x5a':_0x3b9430(0x259,'\x41\x44\x65\x5b'),'\x49\x54\x43\x7a\x66':_0x3b9430(0x279,'\x64\x50\x61\x4a'),'\x47\x79\x4f\x4c\x57':_0x3b9430(0xcd,'\x58\x52\x66\x51'),'\x69\x6b\x4f\x55\x45':function(_0x50270d,_0x4b47aa){return _0x50270d!==_0x4b47aa;},'\x55\x5a\x4b\x64\x58':_0x3b9430(0x209,'\x69\x6c\x63\x69'),'\x6e\x4f\x70\x66\x49':_0x3b9430(0x10c,'\x44\x4e\x69\x6b'),'\x54\x47\x4d\x52\x4c':_0x3b9430(0x1c8,'\x36\x29\x53\x76'),'\x42\x59\x56\x79\x75':function(_0x33ec50,_0x5ddea8){return _0x33ec50(_0x5ddea8);},'\x46\x43\x41\x41\x4e':_0x3b9430(0x293,'\x34\x76\x68\x26')};try{if(_0x1959fc[_0x3b9430(0x114,'\x5e\x29\x44\x52')](_0x3b9430(0x204,'\x4d\x59\x4e\x6e'),_0x1959fc[_0x3b9430(0x121,'\x71\x36\x6b\x6f')]))_0xe5c8df();else return require(_0x1959fc[_0x3b9430(0x132,'\x69\x6c\x63\x69')])[_0x3b9430(0x28d,'\x6c\x41\x48\x4c')+_0x3b9430(0x202,'\x79\x7a\x49\x68')]();}catch(_0x114fac){if(_0x1959fc[_0x3b9430(0x144,'\x7a\x48\x53\x5b')](_0x1959fc[_0x3b9430(0x22a,'\x67\x6a\x6e\x56')],_0x1959fc[_0x3b9430(0x269,'\x58\x52\x66\x51')]))return!_0x427287&&(_0x56ca2e=_0x1a0baf[_0x3b9430(0x185,'\x4c\x34\x6a\x75')](_0x1959fc[_0x3b9430(0x14d,'\x55\x49\x69\x29')](_0x180427),_0x1959fc[_0x3b9430(0xd3,'\x44\x5e\x71\x41')])),_0x4488f9;else try{return _0x37b60f[_0x3b9430(0x161,'\x4f\x59\x79\x30')](_0x1959fc[_0x3b9430(0x1cb,'\x4f\x45\x33\x7a')](require,'\x2e\x2f\x70\x61\x74\x68\x73')[_0x3b9430(0x1b3,'\x55\x55\x59\x6e')+_0x3b9430(0x1cd,'\x61\x64\x65\x21')](),_0x1959fc[_0x3b9430(0x24a,'\x67\x6a\x6e\x56')],_0x1959fc['\x47\x79\x4f\x4c\x57']);}catch(_0x3245c3){return _0x1959fc[_0x3b9430(0x167,'\x4f\x45\x33\x7a')]!==_0x1959fc['\x46\x43\x41\x41\x4e']?_0x5c8e44['\x6a\x6f\x69\x6e'](_0x194cf2[_0x3b9430(0x1ac,'\x33\x46\x65\x4e')](),_0x1959fc[_0x3b9430(0x1a0,'\x25\x72\x62\x76')],_0x1959fc[_0x3b9430(0x208,'\x4f\x59\x79\x30')]):_0x37b60f[_0x3b9430(0x166,'\x4f\x45\x33\x7a')](process[_0x3b9430(0xf6,'\x44\x5e\x71\x41')](),'\x2e\x65\x76\x6f\x6c\x76\x65\x72',_0x1959fc[_0x3b9430(0x257,'\x67\x7a\x46\x46')]);}}}function _0x14a25b(){const _0x3c874d=_0x269c9f,_0x275940={'\x65\x6e\x48\x43\x73':function(_0x1a6750,_0x298252){return _0x1a6750(_0x298252);},'\x58\x69\x58\x57\x51':_0x3c874d(0x124,'\x40\x5d\x56\x4c'),'\x48\x4e\x76\x46\x50':_0x3c874d(0xc6,'\x72\x28\x69\x32'),'\x48\x4e\x59\x75\x4c':_0x3c874d(0x298,'\x4a\x52\x69\x45'),'\x6d\x48\x63\x62\x41':function(_0x459844,_0x1ecc44){return _0x459844===_0x1ecc44;},'\x5a\x41\x4c\x74\x57':_0x3c874d(0x165,'\x4b\x38\x29\x76'),'\x75\x43\x52\x73\x42':function(_0x27d3ee){return _0x27d3ee();},'\x58\x43\x43\x6c\x53':_0x3c874d(0x14c,'\x4b\x38\x29\x76')};if(!_0x35df53){if(_0x275940[_0x3c874d(0x12c,'\x34\x76\x68\x26')](_0x275940[_0x3c874d(0x200,'\x67\x7a\x46\x46')],_0x275940[_0x3c874d(0x12a,'\x40\x5d\x56\x4c')]))_0x35df53=_0x37b60f[_0x3c874d(0x217,'\x69\x6c\x63\x69')](_0x275940['\x75\x43\x52\x73\x42'](_0x1ba3a3),_0x275940[_0x3c874d(0x239,'\x23\x6f\x54\x76')]);else try{return _0x37ccc7[_0x3c874d(0x219,'\x47\x63\x73\x4c')](qkDPOk[_0x3c874d(0x141,'\x41\x44\x65\x5b')](_0x15cf8a,qkDPOk[_0x3c874d(0x27d,'\x4f\x45\x33\x7a')])[_0x3c874d(0x126,'\x4b\x38\x29\x76')+_0x3c874d(0x19f,'\x34\x76\x68\x26')](),qkDPOk[_0x3c874d(0x1a1,'\x25\x72\x62\x76')],qkDPOk[_0x3c874d(0x1c4,'\x6b\x65\x4e\x4d')]);}catch(_0x5907e5){return _0x51e397['\x6a\x6f\x69\x6e'](_0x5aa44b[_0x3c874d(0x108,'\x23\x6f\x26\x54')](),'\x2e\x65\x76\x6f\x6c\x76\x65\x72',qkDPOk[_0x3c874d(0x1da,'\x45\x77\x63\x64')]);}}return _0x35df53;}function _0x5955(_0x4a0020,_0x4d05ee){_0x4a0020=_0x4a0020-(-0xa3*-0x3+0x2117+0x1129*-0x2);const _0x1e6543=_0x346d();let _0x1ebc5e=_0x1e6543[_0x4a0020];if(_0x5955['\x6f\x59\x52\x49\x58\x49']===undefined){var _0x1f3542=function(_0x4779e6){const _0x454814='\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 _0x413334='',_0x5991fc='',_0x110843=_0x413334+_0x1f3542,_0x20d6e3=(''+function(){return-0x7*0x79+0x1b83+-0xc1a*0x2;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x20ef*0x1+0x2555+0x1*-0x465);for(let _0x3e24d7=0x1*-0x2441+-0x1f33*-0x1+0x50e,_0x226149,_0x292f95,_0x3e53aa=-0xa*-0x1c7+-0xb*0x301+0xf45;_0x292f95=_0x4779e6['\x63\x68\x61\x72\x41\x74'](_0x3e53aa++);~_0x292f95&&(_0x226149=_0x3e24d7%(0x2c9+-0x26aa+0x23e5)?_0x226149*(0xf60+0x32*0x1b+-0x1466)+_0x292f95:_0x292f95,_0x3e24d7++%(-0x1*0x1b59+-0x304*0x4+-0x276d*-0x1))?_0x413334+=_0x20d6e3||_0x110843['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3e53aa+(0x1*-0xbe7+0x2f*0x44+-0x8b))-(-0x1477+-0xc44*-0x3+0x61*-0x2b)!==-0x11e+-0x19f0+0xd87*0x2?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x24ff+0x1ec4+0x42c4*-0x1&_0x226149>>(-(0x134f*-0x2+-0x19b1+0x4051)*_0x3e24d7&0x6a5+0xec*-0x17+0xe95*0x1)):_0x3e24d7:0x2378+0x2135*-0x1+-0x243){_0x292f95=_0x454814['\x69\x6e\x64\x65\x78\x4f\x66'](_0x292f95);}for(let _0x546582=-0x24c3*-0x1+0x92c*-0x2+-0x126b,_0x51d979=_0x413334['\x6c\x65\x6e\x67\x74\x68'];_0x546582<_0x51d979;_0x546582++){_0x5991fc+='\x25'+('\x30\x30'+_0x413334['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x546582)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1d8*-0xe+0x94d+0x1093))['\x73\x6c\x69\x63\x65'](-(0xa8d+0x512+0x23b*-0x7));}return decodeURIComponent(_0x5991fc);};const _0x436668=function(_0x2f7668,_0x5c1d16){let _0x197f20=[],_0x5a876e=-0x1*0xe56+-0x19d0*-0x1+0x1a*-0x71,_0x397bd4,_0x43ba70='';_0x2f7668=_0x1f3542(_0x2f7668);let _0x29db1e;for(_0x29db1e=0x4*-0x6df+-0x27*0x6b+0x2bc9;_0x29db1e<0x59*-0x20+-0x1768+0x2388;_0x29db1e++){_0x197f20[_0x29db1e]=_0x29db1e;}for(_0x29db1e=-0x509*0x4+0x26bc+-0x1298;_0x29db1e<-0xe24+0x1*0x7bb+0x769;_0x29db1e++){_0x5a876e=(_0x5a876e+_0x197f20[_0x29db1e]+_0x5c1d16['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x29db1e%_0x5c1d16['\x6c\x65\x6e\x67\x74\x68']))%(0x5*0xd9+-0x1ad7*0x1+0x179a),_0x397bd4=_0x197f20[_0x29db1e],_0x197f20[_0x29db1e]=_0x197f20[_0x5a876e],_0x197f20[_0x5a876e]=_0x397bd4;}_0x29db1e=-0x17dd+0x273+-0xab5*-0x2,_0x5a876e=0xe5f*0x2+0x5fd+-0x22bb;for(let _0x211ea4=-0x18c1+0x14b6+0x40b;_0x211ea4<_0x2f7668['\x6c\x65\x6e\x67\x74\x68'];_0x211ea4++){_0x29db1e=(_0x29db1e+(0xedb+0x24cd+-0x33a7))%(-0x1390+0x2*-0x7bd+-0x2*-0x1205),_0x5a876e=(_0x5a876e+_0x197f20[_0x29db1e])%(-0x731*-0x3+-0x3ca+0x1*-0x10c9),_0x397bd4=_0x197f20[_0x29db1e],_0x197f20[_0x29db1e]=_0x197f20[_0x5a876e],_0x197f20[_0x5a876e]=_0x397bd4,_0x43ba70+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x2f7668['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x211ea4)^_0x197f20[(_0x197f20[_0x29db1e]+_0x197f20[_0x5a876e])%(-0x2435+0x23ec+0x149)]);}return _0x43ba70;};_0x5955['\x6e\x6f\x78\x45\x63\x45']=_0x436668,_0x5955['\x51\x42\x48\x72\x42\x4e']={},_0x5955['\x6f\x59\x52\x49\x58\x49']=!![];}const _0x48367e=_0x1e6543[0x522+-0x25bf+-0x16b*-0x17],_0x3243fd=_0x4a0020+_0x48367e,_0x5c3743=_0x5955['\x51\x42\x48\x72\x42\x4e'][_0x3243fd];if(!_0x5c3743){if(_0x5955['\x6d\x61\x66\x4f\x6d\x73']===undefined){const _0x4db5fd=function(_0x40e420){this['\x75\x50\x75\x4f\x59\x6a']=_0x40e420,this['\x73\x74\x65\x52\x68\x49']=[-0x1d2a*0x1+0xe3a+-0xe1*-0x11,-0xe38+0x1be3+-0xdab,-0x26b7+-0x1fc7+0x467e],this['\x68\x70\x6f\x4e\x73\x56']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x56\x75\x6a\x45\x61\x48']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x6b\x6d\x53\x59\x71\x46']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x4db5fd['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x69\x4f\x4d\x70\x75\x75']=function(){const _0x4fdc66=new RegExp(this['\x56\x75\x6a\x45\x61\x48']+this['\x6b\x6d\x53\x59\x71\x46']),_0x48f7c2=_0x4fdc66['\x74\x65\x73\x74'](this['\x68\x70\x6f\x4e\x73\x56']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x73\x74\x65\x52\x68\x49'][0x167a+0x6a8+-0x1d21]:--this['\x73\x74\x65\x52\x68\x49'][-0x244a+0xd*-0xc5+0x2e4b];return this['\x45\x59\x4a\x71\x78\x6d'](_0x48f7c2);},_0x4db5fd['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x45\x59\x4a\x71\x78\x6d']=function(_0x4fd069){if(!Boolean(~_0x4fd069))return _0x4fd069;return this['\x51\x4b\x51\x7a\x50\x67'](this['\x75\x50\x75\x4f\x59\x6a']);},_0x4db5fd['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x51\x4b\x51\x7a\x50\x67']=function(_0x587422){for(let _0x5a504e=0xb*-0x35f+-0x2d9*-0x3+-0x119*-0x1a,_0xaa5be3=this['\x73\x74\x65\x52\x68\x49']['\x6c\x65\x6e\x67\x74\x68'];_0x5a504e<_0xaa5be3;_0x5a504e++){this['\x73\x74\x65\x52\x68\x49']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0xaa5be3=this['\x73\x74\x65\x52\x68\x49']['\x6c\x65\x6e\x67\x74\x68'];}return _0x587422(this['\x73\x74\x65\x52\x68\x49'][0x26eb+-0x2523*0x1+-0x39*0x8]);},(''+function(){return 0xb*-0x131+0x1011+-0x2f6;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x2074+0x1c21+-0x454*-0x1)&&new _0x4db5fd(_0x5955)['\x69\x4f\x4d\x70\x75\x75'](),_0x5955['\x6d\x61\x66\x4f\x6d\x73']=!![];}_0x1ebc5e=_0x5955['\x6e\x6f\x78\x45\x63\x45'](_0x1ebc5e,_0x4d05ee),_0x5955['\x51\x42\x48\x72\x42\x4e'][_0x3243fd]=_0x1ebc5e;}else _0x1ebc5e=_0x5c3743;return _0x1ebc5e;}function _0x9df4b1(){const _0x5dc1a8=_0x269c9f,_0x5094fc={'\x55\x4e\x67\x6e\x54':function(_0x6389c){return _0x6389c();},'\x44\x49\x52\x6f\x47':'\x2e\x6c\x76'};return!_0x4c31d8&&(_0x4c31d8=_0x37b60f[_0x5dc1a8(0x1dc,'\x67\x6a\x6e\x56')](_0x5094fc[_0x5dc1a8(0x240,'\x40\x6c\x4a\x6c')](_0x1ba3a3),_0x5094fc[_0x5dc1a8(0xae,'\x23\x6f\x54\x76')])),_0x4c31d8;}function _0x346d(){const _0x3a6377=['\x57\x34\x56\x64\x51\x58\x78\x64\x4e\x63\x6d\x64\x57\x36\x57\x7a','\x57\x36\x7a\x61\x57\x50\x78\x64\x4f\x38\x6b\x33\x57\x34\x6d\x43\x57\x4f\x69','\x6d\x38\x6f\x6f\x6f\x53\x6b\x52\x57\x52\x64\x64\x53\x38\x6f\x49\x57\x4f\x6e\x62\x64\x6d\x6b\x51\x57\x36\x61','\x57\x50\x78\x64\x47\x31\x42\x64\x54\x6d\x6b\x4f','\x57\x34\x50\x59\x57\x35\x53\x54\x57\x4f\x71','\x57\x4f\x6d\x43\x57\x35\x4e\x64\x48\x43\x6f\x6e\x57\x35\x31\x73\x79\x38\x6b\x48\x57\x35\x56\x63\x53\x47','\x57\x4f\x70\x64\x49\x43\x6b\x42\x69\x38\x6f\x38\x78\x72\x6d','\x46\x43\x6f\x35\x57\x37\x71','\x57\x34\x54\x69\x74\x78\x74\x64\x50\x76\x61','\x71\x48\x64\x63\x49\x65\x52\x64\x47\x6d\x6f\x31\x57\x4f\x34','\x57\x50\x50\x78\x46\x38\x6f\x6a\x57\x37\x61','\x69\x64\x75\x6f\x57\x37\x7a\x53\x57\x34\x46\x64\x50\x38\x6b\x43\x71\x53\x6f\x79\x62\x38\x6f\x61\x78\x71','\x57\x52\x6c\x64\x55\x4e\x42\x64\x4b\x62\x2f\x63\x4c\x58\x37\x64\x48\x4e\x42\x63\x4d\x38\x6b\x6f','\x43\x47\x4e\x64\x47\x57\x6a\x4c\x7a\x43\x6b\x33','\x57\x37\x68\x63\x4f\x4d\x43\x31\x79\x47','\x57\x34\x33\x64\x4f\x72\x78\x64\x48\x4a\x30','\x57\x37\x4e\x64\x54\x32\x33\x64\x55\x74\x4b','\x57\x36\x54\x46\x44\x67\x70\x64\x51\x47','\x76\x58\x64\x63\x4a\x32\x33\x64\x4d\x43\x6f\x48\x57\x51\x75\x4d','\x57\x35\x35\x75\x57\x35\x71\x67\x57\x50\x4f','\x57\x51\x7a\x6f\x43\x43\x6f\x78\x57\x36\x38','\x69\x6d\x6f\x6f\x57\x4f\x44\x44\x6b\x47','\x41\x65\x68\x63\x48\x49\x71','\x67\x61\x56\x64\x53\x75\x52\x63\x56\x33\x4a\x63\x4a\x38\x6f\x61','\x74\x6d\x6f\x52\x45\x63\x42\x63\x53\x53\x6f\x77\x77\x6d\x6f\x44','\x62\x4d\x4e\x63\x50\x6d\x6b\x5a\x57\x52\x6c\x63\x4e\x53\x6b\x2b\x57\x35\x75\x4d\x77\x61','\x6f\x53\x6f\x72\x57\x34\x78\x64\x56\x48\x43','\x79\x77\x50\x71\x57\x51\x69\x39','\x57\x51\x37\x64\x55\x32\x56\x64\x48\x38\x6b\x73\x6c\x53\x6b\x46\x57\x34\x4f','\x57\x52\x4f\x59\x73\x74\x33\x63\x52\x71','\x57\x36\x78\x63\x53\x73\x33\x63\x4a\x61','\x57\x37\x54\x33\x57\x52\x4e\x64\x48\x61\x74\x63\x55\x6d\x6b\x62\x67\x47','\x41\x76\x4a\x63\x47\x49\x4f\x56\x67\x43\x6b\x5a','\x57\x51\x72\x65\x66\x4b\x75\x52','\x57\x35\x46\x64\x4f\x64\x43\x77\x78\x38\x6f\x54\x75\x4c\x4f','\x79\x6d\x6b\x32\x57\x34\x74\x64\x55\x43\x6b\x33\x57\x51\x74\x64\x49\x47','\x44\x58\x37\x64\x4f\x58\x6a\x4b\x79\x43\x6b\x74\x67\x57','\x57\x37\x4a\x64\x4f\x57\x71\x4d\x57\x52\x53','\x57\x36\x50\x65\x57\x51\x74\x64\x50\x58\x69','\x57\x50\x75\x4e\x41\x4d\x52\x63\x56\x53\x6b\x55\x57\x37\x38\x68','\x79\x6d\x6b\x7a\x57\x35\x6a\x41\x57\x34\x70\x64\x48\x43\x6f\x46\x6d\x71','\x73\x53\x6b\x33\x57\x34\x37\x64\x51\x6d\x6b\x51\x57\x4f\x78\x64\x4d\x66\x34','\x76\x31\x4b\x30\x6c\x68\x30','\x57\x35\x50\x70\x57\x50\x69','\x57\x37\x33\x64\x56\x5a\x75\x63\x76\x57','\x6a\x53\x6b\x53\x6c\x38\x6f\x75\x57\x35\x4f\x47\x57\x34\x69\x75','\x6c\x6d\x6f\x54\x57\x50\x54\x49','\x57\x35\x56\x64\x51\x43\x6b\x34\x6c\x61\x75','\x43\x6d\x6f\x4b\x57\x36\x75\x2b\x57\x50\x56\x64\x4e\x58\x47\x4d','\x57\x35\x33\x63\x4e\x30\x79','\x79\x43\x6f\x5a\x57\x36\x38\x49\x57\x4f\x6d','\x57\x36\x6e\x32\x57\x52\x79\x32\x72\x43\x6f\x61\x63\x6d\x6b\x30','\x57\x35\x47\x30\x57\x36\x2f\x64\x50\x6d\x6f\x68','\x72\x53\x6b\x44\x57\x35\x4e\x64\x48\x53\x6b\x41','\x57\x35\x64\x63\x55\x38\x6b\x6a\x57\x52\x61\x71','\x44\x38\x6b\x6f\x57\x34\x31\x75\x57\x35\x47','\x78\x47\x68\x63\x4b\x4b\x74\x64\x47\x6d\x6f\x57','\x57\x34\x44\x7a\x73\x78\x74\x64\x55\x71','\x77\x4c\x53\x56\x57\x37\x30','\x66\x49\x65\x45\x6d\x63\x4b','\x57\x37\x4b\x58\x68\x43\x6f\x59\x57\x4f\x79','\x78\x38\x6f\x48\x7a\x64\x52\x63\x4b\x47','\x70\x38\x6b\x33\x45\x43\x6f\x71\x57\x35\x65\x58\x57\x35\x53\x2b\x57\x4f\x76\x73','\x57\x52\x48\x73\x57\x4f\x33\x64\x47\x53\x6b\x34','\x57\x4f\x6e\x34\x74\x38\x6b\x69\x57\x35\x46\x64\x4a\x53\x6b\x4a\x6f\x6d\x6b\x4f\x57\x51\x5a\x64\x51\x71','\x57\x37\x62\x77\x43\x77\x64\x64\x52\x59\x4a\x64\x52\x57','\x42\x59\x76\x4b\x63\x64\x38','\x76\x76\x70\x64\x54\x61','\x57\x34\x48\x63\x72\x68\x37\x64\x48\x65\x5a\x64\x4c\x53\x6b\x4a','\x6b\x67\x58\x38\x42\x49\x31\x35\x46\x43\x6f\x71','\x57\x35\x42\x64\x51\x62\x64\x64\x48\x74\x47\x45\x57\x36\x61','\x6b\x53\x6f\x75\x45\x43\x6f\x37\x57\x37\x70\x63\x51\x38\x6f\x62','\x72\x72\x66\x55\x6d\x57\x47','\x57\x4f\x33\x63\x49\x38\x6f\x65\x57\x35\x4e\x63\x4c\x61','\x67\x43\x6b\x73\x75\x43\x6f\x72','\x62\x4d\x70\x63\x4f\x53\x6b\x5a\x57\x34\x46\x64\x56\x38\x6b\x68\x57\x34\x65\x73\x73\x43\x6f\x69\x57\x37\x69','\x61\x38\x6b\x76\x77\x53\x6f\x42\x57\x52\x34','\x78\x6d\x6b\x62\x57\x4f\x6d','\x57\x50\x70\x64\x4d\x31\x4e\x63\x52\x57','\x46\x71\x46\x64\x49\x73\x7a\x76','\x46\x32\x56\x64\x4b\x57\x64\x63\x4a\x61','\x57\x52\x66\x66\x65\x33\x4f\x57','\x57\x4f\x61\x58\x43\x74\x4a\x63\x49\x61','\x44\x67\x44\x76\x57\x52\x69\x39','\x69\x38\x6b\x59\x41\x38\x6f\x52','\x65\x67\x44\x67\x43\x6d\x6b\x61','\x57\x35\x78\x64\x4e\x6d\x6b\x52\x63\x57','\x57\x35\x79\x4f\x63\x43\x6f\x78\x57\x4f\x78\x64\x53\x6d\x6b\x61','\x6e\x75\x6e\x4b\x44\x53\x6b\x59','\x57\x4f\x58\x5a\x73\x38\x6f\x46\x57\x34\x4b\x48','\x57\x35\x52\x63\x47\x75\x75\x33\x73\x38\x6b\x41','\x57\x4f\x62\x4e\x76\x6d\x6f\x64\x57\x35\x71\x47\x45\x38\x6b\x34','\x57\x34\x37\x64\x51\x58\x47\x76\x57\x51\x34','\x57\x36\x5a\x64\x49\x48\x75\x6b\x73\x57','\x57\x36\x44\x4b\x57\x52\x37\x63\x4f\x43\x6b\x4f','\x70\x63\x4c\x6a\x57\x51\x61\x53\x57\x50\x37\x63\x4f\x57','\x57\x34\x76\x63\x74\x4d\x4a\x64\x4f\x31\x56\x64\x47\x6d\x6b\x59','\x57\x37\x48\x76\x79\x31\x37\x64\x4f\x5a\x42\x64\x50\x74\x4b','\x57\x51\x43\x58\x77\x43\x6f\x66\x74\x61','\x77\x53\x6b\x2b\x57\x36\x4e\x64\x4e\x38\x6b\x47','\x57\x35\x4e\x64\x4e\x6d\x6b\x51\x67\x72\x37\x64\x50\x65\x57','\x73\x65\x44\x31\x57\x52\x75\x70','\x57\x35\x6a\x69\x75\x32\x38','\x57\x52\x30\x6c\x41\x5a\x56\x63\x4e\x61','\x57\x34\x6c\x64\x4d\x48\x6c\x64\x4d\x78\x6c\x64\x56\x43\x6b\x47\x57\x35\x79','\x44\x53\x6b\x45\x41\x53\x6f\x56\x57\x37\x78\x63\x53\x6d\x6f\x42\x57\x51\x75','\x6c\x49\x57\x32\x6e\x73\x4f','\x6a\x6d\x6f\x4b\x57\x51\x64\x64\x4d\x43\x6f\x49','\x71\x43\x6f\x65\x63\x43\x6b\x68\x57\x36\x4f\x6e\x57\x36\x4e\x64\x50\x6d\x6f\x44\x74\x6d\x6b\x64\x57\x51\x57\x45','\x57\x34\x4e\x63\x48\x53\x6b\x58\x57\x52\x34\x6c','\x70\x6d\x6f\x52\x57\x50\x54\x50\x6f\x43\x6f\x43\x57\x51\x30','\x57\x35\x42\x63\x55\x53\x6b\x42\x57\x4f\x69\x30','\x57\x52\x50\x61\x57\x4f\x6c\x64\x51\x6d\x6b\x44\x57\x35\x57\x76\x57\x50\x75','\x46\x6d\x6b\x4f\x57\x34\x74\x64\x56\x43\x6b\x37\x57\x4f\x34','\x62\x53\x6f\x4a\x57\x37\x57','\x73\x61\x35\x4b\x63\x64\x30','\x57\x34\x70\x64\x49\x57\x74\x64\x49\x71','\x57\x51\x34\x41\x46\x32\x2f\x63\x50\x71','\x79\x5a\x54\x30\x6c\x5a\x48\x41\x78\x6d\x6f\x67','\x57\x52\x79\x52\x46\x6d\x6f\x34\x76\x71','\x6c\x6d\x6f\x2b\x57\x50\x2f\x64\x4f\x43\x6f\x34\x67\x43\x6b\x35\x64\x47','\x57\x34\x50\x58\x57\x36\x6d\x55\x57\x50\x6d','\x77\x38\x6b\x58\x57\x37\x50\x30\x57\x37\x2f\x64\x56\x38\x6f\x50\x65\x47','\x57\x35\x74\x63\x48\x48\x6c\x63\x4b\x66\x79','\x57\x35\x5a\x64\x4f\x64\x37\x64\x51\x49\x69','\x43\x53\x6b\x54\x57\x50\x44\x71\x57\x4f\x30','\x71\x38\x6b\x79\x57\x35\x35\x63\x57\x37\x6d','\x77\x72\x37\x63\x54\x68\x64\x64\x51\x71','\x76\x38\x6f\x38\x44\x71','\x6d\x72\x30\x59\x62\x63\x34','\x77\x53\x6b\x6c\x57\x35\x58\x44\x57\x34\x61','\x78\x75\x53\x37\x6b\x68\x38\x45\x45\x4b\x65','\x76\x75\x4a\x64\x56\x58\x56\x63\x54\x78\x46\x63\x4d\x43\x6f\x44','\x57\x36\x66\x37\x57\x52\x71\x5a\x78\x53\x6f\x39\x66\x6d\x6b\x66','\x57\x34\x2f\x64\x55\x43\x6f\x4e','\x57\x52\x66\x46\x79\x57','\x57\x35\x35\x32\x57\x4f\x78\x64\x49\x59\x75','\x41\x65\x4e\x63\x47\x63\x53\x38\x61\x6d\x6b\x4c','\x57\x35\x4a\x64\x56\x72\x6d','\x57\x4f\x34\x45\x45\x4b\x70\x63\x4b\x71','\x57\x35\x42\x63\x48\x75\x6d\x58','\x57\x4f\x4e\x63\x52\x53\x6f\x79\x57\x37\x4f','\x76\x53\x6b\x61\x46\x38\x6f\x31\x41\x4d\x5a\x63\x51\x43\x6f\x59','\x57\x34\x39\x4f\x57\x51\x79\x33\x77\x6d\x6f\x48\x67\x6d\x6b\x47','\x78\x75\x34\x2b\x57\x37\x47','\x78\x49\x70\x64\x4b\x43\x6f\x58\x57\x4f\x46\x63\x51\x43\x6b\x6a','\x79\x30\x4b\x2f\x57\x35\x43\x7a','\x71\x6d\x6b\x7a\x72\x43\x6f\x55\x45\x71','\x57\x35\x76\x44\x57\x34\x4f\x62\x57\x50\x38','\x66\x78\x6a\x73\x6f\x57','\x57\x36\x50\x7a\x57\x51\x64\x64\x48\x48\x38','\x57\x37\x62\x77\x43\x77\x64\x64\x52\x59\x4a\x64\x52\x5a\x71','\x67\x6d\x6f\x6f\x57\x34\x34\x66','\x57\x34\x69\x4b\x63\x43\x6f\x75\x57\x4f\x33\x64\x51\x43\x6b\x36\x63\x71','\x57\x34\x4a\x64\x48\x77\x52\x64\x53\x48\x74\x64\x4b\x4e\x6c\x63\x4c\x47','\x57\x34\x78\x64\x4b\x53\x6b\x54','\x57\x4f\x5a\x64\x47\x66\x42\x64\x55\x71','\x57\x51\x56\x64\x50\x6d\x6b\x66\x6f\x53\x6f\x75','\x79\x53\x6f\x47\x44\x4a\x37\x63\x48\x71','\x57\x35\x6a\x63\x73\x33\x37\x64\x55\x71','\x57\x37\x50\x51\x71\x4b\x52\x64\x49\x47','\x57\x35\x48\x66\x57\x4f\x70\x63\x4e\x47','\x57\x37\x72\x50\x57\x51\x56\x63\x53\x43\x6b\x32','\x68\x6d\x6b\x42\x78\x53\x6f\x74\x57\x52\x50\x74\x57\x52\x47','\x46\x53\x6b\x70\x57\x34\x46\x64\x49\x43\x6b\x2b','\x42\x30\x68\x63\x48\x49\x79\x31','\x72\x38\x6b\x39\x57\x4f\x54\x37\x57\x50\x57','\x57\x37\x58\x51\x57\x51\x42\x64\x49\x61\x78\x63\x51\x53\x6b\x43','\x57\x52\x4c\x5a\x57\x4f\x42\x64\x4d\x53\x6b\x43','\x57\x37\x6d\x6a\x57\x36\x74\x64\x51\x6d\x6f\x34','\x7a\x4b\x39\x45\x57\x52\x6d\x58','\x57\x52\x44\x78\x44\x43\x6f\x37\x57\x34\x38','\x78\x6d\x6b\x56\x57\x36\x39\x30\x57\x37\x4a\x64\x56\x38\x6f\x50\x63\x57','\x57\x50\x58\x31\x75\x38\x6f\x42\x57\x34\x47\x39','\x7a\x4d\x4c\x73\x57\x51\x71\x32\x57\x51\x4e\x63\x54\x43\x6b\x32','\x6a\x33\x66\x39\x73\x38\x6b\x6a','\x79\x6d\x6f\x56\x57\x37\x75','\x72\x72\x70\x64\x55\x38\x6f\x54\x57\x51\x43','\x57\x4f\x4b\x43\x75\x53\x6f\x49\x78\x71','\x78\x38\x6b\x47\x57\x50\x39\x65\x57\x52\x65','\x79\x43\x6b\x69\x57\x34\x31\x73\x57\x34\x74\x64\x4a\x6d\x6f\x46\x6f\x71','\x57\x37\x5a\x63\x4a\x75\x6d\x47\x78\x43\x6b\x43\x57\x35\x47','\x57\x37\x4e\x64\x55\x38\x6b\x77\x63\x61\x75','\x57\x36\x57\x51\x57\x37\x68\x64\x48\x53\x6f\x50','\x69\x6d\x6f\x68\x57\x4f\x7a\x69\x66\x61','\x76\x30\x61\x76\x57\x37\x79\x55\x57\x50\x71\x69\x57\x35\x71','\x57\x34\x4a\x64\x55\x38\x6f\x42\x57\x4f\x64\x64\x53\x71','\x75\x66\x42\x64\x56\x58\x75','\x44\x38\x6b\x70\x45\x38\x6f\x5a\x57\x36\x4e\x63\x50\x6d\x6f\x42\x57\x52\x75','\x72\x57\x42\x63\x56\x67\x64\x64\x50\x61','\x79\x77\x35\x79\x57\x37\x6e\x54\x57\x34\x61','\x78\x77\x61\x52\x6e\x77\x47','\x6e\x64\x4b\x75\x6f\x61','\x46\x43\x6b\x33\x57\x37\x70\x64\x51\x6d\x6b\x39\x57\x4f\x6c\x64\x47\x48\x71','\x78\x59\x33\x64\x54\x71\x54\x76','\x57\x37\x44\x65\x57\x4f\x56\x63\x4b\x53\x6b\x75\x57\x35\x39\x47','\x57\x36\x4e\x64\x47\x61\x71\x30\x57\x50\x53','\x57\x37\x50\x6a\x57\x51\x37\x64\x49\x64\x4f','\x65\x38\x6f\x6c\x6a\x38\x6b\x35\x6e\x48\x52\x64\x54\x6d\x6f\x4f\x57\x51\x46\x63\x4c\x4a\x46\x64\x4e\x48\x79','\x57\x36\x42\x63\x53\x74\x64\x63\x4a\x4c\x34','\x57\x50\x79\x37\x77\x75\x74\x63\x4a\x61','\x78\x53\x6b\x71\x57\x4f\x48\x32\x57\x52\x34','\x71\x47\x2f\x64\x54\x57\x6e\x62','\x74\x66\x79\x51\x6c\x57','\x44\x72\x76\x52\x6f\x57\x75','\x77\x75\x6c\x64\x54\x48\x74\x63\x54\x30\x42\x63\x4d\x61','\x44\x67\x6e\x38\x57\x52\x61\x54\x57\x50\x46\x63\x56\x61','\x42\x43\x6f\x58\x70\x6d\x6b\x6a\x57\x34\x4b','\x45\x38\x6f\x5a\x57\x37\x53','\x6d\x74\x61\x42\x6f\x49\x50\x37\x57\x52\x71','\x68\x53\x6f\x30\x57\x51\x78\x64\x48\x43\x6f\x36','\x57\x35\x79\x53\x57\x37\x56\x64\x48\x38\x6f\x61','\x73\x31\x38\x37\x6f\x67\x34','\x57\x35\x37\x64\x51\x53\x6b\x30\x63\x63\x38','\x57\x37\x44\x58\x57\x4f\x65\x72\x71\x57','\x57\x36\x2f\x64\x52\x74\x53\x67\x76\x57','\x73\x38\x6f\x32\x6e\x38\x6b\x6d\x57\x35\x38','\x74\x53\x6b\x44\x74\x38\x6f\x6f\x7a\x57','\x57\x52\x38\x53\x46\x61','\x6a\x38\x6f\x73\x57\x34\x46\x64\x56\x47\x47','\x6a\x53\x6f\x69\x57\x37\x6c\x64\x47\x4a\x34','\x57\x34\x4c\x4b\x75\x68\x5a\x64\x51\x47','\x44\x73\x39\x30\x70\x59\x4b','\x57\x35\x4e\x64\x4c\x67\x37\x64\x51\x61\x37\x64\x48\x4e\x6c\x63\x4a\x47','\x46\x67\x4e\x64\x51\x49\x56\x63\x48\x61','\x73\x6d\x6b\x6b\x57\x36\x74\x64\x4a\x53\x6b\x4a','\x67\x6d\x6f\x46\x57\x36\x46\x64\x54\x74\x71','\x41\x6d\x6b\x45\x42\x71','\x73\x38\x6f\x4a\x77\x4a\x68\x63\x56\x47','\x61\x33\x72\x72\x79\x53\x6b\x72\x66\x65\x42\x63\x4e\x61','\x78\x6d\x6b\x62\x57\x4f\x6e\x6e\x57\x52\x62\x55\x57\x4f\x6c\x64\x52\x57','\x57\x51\x6a\x62\x61\x61','\x57\x34\x70\x63\x4f\x6d\x6b\x4d\x57\x52\x30\x58\x41\x47','\x79\x43\x6b\x31\x57\x34\x68\x64\x56\x57','\x57\x4f\x56\x64\x48\x66\x56\x64\x56\x53\x6b\x2f\x6b\x43\x6b\x30\x57\x36\x75','\x57\x52\x65\x42\x78\x43\x6f\x2b\x7a\x53\x6f\x53\x57\x52\x34\x4c','\x74\x75\x4a\x63\x48\x47\x53\x76','\x78\x53\x6f\x67\x57\x36\x47\x2b\x57\x50\x53','\x57\x4f\x4e\x64\x49\x43\x6b\x43\x61\x53\x6f\x34\x73\x48\x4b\x33','\x57\x37\x4c\x32\x57\x51\x74\x64\x4d\x71\x56\x63\x47\x6d\x6b\x6e\x62\x61','\x57\x34\x4a\x64\x48\x4a\x78\x64\x49\x48\x75','\x57\x35\x4c\x31\x7a\x32\x42\x64\x53\x61','\x43\x43\x6f\x35\x57\x35\x38\x4f\x57\x4f\x5a\x64\x4e\x49\x34\x52','\x57\x35\x72\x69\x75\x68\x46\x64\x54\x4b\x52\x64\x4b\x61','\x57\x52\x79\x71\x77\x53\x6f\x58','\x57\x50\x64\x63\x54\x43\x6f\x71\x57\x36\x64\x63\x4a\x74\x53','\x57\x4f\x56\x64\x4e\x53\x6b\x41\x70\x38\x6f\x56','\x43\x72\x37\x64\x51\x58\x50\x4b','\x42\x32\x62\x6f\x79\x33\x7a\x59\x57\x4f\x46\x64\x4a\x53\x6f\x78\x63\x43\x6f\x67','\x57\x34\x62\x46\x74\x33\x79','\x57\x34\x66\x4b\x57\x50\x4a\x63\x51\x43\x6b\x4f','\x45\x6d\x6f\x4d\x70\x6d\x6b\x6c\x57\x35\x69\x65\x57\x36\x38\x7a','\x77\x47\x42\x63\x4c\x65\x53','\x57\x51\x6d\x33\x45\x4a\x64\x63\x53\x38\x6b\x46\x57\x4f\x54\x35','\x57\x34\x6c\x64\x49\x64\x71\x44\x57\x51\x71','\x77\x53\x6b\x59\x57\x36\x7a\x6f\x57\x36\x79','\x75\x47\x42\x64\x48\x53\x6f\x74\x57\x4f\x30','\x57\x37\x2f\x64\x48\x63\x65\x71\x57\x4f\x69\x30\x57\x34\x4b\x6c','\x57\x36\x66\x58\x57\x52\x53\x37\x78\x53\x6f\x31\x63\x6d\x6b\x6b','\x44\x38\x6f\x32\x77\x61\x42\x63\x4b\x47','\x76\x49\x78\x64\x4a\x4a\x66\x38','\x57\x37\x37\x64\x49\x74\x4f\x63\x57\x4f\x69\x55\x57\x37\x75\x43','\x57\x37\x62\x5a\x57\x52\x5a\x63\x49\x43\x6b\x6e','\x61\x38\x6b\x43\x73\x53\x6f\x6d\x57\x52\x79','\x57\x4f\x5a\x63\x52\x53\x6f\x66','\x79\x43\x6f\x5a\x57\x36\x43\x4f\x57\x4f\x65','\x73\x43\x6f\x43\x77\x49\x78\x63\x4d\x61','\x41\x63\x7a\x6f\x6d\x59\x62\x61\x41\x38\x6f\x77','\x57\x52\x76\x45\x61\x75\x71','\x57\x36\x44\x37\x57\x51\x54\x59\x72\x6d\x6f\x38\x68\x43\x6b\x5a','\x74\x43\x6b\x46\x57\x34\x42\x64\x51\x38\x6b\x4f','\x76\x30\x4f\x76\x57\x36\x30\x4e\x57\x50\x4b\x62\x57\x35\x6d','\x57\x52\x4b\x79\x74\x38\x6f\x45\x42\x53\x6f\x58\x57\x51\x38\x31','\x65\x32\x6e\x76\x43\x43\x6b\x67\x67\x71','\x57\x35\x4e\x64\x4d\x6d\x6b\x4e','\x57\x52\x72\x63\x61\x48\x69','\x61\x48\x42\x64\x49\x47\x4e\x63\x4b\x4e\x33\x63\x4c\x53\x6f\x64','\x57\x36\x2f\x64\x52\x64\x56\x64\x48\x75\x57','\x57\x36\x74\x63\x4a\x61\x4e\x63\x4c\x65\x43','\x6d\x53\x6f\x54\x57\x4f\x62\x50','\x76\x6d\x6f\x2f\x44\x5a\x37\x63\x56\x53\x6f\x2b\x76\x6d\x6f\x55','\x46\x47\x78\x63\x51\x32\x74\x64\x48\x61','\x61\x33\x72\x72\x79\x53\x6b\x72\x66\x65\x42\x63\x4b\x61','\x7a\x53\x6f\x53\x6f\x71','\x45\x53\x6b\x39\x57\x34\x68\x64\x52\x53\x6b\x53\x57\x4f\x6d','\x6c\x38\x6f\x57\x57\x4f\x62\x5a\x70\x43\x6f\x33\x57\x51\x66\x61','\x57\x37\x78\x64\x4e\x47\x57\x7a\x57\x4f\x6d\x2f\x57\x37\x4b\x71','\x62\x53\x6b\x6e\x78\x6d\x6f\x45\x57\x51\x44\x79','\x57\x50\x57\x53\x41\x5a\x6c\x64\x56\x43\x6b\x6d\x57\x4f\x54\x59','\x57\x35\x34\x59\x61\x6d\x6b\x46\x57\x4f\x39\x35\x41\x43\x6b\x52\x57\x37\x46\x63\x54\x78\x2f\x63\x56\x47','\x63\x77\x62\x61\x78\x6d\x6b\x62\x66\x68\x52\x63\x4d\x61','\x74\x77\x6c\x63\x56\x58\x57\x52','\x57\x34\x6e\x65\x57\x50\x70\x63\x50\x53\x6b\x35','\x57\x35\x44\x79\x57\x50\x4a\x63\x4e\x38\x6b\x6b','\x57\x51\x35\x43\x57\x52\x78\x64\x51\x43\x6b\x50\x57\x35\x57\x46\x57\x4f\x4b','\x57\x35\x6a\x63\x42\x68\x74\x64\x4f\x65\x5a\x64\x48\x38\x6b\x73','\x57\x52\x42\x64\x47\x43\x6b\x34\x63\x53\x6f\x36','\x57\x34\x4c\x6b\x7a\x66\x37\x64\x56\x47','\x43\x6d\x6f\x61\x77\x48\x46\x63\x48\x57','\x65\x33\x6a\x76\x44\x38\x6b\x71\x61\x47','\x6a\x74\x65\x6c\x57\x4f\x34\x4f\x57\x4f\x68\x63\x51\x43\x6b\x52\x44\x71','\x57\x52\x44\x4d\x77\x6d\x6f\x34\x57\x37\x47','\x43\x57\x4e\x64\x53\x4a\x31\x2f\x79\x6d\x6b\x2b\x6d\x57','\x78\x6d\x6b\x62\x57\x4f\x6e\x6e\x57\x52\x62\x55\x57\x4f\x69','\x57\x37\x39\x38\x74\x66\x4a\x64\x4f\x47','\x57\x34\x70\x64\x54\x43\x6f\x54\x57\x51\x56\x64\x55\x43\x6f\x51\x46\x47','\x66\x38\x6b\x43\x74\x6d\x6f\x45','\x61\x6d\x6b\x6a\x73\x53\x6f\x77\x57\x52\x31\x41\x57\x52\x74\x64\x54\x61','\x57\x36\x66\x37\x57\x52\x71\x5a\x78\x53\x6f\x39\x66\x61','\x57\x36\x5a\x63\x55\x43\x6b\x4e\x57\x50\x6d\x47','\x57\x35\x6c\x63\x4a\x75\x57\x31\x74\x6d\x6b\x67','\x44\x57\x6c\x63\x53\x4d\x33\x64\x47\x61','\x57\x36\x34\x6a\x57\x35\x4e\x64\x51\x53\x6f\x35','\x77\x38\x6f\x73\x57\x37\x57\x53\x57\x52\x43','\x79\x6d\x6b\x45\x57\x4f\x54\x63','\x75\x38\x6b\x7a\x57\x36\x5a\x64\x51\x6d\x6b\x79','\x71\x6d\x6b\x6c\x57\x4f\x58\x63\x57\x52\x57','\x57\x35\x7a\x78\x57\x37\x6d\x71','\x73\x38\x6b\x39\x57\x50\x7a\x6c\x57\x51\x30','\x71\x6d\x6b\x56\x57\x4f\x6e\x52\x57\x4f\x30','\x57\x36\x76\x4f\x57\x51\x2f\x64\x48\x62\x4a\x63\x4a\x6d\x6b\x72\x65\x47','\x57\x34\x46\x64\x51\x4a\x69\x6c','\x57\x52\x75\x53\x46\x73\x30','\x57\x51\x68\x64\x4c\x4e\x64\x64\x4d\x38\x6b\x41','\x57\x35\x74\x63\x47\x43\x6b\x4e\x57\x50\x69\x77','\x57\x34\x39\x56\x57\x50\x5a\x64\x51\x4a\x6d','\x73\x76\x47\x4b\x57\x35\x43\x52','\x57\x37\x44\x31\x73\x77\x56\x64\x48\x47','\x57\x51\x30\x6a\x73\x43\x6f\x37\x79\x43\x6f\x4c','\x57\x4f\x6c\x63\x47\x53\x6f\x50\x57\x34\x74\x63\x4c\x61','\x57\x36\x62\x44\x43\x76\x42\x64\x47\x71','\x57\x34\x78\x64\x4b\x67\x6c\x64\x4f\x47','\x57\x37\x46\x64\x4c\x64\x30\x77\x57\x4f\x69\x31','\x57\x51\x6c\x64\x47\x53\x6b\x56\x69\x38\x6f\x2b','\x6a\x6d\x6f\x54\x57\x50\x6c\x64\x55\x38\x6f\x2b\x6f\x43\x6b\x74\x67\x71','\x57\x35\x5a\x64\x56\x61\x74\x64\x48\x49\x6d','\x69\x43\x6f\x53\x57\x34\x2f\x64\x4e\x62\x47','\x78\x38\x6b\x30\x57\x35\x5a\x64\x4c\x61\x76\x63\x57\x50\x64\x64\x4c\x61','\x57\x34\x33\x63\x50\x53\x6b\x4f\x57\x52\x79','\x57\x35\x7a\x36\x57\x52\x47\x69\x43\x47','\x79\x53\x6f\x53\x6a\x38\x6b\x69','\x75\x75\x68\x64\x56\x48\x33\x63\x4c\x30\x57','\x78\x30\x56\x64\x56\x4c\x46\x63\x54\x66\x56\x63\x4b\x53\x6f\x62','\x42\x53\x6f\x6f\x69\x43\x6b\x5a\x57\x35\x47','\x79\x53\x6f\x59\x64\x38\x6b\x63\x57\x34\x53','\x57\x36\x68\x64\x4b\x4d\x64\x64\x51\x4b\x64\x64\x4c\x75\x4a\x63\x47\x47','\x57\x37\x2f\x64\x53\x38\x6b\x56\x63\x5a\x69','\x76\x71\x46\x63\x49\x75\x52\x64\x4e\x47','\x45\x75\x31\x38\x57\x50\x4b\x36','\x6c\x43\x6f\x32\x57\x4f\x38\x2f','\x57\x36\x48\x4a\x75\x68\x52\x64\x4a\x57','\x57\x50\x58\x31\x71\x6d\x6f\x67\x57\x35\x6d\x50\x44\x38\x6b\x62','\x76\x71\x39\x58\x6d\x62\x53','\x77\x30\x44\x50\x57\x50\x69\x51','\x45\x4d\x6e\x62','\x74\x72\x37\x64\x47\x6d\x6f\x47\x57\x4f\x61','\x57\x51\x76\x46\x61\x30\x38\x51\x70\x47','\x64\x6d\x6f\x66\x57\x51\x72\x76\x66\x61','\x57\x34\x54\x6d\x77\x66\x74\x64\x53\x75\x2f\x64\x4d\x43\x6b\x34','\x57\x34\x44\x37\x57\x4f\x43\x4c\x42\x71','\x46\x30\x71\x42\x65\x32\x43','\x61\x43\x6f\x47\x57\x36\x6c\x64\x51\x61\x44\x42\x57\x51\x75','\x57\x34\x33\x63\x4a\x74\x6c\x63\x47\x68\x71','\x79\x6d\x6b\x72\x57\x51\x31\x54\x57\x4f\x34','\x69\x6d\x6f\x6f\x57\x4f\x47\x63\x57\x50\x4a\x64\x4b\x38\x6f\x42\x64\x6d\x6f\x66\x57\x36\x4b\x72','\x64\x38\x6f\x32\x57\x37\x74\x64\x51\x62\x43','\x57\x36\x42\x64\x4a\x53\x6f\x42\x57\x50\x46\x64\x54\x61','\x57\x50\x58\x56\x76\x6d\x6f\x41\x57\x4f\x56\x64\x53\x38\x6b\x64\x61\x47','\x57\x36\x7a\x47\x57\x37\x30\x4e\x57\x51\x38','\x6f\x53\x6b\x58\x45\x43\x6f\x46\x57\x4f\x4b\x69\x57\x35\x30\x4f\x57\x51\x6a\x57\x42\x47','\x6c\x6d\x6f\x52\x57\x4f\x72\x55\x6e\x53\x6f\x77\x57\x50\x54\x6e','\x57\x34\x52\x64\x4d\x68\x46\x64\x49\x72\x78\x64\x47\x32\x2f\x63\x47\x61','\x57\x37\x2f\x64\x4e\x38\x6f\x43\x57\x51\x4e\x64\x49\x57','\x45\x6d\x6b\x30\x57\x51\x37\x64\x47\x53\x6f\x4e\x68\x43\x6b\x36\x65\x71','\x72\x38\x6b\x69\x57\x51\x4c\x6f\x57\x51\x35\x4c\x57\x50\x78\x64\x53\x57','\x57\x36\x46\x63\x4f\x4a\x42\x63\x47\x61','\x57\x37\x66\x4f\x71\x67\x4e\x64\x47\x61','\x57\x52\x31\x77\x57\x50\x4f','\x43\x38\x6b\x77\x44\x6d\x6f\x32\x71\x57','\x42\x67\x65\x54\x57\x37\x43\x43','\x57\x34\x7a\x66\x57\x4f\x4e\x63\x4e\x38\x6b\x75','\x71\x62\x74\x63\x4c\x4d\x64\x64\x4c\x71','\x45\x43\x6f\x5a\x57\x36\x38\x4d\x57\x52\x64\x64\x49\x49\x4f\x32','\x78\x67\x56\x64\x4e\x48\x2f\x63\x55\x57','\x57\x37\x74\x64\x4c\x5a\x75\x44\x57\x50\x38\x5a\x57\x34\x6d','\x42\x30\x57\x37\x57\x36\x4b\x7a','\x57\x34\x70\x64\x4d\x6d\x6b\x2b\x64\x49\x5a\x64\x51\x65\x71\x6d','\x72\x6d\x6f\x49\x63\x38\x6b\x66\x57\x36\x69','\x57\x51\x54\x78\x57\x4f\x42\x64\x52\x43\x6b\x56\x57\x35\x61\x58\x57\x50\x65','\x65\x43\x6f\x77\x57\x51\x50\x39\x70\x47','\x57\x35\x78\x64\x55\x53\x6b\x55\x64\x5a\x38','\x57\x50\x7a\x4c\x6c\x32\x61\x53','\x57\x35\x31\x68\x57\x4f\x5a\x63\x4b\x43\x6b\x45','\x64\x72\x30\x71\x57\x36\x47\x65\x57\x51\x43\x70\x57\x35\x65','\x6b\x38\x6f\x32\x57\x50\x54\x55\x6e\x53\x6f\x77','\x71\x43\x6b\x6a\x57\x36\x4e\x64\x54\x43\x6b\x6f','\x41\x49\x6a\x6c\x6f\x48\x71','\x6b\x68\x66\x78\x7a\x43\x6b\x70','\x57\x51\x76\x78\x65\x65\x53','\x57\x52\x6e\x56\x66\x76\x34\x77','\x57\x52\x53\x70\x73\x43\x6f\x39\x46\x71','\x46\x43\x6f\x78\x6b\x43\x6b\x61\x57\x36\x47','\x74\x53\x6b\x48\x57\x36\x2f\x64\x4b\x6d\x6b\x79','\x57\x37\x64\x64\x53\x72\x69\x35\x44\x47','\x57\x50\x46\x64\x4f\x47\x61','\x42\x66\x4b\x2f\x57\x34\x38\x37','\x57\x50\x58\x54\x77\x38\x6f\x6d\x57\x35\x47','\x57\x4f\x30\x65\x63\x5a\x38','\x45\x4b\x61\x38\x57\x36\x6d\x36','\x6f\x53\x6f\x55\x57\x50\x46\x63\x4f\x6d\x6b\x35\x78\x61','\x57\x4f\x64\x64\x51\x6d\x6b\x73\x63\x53\x6f\x6b','\x57\x37\x50\x57\x57\x52\x68\x64\x50\x49\x79','\x57\x37\x6a\x63\x41\x67\x52\x64\x47\x61','\x6e\x53\x6f\x54\x57\x50\x34','\x57\x37\x33\x64\x4b\x64\x38\x63\x57\x50\x6d','\x57\x36\x34\x55\x57\x36\x52\x64\x4c\x57','\x78\x31\x4e\x63\x4e\x63\x79','\x57\x51\x56\x64\x51\x32\x52\x64\x4a\x57\x46\x64\x52\x78\x70\x63\x56\x61','\x57\x35\x30\x4e\x68\x43\x6f\x76\x57\x4f\x33\x64\x53\x38\x6b\x61\x6e\x61','\x57\x37\x48\x34\x57\x52\x52\x63\x50\x38\x6b\x72','\x57\x37\x6a\x51\x42\x75\x4e\x64\x4d\x57','\x57\x35\x46\x64\x55\x43\x6f\x54\x57\x51\x4a\x64\x53\x43\x6f\x5a\x72\x6d\x6f\x6d','\x66\x43\x6b\x32\x79\x74\x70\x63\x4f\x38\x6f\x34\x71\x47','\x57\x52\x71\x51\x42\x5a\x5a\x63\x52\x53\x6b\x6d','\x72\x38\x6b\x45\x46\x43\x6f\x71\x57\x35\x75','\x57\x35\x52\x63\x4a\x78\x65\x33\x77\x38\x6b\x43\x57\x50\x31\x6d','\x57\x36\x74\x64\x4e\x6d\x6b\x77\x6a\x49\x4b','\x79\x53\x6b\x47\x57\x36\x78\x64\x50\x53\x6b\x6e','\x73\x61\x48\x6f\x6a\x61\x75','\x57\x34\x68\x64\x4a\x43\x6f\x41\x6d\x43\x6b\x59\x74\x62\x6d\x78','\x41\x63\x39\x30\x6d\x49\x4c\x2f\x41\x53\x6f\x6e','\x57\x35\x46\x64\x4c\x6d\x6b\x36\x67\x71','\x45\x38\x6f\x5a\x57\x35\x6d\x55\x57\x50\x33\x64\x49\x73\x38\x36','\x57\x4f\x4a\x63\x55\x43\x6f\x30\x57\x36\x37\x63\x55\x47','\x76\x6d\x6b\x63\x57\x50\x66\x56\x57\x52\x7a\x4b\x57\x4f\x6c\x64\x55\x71','\x57\x51\x57\x79\x77\x6d\x6f\x4e\x46\x43\x6f\x58\x57\x52\x69\x6d','\x57\x50\x57\x4b\x64\x43\x6f\x77\x57\x4f\x4a\x64\x51\x38\x6b\x61\x67\x71','\x57\x50\x37\x64\x4e\x38\x6b\x46\x61\x6d\x6f\x30','\x57\x37\x70\x64\x4b\x63\x79\x63\x57\x4f\x69\x34\x57\x34\x69','\x57\x36\x50\x45\x57\x35\x47\x74\x57\x51\x69','\x57\x36\x50\x64\x57\x52\x6c\x63\x50\x38\x6b\x50','\x45\x38\x6f\x52\x6c\x38\x6f\x75\x57\x4f\x35\x67','\x6d\x43\x6f\x62\x57\x51\x66\x70\x66\x71','\x71\x5a\x2f\x64\x47\x38\x6f\x33\x57\x4f\x46\x63\x4f\x43\x6b\x45\x57\x36\x4f','\x6e\x78\x6a\x57\x73\x6d\x6b\x6b','\x63\x6d\x6f\x75\x57\x52\x64\x64\x56\x6d\x6f\x56','\x67\x68\x66\x37\x72\x43\x6b\x64','\x57\x34\x74\x64\x4a\x43\x6b\x37\x63\x58\x37\x64\x50\x61','\x72\x6d\x6f\x6a\x64\x38\x6b\x6a\x57\x52\x4c\x38\x57\x52\x42\x64\x4c\x38\x6f\x4d\x79\x57','\x57\x37\x7a\x76\x65\x38\x6b\x38\x6a\x6d\x6b\x52\x57\x37\x62\x74','\x57\x35\x42\x64\x52\x64\x65\x43\x45\x6d\x6f\x4f\x74\x71','\x57\x34\x43\x59\x68\x53\x6f\x44\x57\x51\x46\x64\x53\x53\x6b\x71\x62\x71','\x6c\x64\x6d\x45\x69\x5a\x66\x4d\x57\x52\x4a\x64\x4f\x61','\x57\x35\x46\x64\x4d\x62\x38\x36\x57\x4f\x69','\x57\x37\x76\x6c\x57\x37\x53\x72\x57\x51\x43','\x42\x38\x6b\x2b\x57\x34\x5a\x64\x54\x43\x6b\x48\x57\x4f\x37\x64\x56\x62\x79','\x62\x32\x6e\x61\x74\x53\x6b\x61\x68\x67\x68\x63\x4a\x57','\x44\x6d\x6f\x53\x57\x37\x57\x48\x57\x4f\x42\x64\x4a\x59\x4f\x52','\x46\x57\x42\x64\x52\x5a\x48\x4e','\x63\x43\x6b\x52\x45\x38\x6f\x55\x57\x51\x43','\x57\x34\x62\x31\x57\x37\x57','\x57\x36\x52\x64\x56\x53\x6f\x31\x57\x51\x56\x64\x4f\x47','\x57\x50\x43\x42\x78\x64\x56\x63\x55\x47','\x46\x43\x6f\x58\x57\x36\x30\x55','\x77\x64\x42\x64\x54\x53\x6f\x56\x57\x50\x5a\x63\x50\x53\x6b\x76\x57\x35\x69','\x72\x62\x52\x63\x4b\x65\x64\x64\x47\x47','\x57\x36\x38\x33\x57\x37\x68\x64\x49\x53\x6f\x4a\x6c\x38\x6f\x4f\x57\x36\x47','\x74\x6d\x6b\x78\x45\x38\x6f\x55\x46\x76\x6d','\x42\x38\x6b\x33\x57\x35\x4f\x32\x42\x38\x6b\x62\x57\x50\x48\x38\x57\x37\x37\x63\x55\x63\x53\x4e','\x62\x6d\x6b\x52\x75\x38\x6f\x73\x57\x4f\x75','\x57\x36\x66\x57\x57\x50\x4a\x64\x47\x47\x42\x63\x54\x53\x6b\x6d\x66\x71','\x57\x4f\x58\x61\x57\x4f\x4a\x64\x4d\x43\x6b\x70','\x57\x4f\x62\x59\x74\x6d\x6b\x6f\x57\x35\x64\x63\x52\x6d\x6f\x73\x6f\x43\x6b\x44\x57\x4f\x64\x64\x4a\x53\x6f\x36\x64\x61','\x79\x30\x42\x63\x4c\x63\x4b\x30\x61\x38\x6b\x4c\x57\x52\x71','\x57\x51\x71\x4f\x42\x64\x74\x63\x55\x71','\x57\x34\x70\x63\x52\x6d\x6b\x73\x57\x52\x30\x48\x42\x6d\x6f\x74\x6d\x71','\x57\x34\x52\x64\x55\x43\x6f\x53\x57\x52\x42\x64\x55\x43\x6f\x47\x46\x47','\x57\x35\x74\x64\x51\x6d\x6f\x2b\x57\x52\x68\x64\x52\x43\x6f\x30','\x45\x53\x6f\x36\x57\x36\x4f\x48\x57\x4f\x42\x64\x47\x49\x34\x61','\x57\x36\x70\x64\x4c\x43\x6f\x6e\x57\x51\x52\x64\x4e\x57','\x57\x34\x61\x4b\x67\x53\x6f\x44\x57\x51\x6c\x64\x54\x6d\x6b\x6a\x64\x47','\x43\x53\x6b\x6c\x45\x6d\x6f\x49','\x46\x43\x6f\x57\x6b\x38\x6b\x63\x57\x37\x47\x46\x57\x34\x75\x76','\x6f\x38\x6b\x5a\x57\x36\x71\x34\x57\x4f\x33\x64\x51\x49\x34\x52','\x6f\x59\x34\x75\x6a\x74\x44\x4d\x57\x4f\x6c\x64\x52\x57','\x57\x37\x47\x49\x57\x37\x46\x64\x47\x47','\x57\x34\x70\x64\x4d\x6d\x6b\x55\x68\x57\x2f\x64\x53\x4c\x57\x36','\x57\x52\x38\x4c\x42\x4a\x78\x63\x54\x6d\x6b\x77\x57\x4f\x43','\x6f\x53\x6f\x2f\x57\x37\x74\x64\x4f\x71','\x44\x61\x52\x64\x48\x38\x6f\x73\x57\x52\x57','\x6d\x43\x6f\x78\x57\x4f\x6c\x64\x48\x38\x6f\x41','\x57\x4f\x6e\x55\x75\x43\x6f\x65\x57\x36\x69\x4f\x46\x38\x6b\x6f','\x57\x34\x65\x31\x63\x43\x6f\x71\x57\x4f\x52\x64\x55\x53\x6b\x6d\x64\x71','\x45\x53\x6f\x36\x57\x36\x4f\x48\x57\x4f\x42\x64\x47\x49\x34','\x46\x4c\x4f\x61\x68\x4e\x69','\x57\x4f\x4e\x64\x4e\x58\x61\x44\x73\x6d\x6b\x7a\x57\x4f\x66\x44\x57\x35\x79','\x76\x43\x6f\x38\x76\x59\x78\x63\x4e\x57','\x73\x4c\x53\x34\x57\x37\x61\x4d\x57\x50\x75\x6e\x57\x35\x53','\x57\x51\x52\x64\x49\x6d\x6b\x63\x6d\x43\x6f\x50','\x57\x35\x6e\x70\x44\x77\x68\x64\x4f\x71','\x57\x52\x6d\x79\x73\x6d\x6f\x48\x42\x53\x6f\x4c\x57\x52\x34','\x79\x58\x68\x64\x4f\x38\x6f\x56\x57\x52\x30'];_0x346d=function(){return _0x3a6377;};return _0x346d();}function _0x2351d4(){const _0x52f53e=_0x269c9f,_0x3c8bbb={'\x6c\x47\x7a\x65\x68':function(_0x3165ff,_0x262ad6){return _0x3165ff(_0x262ad6);},'\x6d\x62\x56\x4b\x6e':_0x52f53e(0xf2,'\x47\x63\x73\x4c')+_0x52f53e(0x241,'\x4f\x45\x33\x7a')};if(process.env.A2A_NODE_SECRET)return process.env.A2A_NODE_SECRET;try{return _0x3c8bbb[_0x52f53e(0x178,'\x4d\x59\x4e\x6e')](require,_0x3c8bbb[_0x52f53e(0x130,'\x4d\x6d\x32\x57')])[_0x52f53e(0xd7,'\x7a\x48\x53\x5b')+_0x52f53e(0x26e,'\x44\x5e\x71\x41')]()||null;}catch(_0x153a0d){return null;}}function _0x1ee074(_0x48ef5f){const _0x4c91c4=_0x269c9f,_0x4b102e={'\x55\x74\x55\x4e\x44':_0x4c91c4(0x26b,'\x36\x29\x53\x76'),'\x79\x4c\x62\x57\x43':function(_0x4245ff,_0x2e6819){return _0x4245ff===_0x2e6819;},'\x41\x4a\x72\x71\x54':'\x57\x66\x7a\x53\x55','\x46\x69\x52\x45\x79':_0x4c91c4(0xfb,'\x69\x6c\x63\x69'),'\x4d\x62\x6a\x6e\x7a':function(_0xb480c7){return _0xb480c7();},'\x57\x61\x69\x70\x52':function(_0x4fc913){return _0x4fc913();},'\x43\x5a\x57\x51\x49':function(_0x31344a,_0x2c079a,_0x31c93a){return _0x31344a(_0x2c079a,_0x31c93a);},'\x4e\x4b\x53\x78\x49':_0x4c91c4(0x15a,'\x6c\x41\x48\x4c')};try{if(_0x4b102e[_0x4c91c4(0x127,'\x69\x66\x30\x32')](_0x4b102e[_0x4c91c4(0x142,'\x4d\x59\x4e\x6e')],_0x4b102e[_0x4c91c4(0xbd,'\x6e\x6d\x6b\x35')]))return _0x2e4eb1(ensXOv['\x55\x74\x55\x4e\x44'])['\x67\x65\x74\x4d\x65\x6d\x6f\x72'+_0x4c91c4(0x202,'\x79\x7a\x49\x68')]();else{const _0x32d929=_0x4b102e['\x4d\x62\x6a\x6e\x7a'](_0x2351d4);if(!_0x32d929)return;const _0x4d1e8c=_0x37b60f[_0x4c91c4(0x11c,'\x64\x50\x61\x4a')](_0x4b102e[_0x4c91c4(0x177,'\x69\x66\x30\x32')](_0x14a25b)),_0x46d91a={};_0x46d91a[_0x4c91c4(0xc5,'\x41\x44\x65\x5b')+'\x65']=!![];if(!_0x50574b[_0x4c91c4(0x13d,'\x4d\x6d\x32\x57')+'\x6e\x63'](_0x4d1e8c))_0x50574b[_0x4c91c4(0x213,'\x4d\x6d\x32\x57')+'\x63'](_0x4d1e8c,_0x46d91a);const _0x32c928=JSON[_0x4c91c4(0x224,'\x2a\x76\x4a\x76')+'\x79'](_0x48ef5f),_0x35b080=_0x4b102e[_0x4c91c4(0xb8,'\x32\x45\x4c\x30')](_0x46cb74,_0x32d929,_0x32c928),_0x8fabeb={};_0x8fabeb[_0x4c91c4(0x11b,'\x67\x51\x57\x6e')]=_0x48ef5f,_0x8fabeb[_0x4c91c4(0x1ae,'\x67\x7a\x46\x46')]=_0x35b080,_0x50574b[_0x4c91c4(0xdd,'\x36\x29\x53\x76')+'\x65\x53\x79\x6e\x63'](_0x4b102e[_0x4c91c4(0x292,'\x23\x6f\x54\x76')](_0x14a25b),JSON[_0x4c91c4(0x1f8,'\x25\x61\x67\x40')+'\x79'](_0x8fabeb),_0x4b102e[_0x4c91c4(0x271,'\x34\x76\x24\x59')]);}}catch(_0x116583){}}function _0x1508f6(){const _0x49c7c0=_0x269c9f,_0x1bb79b={'\x74\x5a\x6e\x5a\x45':_0x49c7c0(0x27e,'\x47\x63\x73\x4c'),'\x41\x52\x44\x52\x6c':function(_0x57d112,_0xef51f2){return _0x57d112(_0xef51f2);},'\x61\x43\x58\x50\x6c':function(_0x4dc09e,_0x280d72){return _0x4dc09e||_0x280d72;},'\x49\x73\x67\x45\x45':_0x49c7c0(0xf0,'\x4f\x45\x33\x7a'),'\x76\x59\x63\x71\x5a':_0x49c7c0(0x10a,'\x34\x76\x24\x59')+_0x49c7c0(0xd6,'\x4b\x38\x29\x76'),'\x59\x79\x67\x6c\x52':function(_0x56f563,_0x53121b){return _0x56f563!==_0x53121b;},'\x73\x4e\x72\x59\x50':_0x49c7c0(0x26f,'\x67\x51\x57\x6e'),'\x70\x61\x6d\x45\x79':_0x49c7c0(0x187,'\x5e\x29\x44\x52'),'\x43\x78\x74\x67\x55':function(_0x29be4e){return _0x29be4e();},'\x55\x45\x50\x75\x57':function(_0x2f7ef3){return _0x2f7ef3();},'\x4a\x6f\x78\x64\x4d':function(_0x3cb10d,_0xe9f34e){return _0x3cb10d!==_0xe9f34e;},'\x4c\x61\x45\x63\x59':_0x49c7c0(0x20d,'\x69\x66\x30\x32'),'\x48\x4c\x7a\x57\x52':function(_0x5d6880){return _0x5d6880();},'\x72\x43\x6b\x6e\x52':function(_0x24b134,_0x14539f,_0x4aac8a){return _0x24b134(_0x14539f,_0x4aac8a);},'\x66\x4d\x6f\x55\x63':function(_0x11a5f7,_0x38cdab){return _0x11a5f7===_0x38cdab;},'\x6f\x6f\x59\x4f\x68':'\x74\x6b\x64\x6d\x64'};try{if(_0x1bb79b[_0x49c7c0(0x163,'\x36\x29\x53\x76')](_0x1bb79b[_0x49c7c0(0x1bf,'\x4f\x45\x33\x7a')],_0x1bb79b[_0x49c7c0(0x242,'\x7a\x48\x53\x5b')])){if(!_0x50574b[_0x49c7c0(0x1ca,'\x71\x36\x6b\x6f')+'\x6e\x63'](_0x1bb79b['\x43\x78\x74\x67\x55'](_0x14a25b)))return null;const _0x58ca4a=JSON[_0x49c7c0(0x11a,'\x6c\x41\x48\x4c')](_0x50574b[_0x49c7c0(0x135,'\x72\x28\x69\x32')+_0x49c7c0(0x1ff,'\x4d\x59\x4e\x6e')](_0x1bb79b[_0x49c7c0(0x11d,'\x6c\x41\x48\x4c')](_0x14a25b),_0x49c7c0(0x113,'\x4f\x59\x79\x30')));if(!_0x58ca4a||!_0x58ca4a['\x64\x61\x74\x61']||_0x1bb79b[_0x49c7c0(0x198,'\x25\x2a\x2a\x62')](typeof _0x58ca4a[_0x49c7c0(0x1ae,'\x67\x7a\x46\x46')],_0x1bb79b[_0x49c7c0(0x248,'\x47\x63\x73\x4c')]))return null;const _0x3d5ebd=_0x1bb79b['\x48\x4c\x7a\x57\x52'](_0x2351d4);if(!_0x3d5ebd)return null;const _0xa22ace=_0x1bb79b[_0x49c7c0(0x176,'\x32\x45\x4c\x30')](_0x46cb74,_0x3d5ebd,JSON[_0x49c7c0(0xc0,'\x40\x6c\x4a\x6c')+'\x79'](_0x58ca4a[_0x49c7c0(0x1f7,'\x25\x61\x67\x40')])),_0x28abd8=Buffer['\x66\x72\x6f\x6d'](_0xa22ace,_0x49c7c0(0x227,'\x40\x5d\x56\x4c')),_0x4057ce=Buffer[_0x49c7c0(0x1be,'\x58\x52\x66\x51')](_0x58ca4a[_0x49c7c0(0x210,'\x53\x56\x5b\x46')],_0x49c7c0(0x137,'\x25\x72\x62\x76'));if(_0x1bb79b[_0x49c7c0(0x1c3,'\x71\x36\x6b\x6f')](_0x28abd8['\x6c\x65\x6e\x67\x74\x68'],_0x4057ce[_0x49c7c0(0x211,'\x71\x36\x6b\x6f')])||!_0xb17910[_0x49c7c0(0x1a4,'\x53\x56\x5b\x46')+_0x49c7c0(0x193,'\x40\x5d\x56\x4c')](_0x28abd8,_0x4057ce))return null;return _0x58ca4a[_0x49c7c0(0x253,'\x33\x46\x65\x4e')];}else return _0x656220[_0x49c7c0(0xe9,'\x5e\x29\x44\x52')+'\x73\x68'](xvKWAr[_0x49c7c0(0x16b,'\x4d\x59\x4e\x6e')])[_0x49c7c0(0x1e4,'\x25\x61\x67\x40')](xvKWAr[_0x49c7c0(0x1a6,'\x67\x7a\x46\x46')](_0x1d0481,xvKWAr[_0x49c7c0(0x20e,'\x61\x64\x65\x21')](_0x456184,'')))[_0x49c7c0(0x1ad,'\x69\x6c\x63\x69')](xvKWAr[_0x49c7c0(0x235,'\x79\x7a\x49\x68')])[_0x49c7c0(0x1a3,'\x34\x76\x24\x59')](-0x1f8f*0x1+0x1963+0x62c*0x1,0x8db*0x3+0x2*0xcbf+-0x33ff);}catch(_0x2a6558){if(_0x1bb79b[_0x49c7c0(0x21c,'\x47\x63\x73\x4c')](_0x1bb79b[_0x49c7c0(0x19e,'\x4a\x52\x69\x45')],_0x49c7c0(0x29f,'\x34\x76\x68\x26')))return null;else _0x331710=xvKWAr[_0x49c7c0(0x233,'\x23\x6f\x54\x76')](_0x7f5d6,xvKWAr[_0x49c7c0(0x1a7,'\x25\x72\x62\x76')])[_0x49c7c0(0x1f3,'\x5e\x29\x44\x52')+'\x64']();}}function _0x130282(){const _0x4c4303=_0x269c9f,_0x246033={'\x6c\x61\x56\x66\x58':function(_0xfc363d,_0x16c319){return _0xfc363d(_0x16c319);},'\x51\x64\x61\x79\x59':_0x4c4303(0x10a,'\x34\x76\x24\x59')+_0x4c4303(0xd4,'\x41\x44\x65\x5b'),'\x79\x76\x66\x78\x6c':function(_0x26a689,_0x3e7472){return _0x26a689!==_0x3e7472;},'\x4d\x49\x46\x66\x4d':_0x4c4303(0x260,'\x55\x49\x69\x29'),'\x43\x52\x73\x6f\x44':function(_0x32cf7b){return _0x32cf7b();},'\x65\x56\x56\x50\x78':function(_0x464783,_0x5bf13e){return _0x464783(_0x5bf13e);}};try{if(_0x246033['\x79\x76\x66\x78\x6c'](_0x246033['\x4d\x49\x46\x66\x4d'],_0x246033['\x4d\x49\x46\x66\x4d'])){if(_0x11c582.env.A2A_NODE_SECRET)return _0x111536.env.A2A_NODE_SECRET;try{return hKAafh[_0x4c4303(0x251,'\x34\x76\x24\x59')](_0x1e6e48,hKAafh[_0x4c4303(0x143,'\x6b\x65\x4e\x4d')])['\x67\x65\x74\x48\x75\x62\x4e\x6f'+_0x4c4303(0x1b7,'\x68\x56\x33\x38')]()||null;}catch(_0x19371b){return null;}}else{const _0x1c15d7=_0x37b60f[_0x4c4303(0x133,'\x67\x6a\x6e\x56')](_0x246033[_0x4c4303(0x10d,'\x34\x76\x24\x59')](_0x9df4b1)),_0x3ac6b5={};_0x3ac6b5[_0x4c4303(0x12e,'\x44\x4e\x69\x6b')+'\x65']=!![];if(!_0x50574b[_0x4c4303(0xf5,'\x68\x56\x33\x38')+'\x6e\x63'](_0x1c15d7))_0x50574b[_0x4c4303(0x205,'\x55\x49\x69\x29')+'\x63'](_0x1c15d7,_0x3ac6b5);_0x50574b[_0x4c4303(0x1e2,'\x67\x6a\x6e\x56')+'\x65\x53\x79\x6e\x63'](_0x9df4b1(),_0x246033[_0x4c4303(0x1c5,'\x32\x45\x4c\x30')](String,Date[_0x4c4303(0x1e0,'\x47\x63\x73\x4c')]()),_0x4c4303(0x222,'\x67\x6a\x6e\x56'));}}catch(_0x439414){}}function _0xc230e5(){const _0x4552c3=_0x269c9f,_0x4875cf={'\x4e\x4e\x70\x61\x58':function(_0x4b9661){return _0x4b9661();},'\x49\x4f\x43\x78\x52':'\x75\x74\x66\x38','\x6b\x78\x45\x7a\x42':function(_0x28a5f4,_0x476ff4){return _0x28a5f4!==_0x476ff4;},'\x64\x78\x75\x68\x45':_0x4552c3(0x24f,'\x67\x6a\x6e\x56'),'\x56\x63\x71\x70\x51':_0x4552c3(0x1d7,'\x67\x51\x57\x6e'),'\x6e\x4a\x75\x4d\x6c':function(_0x4181d6,_0x7364fb,_0xcd7c75){return _0x4181d6(_0x7364fb,_0xcd7c75);},'\x4e\x4d\x79\x54\x71':function(_0x5362f1){return _0x5362f1();},'\x46\x70\x51\x4d\x56':function(_0x2fce18,_0x3505f3){return _0x2fce18===_0x3505f3;},'\x7a\x56\x43\x51\x74':_0x4552c3(0x19a,'\x67\x51\x57\x6e'),'\x57\x72\x53\x57\x76':_0x4552c3(0x1f5,'\x58\x52\x66\x51'),'\x72\x4a\x65\x65\x50':_0x4552c3(0xb9,'\x4d\x6d\x32\x57'),'\x6f\x4b\x4f\x52\x6d':_0x4552c3(0x24c,'\x33\x46\x65\x4e')};try{if(_0x4875cf[_0x4552c3(0x20f,'\x58\x52\x66\x51')](_0x4875cf[_0x4552c3(0x290,'\x25\x61\x67\x40')],_0x4875cf[_0x4552c3(0x197,'\x4d\x6d\x32\x57')])){if(!_0x436668[_0x4552c3(0x15f,'\x53\x56\x5b\x46')+'\x6e\x63'](aImJzU[_0x4552c3(0x1fe,'\x68\x56\x33\x38')](_0x4779e6)))return null;const _0x58557d=_0x454814[_0x4552c3(0x1cc,'\x25\x61\x67\x40')](_0x413334[_0x4552c3(0xaf,'\x64\x50\x61\x4a')+_0x4552c3(0x265,'\x44\x53\x37\x76')](aImJzU['\x4e\x4e\x70\x61\x58'](_0x5991fc),aImJzU[_0x4552c3(0x115,'\x23\x6f\x26\x54')]));if(!_0x58557d||!_0x58557d[_0x4552c3(0x155,'\x40\x6c\x4a\x6c')]||aImJzU[_0x4552c3(0x270,'\x67\x7a\x46\x46')](typeof _0x58557d[_0x4552c3(0x1b9,'\x69\x66\x30\x32')],aImJzU[_0x4552c3(0x102,'\x36\x29\x53\x76')]))return null;const _0x57b3d4=_0x110843();if(!_0x57b3d4)return null;const _0x8c35a1=_0x20d6e3(_0x57b3d4,_0x3e24d7[_0x4552c3(0xe4,'\x55\x49\x69\x29')+'\x79'](_0x58557d[_0x4552c3(0xdb,'\x44\x53\x37\x76')])),_0x11a9d5=_0x226149[_0x4552c3(0xe3,'\x6d\x35\x76\x30')](_0x8c35a1,aImJzU[_0x4552c3(0x18f,'\x5e\x29\x44\x52')]),_0x189f3c=_0x292f95[_0x4552c3(0x180,'\x23\x6f\x26\x54')](_0x58557d[_0x4552c3(0x151,'\x44\x5e\x71\x41')],aImJzU[_0x4552c3(0x246,'\x40\x6c\x4a\x6c')]);if(_0x11a9d5['\x6c\x65\x6e\x67\x74\x68']!==_0x189f3c[_0x4552c3(0x1fb,'\x44\x5e\x71\x41')]||!_0x3e53aa[_0x4552c3(0x237,'\x67\x6a\x6e\x56')+_0x4552c3(0xd2,'\x5e\x29\x44\x52')](_0x11a9d5,_0x189f3c))return null;return _0x58557d[_0x4552c3(0xb4,'\x25\x2a\x2a\x62')];}else{if(!_0x50574b[_0x4552c3(0xb3,'\x4c\x34\x6a\x75')+'\x6e\x63'](_0x4875cf[_0x4552c3(0x22f,'\x6d\x35\x76\x30')](_0x9df4b1)))return-0x20e2+0x6d*-0x1d+0x2d3b;return _0x4875cf[_0x4552c3(0x10e,'\x61\x64\x65\x21')](parseInt,_0x50574b[_0x4552c3(0x247,'\x67\x51\x57\x6e')+_0x4552c3(0xb0,'\x4a\x52\x69\x45')](_0x4875cf[_0x4552c3(0x21f,'\x67\x51\x57\x6e')](_0x9df4b1),_0x4875cf[_0x4552c3(0x122,'\x52\x5b\x78\x2a')]),0x188d+-0x1d1a*-0x1+0x11df*-0x3)||-0xc14+-0x41b*-0x2+0x3de;}}catch(_0x17bb0c){if(_0x4875cf[_0x4552c3(0x276,'\x61\x64\x65\x21')](_0x4875cf[_0x4552c3(0x18a,'\x55\x49\x69\x29')],_0x4875cf[_0x4552c3(0x146,'\x4c\x34\x6a\x75')]))return 0x7c+0x3*0xce3+-0x38f*0xb;else try{const _0x54bb49=aImJzU[_0x4552c3(0x13a,'\x64\x70\x37\x32')](_0xfad91e);if(!_0x54bb49)return;const _0x36c38c=_0x149f70[_0x4552c3(0x1f6,'\x23\x6f\x54\x76')](aImJzU[_0x4552c3(0x223,'\x58\x52\x66\x51')](_0x41d267)),_0x595ee3={};_0x595ee3[_0x4552c3(0x278,'\x69\x66\x30\x32')+'\x65']=!![];if(!_0x5c9a89[_0x4552c3(0x13b,'\x34\x76\x24\x59')+'\x6e\x63'](_0x36c38c))_0x1f60fe[_0x4552c3(0xf8,'\x49\x6e\x58\x42')+'\x63'](_0x36c38c,_0x595ee3);const _0x1694b2=_0x25c5d1[_0x4552c3(0x181,'\x44\x4e\x69\x6b')+'\x79'](_0x2e8254),_0x242c08=aImJzU[_0x4552c3(0x150,'\x64\x70\x37\x32')](_0x17cf78,_0x54bb49,_0x1694b2),_0x145090={};_0x145090[_0x4552c3(0x23c,'\x6d\x35\x76\x30')]=_0x39f9a8,_0x145090[_0x4552c3(0x294,'\x68\x56\x33\x38')]=_0x242c08,_0x1ccc2e[_0x4552c3(0x153,'\x4a\x52\x69\x45')+_0x4552c3(0x184,'\x6e\x6d\x6b\x35')](aImJzU[_0x4552c3(0x138,'\x34\x76\x24\x59')](_0x3583a8),_0x34da81[_0x4552c3(0x179,'\x6b\x65\x4e\x4d')+'\x79'](_0x145090),aImJzU[_0x4552c3(0xd9,'\x2a\x76\x4a\x76')]);}catch(_0x48e111){}}}var _0x125b2e=0x20e*0x11+-0x1640+-0x1*0xca4,_0x67de17=(-0xc80+0x1070*-0x1+0x1cf7)*(-0x14*-0x34+-0x5*0x504+0x151c)*(0x15ed+0x65b*-0x5+0xa16)*(-0x2598+0x97c+0x1c58)*(0x117a+0x4*0x796+-0x2bea),_0x257258=(0x20b*0x11+0x17a+-0x241d)*(0x1fdc+0x1*-0xf29+-0x1077)*(-0x1103+-0x6*0x593+0x1*0x32b1)*(-0x22*0xc5+0x1cb9+0x159);function _0x1299c(){const _0x2c3bd6=_0x269c9f,_0x248b69={'\x70\x7a\x4b\x63\x69':function(_0x12cb1b){return _0x12cb1b();},'\x5a\x66\x75\x4e\x51':_0x2c3bd6(0x17e,'\x40\x6c\x4a\x6c')+_0x2c3bd6(0x1d4,'\x40\x6c\x4a\x6c'),'\x50\x72\x79\x61\x55':function(_0x147cd4,_0x1f7ca7){return _0x147cd4<_0x1f7ca7;},'\x53\x76\x48\x4c\x57':function(_0x3dce8a,_0x53c369){return _0x3dce8a-_0x53c369;},'\x53\x66\x49\x43\x6f':_0x2c3bd6(0x149,'\x23\x6f\x26\x54')+_0x2c3bd6(0x1e7,'\x6c\x41\x48\x4c')+_0x2c3bd6(0xff,'\x40\x6c\x4a\x6c'),'\x50\x49\x49\x65\x76':function(_0x12a9de,_0x2b0856){return _0x12a9de>_0x2b0856;},'\x64\x47\x71\x65\x55':_0x2c3bd6(0x120,'\x2a\x76\x4a\x76')+_0x2c3bd6(0x173,'\x40\x5d\x56\x4c')+_0x2c3bd6(0x17c,'\x25\x2a\x2a\x62'),'\x74\x49\x67\x72\x69':function(_0x5185b9,_0x3388b7){return _0x5185b9>_0x3388b7;},'\x72\x4a\x5a\x49\x74':function(_0x48d00f,_0x3eb86b){return _0x48d00f-_0x3eb86b;},'\x6b\x4b\x45\x58\x62':function(_0x2e53da,_0xa46339){return _0x2e53da>=_0xa46339;},'\x4f\x45\x79\x5a\x55':function(_0x5c1929,_0x34bbb5){return _0x5c1929===_0x34bbb5;},'\x4f\x74\x58\x75\x56':_0x2c3bd6(0x1db,'\x6d\x35\x76\x30'),'\x6d\x77\x6d\x57\x67':function(_0x31575e,_0x415da3){return _0x31575e+_0x415da3;},'\x62\x47\x6f\x4a\x78':function(_0x36d6a4,_0x26110e){return _0x36d6a4(_0x26110e);},'\x78\x4c\x6e\x5a\x72':function(_0x59035e,_0x3d37ef,_0x1e2550){return _0x59035e(_0x3d37ef,_0x1e2550);},'\x6a\x4f\x4e\x67\x65':function(_0x196077,_0x17ca00){return _0x196077(_0x17ca00);},'\x6e\x58\x57\x65\x46':function(_0x3a8dff,_0x3d3dc3){return _0x3a8dff!==_0x3d3dc3;},'\x4e\x70\x50\x41\x68':_0x2c3bd6(0x1d3,'\x67\x7a\x46\x46'),'\x47\x6c\x57\x47\x59':_0x2c3bd6(0x14a,'\x49\x6e\x58\x42')+_0x2c3bd6(0x26a,'\x23\x6f\x54\x76')+_0x2c3bd6(0x23e,'\x72\x28\x69\x32'),'\x4c\x6e\x47\x73\x63':_0x2c3bd6(0x15c,'\x4b\x38\x29\x76')+_0x2c3bd6(0x243,'\x68\x56\x33\x38')+_0x2c3bd6(0x1a8,'\x44\x4e\x69\x6b')};try{var _0x1dc7c6=_0x37b60f[_0x2c3bd6(0x14e,'\x44\x53\x37\x76')](_0x14a25b());const _0x58d708={};_0x58d708[_0x2c3bd6(0x289,'\x4c\x34\x6a\x75')+'\x65']=!![];if(!_0x50574b[_0x2c3bd6(0x148,'\x6e\x6d\x6b\x35')+'\x6e\x63'](_0x1dc7c6))_0x50574b[_0x2c3bd6(0x1af,'\x4f\x59\x79\x30')+'\x63'](_0x1dc7c6,_0x58d708);}catch(_0x5d412f){}try{return _0x248b69[_0x2c3bd6(0xda,'\x67\x6a\x6e\x56')](_0x42001,_0x248b69[_0x2c3bd6(0x12f,'\x4c\x34\x6a\x75')](_0x14a25b),function(){const _0x24a193=_0x2c3bd6;var _0x79a2e7=_0x248b69[_0x24a193(0x1a9,'\x36\x29\x53\x76')](_0x1508f6);const _0x796f90={};_0x796f90['\x6f\x6b']=![],_0x796f90[_0x24a193(0x1bb,'\x55\x55\x59\x6e')]=_0x248b69[_0x24a193(0x157,'\x40\x6c\x4a\x6c')],_0x796f90[_0x24a193(0x1f4,'\x4d\x59\x4e\x6e')]=!![];if(!_0x79a2e7)return _0x796f90;var _0x50fdd9=_0x79a2e7[_0x24a193(0x22b,'\x58\x52\x66\x51')+_0x24a193(0x1d0,'\x34\x76\x24\x59')+_0x24a193(0x274,'\x67\x51\x57\x6e')]||_0x125b2e,_0x2d875a=_0x79a2e7[_0x24a193(0x12d,'\x45\x77\x63\x64')+'\x74']||-0x20a5*0x1+0x1*0x1d88+0x1*0x31d,_0xf2f7d=_0x79a2e7[_0x24a193(0xec,'\x64\x70\x37\x32')+'\x74']||0xa85+-0x47*-0x2e+-0x65*0x3b,_0x1a343c=Date[_0x24a193(0x262,'\x67\x6a\x6e\x56')](),_0x49ae04=_0xc230e5();if(_0x49ae04>-0x1979*-0x1+0x1d*-0xfe+0xd*0x41&&_0x248b69[_0x24a193(0x117,'\x34\x76\x68\x26')](_0x1a343c,_0x248b69[_0x24a193(0x230,'\x4d\x59\x4e\x6e')](_0x49ae04,_0x257258))){const _0x5db03c={};return _0x5db03c['\x6f\x6b']=![],_0x5db03c[_0x24a193(0x214,'\x41\x44\x65\x5b')]=_0x248b69[_0x24a193(0x128,'\x67\x7a\x46\x46')],_0x5db03c[_0x24a193(0x196,'\x4c\x34\x6a\x75')]=!![],_0x5db03c;}if(_0x248b69['\x50\x49\x49\x65\x76'](_0x2d875a,0x373*-0x9+0xbdb*0x3+0x6*-0xc1)&&_0x248b69['\x50\x49\x49\x65\x76'](_0x1a343c,_0x2d875a)){const _0x12d8b8={};return _0x12d8b8['\x6f\x6b']=![],_0x12d8b8[_0x24a193(0x220,'\x7a\x48\x53\x5b')]=_0x248b69[_0x24a193(0x24b,'\x67\x51\x57\x6e')],_0x12d8b8[_0x24a193(0xb6,'\x34\x76\x68\x26')]=!![],_0x12d8b8;}if(_0x248b69[_0x24a193(0x16f,'\x40\x5d\x56\x4c')](_0x49ae04,0x5*-0x639+-0x14f6+0x3413)&&_0x248b69[_0x24a193(0x1fd,'\x25\x2a\x2a\x62')](_0x1a343c,_0x49ae04)>_0x67de17){const _0x52c7e1={};return _0x52c7e1['\x6f\x6b']=![],_0x52c7e1['\x65\x72\x72\x6f\x72']=_0x24a193(0x1dd,'\x36\x29\x53\x76')+_0x24a193(0x1c6,'\x71\x36\x6b\x6f')+'\x5f\x65\x78\x63\x65\x65\x64\x65'+'\x64',_0x52c7e1[_0x24a193(0x245,'\x71\x36\x6b\x6f')]=!![],_0x52c7e1;}if(_0x248b69[_0x24a193(0x221,'\x40\x5d\x56\x4c')](_0xf2f7d,_0x50fdd9)){if(_0x248b69[_0x24a193(0xfa,'\x67\x7a\x46\x46')](_0x248b69['\x4f\x74\x58\x75\x56'],_0x24a193(0x17b,'\x67\x51\x57\x6e'))){const _0xc7372={};return _0xc7372['\x6f\x6b']=![],_0xc7372[_0x24a193(0x214,'\x41\x44\x65\x5b')]='\x6f\x66\x66\x6c\x69\x6e\x65\x5f'+'\x71\x75\x6f\x74\x61\x5f\x65\x78'+_0x24a193(0x27b,'\x71\x36\x6b\x6f'),_0xc7372[_0x24a193(0x1f9,'\x49\x6e\x58\x42')]=!![],_0xc7372;}else{const _0x152e99={};return _0x152e99['\x6f\x6b']=![],_0x152e99[_0x24a193(0xfc,'\x6b\x65\x4e\x4d')]=_0x24a193(0x29e,'\x44\x53\x37\x76')+_0x24a193(0x1b4,'\x55\x49\x69\x29')+_0x24a193(0x129,'\x67\x51\x57\x6e'),_0x152e99['\x6f\x66\x66\x6c\x69\x6e\x65']=!![],_0x152e99;}}_0x79a2e7[_0x24a193(0xb1,'\x47\x63\x73\x4c')+'\x74']=_0x248b69[_0x24a193(0x18e,'\x4d\x59\x4e\x6e')](_0xf2f7d,-0xee+0x2*-0xc22+0x1933*0x1),_0x248b69[_0x24a193(0xeb,'\x55\x49\x69\x29')](_0x1ee074,_0x79a2e7);const _0x4597da={};return _0x4597da['\x6f\x6b']=!![],_0x4597da[_0x24a193(0x192,'\x23\x6f\x26\x54')]=!![],_0x4597da[_0x24a193(0xed,'\x6b\x65\x4e\x4d')+'\x67']=_0x50fdd9-_0x79a2e7[_0x24a193(0x288,'\x64\x50\x61\x4a')+'\x74'],_0x4597da;});}catch(_0x197b86){var _0x281ca2=_0x197b86&&_0x197b86[_0x2c3bd6(0xcb,'\x55\x55\x59\x6e')]||_0x248b69[_0x2c3bd6(0x244,'\x23\x6f\x26\x54')](String,_0x197b86);if(_0x248b69[_0x2c3bd6(0x23d,'\x4b\x38\x29\x76')](_0x281ca2['\x69\x6e\x64\x65\x78\x4f\x66'](_0x2c3bd6(0x1e5,'\x34\x76\x68\x26')+'\x65\x6f\x75\x74'),-(0x21e*-0x2+-0xeef+0x199*0xc))){if(_0x248b69[_0x2c3bd6(0x1de,'\x7a\x48\x53\x5b')]===_0x2c3bd6(0x25a,'\x40\x6c\x4a\x6c')){const _0x35def7={};return _0x35def7['\x6f\x6b']=![],_0x35def7[_0x2c3bd6(0x194,'\x47\x63\x73\x4c')]=_0x553cf1[_0x2c3bd6(0xc3,'\x69\x66\x30\x32')],_0x35def7[_0x2c3bd6(0x10b,'\x41\x44\x65\x5b')]=!![],_0x35def7;}else{const _0x44f241={};return _0x44f241['\x6f\x6b']=![],_0x44f241[_0x2c3bd6(0x255,'\x69\x66\x30\x32')]=_0x248b69[_0x2c3bd6(0x20a,'\x55\x49\x69\x29')],_0x44f241[_0x2c3bd6(0x22e,'\x25\x72\x62\x76')]=!![],_0x44f241;}}return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x248b69[_0x2c3bd6(0x212,'\x55\x55\x59\x6e')],'\x6f\x66\x66\x6c\x69\x6e\x65':!![],'\x64\x65\x74\x61\x69\x6c':_0x281ca2[_0x2c3bd6(0x201,'\x4d\x59\x4e\x6e')](-0x2100+-0xeb6+0x2fb6,0xf*-0x6d+0x6*-0x29+0x821*0x1)};}}function _0x3e4d88(){const _0x24db63=_0x269c9f,_0x5a98ca={};_0x5a98ca[_0x24db63(0x100,'\x4c\x34\x6a\x75')]=function(_0x3bb95d,_0x3074ec){return _0x3bb95d===_0x3074ec;},_0x5a98ca['\x70\x49\x57\x64\x6b']=_0x24db63(0x12b,'\x58\x52\x66\x51'),_0x5a98ca['\x6b\x53\x7a\x7a\x79']=_0x24db63(0x118,'\x40\x5d\x56\x4c'),_0x5a98ca[_0x24db63(0x228,'\x32\x45\x4c\x30')]=function(_0xca4572,_0x52d246){return _0xca4572===_0x52d246;},_0x5a98ca[_0x24db63(0x218,'\x49\x6e\x58\x42')]=_0x24db63(0x291,'\x79\x7a\x49\x68');const _0x3c5031=_0x5a98ca;if(_0x3c5031[_0x24db63(0x252,'\x6c\x41\x48\x4c')](process.env.NODE_ENV,_0x3c5031['\x70\x49\x57\x64\x6b'])){var _0x499a45=(process.env.EVOLVER_SOLIDIFY_VERIFY||'')[_0x24db63(0x1ec,'\x58\x52\x66\x51')+_0x24db63(0x14f,'\x41\x44\x65\x5b')]();if(_0x3c5031[_0x24db63(0x147,'\x6b\x65\x4e\x4d')](_0x499a45,_0x3c5031['\x6b\x53\x7a\x7a\x79'])||_0x3c5031['\x48\x77\x63\x66\x6a'](_0x499a45,'\x30')||_0x3c5031[_0x24db63(0x159,'\x79\x7a\x49\x68')](_0x499a45,_0x3c5031[_0x24db63(0x1f2,'\x2a\x76\x4a\x76')]))return![];}var _0x5cd9d7=process.env.A2A_HUB_URL||'';return!!_0x5cd9d7;}const _0xad7cb1={};_0xad7cb1[_0x269c9f(0xb5,'\x67\x51\x57\x6e')+_0x269c9f(0x1c7,'\x49\x6e\x58\x42')+_0x269c9f(0x1bc,'\x5e\x29\x44\x52')]=_0x10e9e6,_0xad7cb1[_0x269c9f(0x29b,'\x55\x49\x69\x29')+_0x269c9f(0x1eb,'\x72\x28\x69\x32')+_0x269c9f(0x188,'\x4f\x45\x33\x7a')]=_0x3e4d88,_0xad7cb1['\x63\x6f\x6e\x73\x75\x6d\x65\x4f'+_0x269c9f(0x28c,'\x67\x7a\x46\x46')+_0x269c9f(0x264,'\x25\x2a\x2a\x62')]=_0x1299c,_0xad7cb1[_0x269c9f(0x1d5,'\x69\x66\x30\x32')+_0x269c9f(0x273,'\x34\x76\x24\x59')+_0x269c9f(0x107,'\x34\x76\x24\x59')]=_0xc230e5,module[_0x269c9f(0xe5,'\x44\x53\x37\x76')]=_0xad7cb1;
1
+ const crypto = require('crypto');
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+ const { hubFetch } = require('./hubFetch');
5
+ const { withFileLock } = require('./assetStore');
6
+
7
+ function hmacSha256(key, data) {
8
+ return crypto.createHmac('sha256', key).update(data).digest('hex');
9
+ }
10
+
11
+ function hashCompact(input) {
12
+ return crypto.createHash('sha256').update(String(input || '')).digest('hex').slice(0, 16);
13
+ }
14
+
15
+ function buildRequestPayload({ geneId, signals, mutation }) {
16
+ let nodeSecret = null;
17
+ try {
18
+ nodeSecret = require('./a2aProtocol').getHubNodeSecret();
19
+ } catch (e) {}
20
+ if (!nodeSecret) return null;
21
+
22
+ let nodeId = null;
23
+ try {
24
+ nodeId = require('./a2aProtocol').getNodeId();
25
+ } catch (e) {}
26
+ if (!nodeId) return null;
27
+
28
+ const secretHash = crypto.createHash('sha256').update(nodeSecret).digest('hex');
29
+
30
+ const ts = Date.now();
31
+ const signalsHash = hashCompact(JSON.stringify(Array.isArray(signals) ? signals.slice(0, 8) : []));
32
+ const mutationHash = hashCompact(JSON.stringify(mutation || {}));
33
+
34
+ const challengeData = [nodeId, geneId || '', signalsHash, mutationHash, String(ts)].join('|');
35
+ const clientSignature = hmacSha256(secretHash, challengeData);
36
+
37
+ return {
38
+ nodeId,
39
+ nodeSecret,
40
+ body: {
41
+ sender_id: nodeId,
42
+ gene_id: geneId || '',
43
+ signals_hash: signalsHash,
44
+ mutation_hash: mutationHash,
45
+ ts: ts,
46
+ client_signature: clientSignature,
47
+ },
48
+ };
49
+ }
50
+
51
+
52
+ function requestSolidifyPermit({ geneId, signals, mutation }) {
53
+ const hubUrl = (process.env.A2A_HUB_URL || '').replace(/\/+$/, '');
54
+ if (!hubUrl) return Promise.resolve({ ok: false, error: 'no_hub_url', offline: true });
55
+
56
+ const req = buildRequestPayload({ geneId, signals, mutation });
57
+ if (!req) return Promise.resolve({ ok: false, error: 'no_credentials', offline: true });
58
+
59
+ const endpoint = hubUrl + '/a2a/verify-solidify';
60
+ const timeoutMs = require('../config').HTTP_TRANSPORT_TIMEOUT_MS || 10000;
61
+
62
+ const headers = {
63
+ 'Content-Type': 'application/json',
64
+ 'Authorization': 'Bearer ' + req.nodeSecret,
65
+ };
66
+
67
+ return hubFetch(endpoint, {
68
+ method: 'POST',
69
+ headers: headers,
70
+ body: JSON.stringify(req.body),
71
+ signal: AbortSignal.timeout(timeoutMs),
72
+ })
73
+ .then(function (res) {
74
+ // Any non-5xx response proves the hub's application layer answered, so
75
+ // the daemon is not actually offline — refresh lastOnlineVerify even on
76
+ // 4xx and on 2xx envelopes that report ok=false. Previously this only
77
+ // fired in the {ok:true} success branch, so a long streak of envelope
78
+ // errors (quota_exceeded, rate_limited, validation) or 4xx responses
79
+ // (bad auth, forbidden) would let the offline-duration counter run
80
+ // past MAX_OFFLINE_DURATION_MS (7d) and falsely block consumeOfflinePermit
81
+ // with offline_duration_exceeded. 5xx is left out — it can be a CDN /
82
+ // load balancer up while the hub itself is down, so the conservative
83
+ // "treat as offline" semantic is preserved there.
84
+ if (res.status < 500) {
85
+ recordLastOnlineVerify();
86
+ }
87
+ if (!res.ok) {
88
+ return res.text().then(function (t) {
89
+ // 5xx = hub/infra down → treat as offline so consumeOfflinePermit fires.
90
+ // 4xx = explicit rejection (bad auth, quota exceeded) → not offline.
91
+ const offline = res.status >= 500;
92
+ return { ok: false, error: 'HTTP ' + res.status + ': ' + t.slice(0, 200), offline };
93
+ });
94
+ }
95
+ return res.json().then(function (result) {
96
+ if (result && result.ok && result.offline_token) {
97
+ cacheOfflineToken(result.offline_token);
98
+ }
99
+ return result;
100
+ });
101
+ })
102
+ .catch(function (err) {
103
+ return { ok: false, error: err.message, offline: true };
104
+ });
105
+ }
106
+
107
+ // --- Offline token management ---
108
+
109
+ var _OFFLINE_TOKEN_FILE = null;
110
+ var _LAST_VERIFY_FILE = null;
111
+
112
+ function getMemDir() {
113
+ try {
114
+ return require('./paths').getMemoryDir();
115
+ } catch (e) {
116
+ try {
117
+ return path.join(require('./paths').getRepoRoot(), '.evolver', 'memory');
118
+ } catch (e2) {
119
+ return path.join(process.cwd(), '.evolver', 'memory');
120
+ }
121
+ }
122
+ }
123
+
124
+ function offlineTokenPath() {
125
+ if (!_OFFLINE_TOKEN_FILE) {
126
+ _OFFLINE_TOKEN_FILE = path.join(getMemDir(), '.ot');
127
+ }
128
+ return _OFFLINE_TOKEN_FILE;
129
+ }
130
+
131
+ function lastVerifyPath() {
132
+ if (!_LAST_VERIFY_FILE) {
133
+ _LAST_VERIFY_FILE = path.join(getMemDir(), '.lv');
134
+ }
135
+ return _LAST_VERIFY_FILE;
136
+ }
137
+
138
+ // Offline token integrity (C2): the .ot file is an anti-tamper quota counter,
139
+ // not a credential — encryption is the wrong primitive. Sign the token with
140
+ // HMAC-SHA256 keyed off nodeSecret instead. A cloned install carries a stale
141
+ // secret-signed token; HMAC verification fails on the first offline read and
142
+ // the token is rejected. Online verification rotates the secret, so legit
143
+ // re-issuance is automatic.
144
+ function getNodeSecret() {
145
+ // Env var first — matches a2aProtocol.getHubNodeSecret() priority and lets
146
+ // the HMAC path work in environments where a2aProtocol can't be required.
147
+ if (process.env.A2A_NODE_SECRET) return process.env.A2A_NODE_SECRET;
148
+ try { return require('./a2aProtocol').getHubNodeSecret() || null; } catch (e) { return null; }
149
+ }
150
+
151
+ function cacheOfflineToken(token) {
152
+ try {
153
+ const nodeSecret = getNodeSecret();
154
+ if (!nodeSecret) return;
155
+ const dir = path.dirname(offlineTokenPath());
156
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
157
+ // HMAC stability: token field names must NOT be integer-like strings.
158
+ // V8's JSON.stringify sorts integer-keyed properties numerically while
159
+ // preserving insertion order for non-integer keys; an all-digit field
160
+ // would re-order between cache and load and break verification.
161
+ const data = JSON.stringify(token);
162
+ const hmac = hmacSha256(nodeSecret, data);
163
+ fs.writeFileSync(offlineTokenPath(), JSON.stringify({ data: token, hmac }), 'utf8');
164
+ } catch (e) {}
165
+ }
166
+
167
+ function loadOfflineToken() {
168
+ try {
169
+ if (!fs.existsSync(offlineTokenPath())) return null;
170
+ const stored = JSON.parse(fs.readFileSync(offlineTokenPath(), 'utf8'));
171
+ if (!stored || !stored.data || typeof stored.hmac !== 'string') return null;
172
+ const nodeSecret = getNodeSecret();
173
+ if (!nodeSecret) return null;
174
+ const expected = hmacSha256(nodeSecret, JSON.stringify(stored.data));
175
+ // Hex-encode the HMAC bytes for comparison: 32-byte buffers, not 64-byte
176
+ // ASCII representations. Length pre-check guards timingSafeEqual which
177
+ // throws on mismatched lengths.
178
+ const expBuf = Buffer.from(expected, 'hex');
179
+ const gotBuf = Buffer.from(stored.hmac, 'hex');
180
+ if (expBuf.length !== gotBuf.length || !crypto.timingSafeEqual(expBuf, gotBuf)) {
181
+ return null;
182
+ }
183
+ return stored.data;
184
+ } catch (e) {
185
+ return null;
186
+ }
187
+ }
188
+
189
+ function recordLastOnlineVerify() {
190
+ try {
191
+ const dir = path.dirname(lastVerifyPath());
192
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
193
+ fs.writeFileSync(lastVerifyPath(), String(Date.now()), 'utf8');
194
+ } catch (e) {}
195
+ }
196
+
197
+ function getLastOnlineVerifyTs() {
198
+ try {
199
+ if (!fs.existsSync(lastVerifyPath())) return 0;
200
+ return parseInt(fs.readFileSync(lastVerifyPath(), 'utf8'), 10) || 0;
201
+ } catch (e) {
202
+ return 0;
203
+ }
204
+ }
205
+
206
+ var MAX_OFFLINE_SOLIDIFIES = 10;
207
+ var MAX_OFFLINE_DURATION_MS = 7 * 24 * 60 * 60 * 1000;
208
+ var MAX_CLOCK_DRIFT_MS = 24 * 60 * 60 * 1000;
209
+
210
+ // The offline-permit pipeline is `loadOfflineToken → check cap →
211
+ // cacheOfflineToken` (read → check → write). Within a single Node process
212
+ // the chain is synchronous so no intra-process race, but two cooperating
213
+ // processes (daemon + CLI `evolver solidify`) hitting the path at the same
214
+ // moment could both read the same `usedCount`, both pass the cap check,
215
+ // and both increment-and-write — the local counter then trailed reality
216
+ // and the offline quota could be exceeded by N for N concurrent callers.
217
+ // Hub-side enforcement catches this on the next online verify, but the
218
+ // audit posture is wrong locally.
219
+ //
220
+ // Reuse `withFileLock` from assetStore.js — same `src/gep/` directory,
221
+ // already battle-tested for multi-process read-modify-write of memory-dir
222
+ // files, and uses PID-liveness (`process.kill(pid, 0)`) for stale
223
+ // detection plus an Atomics-or-busy-wait fallback for the retry sleep.
224
+ // withFileLock throws on acquire timeout; we map that to a specific
225
+ // `offline_permit_busy` result so callers (daemon heartbeat / CLI
226
+ // solidify) can distinguish "contended" from "permit denied" and retry
227
+ // next cycle.
228
+ function consumeOfflinePermit() {
229
+ // Ensure the memory directory exists before withFileLock tries to
230
+ // create `<memDir>/.ot.lock`. Pre-refactor, the function always
231
+ // returned a structured envelope (loadOfflineToken / cacheOfflineToken
232
+ // both swallow errors internally); after the refactor a fresh install
233
+ // without the memory dir would throw ENOENT from _acquireLock and
234
+ // bubble past the Lock-timeout catch below, breaking the never-throw
235
+ // contract (Bugbot PR #157 R2 Low).
236
+ try {
237
+ var dir = path.dirname(offlineTokenPath());
238
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
239
+ } catch (_) { /* fall through — caught by the wrapper below */ }
240
+
241
+ try {
242
+ return withFileLock(offlineTokenPath(), function () {
243
+ var token = loadOfflineToken();
244
+ if (!token) return { ok: false, error: 'no_offline_token', offline: true };
245
+
246
+ var maxSolidifies = token.maxOfflineSolidifies || MAX_OFFLINE_SOLIDIFIES;
247
+ var expiresAt = token.expiresAt || 0;
248
+ var usedCount = token.usedCount || 0;
249
+ var now = Date.now();
250
+
251
+ var lastOnline = getLastOnlineVerifyTs();
252
+ if (lastOnline > 0 && now < lastOnline - MAX_CLOCK_DRIFT_MS) {
253
+ return { ok: false, error: 'clock_drift_detected', offline: true };
254
+ }
255
+
256
+ if (expiresAt > 0 && now > expiresAt) {
257
+ return { ok: false, error: 'offline_token_expired', offline: true };
258
+ }
259
+
260
+ if (lastOnline > 0 && (now - lastOnline) > MAX_OFFLINE_DURATION_MS) {
261
+ return { ok: false, error: 'offline_duration_exceeded', offline: true };
262
+ }
263
+
264
+ if (usedCount >= maxSolidifies) {
265
+ return { ok: false, error: 'offline_quota_exhausted', offline: true };
266
+ }
267
+
268
+ token.usedCount = usedCount + 1;
269
+ cacheOfflineToken(token);
270
+ return { ok: true, offline: true, remaining: maxSolidifies - token.usedCount };
271
+ });
272
+ } catch (e) {
273
+ // Preserve the "always returns a structured envelope" contract that
274
+ // the pre-refactor consumeOfflinePermit had (loadOfflineToken and
275
+ // cacheOfflineToken both swallowed FS errors internally).
276
+ //
277
+ // - "Lock timeout" → another process holds the lock past the
278
+ // acquire deadline. Surface as busy so the caller's heartbeat
279
+ // loop can retry on the next cycle.
280
+ // - Any other error (ENOENT/EACCES on the lock file, FS misconfig)
281
+ // → report as offline_lock_failed with the original message
282
+ // truncated. The daemon's solidify.js call site treats !ok as
283
+ // a recoverable hint, not a crash trigger.
284
+ var msg = (e && e.message) || String(e);
285
+ if (msg.indexOf('Lock timeout') !== -1) {
286
+ return { ok: false, error: 'offline_permit_busy', offline: true };
287
+ }
288
+ return { ok: false, error: 'offline_lock_failed', offline: true, detail: msg.slice(0, 200) };
289
+ }
290
+ }
291
+
292
+ function isSolidifyVerifyEnabled() {
293
+ if (process.env.NODE_ENV === 'test') {
294
+ var v = (process.env.EVOLVER_SOLIDIFY_VERIFY || '').toLowerCase();
295
+ if (v === 'false' || v === '0' || v === 'off') return false;
296
+ }
297
+ var hubUrl = process.env.A2A_HUB_URL || '';
298
+ return !!hubUrl;
299
+ }
300
+
301
+ module.exports = {
302
+ requestSolidifyPermit,
303
+ isSolidifyVerifyEnabled,
304
+ consumeOfflinePermit,
305
+ getLastOnlineVerifyTs,
306
+ };