@evomap/evolver 1.89.10 → 1.89.12

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 (112) 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 +1367 -0
  9. package/README.ja-JP.md +1 -1
  10. package/README.ko-KR.md +1 -1
  11. package/README.md +90 -536
  12. package/README.public.md +578 -0
  13. package/README.zh-CN.md +1 -1
  14. package/SECURITY.md +108 -0
  15. package/assets/gep/events.jsonl +3 -0
  16. package/examples/atp-consumer-quickstart.md +100 -0
  17. package/examples/hello-world.md +38 -0
  18. package/index.js +5 -3
  19. package/package.json +6 -18
  20. package/proxy-package.json +39 -0
  21. package/public.manifest.json +145 -0
  22. package/src/adapters/scripts/evolver-session-end.js +18 -37
  23. package/src/atp/atpExecute.js +27 -71
  24. package/src/atp/serviceHelper.js +28 -36
  25. package/src/config.js +17 -0
  26. package/src/evolve/guards.js +721 -1
  27. package/src/evolve/pipeline/collect.js +1283 -1
  28. package/src/evolve/pipeline/dispatch.js +421 -1
  29. package/src/evolve/pipeline/enrich.js +440 -1
  30. package/src/evolve/pipeline/hub.js +319 -1
  31. package/src/evolve/pipeline/select.js +274 -1
  32. package/src/evolve/pipeline/signals.js +206 -1
  33. package/src/evolve/utils.js +264 -1
  34. package/src/evolve.js +350 -1
  35. package/src/gep/a2aProtocol.js +4463 -1
  36. package/src/gep/antiAbuseTelemetry.js +233 -1
  37. package/src/gep/autoDistillConv.js +205 -1
  38. package/src/gep/autoDistillLlm.js +315 -1
  39. package/src/gep/candidateEval.js +92 -1
  40. package/src/gep/candidates.js +198 -1
  41. package/src/gep/contentHash.js +30 -1
  42. package/src/gep/conversationDistiller.js +270 -0
  43. package/src/gep/conversationSniffer.js +266 -1
  44. package/src/gep/crypto.js +89 -1
  45. package/src/gep/curriculum.js +163 -1
  46. package/src/gep/deviceId.js +218 -1
  47. package/src/gep/envFingerprint.js +118 -1
  48. package/src/gep/epigenetics.js +31 -1
  49. package/src/gep/execBridge.js +712 -1
  50. package/src/gep/explore.js +289 -1
  51. package/src/gep/hash.js +15 -1
  52. package/src/gep/hubFetch.js +608 -1
  53. package/src/gep/hubReview.js +207 -1
  54. package/src/gep/hubSearch.js +526 -1
  55. package/src/gep/hubVerify.js +306 -1
  56. package/src/gep/learningSignals.js +89 -1
  57. package/src/gep/memoryGraph.js +1449 -1
  58. package/src/gep/memoryGraphAdapter.js +203 -1
  59. package/src/gep/mutation.js +203 -1
  60. package/src/gep/narrativeMemory.js +108 -1
  61. package/src/gep/oauthLogin.js +9 -3
  62. package/src/gep/openPRRegistry.js +205 -1
  63. package/src/gep/personality.js +423 -1
  64. package/src/gep/policyCheck.js +599 -1
  65. package/src/gep/privacyClient.js +10 -9
  66. package/src/gep/prompt.js +836 -1
  67. package/src/gep/questionGenerator.js +103 -0
  68. package/src/gep/recallInject.js +409 -1
  69. package/src/gep/recallVerifier.js +318 -1
  70. package/src/gep/reflection.js +177 -1
  71. package/src/gep/savingsCore.js +112 -1
  72. package/src/gep/selector.js +602 -1
  73. package/src/gep/signals.js +85 -17
  74. package/src/gep/skillDistiller.js +1294 -1
  75. package/src/gep/solidify.js +1699 -1
  76. package/src/gep/strategy.js +136 -1
  77. package/src/gep/tokenSavings.js +95 -1
  78. package/src/gep/workspaceKeychain.js +174 -1
  79. package/src/proxy/extensions/traceControl.js +109 -1
  80. package/src/proxy/index.js +100 -3
  81. package/src/proxy/inject.js +52 -1
  82. package/src/proxy/lifecycle/manager.js +108 -7
  83. package/src/proxy/server/routes.js +41 -7
  84. package/src/proxy/server/settings.js +6 -2
  85. package/src/proxy/sync/engine.js +31 -15
  86. package/src/proxy/sync/inbound.js +87 -9
  87. package/src/proxy/sync/outbound.js +57 -4
  88. package/src/proxy/trace/extractor.js +1403 -1
  89. package/src/proxy/trace/usage.js +105 -1
  90. package/CONTRIBUTING.md +0 -19
  91. package/assets/cover.png +0 -0
  92. package/scripts/a2a_export.js +0 -63
  93. package/scripts/a2a_ingest.js +0 -79
  94. package/scripts/a2a_promote.js +0 -118
  95. package/scripts/analyze_by_skill.js +0 -121
  96. package/scripts/build_binaries.js +0 -479
  97. package/scripts/check-changelog.js +0 -166
  98. package/scripts/extract_log.js +0 -85
  99. package/scripts/generate_history.js +0 -75
  100. package/scripts/gep_append_event.js +0 -96
  101. package/scripts/gep_personality_report.js +0 -234
  102. package/scripts/human_report.js +0 -147
  103. package/scripts/recall-verify-report.js +0 -234
  104. package/scripts/recover_loop.js +0 -61
  105. package/scripts/refresh_stars_badge.js +0 -168
  106. package/scripts/seed-merchants.js +0 -91
  107. package/scripts/suggest_version.js +0 -89
  108. package/scripts/validate-modules.js +0 -38
  109. package/scripts/validate-suite.js +0 -78
  110. package/skills/index.json +0 -14
  111. /package/assets/gep/{genes.seed.json → genes.json} +0 -0
  112. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -1 +1,118 @@
