@evomap/evolver 1.89.11 → 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 (100) 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.md +90 -537
  10. package/README.public.md +578 -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/package.json +6 -18
  16. package/proxy-package.json +39 -0
  17. package/public.manifest.json +145 -0
  18. package/src/evolve/guards.js +721 -1
  19. package/src/evolve/pipeline/collect.js +1283 -1
  20. package/src/evolve/pipeline/dispatch.js +421 -1
  21. package/src/evolve/pipeline/enrich.js +440 -1
  22. package/src/evolve/pipeline/hub.js +319 -1
  23. package/src/evolve/pipeline/select.js +274 -1
  24. package/src/evolve/pipeline/signals.js +206 -1
  25. package/src/evolve/utils.js +264 -1
  26. package/src/evolve.js +350 -1
  27. package/src/gep/a2aProtocol.js +4463 -1
  28. package/src/gep/antiAbuseTelemetry.js +233 -1
  29. package/src/gep/autoDistillConv.js +205 -1
  30. package/src/gep/autoDistillLlm.js +315 -1
  31. package/src/gep/candidateEval.js +92 -1
  32. package/src/gep/candidates.js +198 -1
  33. package/src/gep/contentHash.js +30 -1
  34. package/src/gep/conversationDistiller.js +270 -0
  35. package/src/gep/conversationSniffer.js +266 -1
  36. package/src/gep/crypto.js +89 -1
  37. package/src/gep/curriculum.js +163 -1
  38. package/src/gep/deviceId.js +218 -1
  39. package/src/gep/envFingerprint.js +118 -1
  40. package/src/gep/epigenetics.js +31 -1
  41. package/src/gep/execBridge.js +712 -1
  42. package/src/gep/explore.js +289 -1
  43. package/src/gep/hash.js +15 -1
  44. package/src/gep/hubFetch.js +608 -1
  45. package/src/gep/hubReview.js +207 -1
  46. package/src/gep/hubSearch.js +526 -1
  47. package/src/gep/hubVerify.js +306 -1
  48. package/src/gep/learningSignals.js +89 -1
  49. package/src/gep/memoryGraph.js +1449 -1
  50. package/src/gep/memoryGraphAdapter.js +203 -1
  51. package/src/gep/mutation.js +203 -1
  52. package/src/gep/narrativeMemory.js +108 -1
  53. package/src/gep/openPRRegistry.js +205 -1
  54. package/src/gep/personality.js +423 -1
  55. package/src/gep/policyCheck.js +599 -1
  56. package/src/gep/prompt.js +836 -1
  57. package/src/gep/questionGenerator.js +103 -0
  58. package/src/gep/recallInject.js +409 -1
  59. package/src/gep/recallVerifier.js +318 -1
  60. package/src/gep/reflection.js +177 -1
  61. package/src/gep/savingsCore.js +112 -1
  62. package/src/gep/selector.js +602 -1
  63. package/src/gep/skillDistiller.js +1294 -1
  64. package/src/gep/solidify.js +1699 -1
  65. package/src/gep/strategy.js +136 -1
  66. package/src/gep/tokenSavings.js +95 -1
  67. package/src/gep/workspaceKeychain.js +174 -1
  68. package/src/proxy/extensions/traceControl.js +109 -1
  69. package/src/proxy/inject.js +52 -1
  70. package/src/proxy/lifecycle/manager.js +108 -7
  71. package/src/proxy/server/routes.js +31 -0
  72. package/src/proxy/server/settings.js +6 -2
  73. package/src/proxy/sync/engine.js +31 -15
  74. package/src/proxy/sync/inbound.js +87 -9
  75. package/src/proxy/sync/outbound.js +57 -4
  76. package/src/proxy/trace/extractor.js +1403 -1
  77. package/src/proxy/trace/usage.js +105 -1
  78. package/CONTRIBUTING.md +0 -19
  79. package/assets/cover.png +0 -0
  80. package/scripts/a2a_export.js +0 -63
  81. package/scripts/a2a_ingest.js +0 -79
  82. package/scripts/a2a_promote.js +0 -118
  83. package/scripts/analyze_by_skill.js +0 -121
  84. package/scripts/build_binaries.js +0 -479
  85. package/scripts/check-changelog.js +0 -166
  86. package/scripts/extract_log.js +0 -85
  87. package/scripts/generate_history.js +0 -75
  88. package/scripts/gep_append_event.js +0 -96
  89. package/scripts/gep_personality_report.js +0 -234
  90. package/scripts/human_report.js +0 -147
  91. package/scripts/recall-verify-report.js +0 -234
  92. package/scripts/recover_loop.js +0 -61
  93. package/scripts/refresh_stars_badge.js +0 -168
  94. package/scripts/seed-merchants.js +0 -91
  95. package/scripts/suggest_version.js +0 -89
  96. package/scripts/validate-modules.js +0 -38
  97. package/scripts/validate-suite.js +0 -78
  98. package/skills/index.json +0 -14
  99. /package/assets/gep/{genes.seed.json → genes.json} +0 -0
  100. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -1 +1,136 @@
1
- var _0x128774=_0x1bff;(function(_0x2affd7,_0xcefd4){var _0x475af8=_0x1bff,_0x4a6bd1=_0x2affd7();while(!![]){try{var _0x405802=-parseInt(_0x475af8(0x227,'\x36\x6d\x72\x38'))/(-0x1ab*-0xd+-0x1636+-0x2*-0x44)+-parseInt(_0x475af8(0x1d8,'\x77\x44\x6c\x5e'))/(-0x1*-0xbd7+0x24f0+-0x30c5)*(-parseInt(_0x475af8(0x21b,'\x54\x62\x50\x67'))/(-0x254a+-0x28d+0x27da))+-parseInt(_0x475af8(0x25b,'\x40\x52\x54\x24'))/(-0x1747+-0x104c+0x7eb*0x5)+-parseInt(_0x475af8(0x225,'\x5a\x4a\x6e\x6a'))/(0x13b3+0x1288*0x1+-0x2636)+-parseInt(_0x475af8(0x219,'\x72\x63\x73\x47'))/(0x175f+0x1*0xa37+-0x2190)*(parseInt(_0x475af8(0x244,'\x29\x46\x5a\x29'))/(-0x1+0xa63*0x2+-0x14be))+parseInt(_0x475af8(0x20d,'\x78\x50\x5b\x28'))/(0x116*-0x5+-0x440*-0x1+0x136)+-parseInt(_0x475af8(0x207,'\x6f\x76\x78\x64'))/(-0x18fe+-0x8e9*-0x1+-0x1*-0x101e)*(-parseInt(_0x475af8(0x17d,'\x36\x6d\x72\x38'))/(-0x78b*0x1+-0x1*0x65+0x3fd*0x2));if(_0x405802===_0xcefd4)break;else _0x4a6bd1['push'](_0x4a6bd1['shift']());}catch(_0x103f4d){_0x4a6bd1['push'](_0x4a6bd1['shift']());}}}(_0x55f1,-0x72de3+-0x8a3cf+-0x8*-0x36133));var _0x5abf55=(function(){var _0x42db03=_0x1bff,_0x2da212={};_0x2da212['\x7a\x69\x64\x52\x4e']=_0x42db03(0x25c,'\x36\x33\x6a\x5d')+'\x74\x61\x74\x65',_0x2da212[_0x42db03(0x1f9,'\x6c\x6c\x6b\x64')]=_0x42db03(0x232,'\x40\x77\x24\x59');var _0x1162fc=_0x2da212,_0x508851=!![];return function(_0x787743,_0x50632c){var _0x599235=_0x42db03,_0x31a94d={};_0x31a94d[_0x599235(0x1ea,'\x25\x6c\x36\x4e')]=_0x1162fc[_0x599235(0x194,'\x6b\x70\x70\x56')],_0x31a94d[_0x599235(0x1c7,'\x5b\x78\x4b\x4b')]=function(_0x10a9de,_0x446233){return _0x10a9de!==_0x446233;},_0x31a94d[_0x599235(0x17c,'\x78\x50\x5b\x28')]=_0x1162fc[_0x599235(0x1db,'\x40\x52\x54\x24')];var _0x4090d2=_0x31a94d,_0x5a3e7a=_0x508851?function(){var _0x2712c1=_0x599235;if(_0x50632c){if(_0x4090d2[_0x2712c1(0x18b,'\x54\x62\x50\x67')](_0x2712c1(0x1e6,'\x34\x73\x33\x4e'),_0x4090d2[_0x2712c1(0x1d1,'\x28\x4f\x36\x36')]))_0xd6fe22=_0x4090d2[_0x2712c1(0x24d,'\x6b\x63\x39\x41')];else{var _0x4b1f61=_0x50632c['\x61\x70\x70\x6c\x79'](_0x787743,arguments);return _0x50632c=null,_0x4b1f61;}}}:function(){};return _0x508851=![],_0x5a3e7a;};}()),_0x1ca414=_0x5abf55(this,function(){var _0x36819b=_0x1bff,_0x145504={};_0x145504[_0x36819b(0x19c,'\x40\x77\x24\x59')]='\x28\x28\x28\x2e\x2b\x29\x2b\x29'+_0x36819b(0x224,'\x6f\x61\x30\x6e');var _0xe4eb4a=_0x145504;return _0x1ca414[_0x36819b(0x1ed,'\x6e\x78\x5d\x50')]()[_0x36819b(0x1dc,'\x78\x49\x4c\x34')](_0xe4eb4a[_0x36819b(0x21a,'\x36\x6d\x72\x38')])[_0x36819b(0x20f,'\x2a\x31\x42\x25')]()[_0x36819b(0x210,'\x6f\x76\x78\x64')+'\x74\x6f\x72'](_0x1ca414)[_0x36819b(0x1d2,'\x50\x77\x5a\x54')](_0xe4eb4a[_0x36819b(0x248,'\x5a\x39\x65\x31')]);});_0x1ca414();var _0x26ace5=require('\x66\x73'),_0x1d415b=require(_0x128774(0x1b1,'\x44\x69\x5e\x44')),_0x1f772c={};_0x1f772c[_0x128774(0x26a,'\x69\x70\x65\x4c')]=0.2,_0x1f772c[_0x128774(0x255,'\x5a\x39\x65\x31')]=0.2,_0x1f772c[_0x128774(0x185,'\x65\x43\x6f\x4b')]=0.5,_0x1f772c[_0x128774(0x243,'\x4f\x6d\x73\x6c')]=0.1,_0x1f772c['\x72\x65\x70\x61\x69\x72\x4c\x6f'+_0x128774(0x23c,'\x29\x65\x49\x65')+_0x128774(0x1a5,'\x71\x67\x29\x61')]=0.5,_0x1f772c[_0x128774(0x25e,'\x65\x50\x21\x5e')]=_0x128774(0x1a4,'\x54\x62\x50\x67'),_0x1f772c[_0x128774(0x18a,'\x54\x62\x50\x67')+_0x128774(0x179,'\x6d\x71\x5d\x75')]=_0x128774(0x201,'\x65\x50\x21\x5e')+_0x128774(0x18f,'\x35\x59\x65\x53')+_0x128774(0x193,'\x40\x77\x24\x59')+_0x128774(0x1a6,'\x36\x5a\x59\x21')+_0x128774(0x1e5,'\x78\x49\x4c\x34')+_0x128774(0x1e3,'\x6f\x76\x78\x64');var _0x581ff0={};_0x581ff0[_0x128774(0x18d,'\x50\x77\x5a\x54')]=0.05,_0x581ff0[_0x128774(0x1ab,'\x67\x6f\x79\x49')]=0.1,_0x581ff0[_0x128774(0x1b2,'\x40\x77\x24\x59')]=0.8,_0x581ff0[_0x128774(0x21c,'\x5a\x39\x65\x31')]=0.05,_0x581ff0[_0x128774(0x1c4,'\x69\x70\x65\x4c')+_0x128774(0x1c2,'\x78\x49\x4c\x34')+_0x128774(0x218,'\x6f\x76\x78\x64')]=0.3,_0x581ff0[_0x128774(0x1bd,'\x57\x54\x49\x73')]=_0x128774(0x23f,'\x36\x33\x6a\x5d')+_0x128774(0x25d,'\x26\x7a\x30\x30'),_0x581ff0[_0x128774(0x256,'\x6c\x6c\x6b\x64')+_0x128774(0x17f,'\x5b\x78\x4b\x4b')]=_0x128774(0x197,'\x72\x63\x73\x47')+_0x128774(0x1cc,'\x40\x52\x54\x24')+'\x2e\x20\x4d\x61\x78\x69\x6d\x69'+_0x128774(0x190,'\x35\x52\x43\x63')+_0x128774(0x1c9,'\x5b\x78\x4b\x4b')+_0x128774(0x271,'\x5a\x39\x65\x31')+_0x128774(0x22b,'\x6e\x78\x5d\x50')+'\x2e';var _0x422417={};_0x422417[_0x128774(0x231,'\x35\x52\x43\x63')]=0.4,_0x422417[_0x128774(0x262,'\x4f\x6d\x73\x6c')]=0.35,_0x422417[_0x128774(0x268,'\x25\x6c\x36\x4e')]=0.2,_0x422417[_0x128774(0x1f2,'\x35\x69\x44\x44')]=0.05,_0x422417[_0x128774(0x26e,'\x35\x59\x65\x53')+_0x128774(0x1ef,'\x36\x6d\x72\x38')+_0x128774(0x172,'\x78\x49\x4c\x34')]=0.7,_0x422417['\x6c\x61\x62\x65\x6c']=_0x128774(0x187,'\x35\x69\x44\x44')+'\x67',_0x422417[_0x128774(0x1d3,'\x5b\x5b\x49\x45')+_0x128774(0x1f8,'\x4f\x6d\x73\x6c')]=_0x128774(0x26c,'\x67\x6f\x79\x49')+_0x128774(0x1ae,'\x5a\x4a\x6e\x6a')+_0x128774(0x25a,'\x57\x54\x49\x73')+_0x128774(0x199,'\x54\x62\x50\x67')+_0x128774(0x175,'\x65\x50\x21\x5e')+_0x128774(0x1f0,'\x35\x69\x44\x44')+_0x128774(0x240,'\x5b\x5b\x49\x45');var _0x54176={};_0x54176[_0x128774(0x1da,'\x25\x6c\x36\x4e')]=0.8,_0x54176[_0x128774(0x1d5,'\x71\x42\x68\x7a')]=0.18,_0x54176[_0x128774(0x1b3,'\x2a\x31\x42\x25')]=0x0,_0x54176[_0x128774(0x1cf,'\x65\x43\x6f\x4b')]=0.02,_0x54176[_0x128774(0x171,'\x34\x73\x33\x4e')+_0x128774(0x247,'\x36\x5a\x59\x21')+_0x128774(0x172,'\x78\x49\x4c\x34')]=0x1,_0x54176[_0x128774(0x1bb,'\x61\x23\x55\x64')]=_0x128774(0x1e0,'\x6f\x61\x30\x6e')+_0x128774(0x1d0,'\x78\x49\x4c\x34'),_0x54176[_0x128774(0x1d3,'\x5b\x5b\x49\x45')+_0x128774(0x1d9,'\x66\x36\x62\x45')]=_0x128774(0x22e,'\x6c\x6c\x6b\x64')+_0x128774(0x217,'\x5a\x4a\x6e\x6a')+_0x128774(0x1b0,'\x6e\x78\x5d\x50')+'\x67\x20\x62\x65\x66\x6f\x72\x65'+_0x128774(0x1e1,'\x25\x6c\x36\x4e')+_0x128774(0x223,'\x66\x36\x62\x45')+_0x128774(0x19f,'\x31\x4e\x7a\x42');function _0x1bff(_0x4a1f5d,_0x421dbf){_0x4a1f5d=_0x4a1f5d-(-0x11b1+-0x3ea*-0x7+-0x846);var _0x145599=_0x55f1();var _0x5ae026=_0x145599[_0x4a1f5d];if(_0x1bff['\x73\x68\x70\x65\x63\x53']===undefined){var _0x216b15=function(_0x345e69){var _0x2ee429='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';var _0x31c345='',_0x3f352f='',_0x415891=_0x31c345+_0x216b15,_0x33d44=(''+function(){return-0x19d*0xa+-0x13b2*0x1+0x23d4;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x2*-0x80+-0x187f+0xbc0*0x2);for(var _0x43c941=0x1*-0x1057+-0x2285+0x32dc,_0x7822f,_0x5c5153,_0x10077f=0x2*-0x9fb+0xcc+0x1be*0xb;_0x5c5153=_0x345e69['\x63\x68\x61\x72\x41\x74'](_0x10077f++);~_0x5c5153&&(_0x7822f=_0x43c941%(0x1fa+0x267d+-0x5*0x817)?_0x7822f*(0x179c+0x29*-0x28+-0xe*0x136)+_0x5c5153:_0x5c5153,_0x43c941++%(-0x4f*-0x4a+-0xef*-0x7+-0x1d5b))?_0x31c345+=_0x33d44||_0x415891['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x10077f+(-0x26c9*0x1+-0x7cb+0x2e9e))-(-0x2585+-0x1021*-0x1+0x1a*0xd3)!==-0xe17*0x2+0x29e+0x1990?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x22b3+0x1c*0x123+-0x1e*-0x21&_0x7822f>>(-(-0x1*-0xd0+0xb01+-0xbcf)*_0x43c941&-0x6b*0x44+0x22f2+-0x680)):_0x43c941:-0x2044+-0x288+0x22cc){_0x5c5153=_0x2ee429['\x69\x6e\x64\x65\x78\x4f\x66'](_0x5c5153);}for(var _0x39fdb1=-0x38*0x85+-0x1bac+0x1c*0x207,_0x2cfff4=_0x31c345['\x6c\x65\x6e\x67\x74\x68'];_0x39fdb1<_0x2cfff4;_0x39fdb1++){_0x3f352f+='\x25'+('\x30\x30'+_0x31c345['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x39fdb1)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x17*-0x119+0x263d+-0x3f6c))['\x73\x6c\x69\x63\x65'](-(-0x1189+0x192e+-0x7a3));}return decodeURIComponent(_0x3f352f);};var _0x5518dd=function(_0x19cd6f,_0x3b8506){var _0x2646e5=[],_0x348dd0=-0x1ec1+-0xf*0x207+0x3d2a,_0x16b890,_0x52063f='';_0x19cd6f=_0x216b15(_0x19cd6f);var _0x238d77;for(_0x238d77=-0x1*-0x1df+0x604*-0x5+-0x1*-0x1c35;_0x238d77<-0xf37*0x2+0x1*0x1973+0x1*0x5fb;_0x238d77++){_0x2646e5[_0x238d77]=_0x238d77;}for(_0x238d77=-0x2f9*0x1+0x199e+0x1f*-0xbb;_0x238d77<-0x391*0x5+-0x13e4+0x1*0x26b9;_0x238d77++){_0x348dd0=(_0x348dd0+_0x2646e5[_0x238d77]+_0x3b8506['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x238d77%_0x3b8506['\x6c\x65\x6e\x67\x74\x68']))%(0x3*0x4b0+-0x1*0x973+-0x39d),_0x16b890=_0x2646e5[_0x238d77],_0x2646e5[_0x238d77]=_0x2646e5[_0x348dd0],_0x2646e5[_0x348dd0]=_0x16b890;}_0x238d77=0x4*-0x644+-0x971*-0x2+0x62e,_0x348dd0=-0x17a3*0x1+0x2047*-0x1+0x37ea;for(var _0x21728c=0x131*-0x1a+-0x1d*0x126+0x4048;_0x21728c<_0x19cd6f['\x6c\x65\x6e\x67\x74\x68'];_0x21728c++){_0x238d77=(_0x238d77+(0x3*0x689+0x15*-0x16d+0xa57))%(-0x219b+-0x6a*-0x38+-0x4f*-0x25),_0x348dd0=(_0x348dd0+_0x2646e5[_0x238d77])%(0x1c4a+0x23e3+-0x3f2d),_0x16b890=_0x2646e5[_0x238d77],_0x2646e5[_0x238d77]=_0x2646e5[_0x348dd0],_0x2646e5[_0x348dd0]=_0x16b890,_0x52063f+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x19cd6f['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x21728c)^_0x2646e5[(_0x2646e5[_0x238d77]+_0x2646e5[_0x348dd0])%(0x3d*-0x61+-0x26b4+0x4d5*0xd)]);}return _0x52063f;};_0x1bff['\x44\x41\x4b\x78\x55\x47']=_0x5518dd,_0x1bff['\x59\x4f\x64\x42\x68\x4d']={},_0x1bff['\x73\x68\x70\x65\x63\x53']=!![];}var _0x5888ec=_0x145599[-0x65d*-0x5+-0x19de+-0x5f3],_0x17c7ca=_0x4a1f5d+_0x5888ec,_0x432e2c=_0x1bff['\x59\x4f\x64\x42\x68\x4d'][_0x17c7ca];if(!_0x432e2c){if(_0x1bff['\x49\x51\x67\x79\x44\x42']===undefined){var _0x351a12=function(_0x4af99c){this['\x7a\x6b\x47\x4b\x62\x53']=_0x4af99c,this['\x65\x46\x44\x49\x5a\x66']=[0xd*0x86+0x18c+-0x859,-0x423+-0x8*0x10e+0x25*0x57,-0x2*0xb94+0xbd9+0xb4f],this['\x69\x71\x4d\x52\x76\x48']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x57\x67\x4d\x78\x72\x54']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x49\x50\x56\x4a\x50\x44']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x351a12['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6a\x61\x73\x55\x72\x6f']=function(){var _0x1adb06=new RegExp(this['\x57\x67\x4d\x78\x72\x54']+this['\x49\x50\x56\x4a\x50\x44']),_0x5b206c=_0x1adb06['\x74\x65\x73\x74'](this['\x69\x71\x4d\x52\x76\x48']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x65\x46\x44\x49\x5a\x66'][-0x1997*-0x1+0x1424+-0x2dba]:--this['\x65\x46\x44\x49\x5a\x66'][-0x1def+0x1*-0x239+0x2028];return this['\x76\x6b\x49\x78\x79\x6d'](_0x5b206c);},_0x351a12['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x76\x6b\x49\x78\x79\x6d']=function(_0xd2b927){if(!Boolean(~_0xd2b927))return _0xd2b927;return this['\x61\x72\x6d\x4d\x57\x43'](this['\x7a\x6b\x47\x4b\x62\x53']);},_0x351a12['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x61\x72\x6d\x4d\x57\x43']=function(_0x1c694c){for(var _0x5a104f=-0x984+0x15a3+-0xc1f,_0x39e957=this['\x65\x46\x44\x49\x5a\x66']['\x6c\x65\x6e\x67\x74\x68'];_0x5a104f<_0x39e957;_0x5a104f++){this['\x65\x46\x44\x49\x5a\x66']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x39e957=this['\x65\x46\x44\x49\x5a\x66']['\x6c\x65\x6e\x67\x74\x68'];}return _0x1c694c(this['\x65\x46\x44\x49\x5a\x66'][-0x270a+0x10ca*-0x1+0x37d4]);},(''+function(){return-0x14e1+0x1f51+-0xa70;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x17*0x71+0x27*0x6+0x152*0x7)&&new _0x351a12(_0x1bff)['\x6a\x61\x73\x55\x72\x6f'](),_0x1bff['\x49\x51\x67\x79\x44\x42']=!![];}_0x5ae026=_0x1bff['\x44\x41\x4b\x78\x55\x47'](_0x5ae026,_0x421dbf),_0x1bff['\x59\x4f\x64\x42\x68\x4d'][_0x17c7ca]=_0x5ae026;}else _0x5ae026=_0x432e2c;return _0x5ae026;}var _0xb65f94={};_0xb65f94[_0x128774(0x1bc,'\x35\x5d\x6e\x21')]=0.6,_0xb65f94[_0x128774(0x1fb,'\x31\x4e\x7a\x42')]=0.22,_0xb65f94[_0x128774(0x241,'\x77\x44\x6c\x5e')]=0.15,_0xb65f94[_0x128774(0x216,'\x34\x73\x33\x4e')]=0.03,_0xb65f94[_0x128774(0x1fa,'\x2a\x31\x42\x25')+_0x128774(0x237,'\x35\x69\x44\x44')+_0x128774(0x1cb,'\x36\x5a\x59\x21')]=0.8,_0xb65f94['\x6c\x61\x62\x65\x6c']=_0x128774(0x188,'\x57\x54\x49\x73')+_0x128774(0x195,'\x40\x52\x54\x24')+_0x128774(0x1aa,'\x35\x52\x43\x63'),_0xb65f94[_0x128774(0x1ee,'\x5a\x4a\x6e\x6a')+'\x69\x6f\x6e']=_0x128774(0x1c8,'\x6f\x76\x78\x64')+_0x128774(0x196,'\x36\x6d\x72\x38')+_0x128774(0x24f,'\x6d\x71\x5d\x75')+_0x128774(0x233,'\x5b\x78\x4b\x4b')+_0x128774(0x1ff,'\x66\x36\x62\x45')+_0x128774(0x252,'\x28\x4f\x36\x36')+_0x128774(0x1b5,'\x65\x50\x21\x5e')+_0x128774(0x253,'\x72\x63\x73\x47')+'\x67\x2e';function _0x55f1(){var _0x3b7c47=['\x57\x52\x2f\x63\x54\x43\x6b\x78\x71\x33\x33\x63\x4d\x6d\x6f\x68','\x57\x51\x65\x7a\x57\x4f\x48\x75\x57\x37\x65','\x45\x31\x7a\x37\x57\x36\x68\x63\x56\x57','\x57\x4f\x37\x63\x48\x57\x79','\x57\x37\x33\x64\x4f\x38\x6b\x36\x72\x53\x6f\x55\x76\x66\x42\x64\x4c\x47','\x57\x35\x74\x64\x51\x38\x6b\x4e\x44\x43\x6f\x72','\x57\x4f\x38\x71\x57\x52\x62\x6c\x57\x34\x37\x64\x49\x53\x6b\x63','\x61\x43\x6f\x66\x57\x52\x33\x64\x50\x38\x6f\x32\x57\x34\x64\x63\x4b\x58\x75','\x57\x50\x56\x64\x48\x53\x6b\x7a\x7a\x77\x4f','\x66\x6d\x6f\x48\x57\x36\x54\x31\x71\x4d\x4a\x64\x4e\x75\x34','\x57\x35\x5a\x64\x4a\x62\x58\x54','\x65\x38\x6b\x36\x61\x74\x64\x63\x49\x71\x56\x63\x53\x6d\x6f\x38','\x57\x51\x48\x76\x45\x63\x37\x63\x50\x53\x6f\x79\x57\x37\x70\x63\x52\x61','\x57\x52\x4c\x6d\x45\x49\x33\x63\x4d\x57','\x57\x36\x71\x61\x57\x37\x74\x63\x48\x6d\x6f\x69\x71\x43\x6b\x43\x57\x50\x43','\x62\x43\x6f\x78\x6b\x6d\x6b\x65\x66\x53\x6b\x34\x57\x52\x7a\x73','\x64\x43\x6f\x30\x57\x34\x31\x4b\x72\x67\x78\x64\x48\x30\x47','\x57\x35\x78\x63\x55\x43\x6b\x35\x57\x37\x6c\x64\x52\x6d\x6f\x62\x57\x52\x61\x53\x62\x43\x6f\x6f\x57\x50\x56\x63\x56\x4a\x6d','\x57\x37\x53\x55\x57\x36\x78\x63\x55\x6d\x6f\x56\x57\x34\x46\x64\x4e\x53\x6b\x66','\x57\x36\x71\x4d\x69\x66\x47\x67','\x57\x52\x68\x64\x53\x72\x78\x64\x53\x61\x4f','\x7a\x74\x64\x63\x56\x48\x78\x64\x4c\x6d\x6b\x6a','\x57\x51\x56\x64\x48\x48\x42\x64\x4d\x4b\x79','\x61\x76\x62\x4d\x78\x6d\x6b\x6e\x7a\x6d\x6b\x2f\x6c\x71','\x44\x53\x6f\x72\x57\x51\x37\x63\x50\x63\x70\x63\x4b\x49\x47\x4a','\x69\x38\x6b\x6c\x57\x36\x46\x63\x4f\x38\x6f\x41\x57\x36\x75\x68\x57\x4f\x57','\x57\x35\x39\x61\x64\x6d\x6f\x30\x57\x37\x52\x64\x56\x38\x6f\x68\x67\x47','\x71\x38\x6f\x43\x57\x37\x56\x64\x53\x6d\x6f\x6a\x57\x34\x42\x63\x50\x62\x71','\x44\x4a\x78\x64\x4e\x57\x4a\x63\x47\x57','\x6a\x43\x6f\x57\x57\x52\x65\x6d\x6b\x53\x6f\x6d\x44\x31\x38','\x61\x31\x4c\x4b\x75\x53\x6b\x62\x73\x38\x6b\x35\x6c\x61','\x57\x34\x54\x41\x69\x6d\x6f\x2f\x57\x50\x4c\x48','\x57\x36\x6c\x64\x4f\x78\x62\x6e\x6e\x71','\x57\x51\x38\x43\x70\x43\x6f\x2f\x6a\x43\x6f\x67\x41\x59\x57','\x57\x34\x37\x64\x48\x33\x72\x57\x66\x48\x42\x64\x4a\x6d\x6f\x52','\x57\x35\x34\x2f\x57\x37\x46\x63\x48\x43\x6f\x61','\x57\x52\x75\x57\x57\x51\x57','\x57\x37\x5a\x64\x47\x47\x74\x63\x4c\x53\x6f\x35\x57\x4f\x54\x72\x57\x35\x75','\x57\x52\x62\x44\x63\x43\x6b\x4a\x57\x34\x34','\x57\x37\x66\x73\x57\x52\x68\x64\x51\x53\x6f\x70\x57\x51\x69\x2b\x6c\x43\x6f\x4a\x6b\x38\x6f\x47','\x57\x50\x35\x65\x69\x6d\x6b\x4d\x57\x36\x46\x63\x49\x53\x6f\x73','\x71\x53\x6f\x61\x57\x35\x79','\x57\x52\x5a\x63\x51\x53\x6b\x78\x41\x75\x30','\x79\x77\x54\x39\x57\x36\x52\x63\x4b\x38\x6f\x41','\x64\x53\x6b\x37\x62\x6d\x6b\x43\x61\x38\x6b\x35\x77\x4e\x69','\x57\x35\x78\x63\x49\x43\x6b\x30\x57\x35\x33\x64\x4a\x78\x53\x34\x74\x71','\x57\x36\x4e\x63\x55\x4c\x78\x64\x49\x53\x6b\x32\x65\x6d\x6b\x2b\x64\x57','\x57\x34\x47\x46\x69\x67\x71\x51\x57\x52\x64\x63\x48\x6d\x6f\x77','\x57\x35\x74\x63\x48\x53\x6b\x4f\x57\x35\x42\x64\x4e\x4e\x71','\x57\x35\x5a\x63\x56\x38\x6f\x6d\x57\x51\x42\x63\x4d\x53\x6b\x67\x57\x37\x30\x69','\x70\x53\x6b\x6c\x57\x34\x75','\x57\x51\x44\x53\x57\x4f\x35\x39\x68\x53\x6f\x4a','\x57\x37\x56\x63\x48\x71\x37\x63\x47\x6d\x6f\x69','\x78\x38\x6f\x6a\x57\x34\x37\x64\x51\x53\x6f\x79\x57\x34\x53','\x7a\x4d\x54\x34\x57\x52\x42\x64\x4b\x6d\x6f\x2f\x57\x35\x58\x43','\x57\x50\x4b\x43\x57\x34\x4a\x63\x49\x38\x6b\x65','\x57\x34\x4e\x63\x51\x58\x33\x63\x4b\x53\x6f\x5a','\x77\x5a\x6c\x64\x47\x38\x6f\x71\x41\x4a\x61\x37\x78\x71','\x57\x37\x76\x54\x57\x50\x66\x31\x67\x43\x6f\x32\x57\x4f\x64\x64\x52\x71','\x57\x4f\x37\x63\x48\x47\x57\x69\x73\x6d\x6f\x32\x65\x61','\x57\x4f\x53\x43\x69\x38\x6f\x4c\x6a\x43\x6b\x46\x6a\x47','\x57\x34\x34\x52\x70\x72\x34','\x77\x38\x6f\x66\x57\x35\x56\x64\x53\x6d\x6b\x42\x57\x35\x64\x63\x4f\x58\x30','\x57\x36\x69\x63\x6d\x62\x31\x7a','\x74\x53\x6f\x65\x57\x50\x6c\x63\x52\x61\x65','\x6a\x53\x6f\x41\x57\x52\x78\x63\x51\x38\x6f\x47\x57\x35\x5a\x63\x4d\x58\x71','\x57\x36\x38\x77\x57\x35\x70\x63\x4d\x43\x6f\x69\x72\x43\x6f\x66','\x57\x51\x72\x68\x57\x50\x6e\x65\x68\x61','\x69\x74\x4f\x55\x57\x51\x33\x64\x49\x6d\x6b\x64\x57\x4f\x31\x48\x45\x73\x54\x66\x72\x38\x6b\x6a','\x57\x51\x44\x62\x57\x34\x4f\x55\x6a\x5a\x69\x4f','\x66\x53\x6f\x52\x57\x34\x50\x34\x72\x67\x4e\x64\x4d\x4b\x43','\x62\x38\x6f\x6a\x57\x51\x4e\x63\x50\x6d\x6f\x4e\x57\x34\x68\x63\x47\x47\x38','\x57\x34\x34\x43\x61\x67\x75\x32\x57\x52\x6c\x64\x4c\x38\x6f\x44','\x71\x53\x6b\x5a\x57\x34\x30\x53\x57\x36\x52\x63\x54\x72\x75\x74','\x57\x51\x2f\x64\x4a\x4a\x4f\x49\x57\x4f\x53','\x73\x43\x6b\x56\x57\x50\x30\x59\x57\x36\x52\x63\x50\x71\x75','\x57\x52\x71\x64\x57\x52\x54\x30\x43\x78\x4a\x63\x4f\x38\x6b\x4f','\x61\x43\x6f\x6c\x6a\x43\x6f\x34','\x57\x50\x52\x63\x56\x4d\x47','\x57\x50\x78\x63\x4a\x71\x4b\x6a\x44\x53\x6f\x71\x67\x53\x6b\x41','\x57\x37\x79\x70\x6b\x57\x6a\x2b','\x57\x50\x78\x64\x50\x64\x34','\x57\x36\x75\x77\x57\x35\x48\x34\x57\x4f\x65','\x57\x52\x6e\x45\x7a\x49\x64\x63\x55\x43\x6f\x6c\x57\x34\x56\x63\x50\x47','\x57\x35\x35\x65\x67\x43\x6f\x30\x57\x37\x4e\x63\x54\x53\x6f\x79\x62\x57','\x57\x35\x65\x6e\x6a\x4e\x34\x48','\x67\x66\x66\x42\x57\x50\x46\x63\x56\x57','\x68\x53\x6b\x53\x68\x53\x6b\x73','\x6d\x53\x6b\x43\x57\x34\x6c\x63\x56\x38\x6f\x7a\x57\x36\x4b\x42\x57\x51\x47','\x57\x37\x71\x61\x57\x37\x70\x63\x4a\x38\x6f\x38\x74\x43\x6f\x71\x57\x50\x53','\x57\x34\x47\x6b\x57\x36\x64\x63\x48\x53\x6f\x42\x73\x6d\x6b\x43\x57\x50\x65','\x71\x53\x6f\x4d\x6c\x64\x56\x63\x55\x62\x4e\x63\x53\x6d\x6f\x52','\x7a\x38\x6f\x32\x57\x34\x6c\x64\x4d\x43\x6f\x45','\x57\x52\x39\x36\x57\x50\x66\x59','\x57\x35\x47\x52\x6a\x72\x50\x4d\x57\x51\x43\x5a\x57\x51\x47','\x57\x51\x62\x61\x57\x50\x65\x55\x57\x36\x78\x63\x52\x53\x6f\x5a\x57\x36\x68\x64\x4c\x57\x57\x48\x73\x38\x6f\x38\x57\x51\x75','\x57\x35\x54\x63\x6e\x43\x6f\x70\x61\x6d\x6b\x50\x77\x71\x69','\x57\x34\x4a\x63\x55\x77\x66\x4b\x57\x34\x2f\x64\x49\x6d\x6b\x37\x57\x50\x46\x64\x53\x6d\x6f\x4c\x66\x65\x4c\x30','\x57\x50\x64\x64\x52\x4a\x34\x58\x57\x4f\x2f\x63\x4d\x61','\x57\x37\x57\x35\x57\x36\x42\x63\x54\x43\x6f\x30\x57\x35\x64\x64\x4b\x53\x6b\x6f','\x57\x52\x37\x64\x51\x72\x74\x64\x55\x71\x6d\x51\x6c\x68\x6d','\x41\x4d\x66\x55\x57\x35\x56\x63\x4c\x57','\x57\x51\x39\x54\x57\x52\x4a\x64\x50\x53\x6b\x52\x57\x4f\x74\x63\x47\x43\x6b\x39\x57\x35\x34\x30\x61\x61\x64\x63\x47\x61','\x57\x4f\x53\x72\x57\x51\x31\x6f\x57\x34\x4a\x64\x4e\x53\x6b\x75\x66\x57','\x57\x52\x76\x75\x72\x74\x78\x63\x4f\x53\x6f\x71\x57\x36\x4e\x63\x52\x47','\x57\x4f\x4f\x41\x69\x43\x6f\x2f\x6a\x43\x6b\x75\x46\x74\x79','\x69\x4e\x4c\x71\x77\x6d\x6b\x4d','\x57\x50\x78\x64\x55\x62\x79\x2f\x57\x50\x78\x63\x4d\x43\x6f\x37\x57\x51\x4f','\x57\x36\x5a\x64\x54\x43\x6f\x75\x68\x4a\x46\x64\x4d\x6d\x6f\x78\x44\x38\x6f\x6b\x63\x33\x70\x64\x53\x47','\x61\x38\x6f\x74\x6c\x6d\x6b\x61','\x57\x4f\x4e\x63\x49\x71\x75\x69','\x57\x35\x38\x59\x6f\x72\x44\x4e\x57\x52\x79\x5a','\x67\x53\x6b\x63\x57\x37\x52\x63\x47\x43\x6f\x38\x57\x35\x64\x64\x4b\x48\x34','\x57\x4f\x79\x7a\x6b\x57','\x79\x4a\x71\x6d\x57\x50\x71\x77\x57\x34\x74\x63\x4f\x72\x79','\x57\x34\x75\x79\x66\x75\x75\x33','\x57\x50\x34\x68\x45\x38\x6b\x47\x57\x35\x4c\x55\x66\x58\x4a\x64\x4e\x47\x46\x64\x4b\x57','\x57\x51\x56\x64\x48\x6d\x6b\x70\x42\x75\x37\x63\x53\x66\x6d','\x57\x34\x78\x64\x4e\x49\x35\x53\x71\x76\x6a\x2b\x57\x35\x61','\x57\x37\x5a\x63\x4c\x48\x6c\x63\x47\x38\x6f\x38\x57\x50\x61\x71\x57\x34\x6d','\x78\x4a\x64\x64\x4f\x61\x78\x63\x49\x77\x66\x46\x76\x71','\x57\x36\x4a\x64\x55\x43\x6b\x36\x72\x43\x6f\x65','\x57\x34\x78\x64\x55\x38\x6b\x4a\x78\x43\x6f\x53','\x57\x52\x74\x64\x56\x48\x70\x64\x53\x62\x34\x4d\x6a\x71','\x6f\x43\x6b\x44\x57\x35\x2f\x63\x50\x6d\x6f\x65\x57\x36\x34\x73\x57\x36\x38','\x69\x4e\x37\x63\x4d\x6d\x6b\x76','\x75\x6d\x6b\x79\x57\x36\x4a\x64\x53\x53\x6b\x54\x57\x50\x4e\x64\x47\x49\x2f\x63\x4a\x43\x6f\x59\x6f\x31\x38\x30','\x57\x37\x2f\x64\x4a\x78\x66\x30\x61\x61','\x57\x50\x62\x79\x79\x4a\x31\x31\x57\x36\x70\x63\x4e\x43\x6f\x4a\x42\x6d\x6f\x37\x74\x43\x6b\x67\x57\x35\x43','\x57\x50\x4e\x64\x51\x4a\x71\x56\x57\x51\x74\x63\x47\x38\x6f\x37\x57\x51\x34','\x61\x43\x6f\x64\x70\x53\x6f\x5a','\x79\x59\x74\x64\x4e\x6d\x6f\x46','\x61\x6d\x6f\x54\x57\x37\x76\x4c\x71\x4d\x4e\x64\x4b\x76\x6d','\x57\x4f\x4b\x4c\x57\x51\x7a\x4a','\x66\x6d\x6f\x66\x57\x36\x35\x63\x79\x57','\x57\x35\x71\x43\x57\x34\x72\x4f\x57\x52\x42\x64\x56\x53\x6b\x52\x57\x52\x69','\x57\x36\x2f\x63\x50\x65\x78\x64\x48\x53\x6b\x4a\x6e\x53\x6b\x49','\x57\x36\x61\x6b\x57\x36\x64\x63\x49\x6d\x6f\x46\x45\x38\x6f\x70\x57\x4f\x4f','\x57\x50\x78\x63\x4a\x72\x47\x6d\x77\x43\x6f\x6c','\x69\x53\x6b\x43\x66\x4a\x4e\x63\x52\x47','\x57\x4f\x56\x64\x47\x67\x4c\x39\x64\x72\x33\x64\x4d\x6d\x6f\x52','\x66\x6d\x6b\x6c\x68\x63\x56\x63\x4e\x48\x37\x63\x4f\x43\x6b\x33','\x57\x52\x79\x71\x57\x52\x39\x58\x57\x35\x65','\x57\x51\x4e\x64\x4d\x43\x6b\x6c\x75\x4c\x78\x63\x53\x66\x43\x36','\x71\x38\x6b\x4e\x57\x52\x4b\x32\x57\x37\x46\x63\x53\x48\x6d\x69','\x57\x4f\x76\x2f\x57\x52\x66\x6e\x64\x47','\x57\x52\x31\x65\x6f\x43\x6b\x71\x57\x35\x4f','\x6e\x33\x38\x7a','\x57\x52\x4f\x6d\x69\x43\x6f\x56','\x57\x50\x56\x63\x4f\x4b\x75\x72\x6a\x58\x70\x63\x56\x43\x6b\x75','\x57\x52\x2f\x63\x49\x47\x34\x37\x72\x47','\x57\x36\x6d\x74\x57\x37\x33\x63\x48\x38\x6f\x70\x75\x6d\x6f\x76\x57\x50\x65','\x57\x50\x58\x6b\x57\x35\x43\x55\x70\x73\x75\x35\x42\x57','\x68\x53\x6b\x57\x65\x53\x6b\x6d\x61\x53\x6f\x2b','\x57\x4f\x33\x64\x4f\x38\x6f\x48\x57\x51\x33\x63\x51\x38\x6b\x75\x57\x37\x30\x46','\x57\x4f\x33\x64\x50\x4a\x4a\x64\x48\x62\x38','\x57\x50\x4e\x64\x53\x59\x61\x36\x57\x50\x74\x63\x47\x53\x6f\x51','\x57\x4f\x52\x64\x4e\x38\x6f\x50\x57\x4f\x64\x63\x47\x59\x34\x56\x78\x73\x4c\x5a\x57\x52\x6c\x63\x48\x57','\x57\x51\x56\x64\x49\x53\x6b\x71\x42\x76\x74\x63\x54\x4c\x38\x48','\x74\x38\x6f\x76\x57\x34\x5a\x64\x54\x6d\x6f\x45\x57\x36\x64\x63\x55\x61\x4b','\x57\x52\x75\x53\x57\x50\x58\x4f\x79\x4d\x4e\x63\x54\x43\x6f\x55','\x57\x51\x52\x64\x49\x6d\x6b\x2b\x73\x76\x69','\x57\x50\x44\x7a\x70\x53\x6b\x54\x57\x37\x5a\x63\x4b\x61','\x57\x34\x2f\x63\x4e\x67\x70\x64\x4c\x6d\x6b\x70','\x77\x6d\x6b\x34\x57\x51\x65\x58\x57\x37\x6c\x63\x53\x48\x69\x4a','\x57\x34\x71\x6e\x6a\x4d\x65\x39\x57\x37\x52\x64\x4c\x38\x6f\x62','\x44\x6d\x6f\x52\x57\x51\x42\x63\x4e\x73\x57','\x68\x53\x6b\x59\x57\x36\x4e\x63\x55\x38\x6f\x35','\x75\x4a\x4a\x64\x51\x59\x6c\x63\x4e\x67\x76\x61\x71\x57','\x57\x51\x7a\x47\x57\x50\x4c\x59\x66\x53\x6f\x39\x57\x35\x6d','\x57\x51\x37\x63\x56\x38\x6b\x73\x73\x71','\x57\x37\x52\x63\x50\x6d\x6b\x75\x78\x33\x52\x63\x49\x43\x6f\x68\x69\x47','\x6f\x67\x69\x74\x57\x51\x34\x39\x57\x35\x74\x63\x50\x62\x69','\x57\x36\x47\x36\x57\x36\x68\x63\x4e\x38\x6f\x42\x75\x6d\x6f\x7a\x57\x35\x61','\x57\x51\x68\x64\x4a\x6d\x6b\x6c\x41\x65\x5a\x63\x51\x30\x57\x52','\x57\x37\x75\x75\x57\x35\x6a\x35\x57\x51\x70\x64\x53\x53\x6b\x31\x57\x51\x75','\x44\x4a\x46\x63\x50\x58\x4a\x64\x4c\x6d\x6b\x62\x57\x51\x79','\x57\x51\x66\x4f\x57\x4f\x50\x35','\x65\x6d\x6f\x73\x57\x37\x35\x69\x45\x71','\x57\x51\x64\x64\x47\x4c\x52\x63\x4e\x32\x58\x44\x57\x50\x7a\x59','\x57\x52\x56\x64\x4b\x65\x42\x64\x4b\x6d\x6b\x53\x57\x35\x65\x6a\x57\x36\x48\x67\x57\x36\x70\x64\x56\x6d\x6f\x59\x57\x36\x4f','\x57\x51\x7a\x71\x57\x35\x57\x47\x6c\x5a\x31\x47\x44\x71','\x57\x4f\x65\x43\x57\x37\x4c\x48\x57\x34\x4a\x64\x4b\x38\x6b\x73\x73\x47','\x57\x36\x4f\x65\x57\x37\x64\x63\x4a\x53\x6f\x77','\x57\x51\x48\x75\x45\x61','\x57\x4f\x47\x71\x57\x36\x4e\x63\x4a\x6d\x6b\x6f','\x57\x35\x78\x63\x55\x6d\x6b\x39\x57\x37\x64\x64\x52\x6d\x6f\x63\x57\x52\x38\x54\x64\x6d\x6f\x36\x57\x50\x64\x63\x47\x72\x53','\x57\x50\x70\x64\x55\x59\x71\x2f\x57\x50\x42\x63\x4d\x43\x6f\x31\x57\x51\x4f','\x46\x4a\x56\x63\x51\x48\x68\x64\x48\x43\x6b\x30\x57\x51\x75','\x6d\x53\x6f\x4a\x57\x51\x34\x62\x6e\x53\x6f\x6b\x75\x4c\x38','\x57\x4f\x35\x71\x72\x5a\x6c\x63\x48\x47','\x71\x78\x50\x35\x57\x37\x4e\x63\x4c\x6d\x6f\x6c\x57\x50\x31\x4d','\x6d\x38\x6f\x73\x6f\x6d\x6f\x68\x73\x61','\x57\x52\x58\x4e\x57\x50\x62\x5a\x61\x43\x6f\x57\x57\x35\x74\x64\x51\x71','\x57\x51\x6e\x4c\x57\x34\x34\x70\x68\x47','\x6a\x43\x6f\x57\x57\x52\x65\x6d\x6b\x53\x6f\x6d','\x46\x64\x6c\x64\x4b\x58\x6c\x63\x48\x71','\x57\x35\x70\x64\x54\x43\x6b\x36\x73\x53\x6f\x58\x68\x75\x33\x63\x4b\x57','\x63\x43\x6f\x44\x66\x53\x6b\x4b\x45\x71','\x67\x4c\x76\x7a\x57\x4f\x78\x63\x53\x38\x6b\x4f\x57\x52\x71\x2f','\x57\x37\x71\x61\x57\x36\x68\x63\x48\x6d\x6f\x77\x75\x53\x6f\x7a','\x57\x35\x72\x76\x68\x38\x6f\x58\x57\x36\x33\x64\x53\x53\x6f\x72\x66\x47','\x57\x51\x2f\x64\x4b\x53\x6b\x42\x69\x75\x6c\x63\x4f\x30\x79\x56','\x57\x34\x62\x71\x70\x38\x6f\x5a\x57\x4f\x35\x68\x6e\x61\x61','\x61\x76\x6e\x30\x76\x38\x6b\x64\x7a\x47','\x57\x34\x47\x56\x6f\x72\x50\x48\x57\x52\x79\x41\x57\x51\x6d','\x71\x38\x6f\x61\x57\x34\x53','\x57\x37\x30\x59\x57\x34\x78\x63\x47\x6d\x6f\x73','\x57\x35\x4a\x64\x4a\x32\x44\x52\x62\x72\x2f\x64\x4a\x61','\x57\x36\x71\x6d\x57\x37\x37\x63\x47\x53\x6f\x6f\x78\x43\x6b\x43\x57\x50\x38','\x7a\x6d\x6f\x77\x57\x51\x34','\x73\x32\x39\x5a\x57\x36\x52\x63\x4e\x47','\x68\x53\x6f\x43\x6e\x53\x6b\x6b\x63\x43\x6b\x52\x57\x4f\x35\x79','\x75\x4a\x4a\x64\x54\x57','\x57\x50\x47\x77\x57\x37\x6c\x64\x51\x58\x2f\x64\x4e\x53\x6f\x41\x57\x37\x38','\x73\x6d\x6f\x6a\x57\x35\x5a\x64\x55\x38\x6f\x6a\x57\x34\x52\x63\x50\x57\x47','\x57\x37\x47\x2f\x57\x37\x52\x63\x4b\x43\x6f\x79','\x57\x50\x62\x44\x7a\x64\x4c\x57\x57\x36\x6c\x63\x4b\x53\x6b\x66\x75\x6d\x6f\x68\x71\x38\x6b\x34\x57\x34\x6a\x49','\x62\x38\x6f\x59\x57\x37\x7a\x47\x71\x33\x74\x64\x4e\x75\x38','\x57\x34\x6c\x64\x49\x77\x34','\x57\x50\x42\x63\x49\x6d\x6b\x66\x76\x78\x4b','\x57\x52\x7a\x57\x57\x50\x31\x57\x65\x53\x6f\x73\x57\x34\x2f\x64\x55\x71','\x57\x51\x70\x64\x4d\x43\x6b\x73\x42\x4c\x70\x63\x55\x57','\x57\x4f\x42\x63\x54\x32\x69\x77\x6f\x71\x64\x63\x51\x38\x6b\x56','\x57\x4f\x52\x64\x55\x62\x52\x64\x50\x57\x4b','\x57\x50\x6a\x73\x70\x53\x6b\x4c\x57\x37\x37\x63\x4d\x43\x6f\x64\x57\x36\x6d','\x57\x51\x68\x63\x51\x68\x43\x44\x68\x47','\x7a\x6d\x6b\x32\x57\x50\x38\x36\x57\x36\x64\x63\x55\x71\x4b\x6f','\x57\x4f\x6c\x64\x48\x47\x42\x64\x4b\x31\x6d\x73\x57\x51\x7a\x5a','\x57\x4f\x52\x63\x48\x43\x6b\x66\x72\x31\x43','\x57\x34\x6a\x41\x70\x53\x6f\x5a\x57\x50\x4c\x58\x6e\x57\x61','\x57\x36\x39\x34\x70\x43\x6f\x79\x57\x52\x4f','\x69\x38\x6b\x77\x57\x34\x52\x63\x55\x6d\x6f\x69\x57\x36\x43\x6d','\x79\x67\x54\x53\x57\x37\x4e\x63\x4d\x43\x6f\x61','\x57\x50\x47\x2f\x57\x4f\x54\x7a\x44\x71','\x67\x66\x76\x42\x57\x4f\x78\x63\x52\x53\x6b\x5a\x57\x50\x43\x2b','\x57\x50\x33\x63\x4a\x75\x47\x64\x76\x43\x6f\x6f\x76\x53\x6b\x7a','\x57\x50\x46\x64\x52\x58\x42\x64\x4c\x68\x69','\x57\x52\x33\x64\x52\x6d\x6f\x47\x57\x52\x64\x63\x53\x57','\x76\x6d\x6f\x30\x70\x63\x56\x63\x4d\x47\x56\x63\x4f\x6d\x6f\x47','\x57\x4f\x53\x41\x57\x36\x78\x63\x4c\x33\x65','\x57\x36\x37\x63\x47\x62\x37\x63\x4a\x53\x6f\x58\x57\x50\x6e\x43\x57\x34\x71','\x57\x34\x69\x61\x6d\x78\x35\x51\x57\x37\x46\x64\x54\x6d\x6f\x68','\x62\x78\x75\x70\x57\x51\x57\x35\x57\x34\x33\x64\x52\x72\x75','\x57\x4f\x65\x63\x57\x51\x31\x6f\x57\x34\x52\x64\x4d\x43\x6b\x44\x78\x61','\x57\x35\x75\x46\x69\x53\x6f\x2b\x57\x34\x54\x52\x6d\x58\x75','\x57\x50\x65\x79\x57\x37\x64\x63\x4c\x6d\x6b\x77','\x57\x37\x70\x64\x50\x53\x6b\x36\x71\x61','\x68\x53\x6b\x47\x6c\x48\x46\x63\x4a\x61','\x46\x30\x6a\x35\x57\x37\x33\x63\x50\x71','\x62\x38\x6f\x38\x57\x37\x62\x2f\x71\x4e\x70\x64\x50\x31\x4b','\x57\x35\x72\x79\x68\x53\x6f\x34\x57\x52\x4f','\x6a\x31\x76\x65\x75\x38\x6b\x33','\x57\x52\x79\x39\x57\x51\x50\x4c\x46\x61','\x57\x34\x37\x63\x47\x53\x6b\x51\x57\x35\x70\x64\x4b\x4d\x47','\x57\x35\x6c\x63\x55\x6d\x6b\x50\x57\x35\x70\x64\x4a\x32\x38\x2b\x73\x71','\x57\x36\x72\x45\x69\x43\x6f\x58\x57\x4f\x76\x37\x69\x48\x61','\x64\x30\x58\x4a','\x57\x37\x4f\x37\x57\x52\x50\x56\x7a\x33\x4a\x63\x52\x53\x6b\x4d'];_0x55f1=function(){return _0x3b7c47;};return _0x55f1();}var _0x1bc8d2={};_0x1bc8d2[_0x128774(0x1a2,'\x29\x46\x5a\x29')]=0.55,_0x1bc8d2[_0x128774(0x198,'\x26\x7a\x30\x30')]=0.25,_0x1bc8d2['\x69\x6e\x6e\x6f\x76\x61\x74\x65']=0.05,_0x1bc8d2['\x65\x78\x70\x6c\x6f\x72\x65']=0.15,_0x1bc8d2[_0x128774(0x1b6,'\x4d\x73\x57\x32')+_0x128774(0x1b7,'\x6e\x78\x5d\x50')+'\x6f\x6c\x64']=0.9,_0x1bc8d2[_0x128774(0x1a1,'\x36\x5a\x59\x21')]=_0x128774(0x266,'\x50\x77\x5a\x54')+_0x128774(0x1f4,'\x61\x30\x4e\x4d'),_0x1bc8d2[_0x128774(0x17b,'\x78\x49\x4c\x34')+_0x128774(0x25f,'\x2a\x31\x42\x25')]=_0x128774(0x1e8,'\x5a\x4a\x6e\x6a')+'\x6e\x20\x73\x61\x74\x75\x72\x61'+_0x128774(0x1dd,'\x50\x77\x5a\x54')+_0x128774(0x1c1,'\x31\x4e\x7a\x42')+_0x128774(0x1d6,'\x36\x6d\x72\x38')+_0x128774(0x1be,'\x71\x67\x29\x61')+_0x128774(0x17a,'\x6b\x70\x70\x56')+'\x6c\x6f\x72\x65\x20\x66\x6f\x72'+'\x20\x6e\x65\x77\x20\x64\x69\x72'+_0x128774(0x20e,'\x26\x7a\x30\x30');var _0x365436={};_0x365436['\x62\x61\x6c\x61\x6e\x63\x65\x64']=_0x1f772c,_0x365436[_0x128774(0x178,'\x4d\x73\x57\x32')]=_0x581ff0,_0x365436[_0x128774(0x1d7,'\x29\x46\x5a\x29')]=_0x422417,_0x365436['\x72\x65\x70\x61\x69\x72\x2d\x6f'+_0x128774(0x1f5,'\x29\x65\x49\x65')]=_0x54176,_0x365436[_0x128774(0x270,'\x31\x4e\x7a\x42')+_0x128774(0x257,'\x35\x5d\x6e\x21')]=_0xb65f94,_0x365436[_0x128774(0x1bf,'\x6b\x63\x39\x41')+_0x128774(0x214,'\x4d\x73\x57\x32')]=_0x1bc8d2;var _0x2a568b=_0x365436;function _0x3fbcad(){var _0x110254=_0x128774,_0x11b95b={};_0x11b95b[_0x110254(0x1cd,'\x65\x43\x6f\x4b')]=_0x110254(0x1c6,'\x54\x62\x50\x67'),_0x11b95b[_0x110254(0x1a0,'\x71\x67\x29\x61')]=_0x110254(0x17e,'\x6e\x78\x5d\x50')+_0x110254(0x254,'\x65\x50\x21\x5e')+_0x110254(0x204,'\x25\x6c\x36\x4e'),_0x11b95b[_0x110254(0x235,'\x26\x7a\x30\x30')]=_0x110254(0x1b9,'\x78\x50\x5b\x28')+'\x6e',_0x11b95b['\x53\x45\x6a\x74\x70']=function(_0x20a14f,_0x39c3d6){return _0x20a14f<_0x39c3d6;},_0x11b95b['\x78\x6f\x72\x43\x67']='\x75\x74\x66\x38';var _0x215568=_0x11b95b;try{var _0x1a4dac=_0x1d415b['\x72\x65\x73\x6f\x6c\x76\x65'](__dirname,'\x2e\x2e','\x2e\x2e',_0x215568[_0x110254(0x1e7,'\x6b\x63\x39\x41')],_0x215568['\x47\x75\x43\x6d\x53']),_0x5a4f73=_0x1d415b[_0x110254(0x26f,'\x65\x50\x21\x5e')](__dirname,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',_0x110254(0x182,'\x5a\x39\x65\x31'),_0x215568[_0x110254(0x23d,'\x35\x52\x43\x63')],_0x110254(0x245,'\x5a\x39\x65\x31')+_0x110254(0x1f3,'\x36\x5a\x59\x21')+_0x110254(0x22a,'\x6f\x61\x30\x6e')),_0x1ff1cc=[_0x1a4dac,_0x5a4f73];for(var _0x4fa976=0x49+0x2b*-0x75+-0x86*-0x25;_0x215568[_0x110254(0x1f1,'\x4f\x6d\x73\x6c')](_0x4fa976,_0x1ff1cc[_0x110254(0x249,'\x65\x43\x6f\x4b')]);_0x4fa976++){if(_0x26ace5[_0x110254(0x19e,'\x6e\x78\x5d\x50')+'\x6e\x63'](_0x1ff1cc[_0x4fa976])){var _0xd8bcfe=JSON[_0x110254(0x1fd,'\x35\x59\x65\x53')](_0x26ace5[_0x110254(0x200,'\x65\x50\x21\x5e')+_0x110254(0x22c,'\x36\x5a\x59\x21')](_0x1ff1cc[_0x4fa976],_0x215568[_0x110254(0x20c,'\x50\x77\x5a\x54')]));return _0xd8bcfe&&Number[_0x110254(0x212,'\x4f\x6d\x73\x6c')](_0xd8bcfe[_0x110254(0x1c5,'\x71\x67\x29\x61')+'\x6e\x74'])?_0xd8bcfe[_0x110254(0x246,'\x78\x49\x4c\x34')+'\x6e\x74']:0x1*0x204+-0x2*-0x2f1+-0x2a2*0x3;}}}catch(_0x111ebe){}return-0x1a8*-0x13+0xd81+-0x2cf9;}function _0x4c0913(_0x42d137){var _0x2b2570=_0x128774,_0x423f8e={'\x58\x5a\x65\x6e\x7a':function(_0x1578c8){return _0x1578c8();},'\x42\x59\x57\x66\x42':function(_0x1f0d3e,_0x575522){return _0x1f0d3e>_0x575522;},'\x63\x6a\x4f\x54\x48':function(_0x49578c,_0x4654f1){return _0x49578c<=_0x4654f1;},'\x49\x56\x42\x77\x54':_0x2b2570(0x24c,'\x36\x6d\x72\x38')+_0x2b2570(0x1ad,'\x26\x7a\x30\x30'),'\x78\x77\x6c\x6c\x4b':_0x2b2570(0x16f,'\x54\x62\x50\x67')+'\x65\x61\x64\x79\x5f\x73\x74\x61'+'\x74\x65','\x4f\x6b\x51\x73\x56':'\x73\x74\x65\x61\x64\x79\x2d\x73'+_0x2b2570(0x1e4,'\x34\x73\x33\x4e'),'\x59\x61\x6f\x72\x6e':_0x2b2570(0x23e,'\x65\x50\x21\x5e')+_0x2b2570(0x1a3,'\x29\x46\x5a\x29')+_0x2b2570(0x229,'\x61\x30\x4e\x4d'),'\x47\x65\x4a\x59\x6d':'\x6d\x65\x6d\x6f\x72\x79','\x50\x48\x62\x6b\x58':_0x2b2570(0x264,'\x69\x70\x65\x4c')+_0x2b2570(0x234,'\x40\x77\x24\x59')+'\x6a\x73\x6f\x6e','\x72\x56\x67\x44\x4f':'\x65\x76\x6f\x6c\x75\x74\x69\x6f'+'\x6e','\x43\x68\x6c\x66\x52':function(_0x4cd80a,_0xd8d411){return _0x4cd80a<_0xd8d411;},'\x69\x58\x67\x79\x4f':'\x75\x74\x66\x38','\x4d\x62\x46\x43\x6b':function(_0x3ad7f9,_0x35e9cd){return _0x3ad7f9(_0x35e9cd);},'\x50\x76\x4f\x51\x79':function(_0xde3c1d,_0x209f04){return _0xde3c1d===_0x209f04;},'\x6d\x49\x67\x7a\x78':_0x2b2570(0x251,'\x28\x4f\x36\x36'),'\x76\x41\x77\x4e\x55':function(_0x2c7713,_0x2eb850){return _0x2c7713===_0x2eb850;},'\x47\x61\x75\x65\x4b':_0x2b2570(0x1ba,'\x36\x6d\x72\x38'),'\x4b\x5a\x6d\x41\x65':_0x2b2570(0x241,'\x77\x44\x6c\x5e'),'\x46\x78\x69\x5a\x52':_0x2b2570(0x205,'\x34\x73\x33\x4e'),'\x54\x6b\x71\x71\x64':function(_0x526bd2,_0x1271f8){return _0x526bd2===_0x1271f8;},'\x4c\x45\x62\x79\x76':_0x2b2570(0x19b,'\x67\x6f\x79\x49'),'\x5a\x72\x58\x67\x4d':function(_0x33f838,_0x3dce22){return _0x33f838&&_0x3dce22;},'\x58\x72\x77\x4e\x6b':function(_0xbc7aa9){return _0xbc7aa9();},'\x57\x68\x6d\x72\x6f':_0x2b2570(0x1df,'\x40\x52\x54\x24'),'\x42\x63\x43\x59\x65':function(_0x51f767,_0x21d8ca){return _0x51f767!==_0x21d8ca;},'\x7a\x6a\x74\x6a\x47':function(_0x2e7744,_0x430a4b){return _0x2e7744!==_0x430a4b;},'\x41\x7a\x6e\x56\x73':_0x2b2570(0x186,'\x29\x65\x49\x65')},_0x353175=_0x42d137&&Array[_0x2b2570(0x1e9,'\x65\x50\x21\x5e')](_0x42d137[_0x2b2570(0x250,'\x25\x6c\x36\x4e')])?_0x42d137[_0x2b2570(0x174,'\x5b\x78\x4b\x4b')]:[],_0x3fdf5d=_0x423f8e[_0x2b2570(0x1c3,'\x6d\x71\x5d\x75')](String,process.env.EVOLVE_STRATEGY||_0x2b2570(0x20a,'\x78\x50\x5b\x28'))[_0x2b2570(0x1c0,'\x66\x36\x62\x45')+_0x2b2570(0x23a,'\x72\x63\x73\x47')]()[_0x2b2570(0x1fe,'\x5b\x5b\x49\x45')](),_0x1f6757=![];if(!process.env.EVOLVE_STRATEGY){var _0x22f796=String(process.env.FORCE_INNOVATION||process.env.EVOLVE_FORCE_INNOVATION||'')[_0x2b2570(0x24b,'\x35\x69\x44\x44')+_0x2b2570(0x176,'\x6b\x63\x39\x41')]();if(_0x423f8e[_0x2b2570(0x242,'\x61\x23\x55\x64')](_0x22f796,_0x423f8e['\x6d\x49\x67\x7a\x78'])){if(_0x423f8e[_0x2b2570(0x22d,'\x6e\x78\x5d\x50')](_0x2b2570(0x19d,'\x50\x77\x5a\x54'),_0x423f8e[_0x2b2570(0x26d,'\x2a\x41\x4b\x67')])){var _0x3b0ad8=_0x423f8e[_0x2b2570(0x1ca,'\x65\x50\x21\x5e')](_0x3f631d);_0x423f8e[_0x2b2570(0x211,'\x71\x67\x29\x61')](_0x3b0ad8,-0x98b*0x1+0xc3e+-0x2b3)&&_0x423f8e['\x63\x6a\x4f\x54\x48'](_0x3b0ad8,0x51*0x41+-0xad+-0x13df*0x1)&&(_0x1006e7=_0x423f8e[_0x2b2570(0x24a,'\x71\x42\x68\x7a')]);if(_0x4e80e0[_0x2b2570(0x263,'\x35\x5d\x6e\x21')](_0x423f8e[_0x2b2570(0x1b4,'\x2a\x31\x42\x25')])!==-(-0x2f*-0x80+-0x6*0x23d+-0x3*0x35b))_0x191ecc=_0x423f8e[_0x2b2570(0x265,'\x2a\x31\x42\x25')];else _0x464f9a[_0x2b2570(0x22f,'\x71\x42\x68\x7a')](_0x423f8e[_0x2b2570(0x192,'\x77\x44\x6c\x5e')])!==-(-0x1*0x236+-0x4*-0x644+-0x1*0x16d9)&&(_0x1a495d=_0x423f8e[_0x2b2570(0x1a8,'\x26\x7a\x30\x30')]);}else _0x3fdf5d=_0x423f8e[_0x2b2570(0x203,'\x78\x49\x4c\x34')],_0x1f6757=!![];}}var _0x1de31a=!process.env.EVOLVE_STRATEGY||_0x423f8e[_0x2b2570(0x1de,'\x4b\x41\x69\x32')](_0x3fdf5d,_0x423f8e[_0x2b2570(0x267,'\x61\x30\x4e\x4d')])||_0x423f8e[_0x2b2570(0x226,'\x5b\x78\x4b\x4b')](_0x3fdf5d,_0x423f8e[_0x2b2570(0x1f7,'\x34\x73\x33\x4e')]);if(_0x423f8e['\x5a\x72\x58\x67\x4d'](_0x1de31a,!_0x1f6757)){var _0x42d2aa=_0x423f8e[_0x2b2570(0x19a,'\x4b\x41\x69\x32')](_0x3fbcad);_0x42d2aa>0x388+0x222*0x10+-0x4*0x96a&&_0x423f8e[_0x2b2570(0x173,'\x78\x50\x5b\x28')](_0x42d2aa,0x1736+-0xe*-0x5e+-0x1c55)&&(_0x3fdf5d=_0x423f8e[_0x2b2570(0x24e,'\x66\x36\x62\x45')]);if(_0x353175[_0x2b2570(0x1e2,'\x35\x52\x43\x63')](_0x2b2570(0x230,'\x65\x50\x21\x5e')+_0x2b2570(0x228,'\x4f\x6d\x73\x6c')+'\x74\x65')!==-(-0xd*0x174+-0x1adb+-0x7a*-0x60)){if(_0x423f8e[_0x2b2570(0x269,'\x36\x33\x6a\x5d')](_0x423f8e[_0x2b2570(0x221,'\x67\x6f\x79\x49')],_0x423f8e[_0x2b2570(0x184,'\x61\x23\x55\x64')]))_0x3fdf5d=_0x2b2570(0x21e,'\x40\x52\x54\x24')+_0x2b2570(0x258,'\x25\x6c\x36\x4e');else{var _0x4ba054=_0x17e90c[_0x2b2570(0x1ec,'\x36\x33\x6a\x5d')](_0x17534a,'\x2e\x2e','\x2e\x2e',UZpnLm[_0x2b2570(0x26b,'\x6d\x71\x5d\x75')],UZpnLm[_0x2b2570(0x191,'\x57\x54\x49\x73')]),_0x587af7=_0x30a94a['\x72\x65\x73\x6f\x6c\x76\x65'](_0x4f0d96,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',UZpnLm['\x47\x65\x4a\x59\x6d'],UZpnLm[_0x2b2570(0x259,'\x6e\x78\x5d\x50')],UZpnLm[_0x2b2570(0x189,'\x28\x4f\x36\x36')]),_0x54f789=[_0x4ba054,_0x587af7];for(var _0x5ac21c=-0x167*0x2+0x254b+-0x227d;UZpnLm['\x43\x68\x6c\x66\x52'](_0x5ac21c,_0x54f789[_0x2b2570(0x209,'\x4f\x6d\x73\x6c')]);_0x5ac21c++){if(_0x3219a6['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x54f789[_0x5ac21c])){var _0x75a0ca=_0x31ef48[_0x2b2570(0x1fc,'\x36\x6d\x72\x38')](_0x23ea54[_0x2b2570(0x1f6,'\x35\x52\x43\x63')+_0x2b2570(0x23b,'\x6f\x76\x78\x64')](_0x54f789[_0x5ac21c],UZpnLm[_0x2b2570(0x1a9,'\x50\x77\x5a\x54')]));return _0x75a0ca&&_0x4c809a[_0x2b2570(0x21d,'\x44\x69\x5e\x44')](_0x75a0ca[_0x2b2570(0x20b,'\x61\x23\x55\x64')+'\x6e\x74'])?_0x75a0ca[_0x2b2570(0x181,'\x25\x6c\x36\x4e')+'\x6e\x74']:-0x9*-0x1bd+-0x80f+-0x1*0x796;}}}}else _0x423f8e[_0x2b2570(0x18e,'\x36\x5a\x59\x21')](_0x353175[_0x2b2570(0x222,'\x61\x23\x55\x64')](_0x423f8e[_0x2b2570(0x177,'\x50\x77\x5a\x54')]),-(-0x193b+0x3d*-0x71+0x3429))&&(_0x423f8e[_0x2b2570(0x220,'\x67\x6f\x79\x49')](_0x2b2570(0x1af,'\x5a\x39\x65\x31'),_0x423f8e[_0x2b2570(0x260,'\x4b\x41\x69\x32')])?(_0x4f2608=_0x2b2570(0x1d4,'\x29\x46\x5a\x29'),_0x2d72ef=!![]):_0x3fdf5d='\x73\x74\x65\x61\x64\x79\x2d\x73'+'\x74\x61\x74\x65');}if(_0x423f8e[_0x2b2570(0x238,'\x25\x6c\x36\x4e')](_0x3fdf5d,_0x423f8e[_0x2b2570(0x180,'\x28\x4f\x36\x36')]))_0x3fdf5d=_0x423f8e[_0x2b2570(0x1ac,'\x67\x6f\x79\x49')];var _0x17e713=_0x2a568b[_0x3fdf5d]||_0x2a568b[_0x423f8e[_0x2b2570(0x239,'\x65\x43\x6f\x4b')]],_0x4908bc={};return _0x4908bc[_0x2b2570(0x215,'\x35\x52\x43\x63')]=_0x3fdf5d,Object[_0x2b2570(0x170,'\x71\x67\x29\x61')]({},_0x17e713,_0x4908bc);}function _0xb88684(){return Object['\x6b\x65\x79\x73'](_0x2a568b);}var _0x591001={};_0x591001[_0x128774(0x183,'\x29\x65\x49\x65')+_0x128774(0x18c,'\x66\x36\x62\x45')]=_0x4c0913,_0x591001[_0x128774(0x236,'\x5a\x39\x65\x31')+_0x128774(0x21f,'\x6d\x71\x5d\x75')]=_0xb88684,_0x591001['\x53\x54\x52\x41\x54\x45\x47\x49'+'\x45\x53']=_0x2a568b,module[_0x128774(0x1a7,'\x28\x4f\x36\x36')]=_0x591001;
1
+ // Evolution Strategy Presets (v1.1)
2
+ // Controls the balance between repair, optimize, and innovate intents.
3
+ //
4
+ // Usage: set EVOLVE_STRATEGY env var to one of: balanced, innovate, harden, repair-only,
5
+ // early-stabilize, steady-state, or "auto" for adaptive selection.
6
+ // Default: balanced (or auto-detected based on cycle count / saturation signals)
7
+ //
8
+ // Each strategy defines:
9
+ // repair/optimize/innovate - target allocation ratios (inform the LLM prompt)
10
+ // repairLoopThreshold - repair ratio in last 8 cycles that triggers forced innovation
11
+ // label - human-readable name injected into the GEP prompt
12
+
13
+ var fs = require('fs');
14
+ var path = require('path');
15
+
16
+ var STRATEGIES = {
17
+ 'balanced': {
18
+ repair: 0.20,
19
+ optimize: 0.20,
20
+ innovate: 0.50,
21
+ explore: 0.10,
22
+ repairLoopThreshold: 0.50,
23
+ label: 'Balanced',
24
+ description: 'Normal operation. Steady growth with stability.',
25
+ },
26
+ 'innovate': {
27
+ repair: 0.05,
28
+ optimize: 0.10,
29
+ innovate: 0.80,
30
+ explore: 0.05,
31
+ repairLoopThreshold: 0.30,
32
+ label: 'Innovation Focus',
33
+ description: 'System is stable. Maximize new features and capabilities.',
34
+ },
35
+ 'harden': {
36
+ repair: 0.40,
37
+ optimize: 0.35,
38
+ innovate: 0.20,
39
+ explore: 0.05,
40
+ repairLoopThreshold: 0.70,
41
+ label: 'Hardening',
42
+ description: 'After a big change. Focus on stability and robustness.',
43
+ },
44
+ 'repair-only': {
45
+ repair: 0.80,
46
+ optimize: 0.18,
47
+ innovate: 0.00,
48
+ explore: 0.02,
49
+ repairLoopThreshold: 1.00,
50
+ label: 'Repair Only',
51
+ description: 'Emergency. Fix everything before doing anything else.',
52
+ },
53
+ 'early-stabilize': {
54
+ repair: 0.60,
55
+ optimize: 0.22,
56
+ innovate: 0.15,
57
+ explore: 0.03,
58
+ repairLoopThreshold: 0.80,
59
+ label: 'Early Stabilization',
60
+ description: 'First cycles. Prioritize fixing existing issues before innovating.',
61
+ },
62
+ 'steady-state': {
63
+ repair: 0.55,
64
+ optimize: 0.25,
65
+ innovate: 0.05,
66
+ explore: 0.15,
67
+ repairLoopThreshold: 0.90,
68
+ label: 'Steady State',
69
+ description: 'Evolution saturated. Maintain existing capabilities. Explore for new directions.',
70
+ },
71
+ };
72
+
73
+ // Read evolution_state.json to get the current cycle count for auto-detection.
74
+ function _readCycleCount() {
75
+ try {
76
+ // evolver/memory/evolution_state.json (local to the skill)
77
+ var localPath = path.resolve(__dirname, '..', '..', 'memory', 'evolution_state.json');
78
+ // workspace/memory/evolution/evolution_state.json (canonical path used by evolve.js)
79
+ var workspacePath = path.resolve(__dirname, '..', '..', '..', '..', 'memory', 'evolution', 'evolution_state.json');
80
+ var candidates = [localPath, workspacePath];
81
+ for (var i = 0; i < candidates.length; i++) {
82
+ if (fs.existsSync(candidates[i])) {
83
+ var data = JSON.parse(fs.readFileSync(candidates[i], 'utf8'));
84
+ return data && Number.isFinite(data.cycleCount) ? data.cycleCount : 0;
85
+ }
86
+ }
87
+ } catch (e) {}
88
+ return 0;
89
+ }
90
+
91
+ function resolveStrategy(opts) {
92
+ var signals = (opts && Array.isArray(opts.signals)) ? opts.signals : [];
93
+ var name = String(process.env.EVOLVE_STRATEGY || 'balanced').toLowerCase().trim();
94
+
95
+ // Backward compatibility: FORCE_INNOVATION=true maps to 'innovate'
96
+ var forceInnovation = false;
97
+ if (!process.env.EVOLVE_STRATEGY) {
98
+ var fi = String(process.env.FORCE_INNOVATION || process.env.EVOLVE_FORCE_INNOVATION || '').toLowerCase();
99
+ if (fi === 'true') {
100
+ name = 'innovate';
101
+ forceInnovation = true;
102
+ }
103
+ }
104
+
105
+ // Auto-detection: when no explicit strategy is set (defaults to 'balanced'),
106
+ // apply heuristics inspired by Echo-MingXuan's "fix first, innovate later" pattern.
107
+ // Skip if user explicitly set FORCE_INNOVATION=true
108
+ var isDefault = !process.env.EVOLVE_STRATEGY || name === 'balanced' || name === 'auto';
109
+
110
+ if (isDefault && !forceInnovation) {
111
+ // Early-stabilize: first 5 cycles should focus on fixing existing issues.
112
+ var cycleCount = _readCycleCount();
113
+ if (cycleCount > 0 && cycleCount <= 5) {
114
+ name = 'early-stabilize';
115
+ }
116
+
117
+ // Saturation detection: if saturation signals are present, switch to steady-state.
118
+ if (signals.indexOf('force_steady_state') !== -1) {
119
+ name = 'steady-state';
120
+ } else if (signals.indexOf('evolution_saturation') !== -1) {
121
+ name = 'steady-state';
122
+ }
123
+ }
124
+
125
+ // Explicit "auto" maps to whatever was auto-detected above (or balanced if no heuristic fired).
126
+ if (name === 'auto') name = 'balanced';
127
+
128
+ var strategy = STRATEGIES[name] || STRATEGIES['balanced'];
129
+ return Object.assign({}, strategy, { name: name });
130
+ }
131
+
132
+ function getStrategyNames() {
133
+ return Object.keys(STRATEGIES);
134
+ }
135
+
136
+ module.exports = { resolveStrategy, getStrategyNames, STRATEGIES };
@@ -1 +1,95 @@
1
- const _0x540d4d=_0x17f2;(function(_0x542720,_0x4d04bc){const _0x556420=_0x17f2,_0x43be80=_0x542720();while(!![]){try{const _0x24e2d4=parseInt(_0x556420(0x155,'\x70\x6e\x78\x61'))/(0x1065+0x2c*0x93+0x1f*-0x158)*(-parseInt(_0x556420(0x16e,'\x70\x59\x23\x51'))/(0x3aa*0x8+-0x59e+-0x17b0))+parseInt(_0x556420(0x18a,'\x6c\x4e\x75\x77'))/(-0x1*-0x535+0x752+-0xc84)*(-parseInt(_0x556420(0x18b,'\x4e\x4d\x47\x45'))/(-0x50d+-0x698*0x2+-0x1*-0x1241))+-parseInt(_0x556420(0x1b2,'\x42\x23\x6e\x5b'))/(-0x1*-0x1021+-0x2302+0x973*0x2)*(-parseInt(_0x556420(0x1bd,'\x52\x46\x6b\x48'))/(0x1983*-0x1+0x1371+0x618))+-parseInt(_0x556420(0x167,'\x44\x36\x32\x25'))/(0x6bb*-0x2+-0x1501+0x227e)+parseInt(_0x556420(0x15f,'\x45\x5b\x32\x67'))/(0x8b6+-0x5d5+-0x2d9*0x1)*(parseInt(_0x556420(0x179,'\x66\x4b\x39\x73'))/(-0x2365+-0x59*0x13+0x1*0x2a09))+parseInt(_0x556420(0x178,'\x24\x71\x29\x36'))/(0x20a3+-0xb2b*0x1+-0x1*0x156e)*(-parseInt(_0x556420(0x177,'\x2a\x77\x6d\x5e'))/(0x40c+0xda2+-0x11a3))+parseInt(_0x556420(0x170,'\x42\x23\x6e\x5b'))/(-0x16*0x176+-0x25*0xd7+0x3f43);if(_0x24e2d4===_0x4d04bc)break;else _0x43be80['push'](_0x43be80['shift']());}catch(_0x3bd643){_0x43be80['push'](_0x43be80['shift']());}}}(_0x73a6,0x31489+0x1ed1b*0x4+-0x67051*0x1));const _0x20f9e7=(function(){const _0x205ba9=_0x17f2,_0x4e0ce5={'\x6c\x4c\x71\x61\x78':function(_0x1831c1,_0xd715df){return _0x1831c1>_0xd715df;},'\x66\x69\x67\x4e\x55':_0x205ba9(0x19b,'\x24\x71\x29\x36')+'\x64\x5f\x64\x65\x66\x61\x75\x6c'+'\x74','\x44\x67\x70\x56\x6d':function(_0x4cd114,_0x3fa826){return _0x4cd114*_0x3fa826;},'\x6a\x6d\x4e\x76\x41':function(_0x3fc74b,_0x2572ce,_0x560a6e){return _0x3fc74b(_0x2572ce,_0x560a6e);},'\x41\x4e\x42\x73\x63':_0x205ba9(0x15c,'\x42\x23\x6e\x5b')};let _0x5c6d52=!![];return function(_0x58443a,_0x274ed7){const _0x5016e9=_0x205ba9,_0x490ac5={'\x63\x79\x65\x6b\x68':function(_0x14110d,_0x4fa26b){return _0x14110d===_0x4fa26b;},'\x4d\x78\x51\x6c\x79':function(_0x1362e3,_0x51d534){return _0x1362e3(_0x51d534);},'\x57\x70\x5a\x71\x54':function(_0x26f350,_0x15f5ad){const _0x716284=_0x17f2;return _0x4e0ce5[_0x716284(0x153,'\x30\x36\x6c\x59')](_0x26f350,_0x15f5ad);},'\x6f\x69\x48\x41\x4f':_0x4e0ce5[_0x5016e9(0x195,'\x66\x4b\x39\x73')],'\x66\x73\x78\x67\x53':function(_0x14c9ef,_0x2af3e7){return _0x14c9ef!=_0x2af3e7;},'\x74\x67\x51\x74\x74':function(_0x497663,_0x36fef1){const _0x7e547f=_0x5016e9;return _0x4e0ce5[_0x7e547f(0x187,'\x52\x72\x5a\x53')](_0x497663,_0x36fef1);},'\x58\x42\x47\x6c\x4e':function(_0xd0ea84,_0xff5f94,_0x4082d4){const _0x2d36fb=_0x5016e9;return _0x4e0ce5[_0x2d36fb(0x164,'\x53\x78\x74\x6e')](_0xd0ea84,_0xff5f94,_0x4082d4);},'\x77\x55\x53\x48\x68':_0x4e0ce5['\x41\x4e\x42\x73\x63'],'\x4c\x59\x4f\x46\x47':_0x5016e9(0x19e,'\x4e\x4d\x47\x45'),'\x6f\x4e\x4e\x56\x58':function(_0x3b72d0,_0x289357){return _0x3b72d0!==_0x289357;},'\x41\x52\x77\x63\x76':_0x5016e9(0x173,'\x66\x4b\x39\x73')},_0x44b293=_0x5c6d52?function(){const _0xb2e7c3=_0x5016e9,_0x1ccaa8={'\x6b\x73\x68\x51\x44':function(_0x3b676e,_0x20b278){return _0x3b676e(_0x20b278);},'\x4c\x4c\x78\x63\x58':_0x490ac5[_0xb2e7c3(0x180,'\x70\x38\x67\x57')],'\x42\x41\x41\x78\x4d':function(_0x22ffbd,_0x16f9df){const _0x3e0f80=_0xb2e7c3;return _0x490ac5[_0x3e0f80(0x1ac,'\x53\x78\x74\x6e')](_0x22ffbd,_0x16f9df);},'\x67\x6c\x46\x68\x55':function(_0x45a1eb,_0x49028a){return _0x45a1eb+_0x49028a;},'\x6f\x58\x69\x6f\x4d':function(_0x4d9a02,_0x322b81){const _0x5eb3c3=_0xb2e7c3;return _0x490ac5[_0x5eb3c3(0x15a,'\x72\x44\x5a\x34')](_0x4d9a02,_0x322b81);},'\x74\x49\x6b\x41\x50':function(_0x35242d,_0xbae41b){return _0x35242d>_0xbae41b;},'\x57\x41\x72\x75\x41':function(_0x1046de,_0xb23679,_0x334670){const _0x312390=_0xb2e7c3;return _0x490ac5[_0x312390(0x1ad,'\x26\x76\x46\x47')](_0x1046de,_0xb23679,_0x334670);}};if(_0x490ac5['\x63\x79\x65\x6b\x68'](_0x490ac5[_0xb2e7c3(0x16a,'\x48\x6d\x44\x41')],_0x490ac5[_0xb2e7c3(0x15d,'\x70\x38\x67\x57')])){const _0x242d89=_0x1ccaa8[_0xb2e7c3(0x1c2,'\x57\x73\x7a\x31')](_0x52305d,_0xbf1be1),_0x5a3aea=_0x242d89!=null?_0xb2e7c3(0x196,'\x61\x5d\x67\x6d')+_0xb2e7c3(0x14c,'\x4e\x4d\x47\x45')+_0xb2e7c3(0x185,'\x45\x5b\x32\x67'):_0x1ccaa8[_0xb2e7c3(0x1c0,'\x57\x73\x7a\x31')],_0x329065=_0x1ccaa8[_0xb2e7c3(0x189,'\x70\x38\x67\x57')](_0x242d89,null)?_0x242d89:_0x1437c1;let _0x3075a5=_0x1ccaa8[_0xb2e7c3(0x15e,'\x61\x5d\x67\x6d')](_0x28bfa2,_0x1ccaa8[_0xb2e7c3(0x1a5,'\x66\x4b\x39\x73')](_0x329065,_0x35a276));if(_0x1ccaa8[_0xb2e7c3(0x1a6,'\x53\x6b\x61\x6d')](_0x3075a5,_0x9ef978))_0x3075a5=_0x57b17b;return{'\x74\x6f\x6b\x65\x6e\x73\x5f\x73\x61\x76\x65\x64':_0x1ccaa8[_0xb2e7c3(0x15b,'\x52\x5e\x61\x54')](_0x2d9d31,_0x3075a5,_0x1bcfd7),'\x62\x61\x73\x69\x73':_0x5a3aea};}else{if(_0x274ed7){if(_0x490ac5[_0xb2e7c3(0x17c,'\x6a\x65\x37\x21')](_0x490ac5[_0xb2e7c3(0x18d,'\x48\x2a\x4e\x77')],_0xb2e7c3(0x1bb,'\x35\x41\x5e\x74'))){const _0xd283d1=_0x4f4e03&&(_0x7e882f[_0xb2e7c3(0x174,'\x70\x59\x23\x51')+_0xb2e7c3(0x1ba,'\x57\x73\x7a\x31')]||_0x52d33b[_0xb2e7c3(0x14f,'\x48\x2a\x4e\x77')]&&_0x296c6a[_0xb2e7c3(0x1b1,'\x24\x71\x29\x36')][_0xb2e7c3(0x1c8,'\x61\x5d\x67\x6d')+_0xb2e7c3(0x1aa,'\x25\x57\x66\x67')]);if(_0xd283d1&&_0x490ac5[_0xb2e7c3(0x161,'\x4b\x54\x6d\x4a')](typeof _0xd283d1,_0xb2e7c3(0x19d,'\x6a\x65\x37\x21'))){const _0x1708a0=_0x490ac5[_0xb2e7c3(0x1c5,'\x48\x2a\x4e\x77')](_0x387fc0,_0xd283d1[_0xb2e7c3(0x186,'\x62\x71\x76\x44')]);if(_0x458e03[_0xb2e7c3(0x191,'\x53\x78\x74\x6e')](_0x1708a0)&&_0x490ac5['\x57\x70\x5a\x71\x54'](_0x1708a0,0x251a+0x1*-0x1776+-0xda4))return _0x1708a0;}return null;}else{const _0x504152=_0x274ed7[_0xb2e7c3(0x1a3,'\x5e\x62\x77\x58')](_0x58443a,arguments);return _0x274ed7=null,_0x504152;}}}}:function(){};return _0x5c6d52=![],_0x44b293;};}()),_0x43b49b=_0x20f9e7(this,function(){const _0x4685f4=_0x17f2,_0x3e6657={};_0x3e6657['\x51\x64\x50\x63\x5a']='\x28\x28\x28\x2e\x2b\x29\x2b\x29'+_0x4685f4(0x154,'\x66\x4b\x39\x73');const _0xd5a0a2=_0x3e6657;return _0x43b49b[_0x4685f4(0x192,'\x52\x5e\x61\x54')]()[_0x4685f4(0x17e,'\x4f\x6b\x6b\x40')](_0xd5a0a2[_0x4685f4(0x1c7,'\x23\x25\x49\x76')])['\x74\x6f\x53\x74\x72\x69\x6e\x67']()['\x63\x6f\x6e\x73\x74\x72\x75\x63'+'\x74\x6f\x72'](_0x43b49b)[_0x4685f4(0x1a0,'\x75\x6f\x5a\x49')](_0x4685f4(0x18e,'\x4e\x42\x50\x2a')+_0x4685f4(0x1b0,'\x38\x24\x74\x75'));});_0x43b49b();'use strict';const {CONSTANTS:_0x3dd7ce}=require(_0x540d4d(0x1a1,'\x4e\x4d\x47\x45')+_0x540d4d(0x17b,'\x53\x78\x74\x6e')),_0x360551=_0x3dd7ce['\x72\x65\x75\x73\x65\x5f\x65\x73'+'\x74\x69\x6d\x61\x74\x6f\x72'][_0x540d4d(0x17a,'\x4e\x4d\x47\x45')+_0x540d4d(0x152,'\x24\x71\x29\x36')+'\x6e\x73'],_0x143245=_0x3dd7ce[_0x540d4d(0x1be,'\x44\x4b\x55\x4e')+_0x540d4d(0x19f,'\x52\x72\x5a\x53')]['\x74\x6f\x6b\x65\x6e\x73\x5f\x70'+_0x540d4d(0x1bc,'\x30\x36\x6c\x59')+_0x540d4d(0x190,'\x75\x6f\x5a\x49')],_0x4c4e13=_0x3dd7ce[_0x540d4d(0x157,'\x57\x73\x7a\x31')+_0x540d4d(0x184,'\x57\x73\x7a\x31')][_0x540d4d(0x165,'\x24\x64\x35\x5a')+_0x540d4d(0x17d,'\x24\x48\x50\x70')+'\x73'],_0x4c8ba4=_0x3dd7ce[_0x540d4d(0x16b,'\x35\x41\x5e\x74')+_0x540d4d(0x188,'\x35\x41\x5e\x74')][_0x540d4d(0x194,'\x6d\x48\x78\x65')+_0x540d4d(0x182,'\x70\x38\x67\x57')+_0x540d4d(0x193,'\x4e\x42\x50\x2a')],_0xd4dd19=_0x3dd7ce[_0x540d4d(0x168,'\x6f\x45\x57\x45')+'\x74\x69\x6d\x61\x74\x6f\x72'][_0x540d4d(0x18f,'\x23\x68\x38\x79')+_0x540d4d(0x1a2,'\x6d\x48\x78\x65')+'\x5f\x66\x72\x61\x63\x74\x69\x6f'+'\x6e'];function _0xf49381(_0x3397af){const _0x397d08=_0x540d4d,_0x3a6abd={'\x56\x68\x54\x52\x7a':function(_0x222615,_0x52d269){return _0x222615===_0x52d269;},'\x69\x70\x6a\x61\x4a':function(_0x109bf8,_0x29187d){return _0x109bf8(_0x29187d);},'\x4a\x71\x74\x4b\x79':function(_0x455b47,_0x3350e4){return _0x455b47>_0x3350e4;}},_0x44578=_0x3397af&&(_0x3397af[_0x397d08(0x151,'\x45\x5b\x32\x67')+_0x397d08(0x14a,'\x54\x4b\x50\x70')]||_0x3397af['\x70\x61\x79\x6c\x6f\x61\x64']&&_0x3397af[_0x397d08(0x1b5,'\x52\x72\x5a\x53')][_0x397d08(0x16d,'\x52\x5e\x61\x54')+_0x397d08(0x160,'\x61\x5d\x67\x6d')]);if(_0x44578&&_0x3a6abd[_0x397d08(0x1c3,'\x24\x48\x50\x70')](typeof _0x44578,_0x397d08(0x183,'\x72\x44\x5a\x34'))){const _0x5f2a2d=_0x3a6abd[_0x397d08(0x150,'\x57\x6e\x65\x6e')](Number,_0x44578[_0x397d08(0x1a7,'\x23\x68\x38\x79')]);if(Number[_0x397d08(0x1a8,'\x6d\x48\x78\x65')](_0x5f2a2d)&&_0x3a6abd[_0x397d08(0x1bf,'\x52\x72\x5a\x53')](_0x5f2a2d,-0x58a+0x43*0x2f+0x1*-0x6c3))return _0x5f2a2d;}return null;}function _0x35b3bf(_0x6cfea7,_0x176944){const _0x2f537f=_0x540d4d,_0x3c6ff0={'\x4d\x52\x78\x63\x48':function(_0x11e076,_0x44be0e){return _0x11e076(_0x44be0e);},'\x63\x75\x49\x67\x59':function(_0x430d00,_0x451b9f){return _0x430d00*_0x451b9f;}},_0x1842c6=_0x3c6ff0[_0x2f537f(0x198,'\x6c\x4e\x75\x77')](Number,_0x6cfea7)||-0x1d76+-0x2*0x469+0x2648,_0x54636b=_0x176944===_0x2f537f(0x1ab,'\x30\x36\x6c\x59')+'\x65'?_0x3c6ff0[_0x2f537f(0x17f,'\x4b\x54\x6d\x4a')](_0x1842c6,_0xd4dd19):_0x1842c6;return Math[_0x2f537f(0x19a,'\x74\x46\x52\x29')](_0x54636b);}function _0x3f2744(_0x42261e,_0x1e3519){const _0x3adb0a=_0x540d4d,_0x558d0f={'\x54\x66\x4d\x68\x74':function(_0x2d4e65,_0x58315f){return _0x2d4e65(_0x58315f);},'\x48\x45\x57\x50\x5a':'\x65\x73\x74\x69\x6d\x61\x74\x65'+_0x3adb0a(0x172,'\x24\x64\x35\x5a')+_0x3adb0a(0x1b8,'\x4a\x64\x70\x33'),'\x4a\x6a\x7a\x53\x63':function(_0x371061,_0xd095c8){return _0x371061!=_0xd095c8;},'\x74\x55\x5a\x46\x61':function(_0x374d1b,_0x2e8d1a){return _0x374d1b+_0x2e8d1a;},'\x79\x4a\x7a\x4b\x6e':function(_0x42c70a,_0x1ebce1){return _0x42c70a*_0x1ebce1;},'\x4d\x74\x6d\x6a\x7a':function(_0x4f17dd,_0x16c594,_0x3f3362){return _0x4f17dd(_0x16c594,_0x3f3362);}},_0x4032c4=_0x558d0f[_0x3adb0a(0x169,'\x5a\x5d\x6e\x38')](_0xf49381,_0x42261e),_0x41fb61=_0x4032c4!=null?_0x558d0f[_0x3adb0a(0x14e,'\x62\x71\x76\x44')]:_0x3adb0a(0x1b6,'\x57\x6e\x65\x6e')+_0x3adb0a(0x1b4,'\x48\x6d\x44\x41')+'\x74',_0x28b4fa=_0x558d0f[_0x3adb0a(0x14d,'\x5a\x5d\x6e\x38')](_0x4032c4,null)?_0x4032c4:_0x4c8ba4;let _0x18f71f=_0x558d0f[_0x3adb0a(0x158,'\x52\x5e\x61\x54')](_0x360551,_0x558d0f[_0x3adb0a(0x199,'\x45\x5b\x32\x67')](_0x28b4fa,_0x143245));if(_0x18f71f>_0x4c4e13)_0x18f71f=_0x4c4e13;return{'\x74\x6f\x6b\x65\x6e\x73\x5f\x73\x61\x76\x65\x64':_0x558d0f[_0x3adb0a(0x1a4,'\x30\x36\x6c\x59')](_0x35b3bf,_0x18f71f,_0x1e3519),'\x62\x61\x73\x69\x73':_0x41fb61};}function _0x17f2(_0x30c40f,_0x4f6dcf){_0x30c40f=_0x30c40f-(-0x92*0x37+0x197+0x1f11);const _0x29c183=_0x73a6();let _0x3b6fc9=_0x29c183[_0x30c40f];if(_0x17f2['\x71\x78\x50\x45\x64\x73']===undefined){var _0x268693=function(_0x3788cc){const _0x5cc1ac='\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 _0x41062a='',_0x3f9b50='',_0x2bb5ff=_0x41062a+_0x268693,_0x2f798a=(''+function(){return 0x4*-0x4dd+0x1f82+-0xc0e;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x5f*-0x3+-0x146c*-0x1+-0x1588);for(let _0x4e55a3=0x153e*0x1+-0x1462*-0x1+-0x14d0*0x2,_0x11556a,_0x2c3272,_0x5dfc5f=0x5e*-0x63+0x1*-0x62b+0x1*0x2a85;_0x2c3272=_0x3788cc['\x63\x68\x61\x72\x41\x74'](_0x5dfc5f++);~_0x2c3272&&(_0x11556a=_0x4e55a3%(0x7*-0x329+-0x3fc+-0x3*-0x8b5)?_0x11556a*(0x3*-0xaed+-0x68d+0x2794)+_0x2c3272:_0x2c3272,_0x4e55a3++%(-0x4*0x5f+-0x1f9d+-0x4bb*-0x7))?_0x41062a+=_0x2f798a||_0x2bb5ff['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5dfc5f+(-0x7*-0x148+0x2*0x6b2+-0xb29*0x2))-(-0xb41*0x2+-0x1*0x5b0+0x1c3c)!==0x71f*-0x2+0x89+0xdb5?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0xc12+0x1*0xb84+0x18d&_0x11556a>>(-(0x22*0x115+-0xf0e+-0x15ba)*_0x4e55a3&0x1532+-0x17ee+0x2c2)):_0x4e55a3:0xba+-0xbf3+0xb39){_0x2c3272=_0x5cc1ac['\x69\x6e\x64\x65\x78\x4f\x66'](_0x2c3272);}for(let _0x585b31=0x483+0x1*-0x215f+0x1cdc,_0x423655=_0x41062a['\x6c\x65\x6e\x67\x74\x68'];_0x585b31<_0x423655;_0x585b31++){_0x3f9b50+='\x25'+('\x30\x30'+_0x41062a['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x585b31)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0xf8+0x1780+0x4*-0x59e))['\x73\x6c\x69\x63\x65'](-(-0x5*-0x14b+-0x51*0x29+0x684));}return decodeURIComponent(_0x3f9b50);};const _0x293661=function(_0x350422,_0x1481c2){let _0x442001=[],_0x1e9c33=0x1b7a*-0x1+0x1846+-0x52*-0xa,_0x3c822,_0x2b1559='';_0x350422=_0x268693(_0x350422);let _0x200cd9;for(_0x200cd9=-0x1*0x1733+0x10d0+-0x5*-0x147;_0x200cd9<0x1*0x204+0x274+-0x1*0x378;_0x200cd9++){_0x442001[_0x200cd9]=_0x200cd9;}for(_0x200cd9=-0x984+0x2240+-0xc5e*0x2;_0x200cd9<-0x3*-0xa21+-0x9a9*-0x1+-0x270c;_0x200cd9++){_0x1e9c33=(_0x1e9c33+_0x442001[_0x200cd9]+_0x1481c2['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x200cd9%_0x1481c2['\x6c\x65\x6e\x67\x74\x68']))%(0x129f+-0x8+-0x4f*0x39),_0x3c822=_0x442001[_0x200cd9],_0x442001[_0x200cd9]=_0x442001[_0x1e9c33],_0x442001[_0x1e9c33]=_0x3c822;}_0x200cd9=0xfe+0x788*0x3+-0x2*0xbcb,_0x1e9c33=-0x892+0x10f*0x1+-0x783*-0x1;for(let _0xcb0045=0x41*-0x65+0xc1a+0xd8b;_0xcb0045<_0x350422['\x6c\x65\x6e\x67\x74\x68'];_0xcb0045++){_0x200cd9=(_0x200cd9+(0x2*-0x925+-0x1939+0x2b84))%(-0x186+-0x1feb+-0x1*-0x2271),_0x1e9c33=(_0x1e9c33+_0x442001[_0x200cd9])%(0x9e8+-0x9ad*-0x2+-0x1c42),_0x3c822=_0x442001[_0x200cd9],_0x442001[_0x200cd9]=_0x442001[_0x1e9c33],_0x442001[_0x1e9c33]=_0x3c822,_0x2b1559+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x350422['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xcb0045)^_0x442001[(_0x442001[_0x200cd9]+_0x442001[_0x1e9c33])%(-0x3eb*0x8+-0x11*-0x34+-0x2b*-0xac)]);}return _0x2b1559;};_0x17f2['\x48\x4a\x48\x6d\x43\x6b']=_0x293661,_0x17f2['\x73\x58\x71\x75\x77\x4d']={},_0x17f2['\x71\x78\x50\x45\x64\x73']=!![];}const _0x5536a6=_0x29c183[0x1d17+0x17d1+0x8*-0x69d],_0x4ef226=_0x30c40f+_0x5536a6,_0x46f501=_0x17f2['\x73\x58\x71\x75\x77\x4d'][_0x4ef226];if(!_0x46f501){if(_0x17f2['\x4d\x45\x46\x59\x56\x61']===undefined){const _0x937329=function(_0xf5f972){this['\x4b\x75\x46\x5a\x69\x62']=_0xf5f972,this['\x6d\x77\x42\x52\x75\x41']=[-0x17b5+-0x2*0x125b+0x3c6c,0x1*-0x10a4+-0x1a85*0x1+-0xe63*-0x3,-0xbb2+0x373*-0x1+0xf25],this['\x59\x62\x5a\x76\x52\x76']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x59\x68\x55\x4c\x69\x4a']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x6e\x6c\x53\x62\x49\x6e']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x937329['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4a\x70\x76\x61\x46\x68']=function(){const _0xb80a02=new RegExp(this['\x59\x68\x55\x4c\x69\x4a']+this['\x6e\x6c\x53\x62\x49\x6e']),_0x48c8a9=_0xb80a02['\x74\x65\x73\x74'](this['\x59\x62\x5a\x76\x52\x76']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x6d\x77\x42\x52\x75\x41'][0xe3e+-0x6*0x192+-0x4d1]:--this['\x6d\x77\x42\x52\x75\x41'][0x11e6*0x2+0x2*0x56f+-0x2eaa];return this['\x65\x71\x50\x64\x54\x43'](_0x48c8a9);},_0x937329['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x65\x71\x50\x64\x54\x43']=function(_0x54ea83){if(!Boolean(~_0x54ea83))return _0x54ea83;return this['\x42\x45\x66\x66\x54\x64'](this['\x4b\x75\x46\x5a\x69\x62']);},_0x937329['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x42\x45\x66\x66\x54\x64']=function(_0x5add0b){for(let _0x11953a=0x13b7+0xb0a+-0x1ec1,_0x778de9=this['\x6d\x77\x42\x52\x75\x41']['\x6c\x65\x6e\x67\x74\x68'];_0x11953a<_0x778de9;_0x11953a++){this['\x6d\x77\x42\x52\x75\x41']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x778de9=this['\x6d\x77\x42\x52\x75\x41']['\x6c\x65\x6e\x67\x74\x68'];}return _0x5add0b(this['\x6d\x77\x42\x52\x75\x41'][0x2cf*0x7+-0x527*0x1+-0xe82]);},(''+function(){return 0x2e*0x1d+0xd*0x161+-0x1723;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x2635*-0x1+0x116f*-0x1+-0x4d*-0xb9)&&new _0x937329(_0x17f2)['\x4a\x70\x76\x61\x46\x68'](),_0x17f2['\x4d\x45\x46\x59\x56\x61']=!![];}_0x3b6fc9=_0x17f2['\x48\x4a\x48\x6d\x43\x6b'](_0x3b6fc9,_0x4f6dcf),_0x17f2['\x73\x58\x71\x75\x77\x4d'][_0x4ef226]=_0x3b6fc9;}else _0x3b6fc9=_0x46f501;return _0x3b6fc9;}const _0x8a8b92={};_0x8a8b92[_0x540d4d(0x175,'\x5a\x5d\x6e\x38')+_0x540d4d(0x1c4,'\x57\x73\x7a\x31')+_0x540d4d(0x1af,'\x23\x56\x69\x59')]=_0x3f2744,_0x8a8b92[_0x540d4d(0x19c,'\x73\x74\x77\x73')+'\x65\x53\x61\x76\x69\x6e\x67']=_0x35b3bf,_0x8a8b92['\x44\x45\x52\x49\x56\x45\x5f\x42'+_0x540d4d(0x162,'\x42\x23\x6e\x5b')+'\x4e\x53']=_0x360551,_0x8a8b92['\x54\x4f\x4b\x45\x4e\x53\x5f\x50'+_0x540d4d(0x16c,'\x6d\x48\x78\x65')+_0x540d4d(0x171,'\x6c\x4e\x75\x77')]=_0x143245,_0x8a8b92[_0x540d4d(0x1c1,'\x4e\x4d\x47\x45')+_0x540d4d(0x1b7,'\x35\x41\x5e\x74')+'\x53']=_0x4c4e13,_0x8a8b92[_0x540d4d(0x1c6,'\x45\x5b\x32\x67')+_0x540d4d(0x1b9,'\x35\x41\x5e\x74')+_0x540d4d(0x156,'\x44\x4b\x55\x4e')]=_0x4c8ba4,_0x8a8b92[_0x540d4d(0x16f,'\x24\x64\x35\x5a')+_0x540d4d(0x166,'\x6d\x48\x78\x65')+'\x5f\x46\x52\x41\x43\x54\x49\x4f'+'\x4e']=_0xd4dd19,module[_0x540d4d(0x18c,'\x4e\x4d\x47\x45')]=_0x8a8b92;function _0x73a6(){const _0x4410f4=['\x57\x37\x46\x64\x49\x38\x6b\x32\x65\x49\x48\x73\x57\x34\x5a\x63\x4a\x57','\x57\x34\x72\x44\x61\x68\x35\x50','\x57\x37\x46\x64\x4a\x33\x6c\x63\x53\x53\x6f\x50\x57\x37\x62\x4b\x57\x34\x53','\x57\x4f\x4a\x64\x4f\x38\x6f\x31\x42\x73\x76\x67\x75\x53\x6b\x5a','\x44\x75\x5a\x64\x53\x53\x6b\x6a\x69\x58\x34\x48\x57\x36\x4f\x37\x57\x52\x42\x63\x54\x30\x54\x74','\x62\x65\x30\x56\x76\x68\x69\x59\x57\x51\x61\x41\x57\x51\x4e\x64\x56\x77\x48\x38\x57\x37\x65','\x43\x64\x4f\x5a\x44\x59\x39\x73\x72\x75\x69','\x57\x50\x54\x67\x62\x32\x39\x63\x57\x50\x74\x63\x52\x71','\x57\x34\x6a\x66\x70\x38\x6b\x47\x57\x4f\x33\x63\x54\x6d\x6f\x35\x71\x57','\x6e\x64\x56\x63\x52\x53\x6f\x6b\x43\x71','\x6d\x53\x6b\x49\x62\x48\x33\x63\x4f\x57','\x57\x50\x37\x63\x4e\x47\x42\x63\x54\x38\x6b\x68\x64\x30\x4a\x63\x4a\x61','\x74\x59\x34\x51\x57\x51\x33\x64\x4e\x76\x34','\x73\x58\x43\x45\x66\x43\x6f\x6b','\x57\x36\x61\x4d\x6d\x43\x6b\x37\x57\x51\x38','\x57\x36\x4a\x64\x51\x33\x79\x56\x6c\x38\x6b\x76\x57\x35\x79','\x57\x36\x57\x4e\x67\x6d\x6b\x75\x57\x4f\x43\x30\x61\x38\x6b\x35','\x75\x53\x6b\x76\x57\x52\x43\x45\x79\x38\x6b\x74','\x57\x52\x4c\x79\x57\x52\x6a\x35\x57\x50\x64\x64\x4b\x43\x6b\x46','\x57\x50\x70\x63\x4c\x72\x65\x75\x64\x71\x65','\x42\x38\x6b\x4f\x57\x37\x35\x33\x57\x4f\x69','\x57\x51\x46\x64\x49\x78\x79\x44\x57\x34\x75','\x7a\x43\x6f\x48\x76\x30\x54\x79\x57\x36\x52\x63\x50\x47','\x57\x34\x30\x6f\x6f\x6d\x6b\x63\x57\x51\x30','\x66\x38\x6f\x2f\x61\x75\x4c\x70\x75\x47\x75','\x57\x50\x43\x75\x46\x53\x6f\x38\x57\x34\x4e\x64\x4f\x6d\x6b\x71\x79\x65\x52\x63\x4d\x74\x38\x37\x57\x4f\x34','\x57\x34\x6e\x79\x70\x43\x6b\x4d\x57\x4f\x4e\x63\x50\x43\x6f\x76','\x7a\x6d\x6b\x4d\x61\x43\x6b\x66\x57\x50\x47','\x57\x35\x4a\x64\x54\x43\x6b\x70\x65\x38\x6f\x61\x57\x36\x6a\x56\x6d\x47','\x43\x6d\x6b\x64\x63\x53\x6b\x74\x64\x33\x46\x64\x56\x53\x6b\x6f','\x57\x36\x46\x64\x4c\x68\x31\x41\x61\x43\x6b\x63\x57\x36\x30','\x6c\x47\x56\x63\x48\x38\x6f\x72\x45\x4b\x35\x4e\x57\x35\x4b','\x57\x35\x2f\x63\x4f\x53\x6f\x46\x65\x38\x6f\x47\x41\x43\x6b\x74\x43\x47','\x57\x50\x5a\x63\x54\x6d\x6f\x6a\x77\x6d\x6b\x79','\x7a\x43\x6f\x4e\x62\x53\x6b\x33\x57\x34\x50\x50\x79\x43\x6b\x43','\x57\x34\x72\x2f\x6a\x4c\x76\x4c','\x57\x52\x37\x64\x4e\x4c\x75\x48\x63\x43\x6b\x42\x57\x34\x6e\x44','\x6d\x53\x6f\x31\x57\x51\x6d\x4e\x57\x34\x6d\x39\x6d\x6d\x6b\x57\x6c\x32\x74\x63\x4a\x38\x6f\x2f\x57\x50\x4b','\x41\x43\x6f\x52\x6c\x4b\x31\x6d','\x57\x50\x4a\x63\x56\x47\x38\x32\x66\x47','\x57\x34\x64\x63\x4b\x33\x30\x58\x46\x71','\x6a\x68\x4b\x73\x77\x73\x6e\x30\x78\x4c\x38','\x74\x43\x6f\x4e\x57\x35\x31\x61\x57\x50\x56\x63\x54\x71\x33\x64\x4c\x47','\x6d\x53\x6b\x6f\x69\x49\x37\x63\x4d\x6d\x6f\x79','\x57\x34\x31\x48\x70\x53\x6b\x47\x57\x50\x57','\x57\x50\x46\x64\x48\x32\x53\x51\x57\x35\x57\x34\x6a\x71','\x57\x37\x68\x64\x4c\x75\x6e\x65\x63\x38\x6b\x65','\x57\x4f\x47\x70\x70\x53\x6b\x4f\x57\x4f\x33\x63\x55\x6d\x6f\x69\x72\x47','\x44\x6d\x6f\x62\x62\x43\x6b\x2f\x57\x35\x39\x48\x79\x38\x6b\x4b','\x57\x34\x69\x31\x68\x59\x42\x63\x51\x71','\x57\x34\x47\x39\x57\x35\x35\x38\x7a\x61','\x57\x34\x31\x6f\x6b\x68\x72\x39','\x57\x4f\x47\x38\x79\x31\x72\x4c','\x42\x53\x6b\x70\x61\x53\x6b\x74\x64\x47','\x45\x6d\x6f\x54\x6d\x6d\x6b\x33\x57\x34\x44\x48\x45\x43\x6b\x4d','\x57\x35\x4a\x63\x50\x6d\x6b\x33\x78\x4a\x35\x71\x41\x38\x6b\x70\x66\x47','\x70\x48\x78\x64\x48\x53\x6f\x4e','\x57\x37\x43\x53\x57\x35\x76\x5a\x42\x6d\x6b\x6c\x57\x50\x6c\x63\x47\x47','\x69\x71\x56\x63\x55\x43\x6f\x46\x72\x57','\x57\x36\x6d\x64\x41\x4a\x5a\x64\x4a\x61','\x57\x52\x70\x63\x47\x68\x44\x58\x63\x43\x6b\x52\x57\x36\x46\x63\x4e\x57','\x61\x59\x75\x66\x57\x35\x4c\x57\x76\x33\x7a\x55','\x45\x38\x6b\x68\x76\x31\x34','\x6d\x77\x53\x46\x78\x63\x66\x30\x74\x47','\x6d\x5a\x53\x50\x64\x6d\x6f\x72\x57\x51\x4f\x6a\x67\x59\x4f\x4d\x57\x34\x57','\x57\x52\x37\x64\x51\x71\x58\x78\x57\x34\x62\x5a\x57\x37\x62\x77\x57\x52\x47','\x57\x36\x4e\x63\x48\x76\x35\x38\x57\x36\x66\x41\x57\x36\x58\x2b','\x57\x50\x70\x64\x4a\x33\x38\x4e\x57\x34\x43\x32\x6d\x57','\x65\x6d\x6b\x73\x57\x37\x37\x64\x49\x6d\x6b\x70\x41\x65\x48\x4b','\x75\x6d\x6f\x79\x7a\x78\x35\x4a\x57\x34\x37\x63\x4b\x43\x6b\x7a','\x42\x6d\x6f\x52\x77\x43\x6f\x51\x74\x68\x30','\x75\x53\x6f\x61\x45\x32\x72\x52\x57\x34\x64\x63\x4b\x6d\x6b\x69','\x57\x51\x4c\x79\x57\x51\x50\x52','\x44\x38\x6f\x64\x45\x30\x39\x31','\x57\x36\x61\x37\x57\x36\x58\x31\x44\x53\x6b\x70\x57\x50\x6c\x63\x48\x47','\x45\x75\x57\x43\x57\x51\x79\x71\x42\x43\x6f\x54\x57\x34\x56\x63\x55\x61','\x57\x4f\x4b\x78\x44\x62\x6a\x64\x65\x6d\x6b\x78\x57\x52\x47','\x57\x51\x4e\x64\x4e\x33\x69\x61\x57\x35\x65','\x57\x4f\x66\x39\x57\x51\x44\x37\x57\x52\x57','\x57\x36\x6a\x4c\x68\x38\x6b\x61\x57\x51\x33\x63\x4c\x6d\x6f\x35\x79\x47','\x57\x51\x7a\x63\x57\x52\x44\x6a\x57\x51\x61','\x57\x51\x4e\x63\x48\x47\x33\x63\x4b\x43\x6b\x73','\x57\x50\x39\x75\x57\x51\x50\x52\x57\x4f\x68\x64\x51\x53\x6b\x63\x78\x47','\x41\x6d\x6b\x6d\x6a\x38\x6b\x6b\x57\x50\x43','\x57\x52\x78\x63\x52\x73\x75\x30\x6f\x5a\x70\x63\x54\x58\x43','\x6e\x72\x65\x6c\x57\x37\x35\x56','\x57\x52\x4e\x64\x47\x75\x61\x37\x65\x6d\x6b\x4c\x57\x34\x76\x7a','\x74\x53\x6f\x57\x71\x77\x4b','\x6a\x43\x6b\x58\x61\x32\x44\x49\x57\x36\x74\x63\x55\x53\x6b\x31\x57\x51\x47','\x57\x34\x6a\x2f\x6c\x38\x6b\x4c\x57\x50\x52\x63\x4f\x53\x6f\x73\x46\x47','\x57\x51\x46\x64\x55\x53\x6f\x37\x76\x59\x53','\x73\x38\x6b\x65\x57\x34\x44\x63\x57\x51\x53','\x76\x43\x6b\x76\x64\x38\x6b\x6b\x57\x4f\x66\x78\x7a\x61','\x68\x6d\x6b\x72\x57\x36\x64\x64\x47\x6d\x6b\x4f','\x57\x4f\x70\x63\x4d\x62\x71\x6f\x64\x63\x33\x63\x49\x73\x4b','\x69\x68\x4b\x64\x42\x5a\x50\x36\x71\x76\x38','\x57\x36\x4b\x66\x57\x34\x6a\x33\x7a\x47','\x57\x4f\x4b\x2f\x41\x4a\x38','\x57\x37\x50\x77\x73\x5a\x42\x64\x47\x66\x56\x63\x54\x73\x53\x32','\x57\x52\x43\x37\x74\x59\x72\x31','\x57\x52\x39\x75\x57\x51\x50\x52\x57\x4f\x68\x64\x4f\x43\x6b\x69\x72\x47','\x57\x35\x2f\x63\x4d\x6d\x6f\x77\x69\x43\x6f\x5a','\x57\x35\x70\x64\x47\x75\x7a\x6c\x71\x75\x70\x64\x47\x48\x57\x48\x57\x4f\x2f\x63\x54\x4d\x69\x76','\x73\x43\x6b\x71\x57\x4f\x57\x70\x44\x61','\x57\x37\x5a\x63\x4a\x6d\x6f\x2b\x65\x53\x6f\x74','\x7a\x75\x44\x31\x77\x53\x6b\x43','\x57\x34\x6d\x77\x6e\x53\x6b\x38\x57\x51\x43','\x57\x52\x5a\x64\x47\x77\x43\x47\x6d\x71','\x57\x35\x70\x64\x47\x65\x7a\x6d\x74\x30\x56\x64\x49\x72\x34\x45\x57\x50\x78\x63\x4c\x33\x47\x59','\x57\x52\x2f\x64\x48\x66\x71\x37','\x73\x58\x53\x59\x67\x43\x6f\x37','\x71\x66\x54\x42\x41\x53\x6b\x57\x57\x50\x65\x4a\x62\x57','\x57\x34\x6c\x64\x52\x53\x6b\x71\x62\x6d\x6f\x45\x57\x52\x38\x4c\x71\x53\x6f\x74\x57\x50\x42\x63\x47\x61','\x6c\x72\x78\x63\x4a\x38\x6f\x6f\x76\x71','\x57\x37\x46\x64\x53\x43\x6b\x4d\x66\x5a\x39\x65\x57\x36\x46\x63\x53\x57','\x76\x6d\x6f\x62\x6a\x43\x6b\x46\x57\x37\x39\x62\x71\x38\x6b\x65','\x57\x34\x70\x63\x49\x62\x5a\x63\x47\x5a\x30\x73\x57\x35\x70\x63\x4c\x58\x2f\x63\x51\x64\x48\x70\x6e\x47','\x57\x50\x61\x37\x63\x32\x4a\x63\x4d\x4b\x46\x64\x55\x4b\x53','\x57\x52\x4e\x64\x54\x53\x6f\x6d\x42\x64\x57','\x57\x37\x52\x63\x4a\x32\x4c\x72\x57\x36\x38','\x79\x38\x6f\x54\x74\x31\x4c\x6a\x57\x35\x52\x63\x53\x43\x6b\x4b','\x76\x6d\x6f\x6d\x6b\x43\x6b\x44\x57\x36\x66\x6a\x71\x38\x6b\x65','\x57\x34\x4e\x63\x4f\x43\x6f\x54\x66\x6d\x6f\x4d\x78\x38\x6b\x70\x44\x61','\x57\x51\x42\x63\x4b\x63\x78\x63\x4a\x38\x6f\x41\x57\x36\x44\x2f\x57\x36\x35\x69','\x57\x34\x68\x64\x4b\x43\x6b\x73\x6f\x58\x54\x4b\x57\x37\x42\x63\x4b\x57','\x6e\x4a\x38\x55\x62\x6d\x6f\x76\x57\x36\x35\x71\x62\x5a\x79\x37\x57\x37\x70\x64\x4b\x38\x6b\x64','\x79\x43\x6f\x39\x63\x77\x6a\x6e\x43\x59\x65'];_0x73a6=function(){return _0x4410f4;};return _0x73a6();}
1
+ 'use strict';
2
+
3
+ // Grounded FALLBACK estimate for "tokens saved by reusing an asset".
4
+ //
5
+ // The real number is the measured cost of the avoided derive loop, captured
6
+ // from the proxy trace meter (see src/proxy/trace/usage.js) and carried on the
7
+ // reused asset as `derivation_tokens`. This estimator is only used when that
8
+ // measured cost is unavailable -- the asset was derived with the proxy off, or
9
+ // predates token telemetry. Reusing a verified capsule avoids re-running a
10
+ // derive loop; we approximate that loop's size from the asset's own
11
+ // blast_radius (a real, per-asset signal), so the estimate scales with how big
12
+ // the change actually was instead of being a flat constant.
13
+ //
14
+ // Calibration: a median patch (~75 changed lines) reproduces the ~180k tokens
15
+ // the desktop savings model historically assumed:
16
+ // DERIVE_BASE_TOKENS + TYPICAL_CHANGED_LINES * TOKENS_PER_CHANGED_LINE
17
+ // = 120_000 + 75 * 800 = 180_000.
18
+ //
19
+ // These constants are the E3 formula of the savings-core spec (single source
20
+ // of truth: EvoMap/savings-core, vendored at conformance/savings-core/). To
21
+ // change one, change savings-core first and re-vendor ALL consumers -- see
22
+ // src/gep/savingsCore.js.
23
+
24
+ const { CONSTANTS } = require('./savingsCore');
25
+
26
+ // Fixed overhead of any derive loop (reading context, reasoning, validation),
27
+ // independent of patch size.
28
+ const DERIVE_BASE_TOKENS = CONSTANTS.reuse_estimator.derive_base_tokens;
29
+ // Marginal derivation cost per resulting changed line (reasoning + tool
30
+ // round-trips + output to produce and verify each line).
31
+ const TOKENS_PER_CHANGED_LINE = CONSTANTS.reuse_estimator.tokens_per_changed_line;
32
+ // Guardrail against pathological blast_radius values.
33
+ const DERIVE_CAP_TOKENS = CONSTANTS.reuse_estimator.derive_cap_tokens;
34
+ // Patch size assumed when an asset carries no blast_radius to scale from.
35
+ const TYPICAL_CHANGED_LINES = CONSTANTS.reuse_estimator.typical_changed_lines;
36
+ // A 'reference' reuse still re-derives (the asset is injected only as a strong
37
+ // hint), so it saves a fraction of a full re-derivation, not the whole loop.
38
+ const REFERENCE_SAVING_FRACTION = CONSTANTS.reuse_estimator.reference_saving_fraction;
39
+
40
+ function _blastLines(asset) {
41
+ const br = asset && (asset.blast_radius || (asset.payload && asset.payload.blast_radius));
42
+ if (br && typeof br === 'object') {
43
+ const lines = Number(br.lines);
44
+ if (Number.isFinite(lines) && lines > 0) return lines;
45
+ }
46
+ return null;
47
+ }
48
+
49
+ /**
50
+ * Apply the reuse-mode saving fraction to a token count and round.
51
+ *
52
+ * A 'direct' reuse avoids the whole derive loop (full save); a 'reference'
53
+ * reuse still re-derives with the asset as a hint, so it saves only
54
+ * REFERENCE_SAVING_FRACTION of the loop. This is shared by BOTH the estimated
55
+ * path (here) and the measured path (dispatch.js) so the two can never diverge
56
+ * on how a reference reuse is discounted -- a measured derivation cost must be
57
+ * scaled the same way an estimated one is. (Bugbot: measured reference reuse
58
+ * was crediting the full cost while the estimate applied the fraction.)
59
+ *
60
+ * @param {number} tokens - full-derivation token count (measured or estimated).
61
+ * @param {string} [mode] - 'direct' (full) | 'reference' (fractional).
62
+ * @returns {number} rounded tokens saved for the given mode.
63
+ */
64
+ function applyModeSaving(tokens, mode) {
65
+ const t = Number(tokens) || 0;
66
+ const adjusted = mode === 'reference' ? t * REFERENCE_SAVING_FRACTION : t;
67
+ return Math.round(adjusted);
68
+ }
69
+
70
+ /**
71
+ * Estimate the tokens a reuse saved, from the asset's blast_radius.
72
+ *
73
+ * @param {object} asset - the reused asset (capsule); may be a bare stub.
74
+ * @param {string} [mode] - 'direct' (full save) | 'reference' (fractional).
75
+ * @returns {{tokens_saved:number, basis:string}} basis is
76
+ * 'estimated_blast_radius' when scaled from the asset, else 'estimated_default'.
77
+ */
78
+ function estimateReuseTokensSaved(asset, mode) {
79
+ const lines = _blastLines(asset);
80
+ const basis = lines != null ? 'estimated_blast_radius' : 'estimated_default';
81
+ const effLines = lines != null ? lines : TYPICAL_CHANGED_LINES;
82
+ let tokens = DERIVE_BASE_TOKENS + effLines * TOKENS_PER_CHANGED_LINE;
83
+ if (tokens > DERIVE_CAP_TOKENS) tokens = DERIVE_CAP_TOKENS;
84
+ return { tokens_saved: applyModeSaving(tokens, mode), basis };
85
+ }
86
+
87
+ module.exports = {
88
+ estimateReuseTokensSaved,
89
+ applyModeSaving,
90
+ DERIVE_BASE_TOKENS,
91
+ TOKENS_PER_CHANGED_LINE,
92
+ DERIVE_CAP_TOKENS,
93
+ TYPICAL_CHANGED_LINES,
94
+ REFERENCE_SAVING_FRACTION,
95
+ };
@@ -1 +1,174 @@
1
- const _0x2801c7=_0x5478;(function(_0x56735b,_0x3e5a3d){const _0x205243=_0x5478,_0x183801=_0x56735b();while(!![]){try{const _0x415189=-parseInt(_0x205243(0x17e,'\x64\x4a\x49\x65'))/(0x17*-0xb3+-0x83c+0x1852)*(-parseInt(_0x205243(0x155,'\x62\x55\x56\x68'))/(0x2643+-0x1a9d+0x95*-0x14))+parseInt(_0x205243(0x167,'\x47\x56\x6b\x61'))/(-0x26e2+0x1eb3+0x832)*(parseInt(_0x205243(0x1dc,'\x62\x55\x56\x68'))/(0x176f*-0x1+0x113a+0x1b*0x3b))+parseInt(_0x205243(0x196,'\x59\x33\x4a\x75'))/(-0x3*0xce+0x58f*0x7+0x1*-0x247a)*(parseInt(_0x205243(0x1da,'\x59\x33\x4a\x75'))/(0x1c86+-0x1208+-0x29e*0x4))+parseInt(_0x205243(0x162,'\x6d\x62\x68\x73'))/(-0x1*0x1ae4+0xaa*0x10+0x61*0x2b)*(-parseInt(_0x205243(0x1c8,'\x57\x66\x26\x2a'))/(0x17*0x9c+0x1*-0x982+-0x47a))+-parseInt(_0x205243(0x19b,'\x63\x4e\x35\x33'))/(0xe40+0x2c9*0x5+-0x2*0xe12)*(-parseInt(_0x205243(0x1c0,'\x41\x61\x48\x78'))/(-0x26bc+-0x1fe6+0x46ac))+-parseInt(_0x205243(0x16a,'\x41\x61\x48\x78'))/(-0xbb1+-0x1918+0x126a*0x2)*(parseInt(_0x205243(0x179,'\x49\x6e\x65\x5a'))/(0x167b+0x135f+0x14e7*-0x2))+-parseInt(_0x205243(0x180,'\x71\x46\x62\x4a'))/(-0x1*0x687+0x1843*0x1+-0x11af)*(parseInt(_0x205243(0x16d,'\x36\x44\x25\x74'))/(0x1039+0x1*0xc9d+-0x1cc8));if(_0x415189===_0x3e5a3d)break;else _0x183801['push'](_0x183801['shift']());}catch(_0xabe433){_0x183801['push'](_0x183801['shift']());}}}(_0x54ed,-0x2f612+0x12fafa+-0x3294a*0x1));const _0x43ca29=(function(){const _0x1710aa=_0x5478,_0x1f8aac={'\x50\x45\x6e\x6f\x45':function(_0x24bf8e,_0x77a9bd){return _0x24bf8e(_0x77a9bd);},'\x4c\x70\x70\x47\x55':_0x1710aa(0x164,'\x49\x44\x42\x65')+_0x1710aa(0x1bb,'\x29\x6b\x26\x63'),'\x5a\x66\x4b\x47\x6c':function(_0x5daab2,_0x4f5c83){return _0x5daab2===_0x4f5c83;},'\x69\x55\x53\x43\x52':_0x1710aa(0x165,'\x43\x42\x4e\x69'),'\x6c\x4d\x6c\x54\x6c':_0x1710aa(0x1b1,'\x74\x43\x24\x46'),'\x6a\x66\x48\x56\x43':function(_0x135df1,_0x36e7fe){return _0x135df1!==_0x36e7fe;},'\x58\x41\x61\x6f\x4b':_0x1710aa(0x1b5,'\x74\x46\x47\x6f'),'\x4b\x48\x68\x6e\x65':_0x1710aa(0x184,'\x57\x66\x26\x2a')};let _0x2c99ac=!![];return function(_0x15364b,_0xf3316a){const _0x3defb9=_0x1710aa,_0x192c9a={'\x4e\x64\x6b\x4f\x51':'\x28\x28\x28\x2e\x2b\x29\x2b\x29'+_0x3defb9(0x1a2,'\x29\x6b\x26\x63'),'\x71\x52\x75\x71\x6a':function(_0x55513f,_0x111ea1){const _0x31d924=_0x3defb9;return _0x1f8aac[_0x31d924(0x189,'\x61\x5a\x75\x4c')](_0x55513f,_0x111ea1);},'\x44\x67\x7a\x42\x44':_0x1f8aac[_0x3defb9(0x194,'\x29\x77\x4f\x43')],'\x74\x69\x45\x67\x4a':function(_0x281a19,_0x19e075){return _0x1f8aac['\x5a\x66\x4b\x47\x6c'](_0x281a19,_0x19e075);},'\x6a\x64\x73\x49\x62':_0x3defb9(0x19c,'\x63\x4e\x35\x33'),'\x56\x50\x65\x79\x70':_0x1f8aac[_0x3defb9(0x18b,'\x59\x74\x49\x4d')],'\x72\x49\x6d\x64\x4e':function(_0x495179,_0x179595){const _0x5964e3=_0x3defb9;return _0x1f8aac[_0x5964e3(0x1ba,'\x41\x61\x48\x78')](_0x495179,_0x179595);},'\x48\x44\x46\x71\x69':_0x1f8aac[_0x3defb9(0x1cc,'\x74\x46\x47\x6f')]};if(_0x1f8aac[_0x3defb9(0x168,'\x65\x61\x2a\x35')](_0x1f8aac[_0x3defb9(0x1a5,'\x29\x24\x39\x66')],_0x1f8aac['\x4b\x48\x68\x6e\x65'])){const _0x280c9f=_0x2c99ac?function(){const _0x2b0897=_0x3defb9;if(_0x192c9a[_0x2b0897(0x15e,'\x64\x26\x37\x33')](_0x192c9a[_0x2b0897(0x18f,'\x43\x42\x4e\x69')],_0x2b0897(0x1ca,'\x36\x44\x25\x74')))return _0x1f1a5f['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x2b0897(0x19f,'\x30\x71\x4e\x57')](_0x192c9a['\x4e\x64\x6b\x4f\x51'])[_0x2b0897(0x182,'\x63\x4e\x35\x33')]()[_0x2b0897(0x197,'\x36\x44\x25\x74')+'\x74\x6f\x72'](_0x115b22)[_0x2b0897(0x19d,'\x5e\x36\x67\x76')](_0x2b0897(0x174,'\x29\x77\x4f\x43')+_0x2b0897(0x198,'\x7a\x78\x6f\x6e'));else{if(_0xf3316a){if(_0x192c9a[_0x2b0897(0x1a8,'\x6e\x67\x4a\x34')](_0x2b0897(0x163,'\x62\x55\x56\x68'),_0x192c9a['\x48\x44\x46\x71\x69'])){const _0x464555=_0xf3316a[_0x2b0897(0x195,'\x36\x44\x25\x74')](_0x15364b,arguments);return _0xf3316a=null,_0x464555;}else{const _0x4c694b=_0x192c9a[_0x2b0897(0x1bc,'\x49\x53\x61\x5b')](_0x5cadf0,_0x192c9a[_0x2b0897(0x193,'\x71\x46\x62\x4a')]);if(_0x4c694b&&_0x192c9a[_0x2b0897(0x16f,'\x5a\x45\x45\x71')](typeof _0x4c694b[_0x2b0897(0x1d6,'\x72\x4c\x51\x55')],_0x192c9a[_0x2b0897(0x1d9,'\x43\x42\x4e\x69')]))return _0x1886ec=_0x4c694b,_0x4a4aea;return _0x436dc4=null,null;}}}}:function(){};return _0x2c99ac=![],_0x280c9f;}else return{'\x61\x76\x61\x69\x6c\x61\x62\x6c\x65':!![],'\x69\x64':_0x3a10d8[_0x3defb9(0x18c,'\x59\x33\x4a\x75')]()};};}()),_0x57f850=_0x43ca29(this,function(){const _0x3743ff=_0x5478,_0x3651f2={};_0x3651f2[_0x3743ff(0x1d3,'\x6d\x62\x68\x73')]=_0x3743ff(0x158,'\x64\x26\x37\x33')+_0x3743ff(0x19e,'\x68\x78\x33\x55');const _0x4c9828=_0x3651f2;return _0x57f850[_0x3743ff(0x1ac,'\x41\x61\x48\x78')]()[_0x3743ff(0x1bd,'\x29\x77\x4f\x43')](_0x4c9828[_0x3743ff(0x185,'\x65\x61\x2a\x35')])[_0x3743ff(0x1ac,'\x41\x61\x48\x78')]()[_0x3743ff(0x1ad,'\x55\x50\x55\x79')+_0x3743ff(0x1ce,'\x74\x43\x24\x46')](_0x57f850)[_0x3743ff(0x19a,'\x5b\x76\x43\x30')](_0x4c9828[_0x3743ff(0x1d3,'\x6d\x62\x68\x73')]);});_0x57f850();const _0xce2b9f=_0x2801c7(0x1b7,'\x48\x62\x5d\x4f')+_0x2801c7(0x1db,'\x57\x66\x26\x2a')+_0x2801c7(0x17d,'\x65\x61\x2a\x35')+_0x2801c7(0x1cb,'\x26\x62\x32\x65'),_0x2188bf=/^[a-f0-9]{32,}$/i;let _0x2de53a=undefined;function _0x445d77(){const _0x4a0f92=_0x2801c7,_0x22e6bd={'\x62\x6f\x62\x41\x56':function(_0x441cab,_0x20a6a1){return _0x441cab!==_0x20a6a1;},'\x6e\x53\x56\x72\x72':function(_0x43cb4a,_0x30e970){return _0x43cb4a(_0x30e970);},'\x44\x4a\x62\x6e\x57':_0x4a0f92(0x17b,'\x2a\x61\x25\x4d')+_0x4a0f92(0x1b6,'\x49\x53\x61\x5b'),'\x45\x44\x46\x56\x4f':function(_0x19cfb3,_0x16b8c2){return _0x19cfb3===_0x16b8c2;}};if(_0x22e6bd[_0x4a0f92(0x1c1,'\x5b\x76\x43\x30')](_0x2de53a,undefined))return _0x2de53a;try{const _0x2e21ef=_0x22e6bd[_0x4a0f92(0x187,'\x77\x62\x43\x26')](require,_0x22e6bd[_0x4a0f92(0x190,'\x72\x73\x74\x47')]);if(_0x2e21ef&&_0x22e6bd[_0x4a0f92(0x1c9,'\x57\x66\x26\x2a')](typeof _0x2e21ef['\x45\x6e\x74\x72\x79'],_0x4a0f92(0x1d7,'\x5a\x45\x45\x71')))return _0x2de53a=_0x2e21ef,_0x2de53a;return _0x2de53a=null,null;}catch{return _0x2de53a=null,null;}}function _0x522a21(){const _0x30c7d2=_0x2801c7,_0xc6f01={'\x6b\x53\x46\x51\x54':function(_0x3c7696,_0x3cf1d9){return _0x3c7696(_0x3cf1d9);},'\x79\x66\x7a\x73\x56':'\x61\x75\x74\x6f','\x62\x51\x54\x78\x67':function(_0x2c59e0,_0x5f1f8e){return _0x2c59e0===_0x5f1f8e;},'\x55\x4f\x72\x6d\x6e':_0x30c7d2(0x1d5,'\x74\x46\x47\x6f')},_0x2ac822=_0xc6f01[_0x30c7d2(0x1ab,'\x5b\x76\x43\x30')](String,process.env.EVOLVER_WORKSPACE_KEYCHAIN||_0xc6f01[_0x30c7d2(0x1b0,'\x57\x51\x37\x45')])[_0x30c7d2(0x1a4,'\x29\x24\x39\x66')+_0x30c7d2(0x1b2,'\x61\x5a\x75\x4c')]()['\x74\x72\x69\x6d']();if(_0xc6f01[_0x30c7d2(0x1c4,'\x6d\x62\x68\x73')](_0x2ac822,_0xc6f01['\x55\x4f\x72\x6d\x6e'])||_0xc6f01['\x62\x51\x54\x78\x67'](_0x2ac822,_0x30c7d2(0x154,'\x47\x56\x6b\x61'))||_0xc6f01[_0x30c7d2(0x175,'\x76\x56\x64\x5d')](_0x2ac822,_0xc6f01[_0x30c7d2(0x17f,'\x41\x61\x48\x78')]))return _0x2ac822;return _0xc6f01[_0x30c7d2(0x18d,'\x4a\x43\x68\x54')];}function _0x54ed(){const _0x3f3dce=['\x57\x36\x37\x63\x4e\x4c\x43','\x57\x51\x6c\x64\x4a\x53\x6b\x79\x57\x50\x76\x34\x6a\x4c\x61\x63','\x6b\x4c\x76\x33','\x57\x36\x53\x63\x57\x37\x5a\x63\x4b\x38\x6b\x49\x62\x38\x6f\x6b\x57\x52\x64\x63\x4b\x47\x57','\x57\x35\x6c\x64\x53\x6d\x6b\x73\x57\x37\x4e\x63\x4c\x6d\x6b\x34\x57\x35\x58\x49','\x6e\x4d\x64\x64\x4c\x53\x6b\x5a\x57\x35\x31\x36\x44\x49\x65','\x57\x36\x64\x64\x47\x53\x6f\x64\x57\x50\x70\x63\x49\x53\x6b\x54','\x6d\x48\x42\x64\x54\x75\x43\x76\x57\x37\x69\x79\x57\x35\x37\x63\x53\x66\x75','\x57\x35\x30\x4a\x57\x50\x54\x79\x61\x38\x6b\x38\x57\x52\x34\x68\x57\x34\x4f','\x57\x51\x69\x4a\x57\x37\x43\x53\x6a\x43\x6f\x6e\x6c\x43\x6b\x4c','\x57\x4f\x37\x63\x53\x43\x6f\x2f\x57\x52\x64\x64\x54\x71','\x65\x6d\x6b\x78\x57\x50\x78\x63\x50\x4c\x58\x44\x6d\x47','\x68\x4a\x4c\x32\x57\x50\x31\x4e\x57\x37\x42\x63\x50\x71','\x57\x35\x64\x63\x54\x4c\x57\x4b\x73\x57','\x66\x47\x4e\x64\x4e\x38\x6f\x43\x70\x53\x6b\x56\x66\x62\x42\x64\x47\x47','\x57\x35\x6c\x63\x54\x38\x6b\x58\x57\x4f\x35\x56','\x62\x75\x4c\x59\x76\x53\x6b\x34\x57\x52\x74\x63\x53\x6d\x6b\x32','\x64\x53\x6b\x4a\x57\x50\x46\x63\x53\x77\x75','\x6e\x61\x33\x64\x4b\x53\x6f\x4e\x57\x35\x6a\x77\x6d\x64\x7a\x77\x57\x4f\x46\x64\x4c\x47','\x57\x52\x64\x64\x4a\x76\x38\x4f\x71\x53\x6b\x53\x67\x53\x6f\x4f','\x41\x6d\x6f\x65\x57\x52\x35\x62\x57\x50\x30','\x6e\x53\x6f\x4e\x75\x32\x66\x74\x74\x71\x46\x64\x51\x47','\x74\x6d\x6b\x78\x6d\x58\x44\x57\x73\x48\x56\x64\x50\x75\x6a\x6e','\x57\x51\x6e\x43\x72\x38\x6b\x68\x6a\x57','\x57\x35\x42\x63\x4c\x30\x71\x31\x76\x71','\x77\x68\x57\x53\x77\x64\x7a\x4d\x57\x51\x76\x4d\x77\x47','\x57\x4f\x66\x49\x57\x34\x4b','\x73\x66\x52\x64\x4d\x49\x37\x64\x47\x61','\x44\x6d\x6f\x4f\x57\x34\x58\x4f\x57\x4f\x52\x64\x53\x38\x6f\x63\x57\x35\x65','\x57\x36\x58\x67\x57\x36\x5a\x63\x48\x43\x6b\x52','\x78\x4d\x46\x64\x4a\x30\x6e\x6b','\x78\x4e\x78\x63\x54\x6d\x6f\x36\x67\x61','\x61\x38\x6b\x50\x57\x50\x43\x69\x57\x34\x37\x63\x4e\x38\x6b\x68\x57\x4f\x57','\x79\x32\x33\x63\x56\x53\x6b\x4e\x57\x4f\x30','\x57\x52\x39\x6f\x57\x51\x42\x64\x4a\x53\x6b\x4f\x6b\x6d\x6f\x58','\x57\x35\x66\x50\x57\x51\x30\x52\x57\x35\x71','\x57\x36\x72\x74\x57\x51\x57\x70\x57\x34\x71','\x67\x32\x47\x36\x57\x34\x64\x64\x55\x53\x6f\x33\x42\x49\x75\x65\x57\x35\x72\x79','\x67\x32\x48\x4e\x57\x4f\x70\x63\x4d\x43\x6f\x72\x45\x48\x79','\x66\x33\x4a\x64\x4c\x53\x6b\x51\x57\x35\x47\x32\x7a\x4a\x34','\x57\x52\x64\x64\x47\x71\x44\x54\x6f\x6d\x6f\x31\x44\x38\x6f\x63\x73\x38\x6f\x34\x57\x50\x4b\x61\x57\x51\x75','\x42\x43\x6f\x71\x57\x50\x31\x4b\x57\x51\x37\x63\x53\x64\x6c\x64\x4a\x61','\x57\x52\x72\x62\x57\x4f\x68\x63\x53\x4c\x74\x63\x48\x6d\x6b\x43\x78\x4c\x78\x63\x4a\x76\x35\x62','\x62\x6d\x6f\x65\x43\x66\x66\x6e','\x57\x4f\x47\x44\x57\x52\x6c\x64\x55\x6d\x6f\x30\x6e\x59\x2f\x63\x47\x77\x64\x64\x4c\x38\x6b\x48\x57\x50\x62\x4d','\x77\x74\x39\x47\x57\x50\x61','\x57\x50\x50\x2f\x57\x37\x35\x68\x63\x6d\x6b\x65\x57\x52\x69\x51','\x57\x50\x35\x2b\x65\x6d\x6b\x37','\x57\x50\x76\x79\x57\x51\x70\x64\x52\x43\x6b\x64','\x73\x53\x6f\x42\x57\x50\x31\x63\x57\x50\x38','\x57\x36\x64\x63\x4a\x4c\x61\x31\x42\x43\x6b\x47\x69\x53\x6f\x38','\x57\x37\x31\x61\x57\x36\x71\x33\x6f\x47','\x57\x50\x70\x63\x49\x66\x58\x47\x57\x51\x52\x63\x4b\x38\x6b\x70\x6f\x61','\x6c\x59\x39\x41\x42\x64\x53','\x57\x51\x57\x4a\x57\x52\x62\x6f\x43\x43\x6f\x58\x57\x35\x75','\x71\x32\x56\x64\x49\x78\x7a\x48','\x57\x35\x6c\x63\x50\x43\x6b\x61\x57\x52\x61','\x57\x50\x6e\x51\x61\x38\x6b\x4c\x74\x61','\x57\x35\x72\x32\x57\x52\x75\x70\x57\x36\x70\x63\x4b\x53\x6b\x73\x57\x50\x47','\x6b\x38\x6b\x49\x57\x4f\x70\x63\x52\x65\x30','\x74\x30\x35\x66\x6c\x30\x79','\x57\x35\x6c\x63\x53\x53\x6b\x41\x57\x51\x4b','\x57\x50\x6d\x41\x72\x6d\x6b\x52\x57\x51\x75\x6d\x57\x35\x46\x64\x52\x71','\x57\x37\x31\x64\x57\x37\x37\x63\x49\x38\x6b\x6a','\x7a\x38\x6f\x58\x57\x34\x39\x48\x57\x52\x61','\x63\x4a\x39\x51\x78\x5a\x79','\x57\x50\x74\x64\x50\x6d\x6f\x44\x57\x36\x74\x64\x4e\x4e\x78\x64\x4a\x6d\x6f\x33\x57\x51\x38\x76\x42\x62\x56\x63\x52\x57','\x63\x63\x62\x30\x71\x64\x54\x66\x57\x52\x6a\x70','\x57\x36\x30\x70\x6c\x38\x6f\x77','\x73\x43\x6f\x68\x57\x4f\x39\x30\x57\x52\x42\x63\x53\x64\x4a\x64\x48\x57','\x57\x51\x58\x64\x43\x38\x6f\x55\x65\x66\x4b','\x57\x35\x4f\x4a\x57\x50\x75\x61\x70\x6d\x6b\x65\x57\x50\x30\x6d\x57\x34\x74\x64\x48\x61','\x57\x4f\x48\x4c\x57\x34\x6e\x71\x64\x53\x6b\x65\x57\x52\x6d\x4a','\x57\x51\x66\x64\x69\x33\x33\x63\x48\x38\x6f\x65','\x6c\x71\x5a\x64\x50\x4c\x61','\x73\x6d\x6b\x70\x6e\x63\x58\x55\x6b\x57','\x57\x4f\x34\x67\x41\x38\x6b\x51\x57\x4f\x43','\x74\x6d\x6b\x79\x70\x63\x50\x4f\x66\x38\x6f\x43\x6d\x47','\x72\x38\x6b\x4f\x71\x53\x6b\x6b','\x46\x33\x7a\x6f\x6c\x61','\x57\x36\x46\x64\x4d\x43\x6f\x39\x57\x50\x78\x63\x4b\x38\x6b\x56\x42\x48\x75','\x57\x34\x56\x64\x54\x38\x6f\x71\x57\x50\x78\x63\x52\x57','\x67\x4a\x44\x4e\x57\x50\x54\x35\x57\x36\x70\x63\x54\x63\x6d','\x57\x4f\x70\x64\x4c\x71\x4e\x64\x51\x61','\x63\x71\x48\x52\x57\x50\x7a\x42','\x57\x50\x4c\x5a\x57\x50\x64\x64\x4a\x6d\x6b\x42','\x57\x50\x56\x63\x4e\x30\x57','\x57\x52\x72\x31\x76\x6d\x6f\x6e\x6a\x57','\x63\x43\x6f\x6e\x77\x76\x7a\x50\x7a\x73\x64\x64\x47\x57','\x57\x51\x33\x64\x4a\x4a\x70\x64\x50\x78\x46\x63\x4f\x53\x6f\x39\x57\x34\x4f','\x77\x30\x64\x64\x52\x53\x6b\x4f\x57\x37\x52\x63\x4f\x38\x6b\x67\x57\x35\x2f\x64\x4b\x58\x56\x63\x53\x38\x6b\x2f','\x57\x37\x58\x6b\x57\x37\x64\x63\x55\x38\x6b\x30','\x57\x36\x56\x64\x54\x67\x52\x64\x55\x38\x6b\x47','\x74\x5a\x4a\x63\x50\x43\x6b\x61\x57\x4f\x30','\x68\x48\x4c\x72','\x44\x58\x34\x48\x66\x53\x6f\x4a\x57\x51\x33\x63\x53\x38\x6b\x6f\x57\x50\x31\x74\x57\x35\x69\x4a','\x6d\x61\x4e\x63\x48\x6d\x6b\x52\x57\x51\x4c\x49\x6c\x61\x65','\x6a\x31\x46\x63\x54\x75\x64\x64\x48\x71','\x6a\x78\x42\x64\x4e\x65\x6c\x63\x52\x57\x75\x50\x67\x57','\x75\x76\x52\x64\x54\x6d\x6f\x37\x57\x51\x56\x63\x52\x59\x37\x64\x4a\x61','\x57\x34\x7a\x58\x57\x52\x69\x62','\x57\x51\x57\x4a\x57\x52\x62\x74\x46\x38\x6f\x4d\x57\x34\x70\x63\x52\x71','\x6a\x38\x6f\x65\x71\x77\x76\x33','\x71\x38\x6f\x51\x64\x6d\x6f\x78\x6c\x74\x2f\x64\x48\x61\x47','\x45\x30\x2f\x64\x4a\x65\x52\x63\x54\x57','\x77\x6d\x6f\x4b\x57\x35\x35\x75\x57\x4f\x42\x64\x4e\x47','\x78\x32\x70\x64\x50\x53\x6b\x74\x74\x6d\x6f\x30\x57\x35\x68\x64\x52\x57','\x57\x37\x31\x58\x6e\x53\x6f\x6d\x57\x34\x75\x6c\x57\x35\x78\x64\x56\x5a\x43\x35\x57\x4f\x4f','\x74\x53\x6b\x74\x70\x72\x75\x52\x73\x61\x78\x64\x49\x31\x58\x46\x77\x47','\x57\x52\x31\x6a\x43\x6d\x6f\x44\x6a\x71','\x74\x33\x70\x64\x4a\x75\x4e\x63\x50\x61','\x64\x53\x6b\x67\x57\x50\x74\x63\x56\x66\x6e\x44','\x74\x67\x37\x63\x53\x38\x6f\x69\x64\x71','\x57\x52\x6a\x64\x44\x38\x6b\x67','\x62\x33\x4a\x64\x47\x38\x6b\x74\x57\x34\x69','\x57\x4f\x64\x63\x49\x66\x54\x65','\x57\x36\x38\x67\x57\x37\x33\x63\x4e\x53\x6f\x58\x67\x6d\x6f\x7a\x57\x52\x37\x63\x4d\x49\x37\x63\x4d\x47','\x57\x50\x39\x5a\x57\x4f\x70\x64\x53\x6d\x6b\x67','\x6c\x71\x6e\x7a\x44\x59\x6d','\x57\x36\x79\x56\x57\x51\x61','\x6f\x68\x42\x63\x4e\x66\x4e\x64\x56\x57','\x57\x34\x76\x44\x66\x6d\x6b\x4b\x71\x57','\x45\x48\x37\x63\x55\x57','\x44\x65\x64\x63\x52\x62\x61\x76\x57\x36\x4b\x32\x57\x37\x69','\x57\x51\x68\x63\x4f\x59\x46\x63\x56\x38\x6f\x67\x57\x35\x31\x33\x6b\x73\x37\x64\x4e\x53\x6b\x34','\x63\x43\x6f\x7a\x79\x77\x43\x2f\x44\x6d\x6b\x67\x67\x5a\x6d\x68\x57\x36\x54\x46\x70\x57','\x57\x51\x6c\x64\x4a\x4a\x5a\x64\x53\x4b\x6c\x63\x54\x6d\x6f\x53\x57\x34\x79','\x7a\x4b\x42\x63\x4a\x6d\x6f\x4c\x6b\x57','\x57\x52\x4b\x64\x57\x50\x6e\x42\x77\x57','\x6d\x4c\x74\x63\x47\x4d\x37\x64\x54\x47','\x57\x52\x6c\x64\x49\x72\x74\x64\x54\x32\x65','\x77\x4b\x42\x64\x53\x73\x52\x64\x56\x53\x6b\x7a\x57\x51\x4a\x63\x4e\x71','\x77\x32\x2f\x64\x48\x6d\x6b\x70\x73\x57','\x66\x38\x6b\x77\x57\x50\x78\x63\x4e\x66\x38','\x57\x50\x46\x64\x52\x38\x6b\x64\x57\x51\x56\x63\x55\x73\x52\x63\x52\x6d\x6f\x58','\x57\x51\x58\x79\x57\x51\x4e\x64\x4b\x6d\x6b\x53\x6d\x38\x6b\x58\x57\x4f\x79','\x57\x51\x56\x64\x49\x6d\x6f\x56\x57\x34\x75\x54\x71\x4e\x65\x45\x44\x67\x33\x63\x51\x48\x6d'];_0x54ed=function(){return _0x3f3dce;};return _0x54ed();}function _0x5478(_0x272c5d,_0x3b4d9f){_0x272c5d=_0x272c5d-(-0x1230+0x349*0x2+0xcf2*0x1);const _0x4a2696=_0x54ed();let _0x2e798e=_0x4a2696[_0x272c5d];if(_0x5478['\x42\x4a\x6b\x48\x6d\x50']===undefined){var _0x1fe859=function(_0x578686){const _0x4b9c87='\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 _0x775c4d='',_0x2d1539='',_0x1c8971=_0x775c4d+_0x1fe859,_0x5478d2=(''+function(){return-0x1f9e+0x168b+0x1*0x913;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x655+-0x13ba+0x1a10);for(let _0x2d0622=-0x1b8+0x59*0x8+-0x110,_0x395e7a,_0x1f37ca,_0x400574=-0x6ab+-0x1*-0xed7+-0x2*0x416;_0x1f37ca=_0x578686['\x63\x68\x61\x72\x41\x74'](_0x400574++);~_0x1f37ca&&(_0x395e7a=_0x2d0622%(0x13*0x15b+0x4*0x4b6+-0x2c95)?_0x395e7a*(0x520+-0x251a+-0x2*-0x101d)+_0x1f37ca:_0x1f37ca,_0x2d0622++%(0x1d25*-0x1+0x69f+-0xa*-0x241))?_0x775c4d+=_0x5478d2||_0x1c8971['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x400574+(0xae6*0x2+-0x2180+0xbbe))-(-0x2067+-0x1c5*0x13+0x4210)!==0x1*-0x863+-0x13*0xb5+0x15d2?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x11*0x23f+-0x1c*0x13c+-0x24df*-0x2&_0x395e7a>>(-(0x5*-0x362+0x1145+-0x59)*_0x2d0622&0x1*-0xd9e+0x132c+-0x588)):_0x2d0622:-0x1edc+-0x2161+0x403d){_0x1f37ca=_0x4b9c87['\x69\x6e\x64\x65\x78\x4f\x66'](_0x1f37ca);}for(let _0x17ab14=0x7d4+0x183d+-0x2011*0x1,_0x65fe63=_0x775c4d['\x6c\x65\x6e\x67\x74\x68'];_0x17ab14<_0x65fe63;_0x17ab14++){_0x2d1539+='\x25'+('\x30\x30'+_0x775c4d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x17ab14)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0xbb8+0xad*-0xb+0x17*-0x2f))['\x73\x6c\x69\x63\x65'](-(0xca5*0x3+0x2d7+0x1*-0x28c4));}return decodeURIComponent(_0x2d1539);};const _0x46f47f=function(_0x47cb74,_0x4d3ab8){let _0x42f40e=[],_0x4c8ed2=-0x265c*0x1+0x6fd+0x1f5f,_0x3cf44c,_0x353348='';_0x47cb74=_0x1fe859(_0x47cb74);let _0x39a655;for(_0x39a655=0x1*0xa93+0xd2a+-0x17bd;_0x39a655<-0x288*-0x7+0xf26+-0x1fde;_0x39a655++){_0x42f40e[_0x39a655]=_0x39a655;}for(_0x39a655=0x1e*0x103+0x2143+-0x3f9d;_0x39a655<-0x12c+-0xad*0x2c+0x1fe8;_0x39a655++){_0x4c8ed2=(_0x4c8ed2+_0x42f40e[_0x39a655]+_0x4d3ab8['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x39a655%_0x4d3ab8['\x6c\x65\x6e\x67\x74\x68']))%(0x18ed+0x1*-0xe89+0x1*-0x964),_0x3cf44c=_0x42f40e[_0x39a655],_0x42f40e[_0x39a655]=_0x42f40e[_0x4c8ed2],_0x42f40e[_0x4c8ed2]=_0x3cf44c;}_0x39a655=0x5b0+-0x166c+-0xc*-0x165,_0x4c8ed2=-0x25f1+0x1*-0xacf+0xa0*0x4e;for(let _0x1dd52d=0x29*-0x6a+-0x626*0x5+0x2fb8;_0x1dd52d<_0x47cb74['\x6c\x65\x6e\x67\x74\x68'];_0x1dd52d++){_0x39a655=(_0x39a655+(-0x4*-0x45f+0x1*-0x586+-0xbf5))%(0x68+-0x3*-0x114+-0x152*0x2),_0x4c8ed2=(_0x4c8ed2+_0x42f40e[_0x39a655])%(-0xd+0x454+-0x347),_0x3cf44c=_0x42f40e[_0x39a655],_0x42f40e[_0x39a655]=_0x42f40e[_0x4c8ed2],_0x42f40e[_0x4c8ed2]=_0x3cf44c,_0x353348+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x47cb74['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1dd52d)^_0x42f40e[(_0x42f40e[_0x39a655]+_0x42f40e[_0x4c8ed2])%(0x1198*-0x2+-0x2*0x88d+0x354a)]);}return _0x353348;};_0x5478['\x59\x77\x65\x66\x50\x79']=_0x46f47f,_0x5478['\x4c\x44\x57\x71\x43\x4b']={},_0x5478['\x42\x4a\x6b\x48\x6d\x50']=!![];}const _0x233372=_0x4a2696[0x1c27+0x6bb*-0x1+-0x156c],_0x5173dd=_0x272c5d+_0x233372,_0x321eda=_0x5478['\x4c\x44\x57\x71\x43\x4b'][_0x5173dd];if(!_0x321eda){if(_0x5478['\x6d\x72\x44\x6d\x6c\x57']===undefined){const _0xff59d9=function(_0x5f0f59){this['\x64\x51\x79\x44\x59\x52']=_0x5f0f59,this['\x52\x41\x5a\x4b\x79\x6f']=[-0x223*0x9+0x1b51+-0x815,-0x8b*0x9+0x17b9*0x1+-0x12d6,0x1d3*-0xd+0x1540+0x277],this['\x45\x47\x7a\x6f\x58\x44']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x4d\x6b\x70\x74\x5a\x48']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x58\x70\x42\x79\x72\x69']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0xff59d9['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6e\x48\x56\x77\x55\x4e']=function(){const _0x3e25ef=new RegExp(this['\x4d\x6b\x70\x74\x5a\x48']+this['\x58\x70\x42\x79\x72\x69']),_0x503967=_0x3e25ef['\x74\x65\x73\x74'](this['\x45\x47\x7a\x6f\x58\x44']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x52\x41\x5a\x4b\x79\x6f'][-0x2ea*0x1+0x1792+-0x14a7]:--this['\x52\x41\x5a\x4b\x79\x6f'][0x1a48+-0x8be+-0x118a];return this['\x70\x62\x59\x5a\x55\x73'](_0x503967);},_0xff59d9['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x70\x62\x59\x5a\x55\x73']=function(_0x36665a){if(!Boolean(~_0x36665a))return _0x36665a;return this['\x78\x4a\x4a\x63\x5a\x45'](this['\x64\x51\x79\x44\x59\x52']);},_0xff59d9['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x78\x4a\x4a\x63\x5a\x45']=function(_0x15c6a0){for(let _0x1d797b=0x2129+0x5f1+0xa*-0x3e9,_0x327818=this['\x52\x41\x5a\x4b\x79\x6f']['\x6c\x65\x6e\x67\x74\x68'];_0x1d797b<_0x327818;_0x1d797b++){this['\x52\x41\x5a\x4b\x79\x6f']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x327818=this['\x52\x41\x5a\x4b\x79\x6f']['\x6c\x65\x6e\x67\x74\x68'];}return _0x15c6a0(this['\x52\x41\x5a\x4b\x79\x6f'][-0x7*0x342+-0x10f6+-0x9f1*-0x4]);},(''+function(){return 0xe80+-0x1141+0x2c1;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0xaa9+-0x22*-0x5b+-0x16c)&&new _0xff59d9(_0x5478)['\x6e\x48\x56\x77\x55\x4e'](),_0x5478['\x6d\x72\x44\x6d\x6c\x57']=!![];}_0x2e798e=_0x5478['\x59\x77\x65\x66\x50\x79'](_0x2e798e,_0x3b4d9f),_0x5478['\x4c\x44\x57\x71\x43\x4b'][_0x5173dd]=_0x2e798e;}else _0x2e798e=_0x321eda;return _0x2e798e;}const _0xdb0868=[/no\s+matching\s+entry/i,/could\s+not\s+be\s+found/i,/element\s+not\s+found/i,/\bnoentry\b/i,/\bno\s*entry\b/i,/not\s+found\s+in\s+(?:secure|keychain)/i];function _0x3bdc28(_0x30fb1e){const _0x36c62c=_0x2801c7,_0x3a5807=_0x30fb1e&&_0x30fb1e[_0x36c62c(0x15f,'\x43\x42\x4e\x69')]||'';return _0xdb0868[_0x36c62c(0x181,'\x49\x6e\x65\x5a')](_0x166832=>_0x166832[_0x36c62c(0x1c5,'\x7a\x78\x6f\x6e')](_0x3a5807));}function _0x56681e(_0x521ea4){const _0x5c79d0=_0x2801c7,_0x3f6ff9={'\x74\x59\x55\x76\x79':function(_0x161156){return _0x161156();},'\x50\x6e\x74\x49\x73':function(_0x1b85a3,_0x5148e0){return _0x1b85a3===_0x5148e0;},'\x55\x62\x68\x4c\x66':_0x5c79d0(0x15a,'\x29\x24\x39\x66')},_0x6dee1f=_0x3f6ff9[_0x5c79d0(0x172,'\x59\x74\x49\x4d')](_0x445d77),_0x494756={};_0x494756[_0x5c79d0(0x1a6,'\x6e\x67\x4a\x34')+'\x65']=![],_0x494756['\x69\x64']=null;if(!_0x6dee1f)return _0x494756;try{const _0x989887=new _0x6dee1f[(_0x5c79d0(0x1af,'\x71\x46\x62\x4a'))](_0xce2b9f,_0x521ea4),_0x5ec21f=_0x989887[_0x5c79d0(0x1b9,'\x26\x62\x32\x65')+_0x5c79d0(0x156,'\x49\x44\x42\x65')]();if(_0x3f6ff9[_0x5c79d0(0x1c6,'\x2a\x61\x25\x4d')](typeof _0x5ec21f,_0x3f6ff9[_0x5c79d0(0x171,'\x71\x46\x62\x4a')])&&_0x2188bf[_0x5c79d0(0x1c7,'\x4f\x35\x38\x70')](_0x5ec21f[_0x5c79d0(0x1a7,'\x72\x4c\x51\x55')]()))return{'\x61\x76\x61\x69\x6c\x61\x62\x6c\x65':!![],'\x69\x64':_0x5ec21f[_0x5c79d0(0x1b8,'\x46\x29\x55\x52')]()};const _0xe4bd8a={};return _0xe4bd8a[_0x5c79d0(0x1be,'\x23\x40\x31\x61')+'\x65']=!![],_0xe4bd8a['\x69\x64']=null,_0xe4bd8a;}catch(_0x55981e){const _0x59736d={};_0x59736d['\x61\x76\x61\x69\x6c\x61\x62\x6c'+'\x65']=!![],_0x59736d['\x69\x64']=null;if(_0x3bdc28(_0x55981e))return _0x59736d;const _0x315257={};return _0x315257[_0x5c79d0(0x186,'\x47\x56\x6b\x61')+'\x65']=![],_0x315257['\x69\x64']=null,_0x315257;}}function _0x1b7355(_0x19732e,_0x4a244f){const _0x5aba13=_0x2801c7,_0xacaf37={'\x42\x4f\x6a\x53\x74':function(_0x2ea4d5,_0x1723e3){return _0x2ea4d5===_0x1723e3;},'\x66\x48\x74\x57\x65':_0x5aba13(0x1c3,'\x43\x42\x4e\x69'),'\x43\x44\x55\x6a\x52':function(_0x2c7ccb,_0x4aa01e){return _0x2c7ccb!==_0x4aa01e;},'\x51\x4e\x6d\x78\x4a':'\x40\x6e\x61\x70\x69\x2d\x72\x73'+_0x5aba13(0x1b6,'\x49\x53\x61\x5b'),'\x76\x69\x4f\x70\x4d':function(_0x351cf9,_0x5c3c00){return _0x351cf9===_0x5c3c00;},'\x63\x6a\x76\x47\x43':_0x5aba13(0x18e,'\x46\x29\x55\x52'),'\x57\x6f\x75\x69\x54':function(_0x236f7a){return _0x236f7a();},'\x70\x4a\x53\x4a\x72':_0x5aba13(0x1d8,'\x23\x40\x31\x61'),'\x72\x45\x57\x58\x45':_0x5aba13(0x178,'\x46\x29\x55\x52')},_0x3eaa42=_0xacaf37[_0x5aba13(0x16c,'\x47\x56\x6b\x61')](_0x445d77);if(!_0x3eaa42)return![];try{if(_0x5aba13(0x16b,'\x7a\x78\x6f\x6e')!==_0xacaf37[_0x5aba13(0x173,'\x6d\x62\x68\x73')]){const _0x3421e0=new _0x143096['\x45\x6e\x74\x72\x79'](_0x241914,_0x3f98b0),_0x539b1f=_0x3421e0[_0x5aba13(0x188,'\x4f\x35\x38\x70')+_0x5aba13(0x16e,'\x63\x4e\x35\x33')]();if(thORqr[_0x5aba13(0x1a0,'\x76\x68\x62\x5d')](typeof _0x539b1f,thORqr[_0x5aba13(0x1cd,'\x40\x52\x58\x79')])&&_0x1d9467[_0x5aba13(0x191,'\x59\x33\x4a\x75')](_0x539b1f[_0x5aba13(0x1a3,'\x72\x73\x74\x47')]()))return{'\x61\x76\x61\x69\x6c\x61\x62\x6c\x65':!![],'\x69\x64':_0x539b1f[_0x5aba13(0x183,'\x4a\x43\x68\x54')]()};const _0x1a4ddd={};return _0x1a4ddd[_0x5aba13(0x159,'\x2a\x61\x25\x4d')+'\x65']=!![],_0x1a4ddd['\x69\x64']=null,_0x1a4ddd;}else{const _0x37a836=new _0x3eaa42['\x45\x6e\x74\x72\x79'](_0xce2b9f,_0x19732e);return _0x37a836['\x73\x65\x74\x50\x61\x73\x73\x77'+_0x5aba13(0x1aa,'\x4f\x35\x38\x70')](_0x4a244f),!![];}}catch{if(_0xacaf37[_0x5aba13(0x1d4,'\x26\x62\x32\x65')]!==_0xacaf37['\x72\x45\x57\x58\x45']){if(thORqr[_0x5aba13(0x1a9,'\x57\x66\x26\x2a')](_0x41cce1,_0x25fa8d))return _0x437163;try{const _0x2ef3b8=_0x506aa8(thORqr[_0x5aba13(0x161,'\x47\x56\x6b\x61')]);if(_0x2ef3b8&&thORqr['\x76\x69\x4f\x70\x4d'](typeof _0x2ef3b8[_0x5aba13(0x1c2,'\x49\x53\x61\x5b')],thORqr[_0x5aba13(0x177,'\x46\x29\x55\x52')]))return _0x2975f8=_0x2ef3b8,_0x35f0ff;return _0x35f7ad=null,null;}catch{return _0xd966df=null,null;}}else return![];}}const _0x38c953={};_0x38c953[_0x2801c7(0x169,'\x41\x61\x48\x78')+_0x2801c7(0x192,'\x76\x68\x62\x5d')]=_0xce2b9f,_0x38c953[_0x2801c7(0x18a,'\x26\x62\x32\x65')]=_0x522a21,_0x38c953[_0x2801c7(0x1d2,'\x55\x50\x55\x79')+'\x6e']=_0x445d77,_0x38c953[_0x2801c7(0x1cf,'\x68\x78\x33\x55')+_0x2801c7(0x199,'\x65\x61\x2a\x35')]=_0x56681e,_0x38c953[_0x2801c7(0x1a1,'\x30\x71\x4e\x57')+_0x2801c7(0x176,'\x57\x66\x26\x2a')]=_0x1b7355,_0x38c953[_0x2801c7(0x170,'\x29\x77\x4f\x43')+'\x72\x79\x45\x72\x72\x6f\x72']=_0x3bdc28,module[_0x2801c7(0x160,'\x6e\x67\x4a\x34')]=_0x38c953;
1
+ // Keychain-backed workspace-id resolver (issue #111 Phase 1).
2
+ //
3
+ // Layered with paths.js#getWorkspaceId(). The current FS-only secret
4
+ // (`<workspace>/.evolver/workspace-id`, mode 0600) closes the *forgery*
5
+ // gap from PR #109 but leaves a *readability* gap: any process running
6
+ // under the same uid can still read the file and impersonate a workspace
7
+ // it does not own. This module gates that secret behind the OS keychain
8
+ // (macOS Keychain Services / libsecret on Linux / Windows Credential
9
+ // Manager) via the optional `@napi-rs/keyring` native addon.
10
+ //
11
+ // PLATFORM NOTES:
12
+ //
13
+ // macOS — backed by Keychain Services (Security.framework). Entries
14
+ // are encrypted by the OS and scoped to the user login session.
15
+ //
16
+ // Linux — backed by libsecret / GNOME Keyring (or the secret-service
17
+ // D-Bus protocol). Unavailable on headless servers without a
18
+ // D-Bus session; the addon load will succeed but getPassword()
19
+ // throws, causing `available: false` and transparent FS fallback.
20
+ //
21
+ // Windows — backed by Windows Credential Manager (CredRead/CredWrite via
22
+ // DPAPI-encrypted blobs). No extra installation needed when the
23
+ // @napi-rs/keyring addon is present. If the addon is absent (bun
24
+ // binary, stripped package, etc.) the resolver falls back to
25
+ // plaintext FS storage — see WINDOWS SECURITY NOTE below.
26
+ //
27
+ // WINDOWS SECURITY NOTE (fallback path):
28
+ // When @napi-rs/keyring is unavailable on Windows (addon load fails),
29
+ // getWorkspaceId() falls back to a plaintext file at
30
+ // <workspace>/.evolver/workspace-id. On Windows, mode 0o600 passed to
31
+ // fs.writeFileSync / fs.openSync is silently ignored, so the file is NOT
32
+ // restricted to the current user at the filesystem ACL level. The only
33
+ // isolation boundary is the Windows user-profile directory
34
+ // (%USERPROFILE%\.evolver or the workspace path), which is ACL-protected
35
+ // by default but grants access to the SYSTEM account and local Admins.
36
+ // This is weaker than the Unix 0o600 guarantee. Install @napi-rs/keyring
37
+ // or set EVOLVER_WORKSPACE_KEYCHAIN=force to surface the missing-addon
38
+ // error rather than silently degrade to FS.
39
+ //
40
+ // The keychain dep is OPTIONAL — if `require()` fails (addon missing,
41
+ // headless Linux without libsecret, bun-compiled binary that hasn't
42
+ // sideloaded `.node` yet), the resolver returns null and paths.js
43
+ // transparently falls back to the existing FS implementation. Behavior
44
+ // for *every* deployment that doesn't actively opt in stays identical
45
+ // to v1.85.x.
46
+ //
47
+ // Mode is controlled by `EVOLVER_WORKSPACE_KEYCHAIN`:
48
+ // - `auto` (default) — try keychain, fall back to FS on any failure.
49
+ // - `force` — keychain only; throw if unavailable. Use in
50
+ // CI to assert the addon is loaded.
51
+ // - `off` — skip keychain entirely; use FS path.
52
+ //
53
+ // Service / account naming:
54
+ // service = "evomap.evolver.workspace-id"
55
+ // account = absolute path to the workspace root
56
+ // The account is the workspace-root path because that's the natural
57
+ // identity boundary — multiple evolver installs sharing the same
58
+ // workspace root must resolve to the SAME secret (writer/reader parity,
59
+ // PR #109 round-1 MEDIUM).
60
+
61
+ const KEYCHAIN_SERVICE = 'evomap.evolver.workspace-id';
62
+
63
+ // 32 hex chars (16 random bytes) — same shape as the FS impl, kept
64
+ // strict so a legacy migration from FS into keychain validates cleanly.
65
+ const ID_RE = /^[a-f0-9]{32,}$/i;
66
+
67
+ let _cachedAddon = undefined; // undefined = not tried, null = failed, fn = ok
68
+
69
+ function loadAddon() {
70
+ if (_cachedAddon !== undefined) return _cachedAddon;
71
+ try {
72
+ // eslint-disable-next-line global-require
73
+ const mod = require('@napi-rs/keyring');
74
+ if (mod && typeof mod.Entry === 'function') {
75
+ // On Windows this uses the Credential Manager (DPAPI-backed) backend
76
+ // from keyring-rs — no extra setup required when the addon is present.
77
+ _cachedAddon = mod;
78
+ return _cachedAddon;
79
+ }
80
+ // Addon present but does not expose the expected Entry constructor —
81
+ // treat as unavailable; callers fall back to FS storage.
82
+ _cachedAddon = null;
83
+ return null;
84
+ } catch {
85
+ // Addon absent or failed to load (bun binary, stripped package, Windows
86
+ // without the prebuilt .node, etc.). On Windows this means Credential
87
+ // Manager is NOT used and the secret falls back to a plaintext file —
88
+ // see WINDOWS SECURITY NOTE at the top of this file.
89
+ _cachedAddon = null;
90
+ return null;
91
+ }
92
+ }
93
+
94
+ function getMode() {
95
+ const raw = String(process.env.EVOLVER_WORKSPACE_KEYCHAIN || 'auto').toLowerCase().trim();
96
+ if (raw === 'force' || raw === 'off' || raw === 'auto') return raw;
97
+ return 'auto';
98
+ }
99
+
100
+ // Patterns indicating a clean "entry not present" miss across the
101
+ // platform backends keyring-rs talks to:
102
+ // - Linux libsecret → "No matching entry found in secure storage"
103
+ // - macOS Keychain → "The specified item could not be found in the keychain"
104
+ // - Windows Cred Mgr → "Element not found"
105
+ // Anything else thrown by getPassword (locked keyring, no D-Bus, version
106
+ // mismatch, ambiguous entry, …) means the keychain itself isn't usable
107
+ // and MUST surface as `available: false` so callers — particularly
108
+ // `force` mode — can refuse to fall back to FS instead of silently
109
+ // papering over the failure (Bugbot PR #121 round-3 MEDIUM: dead code
110
+ // in force-mode unavailable path).
111
+ const NO_ENTRY_PATTERNS = [
112
+ /no\s+matching\s+entry/i, // libsecret
113
+ /could\s+not\s+be\s+found/i, // macOS
114
+ /element\s+not\s+found/i, // Windows
115
+ /\bnoentry\b/i, // keyring-rs NoEntry (CamelCase)
116
+ /\bno\s*entry\b/i, // generic spaced "no entry"
117
+ /not\s+found\s+in\s+(?:secure|keychain)/i,
118
+ ];
119
+
120
+ function _isNoEntryError(err) {
121
+ const msg = (err && err.message) || '';
122
+ return NO_ENTRY_PATTERNS.some((re) => re.test(msg));
123
+ }
124
+
125
+ // Read the secret for `account` from the OS keychain.
126
+ // Returns:
127
+ // { available: true, id: "<32-hex>" } on hit
128
+ // { available: true, id: null } on clean miss (NoEntry-class throw)
129
+ // { available: false, id: null } when the addon isn't loaded OR
130
+ // the keychain throws any non-
131
+ // NoEntry error (locked, no
132
+ // backend, version mismatch, …)
133
+ function readFromKeychain(account) {
134
+ const addon = loadAddon();
135
+ if (!addon) return { available: false, id: null };
136
+ try {
137
+ const entry = new addon.Entry(KEYCHAIN_SERVICE, account);
138
+ const raw = entry.getPassword();
139
+ if (typeof raw === 'string' && ID_RE.test(raw.trim())) {
140
+ return { available: true, id: raw.trim() };
141
+ }
142
+ // getPassword resolved with empty / non-hex — treat as miss; the
143
+ // keychain itself is responding so we stay "available".
144
+ return { available: true, id: null };
145
+ } catch (err) {
146
+ if (_isNoEntryError(err)) return { available: true, id: null };
147
+ return { available: false, id: null };
148
+ }
149
+ }
150
+
151
+ // Persist `id` for `account` in the OS keychain. Returns true on
152
+ // success, false on any failure (callers fall back to FS).
153
+ function writeToKeychain(account, id) {
154
+ const addon = loadAddon();
155
+ if (!addon) return false;
156
+ try {
157
+ const entry = new addon.Entry(KEYCHAIN_SERVICE, account);
158
+ entry.setPassword(id);
159
+ return true;
160
+ } catch {
161
+ return false;
162
+ }
163
+ }
164
+
165
+ module.exports = {
166
+ KEYCHAIN_SERVICE,
167
+ getMode,
168
+ loadAddon,
169
+ readFromKeychain,
170
+ writeToKeychain,
171
+ // Exported for test coverage of the NoEntry-vs-PlatformFailure
172
+ // discrimination (Bugbot PR #121 round-3 MEDIUM).
173
+ _isNoEntryError,
174
+ };