1
- const _0x241e8c=_0x147f;(function(_0x20d787,_0x35e90d){const _0x4ed635=_0x147f,_0x75516d=_0x20d787();while(!![]){try{const _0x52c74b=parseInt(_0x4ed635(0x177,'\x64\x38\x7a\x2a'))/(-0x23*-0xb0+0x1f06+-0xef*0x3b)+-parseInt(_0x4ed635(0x153,'\x37\x35\x5a\x35'))/(0xb9*0x14+-0x1b3f+-0x1d*-0x71)+-parseInt(_0x4ed635(0x15a,'\x37\x35\x5a\x35'))/(-0x17d*0x12+-0x1*-0xec5+-0x2c*-0x46)*(parseInt(_0x4ed635(0x172,'\x43\x4e\x25\x4f'))/(-0x61e+0x12f8+-0xcd6))+parseInt(_0x4ed635(0x134,'\x23\x63\x26\x75'))/(0x21*-0x3d+-0x1505*0x1+0x1ce7)*(-parseInt(_0x4ed635(0x157,'\x49\x39\x6f\x2a'))/(-0x21e+-0xb6f+0xd93*0x1))+parseInt(_0x4ed635(0x19c,'\x30\x74\x29\x40'))/(0x10f*0x7+0x1*-0x1ada+0x1378)*(-parseInt(_0x4ed635(0x147,'\x4b\x78\x44\x58'))/(-0x1*0x631+-0x87b+0x3ad*0x4))+-parseInt(_0x4ed635(0x1b6,'\x35\x47\x72\x4f'))/(-0x31e*-0x1+0x419*-0x9+0x21cc)*(parseInt(_0x4ed635(0x18d,'\x53\x28\x5a\x37'))/(0x1*0x21a7+0x2*0x9f5+0xc1*-0x47))+parseInt(_0x4ed635(0x166,'\x32\x69\x52\x55'))/(0x11f2+0x59*0x43+-0x2*0x1499)*(parseInt(_0x4ed635(0x180,'\x50\x44\x40\x21'))/(-0x225c+-0x16c8+0x3930));if(_0x52c74b===_0x35e90d)break;else _0x75516d['push'](_0x75516d['shift']());}catch(_0x48acd9){_0x75516d['push'](_0x75516d['shift']());}}}(_0x1981,0xaf3ca+-0x2fb08+0x3e*0x110e));function _0x1981(){const _0x9a8e3d=['\x6c\x38\x6f\x79\x63\x4c\x44\x76\x57\x4f\x68\x64\x47\x71','\x6b\x38\x6f\x54\x65\x4e\x31\x33','\x7a\x48\x44\x74\x57\x37\x33\x63\x4a\x74\x62\x38','\x79\x6d\x6b\x74\x71\x5a\x53','\x41\x47\x6a\x54\x57\x37\x5a\x63\x4f\x71','\x6c\x38\x6f\x6d\x57\x37\x4a\x63\x4b\x71','\x57\x4f\x79\x30\x57\x36\x43\x4c','\x43\x64\x78\x63\x4b\x6d\x6b\x64\x57\x36\x34','\x79\x43\x6f\x31\x67\x4e\x72\x6b\x57\x4f\x2f\x64\x49\x47','\x79\x53\x6b\x50\x77\x74\x35\x46','\x57\x35\x6a\x2f\x45\x38\x6b\x45','\x45\x47\x66\x6f\x57\x36\x61','\x6f\x78\x2f\x63\x55\x38\x6b\x75\x57\x37\x65\x41\x76\x61','\x6f\x67\x6c\x63\x56\x38\x6b\x45\x57\x36\x61\x41\x41\x4c\x61','\x57\x35\x4c\x56\x57\x51\x76\x53','\x61\x71\x47\x51\x57\x51\x47\x36\x57\x50\x52\x63\x52\x61','\x57\x34\x6d\x43\x76\x71\x4e\x64\x53\x47','\x6e\x53\x6b\x6c\x57\x36\x47\x59','\x64\x31\x34\x6b\x63\x53\x6b\x6c','\x6c\x4c\x79\x63\x57\x4f\x78\x63\x49\x6d\x6f\x75\x78\x71','\x57\x37\x62\x49\x57\x37\x71\x49\x79\x43\x6b\x2b\x57\x37\x4e\x64\x49\x4b\x7a\x62\x57\x37\x79\x59','\x6c\x53\x6b\x70\x57\x37\x43\x4b\x74\x6d\x6f\x55\x57\x4f\x4b','\x57\x34\x4c\x55\x43\x53\x6b\x41\x73\x71\x30','\x57\x4f\x6a\x44\x57\x52\x4a\x63\x4f\x78\x69','\x57\x51\x33\x64\x52\x57\x43\x39\x57\x51\x4e\x63\x4e\x4b\x30','\x57\x52\x74\x63\x50\x66\x38','\x57\x52\x6d\x4a\x57\x52\x6a\x34\x70\x6d\x6f\x36\x57\x35\x4a\x64\x47\x57','\x57\x37\x62\x4d\x57\x4f\x66\x76\x66\x38\x6f\x52\x57\x35\x4e\x64\x4c\x47','\x57\x52\x50\x6c\x44\x48\x48\x54\x61\x38\x6b\x53','\x57\x52\x4e\x63\x48\x4e\x46\x63\x4e\x49\x65','\x57\x35\x5a\x64\x53\x47\x75\x69\x57\x4f\x53','\x65\x4b\x65\x4d\x57\x50\x4e\x63\x52\x47','\x57\x51\x56\x64\x4f\x5a\x33\x64\x4c\x6d\x6f\x4a\x73\x33\x30\x37\x57\x36\x30\x49\x57\x4f\x6e\x61','\x77\x53\x6b\x68\x42\x78\x57','\x57\x4f\x31\x31\x57\x51\x69\x59\x46\x65\x33\x64\x47\x77\x2f\x63\x48\x43\x6f\x50\x57\x52\x6c\x63\x4e\x53\x6f\x6f','\x57\x51\x6a\x30\x63\x48\x78\x64\x50\x38\x6f\x42\x75\x61','\x72\x53\x6b\x38\x43\x78\x52\x64\x52\x71','\x57\x52\x5a\x64\x54\x4c\x69\x4a\x71\x47','\x57\x34\x4a\x63\x4a\x53\x6f\x37\x75\x71','\x6e\x65\x46\x63\x48\x38\x6b\x65\x75\x4b\x4f\x59\x6f\x71','\x67\x43\x6f\x5a\x6d\x47','\x64\x75\x35\x4a\x57\x4f\x76\x6e','\x57\x36\x6d\x51\x74\x43\x6b\x66\x57\x34\x4f\x46\x57\x51\x4c\x7a','\x74\x57\x42\x63\x53\x6d\x6b\x76\x57\x34\x47','\x57\x37\x78\x64\x4c\x38\x6f\x59\x77\x38\x6b\x4f\x57\x36\x6c\x63\x4e\x43\x6f\x59','\x57\x36\x42\x64\x51\x43\x6f\x55\x78\x38\x6b\x72','\x6b\x66\x71\x61\x57\x4f\x4a\x63\x47\x47','\x43\x57\x68\x63\x48\x38\x6f\x4f','\x79\x43\x6f\x56\x57\x50\x38\x43\x57\x4f\x37\x63\x48\x6d\x6b\x42','\x57\x52\x31\x61\x42\x48\x4c\x55\x61\x53\x6b\x4e','\x57\x52\x72\x54\x62\x71','\x57\x4f\x42\x64\x52\x53\x6b\x38\x57\x51\x6a\x77\x61\x6d\x6b\x34\x43\x72\x5a\x64\x54\x48\x53\x37','\x6b\x31\x71\x69\x57\x50\x2f\x63\x47\x43\x6f\x6d\x71\x78\x34','\x42\x57\x35\x54\x71\x43\x6f\x4f\x57\x34\x78\x63\x53\x67\x79','\x79\x43\x6b\x72\x74\x4a\x44\x4b\x57\x4f\x61','\x57\x35\x5a\x63\x48\x49\x62\x2b\x6c\x53\x6b\x67\x57\x51\x70\x63\x4f\x47','\x6a\x43\x6f\x74\x65\x32\x65\x50\x57\x35\x64\x63\x56\x74\x33\x64\x47\x6d\x6f\x61\x57\x4f\x54\x6b\x57\x4f\x57','\x71\x38\x6b\x43\x79\x59\x64\x63\x4c\x38\x6f\x65','\x57\x50\x74\x63\x48\x53\x6b\x46\x71\x43\x6f\x75','\x71\x68\x6e\x4c\x57\x37\x30','\x46\x74\x42\x63\x4e\x6d\x6b\x75','\x57\x52\x65\x2f\x57\x51\x66\x4c\x6e\x6d\x6f\x48\x57\x36\x68\x64\x49\x57','\x70\x6d\x6f\x70\x63\x30\x31\x74\x57\x4f\x61','\x57\x51\x6a\x62\x42\x62\x4b','\x76\x43\x6b\x38\x57\x35\x39\x47\x57\x52\x6d','\x69\x75\x43\x72\x57\x52\x4a\x64\x4b\x67\x43\x47\x57\x51\x31\x2f\x57\x35\x74\x64\x53\x53\x6b\x33\x65\x38\x6f\x66','\x45\x43\x6f\x47\x57\x52\x4a\x63\x55\x48\x4e\x63\x49\x57','\x57\x36\x71\x2f\x73\x6d\x6b\x61\x57\x37\x47\x74','\x57\x51\x50\x2f\x57\x4f\x2f\x63\x50\x47','\x70\x6d\x6b\x74\x57\x36\x54\x39\x57\x4f\x30\x4f\x72\x57','\x57\x34\x42\x63\x4e\x4a\x35\x50\x6e\x43\x6b\x79\x57\x52\x33\x64\x53\x43\x6b\x57\x57\x50\x4e\x64\x4a\x38\x6b\x53\x57\x4f\x53','\x75\x53\x6b\x4d\x62\x43\x6f\x71\x42\x30\x38\x4d','\x57\x35\x4f\x6c\x75\x64\x42\x64\x4d\x57','\x57\x36\x70\x64\x55\x59\x6d\x2b\x57\x52\x4c\x76\x57\x36\x57','\x57\x51\x64\x63\x4f\x31\x5a\x64\x4d\x61','\x57\x36\x66\x78\x66\x73\x70\x64\x4a\x38\x6f\x66\x44\x57','\x6c\x67\x56\x63\x51\x53\x6b\x70\x57\x36\x75\x62\x76\x76\x69','\x70\x30\x6a\x36\x57\x51\x4c\x71','\x41\x5a\x68\x64\x53\x53\x6f\x6c\x57\x36\x57\x35\x7a\x4c\x46\x64\x4f\x6d\x6b\x4a','\x61\x71\x43\x50\x57\x4f\x4b\x77','\x67\x33\x68\x63\x52\x6d\x6b\x59\x57\x36\x57','\x57\x35\x4a\x63\x53\x6d\x6f\x4d\x57\x37\x30','\x57\x37\x4b\x51\x76\x61','\x57\x51\x58\x37\x57\x4f\x4e\x63\x56\x76\x37\x63\x50\x43\x6b\x4f','\x6f\x6d\x6b\x4a\x57\x35\x48\x44','\x6c\x43\x6b\x41\x57\x50\x42\x63\x48\x4d\x6d','\x63\x53\x6b\x46\x67\x6d\x6f\x72\x71\x6d\x6b\x70','\x44\x38\x6b\x33\x57\x36\x62\x6f\x57\x50\x34','\x57\x51\x33\x64\x50\x64\x64\x64\x4c\x38\x6b\x2f\x6c\x66\x79\x2f\x57\x35\x34\x37','\x6e\x53\x6b\x38\x57\x51\x42\x63\x55\x76\x6c\x63\x51\x58\x71','\x57\x35\x43\x6e\x44\x62\x34','\x64\x6d\x6b\x46\x64\x53\x6f\x7a\x77\x38\x6b\x65\x57\x51\x47\x63','\x72\x6d\x6b\x72\x77\x32\x56\x64\x51\x71','\x57\x36\x78\x63\x51\x43\x6f\x4c\x57\x34\x6e\x30\x57\x36\x5a\x64\x4f\x68\x50\x59\x57\x50\x2f\x64\x4a\x32\x4b\x4e','\x70\x75\x52\x63\x4e\x43\x6f\x6d\x6e\x30\x7a\x75','\x45\x4d\x6e\x66\x57\x36\x68\x63\x49\x61','\x57\x50\x4e\x63\x51\x30\x6c\x63\x49\x47','\x65\x38\x6b\x47\x57\x52\x52\x63\x51\x71','\x57\x4f\x30\x52\x6a\x53\x6f\x6e\x63\x76\x61\x31\x57\x37\x35\x50\x67\x32\x53\x6e\x74\x62\x65','\x57\x37\x4a\x63\x4b\x33\x56\x63\x4f\x6d\x6b\x68','\x79\x4a\x78\x63\x4c\x38\x6b\x42\x57\x37\x4e\x64\x50\x61','\x57\x4f\x70\x64\x51\x53\x6f\x6f\x57\x35\x43\x4e\x75\x43\x6b\x62\x42\x47','\x57\x51\x7a\x70\x41\x62\x69','\x6d\x30\x4b\x6a\x61\x6d\x6b\x30\x57\x4f\x4e\x64\x51\x71\x57','\x69\x76\x44\x2f\x6c\x6d\x6b\x74\x79\x5a\x4c\x32','\x57\x37\x38\x38\x72\x43\x6b\x70\x57\x35\x4f','\x6d\x30\x4b\x77\x67\x38\x6b\x58\x57\x4f\x78\x64\x54\x73\x47','\x57\x37\x70\x64\x4a\x43\x6f\x30\x75\x53\x6b\x57\x57\x37\x70\x63\x53\x6d\x6f\x42','\x62\x43\x6b\x2f\x57\x50\x33\x63\x4e\x65\x53','\x57\x52\x44\x78\x57\x52\x2f\x63\x55\x78\x57','\x57\x35\x43\x72\x57\x37\x6e\x4d\x6d\x57','\x57\x4f\x4c\x59\x57\x37\x6a\x46\x68\x48\x74\x63\x55\x4d\x4f','\x57\x51\x78\x63\x54\x4b\x4a\x63\x4b\x38\x6f\x79','\x57\x52\x56\x63\x54\x4c\x46\x63\x48\x71','\x57\x37\x71\x58\x57\x4f\x56\x63\x52\x30\x70\x63\x4f\x53\x6b\x31','\x72\x38\x6b\x58\x65\x53\x6f\x63\x43\x4b\x75\x61\x57\x52\x79','\x46\x6d\x6b\x6f\x77\x73\x6a\x2b\x57\x4f\x74\x64\x51\x74\x71','\x57\x52\x52\x63\x50\x43\x6b\x36\x74\x43\x6f\x43\x71\x53\x6f\x6a\x57\x51\x61','\x6b\x66\x30\x69\x57\x50\x4e\x63\x48\x6d\x6f\x6c','\x78\x53\x6f\x46\x78\x6d\x6b\x6e\x68\x6d\x6b\x4b\x57\x52\x4b\x67\x76\x62\x7a\x39','\x57\x36\x57\x56\x75\x53\x6b\x44\x57\x34\x56\x64\x4e\x38\x6b\x2f\x57\x35\x34','\x57\x52\x39\x51\x63\x64\x5a\x64\x4a\x61','\x57\x36\x4b\x2b\x57\x36\x6d\x44\x6f\x61','\x57\x52\x69\x37\x57\x51\x65\x4a\x7a\x38\x6b\x34','\x68\x53\x6f\x30\x69\x43\x6f\x78\x57\x34\x50\x43','\x72\x76\x4c\x4d\x57\x37\x6c\x63\x53\x53\x6f\x7a','\x6a\x6d\x6b\x64\x57\x50\x6c\x63\x49\x67\x4b','\x79\x61\x62\x69\x57\x36\x64\x63\x4b\x61','\x6e\x43\x6f\x50\x57\x52\x34\x79\x57\x34\x47\x6d\x45\x58\x76\x70\x6b\x61\x47','\x65\x4d\x39\x47\x57\x4f\x48\x64','\x57\x34\x48\x57\x72\x68\x34','\x57\x37\x6a\x73\x74\x53\x6b\x6b\x41\x61','\x57\x35\x54\x34\x57\x52\x35\x59\x61\x31\x4a\x64\x51\x47','\x45\x6d\x6f\x4e\x57\x51\x4e\x63\x4d\x71\x70\x63\x4b\x76\x64\x64\x4e\x57','\x69\x43\x6b\x43\x57\x52\x56\x63\x49\x32\x38','\x6f\x67\x6c\x63\x56\x43\x6b\x73\x57\x36\x61\x6c\x45\x66\x79','\x62\x59\x53\x35\x57\x51\x6c\x64\x54\x43\x6b\x45\x57\x34\x56\x64\x50\x33\x42\x64\x55\x5a\x6e\x37','\x43\x4a\x70\x63\x4e\x6d\x6b\x77\x57\x37\x56\x64\x50\x6d\x6f\x53','\x57\x52\x76\x5a\x57\x37\x46\x64\x53\x38\x6f\x39','\x57\x52\x48\x70\x7a\x48\x58\x47\x65\x53\x6b\x53\x57\x50\x75','\x6d\x43\x6f\x6e\x65\x77\x6e\x34','\x44\x48\x74\x63\x4b\x38\x6b\x4a\x42\x71','\x70\x6d\x6b\x64\x57\x36\x69\x59\x76\x53\x6f\x31','\x57\x34\x6a\x2f\x57\x51\x7a\x4b\x63\x75\x6d','\x57\x36\x71\x37\x73\x53\x6f\x7a','\x79\x53\x6b\x69\x76\x4a\x42\x64\x55\x61','\x57\x36\x64\x64\x47\x6d\x6f\x56\x72\x6d\x6b\x37','\x6b\x53\x6b\x32\x57\x52\x33\x63\x50\x61','\x57\x36\x57\x58\x78\x53\x6b\x7a\x57\x35\x68\x64\x4a\x47','\x57\x34\x31\x4e\x75\x78\x39\x70\x41\x65\x39\x35','\x57\x36\x58\x4b\x42\x4b\x62\x43','\x6b\x67\x4a\x63\x47\x53\x6b\x4f\x57\x34\x57\x39\x75\x30\x30','\x7a\x43\x6b\x51\x73\x57\x66\x6b','\x6c\x6d\x6b\x79\x57\x36\x57\x36','\x57\x37\x47\x48\x73\x57','\x57\x34\x61\x33\x57\x34\x65\x6d','\x57\x51\x70\x63\x53\x4b\x4a\x63\x4b\x38\x6f\x75\x57\x52\x33\x63\x55\x71','\x72\x43\x6b\x58\x66\x6d\x6f\x6c','\x57\x37\x37\x64\x4a\x53\x6f\x35\x75\x53\x6b\x62\x57\x37\x68\x63\x49\x53\x6f\x46','\x69\x31\x6e\x39\x69\x38\x6b\x30\x42\x74\x61\x39','\x7a\x5a\x50\x4d\x57\x36\x4e\x63\x54\x47','\x76\x58\x6c\x63\x54\x38\x6b\x44\x71\x61','\x79\x4d\x54\x46\x57\x34\x6d','\x57\x35\x46\x64\x4a\x58\x75\x69\x57\x50\x69','\x57\x52\x7a\x44\x57\x37\x2f\x64\x4c\x38\x6f\x6d','\x57\x51\x64\x63\x55\x76\x68\x63\x4a\x53\x6f\x73\x57\x51\x78\x63\x55\x71','\x57\x52\x6c\x64\x4d\x43\x6b\x38\x57\x52\x53\x79','\x57\x35\x50\x55\x74\x4e\x76\x6a','\x57\x37\x37\x63\x49\x65\x2f\x63\x50\x43\x6b\x63','\x45\x73\x52\x63\x4c\x38\x6b\x46\x57\x35\x6c\x64\x54\x38\x6f\x37\x57\x51\x30','\x41\x38\x6f\x53\x57\x51\x33\x63\x52\x61\x70\x63\x4b\x66\x4b','\x72\x76\x31\x55\x57\x36\x6a\x4a\x57\x34\x6c\x64\x54\x38\x6b\x53\x57\x4f\x4a\x64\x4e\x48\x78\x63\x54\x76\x4f','\x44\x38\x6b\x36\x64\x53\x6f\x6d\x44\x61','\x57\x52\x37\x63\x4a\x53\x6f\x35\x75\x53\x6b\x4f\x57\x36\x37\x63\x4a\x6d\x6f\x69','\x68\x47\x42\x63\x47\x78\x43\x49\x74\x43\x6b\x6c\x67\x47','\x57\x52\x46\x63\x56\x38\x6b\x6f\x73\x43\x6f\x63\x75\x57','\x57\x51\x76\x54\x57\x36\x46\x64\x4f\x6d\x6f\x53\x66\x71','\x57\x37\x68\x64\x4b\x38\x6f\x2b\x78\x57','\x57\x34\x6c\x63\x48\x53\x6f\x58\x75\x43\x6b\x73\x57\x35\x75','\x57\x34\x4f\x61\x43\x62\x4a\x64\x4b\x47','\x57\x37\x71\x35\x71\x38\x6b\x6e\x57\x37\x4f\x74\x57\x52\x44\x4a','\x57\x35\x69\x69\x41\x62\x78\x64\x4e\x61'];_0x1981=function(){return _0x9a8e3d;};return _0x1981();}const _0xd40073=(function(){const _0x43c335=_0x147f,_0x486d5f={};_0x486d5f[_0x43c335(0x19e,'\x31\x37\x5e\x41')]=function(_0x14fc9e,_0x5047c4){return _0x14fc9e||_0x5047c4;},_0x486d5f['\x47\x52\x67\x54\x57']=_0x43c335(0x19b,'\x7a\x44\x37\x34');const _0x444ba6=_0x486d5f;let _0x1fd1a0=!![];return function(_0x10140d,_0x2f1adb){const _0x1bc6a1=_0x43c335,_0x190122={'\x6f\x4e\x78\x6f\x6a':function(_0x2bd3f5,_0x1fd4c6){const _0x40a6ba=_0x147f;return _0x444ba6[_0x40a6ba(0x15e,'\x4b\x43\x48\x29')](_0x2bd3f5,_0x1fd4c6);}};if(_0x1bc6a1(0x1c0,'\x5a\x45\x30\x4a')===_0x444ba6['\x47\x52\x67\x54\x57']){const _0x6a1d2b=_0x1fd1a0?function(){const _0x57ce44=_0x1bc6a1;if(_0x2f1adb){const _0xb1b820=_0x2f1adb[_0x57ce44(0x11a,'\x4f\x79\x52\x74')](_0x10140d,arguments);return _0x2f1adb=null,_0xb1b820;}}:function(){};return _0x1fd1a0=![],_0x6a1d2b;}else{const _0x656e9a=[_0xb54944.env.EVOLVER_MODEL_NAME,_0x1ad4a1.env.ANTHROPIC_MODEL,_0x37b881.env.CLAUDE_MODEL,_0x51e72e.env.CLAUDE_CODE_MODEL,_0x3bac5c.env.OPENAI_MODEL,_0x46daf8.env.CODEX_MODEL,_0x1d4f18.env.CURSOR_MODEL];for(const _0x208280 of _0x656e9a){const _0x3c1f03=_0x190122['\x6f\x4e\x78\x6f\x6a'](_0x208280,'')[_0x1bc6a1(0x14d,'\x50\x5b\x49\x4f')]();if(_0x3c1f03)return _0x3c1f03[_0x1bc6a1(0x16d,'\x4b\x43\x48\x29')](-0xc*-0x92+-0xb*-0x9e+0xa*-0x15d,-0x15b*0x13+-0x177*-0x1+-0xc57*-0x2);}return _0x1bc6a1(0x162,'\x63\x73\x30\x4c');}};}()),_0x193c41=_0xd40073(this,function(){const _0x13c1fb=_0x147f,_0x2e5f22={};_0x2e5f22[_0x13c1fb(0x16a,'\x42\x79\x79\x64')]=_0x13c1fb(0x174,'\x73\x5b\x5e\x75')+_0x13c1fb(0x145,'\x50\x5b\x49\x4f');const _0x470b38=_0x2e5f22;return _0x193c41[_0x13c1fb(0x1a9,'\x73\x5b\x5e\x75')]()['\x73\x65\x61\x72\x63\x68'](_0x13c1fb(0x176,'\x4c\x29\x35\x46')+_0x13c1fb(0x193,'\x6b\x56\x64\x30'))['\x74\x6f\x53\x74\x72\x69\x6e\x67']()['\x63\x6f\x6e\x73\x74\x72\x75\x63'+_0x13c1fb(0x167,'\x6a\x34\x4c\x62')](_0x193c41)[_0x13c1fb(0x1b5,'\x4b\x43\x48\x29')](_0x470b38[_0x13c1fb(0x156,'\x76\x6e\x76\x42')]);});_0x193c41();function _0x147f(_0x5a912e,_0x352a3b){_0x5a912e=_0x5a912e-(0x3bb*0x4+0x1e8d+-0x2c6a);const _0x33a684=_0x1981();let _0x1af4ff=_0x33a684[_0x5a912e];if(_0x147f['\x67\x44\x41\x6b\x59\x58']===undefined){var _0x386e5c=function(_0x336918){const _0x3ba1a8='\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 _0x3c56a3='',_0x27f162='',_0x5cd941=_0x3c56a3+_0x386e5c,_0x3be542=(''+function(){return-0x2606*0x1+0x3*0x515+-0x341*-0x7;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x144a+-0x1bbd+0x3008*0x1);for(let _0x1df15f=0x233+-0xb42+0x90f,_0x5d3f85,_0x3d64bf,_0x33921c=0x7*-0x271+-0x5*-0x151+0xa82;_0x3d64bf=_0x336918['\x63\x68\x61\x72\x41\x74'](_0x33921c++);~_0x3d64bf&&(_0x5d3f85=_0x1df15f%(0x132a+0x2297*-0x1+0x1*0xf71)?_0x5d3f85*(-0x1*0xa3a+0x630+0x44a)+_0x3d64bf:_0x3d64bf,_0x1df15f++%(0x1c*0x5+0x1e44+0x1*-0x1ecc))?_0x3c56a3+=_0x3be542||_0x5cd941['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x33921c+(0xa88*-0x2+0x3*0x775+-0x41*0x5))-(-0x1b46+0x1515+0x63b)!==-0x14e8+0x4ef*0x1+0xff9?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x19c7+-0x25e5+0x40ab&_0x5d3f85>>(-(0x1154+0xd62+-0x1eb4)*_0x1df15f&-0x5*-0xc7+-0x3*-0x727+-0x1952)):_0x1df15f:-0x73e+-0x59a+-0x448*-0x3){_0x3d64bf=_0x3ba1a8['\x69\x6e\x64\x65\x78\x4f\x66'](_0x3d64bf);}for(let _0x5aef17=0x175d*-0x1+0x1*-0x1701+0x2*0x172f,_0x5aa05f=_0x3c56a3['\x6c\x65\x6e\x67\x74\x68'];_0x5aef17<_0x5aa05f;_0x5aef17++){_0x27f162+='\x25'+('\x30\x30'+_0x3c56a3['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5aef17)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0xc2d+-0x11b8+0x1*0x1df5))['\x73\x6c\x69\x63\x65'](-(-0x1*-0x1afa+0x25a3+-0x25*0x1bf));}return decodeURIComponent(_0x27f162);};const _0x30f9de=function(_0x35fb80,_0x10a9b4){let _0x10d094=[],_0x453403=-0x1c6*-0xd+-0x1bce+0x4c0,_0x45db4e,_0x1e1b4c='';_0x35fb80=_0x386e5c(_0x35fb80);let _0xcf714;for(_0xcf714=-0x2311*0x1+0xb*0x167+0x13a4;_0xcf714<0x1a19+0x1*-0xffb+-0x91e;_0xcf714++){_0x10d094[_0xcf714]=_0xcf714;}for(_0xcf714=0x2237*-0x1+-0x1d0e+0x3f45;_0xcf714<-0x248a*-0x1+-0x1d7+0x21b3*-0x1;_0xcf714++){_0x453403=(_0x453403+_0x10d094[_0xcf714]+_0x10a9b4['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xcf714%_0x10a9b4['\x6c\x65\x6e\x67\x74\x68']))%(-0x1a57+-0xfa2+0x2af9),_0x45db4e=_0x10d094[_0xcf714],_0x10d094[_0xcf714]=_0x10d094[_0x453403],_0x10d094[_0x453403]=_0x45db4e;}_0xcf714=-0x1053+-0x22e4+0x3337,_0x453403=0xcf6+0x1*0x519+-0x120f;for(let _0x386978=-0x267+0x79+0x1ee*0x1;_0x386978<_0x35fb80['\x6c\x65\x6e\x67\x74\x68'];_0x386978++){_0xcf714=(_0xcf714+(-0x909+0x63c+0x2ce))%(0x1a7b+0x6c0+0x203b*-0x1),_0x453403=(_0x453403+_0x10d094[_0xcf714])%(-0x213e*-0x1+0xe06*-0x1+-0x1238),_0x45db4e=_0x10d094[_0xcf714],_0x10d094[_0xcf714]=_0x10d094[_0x453403],_0x10d094[_0x453403]=_0x45db4e,_0x1e1b4c+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x35fb80['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x386978)^_0x10d094[(_0x10d094[_0xcf714]+_0x10d094[_0x453403])%(-0x1*-0xf95+0xa7*0x12+-0x1a53*0x1)]);}return _0x1e1b4c;};_0x147f['\x45\x4c\x4e\x62\x5a\x58']=_0x30f9de,_0x147f['\x58\x77\x6f\x49\x72\x63']={},_0x147f['\x67\x44\x41\x6b\x59\x58']=!![];}const _0x26d4cd=_0x33a684[0x1*0x19b5+-0x1767+-0x24e],_0x4aece2=_0x5a912e+_0x26d4cd,_0x132257=_0x147f['\x58\x77\x6f\x49\x72\x63'][_0x4aece2];if(!_0x132257){if(_0x147f['\x49\x63\x57\x5a\x6b\x64']===undefined){const _0x1a5ee4=function(_0x309b2e){this['\x50\x7a\x46\x75\x42\x74']=_0x309b2e,this['\x75\x66\x51\x6f\x6f\x4d']=[0x20c1+-0x1*0x2092+0x2e*-0x1,-0xf1*-0x7+0x19f0+-0x2087,-0x1*0x7a2+-0x112f+0x18d1],this['\x47\x73\x74\x4c\x46\x50']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x4d\x4b\x53\x62\x57\x4f']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x71\x54\x69\x71\x79\x63']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x1a5ee4['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x50\x63\x49\x57\x69\x78']=function(){const _0x52db59=new RegExp(this['\x4d\x4b\x53\x62\x57\x4f']+this['\x71\x54\x69\x71\x79\x63']),_0x4d3974=_0x52db59['\x74\x65\x73\x74'](this['\x47\x73\x74\x4c\x46\x50']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x75\x66\x51\x6f\x6f\x4d'][-0x14e*0xc+-0x26bd*-0x1+0x1*-0x1714]:--this['\x75\x66\x51\x6f\x6f\x4d'][-0x2*-0x22e+-0x2*-0x1183+0x8e*-0x47];return this['\x64\x76\x58\x50\x44\x6e'](_0x4d3974);},_0x1a5ee4['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x64\x76\x58\x50\x44\x6e']=function(_0x391356){if(!Boolean(~_0x391356))return _0x391356;return this['\x45\x6e\x6d\x4b\x47\x41'](this['\x50\x7a\x46\x75\x42\x74']);},_0x1a5ee4['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x45\x6e\x6d\x4b\x47\x41']=function(_0x5a7e43){for(let _0x41bfde=0x5*0x53d+-0x16ab*0x1+0x1c3*-0x2,_0x47a230=this['\x75\x66\x51\x6f\x6f\x4d']['\x6c\x65\x6e\x67\x74\x68'];_0x41bfde<_0x47a230;_0x41bfde++){this['\x75\x66\x51\x6f\x6f\x4d']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x47a230=this['\x75\x66\x51\x6f\x6f\x4d']['\x6c\x65\x6e\x67\x74\x68'];}return _0x5a7e43(this['\x75\x66\x51\x6f\x6f\x4d'][-0x163*0xb+-0x2507+0x3448]);},(''+function(){return-0x3ac+-0x13d*0x1f+0x2a0f;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x14f2*-0x1+0x259d+-0x10aa)&&new _0x1a5ee4(_0x147f)['\x50\x63\x49\x57\x69\x78'](),_0x147f['\x49\x63\x57\x5a\x6b\x64']=!![];}_0x1af4ff=_0x147f['\x45\x4c\x4e\x62\x5a\x58'](_0x1af4ff,_0x352a3b),_0x147f['\x58\x77\x6f\x49\x72\x63'][_0x4aece2]=_0x1af4ff;}else _0x1af4ff=_0x132257;return _0x1af4ff;}const _0x3183df=require('\x6f\x73'),_0x21f11=require('\x66\x73'),_0x12bc91=require(_0x241e8c(0x183,'\x76\x6e\x76\x42')),_0x2bf299=require(_0x241e8c(0x139,'\x40\x4d\x64\x6e')),{getRepoRoot:_0x522bd8}=require(_0x241e8c(0x1b1,'\x76\x6e\x76\x42')),{getDeviceId:_0x100dd1,isContainer:_0x48797f}=require(_0x241e8c(0x136,'\x45\x6e\x66\x52')+'\x49\x64');function _0x5aa7ed(){const _0x4d7079=_0x241e8c,_0x410ac5={};_0x410ac5['\x59\x48\x43\x58\x58']=function(_0x3503f8,_0x377926){return _0x3503f8||_0x377926;},_0x410ac5[_0x4d7079(0x12f,'\x30\x74\x29\x40')]=_0x4d7079(0x152,'\x4b\x43\x48\x29');const _0x20af06=_0x410ac5,_0x138ddc=[process.env.EVOLVER_MODEL_NAME,process.env.ANTHROPIC_MODEL,process.env.CLAUDE_MODEL,process.env.CLAUDE_CODE_MODEL,process.env.OPENAI_MODEL,process.env.CODEX_MODEL,process.env.CURSOR_MODEL];for(const _0x238df1 of _0x138ddc){const _0x55f481=_0x20af06[_0x4d7079(0x18c,'\x5a\x45\x30\x4a')](_0x238df1,'')[_0x4d7079(0x142,'\x64\x38\x7a\x2a')]();if(_0x55f481)return _0x55f481[_0x4d7079(0x196,'\x4c\x6d\x4b\x49')](0x1f6a+-0x1121*-0x1+-0x308b*0x1,-0x19da+0x22dc+0x2*-0x44f);}return _0x20af06[_0x4d7079(0x10f,'\x41\x38\x30\x48')];}function _0xd27a74(){const _0x2c8f37=_0x241e8c,_0x56c012={'\x76\x48\x73\x68\x4f':'\x75\x74\x66\x38','\x7a\x70\x4c\x72\x45':function(_0x599387,_0x39cea6){return _0x599387(_0x39cea6);},'\x6b\x64\x71\x6e\x6b':_0x2c8f37(0x118,'\x50\x5b\x49\x4f'),'\x68\x70\x69\x47\x44':_0x2c8f37(0x191,'\x37\x4e\x64\x26'),'\x47\x50\x76\x6d\x65':function(_0x12d14c){return _0x12d14c();},'\x63\x67\x49\x4d\x6c':_0x2c8f37(0x1ac,'\x76\x6e\x76\x42'),'\x77\x48\x47\x67\x52':function(_0x2c4ee4,_0x2c1650){return _0x2c4ee4===_0x2c1650;},'\x64\x5a\x46\x42\x52':_0x2c8f37(0x121,'\x64\x38\x7a\x2a'),'\x42\x51\x44\x45\x42':function(_0x12c785,_0x8bb9fd){return _0x12c785===_0x8bb9fd;},'\x6c\x51\x67\x6d\x77':_0x2c8f37(0x168,'\x5a\x45\x30\x4a'),'\x70\x42\x61\x47\x54':_0x2c8f37(0x18e,'\x23\x63\x26\x75'),'\x48\x78\x4f\x65\x48':_0x2c8f37(0x114,'\x70\x38\x6f\x65')+_0x2c8f37(0x160,'\x7a\x44\x37\x34'),'\x53\x79\x79\x6f\x72':function(_0xdc809,_0x10354f){return _0xdc809(_0x10354f);},'\x45\x66\x49\x56\x70':_0x2c8f37(0x1bb,'\x6a\x34\x4c\x62'),'\x6d\x43\x42\x4c\x58':function(_0x398adc,_0x46008a){return _0x398adc||_0x46008a;},'\x72\x50\x6a\x59\x4b':function(_0x1ec6e8){return _0x1ec6e8();}},_0x449f36=_0x56c012[_0x2c8f37(0x179,'\x44\x45\x65\x49')](_0x522bd8);let _0x5a0641=null,_0x1770fc=null;const _0x26dc99=_0x12bc91[_0x2c8f37(0x15b,'\x70\x38\x6f\x65')](__dirname,'\x2e\x2e','\x2e\x2e','\x70\x61\x63\x6b\x61\x67\x65\x2e'+_0x2c8f37(0x17b,'\x42\x79\x79\x64'));try{if(_0x2c8f37(0x146,'\x42\x79\x79\x64')!==_0x56c012[_0x2c8f37(0x187,'\x62\x7a\x49\x29')]){const _0x2e3bad=_0x21f11[_0x2c8f37(0x1a7,'\x51\x7a\x66\x32')+_0x2c8f37(0x124,'\x41\x59\x6d\x49')](_0x26dc99,_0x56c012[_0x2c8f37(0x163,'\x7a\x44\x37\x34')]),_0x24d6cb=JSON[_0x2c8f37(0x116,'\x32\x69\x52\x55')](_0x2e3bad);_0x5a0641=_0x24d6cb&&_0x24d6cb[_0x2c8f37(0x133,'\x64\x75\x45\x29')]?String(_0x24d6cb[_0x2c8f37(0x198,'\x41\x38\x30\x48')]):null,_0x1770fc=_0x24d6cb&&_0x24d6cb[_0x2c8f37(0x1a5,'\x70\x38\x6f\x65')]?String(_0x24d6cb[_0x2c8f37(0x149,'\x72\x55\x73\x36')]):null;}else{const _0x44cef7=_0x67583e[_0x2c8f37(0x1a7,'\x51\x7a\x66\x32')+_0x2c8f37(0x124,'\x41\x59\x6d\x49')](_0x305b33,_0x56c012[_0x2c8f37(0x148,'\x64\x38\x7a\x2a')]),_0x4b8440=_0x54a05a[_0x2c8f37(0x1af,'\x65\x52\x58\x68')](_0x44cef7);_0x4b5f7b=_0x4b8440&&_0x4b8440[_0x2c8f37(0x19d,'\x5a\x47\x24\x35')]?_0x56c012[_0x2c8f37(0x1b9,'\x41\x59\x6d\x49')](_0x534440,_0x4b8440[_0x2c8f37(0x1c3,'\x50\x5b\x49\x4f')]):null,_0x140372=_0x4b8440&&_0x4b8440[_0x2c8f37(0x1b0,'\x65\x52\x58\x68')]?_0x56c012[_0x2c8f37(0x143,'\x50\x44\x40\x21')](_0x3fca5e,_0x4b8440[_0x2c8f37(0x199,'\x62\x7a\x49\x29')]):null;}}catch(_0x18a35f){}if(!_0x5a0641){if(_0x56c012[_0x2c8f37(0x129,'\x50\x44\x40\x21')](_0x56c012[_0x2c8f37(0x1bd,'\x41\x38\x30\x48')],_0x56c012[_0x2c8f37(0x131,'\x5e\x65\x4c\x61')]))try{if(_0x56c012[_0x2c8f37(0x12c,'\x6b\x35\x61\x76')](_0x56c012[_0x2c8f37(0x1ad,'\x7a\x71\x43\x71')],_0x56c012[_0x2c8f37(0x12d,'\x40\x4d\x64\x6e')]))try{const _0xf9064c=_0x5f3c4a[_0x2c8f37(0x169,'\x37\x4e\x64\x26')+'\x53\x79\x6e\x63'](_0x7c148[_0x2c8f37(0x17e,'\x70\x38\x6f\x65')](_0x10399c,_0x2c8f37(0x128,'\x51\x7a\x66\x32')+_0x2c8f37(0x14a,'\x50\x44\x40\x21')),_0x2c8f37(0x189,'\x65\x52\x58\x68')),_0x1e6d3e=_0x17056c[_0x2c8f37(0x1a8,'\x38\x57\x71\x77')](_0xf9064c);_0x2469af=_0x1e6d3e&&_0x1e6d3e[_0x2c8f37(0x186,'\x72\x65\x39\x28')]?_0x56c012[_0x2c8f37(0x14f,'\x62\x7a\x49\x29')](_0x8e3afd,_0x1e6d3e[_0x2c8f37(0x192,'\x76\x6e\x76\x42')]):null,_0x15b4e0=_0x1e6d3e&&_0x1e6d3e[_0x2c8f37(0x19f,'\x65\x49\x43\x74')]?_0x44d65c(_0x1e6d3e[_0x2c8f37(0x165,'\x4e\x6b\x4f\x4b')]):null;}catch(_0xfb05){}else{const _0x3929b2=_0x21f11['\x72\x65\x61\x64\x46\x69\x6c\x65'+_0x2c8f37(0x1a0,'\x41\x38\x30\x48')](_0x12bc91[_0x2c8f37(0x11c,'\x41\x38\x30\x48')](_0x449f36,_0x56c012[_0x2c8f37(0x151,'\x73\x5b\x5e\x75')]),_0x56c012[_0x2c8f37(0x16c,'\x45\x6e\x66\x52')]),_0x5b4943=JSON[_0x2c8f37(0x11b,'\x45\x6e\x66\x52')](_0x3929b2);_0x5a0641=_0x5b4943&&_0x5b4943[_0x2c8f37(0x141,'\x50\x44\x40\x21')]?_0x56c012[_0x2c8f37(0x135,'\x72\x65\x39\x28')](String,_0x5b4943[_0x2c8f37(0x154,'\x4e\x6b\x75\x37')]):null,_0x1770fc=_0x5b4943&&_0x5b4943[_0x2c8f37(0x144,'\x51\x65\x50\x50')]?String(_0x5b4943[_0x2c8f37(0x150,'\x4e\x6b\x75\x37')]):null;}}catch(_0x1c2829){}else{if(!_0x5a556c||typeof _0x2af51e!==_0x56c012[_0x2c8f37(0x13e,'\x62\x7a\x49\x29')])return _0x2c8f37(0x170,'\x70\x38\x6f\x65');const _0xff4b2=[_0x49497[_0x2c8f37(0x110,'\x53\x28\x5a\x37')+'\x64']||'',_0x5460c5[_0x2c8f37(0x132,'\x42\x79\x79\x64')+_0x2c8f37(0x17a,'\x31\x37\x5e\x41')]||'',_0x222d71[_0x2c8f37(0x17c,'\x37\x35\x5a\x35')]||'',_0x4bd44d[_0x2c8f37(0x13a,'\x45\x6e\x66\x52')]||'',_0xdc0922[_0x2c8f37(0x1b3,'\x64\x38\x7a\x2a')]||'',_0x3dc66f[_0x2c8f37(0x11d,'\x38\x57\x71\x77')]||_0xfb97b2['\x65\x76\x6f\x6c\x76\x65\x72\x5f'+_0x2c8f37(0x188,'\x6b\x35\x61\x76')]||'',_0xb4e73b[_0x2c8f37(0x1aa,'\x45\x6e\x66\x52')+_0x2c8f37(0x195,'\x35\x47\x72\x4f')]||_0x792f31[_0x2c8f37(0x16b,'\x45\x6e\x66\x52')+_0x2c8f37(0x154,'\x4e\x6b\x75\x37')]||''][_0x2c8f37(0x190,'\x43\x4e\x25\x4f')]('\x7c');return _0x4e3361[_0x2c8f37(0x19a,'\x35\x47\x72\x4f')+'\x73\x68'](_0x2c8f37(0x178,'\x7a\x44\x37\x34'))[_0x2c8f37(0x175,'\x64\x38\x7a\x2a')](_0xff4b2,_0x2c8f37(0x16e,'\x32\x69\x52\x55'))[_0x2c8f37(0x181,'\x64\x75\x45\x29')](_0x56c012[_0x2c8f37(0x1b8,'\x63\x73\x30\x4c')])['\x73\x6c\x69\x63\x65'](0x232f+-0x1d6e+-0x5c1,0x102+0x27a+-0xdb*0x4);}}const _0x43b813=(process.env.EVOLVER_REGION||'')[_0x2c8f37(0x122,'\x4e\x6b\x75\x37')]()[_0x2c8f37(0x1a6,'\x73\x5b\x5e\x75')+_0x2c8f37(0x158,'\x65\x52\x58\x68')]()['\x73\x6c\x69\x63\x65'](-0x3eb+-0x25a2+0x298d,-0xc*-0xad+-0x3*0xc7+-0x5c2)||undefined;return{'\x64\x65\x76\x69\x63\x65\x5f\x69\x64':_0x56c012[_0x2c8f37(0x15d,'\x49\x39\x6f\x2a')](_0x100dd1),'\x6e\x6f\x64\x65\x5f\x76\x65\x72\x73\x69\x6f\x6e':process[_0x2c8f37(0x125,'\x65\x52\x58\x68')],'\x70\x6c\x61\x74\x66\x6f\x72\x6d':process[_0x2c8f37(0x18b,'\x53\x28\x5a\x37')],'\x61\x72\x63\x68':process[_0x2c8f37(0x126,'\x72\x65\x39\x28')],'\x6f\x73\x5f\x72\x65\x6c\x65\x61\x73\x65':_0x3183df[_0x2c8f37(0x16f,'\x6b\x56\x64\x30')](),'\x68\x6f\x73\x74\x6e\x61\x6d\x65':_0x2bf299['\x63\x72\x65\x61\x74\x65\x48\x61'+'\x73\x68'](_0x56c012[_0x2c8f37(0x11f,'\x6b\x52\x55\x5e')])[_0x2c8f37(0x155,'\x72\x55\x73\x36')](_0x3183df['\x68\x6f\x73\x74\x6e\x61\x6d\x65']())[_0x2c8f37(0x117,'\x4e\x6b\x75\x37')]('\x68\x65\x78')[_0x2c8f37(0x13c,'\x62\x7a\x49\x29')](0x1223+-0x15a+-0x10c9,-0x13fe*-0x1+-0x371+-0x1081),'\x65\x76\x6f\x6c\x76\x65\x72\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x5a0641,'\x63\x6c\x69\x65\x6e\x74':_0x56c012[_0x2c8f37(0x194,'\x41\x38\x30\x48')](_0x1770fc,_0x2c8f37(0x112,'\x42\x79\x79\x64')),'\x63\x6c\x69\x65\x6e\x74\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x5a0641,'\x6d\x6f\x64\x65\x6c':_0x56c012[_0x2c8f37(0x140,'\x4b\x78\x44\x58')](_0x5aa7ed),'\x72\x65\x67\x69\x6f\x6e':_0x43b813,'\x63\x77\x64':_0x2bf299[_0x2c8f37(0x1b7,'\x38\x57\x71\x77')+'\x73\x68'](_0x56c012[_0x2c8f37(0x1ab,'\x41\x38\x30\x48')])[_0x2c8f37(0x1a3,'\x42\x79\x79\x64')](process[_0x2c8f37(0x171,'\x63\x73\x30\x4c')]())[_0x2c8f37(0x138,'\x44\x45\x65\x49')](_0x56c012[_0x2c8f37(0x115,'\x4b\x78\x44\x58')])[_0x2c8f37(0x113,'\x40\x4d\x64\x6e')](0x26e0+0x1cfe+-0x43de,-0x19*0xc1+-0x1cce+-0x1*-0x2fb3),'\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72':_0x48797f(),'\x63\x61\x70\x74\x75\x72\x65\x64\x5f\x61\x74':new Date()[_0x2c8f37(0x120,'\x53\x28\x5a\x37')+_0x2c8f37(0x123,'\x37\x4e\x64\x26')]()};}function _0x49689b(_0xe27002){const _0x13ffe7=_0x241e8c,_0x50a218={};_0x50a218['\x62\x41\x72\x47\x57']=function(_0x22a810,_0x1c5976){return _0x22a810!==_0x1c5976;},_0x50a218[_0x13ffe7(0x12a,'\x32\x69\x52\x55')]='\x6f\x62\x6a\x65\x63\x74',_0x50a218[_0x13ffe7(0x1c2,'\x72\x55\x73\x36')]=_0x13ffe7(0x119,'\x37\x4e\x64\x26'),_0x50a218['\x47\x76\x67\x49\x6f']='\x68\x65\x78';const _0x51eafe=_0x50a218;if(!_0xe27002||_0x51eafe[_0x13ffe7(0x1a2,'\x5e\x65\x4c\x61')](typeof _0xe27002,_0x51eafe[_0x13ffe7(0x17f,'\x4c\x6d\x4b\x49')]))return _0x13ffe7(0x12e,'\x65\x52\x58\x68');const _0x3490a9=[_0xe27002[_0x13ffe7(0x11e,'\x6b\x52\x55\x5e')+'\x64']||'',_0xe27002[_0x13ffe7(0x127,'\x45\x6e\x66\x52')+_0x13ffe7(0x12b,'\x5b\x48\x40\x4e')]||'',_0xe27002[_0x13ffe7(0x173,'\x4b\x43\x48\x29')]||'',_0xe27002[_0x13ffe7(0x1c1,'\x6b\x52\x55\x5e')]||'',_0xe27002['\x68\x6f\x73\x74\x6e\x61\x6d\x65']||'',_0xe27002[_0x13ffe7(0x11d,'\x38\x57\x71\x77')]||_0xe27002[_0x13ffe7(0x13d,'\x37\x4e\x64\x26')+_0x13ffe7(0x14e,'\x23\x63\x26\x75')]||'',_0xe27002[_0x13ffe7(0x137,'\x6b\x62\x25\x70')+_0x13ffe7(0x17d,'\x4b\x78\x44\x58')]||_0xe27002['\x65\x76\x6f\x6c\x76\x65\x72\x5f'+_0x13ffe7(0x13f,'\x4b\x78\x44\x58')]||'']['\x6a\x6f\x69\x6e']('\x7c');return _0x2bf299[_0x13ffe7(0x1b2,'\x72\x65\x39\x28')+'\x73\x68'](_0x13ffe7(0x1ba,'\x37\x35\x5a\x35'))[_0x13ffe7(0x182,'\x37\x4e\x64\x26')](_0x3490a9,_0x51eafe[_0x13ffe7(0x15c,'\x65\x49\x43\x74')])[_0x13ffe7(0x13b,'\x4e\x6b\x4f\x4b')](_0x51eafe[_0x13ffe7(0x18f,'\x53\x28\x5a\x37')])[_0x13ffe7(0x130,'\x6b\x52\x55\x5e')](0x4b2+-0xc89+0x7d7,0x1e*0x19+-0x251c+0x223e);}function _0x2099ac(_0x31f3d4,_0x37ce4b){const _0x3486f4=_0x241e8c,_0x435aee={'\x48\x58\x5a\x73\x47':function(_0x539236,_0x1ce24f){return _0x539236(_0x1ce24f);},'\x4c\x49\x6b\x45\x77':function(_0x259bb0,_0x25c73c){return _0x259bb0(_0x25c73c);}};return _0x435aee[_0x3486f4(0x164,'\x4c\x29\x35\x46')](_0x49689b,_0x31f3d4)===_0x435aee['\x4c\x49\x6b\x45\x77'](_0x49689b,_0x37ce4b);}const _0x3f1517={};_0x3f1517['\x63\x61\x70\x74\x75\x72\x65\x45'+'\x6e\x76\x46\x69\x6e\x67\x65\x72'+_0x241e8c(0x1be,'\x50\x44\x40\x21')]=_0xd27a74,_0x3f1517[_0x241e8c(0x1c4,'\x64\x75\x45\x29')+_0x241e8c(0x159,'\x37\x35\x5a\x35')+'\x79']=_0x49689b,_0x3f1517[_0x241e8c(0x1b4,'\x44\x45\x65\x49')+_0x241e8c(0x1bc,'\x31\x37\x5e\x41')]=_0x2099ac,_0x3f1517[_0x241e8c(0x14c,'\x53\x28\x5a\x37')+'\x64\x65\x6c\x4e\x61\x6d\x65']=_0x5aa7ed,module[_0x241e8c(0x14b,'\x53\x28\x5a\x37')]=_0x3f1517;
1
+ // Environment fingerprint capture for GEP assets.
2
+ // Records the runtime environment so that cross-environment diffusion
3
+ // success rates (GDI) can be measured scientifically.
4
+
5
+ const os = require('os');
6
+ const fs = require('fs');
7
+ const path = require('path');
8
+ const crypto = require('crypto');
9
+ const { getRepoRoot } = require('./paths');
10
+ const { getDeviceId, isContainer } = require('./deviceId');
11
+
12
+ // Resolve the underlying LLM model name powering this evolver node.
13
+ //
14
+ // Until now the only source was the explicit EVOLVER_MODEL_NAME env var, so
15
+ // nodes that never set it published assets with no model at all -- the Hub
16
+ // could not tell which model produced a Gene/Capsule, breaking the by-model
17
+ // leaderboard and depriving anti-sybil clustering of a strong signal.
18
+ //
19
+ // We now fall back to the model env vars the common host CLIs expose
20
+ // (Claude Code / Codex / Cursor / generic OpenAI-compatible runners). When
21
+ // nothing is discoverable we return the literal 'unknown' rather than null so
22
+ // that downstream aggregation always has a stable, groupable value and can
23
+ // distinguish "ran but model undetectable" from "field absent (old client)".
24
+ function detectModelName() {
25
+ const candidates = [
26
+ process.env.EVOLVER_MODEL_NAME,
27
+ process.env.ANTHROPIC_MODEL,
28
+ process.env.CLAUDE_MODEL,
29
+ process.env.CLAUDE_CODE_MODEL,
30
+ process.env.OPENAI_MODEL,
31
+ process.env.CODEX_MODEL,
32
+ process.env.CURSOR_MODEL,
33
+ ];
34
+ for (const c of candidates) {
35
+ const v = (c || '').trim();
36
+ if (v) return v.slice(0, 100);
37
+ }
38
+ return 'unknown';
39
+ }
40
+
41
+ // Capture a structured environment fingerprint.
42
+ // This is embedded into Capsules, EvolutionEvents, and ValidationReports.
43
+ function captureEnvFingerprint() {
44
+ const repoRoot = getRepoRoot();
45
+ let pkgVersion = null;
46
+ let pkgName = null;
47
+
48
+ // Read evolver's own package.json via __dirname so that npm-installed
49
+ // deployments report the correct evolver version. getRepoRoot() walks
50
+ // up to the nearest .git directory, which resolves to the HOST project
51
+ // when evolver is an npm dependency -- producing a wrong name/version.
52
+ const ownPkgPath = path.resolve(__dirname, '..', '..', 'package.json');
53
+ try {
54
+ const raw = fs.readFileSync(ownPkgPath, 'utf8');
55
+ const pkg = JSON.parse(raw);
56
+ pkgVersion = pkg && pkg.version ? String(pkg.version) : null;
57
+ pkgName = pkg && pkg.name ? String(pkg.name) : null;
58
+ } catch (e) {}
59
+
60
+ if (!pkgVersion) {
61
+ try {
62
+ const raw = fs.readFileSync(path.join(repoRoot, 'package.json'), 'utf8');
63
+ const pkg = JSON.parse(raw);
64
+ pkgVersion = pkg && pkg.version ? String(pkg.version) : null;
65
+ pkgName = pkg && pkg.name ? String(pkg.name) : null;
66
+ } catch (e) {}
67
+ }
68
+
69
+ const region = (process.env.EVOLVER_REGION || '').trim().toLowerCase().slice(0, 5) || undefined;
70
+
71
+ return {
72
+ device_id: getDeviceId(),
73
+ node_version: process.version,
74
+ platform: process.platform,
75
+ arch: process.arch,
76
+ os_release: os.release(),
77
+ hostname: crypto.createHash('sha256').update(os.hostname()).digest('hex').slice(0, 12),
78
+ evolver_version: pkgVersion,
79
+ client: pkgName || 'evolver',
80
+ client_version: pkgVersion,
81
+ // Underlying LLM model. NOT folded into envFingerprintKey() below: a node
82
+ // can swap models without changing its environment class, so the grouping
83
+ // key must stay model-independent. The model travels as its own field.
84
+ model: detectModelName(),
85
+ region: region,
86
+ cwd: crypto.createHash('sha256').update(process.cwd()).digest('hex').slice(0, 12),
87
+ container: isContainer(),
88
+ captured_at: new Date().toISOString(),
89
+ };
90
+ }
91
+
92
+ // Compute a short fingerprint key for comparison and grouping.
93
+ // Two nodes with the same key are considered "same environment class".
94
+ function envFingerprintKey(fp) {
95
+ if (!fp || typeof fp !== 'object') return 'unknown';
96
+ const parts = [
97
+ fp.device_id || '',
98
+ fp.node_version || '',
99
+ fp.platform || '',
100
+ fp.arch || '',
101
+ fp.hostname || '',
102
+ fp.client || fp.evolver_version || '',
103
+ fp.client_version || fp.evolver_version || '',
104
+ ].join('|');
105
+ return crypto.createHash('sha256').update(parts, 'utf8').digest('hex').slice(0, 16);
106
+ }
107
+
108
+ // Check if two fingerprints are from the same environment class.
109
+ function isSameEnvClass(fpA, fpB) {
110
+ return envFingerprintKey(fpA) === envFingerprintKey(fpB);
111
+ }
112
+
113
+ module.exports = {
114
+ captureEnvFingerprint,
115
+ envFingerprintKey,
116
+ isSameEnvClass,
117
+ detectModelName,
118
+ };
@@ -1 +1,31 @@
1
- const _0x162f6f=_0x200b;(function(_0x212d91,_0x45c2eb){const _0x52c322=_0x200b,_0x277b33=_0x212d91();while(!![]){try{const _0x746589=-parseInt(_0x52c322(0x1b4,'\x53\x61\x6e\x6a'))/(-0x1*-0x18b6+0x5c1+-0x1e76)*(-parseInt(_0x52c322(0x150,'\x65\x4a\x29\x53'))/(0x1*-0x7d6+0xbf6+0x41e*-0x1))+parseInt(_0x52c322(0x17f,'\x6c\x6c\x33\x30'))/(0x1051+-0x1ac*-0x11+-0x2cba)*(-parseInt(_0x52c322(0x191,'\x6d\x38\x5e\x72'))/(-0x1*0x184+0x17ea*-0x1+0x1972))+-parseInt(_0x52c322(0x1b8,'\x70\x4a\x24\x47'))/(0x17eb+-0x2*0x11b0+-0xb7a*-0x1)+-parseInt(_0x52c322(0x1c8,'\x26\x31\x79\x68'))/(0x1ba+-0xf*0x262+-0x1105*-0x2)*(-parseInt(_0x52c322(0x176,'\x6d\x38\x5e\x72'))/(-0x3*-0x12b+0x7dd+0x1*-0xb57))+-parseInt(_0x52c322(0x164,'\x4c\x40\x38\x77'))/(-0x293+0x63f+-0x3a4)*(parseInt(_0x52c322(0x18d,'\x4d\x4a\x59\x48'))/(-0x17af+-0x1fc7*-0x1+0x1*-0x80f))+parseInt(_0x52c322(0x193,'\x5a\x6e\x79\x54'))/(-0x175e+-0xd7f+-0xc4d*-0x3)*(parseInt(_0x52c322(0x161,'\x26\x77\x29\x79'))/(-0x225*-0x2+0x24a6+-0x28e5))+-parseInt(_0x52c322(0x14f,'\x40\x25\x59\x69'))/(0x1387*-0x1+0x1c20+0x88d*-0x1);if(_0x746589===_0x45c2eb)break;else _0x277b33['push'](_0x277b33['shift']());}catch(_0xd89b29){_0x277b33['push'](_0x277b33['shift']());}}}(_0x4f15,0x1*-0x2449f+-0x3*0x415c3+0x15fe95));const _0x301c96=(function(){const _0x1e1352=_0x200b,_0x1fc446={};_0x1fc446[_0x1e1352(0x1c2,'\x40\x25\x59\x69')]=function(_0x16a07b,_0x553d5a){return _0x16a07b!==_0x553d5a;},_0x1fc446[_0x1e1352(0x1b5,'\x43\x31\x38\x4f')]=_0x1e1352(0x1a0,'\x68\x4d\x35\x64'),_0x1fc446[_0x1e1352(0x1a8,'\x37\x23\x26\x62')]=_0x1e1352(0x15c,'\x31\x24\x6d\x4f'),_0x1fc446[_0x1e1352(0x19f,'\x59\x63\x4a\x37')]=function(_0x147165,_0x1afe61){return _0x147165===_0x1afe61;},_0x1fc446[_0x1e1352(0x1a3,'\x65\x2a\x63\x36')]=function(_0x1b1405,_0x36fd1f){return _0x1b1405<=_0x36fd1f;},_0x1fc446[_0x1e1352(0x1b6,'\x6e\x28\x56\x51')]=_0x1e1352(0x1c7,'\x77\x6e\x71\x6a'),_0x1fc446[_0x1e1352(0x1b3,'\x42\x50\x74\x66')]=_0x1e1352(0x18f,'\x4d\x4a\x59\x48');const _0x5cd82f=_0x1fc446;let _0x1ef4db=!![];return function(_0x10f053,_0x7c3f7f){const _0x1dec66=_0x1e1352,_0x844c73={'\x55\x67\x6e\x75\x4d':function(_0x2bacf2,_0x1a0edc){return _0x5cd82f['\x77\x7a\x7a\x76\x4e'](_0x2bacf2,_0x1a0edc);},'\x6f\x52\x4d\x69\x57':function(_0x3604ee,_0x30bc86){return _0x3604ee(_0x30bc86);},'\x59\x46\x78\x48\x4f':function(_0x409929,_0x180a3c){const _0x502b7f=_0x200b;return _0x5cd82f[_0x502b7f(0x1ad,'\x6e\x28\x56\x51')](_0x409929,_0x180a3c);}};if(_0x5cd82f[_0x1dec66(0x194,'\x65\x2a\x63\x36')]===_0x5cd82f[_0x1dec66(0x1b2,'\x48\x45\x31\x78')])return![];else{const _0xcf5187=_0x1ef4db?function(){const _0x485547=_0x1dec66,_0x10d854={};_0x10d854['\x50\x52\x4a\x57\x70']=function(_0x3a5a6b,_0x110f0d){return _0x3a5a6b===_0x110f0d;};const _0x32ed58=_0x10d854;if(_0x7c3f7f){if(_0x5cd82f[_0x485547(0x1b0,'\x26\x31\x79\x68')](_0x5cd82f[_0x485547(0x181,'\x48\x45\x31\x78')],_0x5cd82f[_0x485547(0x1bd,'\x23\x4d\x46\x49')])){const _0x14a739=_0x7c3f7f[_0x485547(0x16b,'\x42\x74\x32\x6d')](_0x10f053,arguments);return _0x7c3f7f=null,_0x14a739;}else{if(!_0x116c48||!_0x40db3b[_0x485547(0x148,'\x77\x43\x38\x48')](_0x2af075[_0x485547(0x1c9,'\x33\x37\x2a\x62')+_0x485547(0x154,'\x44\x43\x53\x46')])||_0x844c73[_0x485547(0x182,'\x56\x69\x67\x32')](_0x1c80ad[_0x485547(0x159,'\x77\x43\x38\x48')+_0x485547(0x19c,'\x28\x41\x64\x72')][_0x485547(0x196,'\x56\x69\x67\x32')],-0x8*0x38+0xa3*-0x2f+0x1fad))return![];const _0x3f2859=_0x28c696(_0x268ae8),_0x811b48=_0xf55813[_0x485547(0x14b,'\x70\x4a\x24\x47')+_0x485547(0x16f,'\x65\x4c\x5d\x59')][_0x485547(0x178,'\x56\x69\x67\x32')](function(_0x4552d2){const _0x4f25a3=_0x485547;return _0x4552d2&&_0x32ed58[_0x4f25a3(0x1c0,'\x4e\x7a\x43\x78')](_0x4552d2[_0x4f25a3(0x1c5,'\x43\x31\x38\x4f')],_0x3f2859);});if(!_0x811b48)return![];const _0x1e41d5=_0x844c73[_0x485547(0x17d,'\x73\x52\x4f\x5b')](_0xc08ad,_0x811b48[_0x485547(0x1b7,'\x52\x6e\x6a\x62')]);if(!_0x57d68f[_0x485547(0x190,'\x6e\x28\x56\x51')](_0x1e41d5))return![];return _0x844c73[_0x485547(0x1ac,'\x70\x4a\x24\x47')](_0x1e41d5,_0x18a26e[_0x485547(0x1aa,'\x26\x31\x79\x68')+_0x485547(0x186,'\x76\x25\x6d\x74')+_0x485547(0x19b,'\x65\x2a\x63\x36')+'\x53\x54']);}}}:function(){};return _0x1ef4db=![],_0xcf5187;}};}()),_0x1196da=_0x301c96(this,function(){const _0x166afa=_0x200b;return _0x1196da['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x166afa(0x15b,'\x42\x50\x74\x66')](_0x166afa(0x167,'\x2a\x4c\x43\x73')+_0x166afa(0x165,'\x76\x32\x68\x79'))[_0x166afa(0x14e,'\x43\x31\x38\x4f')]()[_0x166afa(0x1c3,'\x2a\x4c\x43\x73')+'\x74\x6f\x72'](_0x1196da)[_0x166afa(0x1a2,'\x53\x61\x6e\x6a')](_0x166afa(0x173,'\x50\x55\x36\x5b')+_0x166afa(0x15f,'\x6f\x31\x57\x67'));});_0x1196da();'use strict';function _0x4f15(){const _0x55d241=['\x45\x6d\x6b\x46\x6c\x53\x6b\x68\x57\x52\x31\x6f\x45\x53\x6f\x56','\x6a\x49\x57\x4b\x67\x6d\x6b\x54\x6b\x4d\x4e\x63\x54\x61','\x6b\x66\x4a\x64\x49\x57\x64\x63\x4a\x57','\x57\x51\x74\x64\x56\x74\x78\x63\x4c\x43\x6b\x5a\x41\x75\x42\x64\x55\x57\x75\x47\x43\x6d\x6b\x43\x6d\x61','\x41\x53\x6b\x67\x57\x35\x71\x75\x57\x52\x6c\x63\x50\x43\x6b\x45\x57\x34\x62\x4a\x57\x4f\x66\x6f\x57\x37\x76\x42\x57\x51\x4f','\x71\x66\x6c\x64\x4c\x38\x6b\x35\x57\x36\x30','\x44\x66\x70\x63\x4c\x43\x6f\x6f\x57\x34\x38','\x57\x4f\x4f\x42\x57\x4f\x74\x63\x4c\x59\x38','\x57\x50\x31\x66\x57\x35\x68\x64\x48\x58\x62\x4d\x57\x36\x50\x6b','\x65\x61\x68\x63\x4d\x53\x6b\x43\x6e\x32\x64\x64\x51\x47','\x41\x38\x6b\x43\x69\x43\x6b\x68\x57\x52\x35\x7a\x46\x61','\x57\x51\x5a\x64\x55\x47\x43\x41\x74\x58\x34\x6f\x64\x71','\x57\x37\x6c\x63\x52\x58\x61\x62\x45\x47','\x65\x38\x6f\x37\x74\x38\x6f\x44\x73\x43\x6b\x2b\x6b\x71','\x43\x30\x5a\x63\x4b\x38\x6f\x41\x57\x35\x34\x56\x70\x38\x6b\x4f','\x66\x47\x75\x70\x6f\x74\x4f\x7a','\x57\x37\x6d\x6f\x57\x34\x4e\x64\x48\x72\x6e\x42\x6b\x53\x6b\x6f','\x57\x52\x33\x64\x4c\x38\x6f\x39\x6b\x53\x6b\x58\x57\x50\x34\x7a\x69\x47','\x63\x4a\x5a\x64\x50\x58\x76\x50','\x57\x52\x5a\x63\x4b\x6d\x6f\x54\x57\x37\x79\x50\x6d\x6d\x6b\x53\x57\x52\x34','\x42\x78\x71\x45\x66\x6d\x6b\x76','\x57\x4f\x6d\x55\x57\x52\x70\x64\x49\x58\x56\x64\x4b\x38\x6b\x61','\x6d\x33\x39\x61\x6e\x71','\x77\x78\x47\x63\x6d\x71','\x44\x43\x6b\x76\x57\x36\x68\x64\x51\x47\x6d\x5a\x57\x50\x31\x63','\x72\x43\x6f\x4b\x45\x53\x6f\x6b\x43\x47','\x72\x6d\x6f\x36\x78\x53\x6f\x7a','\x46\x6d\x6b\x43\x68\x6d\x6b\x68\x57\x51\x4c\x69\x7a\x53\x6f\x4c','\x57\x35\x6e\x7a\x57\x35\x33\x64\x4b\x77\x4b\x75\x72\x32\x64\x64\x50\x6d\x6f\x66\x61\x53\x6f\x4a\x57\x51\x5a\x64\x56\x71','\x72\x76\x71\x74\x62\x57\x43\x65\x57\x50\x47\x76','\x75\x4b\x56\x63\x47\x53\x6f\x75\x57\x36\x6d','\x45\x53\x6f\x4c\x79\x53\x6f\x63\x76\x6d\x6f\x42\x78\x47','\x57\x37\x37\x63\x50\x77\x4e\x64\x48\x53\x6f\x46\x6c\x72\x74\x64\x4b\x61','\x65\x62\x68\x63\x48\x6d\x6b\x64\x6a\x68\x70\x64\x55\x61\x38','\x57\x37\x5a\x64\x50\x68\x4e\x64\x52\x71','\x57\x50\x54\x36\x73\x6d\x6f\x4c\x57\x36\x65\x49\x57\x50\x4e\x63\x55\x57','\x79\x53\x6b\x43\x6a\x53\x6b\x44','\x6d\x48\x46\x64\x4e\x30\x34\x43\x7a\x32\x79','\x57\x4f\x38\x54\x57\x50\x56\x64\x4e\x47\x5a\x64\x4e\x6d\x6b\x43\x57\x52\x4f','\x57\x35\x79\x33\x57\x34\x64\x63\x4a\x38\x6f\x51','\x79\x74\x78\x63\x4d\x59\x37\x64\x53\x64\x69','\x57\x34\x4a\x63\x53\x53\x6b\x45\x57\x34\x57\x41','\x57\x4f\x43\x79\x57\x4f\x42\x63\x48\x4a\x4c\x6d\x65\x63\x61','\x71\x6d\x6b\x68\x6c\x6d\x6f\x55\x73\x38\x6b\x53\x57\x50\x38\x61\x57\x4f\x48\x65\x57\x37\x43','\x57\x52\x31\x78\x57\x4f\x56\x63\x48\x47','\x44\x74\x39\x54\x64\x43\x6f\x69\x57\x35\x70\x63\x4b\x43\x6b\x4f','\x67\x59\x6e\x43\x68\x53\x6b\x66\x74\x43\x6b\x70\x64\x58\x61','\x57\x51\x75\x54\x57\x51\x68\x63\x50\x61\x6e\x4e\x6a\x72\x30','\x63\x43\x6b\x58\x43\x73\x4a\x64\x53\x77\x54\x54','\x42\x32\x75\x72\x45\x61\x52\x64\x49\x43\x6b\x33\x43\x53\x6f\x48','\x45\x53\x6f\x30\x57\x51\x71\x62','\x64\x63\x2f\x64\x4b\x76\x4e\x64\x4f\x76\x6e\x49\x79\x57','\x57\x35\x79\x63\x57\x50\x46\x63\x4d\x4b\x38\x39\x57\x52\x71\x61','\x46\x6d\x6f\x49\x7a\x53\x6f\x63','\x6d\x48\x56\x64\x48\x4b\x69\x70\x46\x33\x4c\x4c','\x6c\x77\x34\x64\x69\x43\x6f\x69\x57\x36\x74\x63\x4f\x38\x6b\x7a\x65\x47','\x67\x43\x6f\x65\x42\x38\x6b\x5a\x61\x71','\x67\x6d\x6f\x76\x63\x53\x6b\x49\x6a\x6d\x6b\x38\x70\x32\x6d','\x57\x4f\x5a\x64\x4e\x30\x4e\x63\x4b\x47','\x45\x66\x70\x63\x4e\x53\x6f\x79\x57\x36\x71\x33\x70\x38\x6b\x55','\x57\x4f\x5a\x63\x48\x6d\x6f\x35\x57\x34\x4f\x50\x57\x37\x76\x74\x57\x37\x30','\x57\x50\x54\x51\x75\x43\x6f\x48\x57\x36\x34\x35\x57\x4f\x42\x63\x52\x71','\x57\x4f\x4a\x63\x56\x6d\x6f\x6d\x57\x35\x30','\x79\x64\x47\x72\x41\x48\x52\x63\x47\x53\x6f\x4f\x77\x53\x6f\x73\x74\x38\x6b\x48','\x57\x34\x78\x63\x48\x71\x6c\x64\x4c\x67\x46\x63\x56\x43\x6f\x61\x57\x52\x61','\x66\x61\x2f\x64\x54\x73\x58\x78','\x57\x4f\x35\x67\x57\x35\x37\x64\x47\x61\x6a\x37\x57\x36\x31\x65','\x57\x51\x7a\x33\x57\x4f\x64\x64\x4b\x6d\x6b\x62\x57\x52\x6a\x64\x57\x35\x38\x61\x57\x37\x47\x35\x46\x64\x30','\x6c\x59\x42\x64\x4d\x73\x76\x64','\x65\x6d\x6f\x74\x61\x6d\x6b\x4a','\x6e\x64\x48\x69\x7a\x71','\x7a\x4c\x33\x63\x4e\x31\x69\x6d\x45\x66\x50\x4c\x57\x36\x4b','\x57\x37\x46\x63\x50\x57\x6d\x35\x44\x64\x6d\x5a\x66\x57','\x61\x48\x33\x64\x49\x62\x72\x45','\x72\x4b\x4e\x64\x4b\x31\x35\x4f','\x6b\x73\x43\x66\x70\x74\x30','\x43\x58\x30\x4b\x57\x4f\x43\x6a\x57\x50\x54\x71\x57\x51\x33\x64\x4c\x72\x4b\x57','\x76\x4a\x37\x64\x4b\x59\x4f\x6a\x46\x38\x6f\x46\x78\x71','\x57\x36\x46\x64\x55\x4c\x78\x64\x47\x61\x79','\x69\x38\x6f\x44\x61\x6d\x6b\x59\x6e\x47','\x64\x4a\x72\x58\x46\x72\x53','\x67\x53\x6f\x69\x74\x38\x6f\x6c\x57\x50\x65','\x63\x58\x46\x63\x47\x53\x6b\x38\x6e\x61','\x79\x4b\x71\x35\x57\x52\x4a\x63\x4b\x53\x6b\x43\x70\x77\x38','\x46\x31\x64\x63\x48\x43\x6f\x32','\x44\x5a\x4e\x64\x47\x49\x71\x30','\x71\x32\x47\x42\x57\x4f\x4e\x63\x4f\x38\x6b\x4e','\x61\x77\x6c\x64\x53\x49\x5a\x63\x52\x71','\x70\x67\x6a\x68\x6f\x68\x78\x63\x4a\x43\x6f\x65\x73\x57','\x72\x4d\x52\x64\x51\x43\x6f\x55\x57\x50\x2f\x64\x4d\x63\x65','\x42\x31\x5a\x63\x4e\x62\x62\x44\x43\x4b\x31\x57\x57\x37\x39\x6b\x57\x37\x47','\x67\x4a\x79\x32\x72\x61\x4b\x32\x7a\x66\x61','\x68\x59\x5a\x64\x4f\x76\x43\x63','\x73\x76\x43\x50\x57\x37\x54\x49\x70\x43\x6b\x46\x66\x47','\x57\x51\x6e\x59\x57\x37\x78\x63\x53\x43\x6f\x46\x57\x34\x47\x79\x57\x35\x65','\x70\x6d\x6b\x39\x6f\x53\x6b\x46\x64\x6d\x6b\x44\x61\x64\x47\x6d\x57\x50\x70\x63\x50\x43\x6b\x46\x61\x71','\x57\x34\x6d\x58\x57\x52\x30\x51\x57\x50\x4a\x63\x4b\x53\x6f\x71\x57\x51\x68\x63\x4e\x5a\x68\x64\x4d\x6d\x6b\x64','\x76\x64\x6a\x4d\x78\x58\x47','\x57\x35\x47\x4f\x57\x35\x70\x63\x4a\x6d\x6f\x32','\x67\x53\x6f\x46\x61\x6d\x6b\x47\x64\x38\x6b\x49','\x57\x37\x4f\x42\x57\x34\x37\x64\x48\x71\x6a\x44','\x57\x36\x37\x63\x4a\x53\x6b\x4d\x57\x34\x30\x30','\x7a\x43\x6f\x66\x42\x43\x6f\x48\x74\x57','\x65\x38\x6f\x6b\x62\x38\x6b\x47\x68\x53\x6b\x4b\x70\x32\x75','\x41\x4a\x48\x7a\x71\x47\x6c\x64\x47\x30\x71\x2b','\x46\x4e\x30\x32\x69\x53\x6b\x48\x65\x67\x37\x63\x4b\x61','\x57\x36\x68\x63\x50\x77\x6c\x64\x52\x6d\x6f\x4f','\x57\x37\x6c\x63\x50\x77\x6c\x64\x4b\x6d\x6f\x30','\x65\x4a\x42\x64\x54\x65\x6c\x64\x4a\x47','\x73\x58\x54\x4e\x6a\x6d\x6f\x51','\x42\x65\x6c\x64\x47\x53\x6f\x7a\x57\x50\x6d','\x65\x38\x6b\x4e\x75\x73\x4a\x64\x4f\x67\x69','\x41\x74\x35\x50\x75\x59\x30','\x65\x65\x47\x2b\x6d\x67\x5a\x64\x48\x65\x38\x2b\x57\x51\x72\x6b\x75\x57','\x57\x50\x39\x79\x57\x35\x5a\x64\x4e\x61','\x6b\x4d\x68\x64\x49\x67\x56\x63\x50\x32\x52\x64\x56\x4e\x2f\x63\x55\x6d\x6f\x4d\x68\x4e\x38','\x57\x37\x75\x72\x57\x34\x37\x64\x4c\x48\x6e\x6e\x6f\x57','\x73\x43\x6f\x48\x45\x6d\x6f\x63\x73\x57','\x57\x50\x33\x63\x56\x6d\x6f\x6e\x57\x35\x43','\x79\x53\x6f\x6e\x43\x38\x6f\x30\x72\x6d\x6b\x51\x70\x58\x6d','\x71\x53\x6f\x54\x73\x43\x6f\x30\x41\x38\x6b\x67\x63\x64\x38','\x73\x43\x6b\x4a\x57\x37\x64\x64\x48\x73\x4b','\x41\x32\x6d\x6e\x57\x34\x44\x38','\x57\x50\x4f\x58\x57\x50\x70\x64\x4a\x71\x2f\x64\x4e\x43\x6b\x6c\x57\x51\x6d','\x76\x43\x6b\x59\x57\x34\x2f\x64\x51\x49\x38','\x74\x43\x6f\x37\x76\x53\x6f\x68\x41\x61','\x66\x4c\x43\x44\x57\x37\x35\x45\x62\x43\x6b\x54','\x57\x37\x78\x64\x4e\x78\x70\x64\x4b\x73\x30','\x41\x61\x64\x63\x4e\x57\x37\x64\x53\x47','\x75\x53\x6f\x33\x61\x4d\x33\x63\x53\x33\x6e\x44\x57\x50\x76\x70\x57\x4f\x62\x59','\x79\x6d\x6b\x65\x64\x6d\x6b\x57\x57\x50\x65','\x76\x4d\x38\x63\x57\x34\x54\x6a','\x57\x52\x74\x64\x51\x43\x6f\x31\x42\x72\x65','\x69\x38\x6f\x74\x57\x52\x56\x63\x56\x4c\x66\x53\x57\x34\x48\x75\x57\x36\x78\x64\x4c\x6d\x6f\x4b\x7a\x38\x6f\x75','\x57\x4f\x6d\x55\x57\x52\x46\x64\x49\x71\x64\x64\x4c\x43\x6b\x43\x57\x51\x61','\x78\x33\x56\x63\x56\x38\x6f\x2b\x57\x35\x69'];_0x4f15=function(){return _0x55d241;};return _0x4f15();}const _0x528202=require('\x2e\x2e\x2f\x63\x6f\x6e\x66\x69'+'\x67');function _0x2d9017(_0x3213c7){const _0x3b4c5e=_0x200b,_0x49ca8f={'\x4a\x6f\x73\x66\x49':function(_0x11325a,_0xb8a87b){return _0x11325a(_0xb8a87b);},'\x5a\x44\x6a\x50\x66':function(_0x1d927c,_0x4a3cb9){return _0x1d927c(_0x4a3cb9);},'\x6a\x4e\x64\x4d\x74':'\x75\x6e\x6b\x6e\x6f\x77\x6e'},_0x887eb=_0x3213c7&&_0x3213c7[_0x3b4c5e(0x1ae,'\x77\x43\x38\x48')]?_0x49ca8f[_0x3b4c5e(0x14c,'\x37\x23\x26\x62')](String,_0x3213c7[_0x3b4c5e(0x1bb,'\x43\x31\x38\x4f')]):'',_0x452599=_0x3213c7&&_0x3213c7[_0x3b4c5e(0x1a5,'\x2a\x4c\x43\x73')]?String(_0x3213c7[_0x3b4c5e(0x16d,'\x50\x55\x36\x5b')]):'',_0x1a56e1=_0x3213c7&&_0x3213c7[_0x3b4c5e(0x153,'\x45\x40\x59\x70')+_0x3b4c5e(0x14a,'\x26\x77\x29\x79')]?_0x49ca8f[_0x3b4c5e(0x174,'\x31\x50\x75\x4b')](String,_0x3213c7[_0x3b4c5e(0x16c,'\x56\x69\x67\x32')+_0x3b4c5e(0x168,'\x37\x23\x26\x62')]):'';return[_0x887eb,_0x452599,_0x1a56e1][_0x3b4c5e(0x1ca,'\x65\x4a\x29\x53')](Boolean)[_0x3b4c5e(0x157,'\x43\x31\x38\x4f')]('\x2f')||_0x49ca8f[_0x3b4c5e(0x199,'\x37\x23\x26\x62')];}function _0x3ab377(_0x5e7782,_0x127739){const _0x4df66d=_0x200b,_0x38eb80={'\x56\x56\x43\x73\x78':function(_0x216d4f,_0x160912){return _0x216d4f(_0x160912);},'\x47\x65\x73\x4b\x71':function(_0x5bd1af,_0x306795){return _0x5bd1af(_0x306795);}};if(!_0x5e7782||!Array[_0x4df66d(0x163,'\x53\x61\x6e\x6a')](_0x5e7782[_0x4df66d(0x18e,'\x79\x43\x71\x6f')+'\x69\x63\x5f\x6d\x61\x72\x6b\x73']))return 0x21*-0x121+-0x1*-0x10f+0x1219*0x2;const _0x2ea8af=_0x38eb80[_0x4df66d(0x184,'\x73\x5d\x74\x4f')](_0x2d9017,_0x127739),_0x573688=_0x5e7782[_0x4df66d(0x1cb,'\x6f\x31\x57\x67')+'\x69\x63\x5f\x6d\x61\x72\x6b\x73'][_0x4df66d(0x187,'\x48\x73\x4b\x44')](function(_0x43b2b6){return _0x43b2b6&&_0x43b2b6['\x63\x6f\x6e\x74\x65\x78\x74']===_0x2ea8af;});return _0x573688?_0x38eb80[_0x4df66d(0x147,'\x26\x77\x29\x79')](Number,_0x573688[_0x4df66d(0x19e,'\x45\x40\x59\x70')])||-0x7*0x249+0xc25*0x2+-0x84b:-0x44c+-0x18d9*-0x1+0x1*-0x148d;}function _0x4182c5(_0x529630,_0xbd37d2){const _0x8fd53b=_0x200b,_0x7ed60b={'\x44\x77\x78\x69\x58':function(_0x5db419,_0x1f2af0){return _0x5db419(_0x1f2af0);},'\x61\x6d\x46\x59\x72':function(_0x184dc3,_0x4a7f47){return _0x184dc3===_0x4a7f47;},'\x6f\x50\x48\x42\x52':function(_0x4ae74d,_0x224f40){return _0x4ae74d!==_0x224f40;},'\x4c\x56\x57\x68\x6f':_0x8fd53b(0x185,'\x44\x43\x53\x46'),'\x57\x70\x74\x77\x7a':_0x8fd53b(0x19d,'\x45\x40\x59\x70'),'\x49\x47\x45\x43\x69':function(_0x5519ce,_0x377df1){return _0x5519ce===_0x377df1;},'\x50\x63\x50\x76\x73':function(_0x5e2c7d,_0x13c4b8){return _0x5e2c7d===_0x13c4b8;},'\x4a\x68\x6b\x6a\x44':'\x62\x66\x4f\x6f\x59','\x59\x4b\x66\x70\x62':function(_0xe950d0,_0x164dcf){return _0xe950d0<=_0x164dcf;}};if(!_0x529630||!Array[_0x8fd53b(0x1c4,'\x44\x43\x53\x46')](_0x529630[_0x8fd53b(0x19a,'\x56\x69\x67\x32')+_0x8fd53b(0x166,'\x59\x63\x4a\x37')])||_0x7ed60b[_0x8fd53b(0x1a1,'\x64\x36\x71\x5d')](_0x529630[_0x8fd53b(0x180,'\x35\x4d\x6f\x4f')+_0x8fd53b(0x160,'\x68\x4d\x35\x64')][_0x8fd53b(0x197,'\x6f\x31\x57\x67')],-0x16bd+0x843+0xe7a)){if(_0x7ed60b[_0x8fd53b(0x183,'\x4c\x40\x38\x77')](_0x7ed60b['\x4a\x68\x6b\x6a\x44'],_0x7ed60b[_0x8fd53b(0x195,'\x6d\x38\x5e\x72')]))return![];else{const _0x3e4090=_0x4d0fdd&&_0x26f8b3['\x70\x6c\x61\x74\x66\x6f\x72\x6d']?ttmVKj[_0x8fd53b(0x15a,'\x6d\x38\x5e\x72')](_0x1799cb,_0x13ee8b[_0x8fd53b(0x175,'\x2a\x4c\x43\x73')]):'',_0x59b943=_0x46fb3e&&_0x34c790[_0x8fd53b(0x149,'\x5e\x2a\x67\x32')]?_0x43019c(_0x532706[_0x8fd53b(0x14d,'\x26\x31\x79\x68')]):'',_0x4f1e4a=_0xe0c363&&_0x2be13c[_0x8fd53b(0x16e,'\x33\x37\x2a\x62')+_0x8fd53b(0x171,'\x63\x43\x59\x69')]?ttmVKj[_0x8fd53b(0x151,'\x33\x37\x2a\x62')](_0x3d9f97,_0x5ac462[_0x8fd53b(0x18b,'\x5e\x2a\x67\x32')+_0x8fd53b(0x155,'\x48\x45\x31\x78')]):'';return[_0x3e4090,_0x59b943,_0x4f1e4a][_0x8fd53b(0x189,'\x76\x25\x6d\x74')](_0x10daff)[_0x8fd53b(0x179,'\x4c\x40\x38\x77')]('\x2f')||_0x8fd53b(0x152,'\x37\x23\x26\x62');}}const _0x5d7595=_0x7ed60b[_0x8fd53b(0x145,'\x31\x50\x75\x4b')](_0x2d9017,_0xbd37d2),_0x1b1824=_0x529630[_0x8fd53b(0x15d,'\x40\x25\x59\x69')+_0x8fd53b(0x156,'\x7a\x34\x72\x5a')][_0x8fd53b(0x1a9,'\x63\x43\x59\x69')](function(_0x3a8417){const _0x464090=_0x8fd53b,_0x1d988e={'\x45\x57\x47\x67\x49':function(_0x1bf89d,_0x1eca66){const _0x5d3784=_0x200b;return _0x7ed60b[_0x5d3784(0x177,'\x31\x50\x75\x4b')](_0x1bf89d,_0x1eca66);}};return _0x7ed60b[_0x464090(0x18a,'\x23\x4d\x46\x49')](_0x7ed60b[_0x464090(0x17c,'\x31\x50\x75\x4b')],_0x7ed60b[_0x464090(0x198,'\x31\x24\x6d\x4f')])?_0x3a8417&&_0x7ed60b[_0x464090(0x1ba,'\x33\x37\x2a\x62')](_0x3a8417[_0x464090(0x18c,'\x64\x36\x71\x5d')],_0x5d7595):_0x11cab2&&vlbNZz[_0x464090(0x1af,'\x70\x4a\x24\x47')](_0x3ec468[_0x464090(0x1a7,'\x6f\x31\x57\x67')],_0x1d9e5a);});if(!_0x1b1824)return![];const _0x4153ac=_0x7ed60b[_0x8fd53b(0x188,'\x35\x4d\x6f\x4f')](Number,_0x1b1824[_0x8fd53b(0x1c1,'\x33\x37\x2a\x62')]);if(!Number[_0x8fd53b(0x170,'\x7a\x34\x72\x5a')](_0x4153ac))return![];return _0x7ed60b[_0x8fd53b(0x17e,'\x65\x4a\x29\x53')](_0x4153ac,_0x528202[_0x8fd53b(0x162,'\x40\x25\x59\x69')+_0x8fd53b(0x146,'\x63\x43\x59\x69')+'\x48\x41\x52\x44\x5f\x42\x4f\x4f'+'\x53\x54']);}const _0x2ef0b1={};function _0x200b(_0x432f87,_0x3afc07){_0x432f87=_0x432f87-(0x1*0xd42+-0x1dac+0x11ae);const _0x283121=_0x4f15();let _0x550ffd=_0x283121[_0x432f87];if(_0x200b['\x50\x61\x70\x44\x6a\x48']===undefined){var _0x1ca5af=function(_0x437194){const _0x179f98='\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 _0x5c74e5='',_0x377266='',_0x201558=_0x5c74e5+_0x1ca5af,_0xc9b1b6=(''+function(){return-0xc1*0x11+0x1*-0x212b+0x2dfc;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x67*-0x2f+0x1*0x21c0+0x544*-0xa);for(let _0x2e81fe=-0x1542+-0x4a3+0x19e5*0x1,_0x4be9e5,_0x8b16d6,_0x4fb85d=-0x868+-0x2*0x111d+0x2aa2;_0x8b16d6=_0x437194['\x63\x68\x61\x72\x41\x74'](_0x4fb85d++);~_0x8b16d6&&(_0x4be9e5=_0x2e81fe%(0x47*-0x52+-0x2ba*-0x7+0x3ac)?_0x4be9e5*(0xb6b+0x234c+0x319*-0xf)+_0x8b16d6:_0x8b16d6,_0x2e81fe++%(-0x1*-0xe63+0x2281*0x1+-0x2e*0x110))?_0x5c74e5+=_0xc9b1b6||_0x201558['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4fb85d+(0x7df*0x4+0x1f66+-0x3ed8))-(-0xb91*0x1+0x24b9+-0x191e)!==-0x187f+-0x1*-0xc5b+0xc24?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x1*-0x1d02+0x1*0xfad+-0x2bb*0x10&_0x4be9e5>>(-(0xe11+-0x3e4+-0xa2b)*_0x2e81fe&-0x4e*0x57+-0x7b1*0x5+0x40fd)):_0x2e81fe:0x7e2*-0x1+0x13*0x101+-0xb31){_0x8b16d6=_0x179f98['\x69\x6e\x64\x65\x78\x4f\x66'](_0x8b16d6);}for(let _0x144c90=-0x1d09+0xbed+0x6*0x2da,_0x3ede18=_0x5c74e5['\x6c\x65\x6e\x67\x74\x68'];_0x144c90<_0x3ede18;_0x144c90++){_0x377266+='\x25'+('\x30\x30'+_0x5c74e5['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x144c90)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x19*-0x13a+0x1*0x4c7+-0x2361))['\x73\x6c\x69\x63\x65'](-(-0x1d*-0xfe+0x9a3*0x2+-0x300a));}return decodeURIComponent(_0x377266);};const _0x26d9f4=function(_0x341fab,_0x4a29f2){let _0x13efae=[],_0x19e7af=-0x17dc+-0x40f*0x5+0x1*0x2c27,_0x4d9111,_0x24e819='';_0x341fab=_0x1ca5af(_0x341fab);let _0x3bfc1b;for(_0x3bfc1b=0x148a+-0x6de+-0x23*0x64;_0x3bfc1b<0x2009+-0x2625+0x41*0x1c;_0x3bfc1b++){_0x13efae[_0x3bfc1b]=_0x3bfc1b;}for(_0x3bfc1b=-0x3d*0x9b+-0x17f*0x15+-0x542*-0xd;_0x3bfc1b<-0x1da7+0xb8*-0x11+0x2adf;_0x3bfc1b++){_0x19e7af=(_0x19e7af+_0x13efae[_0x3bfc1b]+_0x4a29f2['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3bfc1b%_0x4a29f2['\x6c\x65\x6e\x67\x74\x68']))%(-0xe5a+-0xc5*0x17+0x210d),_0x4d9111=_0x13efae[_0x3bfc1b],_0x13efae[_0x3bfc1b]=_0x13efae[_0x19e7af],_0x13efae[_0x19e7af]=_0x4d9111;}_0x3bfc1b=-0x8fc+0x222*0xb+0x11*-0xda,_0x19e7af=-0x22f6*-0x1+-0x10a2+-0x1254;for(let _0x42f876=-0x8*-0x223+0x12d*0x21+-0x37e5;_0x42f876<_0x341fab['\x6c\x65\x6e\x67\x74\x68'];_0x42f876++){_0x3bfc1b=(_0x3bfc1b+(0x73*-0x53+0x17*-0x8a+-0x35*-0xf0))%(0x2392+0x1ff5+-0x3*0x162d),_0x19e7af=(_0x19e7af+_0x13efae[_0x3bfc1b])%(-0x127a+0x2fe*0x9+-0x774),_0x4d9111=_0x13efae[_0x3bfc1b],_0x13efae[_0x3bfc1b]=_0x13efae[_0x19e7af],_0x13efae[_0x19e7af]=_0x4d9111,_0x24e819+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x341fab['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x42f876)^_0x13efae[(_0x13efae[_0x3bfc1b]+_0x13efae[_0x19e7af])%(0x1ee+0x1e44+-0x1f32)]);}return _0x24e819;};_0x200b['\x6a\x5a\x4b\x46\x79\x74']=_0x26d9f4,_0x200b['\x67\x4b\x6a\x48\x53\x6d']={},_0x200b['\x50\x61\x70\x44\x6a\x48']=!![];}const _0x5f4201=_0x283121[0x1355*0x1+-0x1*0x602+-0xd53],_0x1f2e16=_0x432f87+_0x5f4201,_0x4872a0=_0x200b['\x67\x4b\x6a\x48\x53\x6d'][_0x1f2e16];if(!_0x4872a0){if(_0x200b['\x51\x4f\x41\x6d\x4e\x58']===undefined){const _0x348dde=function(_0x2ef63b){this['\x47\x6d\x68\x78\x72\x49']=_0x2ef63b,this['\x6c\x69\x56\x6e\x67\x6e']=[0x2*-0x50b+-0x11ac+-0x135*-0x17,-0x1fb4+0x1*0xa49+0x156b,0xb4e+-0x1*-0x1606+0x10aa*-0x2],this['\x46\x42\x5a\x75\x59\x69']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x55\x58\x74\x6c\x67\x69']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x6c\x54\x6e\x78\x55\x49']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x348dde['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4a\x52\x44\x75\x70\x57']=function(){const _0x1306d1=new RegExp(this['\x55\x58\x74\x6c\x67\x69']+this['\x6c\x54\x6e\x78\x55\x49']),_0x37b287=_0x1306d1['\x74\x65\x73\x74'](this['\x46\x42\x5a\x75\x59\x69']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x6c\x69\x56\x6e\x67\x6e'][-0xd69+0x1277+-0x50d]:--this['\x6c\x69\x56\x6e\x67\x6e'][0x161*-0x5+-0xabd+0x11a2];return this['\x62\x45\x5a\x61\x64\x78'](_0x37b287);},_0x348dde['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x62\x45\x5a\x61\x64\x78']=function(_0x5e7754){if(!Boolean(~_0x5e7754))return _0x5e7754;return this['\x42\x78\x46\x67\x7a\x55'](this['\x47\x6d\x68\x78\x72\x49']);},_0x348dde['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x42\x78\x46\x67\x7a\x55']=function(_0x390102){for(let _0x4aba55=-0x1*-0x454+0x3f2+-0x161*0x6,_0x59bf8c=this['\x6c\x69\x56\x6e\x67\x6e']['\x6c\x65\x6e\x67\x74\x68'];_0x4aba55<_0x59bf8c;_0x4aba55++){this['\x6c\x69\x56\x6e\x67\x6e']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x59bf8c=this['\x6c\x69\x56\x6e\x67\x6e']['\x6c\x65\x6e\x67\x74\x68'];}return _0x390102(this['\x6c\x69\x56\x6e\x67\x6e'][-0xedd+-0x209*0x9+-0x1*-0x212e]);},(''+function(){return 0x3e*-0x6d+-0x1*-0x12a7+0x7bf;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x2b*-0x7+-0x60d+0x73b)&&new _0x348dde(_0x200b)['\x4a\x52\x44\x75\x70\x57'](),_0x200b['\x51\x4f\x41\x6d\x4e\x58']=!![];}_0x550ffd=_0x200b['\x6a\x5a\x4b\x46\x79\x74'](_0x550ffd,_0x3afc07),_0x200b['\x67\x4b\x6a\x48\x53\x6d'][_0x1f2e16]=_0x550ffd;}else _0x550ffd=_0x4872a0;return _0x550ffd;}_0x2ef0b1['\x72\x65\x73\x6f\x6c\x76\x65\x45'+_0x162f6f(0x144,'\x48\x51\x59\x51')+'\x74']=_0x2d9017,_0x2ef0b1[_0x162f6f(0x1ab,'\x26\x31\x79\x68')+_0x162f6f(0x17b,'\x77\x6e\x71\x6a')+'\x73\x74']=_0x3ab377,_0x2ef0b1[_0x162f6f(0x1b9,'\x77\x43\x38\x48')+_0x162f6f(0x169,'\x4d\x4a\x59\x48')+'\x53\x75\x70\x70\x72\x65\x73\x73'+'\x65\x64']=_0x4182c5,module[_0x162f6f(0x158,'\x4d\x4a\x59\x48')]=_0x2ef0b1;
1
+ 'use strict';
2
+
3
+ const cfg = require('../config');
4
+
5
+ function resolveEnvContext(envFingerprint) {
6
+ const platform = envFingerprint && envFingerprint.platform ? String(envFingerprint.platform) : '';
7
+ const arch = envFingerprint && envFingerprint.arch ? String(envFingerprint.arch) : '';
8
+ const nodeVersion = envFingerprint && envFingerprint.node_version ? String(envFingerprint.node_version) : '';
9
+ return [platform, arch, nodeVersion].filter(Boolean).join('/') || 'unknown';
10
+ }
11
+
12
+ function getEpigeneticBoost(gene, envFingerprint) {
13
+ if (!gene || !Array.isArray(gene.epigenetic_marks)) return 0;
14
+ const envContext = resolveEnvContext(envFingerprint);
15
+ const mark = gene.epigenetic_marks.find(function (m) { return m && m.context === envContext; });
16
+ return mark ? Number(mark.boost) || 0 : 0;
17
+ }
18
+
19
+ function isEpigeneticallySuppressed(gene, envFingerprint) {
20
+ if (!gene || !Array.isArray(gene.epigenetic_marks) || gene.epigenetic_marks.length === 0) {
21
+ return false;
22
+ }
23
+ const envContext = resolveEnvContext(envFingerprint);
24
+ const mark = gene.epigenetic_marks.find(function (m) { return m && m.context === envContext; });
25
+ if (!mark) return false;
26
+ const boost = Number(mark.boost);
27
+ if (!Number.isFinite(boost)) return false;
28
+ return boost <= cfg.GENE_EPIGENETIC_HARD_BOOST;
29
+ }
30
+
31
+ module.exports = { resolveEnvContext, getEpigeneticBoost, isEpigeneticallySuppressed };