@evomap/evolver 1.89.10 → 1.89.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/.cursor/BUGBOT.md +182 -0
  2. package/.env.example +68 -0
  3. package/.git-commit-guard-token +1 -0
  4. package/.github/CODEOWNERS +63 -0
  5. package/.github/ISSUE_TEMPLATE/good_first_issue.md +23 -0
  6. package/.github/pull_request_template.md +45 -0
  7. package/.github/workflows/test.yml +75 -0
  8. package/CHANGELOG.md +1367 -0
  9. package/README.ja-JP.md +1 -1
  10. package/README.ko-KR.md +1 -1
  11. package/README.md +90 -536
  12. package/README.public.md +578 -0
  13. package/README.zh-CN.md +1 -1
  14. package/SECURITY.md +108 -0
  15. package/assets/gep/events.jsonl +3 -0
  16. package/examples/atp-consumer-quickstart.md +100 -0
  17. package/examples/hello-world.md +38 -0
  18. package/index.js +5 -3
  19. package/package.json +6 -18
  20. package/proxy-package.json +39 -0
  21. package/public.manifest.json +145 -0
  22. package/src/adapters/scripts/evolver-session-end.js +18 -37
  23. package/src/atp/atpExecute.js +27 -71
  24. package/src/atp/serviceHelper.js +28 -36
  25. package/src/config.js +17 -0
  26. package/src/evolve/guards.js +721 -1
  27. package/src/evolve/pipeline/collect.js +1283 -1
  28. package/src/evolve/pipeline/dispatch.js +421 -1
  29. package/src/evolve/pipeline/enrich.js +440 -1
  30. package/src/evolve/pipeline/hub.js +319 -1
  31. package/src/evolve/pipeline/select.js +274 -1
  32. package/src/evolve/pipeline/signals.js +206 -1
  33. package/src/evolve/utils.js +264 -1
  34. package/src/evolve.js +350 -1
  35. package/src/gep/a2aProtocol.js +4463 -1
  36. package/src/gep/antiAbuseTelemetry.js +233 -1
  37. package/src/gep/autoDistillConv.js +205 -1
  38. package/src/gep/autoDistillLlm.js +315 -1
  39. package/src/gep/candidateEval.js +92 -1
  40. package/src/gep/candidates.js +198 -1
  41. package/src/gep/contentHash.js +30 -1
  42. package/src/gep/conversationDistiller.js +270 -0
  43. package/src/gep/conversationSniffer.js +266 -1
  44. package/src/gep/crypto.js +89 -1
  45. package/src/gep/curriculum.js +163 -1
  46. package/src/gep/deviceId.js +218 -1
  47. package/src/gep/envFingerprint.js +118 -1
  48. package/src/gep/epigenetics.js +31 -1
  49. package/src/gep/execBridge.js +712 -1
  50. package/src/gep/explore.js +289 -1
  51. package/src/gep/hash.js +15 -1
  52. package/src/gep/hubFetch.js +608 -1
  53. package/src/gep/hubReview.js +207 -1
  54. package/src/gep/hubSearch.js +526 -1
  55. package/src/gep/hubVerify.js +306 -1
  56. package/src/gep/learningSignals.js +89 -1
  57. package/src/gep/memoryGraph.js +1449 -1
  58. package/src/gep/memoryGraphAdapter.js +203 -1
  59. package/src/gep/mutation.js +203 -1
  60. package/src/gep/narrativeMemory.js +108 -1
  61. package/src/gep/oauthLogin.js +9 -3
  62. package/src/gep/openPRRegistry.js +205 -1
  63. package/src/gep/personality.js +423 -1
  64. package/src/gep/policyCheck.js +599 -1
  65. package/src/gep/privacyClient.js +10 -9
  66. package/src/gep/prompt.js +836 -1
  67. package/src/gep/questionGenerator.js +103 -0
  68. package/src/gep/recallInject.js +409 -1
  69. package/src/gep/recallVerifier.js +318 -1
  70. package/src/gep/reflection.js +177 -1
  71. package/src/gep/savingsCore.js +112 -1
  72. package/src/gep/selector.js +602 -1
  73. package/src/gep/signals.js +85 -17
  74. package/src/gep/skillDistiller.js +1294 -1
  75. package/src/gep/solidify.js +1699 -1
  76. package/src/gep/strategy.js +136 -1
  77. package/src/gep/tokenSavings.js +95 -1
  78. package/src/gep/workspaceKeychain.js +174 -1
  79. package/src/proxy/extensions/traceControl.js +109 -1
  80. package/src/proxy/index.js +100 -3
  81. package/src/proxy/inject.js +52 -1
  82. package/src/proxy/lifecycle/manager.js +108 -7
  83. package/src/proxy/server/routes.js +41 -7
  84. package/src/proxy/server/settings.js +6 -2
  85. package/src/proxy/sync/engine.js +31 -15
  86. package/src/proxy/sync/inbound.js +87 -9
  87. package/src/proxy/sync/outbound.js +57 -4
  88. package/src/proxy/trace/extractor.js +1403 -1
  89. package/src/proxy/trace/usage.js +105 -1
  90. package/CONTRIBUTING.md +0 -19
  91. package/assets/cover.png +0 -0
  92. package/scripts/a2a_export.js +0 -63
  93. package/scripts/a2a_ingest.js +0 -79
  94. package/scripts/a2a_promote.js +0 -118
  95. package/scripts/analyze_by_skill.js +0 -121
  96. package/scripts/build_binaries.js +0 -479
  97. package/scripts/check-changelog.js +0 -166
  98. package/scripts/extract_log.js +0 -85
  99. package/scripts/generate_history.js +0 -75
  100. package/scripts/gep_append_event.js +0 -96
  101. package/scripts/gep_personality_report.js +0 -234
  102. package/scripts/human_report.js +0 -147
  103. package/scripts/recall-verify-report.js +0 -234
  104. package/scripts/recover_loop.js +0 -61
  105. package/scripts/refresh_stars_badge.js +0 -168
  106. package/scripts/seed-merchants.js +0 -91
  107. package/scripts/suggest_version.js +0 -89
  108. package/scripts/validate-modules.js +0 -38
  109. package/scripts/validate-suite.js +0 -78
  110. package/skills/index.json +0 -14
  111. /package/assets/gep/{genes.seed.json → genes.json} +0 -0
  112. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -1 +1,266 @@
1
- const _0x145246=_0x503c;(function(_0x256aee,_0x3b3b3c){const _0x30df29=_0x503c,_0x4cc5cb=_0x256aee();while(!![]){try{const _0x12c763=-parseInt(_0x30df29(0x27b,'\x4d\x25\x25\x79'))/(-0x1*0x14bd+-0x1*0x191d+0x2ddb)*(parseInt(_0x30df29(0x1d4,'\x37\x4a\x72\x57'))/(-0x1a31+0xe51*0x1+0xbe2))+-parseInt(_0x30df29(0x263,'\x43\x5d\x4f\x33'))/(0x1c7b+-0x135b+-0x91d)*(-parseInt(_0x30df29(0x2de,'\x69\x44\x34\x34'))/(-0x2ba*0xb+-0xf9*-0x21+-0x6b*0x5))+-parseInt(_0x30df29(0x32c,'\x34\x70\x4f\x66'))/(-0x2009+0x1*-0x223+0x2231)*(-parseInt(_0x30df29(0x26d,'\x41\x77\x53\x26'))/(-0xbb*-0x21+0x1*0x1393+0x15d4*-0x2))+-parseInt(_0x30df29(0x2b8,'\x73\x4d\x46\x65'))/(-0x5*0x1c8+0x1*-0x899+0x1188)+-parseInt(_0x30df29(0x2a5,'\x69\x29\x57\x39'))/(-0x2*0x1085+-0x192*0x1+-0xc*-0x2e3)+parseInt(_0x30df29(0x2ac,'\x43\x5d\x4f\x33'))/(-0x1618+-0x5*0xb6+-0x19*-0x107)+parseInt(_0x30df29(0x1f1,'\x74\x6c\x6a\x4e'))/(0xc7+0x129a+0x1357*-0x1);if(_0x12c763===_0x3b3b3c)break;else _0x4cc5cb['push'](_0x4cc5cb['shift']());}catch(_0x1cd9e2){_0x4cc5cb['push'](_0x4cc5cb['shift']());}}}(_0x125e,0x643cd+0x1a17a+-0x11379));const _0x41c54a=(function(){const _0x2311c9=_0x503c,_0x4df04c={'\x76\x71\x57\x61\x71':function(_0x40c811,_0x589e73,_0x2f39c7,_0x5433a1,_0xd6d1b6){return _0x40c811(_0x589e73,_0x2f39c7,_0x5433a1,_0xd6d1b6);},'\x49\x72\x62\x56\x54':function(_0x3515ab,_0xd82650){return _0x3515ab!==_0xd82650;},'\x78\x4d\x61\x47\x59':function(_0x5b8856,_0x1d69d6,_0x40cf69){return _0x5b8856(_0x1d69d6,_0x40cf69);},'\x72\x6f\x7a\x41\x74':function(_0x4354c1,_0x1283c3,_0x3322a7,_0x207a44,_0xfeb109){return _0x4354c1(_0x1283c3,_0x3322a7,_0x207a44,_0xfeb109);},'\x7a\x4d\x78\x74\x50':function(_0x5c479c,_0x36503d){return _0x5c479c+_0x36503d;},'\x72\x6d\x56\x6c\x70':function(_0x5d1614){return _0x5d1614();},'\x6d\x7a\x6a\x41\x6d':_0x2311c9(0x213,'\x45\x6a\x64\x69'),'\x6c\x55\x6b\x6c\x46':function(_0x464671,_0x2c4b6c){return _0x464671(_0x2c4b6c);},'\x4e\x4a\x6c\x47\x68':function(_0x535418,_0x3e0410){return _0x535418===_0x3e0410;},'\x52\x49\x54\x51\x4b':_0x2311c9(0x2d1,'\x36\x24\x53\x4e'),'\x6d\x63\x4f\x41\x43':function(_0x3d94d2,_0x18cd52){return _0x3d94d2===_0x18cd52;},'\x62\x45\x55\x5a\x55':function(_0x376d4c,_0x3cffec){return _0x376d4c===_0x3cffec;},'\x66\x58\x55\x4e\x45':function(_0x56de99,_0x3a4aa5){return _0x56de99===_0x3a4aa5;},'\x6c\x70\x41\x41\x46':_0x2311c9(0x2df,'\x43\x5d\x4f\x33'),'\x71\x63\x41\x59\x61':'\x74\x72\x75\x65','\x4d\x42\x4d\x4a\x76':function(_0x5e6f9a,_0x5042c8){return _0x5e6f9a!==_0x5042c8;},'\x43\x57\x64\x53\x5a':function(_0x1f8ccb,_0x5f5395){return _0x1f8ccb===_0x5f5395;},'\x4a\x54\x54\x57\x5a':_0x2311c9(0x2d2,'\x74\x6c\x6a\x4e'),'\x5a\x55\x55\x4b\x55':'\x43\x57\x71\x51\x52'};let _0x3287ff=!![];return function(_0x2f41aa,_0x3591d3){const _0x9f7be9=_0x2311c9,_0x23477f={'\x45\x62\x52\x70\x6f':function(_0xc28897,_0x47b019,_0x434ba4,_0x4b347b,_0x588fdd){const _0x399d00=_0x503c;return _0x4df04c[_0x399d00(0x22e,'\x69\x29\x57\x39')](_0xc28897,_0x47b019,_0x434ba4,_0x4b347b,_0x588fdd);},'\x4d\x54\x50\x5a\x69':function(_0x1627fa,_0x567697){return _0x4df04c['\x49\x72\x62\x56\x54'](_0x1627fa,_0x567697);},'\x5a\x72\x59\x6f\x4b':function(_0x49854f,_0x3d617a,_0x440645){return _0x4df04c['\x78\x4d\x61\x47\x59'](_0x49854f,_0x3d617a,_0x440645);},'\x4a\x6c\x76\x52\x65':function(_0x8f375f,_0x32f568,_0x351de2,_0x3c2fb5,_0x106aa4){return _0x4df04c['\x72\x6f\x7a\x41\x74'](_0x8f375f,_0x32f568,_0x351de2,_0x3c2fb5,_0x106aa4);},'\x65\x62\x57\x54\x54':function(_0x4b8945,_0x53a0f4){const _0x13866c=_0x503c;return _0x4df04c[_0x13866c(0x27d,'\x6e\x45\x7a\x70')](_0x4b8945,_0x53a0f4);},'\x4f\x64\x55\x73\x48':function(_0x3f8c1f){const _0x429520=_0x503c;return _0x4df04c[_0x429520(0x275,'\x45\x6a\x64\x69')](_0x3f8c1f);},'\x62\x79\x58\x56\x6e':_0x4df04c[_0x9f7be9(0x283,'\x6d\x4a\x63\x5d')],'\x45\x6b\x6f\x65\x41':function(_0x155334,_0x7498e4){const _0x5c5775=_0x9f7be9;return _0x4df04c[_0x5c5775(0x2d6,'\x55\x24\x46\x76')](_0x155334,_0x7498e4);},'\x5a\x53\x79\x55\x78':_0x9f7be9(0x285,'\x5b\x41\x5d\x70'),'\x4d\x6f\x41\x79\x4c':function(_0x5abe51,_0x324889){const _0x340061=_0x9f7be9;return _0x4df04c[_0x340061(0x2c0,'\x21\x62\x61\x69')](_0x5abe51,_0x324889);},'\x73\x45\x50\x51\x65':_0x4df04c[_0x9f7be9(0x304,'\x66\x6e\x7a\x35')],'\x74\x79\x42\x63\x73':function(_0x4ebf2c,_0x118b5c){const _0x1158da=_0x9f7be9;return _0x4df04c[_0x1158da(0x234,'\x63\x65\x38\x43')](_0x4ebf2c,_0x118b5c);},'\x62\x75\x44\x59\x57':function(_0x10f824,_0x4202ff){return _0x4df04c['\x62\x45\x55\x5a\x55'](_0x10f824,_0x4202ff);},'\x78\x4a\x49\x73\x4c':function(_0x23161c,_0x5e8da5){const _0x1d5d0f=_0x9f7be9;return _0x4df04c[_0x1d5d0f(0x2bc,'\x74\x6c\x6a\x4e')](_0x23161c,_0x5e8da5);},'\x7a\x7a\x50\x44\x65':_0x4df04c[_0x9f7be9(0x1e7,'\x5b\x41\x5d\x70')],'\x61\x48\x47\x6f\x61':_0x4df04c[_0x9f7be9(0x216,'\x44\x54\x6a\x5a')],'\x75\x61\x44\x71\x78':function(_0x1729dd,_0x58537b){const _0x3d30ba=_0x9f7be9;return _0x4df04c[_0x3d30ba(0x1d6,'\x77\x59\x43\x24')](_0x1729dd,_0x58537b);},'\x68\x42\x6f\x63\x55':function(_0x2647e7,_0x5a59cc){return _0x4df04c['\x49\x72\x62\x56\x54'](_0x2647e7,_0x5a59cc);},'\x6c\x48\x59\x4d\x48':_0x9f7be9(0x22f,'\x5b\x41\x5d\x70'),'\x4c\x63\x48\x62\x4f':_0x9f7be9(0x221,'\x74\x61\x44\x4b'),'\x77\x56\x76\x53\x69':function(_0x12d65e,_0x50a9d9){const _0x587cce=_0x9f7be9;return _0x4df04c[_0x587cce(0x29b,'\x4d\x25\x25\x79')](_0x12d65e,_0x50a9d9);},'\x46\x70\x6d\x47\x66':_0x9f7be9(0x225,'\x5b\x41\x5d\x70')};if(_0x4df04c[_0x9f7be9(0x2bb,'\x63\x53\x6c\x39')](_0x4df04c[_0x9f7be9(0x2d5,'\x68\x55\x5e\x71')],_0x4df04c[_0x9f7be9(0x268,'\x73\x4d\x46\x65')])){const _0x42eb00=_0x26452a[_0x9f7be9(0x293,'\x4d\x59\x79\x6b')+_0x9f7be9(0x26e,'\x4a\x36\x77\x39')]();let _0xcbbf6=_0x23477f[_0x9f7be9(0x336,'\x63\x65\x38\x43')](_0x400946,_0x24586d,_0x42eb00,_0x1edf72,_0x1d8c5f);while(_0x23477f[_0x9f7be9(0x20b,'\x73\x4d\x46\x65')](_0xcbbf6,-(0x7*-0x334+0x1*0x29f+0xc3*0x1a))){if(!_0x23477f['\x5a\x72\x59\x6f\x4b'](_0x4d416e,_0x33f0b6,_0xcbbf6))return!![];_0xcbbf6=_0x23477f[_0x9f7be9(0x2b3,'\x57\x55\x30\x48')](_0x245def,_0x2c5060,_0x42eb00,_0x23477f[_0x9f7be9(0x31d,'\x24\x23\x6a\x77')](_0xcbbf6,-0x15c5+-0x167d+0x2c43),_0x15170f);}}else{const _0x272907=_0x3287ff?function(){const _0x54e99d=_0x9f7be9;if(_0x23477f[_0x54e99d(0x2ab,'\x45\x6a\x64\x69')](_0x23477f[_0x54e99d(0x32a,'\x74\x61\x44\x4b')],_0x23477f[_0x54e99d(0x312,'\x41\x77\x53\x26')])){if(_0x3591d3){if(_0x23477f[_0x54e99d(0x1e1,'\x21\x62\x61\x69')](_0x23477f[_0x54e99d(0x32e,'\x25\x6b\x5b\x70')],_0x54e99d(0x244,'\x4d\x25\x25\x79'))){const _0x38bdab=_0x3591d3[_0x54e99d(0x232,'\x23\x41\x53\x75')](_0x2f41aa,arguments);return _0x3591d3=null,_0x38bdab;}else try{const _0x394b41=_0x23477f[_0x54e99d(0x1d9,'\x24\x23\x6a\x77')](_0x32ff83),_0x18182c={};_0x18182c[_0x54e99d(0x1d0,'\x29\x5b\x77\x29')+'\x65']=!![];if(!_0x3f5bb4[_0x54e99d(0x1de,'\x47\x78\x54\x6b')+'\x6e\x63'](_0x394b41))_0x11d48f[_0x54e99d(0x280,'\x24\x23\x6a\x77')+'\x63'](_0x394b41,_0x18182c);_0x537551[_0x54e99d(0x1f2,'\x30\x46\x42\x51')+_0x54e99d(0x23d,'\x73\x4d\x46\x65')](_0x1eddbb(),_0x3efeed[_0x54e99d(0x28d,'\x44\x54\x6a\x5a')+'\x79'](_0x32d36d)+'\x0a',_0x23477f[_0x54e99d(0x2fc,'\x4d\x25\x25\x79')]);}catch(_0x3ea3f3){}}}else{const _0x52aa50=_0x23477f[_0x54e99d(0x272,'\x34\x70\x4f\x66')](_0x14b65a,_0x247506.env.EVOLVER_CONV_SNIFF_ENABLED||_0x23477f[_0x54e99d(0x22a,'\x66\x6e\x7a\x35')])[_0x54e99d(0x2a2,'\x55\x24\x46\x76')+_0x54e99d(0x219,'\x63\x53\x6c\x39')]()[_0x54e99d(0x1fc,'\x79\x6b\x6c\x61')]();if(_0x23477f[_0x54e99d(0x1ed,'\x43\x5d\x4f\x33')](_0x52aa50,_0x23477f[_0x54e99d(0x1df,'\x74\x48\x49\x45')])||_0x23477f[_0x54e99d(0x220,'\x24\x23\x6a\x77')](_0x52aa50,_0x54e99d(0x23f,'\x34\x70\x4f\x66'))||_0x23477f['\x62\x75\x44\x59\x57'](_0x52aa50,'\x30'))return _0x54e99d(0x28a,'\x41\x77\x53\x26');if(_0x23477f[_0x54e99d(0x337,'\x73\x4d\x46\x65')](_0x52aa50,_0x23477f['\x7a\x7a\x50\x44\x65'])||_0x52aa50==='\x6f\x6e'||_0x52aa50===_0x23477f['\x61\x48\x47\x6f\x61']||_0x23477f['\x75\x61\x44\x71\x78'](_0x52aa50,'\x31'))return _0x23477f[_0x54e99d(0x240,'\x66\x6e\x7a\x35')];return _0x23477f[_0x54e99d(0x33e,'\x41\x77\x53\x26')];}}:function(){};return _0x3287ff=![],_0x272907;}};}()),_0x16e7c8=_0x41c54a(this,function(){const _0x2e7fee=_0x503c,_0x3dcc78={};_0x3dcc78[_0x2e7fee(0x2c8,'\x6e\x45\x7a\x70')]=_0x2e7fee(0x217,'\x74\x48\x49\x45')+'\x2b\x29\x2b\x24';const _0x5c084d=_0x3dcc78;return _0x16e7c8[_0x2e7fee(0x311,'\x73\x51\x53\x24')]()[_0x2e7fee(0x28e,'\x5d\x62\x2a\x71')](_0x5c084d[_0x2e7fee(0x201,'\x74\x61\x44\x4b')])['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x2e7fee(0x1e5,'\x68\x55\x5e\x71')+_0x2e7fee(0x23e,'\x67\x4f\x49\x70')](_0x16e7c8)['\x73\x65\x61\x72\x63\x68'](_0x5c084d[_0x2e7fee(0x237,'\x30\x46\x42\x51')]);});_0x16e7c8();'use strict';const _0x5da004=require('\x66\x73'),_0x2b8cfb=require('\x70\x61\x74\x68'),_0x334d7a=require(_0x145246(0x1fb,'\x4a\x36\x77\x39')),{getEvolutionDir:_0x5411bc}=require(_0x145246(0x296,'\x55\x24\x46\x76')),_0x1bd2dd=((()=>{const _0x155aaf=_0x145246,_0x23a2a2={};_0x23a2a2[_0x155aaf(0x24f,'\x6d\x4a\x63\x5d')]=function(_0xb5636c,_0x382c07){return _0xb5636c===_0x382c07;},_0x23a2a2[_0x155aaf(0x279,'\x34\x70\x4f\x66')]=function(_0x59685a,_0x4b27ba){return _0x59685a===_0x4b27ba;},_0x23a2a2[_0x155aaf(0x252,'\x41\x77\x53\x26')]='\x6f\x66\x66',_0x23a2a2[_0x155aaf(0x230,'\x45\x6a\x64\x69')]=_0x155aaf(0x209,'\x63\x65\x38\x43'),_0x23a2a2[_0x155aaf(0x297,'\x55\x24\x46\x76')]=_0x155aaf(0x25c,'\x69\x6b\x6a\x75'),_0x23a2a2['\x6a\x65\x47\x4b\x4b']=_0x155aaf(0x28c,'\x76\x5b\x71\x47');const _0xc5b34e=_0x23a2a2,_0x13391e=String(process.env.EVOLVER_CONV_SNIFF_ENABLED||'\x73\x68\x61\x64\x6f\x77')['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x155aaf(0x339,'\x76\x5b\x71\x47')]()['\x74\x72\x69\x6d']();if(_0x13391e==='\x6f\x66\x66'||_0xc5b34e[_0x155aaf(0x25a,'\x47\x78\x54\x6b')](_0x13391e,_0x155aaf(0x204,'\x69\x6b\x6a\x75'))||_0xc5b34e['\x41\x55\x74\x50\x66'](_0x13391e,'\x30'))return _0xc5b34e[_0x155aaf(0x258,'\x61\x38\x21\x4d')];if(_0x13391e==='\x65\x6e\x66\x6f\x72\x63\x65'||_0x13391e==='\x6f\x6e'||_0xc5b34e[_0x155aaf(0x325,'\x67\x4f\x49\x70')](_0x13391e,_0xc5b34e[_0x155aaf(0x1fd,'\x43\x5d\x4f\x33')])||_0x13391e==='\x31')return _0xc5b34e['\x51\x6c\x52\x63\x65'];return _0xc5b34e['\x6a\x65\x47\x4b\x4b'];})()),_0x28f6b4=parseInt(process.env.EVOLVER_CONV_SNIFF_COOLDOWN_MS||_0x145246(0x223,'\x76\x5b\x71\x47'),-0x1*0x1a05+-0x16*0xbf+-0x53*-0x83)||-0x173f20+0xcb65b*-0x1+-0x1*-0x3f6cbb,_0x516917=-0x26e3+-0x227a+0x4962,_0x1baf9c=0x23b*-0x11+-0x67f+0x5*0x912,_0x5c2a09=_0x145246(0x27f,'\x29\x5b\x77\x29')+_0x145246(0x250,'\x63\x53\x6c\x39')+'\x63\x61\x6e\x64\x69\x64\x61\x74'+'\x65',_0x2e2a52=[_0x145246(0x24a,'\x41\x77\x53\x26'),_0x145246(0x23b,'\x55\x24\x46\x76')+'\x64',_0x145246(0x1d7,'\x79\x6b\x6c\x61'),_0x145246(0x340,'\x5b\x41\x5d\x70')+'\x64',_0x145246(0x239,'\x74\x48\x49\x45'),_0x145246(0x1dc,'\x4a\x36\x77\x39'),_0x145246(0x2e3,'\x5b\x41\x5d\x70')+'\x64',_0x145246(0x202,'\x2a\x54\x59\x4f'),_0x145246(0x316,'\x64\x62\x30\x76')+'\x64',_0x145246(0x1d1,'\x68\x55\x5e\x71'),_0x145246(0x218,'\x26\x50\x71\x56'),'\u6210\u529f',_0x145246(0x29a,'\x79\x6b\x6c\x61'),_0x145246(0x251,'\x5b\x41\x5d\x70'),_0x145246(0x233,'\x74\x61\x44\x4b'),'\u641e\u5b9a','\u8dd1\u901a',_0x145246(0x2e2,'\x21\x62\x61\x69')],_0x20248b=[[/\blark-cli\b|飞书文档|feishu doc|lark doc/i,_0x145246(0x2e5,'\x5e\x63\x56\x33')+_0x145246(0x319,'\x79\x6b\x6c\x61')+'\x6f\x63'],[/\bgh (pr|issue|release)\b|github api|open(ed)? a pr\b/i,_0x145246(0x2af,'\x6e\x45\x7a\x70')+_0x145246(0x27e,'\x29\x5b\x77\x29')+'\x6e'],[/\bcurl\b.+\b(api|endpoint)\b|\bfetch\(.+\bapi\b/i,_0x145246(0x24c,'\x74\x6c\x6a\x4e')],[/\bdocker (build|run|compose)\b/i,_0x145246(0x2e1,'\x47\x78\x54\x6b')+_0x145246(0x26b,'\x24\x23\x6a\x77')],[/\bkubectl\b|helm (install|upgrade)\b/i,_0x145246(0x2c9,'\x4d\x25\x25\x79')+'\x61\x74\x69\x6f\x6e'],[/\bprisma (migrate|db push)\b|\bpsql\b|pg_dump/i,_0x145246(0x2ae,'\x47\x78\x54\x6b')+_0x145246(0x332,'\x77\x59\x43\x24')],[/\bnpm publish\b|\bnpx skills\b/i,_0x145246(0x2e0,'\x6e\x45\x7a\x70')+_0x145246(0x289,'\x5e\x63\x56\x33')]];function _0x370d54(){const _0x109a9a=_0x145246,_0x514b87={'\x76\x65\x71\x54\x69':function(_0x1e7302){return _0x1e7302();},'\x4c\x43\x74\x4f\x4b':_0x109a9a(0x22c,'\x47\x69\x32\x4d')+_0x109a9a(0x2be,'\x47\x69\x32\x4d')+_0x109a9a(0x30a,'\x68\x55\x5e\x71')};return _0x2b8cfb[_0x109a9a(0x2cb,'\x4d\x78\x24\x28')](_0x514b87[_0x109a9a(0x2c5,'\x29\x5b\x77\x29')](_0x5411bc),_0x514b87['\x4c\x43\x74\x4f\x4b']);}function _0x1773ac(){const _0x40cbb5=_0x145246,_0x455ff5={};_0x455ff5[_0x40cbb5(0x29c,'\x55\x37\x6a\x77')]=_0x40cbb5(0x329,'\x74\x61\x44\x4b')+_0x40cbb5(0x314,'\x66\x6e\x7a\x35')+_0x40cbb5(0x1e4,'\x79\x6e\x30\x74');const _0xc8a329=_0x455ff5;return _0x2b8cfb[_0x40cbb5(0x1f9,'\x47\x69\x32\x4d')](_0x5411bc(),_0xc8a329[_0x40cbb5(0x2f2,'\x43\x5d\x4f\x33')]);}function _0x183566(){const _0x5e67e6=_0x145246,_0x1b3f1b={'\x42\x47\x62\x69\x4e':function(_0x43ebe8){return _0x43ebe8();}};try{return JSON[_0x5e67e6(0x2c3,'\x67\x4f\x49\x70')](_0x5da004[_0x5e67e6(0x254,'\x79\x6e\x30\x74')+_0x5e67e6(0x2fa,'\x74\x6c\x6a\x4e')](_0x1b3f1b[_0x5e67e6(0x1d8,'\x6e\x45\x7a\x70')](_0x370d54),_0x5e67e6(0x32d,'\x79\x6b\x6c\x61')));}catch(_0x608b1f){const _0x5cf61b={};return _0x5cf61b[_0x5e67e6(0x2c6,'\x6d\x4a\x63\x5d')]={},_0x5cf61b[_0x5e67e6(0x267,'\x34\x70\x4f\x66')+_0x5e67e6(0x30b,'\x69\x29\x57\x39')]=0x0,_0x5cf61b;}}function _0x45f501(_0x513e41){const _0x2a8856=_0x145246,_0x1c8edb={'\x43\x43\x70\x63\x53':function(_0xbcc7c8,_0x446c83){return _0xbcc7c8+_0x446c83;},'\x6d\x42\x48\x75\x42':function(_0x1e0d86){return _0x1e0d86();},'\x57\x43\x54\x72\x69':_0x2a8856(0x20e,'\x25\x6b\x5b\x70'),'\x77\x5a\x4e\x6c\x4f':function(_0x50a656,_0x5b45dd){return _0x50a656+_0x5b45dd;},'\x57\x55\x42\x70\x4f':_0x2a8856(0x2ce,'\x21\x62\x61\x69'),'\x53\x48\x53\x53\x67':function(_0x130402){return _0x130402();}};try{const _0x4ddcae=_0x5411bc(),_0x501d65={};_0x501d65[_0x2a8856(0x309,'\x79\x6b\x6c\x61')+'\x65']=!![];if(!_0x5da004[_0x2a8856(0x1e3,'\x21\x62\x61\x69')+'\x6e\x63'](_0x4ddcae))_0x5da004[_0x2a8856(0x2bd,'\x47\x78\x54\x6b')+'\x63'](_0x4ddcae,_0x501d65);const _0x57b419=_0x1c8edb['\x43\x43\x70\x63\x53'](_0x1c8edb[_0x2a8856(0x2d3,'\x4a\x76\x6d\x73')](_0x370d54),_0x1c8edb[_0x2a8856(0x1d3,'\x45\x6a\x64\x69')]);_0x5da004[_0x2a8856(0x1e2,'\x68\x55\x5e\x71')+_0x2a8856(0x1ec,'\x66\x6e\x7a\x35')](_0x57b419,_0x1c8edb[_0x2a8856(0x21f,'\x66\x6e\x7a\x35')](JSON[_0x2a8856(0x1d2,'\x41\x77\x53\x26')+'\x79'](_0x513e41,null,0x1d16+-0x1e49+0x1*0x135),'\x0a'),_0x1c8edb[_0x2a8856(0x1e9,'\x4a\x76\x6d\x73')]),_0x5da004[_0x2a8856(0x243,'\x25\x6b\x5b\x70')+'\x6e\x63'](_0x57b419,_0x1c8edb[_0x2a8856(0x29e,'\x45\x6a\x64\x69')](_0x370d54));}catch(_0x24c1cf){}}function _0x503c(_0x5eb52d,_0x4381e2){_0x5eb52d=_0x5eb52d-(0x9*0x2a5+0x19b+-0x1799);const _0x1bd300=_0x125e();let _0x2c0e1c=_0x1bd300[_0x5eb52d];if(_0x503c['\x77\x5a\x59\x52\x5a\x51']===undefined){var _0x2e8939=function(_0x457ca0){const _0x56a7cd='\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 _0x194be9='',_0x411756='',_0x1cea5d=_0x194be9+_0x2e8939,_0x1564be=(''+function(){return-0x1aab*-0x1+0x1e3d+0x12f8*-0x3;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x1a3c+-0x9dd+0xa*-0x1a3);for(let _0x9a0e0c=-0x161a+-0x934+0x1f4e,_0x55e896,_0x2a4e08,_0x10a24b=-0xa1f+-0x7f*0x18+0x1*0x1607;_0x2a4e08=_0x457ca0['\x63\x68\x61\x72\x41\x74'](_0x10a24b++);~_0x2a4e08&&(_0x55e896=_0x9a0e0c%(0x167d+0x6ba*0x3+-0x2aa7)?_0x55e896*(0xd83+-0x16f1+0x9ae)+_0x2a4e08:_0x2a4e08,_0x9a0e0c++%(-0x2353+-0x25*-0x109+-0x2f6*0x1))?_0x194be9+=_0x1564be||_0x1cea5d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x10a24b+(0xb*-0xb1+0xa5*-0x18+0x171d))-(-0x655*0x1+0x2*-0x7ed+0x1639)!==0x1c3e+0xb9*-0x15+0x1*-0xd11?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xd3*-0x16+0x845+0xadc&_0x55e896>>(-(-0x6*0x603+0x506*0x5+0xaf6)*_0x9a0e0c&0x41*0x7f+0xcf7*-0x1+-0x91*0x22)):_0x9a0e0c:-0xc6b+-0x1*-0x146b+-0x800){_0x2a4e08=_0x56a7cd['\x69\x6e\x64\x65\x78\x4f\x66'](_0x2a4e08);}for(let _0x113ea2=0x915+0xd38+-0x164d,_0x200561=_0x194be9['\x6c\x65\x6e\x67\x74\x68'];_0x113ea2<_0x200561;_0x113ea2++){_0x411756+='\x25'+('\x30\x30'+_0x194be9['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x113ea2)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x13cf+0x1*0x2583+-0x8d2*0x2))['\x73\x6c\x69\x63\x65'](-(-0x61*-0x49+-0x2*-0x15b+0x1*-0x1e5d));}return decodeURIComponent(_0x411756);};const _0x2a2ad8=function(_0x7fc0c8,_0x412201){let _0x3fad44=[],_0x347356=-0x25e7*0x1+0x23bc+-0x25*-0xf,_0x12ca18,_0xf40f2e='';_0x7fc0c8=_0x2e8939(_0x7fc0c8);let _0x1e05e7;for(_0x1e05e7=0x663+-0x178c+-0x17*-0xbf;_0x1e05e7<0x2217+-0x7ee+0x1*-0x1929;_0x1e05e7++){_0x3fad44[_0x1e05e7]=_0x1e05e7;}for(_0x1e05e7=-0x17b3+-0x11a5+-0x62*-0x6c;_0x1e05e7<-0x26ed+-0x8*-0x27a+0x141d;_0x1e05e7++){_0x347356=(_0x347356+_0x3fad44[_0x1e05e7]+_0x412201['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1e05e7%_0x412201['\x6c\x65\x6e\x67\x74\x68']))%(0x162c+-0x67*0x2c+0x1bc*-0x2),_0x12ca18=_0x3fad44[_0x1e05e7],_0x3fad44[_0x1e05e7]=_0x3fad44[_0x347356],_0x3fad44[_0x347356]=_0x12ca18;}_0x1e05e7=-0x1c2a+-0x1624+0x5e*0x89,_0x347356=-0x11a1+0x2232+-0x1091;for(let _0x3ffda1=-0xdc4*-0x1+0x2289+0x1*-0x304d;_0x3ffda1<_0x7fc0c8['\x6c\x65\x6e\x67\x74\x68'];_0x3ffda1++){_0x1e05e7=(_0x1e05e7+(0x1*0x235d+-0xf4d+-0x403*0x5))%(-0xd*0x61+0x8d2+0xd*-0x39),_0x347356=(_0x347356+_0x3fad44[_0x1e05e7])%(-0x3d9*0xa+0x194c+0xe2e),_0x12ca18=_0x3fad44[_0x1e05e7],_0x3fad44[_0x1e05e7]=_0x3fad44[_0x347356],_0x3fad44[_0x347356]=_0x12ca18,_0xf40f2e+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x7fc0c8['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3ffda1)^_0x3fad44[(_0x3fad44[_0x1e05e7]+_0x3fad44[_0x347356])%(0x3b*0x93+0x46c*-0x4+-0xf31)]);}return _0xf40f2e;};_0x503c['\x6e\x64\x74\x64\x65\x65']=_0x2a2ad8,_0x503c['\x53\x58\x64\x4a\x47\x6a']={},_0x503c['\x77\x5a\x59\x52\x5a\x51']=!![];}const _0x33df5a=_0x1bd300[-0x9*0x65+0x1d*0x139+-0x4*0x7fa],_0x3315b5=_0x5eb52d+_0x33df5a,_0x128936=_0x503c['\x53\x58\x64\x4a\x47\x6a'][_0x3315b5];if(!_0x128936){if(_0x503c['\x4e\x57\x73\x4c\x76\x52']===undefined){const _0x1049ea=function(_0x3f43dd){this['\x43\x6f\x79\x67\x50\x4b']=_0x3f43dd,this['\x69\x6c\x67\x76\x51\x4a']=[-0x15c2+-0x185e+-0x31*-0xf1,0x16*-0x83+-0x1da3+0x28e5,-0x1056+0x1f91+-0xf3b*0x1],this['\x73\x78\x5a\x46\x58\x54']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x77\x44\x73\x58\x6a\x4f']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x4b\x5a\x4e\x56\x4f\x52']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x1049ea['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x75\x53\x77\x4f\x74\x52']=function(){const _0x4747a8=new RegExp(this['\x77\x44\x73\x58\x6a\x4f']+this['\x4b\x5a\x4e\x56\x4f\x52']),_0x4e1637=_0x4747a8['\x74\x65\x73\x74'](this['\x73\x78\x5a\x46\x58\x54']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x69\x6c\x67\x76\x51\x4a'][-0x19c6+-0x17a9+0x3170]:--this['\x69\x6c\x67\x76\x51\x4a'][-0x7b7+0xd65+-0x5ae];return this['\x4b\x6c\x64\x76\x58\x55'](_0x4e1637);},_0x1049ea['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4b\x6c\x64\x76\x58\x55']=function(_0x4dfd6a){if(!Boolean(~_0x4dfd6a))return _0x4dfd6a;return this['\x43\x48\x4c\x4c\x49\x43'](this['\x43\x6f\x79\x67\x50\x4b']);},_0x1049ea['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x43\x48\x4c\x4c\x49\x43']=function(_0x350b1b){for(let _0x3ce9e9=0x3*0x669+-0xc94+0x1*-0x6a7,_0xc1a70c=this['\x69\x6c\x67\x76\x51\x4a']['\x6c\x65\x6e\x67\x74\x68'];_0x3ce9e9<_0xc1a70c;_0x3ce9e9++){this['\x69\x6c\x67\x76\x51\x4a']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0xc1a70c=this['\x69\x6c\x67\x76\x51\x4a']['\x6c\x65\x6e\x67\x74\x68'];}return _0x350b1b(this['\x69\x6c\x67\x76\x51\x4a'][-0x947+-0x2*0x162+-0x1*-0xc0b]);},(''+function(){return-0x853*0x1+0xc31*0x1+-0x3de;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x12db+-0x1669+-0x1*-0x2945)&&new _0x1049ea(_0x503c)['\x75\x53\x77\x4f\x74\x52'](),_0x503c['\x4e\x57\x73\x4c\x76\x52']=!![];}_0x2c0e1c=_0x503c['\x6e\x64\x74\x64\x65\x65'](_0x2c0e1c,_0x4381e2),_0x503c['\x53\x58\x64\x4a\x47\x6a'][_0x3315b5]=_0x2c0e1c;}else _0x2c0e1c=_0x128936;return _0x2c0e1c;}function _0x274b9c(_0x4fa9f5){const _0x3a5dd0=_0x145246,_0x46c058={'\x67\x52\x6e\x48\x6e':function(_0x529716){return _0x529716();},'\x4b\x50\x53\x42\x41':function(_0x58759e){return _0x58759e();},'\x58\x6a\x6c\x52\x4f':function(_0x1863ae,_0x5bd07a){return _0x1863ae+_0x5bd07a;},'\x50\x43\x54\x57\x68':_0x3a5dd0(0x206,'\x68\x55\x5e\x71')};try{const _0x13d288=_0x46c058[_0x3a5dd0(0x2b4,'\x34\x70\x4f\x66')](_0x5411bc),_0x1b29de={};_0x1b29de[_0x3a5dd0(0x32b,'\x76\x25\x41\x31')+'\x65']=!![];if(!_0x5da004[_0x3a5dd0(0x291,'\x76\x25\x41\x31')+'\x6e\x63'](_0x13d288))_0x5da004[_0x3a5dd0(0x335,'\x34\x70\x4f\x66')+'\x63'](_0x13d288,_0x1b29de);_0x5da004['\x61\x70\x70\x65\x6e\x64\x46\x69'+_0x3a5dd0(0x222,'\x5b\x41\x5d\x70')](_0x46c058[_0x3a5dd0(0x2c2,'\x44\x54\x6a\x5a')](_0x1773ac),_0x46c058[_0x3a5dd0(0x313,'\x4d\x25\x25\x79')](JSON[_0x3a5dd0(0x31e,'\x47\x78\x54\x6b')+'\x79'](_0x4fa9f5),'\x0a'),_0x46c058['\x50\x43\x54\x57\x68']);}catch(_0x2974a5){}}function _0xb9c8dc(_0x8c23b9){const _0x4ee4cb=_0x145246,_0x2c45e4={'\x69\x69\x61\x68\x54':_0x4ee4cb(0x30d,'\x63\x53\x6c\x39'),'\x45\x42\x50\x50\x46':function(_0x930e0b,_0x57b004){return _0x930e0b(_0x57b004);},'\x70\x64\x54\x76\x65':_0x4ee4cb(0x260,'\x69\x44\x34\x34')};return _0x334d7a['\x63\x72\x65\x61\x74\x65\x48\x61'+'\x73\x68'](_0x2c45e4['\x69\x69\x61\x68\x54'])['\x75\x70\x64\x61\x74\x65'](_0x2c45e4[_0x4ee4cb(0x29f,'\x63\x65\x38\x43')](String,_0x8c23b9||''))[_0x4ee4cb(0x256,'\x55\x37\x6a\x77')](_0x2c45e4['\x70\x64\x54\x76\x65'])[_0x4ee4cb(0x288,'\x79\x6b\x6c\x61')](0x4*-0x648+0x10f6*-0x1+0x150b*0x2,0x2fb*0xc+0xe15+-0x31c9);}function _0x23b417(){return _0x1bd2dd;}function _0x5a8afc(_0x4c2229){const _0x1e7840=_0x145246,_0x21723c={'\x57\x61\x63\x74\x4f':function(_0x103334,_0x30e2b5){return _0x103334===_0x30e2b5;},'\x7a\x62\x4b\x64\x65':function(_0x12fdfe){return _0x12fdfe();},'\x54\x72\x50\x58\x64':function(_0xbcd41,_0x12d6a9){return _0xbcd41<_0x12d6a9;},'\x5a\x63\x53\x7a\x42':function(_0x2a97ce,_0x28cdb5){return _0x2a97ce-_0x28cdb5;}};if(_0x21723c['\x57\x61\x63\x74\x4f'](_0x1bd2dd,_0x1e7840(0x238,'\x66\x6e\x7a\x35')))return![];const _0x263061=_0x4c2229||_0x21723c['\x7a\x62\x4b\x64\x65'](_0x183566),_0x47f8e6=_0x263061[_0x1e7840(0x2ca,'\x30\x46\x42\x51')+_0x1e7840(0x306,'\x55\x24\x46\x76')]||0xab9+0x1*0x1f24+0x29dd*-0x1;if(_0x21723c[_0x1e7840(0x1f7,'\x68\x55\x5e\x71')](_0x21723c['\x5a\x63\x53\x7a\x42'](Date[_0x1e7840(0x2c1,'\x34\x70\x4f\x66')](),_0x47f8e6),_0x28f6b4))return![];return!![];}const _0x1dabb3=-0x1546*0x1+0x1d9*0x7+0x91f,_0x56a331=[_0x145246(0x2a4,'\x25\x6b\x5b\x70'),_0x145246(0x27a,'\x47\x69\x32\x4d'),_0x145246(0x23a,'\x4d\x25\x25\x79'),_0x145246(0x2b6,'\x55\x24\x46\x76'),_0x145246(0x28b,'\x5d\x62\x2a\x71'),_0x145246(0x262,'\x74\x48\x49\x45'),_0x145246(0x2b1,'\x5b\x41\x5d\x70'),_0x145246(0x2f8,'\x69\x6b\x6a\x75'),_0x145246(0x231,'\x5b\x41\x5d\x70'),'\u6ca1','\u672a','\u4e0d','\u5931\u8d25','\u65e0\u6cd5'],_0x27db14=-0x1591*-0x1+0x5e*0x64+-0x1367*0x3;function _0x39523d(_0x39886b,_0x2d0569){const _0x3fa830=_0x145246,_0x31556f={};_0x31556f[_0x3fa830(0x255,'\x47\x78\x54\x6b')]=function(_0x1fc115,_0x192737){return _0x1fc115-_0x192737;};const _0xfc7e22=_0x31556f,_0x169be9=Math[_0x3fa830(0x2b7,'\x25\x6b\x5b\x70')](-0x756+0x237b*-0x1+0x1*0x2ad1,_0xfc7e22[_0x3fa830(0x2fd,'\x30\x46\x42\x51')](_0x2d0569,_0x27db14)),_0x40824a=_0x39886b[_0x3fa830(0x207,'\x5b\x41\x5d\x70')](_0x169be9,_0x2d0569);return _0x56a331[_0x3fa830(0x1f5,'\x74\x61\x44\x4b')](_0x278571=>_0x40824a[_0x3fa830(0x33c,'\x25\x6b\x5b\x70')](_0x278571));}function _0x2a414d(_0x557715,_0x1f1ed0,_0x11b24c,_0x5b4be0){const _0x376094=_0x145246,_0x443846={'\x70\x4a\x75\x75\x50':_0x376094(0x1f3,'\x23\x41\x53\x75')+'\x2b\x29\x2b\x24','\x55\x59\x4f\x51\x5a':function(_0x31c9f7,_0x1636ce){return _0x31c9f7-_0x1636ce;},'\x42\x79\x73\x48\x52':function(_0x101eed,_0x22a9fb){return _0x101eed+_0x22a9fb;},'\x55\x57\x65\x74\x76':_0x376094(0x298,'\x69\x29\x57\x39'),'\x48\x58\x6f\x78\x66':function(_0x11f618,_0x445f55,_0x58b8a1,_0x32096a,_0x39a34c){return _0x11f618(_0x445f55,_0x58b8a1,_0x32096a,_0x39a34c);},'\x51\x6c\x72\x44\x54':function(_0x85de72,_0x41a202){return _0x85de72!==_0x41a202;},'\x41\x59\x79\x47\x62':function(_0x492f7b,_0x5d8bf,_0x543e03){return _0x492f7b(_0x5d8bf,_0x543e03);},'\x54\x6f\x67\x6f\x6e':function(_0x2a1ccf,_0x100add){return _0x2a1ccf+_0x100add;}},_0x5a5d79=Math[_0x376094(0x342,'\x21\x62\x61\x69')](0xa3f*-0x2+0xa5d+0x1*0xa21,_0x443846[_0x376094(0x341,'\x36\x24\x53\x4e')](_0x11b24c,_0x1dabb3)),_0x43547e=Math[_0x376094(0x2c7,'\x73\x51\x53\x24')](_0x1f1ed0[_0x376094(0x1e0,'\x45\x6a\x64\x69')],_0x443846[_0x376094(0x2ef,'\x64\x62\x30\x76')](_0x443846[_0x376094(0x2e4,'\x74\x48\x49\x45')](_0x11b24c,_0x5b4be0),_0x1dabb3));for(const _0x4f3841 of _0x2e2a52){if(_0x443846[_0x376094(0x31a,'\x25\x6b\x5b\x70')]!==_0x443846[_0x376094(0x1cf,'\x29\x5b\x77\x29')])return _0x17157c['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x376094(0x326,'\x6e\x45\x7a\x70')](NuclMg[_0x376094(0x334,'\x64\x62\x30\x76')])[_0x376094(0x2f1,'\x69\x29\x57\x39')]()[_0x376094(0x277,'\x55\x37\x6a\x77')+_0x376094(0x26c,'\x5b\x41\x5d\x70')](_0x147325)[_0x376094(0x282,'\x37\x4a\x72\x57')](NuclMg[_0x376094(0x2dd,'\x4a\x36\x77\x39')]);else{const _0x341e76=_0x4f3841[_0x376094(0x208,'\x79\x6b\x6c\x61')+_0x376094(0x2b2,'\x66\x6e\x7a\x35')]();let _0x40883d=_0x443846[_0x376094(0x249,'\x37\x4a\x72\x57')](_0x39fd0d,_0x1f1ed0,_0x341e76,_0x5a5d79,_0x43547e);while(_0x443846[_0x376094(0x2e9,'\x4d\x59\x79\x6b')](_0x40883d,-(0xfd6+-0x12fd+0x4*0xca))){if(!_0x443846[_0x376094(0x2ee,'\x74\x61\x44\x4b')](_0x39523d,_0x1f1ed0,_0x40883d))return!![];_0x40883d=_0x39fd0d(_0x1f1ed0,_0x341e76,_0x443846[_0x376094(0x25e,'\x36\x24\x53\x4e')](_0x40883d,0x3*0x3c1+-0x2509+-0x1*-0x19c7),_0x43547e);}}}return![];}function _0x39fd0d(_0x369d71,_0x3cd285,_0x47806b,_0x31ee97){const _0x38dd8e=_0x145246,_0xf74565={};_0xf74565[_0x38dd8e(0x2d7,'\x5b\x41\x5d\x70')]=function(_0x162650,_0x3caf38){return _0x162650===_0x3caf38;},_0xf74565[_0x38dd8e(0x241,'\x47\x78\x54\x6b')]=function(_0x1979d8,_0x495f20){return _0x1979d8>=_0x495f20;};const _0x17da98=_0xf74565,_0x330202=_0x369d71[_0x38dd8e(0x1ef,'\x63\x53\x6c\x39')](_0x3cd285,_0x47806b);if(_0x17da98[_0x38dd8e(0x261,'\x45\x6a\x64\x69')](_0x330202,-(-0x461+-0x791+0x1b5*0x7))||_0x17da98[_0x38dd8e(0x1e8,'\x41\x77\x53\x26')](_0x330202,_0x31ee97))return-(0x245a+-0x32c+0x212d*-0x1);return _0x330202;}function _0x125e(){const _0x55d1f3=['\x68\x38\x6f\x63\x57\x35\x4f\x77\x57\x37\x47\x46','\x57\x37\x66\x65\x6f\x53\x6b\x4c\x57\x36\x71','\x6d\x62\x4b\x55\x57\x52\x4a\x64\x4a\x57\x74\x64\x4a\x61','\x77\x49\x42\x63\x49\x47\x72\x45','\x57\x52\x70\x63\x4a\x58\x58\x77\x46\x38\x6f\x4d\x6d\x47','\x57\x35\x71\x54\x57\x37\x57','\x73\x43\x6f\x4c\x57\x50\x74\x64\x56\x71','\x41\x43\x6f\x7a\x57\x50\x79\x69\x6c\x67\x30','\x79\x38\x6b\x50\x78\x6d\x6f\x6e\x57\x52\x61\x73\x70\x64\x47','\x78\x6d\x6f\x48\x57\x50\x5a\x64\x4f\x38\x6b\x31\x57\x52\x69','\x62\x43\x6f\x65\x57\x35\x57','\x68\x53\x6f\x30\x57\x4f\x42\x63\x4b\x77\x62\x67\x44\x4d\x38','\x57\x52\x61\x76\x6b\x53\x6b\x77\x78\x30\x44\x62\x71\x47','\x43\x6d\x6f\x75\x57\x50\x71\x79\x6a\x4e\x37\x64\x48\x43\x6b\x49','\x6c\x30\x2f\x63\x56\x31\x57\x70\x57\x35\x57\x62\x57\x37\x61','\x57\x35\x74\x63\x52\x6d\x6b\x31\x6f\x47','\x74\x6d\x6f\x46\x57\x52\x57\x51\x6a\x57','\x43\x4e\x66\x61\x43\x76\x7a\x41\x57\x50\x61','\x64\x74\x6a\x49\x43\x30\x43','\x65\x5a\x4f\x4d\x57\x52\x2f\x64\x56\x47','\x45\x43\x6f\x45\x57\x50\x4b\x41\x68\x67\x4e\x63\x4b\x6d\x6f\x52','\x35\x42\x45\x42\x35\x79\x36\x42\x35\x42\x55\x47','\x6d\x6d\x6f\x65\x78\x73\x2f\x64\x4e\x71','\x57\x34\x68\x63\x49\x6d\x6f\x57\x73\x63\x69','\x57\x51\x65\x6b\x57\x51\x56\x63\x53\x57','\x63\x53\x6b\x6e\x57\x50\x6a\x55\x73\x57','\x57\x34\x70\x64\x4c\x38\x6f\x5a\x57\x52\x4f\x38','\x57\x34\x58\x47\x45\x6d\x6f\x39\x61\x76\x74\x63\x55\x6d\x6f\x32\x66\x53\x6b\x62\x57\x51\x68\x64\x56\x71\x4b','\x57\x52\x4c\x38\x57\x51\x6c\x64\x4a\x43\x6f\x44\x57\x34\x70\x64\x49\x4c\x65','\x6b\x64\x66\x38\x46\x31\x76\x78\x57\x50\x68\x64\x50\x71','\x79\x6d\x6b\x4f\x78\x43\x6f\x6d','\x74\x77\x33\x64\x4c\x32\x34','\x43\x4b\x6a\x39\x57\x36\x37\x63\x4e\x4c\x64\x63\x4a\x57\x33\x63\x47\x59\x48\x54\x68\x4b\x53','\x57\x37\x42\x63\x49\x77\x6e\x6d\x57\x51\x4f','\x57\x52\x5a\x64\x50\x65\x2f\x64\x54\x57','\x57\x36\x50\x46\x57\x4f\x68\x64\x4a\x6d\x6f\x58','\x6f\x38\x6b\x71\x43\x6d\x6b\x4d\x6c\x47','\x43\x53\x6f\x71\x57\x4f\x71','\x6d\x43\x6b\x68\x57\x51\x35\x45\x45\x71','\x57\x36\x78\x63\x54\x48\x39\x30\x57\x51\x61\x68\x62\x30\x43\x70\x43\x53\x6f\x67\x66\x6d\x6b\x77','\x72\x4b\x43\x70\x57\x50\x76\x6a','\x57\x36\x35\x4f\x72\x49\x2f\x63\x53\x38\x6b\x5a\x57\x34\x42\x63\x55\x61','\x57\x52\x74\x63\x53\x57\x74\x63\x56\x38\x6f\x77\x57\x51\x4e\x63\x51\x53\x6b\x54','\x57\x51\x64\x63\x4d\x57\x35\x42\x44\x6d\x6f\x38\x6e\x49\x65','\x67\x38\x6f\x6c\x57\x34\x47\x43\x57\x52\x61\x43','\x57\x37\x48\x38\x57\x51\x34','\x57\x35\x5a\x63\x4d\x76\x6a\x71\x69\x71','\x79\x32\x35\x58\x75\x6d\x6b\x73','\x57\x37\x50\x55\x57\x51\x78\x64\x4a\x53\x6f\x41\x57\x34\x42\x64\x48\x57\x30','\x6d\x4a\x54\x67\x44\x76\x61\x73','\x74\x4d\x70\x64\x4d\x57','\x57\x36\x70\x63\x55\x62\x5a\x63\x51\x53\x6b\x7a\x57\x35\x46\x63\x4d\x43\x6b\x33\x57\x37\x53\x37\x42\x43\x6f\x34\x44\x57','\x43\x38\x6b\x38\x78\x53\x6f\x66\x57\x52\x57\x43\x6f\x74\x43','\x41\x48\x6c\x64\x48\x57\x54\x69\x57\x4f\x66\x64\x57\x36\x79\x58\x46\x73\x35\x6d\x57\x37\x75','\x75\x43\x6b\x49\x57\x50\x34\x6b\x6f\x57','\x44\x68\x57\x4f\x57\x37\x2f\x63\x51\x61','\x57\x36\x44\x48\x64\x59\x4e\x63\x53\x43\x6b\x66\x57\x34\x33\x63\x54\x57','\x67\x6d\x6f\x39\x75\x43\x6b\x54\x57\x51\x48\x6c\x6a\x77\x43','\x41\x77\x57\x6d\x57\x37\x42\x64\x4a\x71','\x61\x31\x2f\x64\x53\x75\x6e\x43','\x41\x4c\x6e\x4f','\x77\x38\x6b\x6e\x46\x43\x6f\x4d\x57\x50\x38','\x71\x48\x48\x4f\x57\x37\x66\x4b','\x57\x36\x2f\x64\x55\x38\x6f\x65','\x57\x4f\x31\x35\x69\x53\x6f\x34\x57\x52\x4b','\x66\x53\x6f\x4d\x57\x36\x61\x37','\x72\x32\x47\x4c','\x57\x4f\x6c\x63\x52\x48\x37\x63\x47\x38\x6f\x4f','\x66\x53\x6b\x2b\x79\x30\x4a\x64\x48\x6d\x6f\x31\x57\x37\x37\x64\x55\x57','\x65\x4a\x52\x64\x4e\x32\x76\x77\x57\x51\x61\x55\x44\x47','\x63\x62\x38\x7a\x70\x47','\x57\x51\x6a\x2f\x6e\x6d\x6f\x6b\x57\x50\x30','\x66\x72\x43\x33\x70\x43\x6f\x48','\x6f\x67\x68\x64\x55\x5a\x57','\x69\x71\x4a\x64\x50\x76\x7a\x68\x57\x50\x69\x6d','\x57\x35\x4e\x63\x4d\x75\x54\x75\x63\x61','\x74\x73\x33\x64\x54\x47','\x79\x67\x47\x50\x57\x36\x74\x63\x49\x71','\x57\x50\x6c\x64\x54\x53\x6b\x71\x6d\x53\x6f\x32','\x57\x52\x33\x64\x4f\x65\x65\x49\x57\x36\x62\x44','\x68\x43\x6b\x63\x79\x6d\x6b\x31\x6a\x61','\x6d\x61\x54\x42\x46\x67\x71','\x63\x6d\x6f\x59\x57\x35\x30\x74\x57\x37\x34','\x57\x50\x47\x66\x66\x6d\x6b\x34\x79\x47','\x63\x6d\x6f\x49\x57\x37\x75','\x57\x37\x6e\x47\x57\x51\x6c\x64\x48\x61','\x43\x75\x53\x74\x57\x34\x46\x63\x49\x6d\x6f\x47\x57\x35\x4b\x46','\x57\x34\x33\x63\x47\x68\x48\x53\x57\x52\x4a\x63\x4c\x63\x71\x37','\x57\x4f\x30\x41\x6e\x6d\x6b\x34\x79\x47','\x57\x50\x2f\x64\x4b\x4a\x4f\x35\x57\x52\x37\x63\x49\x71\x79\x44\x6e\x64\x47','\x57\x52\x74\x64\x51\x30\x4b\x51\x57\x36\x7a\x77\x76\x47','\x57\x51\x70\x63\x55\x58\x70\x63\x56\x6d\x6f\x63\x57\x51\x5a\x64\x4f\x53\x6f\x48','\x57\x36\x35\x4c\x63\x63\x56\x63\x50\x53\x6b\x4b\x57\x50\x4e\x63\x52\x47','\x36\x79\x67\x78\x36\x6c\x2b\x73\x35\x6c\x49\x42','\x68\x6d\x6f\x46\x57\x35\x4b\x45\x57\x37\x34\x42\x41\x53\x6f\x2f','\x57\x37\x37\x63\x54\x6d\x6b\x31\x67\x4b\x30','\x57\x52\x70\x63\x4a\x58\x58\x77\x46\x38\x6f\x4d\x6d\x4d\x75','\x57\x34\x46\x64\x4e\x73\x58\x57\x57\x50\x71\x4f\x57\x37\x72\x59','\x57\x36\x6c\x63\x48\x77\x54\x75\x57\x4f\x30','\x45\x43\x6b\x4e\x45\x6d\x6f\x31\x57\x34\x79','\x63\x4b\x5a\x63\x47\x78\x43\x53','\x57\x35\x42\x64\x47\x64\x42\x63\x47\x6d\x6b\x6e\x57\x4f\x4a\x63\x4f\x4a\x65','\x57\x52\x39\x62\x63\x71\x4e\x63\x52\x43\x6b\x63\x57\x37\x6d','\x57\x35\x43\x51\x57\x36\x4e\x63\x4d\x63\x42\x64\x51\x53\x6f\x39\x57\x52\x61','\x6d\x53\x6f\x51\x57\x34\x4e\x63\x51\x68\x4c\x47\x44\x67\x69','\x62\x6d\x6f\x55\x57\x50\x64\x63\x55\x68\x71','\x43\x4e\x79\x79\x57\x35\x4a\x64\x4b\x47','\x72\x63\x78\x63\x48\x57\x69','\x6e\x58\x38\x41\x57\x51\x6c\x64\x4e\x61\x68\x64\x4b\x74\x38','\x57\x51\x56\x64\x49\x32\x69\x68\x57\x37\x79','\x57\x52\x6c\x64\x51\x4b\x78\x64\x54\x53\x6f\x65\x57\x4f\x78\x64\x4a\x38\x6b\x68','\x57\x34\x38\x53\x41\x53\x6b\x75\x57\x52\x78\x64\x48\x63\x2f\x64\x4c\x32\x70\x63\x48\x57','\x57\x37\x56\x63\x4e\x6d\x6b\x54\x57\x37\x54\x6e\x57\x37\x4c\x74\x73\x61','\x57\x37\x64\x63\x4b\x33\x4b\x49\x66\x38\x6b\x66\x67\x63\x4b','\x41\x43\x6f\x79\x57\x50\x61\x63\x69\x4e\x42\x63\x4a\x71','\x57\x52\x53\x43\x57\x51\x64\x64\x55\x53\x6b\x4f','\x57\x35\x37\x64\x4a\x64\x35\x53','\x71\x76\x30\x74\x57\x35\x69','\x57\x51\x70\x64\x52\x4b\x52\x64\x54\x53\x6f\x2b\x57\x50\x78\x64\x4a\x38\x6b\x68','\x68\x38\x6f\x2f\x73\x64\x70\x64\x48\x71','\x6b\x61\x70\x64\x47\x4c\x4c\x64','\x6b\x53\x6b\x78\x57\x4f\x4a\x63\x4e\x67\x69\x38\x6e\x47','\x75\x30\x6e\x63\x7a\x6d\x6f\x58\x64\x38\x6f\x4e\x57\x50\x4e\x63\x49\x6d\x6b\x49','\x57\x35\x6e\x59\x6a\x4a\x52\x63\x48\x57','\x57\x50\x79\x35\x61\x38\x6f\x41\x57\x52\x75','\x57\x34\x74\x63\x4a\x4d\x66\x4a','\x46\x53\x6b\x41\x57\x50\x30','\x57\x34\x54\x67\x57\x50\x2f\x64\x55\x38\x6f\x34','\x45\x77\x64\x64\x50\x49\x6d\x47','\x6f\x4a\x48\x56\x7a\x66\x65','\x57\x50\x78\x63\x56\x59\x58\x4c\x76\x43\x6f\x41\x66\x62\x34','\x57\x50\x2f\x64\x51\x76\x34\x69\x57\x36\x71','\x77\x59\x2f\x63\x47\x62\x6a\x6a\x57\x4f\x2f\x63\x4b\x53\x6f\x6d','\x45\x43\x6b\x38\x72\x38\x6b\x6e\x65\x61','\x6a\x72\x79\x77\x57\x51\x6c\x64\x4e\x71','\x73\x43\x6b\x63\x79\x61','\x79\x43\x6b\x44\x57\x50\x54\x52\x76\x6d\x6f\x78','\x57\x51\x78\x63\x4e\x65\x72\x6a\x46\x53\x6f\x30\x70\x49\x43','\x43\x38\x6b\x78\x57\x50\x6d\x31\x63\x6d\x6b\x76\x45\x6d\x6b\x55','\x43\x53\x6f\x71\x57\x4f\x71\x65','\x78\x4d\x34\x79\x57\x51\x76\x52\x57\x37\x34\x32\x57\x52\x71','\x57\x37\x43\x4f\x57\x35\x6c\x63\x4a\x4a\x79','\x6a\x43\x6f\x53\x46\x64\x46\x64\x50\x61','\x57\x37\x39\x50\x57\x50\x74\x64\x48\x53\x6f\x43\x57\x34\x78\x63\x49\x62\x6d','\x6c\x53\x6b\x33\x57\x51\x48\x6a\x73\x43\x6f\x34\x57\x50\x39\x75','\x75\x32\x61\x67\x57\x36\x64\x64\x52\x61\x74\x63\x4a\x38\x6b\x6a','\x6d\x53\x6b\x64\x79\x43\x6b\x78\x6c\x47','\x6a\x6d\x6f\x2f\x64\x53\x6f\x63','\x74\x59\x2f\x63\x49\x48\x72\x74\x57\x4f\x4e\x64\x4c\x53\x6f\x45','\x44\x4c\x78\x64\x48\x4a\x4f\x64','\x57\x50\x2f\x63\x4e\x58\x68\x63\x54\x6d\x6f\x49','\x65\x48\x39\x59\x78\x67\x44\x32\x57\x35\x37\x64\x47\x57','\x67\x53\x6f\x59\x57\x51\x46\x63\x53\x6d\x6f\x6f','\x57\x37\x4c\x2b\x67\x73\x4e\x63\x52\x43\x6b\x58\x57\x35\x33\x63\x56\x57','\x57\x52\x38\x63\x6b\x53\x6b\x6c','\x42\x30\x46\x64\x47\x49\x30\x30','\x72\x4d\x61\x34\x57\x51\x76\x71\x57\x37\x4b\x38\x57\x52\x79','\x57\x37\x70\x63\x4f\x68\x66\x33\x66\x61','\x78\x43\x6f\x4c\x43\x72\x78\x64\x49\x53\x6f\x4e\x57\x37\x6c\x64\x50\x71','\x57\x34\x4c\x69\x57\x4f\x5a\x64\x53\x6d\x6f\x44','\x43\x59\x58\x55\x57\x35\x6a\x4e','\x57\x51\x64\x63\x56\x58\x68\x63\x50\x43\x6f\x61\x57\x51\x6d','\x6e\x4b\x68\x63\x48\x31\x61\x71\x57\x35\x57\x78','\x78\x58\x7a\x2b\x57\x36\x43','\x6a\x53\x6f\x79\x57\x4f\x46\x63\x49\x75\x4c\x4d\x44\x4d\x38','\x6b\x43\x6f\x2f\x57\x52\x64\x63\x53\x4c\x34','\x57\x51\x43\x69\x69\x6d\x6b\x71\x77\x75\x44\x37\x74\x71','\x6d\x78\x44\x39\x75\x43\x6b\x73\x65\x6d\x6b\x37','\x78\x64\x37\x63\x48\x76\x38','\x7a\x78\x6c\x64\x4a\x47\x4b\x74','\x57\x50\x65\x31\x6c\x38\x6b\x51\x72\x47\x71','\x57\x52\x74\x64\x56\x76\x38\x51\x57\x36\x7a\x62\x71\x61','\x69\x78\x64\x64\x53\x32\x6e\x61\x79\x47','\x57\x4f\x6c\x64\x49\x4a\x4a\x63\x4e\x47','\x57\x35\x70\x64\x4d\x6d\x6f\x48\x57\x52\x47\x2f\x6f\x62\x62\x59','\x71\x65\x75\x45\x57\x36\x78\x64\x4b\x61','\x41\x76\x44\x37\x43\x43\x6b\x6f\x66\x38\x6b\x66\x57\x37\x38','\x57\x34\x70\x64\x54\x38\x6f\x58\x57\x50\x4f\x76','\x57\x51\x4e\x64\x47\x77\x6c\x64\x4f\x43\x6f\x48','\x6d\x6d\x6b\x52\x57\x51\x76\x79\x76\x61','\x45\x38\x6f\x63\x57\x50\x69','\x57\x52\x71\x6a\x57\x50\x68\x63\x52\x53\x6b\x4f\x46\x38\x6f\x6c\x57\x50\x57','\x57\x51\x5a\x64\x47\x43\x6b\x33\x63\x53\x6f\x59','\x73\x4d\x5a\x64\x47\x63\x69\x61\x57\x52\x5a\x63\x4e\x48\x43','\x77\x77\x65\x70\x57\x37\x78\x64\x55\x61','\x57\x36\x65\x79\x57\x36\x70\x63\x55\x71\x65','\x6d\x62\x47\x4d\x57\x51\x70\x64\x47\x47\x5a\x64\x52\x64\x79','\x67\x53\x6f\x6c\x57\x35\x43\x42\x57\x37\x6d\x6a\x44\x53\x6f\x2f','\x44\x58\x6c\x64\x4e\x5a\x75\x35','\x69\x68\x74\x64\x50\x71','\x77\x49\x78\x63\x4c\x48\x76\x79\x57\x50\x4b','\x57\x35\x31\x69\x67\x6d\x6b\x41\x57\x34\x6e\x43\x66\x47','\x57\x51\x35\x6c\x6e\x53\x6f\x79\x57\x51\x79','\x57\x4f\x4c\x35\x6d\x6d\x6f\x7a\x57\x51\x6c\x64\x4e\x71\x6c\x64\x54\x61','\x6a\x38\x6b\x33\x72\x38\x6b\x72\x67\x38\x6f\x7a','\x57\x34\x47\x2f\x57\x36\x4a\x63\x48\x72\x46\x64\x56\x53\x6f\x36\x57\x52\x38','\x64\x53\x6b\x67\x57\x50\x76\x70\x72\x71','\x57\x36\x4e\x63\x52\x53\x6b\x2f\x57\x36\x66\x6e\x57\x36\x48\x61','\x57\x37\x68\x63\x52\x76\x57\x53\x57\x37\x6e\x42\x75\x4b\x47','\x57\x50\x74\x64\x50\x47\x6c\x63\x51\x53\x6b\x35','\x78\x59\x2f\x63\x4b\x71\x35\x44\x57\x50\x78\x63\x4e\x53\x6f\x45','\x57\x50\x68\x63\x4e\x72\x6c\x63\x56\x53\x6f\x54','\x6d\x6d\x6f\x30\x57\x51\x78\x63\x4c\x38\x6f\x73','\x79\x33\x2f\x64\x52\x4d\x54\x41','\x57\x52\x71\x6a\x6a\x57','\x57\x4f\x4f\x2f\x6d\x38\x6b\x4d\x77\x57\x6c\x64\x52\x57','\x57\x34\x4a\x63\x56\x38\x6b\x56\x70\x57','\x57\x36\x39\x59\x61\x4a\x70\x63\x54\x38\x6b\x4c\x57\x36\x46\x63\x4f\x61','\x57\x34\x2f\x63\x49\x6d\x6b\x77\x61\x33\x4f','\x6e\x43\x6b\x47\x57\x51\x39\x41\x77\x6d\x6f\x64','\x6f\x4b\x70\x64\x51\x31\x44\x44','\x69\x6d\x6b\x4b\x78\x43\x6b\x77\x67\x38\x6f\x37\x6f\x53\x6f\x6e','\x6b\x67\x33\x64\x54\x68\x44\x61\x45\x75\x35\x4e','\x57\x35\x33\x64\x4c\x49\x6e\x4f','\x6e\x6d\x6b\x35\x77\x53\x6b\x72\x63\x53\x6f\x70\x6a\x53\x6f\x63','\x72\x67\x43\x4b\x57\x51\x6e\x36\x57\x37\x6a\x34\x57\x51\x43','\x61\x6d\x6f\x41\x57\x37\x4f\x5a\x57\x35\x65','\x57\x34\x4f\x48\x57\x36\x33\x63\x4f\x59\x4f','\x57\x51\x4a\x64\x4f\x43\x6b\x41\x6e\x38\x6f\x37','\x57\x35\x4a\x63\x51\x43\x6f\x74\x46\x62\x2f\x63\x54\x6d\x6b\x48\x57\x36\x75','\x57\x36\x64\x63\x4a\x78\x4c\x61\x57\x51\x4f','\x57\x37\x58\x43\x57\x52\x6c\x64\x48\x6d\x6f\x71','\x57\x50\x5a\x64\x51\x4d\x34\x38\x57\x35\x47','\x6b\x6d\x6f\x77\x57\x50\x4b','\x45\x38\x6b\x42\x57\x50\x34\x38\x67\x43\x6b\x55\x7a\x57','\x57\x4f\x53\x30\x62\x43\x6b\x7a','\x69\x58\x72\x65\x57\x4f\x68\x64\x4e\x53\x6b\x51\x57\x50\x30\x6a\x57\x36\x35\x55\x57\x51\x31\x43\x57\x36\x6d','\x68\x59\x56\x64\x4e\x68\x72\x4e\x57\x52\x43\x67\x44\x47','\x45\x53\x6f\x30\x78\x53\x6b\x69\x57\x37\x4b\x62\x65\x62\x57','\x57\x52\x4f\x6f\x57\x52\x30','\x6e\x53\x6f\x79\x57\x4f\x74\x63\x4d\x47','\x72\x63\x46\x64\x53\x71\x6d\x71','\x61\x38\x6b\x4b\x7a\x6d\x6b\x36\x67\x47','\x74\x67\x47\x4e\x57\x51\x76\x38\x57\x36\x75','\x66\x6d\x6f\x30\x7a\x38\x6b\x57','\x64\x43\x6f\x43\x72\x38\x6b\x6b\x57\x4f\x71','\x57\x50\x34\x49\x6f\x6d\x6b\x39\x72\x47\x6d','\x78\x74\x4a\x63\x49\x47\x4f','\x57\x50\x46\x64\x53\x4c\x4b\x47\x57\x35\x30','\x57\x50\x35\x4b\x6e\x53\x6f\x70','\x57\x4f\x78\x64\x49\x32\x75\x51\x57\x35\x4b','\x57\x34\x58\x49\x57\x4f\x2f\x64\x4d\x6d\x6f\x36','\x66\x6d\x6f\x64\x57\x4f\x46\x63\x51\x31\x30','\x57\x34\x54\x75\x64\x53\x6b\x74\x57\x35\x35\x46\x62\x47','\x57\x51\x4a\x64\x47\x53\x6b\x58\x66\x43\x6f\x76','\x57\x52\x71\x6f\x57\x51\x6c\x63\x52\x53\x6b\x35','\x70\x6d\x6f\x6e\x72\x64\x70\x64\x50\x57','\x69\x53\x6b\x49\x75\x53\x6f\x41','\x68\x38\x6f\x67\x57\x35\x69\x72\x57\x37\x69','\x78\x73\x78\x63\x52\x57\x48\x6d\x57\x50\x4e\x63\x49\x43\x6f\x35','\x57\x37\x6c\x64\x50\x38\x6f\x77\x57\x4f\x38','\x57\x4f\x43\x6a\x69\x6d\x6f\x41\x57\x50\x47','\x57\x50\x5a\x64\x4e\x33\x56\x64\x49\x6d\x6f\x65','\x57\x50\x37\x64\x47\x49\x74\x63\x4d\x61','\x6b\x57\x61\x44\x57\x52\x74\x64\x56\x57','\x64\x78\x42\x64\x4a\x4a\x34','\x57\x52\x4a\x63\x47\x6d\x6b\x32\x57\x37\x39\x30\x57\x37\x54\x72\x78\x71','\x57\x34\x4a\x63\x4b\x43\x6f\x68\x43\x59\x79','\x67\x6d\x6f\x33\x42\x38\x6b\x35\x57\x51\x38','\x76\x4e\x68\x64\x52\x47\x75\x32','\x6c\x6d\x6b\x58\x57\x51\x43\x66','\x44\x4a\x48\x43\x57\x37\x62\x57','\x78\x6d\x6f\x54\x57\x50\x52\x64\x56\x38\x6b\x33\x57\x52\x42\x63\x48\x61','\x79\x43\x6b\x2b\x42\x38\x6f\x39\x57\x52\x38','\x57\x50\x74\x64\x50\x43\x6f\x55\x46\x64\x74\x64\x4d\x76\x53\x49','\x72\x43\x6b\x6d\x46\x43\x6f\x46','\x43\x38\x6b\x67\x57\x50\x38','\x74\x32\x6c\x63\x4e\x59\x71\x37\x57\x36\x6e\x30\x44\x38\x6b\x43\x46\x38\x6b\x6d\x57\x35\x78\x64\x4a\x47','\x67\x6d\x6f\x66\x57\x37\x43\x44\x57\x36\x61\x6e\x43\x6d\x6f\x7a','\x57\x51\x6c\x64\x4f\x4b\x5a\x64\x56\x6d\x6f\x6d\x57\x4f\x33\x64\x4e\x71','\x57\x36\x78\x63\x4c\x4b\x76\x53\x62\x38\x6b\x46\x67\x64\x38','\x57\x52\x46\x63\x4c\x74\x44\x50\x77\x43\x6f\x67\x6c\x4a\x4f','\x57\x36\x35\x76\x57\x4f\x78\x64\x48\x53\x6f\x38','\x63\x38\x6f\x50\x57\x52\x6c\x63\x48\x38\x6f\x50','\x61\x6d\x6f\x67\x57\x52\x5a\x63\x53\x4c\x65','\x61\x6d\x6f\x70\x57\x36\x47\x6c\x57\x37\x4b\x6c','\x6b\x38\x6b\x6a\x57\x34\x44\x43\x43\x59\x52\x64\x4a\x47','\x45\x6d\x6b\x41\x57\x50\x6d\x33','\x68\x53\x6f\x44\x57\x36\x65\x38\x57\x35\x71','\x57\x36\x78\x63\x4b\x65\x66\x53','\x46\x78\x4b\x2f\x57\x51\x4c\x77','\x57\x51\x6c\x63\x4e\x48\x4f','\x65\x43\x6f\x58\x57\x37\x57\x67\x57\x36\x70\x63\x49\x38\x6b\x33\x7a\x57','\x57\x34\x6e\x43\x57\x52\x6c\x64\x56\x38\x6f\x6c','\x45\x43\x6b\x35\x74\x38\x6f\x71\x57\x52\x54\x44\x6a\x4e\x43','\x68\x43\x6f\x30\x79\x6d\x6b\x4f\x57\x4f\x6e\x7a\x70\x32\x53','\x77\x59\x2f\x63\x4b\x57\x54\x41\x57\x50\x2f\x63\x4e\x47','\x6e\x71\x65\x45\x57\x52\x46\x64\x4e\x57','\x69\x53\x6f\x4d\x57\x34\x38\x68\x57\x37\x38','\x68\x38\x6b\x59\x57\x52\x44\x79\x7a\x71','\x63\x6d\x6f\x64\x57\x35\x38\x43\x57\x52\x61\x43','\x6d\x38\x6b\x53\x62\x53\x6f\x6b\x57\x51\x53','\x36\x41\x55\x6a\x36\x6b\x32\x32\x36\x79\x6f\x5a\x36\x6c\x59\x34','\x57\x36\x56\x64\x54\x53\x6f\x53\x57\x51\x53\x35','\x71\x59\x38\x4c\x57\x35\x2f\x64\x4c\x65\x68\x63\x4b\x53\x6b\x63','\x46\x78\x57\x73\x57\x36\x68\x63\x47\x47','\x6c\x59\x2f\x64\x47\x4b\x76\x63','\x57\x37\x7a\x50\x57\x51\x30','\x57\x34\x56\x63\x4f\x53\x6b\x30\x6f\x77\x57','\x65\x38\x6f\x50\x6d\x61','\x6c\x59\x54\x74\x43\x30\x44\x78\x57\x4f\x46\x64\x47\x57','\x6d\x43\x6f\x75\x57\x4f\x4a\x63\x4e\x65\x38','\x57\x52\x33\x64\x52\x4e\x4a\x64\x51\x38\x6f\x64\x57\x4f\x69','\x72\x48\x7a\x4f','\x79\x4c\x31\x5a\x41\x38\x6b\x7a','\x57\x36\x6e\x31\x57\x50\x56\x64\x52\x53\x6f\x77','\x57\x37\x54\x47\x68\x61\x2f\x63\x4b\x61','\x46\x38\x6f\x49\x57\x52\x75\x70\x6e\x57','\x75\x77\x46\x64\x4a\x73\x38\x79\x57\x52\x33\x63\x51\x62\x30','\x67\x38\x6f\x45\x73\x61\x42\x64\x47\x61','\x70\x38\x6f\x42\x57\x52\x5a\x63\x4d\x66\x47','\x69\x48\x6d\x53\x57\x52\x6c\x63\x4a\x47','\x57\x37\x4a\x64\x4d\x48\x44\x75\x46\x6d\x6f\x57\x6f\x74\x57','\x57\x52\x33\x64\x50\x53\x6b\x37\x6e\x38\x6f\x73','\x57\x50\x70\x63\x54\x38\x6b\x33\x57\x37\x66\x6e','\x57\x34\x47\x2b\x57\x37\x4e\x63\x4a\x58\x5a\x64\x51\x53\x6f\x47','\x57\x37\x68\x64\x51\x47\x6e\x6e\x57\x52\x44\x67\x57\x35\x47\x45','\x43\x31\x71\x75\x57\x50\x5a\x63\x4a\x53\x6f\x5a\x57\x34\x65\x4e','\x57\x35\x33\x63\x56\x53\x6b\x4a','\x57\x37\x33\x63\x48\x53\x6b\x73\x62\x66\x6d','\x68\x38\x6f\x71\x57\x37\x75\x30\x57\x35\x4b','\x43\x38\x6b\x78\x57\x50\x6d\x31\x63\x6d\x6b\x76\x45\x6d\x6f\x6c','\x35\x42\x41\x45\x36\x41\x49\x4d\x36\x6b\x32\x36','\x57\x37\x71\x53\x57\x37\x56\x63\x4e\x74\x34','\x78\x4d\x61\x43','\x57\x35\x5a\x64\x4e\x63\x58\x47\x57\x52\x44\x50\x57\x36\x53\x2b','\x57\x35\x58\x73\x62\x71\x4a\x63\x49\x71','\x57\x35\x2f\x63\x52\x38\x6f\x41\x42\x5a\x70\x63\x53\x57','\x57\x4f\x6c\x64\x4a\x62\x37\x63\x4f\x38\x6b\x4a\x57\x52\x4e\x63\x56\x59\x38','\x57\x51\x30\x39\x61\x38\x6f\x69\x57\x51\x53','\x57\x50\x6a\x4f\x6b\x53\x6b\x6d\x57\x52\x70\x64\x4a\x57\x78\x64\x50\x47','\x57\x37\x62\x7a\x67\x59\x68\x63\x4c\x57','\x73\x43\x6f\x6c\x57\x50\x4e\x64\x4e\x38\x6b\x30','\x57\x52\x43\x62\x57\x51\x4a\x63\x53\x53\x6b\x55\x46\x43\x6f\x41','\x69\x6d\x6f\x67\x57\x34\x31\x48\x76\x43\x6f\x78\x6e\x53\x6f\x71\x57\x50\x47\x71\x57\x4f\x4a\x63\x4a\x6d\x6f\x34','\x44\x49\x74\x64\x54\x57\x53\x6e','\x57\x4f\x4e\x64\x52\x75\x71\x65\x57\x36\x71','\x57\x34\x42\x63\x48\x68\x61','\x70\x43\x6b\x44\x57\x51\x44\x43\x72\x71','\x57\x34\x4e\x63\x4f\x38\x6b\x4e\x6d\x68\x70\x63\x4c\x71','\x57\x36\x78\x63\x54\x72\x7a\x39\x57\x37\x66\x46\x44\x33\x65\x39\x43\x47','\x73\x4d\x74\x64\x48\x71','\x6a\x53\x6f\x74\x57\x51\x4a\x63\x4e\x76\x4f','\x57\x4f\x34\x34\x69\x6d\x6b\x50\x78\x72\x53','\x41\x66\x31\x53\x42\x6d\x6b\x4a\x6e\x38\x6b\x73\x57\x37\x47','\x57\x4f\x56\x64\x4e\x4e\x37\x64\x4d\x43\x6f\x34','\x64\x43\x6f\x33\x7a\x38\x6b\x39\x57\x52\x4b','\x57\x34\x4e\x63\x54\x77\x35\x52\x57\x50\x6d','\x65\x6d\x6f\x49\x57\x50\x56\x63\x47\x53\x6f\x32\x71\x38\x6b\x75','\x67\x6d\x6f\x66\x57\x34\x4b','\x57\x4f\x50\x59\x57\x51\x4e\x64\x4d\x75\x56\x63\x51\x43\x6b\x4e\x57\x52\x66\x4a\x61\x32\x65\x6c\x57\x37\x71','\x57\x50\x57\x4a\x6a\x61','\x57\x50\x42\x64\x4d\x65\x70\x64\x56\x43\x6f\x4d','\x57\x52\x50\x57\x70\x43\x6f\x61\x57\x52\x71','\x57\x35\x33\x64\x4c\x53\x6f\x6d\x57\x4f\x71\x6d\x6a\x5a\x6a\x41','\x71\x76\x44\x57\x46\x43\x6b\x39','\x46\x53\x6b\x71\x57\x50\x71\x2b\x66\x43\x6b\x6a','\x66\x53\x6f\x56\x57\x36\x57\x32\x57\x36\x47','\x6b\x38\x6b\x4f\x57\x50\x44\x72\x78\x61','\x57\x35\x33\x63\x4f\x6d\x6f\x49\x7a\x49\x2f\x63\x4f\x6d\x6f\x48\x57\x36\x79','\x57\x35\x4a\x63\x51\x43\x6f\x74\x45\x74\x74\x63\x54\x43\x6b\x36\x57\x36\x38','\x57\x36\x31\x52\x6a\x57\x46\x63\x51\x61','\x72\x77\x4c\x52\x73\x6d\x6b\x41','\x65\x6d\x6b\x38\x45\x53\x6f\x2b','\x73\x43\x6b\x33\x6b\x66\x5a\x63\x4d\x6d\x6b\x59\x57\x37\x42\x64\x52\x63\x56\x64\x4a\x53\x6b\x6d\x43\x61','\x57\x50\x4a\x64\x4b\x38\x6b\x71\x63\x38\x6f\x48','\x57\x51\x4e\x63\x4c\x57\x4a\x63\x4f\x38\x6f\x5a','\x57\x4f\x35\x4f\x70\x6d\x6f\x62\x57\x52\x68\x64\x4d\x47\x6c\x64\x52\x71','\x57\x50\x48\x5a\x70\x43\x6f\x41\x57\x4f\x2f\x64\x4a\x71\x52\x64\x53\x47','\x65\x53\x6f\x37\x57\x50\x74\x63\x4a\x43\x6f\x4f\x46\x38\x6b\x41\x57\x52\x53','\x57\x52\x4b\x69\x6c\x43\x6b\x63\x78\x31\x57','\x57\x51\x4a\x63\x49\x53\x6b\x35\x57\x37\x54\x69\x57\x37\x61','\x63\x6d\x6f\x35\x57\x36\x38\x75\x57\x36\x61','\x6f\x62\x69\x31\x70\x43\x6f\x61'];_0x125e=function(){return _0x55d1f3;};return _0x125e();}function _0x5c2537(_0x383c3a,_0x4b28a5,_0x1dd333){const _0x257f20=_0x145246,_0x186f43={'\x44\x41\x46\x72\x71':function(_0x249c5d){return _0x249c5d();},'\x53\x75\x6f\x4d\x46':_0x257f20(0x1ea,'\x55\x37\x6a\x77')+_0x257f20(0x276,'\x55\x37\x6a\x77')+'\x73\x6f\x6e\x6c','\x57\x78\x74\x78\x4f':function(_0x5c103d,_0x3070d1){return _0x5c103d+_0x3070d1;},'\x67\x61\x4c\x47\x6b':function(_0xd51426,_0x338cd8){return _0xd51426!==_0x338cd8;},'\x73\x57\x7a\x79\x66':function(_0x1dfb58,_0x56861c){return _0x1dfb58===_0x56861c;},'\x63\x64\x41\x62\x4c':function(_0x201cda,_0x5b5b71,_0x187ab2,_0x36abb4,_0x15ead2){return _0x201cda(_0x5b5b71,_0x187ab2,_0x36abb4,_0x15ead2);},'\x68\x70\x54\x62\x51':_0x257f20(0x26a,'\x69\x44\x34\x34'),'\x73\x50\x4a\x66\x42':function(_0x2b8679,_0x4db6c1){return _0x2b8679-_0x4db6c1;},'\x77\x67\x47\x6d\x74':function(_0x2ea2be,_0x5a0e10){return _0x2ea2be+_0x5a0e10;},'\x57\x76\x69\x52\x61':function(_0x544018,_0x34bf9e){return _0x544018+_0x34bf9e;},'\x52\x6c\x58\x79\x56':function(_0x632b66,_0x5df064){return _0x632b66+_0x5df064;}};if(!_0x383c3a||!_0x383c3a[_0x257f20(0x1dd,'\x74\x48\x49\x45')]())return;const _0xe87c4f=_0x383c3a[_0x257f20(0x21b,'\x5b\x41\x5d\x70')+_0x257f20(0x24d,'\x74\x48\x49\x45')]();for(const [_0x778860,_0x21dc3c]of _0x20248b){if(_0x1dd333[_0x257f20(0x30c,'\x26\x50\x71\x56')](_0x21dc3c))continue;const _0x110131=new RegExp(_0x778860[_0x257f20(0x343,'\x79\x6b\x6c\x61')],_0x778860[_0x257f20(0x1f6,'\x36\x24\x53\x4e')]['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\x67')?_0x778860['\x66\x6c\x61\x67\x73']:_0x186f43[_0x257f20(0x227,'\x73\x51\x53\x24')](_0x778860[_0x257f20(0x211,'\x47\x69\x32\x4d')],'\x67'));let _0x18419f,_0x1eded1=null;while(_0x186f43[_0x257f20(0x278,'\x47\x78\x54\x6b')](_0x18419f=_0x110131[_0x257f20(0x1fe,'\x29\x5b\x77\x29')](_0x383c3a),null)){if(_0x186f43['\x73\x57\x7a\x79\x66'](_0x18419f[-0x1d+0x510+-0x4f3][_0x257f20(0x1e0,'\x45\x6a\x64\x69')],-0x6*-0x279+0xf*-0x1d3+0xc87)){_0x110131[_0x257f20(0x321,'\x73\x51\x53\x24')+'\x78']++;continue;}if(_0x186f43[_0x257f20(0x265,'\x74\x61\x44\x4b')](_0x2a414d,_0x383c3a,_0xe87c4f,_0x18419f[_0x257f20(0x338,'\x45\x6a\x64\x69')],_0x18419f[0xb9*0x12+0x20f1+-0x2df3*0x1][_0x257f20(0x32f,'\x4a\x36\x77\x39')])){if(_0x186f43[_0x257f20(0x210,'\x55\x37\x6a\x77')](_0x186f43['\x68\x70\x54\x62\x51'],_0x186f43[_0x257f20(0x20d,'\x69\x29\x57\x39')])){_0x1eded1=_0x18419f;break;}else return _0x156929[_0x257f20(0x2da,'\x66\x6e\x7a\x35')](qFugyy[_0x257f20(0x214,'\x67\x4f\x49\x70')](_0x58ea5b),qFugyy[_0x257f20(0x33b,'\x4a\x76\x6d\x73')]);}}if(!_0x1eded1)continue;_0x1dd333[_0x257f20(0x1db,'\x76\x25\x41\x31')](_0x21dc3c);const _0x34cd13=Math['\x6d\x61\x78'](-0x1554+0x26ec+-0x1198,_0x186f43[_0x257f20(0x2a8,'\x66\x6e\x7a\x35')](_0x1eded1[_0x257f20(0x33d,'\x64\x62\x30\x76')],-0x461+-0x262a+-0x9f*-0x45)),_0x480f09=_0x383c3a['\x73\x6c\x69\x63\x65'](_0x34cd13,_0x186f43[_0x257f20(0x2cd,'\x4d\x78\x24\x28')](_0x34cd13,_0x1baf9c))[_0x257f20(0x22d,'\x79\x6b\x6c\x61')](/\s+/g,'\x20')['\x74\x72\x69\x6d']();_0x4b28a5[_0x257f20(0x2a3,'\x44\x54\x6a\x5a')]({'\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79':_0x21dc3c,'\x6d\x61\x74\x63\x68\x65\x64':_0x1eded1[-0x2344+-0x1237+-0x357b*-0x1][_0x257f20(0x269,'\x47\x69\x32\x4d')](0x25d5+-0x1bf5*0x1+-0x9e0,-0x16e2+0x17d0+-0xb2),'\x73\x6e\x69\x70\x70\x65\x74':_0x480f09,'\x68\x61\x73\x68':_0xb9c8dc(_0x186f43[_0x257f20(0x203,'\x4a\x76\x6d\x73')](_0x186f43['\x52\x6c\x58\x79\x56'](_0x21dc3c,'\x7c'),_0x480f09))});}}function _0x3541bc(_0x3d6769){const _0x5993fb=_0x145246,_0x1922ea={'\x66\x4f\x64\x4e\x62':function(_0x537c2f,_0x13f1bc){return _0x537c2f>=_0x13f1bc;},'\x42\x52\x63\x70\x66':function(_0xaba4c8,_0x2cbb98,_0xcff84e,_0xb89e78){return _0xaba4c8(_0x2cbb98,_0xcff84e,_0xb89e78);},'\x47\x53\x68\x6f\x4b':function(_0x402b24,_0x56756f){return _0x402b24(_0x56756f);}},_0x4ac9c7=Array['\x69\x73\x41\x72\x72\x61\x79'](_0x3d6769)?_0x3d6769:[_0x3d6769],_0x5aa6c9=[],_0x3136d6=new Set();for(const _0x93b6d of _0x4ac9c7){if(_0x1922ea[_0x5993fb(0x25b,'\x5d\x62\x2a\x71')](_0x5aa6c9[_0x5993fb(0x2d4,'\x43\x5d\x4f\x33')],_0x516917))break;_0x1922ea[_0x5993fb(0x248,'\x4a\x76\x6d\x73')](_0x5c2537,_0x1922ea[_0x5993fb(0x26f,'\x73\x4d\x46\x65')](String,_0x93b6d||''),_0x5aa6c9,_0x3136d6);}return _0x5aa6c9[_0x5993fb(0x274,'\x6d\x4a\x63\x5d')](-0xf26+0x147d+-0x557*0x1,_0x516917);}function _0x4184bb(_0xc13f4){const _0x291ccd=_0x145246,_0x36ae9f={};_0x36ae9f[_0x291ccd(0x322,'\x57\x55\x30\x48')]=function(_0x54d67c,_0x12c2a2){return _0x54d67c+_0x12c2a2;},_0x36ae9f['\x74\x63\x61\x63\x59']=_0x291ccd(0x20f,'\x37\x4a\x72\x57')+_0x291ccd(0x30f,'\x63\x53\x6c\x39'),_0x36ae9f[_0x291ccd(0x25f,'\x43\x5d\x4f\x33')]=function(_0x498951,_0x5e658e){return _0x498951>_0x5e658e;},_0x36ae9f[_0x291ccd(0x300,'\x47\x78\x54\x6b')]=_0x291ccd(0x299,'\x76\x5b\x71\x47')+_0x291ccd(0x33a,'\x69\x6b\x6a\x75')+_0x291ccd(0x1da,'\x21\x62\x61\x69'),_0x36ae9f[_0x291ccd(0x270,'\x29\x5b\x77\x29')]=function(_0xd07388,_0x3548db){return _0xd07388!==_0x3548db;},_0x36ae9f[_0x291ccd(0x2ad,'\x73\x51\x53\x24')]=_0x291ccd(0x236,'\x74\x6c\x6a\x4e'),_0x36ae9f['\x54\x4e\x4a\x6f\x4d']=function(_0x2a1cc5,_0x13f909){return _0x2a1cc5===_0x13f909;},_0x36ae9f[_0x291ccd(0x320,'\x25\x6b\x5b\x70')]=_0x291ccd(0x324,'\x66\x6e\x7a\x35'),_0x36ae9f[_0x291ccd(0x205,'\x4d\x25\x25\x79')]=_0x291ccd(0x27c,'\x4a\x76\x6d\x73'),_0x36ae9f['\x7a\x6c\x55\x67\x4e']=function(_0x34475d,_0x15ed60){return _0x34475d>_0x15ed60;};const _0x50e81a=_0x36ae9f,_0x5daaef=[],_0x5de1a9=new Set();for(const _0x3034b0 of _0xc13f4){if(_0x50e81a['\x41\x6c\x6e\x6c\x64'](_0x50e81a[_0x291ccd(0x2a9,'\x68\x55\x5e\x71')],_0x291ccd(0x1fa,'\x47\x69\x32\x4d'))){const _0x577330=_0x50e81a[_0x291ccd(0x317,'\x68\x55\x5e\x71')](_0x50e81a[_0x291ccd(0x301,'\x61\x38\x21\x4d')],_0x3034b0['\x63\x61\x70\x61\x62\x69\x6c\x69'+'\x74\x79']);if(!_0x5de1a9[_0x291ccd(0x2aa,'\x76\x5b\x71\x47')](_0x577330)){if(_0x50e81a[_0x291ccd(0x1ff,'\x43\x5d\x4f\x33')](_0x50e81a[_0x291ccd(0x31b,'\x6e\x45\x7a\x70')],_0x50e81a[_0x291ccd(0x24e,'\x74\x48\x49\x45')])){const _0x2ee669=[],_0x43ac6a=new _0x9a0e0c();for(const _0x3689aa of _0x10a24b){const _0x302d1b=_0x50e81a[_0x291ccd(0x2d8,'\x4a\x36\x77\x39')](_0x50e81a[_0x291ccd(0x23c,'\x74\x61\x44\x4b')],_0x3689aa[_0x291ccd(0x2dc,'\x69\x44\x34\x34')+'\x74\x79']);!_0x43ac6a[_0x291ccd(0x1f4,'\x69\x6b\x6a\x75')](_0x302d1b)&&(_0x43ac6a[_0x291ccd(0x228,'\x5e\x63\x56\x33')](_0x302d1b),_0x2ee669['\x70\x75\x73\x68'](_0x302d1b));}if(_0x50e81a[_0x291ccd(0x2a6,'\x69\x44\x34\x34')](_0x2ee669['\x6c\x65\x6e\x67\x74\x68'],-0x40f*-0x1+-0x1*0x1d37+0x38*0x73))_0x2ee669['\x75\x6e\x73\x68\x69\x66\x74'](_0x2a4e08);return _0x2ee669;}else _0x5de1a9['\x61\x64\x64'](_0x577330),_0x5daaef[_0x291ccd(0x2f9,'\x79\x6e\x30\x74')](_0x577330);}}else return _0x23556a[_0x291ccd(0x302,'\x69\x44\x34\x34')](_0x21287f(),aPdSoR['\x59\x78\x4d\x7a\x44']);}if(_0x50e81a[_0x291ccd(0x245,'\x74\x61\x44\x4b')](_0x5daaef['\x6c\x65\x6e\x67\x74\x68'],-0x1f*-0x9+-0x1765*0x1+0x164e))_0x5daaef[_0x291ccd(0x344,'\x2a\x54\x59\x4f')](_0x5c2a09);return _0x5daaef;}function _0x4cd59b(_0x524c5c,_0x287e07){const _0x30b827=_0x145246,_0x420360={'\x55\x6d\x44\x72\x49':function(_0x304545){return _0x304545();},'\x4e\x6c\x71\x4d\x70':function(_0x11f830,_0x12f8e5){return _0x11f830(_0x12f8e5);},'\x59\x63\x67\x66\x4d':function(_0x197bc1,_0x270146){return _0x197bc1===_0x270146;},'\x59\x62\x51\x57\x4e':function(_0x4951dd,_0x929f77){return _0x4951dd(_0x929f77);},'\x64\x69\x68\x6e\x74':_0x30b827(0x266,'\x4a\x36\x77\x39'),'\x5a\x62\x45\x6d\x55':function(_0x5d15bc,_0x41455b){return _0x5d15bc+_0x41455b;},'\x65\x53\x42\x63\x74':function(_0x2fc5fc,_0x546c50){return _0x2fc5fc+_0x546c50;},'\x56\x6e\x4b\x46\x64':_0x30b827(0x290,'\x74\x61\x44\x4b')+_0x30b827(0x30e,'\x5e\x63\x56\x33')+_0x30b827(0x2ed,'\x74\x61\x44\x4b')+_0x30b827(0x2f5,'\x37\x4a\x72\x57')+'\x20','\x58\x44\x6b\x4f\x5a':_0x30b827(0x2ea,'\x77\x59\x43\x24')+_0x30b827(0x259,'\x29\x5b\x77\x29')+_0x30b827(0x2e6,'\x79\x6e\x30\x74')+'\x3a\x20','\x4f\x6c\x6f\x56\x4c':_0x30b827(0x271,'\x63\x65\x38\x43')+_0x30b827(0x2f6,'\x57\x55\x30\x48')+_0x30b827(0x246,'\x69\x29\x57\x39'),'\x75\x73\x4d\x4b\x43':_0x30b827(0x323,'\x4d\x25\x25\x79')+'\x69\x74\x79\x20\x63\x61\x6e\x64'+_0x30b827(0x22b,'\x44\x54\x6a\x5a')+_0x30b827(0x247,'\x5e\x63\x56\x33')+_0x30b827(0x1f0,'\x61\x38\x21\x4d'),'\x4c\x64\x63\x59\x57':_0x30b827(0x2a1,'\x66\x6e\x7a\x35')+_0x30b827(0x318,'\x68\x55\x5e\x71')},_0x2ed96f=_0x287e07||_0x420360[_0x30b827(0x200,'\x66\x6e\x7a\x35')](_0x183566),_0x466b2d={};_0x466b2d['\x6d\x6f\x64\x65']=_0x1bd2dd,_0x466b2d[_0x30b827(0x2b5,'\x66\x6e\x7a\x35')+'\x65\x73']=[],_0x466b2d[_0x30b827(0x215,'\x5d\x62\x2a\x71')]=[];if(!_0x420360[_0x30b827(0x308,'\x43\x5d\x4f\x33')](_0x5a8afc,_0x2ed96f))return _0x466b2d;const _0x3a1443=_0x420360['\x4e\x6c\x71\x4d\x70'](_0x3541bc,_0x524c5c),_0xe4f7b5=_0x2ed96f[_0x30b827(0x226,'\x57\x55\x30\x48')]||{},_0x1bedf3=_0x3a1443[_0x30b827(0x1f8,'\x73\x51\x53\x24')](_0x335bfc=>!_0xe4f7b5[_0x335bfc[_0x30b827(0x294,'\x74\x48\x49\x45')]]),_0x4e21b0={};_0x4e21b0[_0x30b827(0x2a7,'\x73\x4d\x46\x65')]=_0x1bd2dd,_0x4e21b0['\x63\x61\x6e\x64\x69\x64\x61\x74'+'\x65\x73']=[],_0x4e21b0[_0x30b827(0x2f7,'\x76\x5b\x71\x47')]=[];if(_0x420360[_0x30b827(0x2bf,'\x64\x62\x30\x76')](_0x1bedf3[_0x30b827(0x32f,'\x4a\x36\x77\x39')],0xc45*0x3+-0x53*-0x49+-0x3c7a))return _0x4e21b0;_0x2ed96f[_0x30b827(0x2ec,'\x41\x77\x53\x26')+'\x66\x66\x5f\x74\x73']=Date[_0x30b827(0x253,'\x64\x62\x30\x76')]();for(const _0x22b596 of _0x1bedf3)_0xe4f7b5[_0x22b596[_0x30b827(0x20c,'\x77\x59\x43\x24')]]={'\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79':_0x22b596[_0x30b827(0x2b0,'\x5e\x63\x56\x33')+'\x74\x79'],'\x61\x74':new Date()[_0x30b827(0x21e,'\x5e\x63\x56\x33')+_0x30b827(0x28f,'\x5b\x41\x5d\x70')]()};_0x2ed96f[_0x30b827(0x29d,'\x69\x6b\x6a\x75')]=_0xe4f7b5,_0x420360[_0x30b827(0x286,'\x2a\x54\x59\x4f')](_0x45f501,_0x2ed96f);const _0x3a9f71=_0x420360[_0x30b827(0x1eb,'\x69\x44\x34\x34')](_0x4184bb,_0x1bedf3);_0x274b9c({'\x61\x74':new Date()[_0x30b827(0x257,'\x77\x59\x43\x24')+_0x30b827(0x2c4,'\x63\x65\x38\x43')](),'\x6d\x6f\x64\x65':_0x1bd2dd,'\x63\x61\x6e\x64\x69\x64\x61\x74\x65\x73':_0x1bedf3[_0x30b827(0x2d9,'\x6d\x4a\x63\x5d')](_0x4ea1bf=>({'\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79':_0x4ea1bf[_0x30b827(0x2b9,'\x44\x54\x6a\x5a')+'\x74\x79'],'\x6d\x61\x74\x63\x68\x65\x64':_0x4ea1bf[_0x30b827(0x327,'\x4d\x59\x79\x6b')],'\x68\x61\x73\x68':_0x4ea1bf[_0x30b827(0x310,'\x76\x5b\x71\x47')]})),'\x73\x69\x67\x6e\x61\x6c\x73':_0x3a9f71});if(_0x420360[_0x30b827(0x2cc,'\x29\x5b\x77\x29')](_0x1bd2dd,_0x420360['\x64\x69\x68\x6e\x74'])){console[_0x30b827(0x303,'\x63\x53\x6c\x39')](_0x420360[_0x30b827(0x284,'\x4d\x78\x24\x28')](_0x420360['\x65\x53\x42\x63\x74'](_0x420360[_0x30b827(0x295,'\x76\x5b\x71\x47')],_0x1bedf3[_0x30b827(0x331,'\x21\x62\x61\x69')])+_0x420360[_0x30b827(0x2e8,'\x26\x50\x71\x56')],_0x1bedf3[_0x30b827(0x1ee,'\x74\x61\x44\x4b')](_0x3a15e3=>_0x3a15e3[_0x30b827(0x2dc,'\x69\x44\x34\x34')+'\x74\x79'])[_0x30b827(0x224,'\x63\x53\x6c\x39')]('\x2c\x20'))+(_0x30b827(0x1d5,'\x43\x5d\x4f\x33')+_0x30b827(0x235,'\x64\x62\x30\x76')+_0x30b827(0x292,'\x76\x5b\x71\x47')+'\x73\x65\x74\x20\x45\x56\x4f\x4c'+_0x30b827(0x307,'\x5e\x63\x56\x33')+_0x30b827(0x24b,'\x79\x6e\x30\x74')+_0x30b827(0x31c,'\x55\x24\x46\x76')+_0x30b827(0x1e6,'\x73\x51\x53\x24')+_0x30b827(0x2fe,'\x74\x61\x44\x4b')));const _0x354294={};return _0x354294[_0x30b827(0x2f0,'\x79\x6b\x6c\x61')]=_0x1bd2dd,_0x354294[_0x30b827(0x2f3,'\x73\x4d\x46\x65')+'\x65\x73']=_0x1bedf3,_0x354294[_0x30b827(0x287,'\x69\x29\x57\x39')]=[],_0x354294;}console['\x6c\x6f\x67'](_0x420360[_0x30b827(0x20a,'\x61\x38\x21\x4d')](_0x420360[_0x30b827(0x242,'\x76\x5b\x71\x47')](_0x420360[_0x30b827(0x20a,'\x61\x38\x21\x4d')](_0x420360[_0x30b827(0x305,'\x25\x6b\x5b\x70')](_0x420360[_0x30b827(0x2d0,'\x57\x55\x30\x48')],_0x1bedf3[_0x30b827(0x281,'\x76\x25\x41\x31')]),_0x420360[_0x30b827(0x212,'\x25\x6b\x5b\x70')]),_0x3a9f71[_0x30b827(0x273,'\x63\x53\x6c\x39')])+_0x420360[_0x30b827(0x2e7,'\x69\x44\x34\x34')],_0x3a9f71[_0x30b827(0x31f,'\x76\x25\x41\x31')]('\x2c\x20')));const _0x1df798={};return _0x1df798[_0x30b827(0x328,'\x67\x4f\x49\x70')]=_0x1bd2dd,_0x1df798['\x63\x61\x6e\x64\x69\x64\x61\x74'+'\x65\x73']=_0x1bedf3,_0x1df798[_0x30b827(0x21c,'\x73\x4d\x46\x65')]=_0x3a9f71,_0x1df798;}const _0x583f0f={};_0x583f0f['\x67\x65\x74\x4d\x6f\x64\x65']=_0x23b417,_0x583f0f[_0x145246(0x33f,'\x69\x29\x57\x39')+_0x145246(0x264,'\x25\x6b\x5b\x70')]=_0x5a8afc,_0x583f0f[_0x145246(0x21d,'\x57\x55\x30\x48')+'\x75\x73']=_0x3541bc,_0x583f0f[_0x145246(0x2db,'\x74\x6c\x6a\x4e')+'\x6f\x53\x69\x67\x6e\x61\x6c\x73']=_0x4184bb,_0x583f0f[_0x145246(0x229,'\x6d\x4a\x63\x5d')]=_0x4cd59b,_0x583f0f[_0x145246(0x2fb,'\x73\x4d\x46\x65')+'\x65']=_0x183566,_0x583f0f[_0x145246(0x315,'\x45\x6a\x64\x69')+'\x74\x65']=_0x45f501,_0x583f0f[_0x145246(0x333,'\x63\x65\x38\x43')+_0x145246(0x2cf,'\x30\x46\x42\x51')]=_0x5c2a09,module[_0x145246(0x330,'\x43\x5d\x4f\x33')]=_0x583f0f;
1
+ 'use strict';
2
+
3
+ // Conversation Capability Sniffer
4
+ // --------------------------------
5
+ // evolver autonomously surfaces evolution opportunities from CODE (errsig /
6
+ // recurring_error), from MISSING features (capability_gap), and at idle time
7
+ // from external knowledge (explore.js: TODO scan, arxiv). The one blind spot:
8
+ // a human-verified, deterministic capability demonstrated *in the conversation*
9
+ // (e.g. "I just published a Feishu doc via lark-cli and validated it") never
10
+ // surfaces, because signal extraction maps free text onto the closed
11
+ // OPPORTUNITY_SIGNALS vocabulary and there is no extractor that reads the
12
+ // transcript for "the user just proved a reusable capability worth keeping".
13
+ //
14
+ // This module is that extractor. It mirrors explore.js: env gating + cooldown,
15
+ // a scan that produces results, dedup state on disk, and convertToSignals().
16
+ // Like the rest of evolver it does NOT call an LLM directly (evolver builds
17
+ // prompts and lets the bridged executor — the Hand — do the reasoning). The
18
+ // scan here is a lightweight RULE-BASED pre-filter; when it fires it injects a
19
+ // candidate signal so the selector/distiller can pick the work up on the
20
+ // executor side.
21
+ //
22
+ // Default posture is SHADOW (observe-only): it logs what it *would* surface
23
+ // without injecting, so the behaviour can be validated before it influences
24
+ // real cycles. Set EVOLVER_CONV_SNIFF_ENABLED=enforce to inject for real.
25
+
26
+ const fs = require('fs');
27
+ const path = require('path');
28
+ const crypto = require('crypto');
29
+
30
+ const { getEvolutionDir } = require('./paths');
31
+
32
+ // off | shadow | enforce. Default 'shadow' so a fresh install observes before
33
+ // it acts. 'off' disables entirely; 'enforce' injects candidate signals.
34
+ const MODE = (() => {
35
+ const raw = String(process.env.EVOLVER_CONV_SNIFF_ENABLED || 'shadow').toLowerCase().trim();
36
+ if (raw === 'off' || raw === 'false' || raw === '0') return 'off';
37
+ if (raw === 'enforce' || raw === 'on' || raw === 'true' || raw === '1') return 'enforce';
38
+ return 'shadow';
39
+ })();
40
+
41
+ const COOLDOWN_MS = parseInt(process.env.EVOLVER_CONV_SNIFF_COOLDOWN_MS || '1800000', 10) || 1800000;
42
+ const MAX_CANDIDATES = 5;
43
+ const SNIPPET_MAX = 240;
44
+
45
+ // Signals injected (enforce mode). The umbrella signal lets a dedicated gene
46
+ // (or the distiller) match "there is a conversation-surfaced capability".
47
+ const UMBRELLA_SIGNAL = 'conv_capability_candidate';
48
+
49
+ // Evidence that a reusable capability was just *successfully exercised* in the
50
+ // transcript. We require (a) a success/completion marker AND (b) a reusable
51
+ // action verb, so idle chatter or failed attempts do not trigger.
52
+ const SUCCESS_MARKERS = [
53
+ 'success', 'succeeded', 'verified', 'validated', 'works', 'working',
54
+ 'published', 'created', 'completed', 'passed', 'done',
55
+ '成功', '已发布', '已验证', '验证通过', '搞定', '跑通', '通过了',
56
+ ];
57
+
58
+ // Reusable, deterministic actions worth keeping as a capability. Each entry is
59
+ // [regex, capability-slug]. Kept deliberately conservative.
60
+ const CAPABILITY_PATTERNS = [
61
+ [/\blark-cli\b|飞书文档|feishu doc|lark doc/i, 'publish-feishu-doc'],
62
+ [/\bgh (pr|issue|release)\b|github api|open(ed)? a pr\b/i, 'github-automation'],
63
+ [/\bcurl\b.+\b(api|endpoint)\b|\bfetch\(.+\bapi\b/i, 'api-call'],
64
+ [/\bdocker (build|run|compose)\b/i, 'docker-workflow'],
65
+ [/\bkubectl\b|helm (install|upgrade)\b/i, 'k8s-operation'],
66
+ [/\bprisma (migrate|db push)\b|\bpsql\b|pg_dump/i, 'db-operation'],
67
+ [/\bnpm publish\b|\bnpx skills\b/i, 'package-publish'],
68
+ ];
69
+
70
+ function _statePath() { return path.join(getEvolutionDir(), 'conv_sniff_state.json'); }
71
+ function _logPath() { return path.join(getEvolutionDir(), 'conv_sniff_log.jsonl'); }
72
+
73
+ function readState() {
74
+ try { return JSON.parse(fs.readFileSync(_statePath(), 'utf8')); }
75
+ catch (_) { return { seen: {}, last_sniff_ts: 0 }; }
76
+ }
77
+
78
+ function writeState(state) {
79
+ try {
80
+ const dir = getEvolutionDir();
81
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
82
+ const tmp = _statePath() + '.tmp';
83
+ fs.writeFileSync(tmp, JSON.stringify(state, null, 2) + '\n', 'utf8');
84
+ fs.renameSync(tmp, _statePath());
85
+ } catch (_) {}
86
+ }
87
+
88
+ function _appendLog(obj) {
89
+ try {
90
+ const dir = getEvolutionDir();
91
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
92
+ fs.appendFileSync(_logPath(), JSON.stringify(obj) + '\n', 'utf8');
93
+ } catch (_) {}
94
+ }
95
+
96
+ function _shortHash(s) {
97
+ return crypto.createHash('sha256').update(String(s || '')).digest('hex').slice(0, 16);
98
+ }
99
+
100
+ function getMode() { return MODE; }
101
+
102
+ function shouldSniff(state) {
103
+ if (MODE === 'off') return false;
104
+ const st = state || readState();
105
+ const last = st.last_sniff_ts || 0;
106
+ // Date.now is fine here — this runs in the live process, not the workflow VM.
107
+ if (Date.now() - last < COOLDOWN_MS) return false;
108
+ return true;
109
+ }
110
+
111
+ // Proximity window (chars): a success marker must appear within this distance
112
+ // of the capability match for the pair to count. A global "success anywhere +
113
+ // capability anywhere" co-occurrence is NOT enough — that lets an unrelated
114
+ // "tests passed" pair with a *failed* lark-cli/kubectl mention and surface a
115
+ // false candidate (Bugbot #175, High). Require LOCAL co-occurrence instead.
116
+ const PROXIMITY_WINDOW = 200;
117
+
118
+ // Negators that flip a success marker ("not verified", "未发布", "failed to
119
+ // publish"). If one appears within NEGATION_LOOKBACK chars before the marker,
120
+ // the marker does not count as success (Bugbot #175 round 2, Medium).
121
+ const NEGATORS = ['not ', "n't ", 'no ', 'never ', 'fail', 'unable', "wasn't", "isn't", "didn't",
122
+ '没', '未', '不', '失败', '无法'];
123
+ const NEGATION_LOOKBACK = 20;
124
+
125
+ function _markerIsNegated(lowerText, markerStart) {
126
+ const from = Math.max(0, markerStart - NEGATION_LOOKBACK);
127
+ const before = lowerText.slice(from, markerStart);
128
+ return NEGATORS.some((n) => before.includes(n));
129
+ }
130
+
131
+ function _hasSuccessNear(text, lowerText, matchIndex, matchLen) {
132
+ const from = Math.max(0, matchIndex - PROXIMITY_WINDOW);
133
+ const to = Math.min(lowerText.length, matchIndex + matchLen + PROXIMITY_WINDOW);
134
+ for (const m of SUCCESS_MARKERS) {
135
+ const needle = m.toLowerCase();
136
+ // walk every occurrence of this marker inside the window; accept only a
137
+ // non-negated one.
138
+ let rel = windowIndexOf(lowerText, needle, from, to);
139
+ while (rel !== -1) {
140
+ if (!_markerIsNegated(lowerText, rel)) return true;
141
+ rel = windowIndexOf(lowerText, needle, rel + 1, to);
142
+ }
143
+ }
144
+ return false;
145
+ }
146
+
147
+ // indexOf for `needle` constrained to [from, to); returns absolute index in
148
+ // lowerText or -1. Keeps negation checks anchored to the full text so the
149
+ // lookback can see chars just before the window edge.
150
+ function windowIndexOf(lowerText, needle, from, to) {
151
+ const idx = lowerText.indexOf(needle, from);
152
+ if (idx === -1 || idx >= to) return -1;
153
+ return idx;
154
+ }
155
+
156
+ // Scan ONE segment for candidates (success marker within PROXIMITY_WINDOW of a
157
+ // capability match, non-negated). Returns [{capability, matched, snippet, hash}].
158
+ function _scanSegment(text, sink, seenSlugs) {
159
+ if (!text || !text.trim()) return;
160
+ const lower = text.toLowerCase();
161
+ for (const [re, slug] of CAPABILITY_PATTERNS) {
162
+ if (seenSlugs.has(slug)) continue;
163
+ const gre = new RegExp(re.source, re.flags.includes('g') ? re.flags : re.flags + 'g');
164
+ let m;
165
+ let accepted = null;
166
+ while ((m = gre.exec(text)) !== null) {
167
+ if (m[0].length === 0) { gre.lastIndex++; continue; } // guard zero-width
168
+ if (_hasSuccessNear(text, lower, m.index, m[0].length)) { accepted = m; break; }
169
+ }
170
+ if (!accepted) continue;
171
+ seenSlugs.add(slug);
172
+ const idx = Math.max(0, accepted.index - 80);
173
+ const snippet = text.slice(idx, idx + SNIPPET_MAX).replace(/\s+/g, ' ').trim();
174
+ sink.push({
175
+ capability: slug,
176
+ matched: accepted[0].slice(0, 60),
177
+ snippet,
178
+ hash: _shortHash(slug + '|' + snippet),
179
+ });
180
+ }
181
+ }
182
+
183
+ // Pure scan. Accepts a single string OR an array of segments (e.g. master log
184
+ // and today log). Each segment is scanned INDEPENDENTLY so a success marker in
185
+ // one segment can never falsely sit "near" a capability match in another
186
+ // (Bugbot #175 round 2: joined logs caused false cross-boundary proximity).
187
+ // A candidate requires a non-negated success marker within PROXIMITY_WINDOW of
188
+ // the capability match, scanning all occurrences so a later successful use wins
189
+ // over an earlier failed mention.
190
+ function scanCorpus(corpus) {
191
+ const segments = Array.isArray(corpus) ? corpus : [corpus];
192
+ const candidates = [];
193
+ const seenSlugs = new Set();
194
+ for (const seg of segments) {
195
+ if (candidates.length >= MAX_CANDIDATES) break;
196
+ _scanSegment(String(seg || ''), candidates, seenSlugs);
197
+ }
198
+ return candidates.slice(0, MAX_CANDIDATES);
199
+ }
200
+
201
+ function convertToSignals(candidates) {
202
+ const signals = [];
203
+ const seen = new Set();
204
+ for (const c of candidates) {
205
+ const sig = 'conv_capability:' + c.capability;
206
+ if (!seen.has(sig)) { seen.add(sig); signals.push(sig); }
207
+ }
208
+ if (signals.length > 0) signals.unshift(UMBRELLA_SIGNAL);
209
+ return signals;
210
+ }
211
+
212
+ // Main entry, mirrors explore.tryExplore(): gate -> scan -> dedup -> (shadow|enforce).
213
+ // Returns { mode, candidates, signals } — signals is [] in shadow/off so the
214
+ // caller can inject unconditionally without leaking shadow candidates.
215
+ function trySniff(corpus, state) {
216
+ const st = state || readState();
217
+ if (!shouldSniff(st)) return { mode: MODE, candidates: [], signals: [] };
218
+
219
+ const all = scanCorpus(corpus);
220
+
221
+ // dedup against already-processed candidate hashes
222
+ const seenMap = st.seen || {};
223
+ const fresh = all.filter((c) => !seenMap[c.hash]);
224
+
225
+ // Only start the cooldown when we actually surfaced something new. An empty
226
+ // sniff (no candidates, or all already-seen) must NOT arm the cooldown —
227
+ // otherwise a barren cycle blocks detection until the window elapses even
228
+ // when the transcript gains real evidence moments later (Bugbot #175, Med).
229
+ if (fresh.length === 0) return { mode: MODE, candidates: [], signals: [] };
230
+
231
+ st.last_sniff_ts = Date.now();
232
+ for (const c of fresh) seenMap[c.hash] = { capability: c.capability, at: new Date().toISOString() };
233
+ st.seen = seenMap;
234
+ writeState(st);
235
+
236
+ const signals = convertToSignals(fresh);
237
+
238
+ // Always log what was surfaced (both shadow and enforce) for auditing.
239
+ _appendLog({
240
+ at: new Date().toISOString(),
241
+ mode: MODE,
242
+ candidates: fresh.map((c) => ({ capability: c.capability, matched: c.matched, hash: c.hash })),
243
+ signals,
244
+ });
245
+
246
+ if (MODE === 'shadow') {
247
+ console.log('[ConvSniff:shadow] Would surface ' + fresh.length + ' capability candidate(s): ' +
248
+ fresh.map((c) => c.capability).join(', ') + ' (signals NOT injected; set EVOLVER_CONV_SNIFF_ENABLED=enforce to act).');
249
+ return { mode: MODE, candidates: fresh, signals: [] };
250
+ }
251
+
252
+ console.log('[ConvSniff] Surfaced ' + fresh.length + ' capability candidate(s); injecting ' +
253
+ signals.length + ' signal(s): ' + signals.join(', '));
254
+ return { mode: MODE, candidates: fresh, signals };
255
+ }
256
+
257
+ module.exports = {
258
+ getMode,
259
+ shouldSniff,
260
+ scanCorpus,
261
+ convertToSignals,
262
+ trySniff,
263
+ readState,
264
+ writeState,
265
+ UMBRELLA_SIGNAL,
266
+ };
package/src/gep/crypto.js CHANGED
@@ -1 +1,89 @@
1
- const _0x3435d8=_0xd95d;(function(_0x179f13,_0x548b06){const _0xaab02e=_0xd95d,_0x357f29=_0x179f13();while(!![]){try{const _0x3e2215=parseInt(_0xaab02e(0x1ca,'\x33\x47\x21\x73'))/(-0x851+0x1845+-0xff3)+parseInt(_0xaab02e(0x1c8,'\x28\x42\x4e\x68'))/(0xd70+-0x53c+0x2*-0x419)*(parseInt(_0xaab02e(0x1af,'\x21\x59\x74\x6f'))/(-0x247d*-0x1+-0x12fd*0x2+0x180))+parseInt(_0xaab02e(0x1bc,'\x26\x36\x6e\x57'))/(-0xd69*-0x2+-0xc*0x251+0xfe)+parseInt(_0xaab02e(0x1fc,'\x24\x78\x67\x59'))/(-0x11*0xda+-0x17ed+-0x1336*-0x2)+-parseInt(_0xaab02e(0x1a8,'\x74\x35\x75\x25'))/(-0xb35+0x1d*-0xb8+0x2013)*(parseInt(_0xaab02e(0x206,'\x28\x6a\x36\x39'))/(-0x1f92+-0x509*-0x5+0x66c*0x1))+parseInt(_0xaab02e(0x20e,'\x34\x29\x4b\x68'))/(0x1274*0x1+0xaac+-0x188*0x13)*(parseInt(_0xaab02e(0x188,'\x21\x59\x74\x6f'))/(0x80*0x1f+0x18d0+-0x15*0x1eb))+parseInt(_0xaab02e(0x215,'\x70\x38\x37\x6e'))/(-0x14c9+0x21*-0xc7+0x2e7a)*(-parseInt(_0xaab02e(0x1bd,'\x47\x44\x6e\x64'))/(-0x71*0x9+0x1e49+-0x1a45));if(_0x3e2215===_0x548b06)break;else _0x357f29['push'](_0x357f29['shift']());}catch(_0x5baeef){_0x357f29['push'](_0x357f29['shift']());}}}(_0x43d0,0x241be+0x355ff+0x266ba*-0x1));const _0x34e757=(function(){const _0x2612e8=_0xd95d,_0x1b476c={};_0x1b476c[_0x2612e8(0x1c1,'\x33\x33\x28\x42')]=_0x2612e8(0x1ba,'\x52\x31\x35\x68')+_0x2612e8(0x195,'\x6c\x30\x6e\x69')+_0x2612e8(0x1df,'\x21\x4c\x51\x42')+_0x2612e8(0x1fd,'\x38\x78\x40\x6c')+_0x2612e8(0x17e,'\x52\x4e\x71\x34'),_0x1b476c[_0x2612e8(0x1a3,'\x4f\x65\x48\x4d')]=function(_0x5ad9c3,_0x27028f){return _0x5ad9c3!==_0x27028f;},_0x1b476c[_0x2612e8(0x202,'\x61\x35\x48\x41')]=_0x2612e8(0x1da,'\x74\x35\x75\x25'),_0x1b476c['\x65\x64\x52\x6c\x6e']=function(_0x7968ee,_0x10bbb9){return _0x7968ee===_0x10bbb9;},_0x1b476c[_0x2612e8(0x1ae,'\x33\x34\x38\x32')]=_0x2612e8(0x1b0,'\x72\x5d\x36\x59');const _0x251d8b=_0x1b476c;let _0x2fd0d5=!![];return function(_0x4bf949,_0x48b8dc){const _0x222425=_0x2612e8,_0x7497d1={};_0x7497d1[_0x222425(0x20a,'\x35\x78\x31\x48')]=_0x251d8b[_0x222425(0x1f1,'\x62\x66\x45\x79')];const _0x58e665=_0x7497d1;if(_0x251d8b[_0x222425(0x1d3,'\x57\x68\x35\x6b')](_0x251d8b[_0x222425(0x186,'\x21\x4c\x51\x42')],'\x63\x6a\x74\x49\x69'))throw new _0xb3ea63(_0x58e665[_0x222425(0x1e4,'\x24\x78\x67\x59')]);else{const _0x165160=_0x2fd0d5?function(){const _0x35118f=_0x222425,_0x1fb878={};_0x1fb878[_0x35118f(0x1f7,'\x55\x37\x79\x4b')]=_0x251d8b[_0x35118f(0x1f8,'\x78\x53\x6c\x4e')];const _0x2691cf=_0x1fb878;if(_0x251d8b[_0x35118f(0x1c4,'\x26\x36\x6e\x57')](_0x251d8b[_0x35118f(0x1b3,'\x5a\x26\x79\x33')],_0x35118f(0x20f,'\x5d\x23\x53\x62'))){if(_0x48b8dc){const _0x5c6578=_0x48b8dc[_0x35118f(0x1dd,'\x21\x4c\x51\x42')](_0x4bf949,arguments);return _0x48b8dc=null,_0x5c6578;}}else throw new _0x57922d(_0x2691cf[_0x35118f(0x1ec,'\x33\x34\x38\x32')]);}:function(){};return _0x2fd0d5=![],_0x165160;}};}()),_0xde2c81=_0x34e757(this,function(){const _0x5e8f28=_0xd95d,_0x201444={};_0x201444['\x57\x6f\x4f\x66\x43']=_0x5e8f28(0x1f0,'\x24\x78\x67\x59')+_0x5e8f28(0x189,'\x78\x53\x6c\x4e');const _0x53bde5=_0x201444;return _0xde2c81[_0x5e8f28(0x181,'\x71\x69\x71\x31')]()[_0x5e8f28(0x18e,'\x72\x5d\x36\x59')](_0x53bde5[_0x5e8f28(0x1ef,'\x57\x68\x35\x6b')])[_0x5e8f28(0x216,'\x74\x6e\x66\x33')]()[_0x5e8f28(0x201,'\x75\x65\x65\x70')+'\x74\x6f\x72'](_0xde2c81)[_0x5e8f28(0x184,'\x36\x4d\x76\x53')](_0x53bde5[_0x5e8f28(0x191,'\x2a\x56\x30\x21')]);});_0xde2c81();const _0xb95c81=require(_0x3435d8(0x1cf,'\x24\x78\x67\x59')),_0x1710ee=_0x3435d8(0x17f,'\x36\x4d\x76\x53')+_0x3435d8(0x1a6,'\x72\x5d\x36\x59'),_0x3db933=0x6*-0x347+-0x407*0x5+0x27d9,_0x4c3c25=-0x469*0x1+-0x1f05+0x19d*0x16,_0x4679b0=-0x1051*0x2+-0x1292+0x4*0xcd5;function _0x4a90a2(){const _0x309b5d=_0x3435d8;return _0xb95c81[_0x309b5d(0x17d,'\x21\x59\x74\x6f')+'\x74\x65\x73'](_0x4679b0);}function _0x3bf80e(_0x52b670,_0x3fefdf){const _0x349468=_0x3435d8,_0x5ce65b={};_0x5ce65b['\x65\x72\x6f\x4f\x6f']=_0x349468(0x1c6,'\x56\x65\x62\x2a')+_0x349468(0x19b,'\x69\x70\x36\x53'),_0x5ce65b[_0x349468(0x1b8,'\x21\x59\x74\x6f')]=function(_0x9a896d,_0x530bb6){return _0x9a896d===_0x530bb6;},_0x5ce65b[_0x349468(0x1a7,'\x70\x38\x37\x6e')]=_0x349468(0x1e0,'\x61\x35\x48\x41'),_0x5ce65b[_0x349468(0x217,'\x4f\x65\x48\x4d')]=_0x349468(0x1c0,'\x4f\x65\x48\x4d')+_0x349468(0x1e6,'\x38\x78\x40\x6c')+_0x349468(0x1ee,'\x21\x59\x74\x6f')+_0x349468(0x1c5,'\x33\x47\x21\x73')+_0x349468(0x19f,'\x74\x35\x75\x25'),_0x5ce65b[_0x349468(0x1e8,'\x56\x65\x62\x2a')]=_0x349468(0x1cc,'\x5d\x23\x53\x62');const _0x1edfd0=_0x5ce65b;if(!_0x3fefdf||_0x3fefdf[_0x349468(0x1db,'\x56\x65\x62\x2a')]!==_0x4679b0){if(_0x1edfd0[_0x349468(0x1de,'\x55\x37\x79\x4b')](_0x1edfd0[_0x349468(0x1cd,'\x38\x78\x40\x6c')],_0x1edfd0[_0x349468(0x1cd,'\x38\x78\x40\x6c')]))throw new Error(_0x1edfd0[_0x349468(0x18c,'\x56\x37\x58\x54')]);else return _0x441066[_0x349468(0x1c2,'\x47\x44\x6e\x64')]()[_0x349468(0x1f9,'\x21\x59\x74\x6f')](OwMRtH[_0x349468(0x1d5,'\x63\x42\x64\x4c')])[_0x349468(0x1aa,'\x36\x4d\x76\x53')]()[_0x349468(0x211,'\x5d\x23\x53\x62')+_0x349468(0x20d,'\x33\x34\x38\x32')](_0x443557)[_0x349468(0x1ad,'\x23\x52\x69\x6f')](OwMRtH[_0x349468(0x200,'\x39\x69\x49\x76')]);}const _0x3589fb=_0xb95c81[_0x349468(0x1b9,'\x78\x53\x6c\x4e')+'\x74\x65\x73'](_0x3db933),_0x5c379f=_0xb95c81[_0x349468(0x1b4,'\x38\x78\x40\x6c')+_0x349468(0x180,'\x33\x34\x38\x32')](_0x1710ee,_0x3fefdf,_0x3589fb),_0x596c6c=Buffer[_0x349468(0x1e1,'\x33\x47\x21\x73')](_0x52b670)?_0x52b670:Buffer[_0x349468(0x1f2,'\x24\x41\x28\x4e')](_0x52b670,_0x1edfd0[_0x349468(0x1f3,'\x75\x65\x65\x70')]),_0x8da808=Buffer['\x63\x6f\x6e\x63\x61\x74']([_0x5c379f[_0x349468(0x187,'\x61\x63\x4a\x59')](_0x596c6c),_0x5c379f[_0x349468(0x18a,'\x70\x38\x37\x6e')]()]),_0x4702ce=_0x5c379f[_0x349468(0x1cb,'\x2a\x56\x30\x21')+'\x61\x67'](),_0x569346={};return _0x569346[_0x349468(0x1ce,'\x75\x65\x65\x70')+'\x78\x74']=_0x8da808,_0x569346['\x69\x76']=_0x3589fb,_0x569346[_0x349468(0x18b,'\x33\x47\x21\x73')]=_0x4702ce,_0x569346;}function _0xd95d(_0x54c234,_0x1d248f){_0x54c234=_0x54c234-(-0x2*0x9d5+0x5*0x33b+0x4ff);const _0x13f548=_0x43d0();let _0x4406c3=_0x13f548[_0x54c234];if(_0xd95d['\x6e\x54\x56\x61\x48\x64']===undefined){var _0x2e4a9c=function(_0x80e42f){const _0x650fff='\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 _0x4f70da='',_0x14ffd0='',_0x180f56=_0x4f70da+_0x2e4a9c,_0x3148db=(''+function(){return-0x1a34+0x2e2+-0xba9*-0x2;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x12*0x1af+-0x16ab+-0x7a2);for(let _0x2e7fb1=-0x6*-0x61+0x3d7*0x6+0x1950*-0x1,_0x39a5ca,_0x559ca6,_0x11b027=-0x110d+-0x6fd*0x5+-0x79*-0x6e;_0x559ca6=_0x80e42f['\x63\x68\x61\x72\x41\x74'](_0x11b027++);~_0x559ca6&&(_0x39a5ca=_0x2e7fb1%(-0x11d3*0x2+-0x2*-0x102a+0x356)?_0x39a5ca*(-0x19e+-0x2560+0x273e)+_0x559ca6:_0x559ca6,_0x2e7fb1++%(-0x9eb+0x1856+-0xe67))?_0x4f70da+=_0x3148db||_0x180f56['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x11b027+(0x3d*0x8b+0x20bd+0x41d2*-0x1))-(0xb6*-0x2a+-0x186a+0x3650)!==0x12e9+0xa3*0x25+0x153c*-0x2?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x1aa*0xd+0x579*-0x3+-0x438&_0x39a5ca>>(-(-0x2*0xca2+-0xab9+0x23ff)*_0x2e7fb1&0x20ad+0x1f4c+0x9*-0x71b)):_0x2e7fb1:-0xafb+0x1*-0x62d+0x1128){_0x559ca6=_0x650fff['\x69\x6e\x64\x65\x78\x4f\x66'](_0x559ca6);}for(let _0x3f3750=0x3b3*0x1+0x37*0x4d+-0x1*0x143e,_0x518e95=_0x4f70da['\x6c\x65\x6e\x67\x74\x68'];_0x3f3750<_0x518e95;_0x3f3750++){_0x14ffd0+='\x25'+('\x30\x30'+_0x4f70da['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3f3750)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x110b*-0x1+0x3*-0x241+0x17de))['\x73\x6c\x69\x63\x65'](-(-0x112c+-0x8*0x36d+0x2c96));}return decodeURIComponent(_0x14ffd0);};const _0x41f3f3=function(_0x4c86fd,_0x4002b0){let _0x5667f0=[],_0x2c6dd4=0x39*0x5+0x31a*-0x2+0x517,_0x3eacca,_0x2b5c15='';_0x4c86fd=_0x2e4a9c(_0x4c86fd);let _0x51170c;for(_0x51170c=0x1773+-0xc0f+0x3cc*-0x3;_0x51170c<-0x2664+0xbcd+0x1b97;_0x51170c++){_0x5667f0[_0x51170c]=_0x51170c;}for(_0x51170c=0xe1e*0x2+0x7*0x4ff+-0x3f35;_0x51170c<0x158f+-0x2648+0x11b9;_0x51170c++){_0x2c6dd4=(_0x2c6dd4+_0x5667f0[_0x51170c]+_0x4002b0['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x51170c%_0x4002b0['\x6c\x65\x6e\x67\x74\x68']))%(0x5c6+-0x20dc+0x2*0xe0b),_0x3eacca=_0x5667f0[_0x51170c],_0x5667f0[_0x51170c]=_0x5667f0[_0x2c6dd4],_0x5667f0[_0x2c6dd4]=_0x3eacca;}_0x51170c=0xbcb+-0x2396+-0x17cb*-0x1,_0x2c6dd4=-0x10be+0x12b4+-0x1f6;for(let _0xf090ed=-0x2f*-0x8d+0xad6+-0x24b9;_0xf090ed<_0x4c86fd['\x6c\x65\x6e\x67\x74\x68'];_0xf090ed++){_0x51170c=(_0x51170c+(-0x55+-0x54f*0x3+0x1043))%(-0x1849+-0x26c3+0x400c),_0x2c6dd4=(_0x2c6dd4+_0x5667f0[_0x51170c])%(0xb8+0x1*-0x201f+0x4f*0x69),_0x3eacca=_0x5667f0[_0x51170c],_0x5667f0[_0x51170c]=_0x5667f0[_0x2c6dd4],_0x5667f0[_0x2c6dd4]=_0x3eacca,_0x2b5c15+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x4c86fd['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xf090ed)^_0x5667f0[(_0x5667f0[_0x51170c]+_0x5667f0[_0x2c6dd4])%(-0x2666+0x1*0x357+0x240f)]);}return _0x2b5c15;};_0xd95d['\x46\x43\x4d\x42\x59\x6b']=_0x41f3f3,_0xd95d['\x42\x50\x73\x58\x48\x6e']={},_0xd95d['\x6e\x54\x56\x61\x48\x64']=!![];}const _0x260243=_0x13f548[-0x1e*-0x29+-0x1*0x183e+0x9b8*0x2],_0xf02040=_0x54c234+_0x260243,_0x1382b4=_0xd95d['\x42\x50\x73\x58\x48\x6e'][_0xf02040];if(!_0x1382b4){if(_0xd95d['\x6e\x65\x69\x64\x66\x77']===undefined){const _0x328897=function(_0x3492ad){this['\x71\x63\x55\x64\x64\x70']=_0x3492ad,this['\x78\x72\x76\x43\x4c\x43']=[0x27*0x95+0x24d0+0x3b82*-0x1,0xad*-0x8+-0x2435+-0xc9*-0x35,0x17*-0x24+-0x1908+-0x3*-0x96c],this['\x6b\x51\x73\x51\x4b\x62']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x50\x47\x65\x65\x50\x42']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x6b\x72\x41\x6f\x63\x73']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x328897['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x70\x73\x4c\x50\x73\x77']=function(){const _0x36951b=new RegExp(this['\x50\x47\x65\x65\x50\x42']+this['\x6b\x72\x41\x6f\x63\x73']),_0x538b80=_0x36951b['\x74\x65\x73\x74'](this['\x6b\x51\x73\x51\x4b\x62']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x78\x72\x76\x43\x4c\x43'][0x6b0+-0x1e7b+0x2*0xbe6]:--this['\x78\x72\x76\x43\x4c\x43'][-0x2*-0xe8a+0x5f*-0x3e+-0x103*0x6];return this['\x42\x44\x53\x57\x6e\x72'](_0x538b80);},_0x328897['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x42\x44\x53\x57\x6e\x72']=function(_0x38cc27){if(!Boolean(~_0x38cc27))return _0x38cc27;return this['\x52\x57\x65\x4f\x54\x67'](this['\x71\x63\x55\x64\x64\x70']);},_0x328897['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x52\x57\x65\x4f\x54\x67']=function(_0x4aaca1){for(let _0x4768b7=-0x8e*0x2b+0x869*-0x4+0x397e,_0x544b77=this['\x78\x72\x76\x43\x4c\x43']['\x6c\x65\x6e\x67\x74\x68'];_0x4768b7<_0x544b77;_0x4768b7++){this['\x78\x72\x76\x43\x4c\x43']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x544b77=this['\x78\x72\x76\x43\x4c\x43']['\x6c\x65\x6e\x67\x74\x68'];}return _0x4aaca1(this['\x78\x72\x76\x43\x4c\x43'][0x1*-0x88b+0x20ff+0x272*-0xa]);},(''+function(){return 0x1b*-0xe5+-0x16b8+-0x39b*-0xd;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x2263+-0x837*0x1+0x1*0x2a9b)&&new _0x328897(_0xd95d)['\x70\x73\x4c\x50\x73\x77'](),_0xd95d['\x6e\x65\x69\x64\x66\x77']=!![];}_0x4406c3=_0xd95d['\x46\x43\x4d\x42\x59\x6b'](_0x4406c3,_0x1d248f),_0xd95d['\x42\x50\x73\x58\x48\x6e'][_0xf02040]=_0x4406c3;}else _0x4406c3=_0x1382b4;return _0x4406c3;}function _0x1f3fd0(_0x241ded,_0x7917a4,_0x4ea586,_0xe594d7){const _0x5b69e5=_0x3435d8,_0x572df4={};_0x572df4[_0x5b69e5(0x1ac,'\x21\x59\x74\x6f')]=_0x5b69e5(0x204,'\x2a\x56\x30\x21')+'\x70\x61\x63\x6b\x65\x64\x20\x62'+'\x75\x66\x66\x65\x72\x20\x74\x6f'+'\x6f\x20\x73\x68\x6f\x72\x74',_0x572df4[_0x5b69e5(0x210,'\x62\x66\x45\x79')]=function(_0x22b0dd,_0x88902b){return _0x22b0dd!==_0x88902b;},_0x572df4['\x54\x4e\x6c\x72\x77']='\x6a\x61\x6f\x62\x6c',_0x572df4[_0x5b69e5(0x205,'\x74\x6e\x66\x33')]='\x41\x65\x74\x47\x46';const _0x37dbc9=_0x572df4;if(!_0x7917a4||_0x7917a4[_0x5b69e5(0x194,'\x74\x35\x75\x25')]!==_0x4679b0){if(_0x37dbc9[_0x5b69e5(0x1d7,'\x5d\x23\x53\x62')](_0x37dbc9[_0x5b69e5(0x1bb,'\x52\x4e\x71\x34')],_0x37dbc9[_0x5b69e5(0x1f6,'\x7a\x5b\x63\x31')]))throw new Error(_0x5b69e5(0x1e3,'\x39\x69\x49\x76')+_0x5b69e5(0x1a4,'\x39\x69\x49\x76')+_0x5b69e5(0x1ed,'\x56\x65\x62\x2a')+_0x5b69e5(0x19c,'\x79\x24\x50\x21')+_0x5b69e5(0x199,'\x75\x65\x65\x70'));else throw new _0x4100a2(_0x37dbc9[_0x5b69e5(0x1b7,'\x74\x6e\x66\x33')]);}const _0x439525=_0xb95c81[_0x5b69e5(0x198,'\x33\x33\x28\x42')+_0x5b69e5(0x20c,'\x38\x72\x59\x66')](_0x1710ee,_0x7917a4,_0x4ea586);return _0x439525[_0x5b69e5(0x1ff,'\x6b\x64\x2a\x43')+'\x61\x67'](_0xe594d7),Buffer[_0x5b69e5(0x1e2,'\x56\x37\x58\x54')]([_0x439525[_0x5b69e5(0x17c,'\x33\x34\x38\x32')](_0x241ded),_0x439525[_0x5b69e5(0x192,'\x6c\x30\x6e\x69')]()]);}function _0x12a46a(_0x53f90e){const _0x42a1f5=_0x3435d8;return Buffer[_0x42a1f5(0x1b1,'\x24\x41\x28\x4e')]([_0x53f90e['\x69\x76'],_0x53f90e[_0x42a1f5(0x214,'\x38\x78\x40\x6c')],_0x53f90e['\x63\x69\x70\x68\x65\x72\x74\x65'+'\x78\x74']]);}function _0x43d0(){const _0xd64933=['\x74\x43\x6f\x53\x57\x52\x4f\x59\x57\x36\x5a\x63\x48\x61','\x57\x50\x31\x36\x43\x53\x6b\x74\x57\x4f\x4c\x5a\x57\x34\x42\x64\x48\x57','\x57\x35\x6c\x64\x4f\x4a\x33\x64\x49\x64\x76\x51\x57\x50\x62\x75','\x57\x36\x31\x6d\x57\x4f\x5a\x64\x50\x71','\x68\x77\x78\x64\x4f\x38\x6b\x4b\x57\x34\x56\x63\x51\x71','\x57\x37\x5a\x63\x54\x74\x79\x67\x57\x36\x74\x64\x53\x57','\x79\x78\x6d\x67\x57\x36\x35\x4f','\x57\x35\x70\x64\x56\x49\x64\x63\x49\x78\x69\x39','\x57\x37\x62\x61\x75\x47\x70\x64\x4d\x47\x57\x31','\x57\x51\x4a\x64\x50\x38\x6b\x31\x42\x57','\x57\x51\x54\x64\x45\x38\x6f\x4a\x57\x35\x57','\x6d\x38\x6b\x4e\x57\x52\x2f\x63\x4f\x59\x74\x63\x52\x49\x71','\x57\x50\x38\x44\x73\x4b\x33\x64\x47\x61','\x57\x34\x62\x66\x6b\x5a\x57\x4b\x57\x36\x58\x2b\x57\x36\x79','\x73\x4c\x47\x56\x57\x36\x70\x63\x4f\x53\x6b\x38','\x57\x35\x74\x63\x4b\x43\x6f\x6c\x57\x51\x74\x64\x55\x4d\x33\x64\x50\x68\x52\x63\x50\x38\x6b\x39\x57\x52\x65\x51','\x57\x34\x5a\x63\x4a\x63\x38\x2f\x57\x34\x53','\x74\x78\x66\x58\x68\x38\x6b\x50','\x6d\x53\x6f\x51\x57\x37\x48\x47\x77\x61','\x57\x52\x62\x58\x57\x51\x69\x2b\x44\x47','\x57\x35\x2f\x63\x49\x75\x30\x4a\x57\x51\x39\x47','\x70\x38\x6f\x4d\x57\x36\x38\x48\x77\x43\x6b\x6b\x57\x51\x4b\x37','\x57\x37\x5a\x63\x4c\x65\x38\x6f\x79\x4a\x37\x64\x50\x66\x79','\x6c\x43\x6b\x57\x57\x4f\x33\x64\x4d\x43\x6b\x5a\x57\x51\x5a\x64\x54\x47','\x57\x4f\x33\x63\x51\x72\x48\x62\x57\x52\x5a\x63\x4f\x38\x6f\x4f\x57\x52\x43','\x57\x37\x4a\x63\x4f\x62\x75\x4d','\x42\x75\x78\x63\x53\x4e\x56\x64\x4c\x57','\x75\x57\x4c\x42\x57\x35\x34','\x57\x36\x62\x75\x57\x50\x64\x63\x54\x4a\x69\x6f\x46\x6d\x6b\x46','\x57\x37\x46\x63\x48\x53\x6f\x57\x6b\x47','\x6d\x43\x6b\x47\x57\x52\x6c\x63\x55\x57\x74\x63\x4f\x68\x4b\x7a','\x57\x34\x52\x63\x4d\x65\x79\x33','\x57\x52\x72\x69\x62\x4c\x6e\x50','\x57\x50\x72\x52\x65\x32\x48\x76\x57\x51\x30\x36\x64\x47','\x67\x30\x4b\x61\x57\x50\x6c\x63\x55\x6d\x6b\x46\x57\x37\x72\x35','\x57\x36\x42\x63\x56\x43\x6b\x76\x69\x53\x6b\x4a','\x57\x34\x4a\x64\x53\x61\x37\x64\x47\x61\x74\x64\x4b\x75\x42\x64\x47\x61','\x75\x76\x78\x63\x50\x68\x4e\x64\x53\x43\x6f\x75\x57\x50\x66\x67','\x78\x4c\x34\x4a','\x57\x4f\x39\x65\x72\x43\x6f\x75\x57\x37\x47','\x57\x4f\x64\x64\x4e\x67\x57\x75\x57\x50\x50\x4c\x57\x51\x52\x64\x4b\x57','\x44\x65\x64\x63\x4c\x38\x6b\x38\x57\x36\x61','\x67\x4d\x2f\x64\x4b\x43\x6b\x49\x57\x35\x52\x63\x51\x6d\x6b\x34\x57\x34\x6d','\x57\x51\x43\x70\x57\x35\x5a\x63\x50\x64\x61\x6d\x70\x43\x6b\x30\x45\x68\x4e\x63\x55\x65\x71','\x57\x4f\x6e\x50\x78\x72\x78\x64\x4c\x57','\x6f\x38\x6f\x71\x6f\x48\x37\x64\x55\x32\x71','\x45\x38\x6f\x72\x57\x52\x75\x6a\x57\x35\x79','\x57\x37\x39\x50\x75\x64\x52\x64\x4d\x63\x38\x57','\x74\x76\x4b\x63\x57\x35\x74\x63\x49\x71','\x57\x35\x6e\x6c\x6a\x4a\x71\x47\x57\x37\x57','\x79\x43\x6f\x47\x57\x37\x2f\x64\x56\x4b\x70\x64\x55\x58\x6e\x46\x57\x50\x43\x63\x57\x36\x4e\x64\x4d\x71','\x64\x6d\x6b\x39\x57\x4f\x52\x64\x4e\x53\x6b\x56','\x41\x53\x6f\x74\x57\x50\x4e\x64\x56\x6d\x6f\x7a\x57\x35\x31\x6c\x57\x4f\x53','\x62\x33\x70\x64\x47\x6d\x6b\x4a\x57\x34\x37\x63\x50\x38\x6b\x5a\x57\x35\x79','\x57\x34\x6e\x62\x70\x62\x79\x30\x57\x37\x57\x32\x57\x35\x61','\x72\x4d\x68\x63\x50\x38\x6b\x2f\x57\x36\x65','\x57\x52\x35\x74\x75\x61\x52\x64\x54\x61','\x57\x37\x68\x63\x52\x38\x6f\x57\x6c\x38\x6f\x53\x7a\x38\x6f\x48\x57\x36\x75','\x57\x34\x62\x63\x6f\x38\x6b\x4e\x6c\x6d\x6f\x52\x7a\x6d\x6f\x47','\x57\x52\x6c\x64\x50\x38\x6b\x75\x57\x36\x42\x63\x56\x57','\x7a\x49\x4e\x63\x4e\x43\x6b\x38\x6c\x58\x4a\x63\x47\x43\x6b\x70\x57\x51\x6c\x64\x4b\x38\x6f\x53\x57\x4f\x4f','\x57\x52\x72\x7a\x74\x38\x6b\x64\x6e\x4d\x46\x64\x4c\x4e\x56\x63\x52\x68\x4f\x31','\x57\x34\x43\x43\x41\x78\x6c\x64\x52\x68\x2f\x63\x55\x57','\x57\x36\x58\x47\x57\x37\x66\x34\x61\x61','\x57\x34\x68\x63\x4e\x43\x6b\x67\x6f\x43\x6b\x70\x62\x58\x7a\x4b','\x57\x52\x37\x63\x4f\x57\x48\x32\x57\x50\x65','\x57\x37\x65\x68\x6c\x38\x6f\x64\x44\x78\x42\x64\x4a\x33\x43','\x78\x5a\x68\x63\x53\x43\x6f\x49\x57\x50\x4e\x63\x55\x43\x6b\x48\x57\x34\x2f\x63\x48\x74\x37\x64\x53\x57','\x66\x75\x70\x64\x4a\x53\x6f\x4c\x72\x71','\x6a\x53\x6b\x2b\x57\x52\x6c\x64\x51\x30\x70\x64\x56\x77\x6e\x42','\x42\x5a\x70\x63\x4b\x4c\x64\x64\x54\x6d\x6b\x4f\x43\x71\x69','\x57\x34\x2f\x64\x53\x62\x4e\x63\x48\x58\x33\x64\x4a\x61','\x57\x52\x74\x64\x4c\x43\x6b\x4e\x44\x6d\x6b\x55\x76\x53\x6f\x75\x57\x35\x54\x77\x6a\x43\x6b\x2b\x57\x52\x69','\x57\x34\x6e\x32\x6c\x74\x69\x73','\x79\x6d\x6f\x51\x57\x37\x4a\x64\x55\x30\x6c\x64\x56\x71\x35\x51\x57\x4f\x34\x63\x57\x34\x78\x64\x4a\x47','\x46\x78\x54\x6b\x6f\x6d\x6b\x46\x57\x35\x4c\x39\x57\x52\x30','\x57\x35\x75\x73\x76\x71\x79','\x73\x38\x6f\x70\x57\x51\x5a\x64\x49\x38\x6f\x4c','\x57\x36\x6c\x63\x56\x71\x61\x39\x41\x38\x6f\x2f\x57\x35\x66\x67','\x57\x51\x38\x4a\x57\x35\x6c\x64\x48\x43\x6b\x30\x57\x51\x65','\x78\x66\x6d\x54\x57\x36\x70\x63\x55\x6d\x6b\x4b\x65\x61','\x57\x34\x4e\x64\x51\x43\x6f\x53\x57\x52\x71\x64','\x57\x36\x57\x5a\x57\x34\x37\x63\x4c\x43\x6b\x4c\x57\x52\x79\x4a\x45\x57','\x57\x4f\x6a\x36\x69\x32\x76\x6a','\x43\x78\x54\x68\x77\x43\x6b\x68\x57\x35\x48\x4d\x57\x50\x30','\x7a\x38\x6b\x4d\x57\x35\x38\x78\x57\x50\x4b','\x57\x35\x7a\x6e\x6a\x4a\x79\x54','\x57\x37\x75\x4a\x45\x75\x56\x63\x48\x47','\x57\x35\x42\x63\x49\x30\x38\x62\x75\x57','\x41\x43\x6f\x66\x57\x50\x47\x46\x57\x34\x46\x63\x51\x32\x46\x64\x55\x71','\x57\x35\x37\x63\x56\x33\x53\x77\x57\x4f\x30','\x6b\x33\x37\x64\x4c\x62\x4e\x63\x51\x38\x6f\x50','\x42\x4e\x61\x5a\x57\x36\x76\x49\x57\x37\x74\x64\x4c\x6d\x6f\x46','\x72\x4c\x79\x43\x57\x34\x54\x63','\x57\x35\x37\x64\x47\x43\x6f\x4a\x57\x36\x61\x62','\x62\x30\x71\x6a\x57\x4f\x44\x45\x57\x35\x4a\x64\x53\x6d\x6f\x56','\x57\x50\x62\x67\x57\x51\x43\x39\x41\x71','\x6f\x38\x6b\x48\x57\x4f\x4e\x63\x56\x48\x42\x63\x51\x73\x7a\x6c','\x57\x50\x30\x4a\x74\x67\x6c\x64\x50\x67\x75','\x57\x34\x64\x64\x50\x57\x37\x63\x4b\x62\x33\x64\x49\x57\x2f\x63\x4c\x61','\x57\x50\x71\x4d\x57\x34\x4e\x64\x55\x38\x6b\x6f','\x57\x36\x6c\x63\x55\x38\x6f\x51\x69\x38\x6f\x78\x41\x38\x6f\x65','\x79\x53\x6f\x65\x57\x4f\x78\x63\x56\x43\x6f\x61\x57\x34\x31\x37\x57\x50\x79','\x6b\x64\x56\x64\x49\x72\x42\x63\x53\x6d\x6f\x5a\x6c\x47','\x62\x4e\x64\x64\x55\x73\x56\x63\x52\x71','\x46\x32\x33\x63\x47\x43\x6b\x37\x57\x37\x44\x35\x72\x61\x75','\x42\x38\x6b\x61\x57\x36\x6d\x33\x57\x4f\x34','\x57\x50\x68\x64\x56\x6d\x6b\x74\x57\x37\x2f\x63\x55\x57','\x74\x53\x6f\x6e\x57\x50\x4f\x75\x57\x36\x34','\x7a\x33\x4e\x64\x4e\x31\x37\x63\x55\x53\x6f\x35\x6f\x30\x47','\x57\x36\x4c\x59\x46\x66\x64\x64\x4c\x48\x4f\x47\x77\x57','\x57\x52\x62\x58\x70\x4d\x39\x4b','\x57\x36\x72\x35\x57\x4f\x70\x63\x4d\x38\x6f\x52\x57\x36\x44\x50\x6d\x71','\x57\x4f\x46\x63\x51\x4b\x2f\x63\x49\x38\x6b\x36','\x57\x35\x7a\x77\x6a\x5a\x4f','\x57\x34\x64\x63\x56\x5a\x6d\x61\x46\x61','\x57\x36\x64\x63\x47\x53\x6f\x39\x6a\x6d\x6f\x56\x61\x38\x6f\x57\x57\x35\x47','\x57\x52\x6c\x63\x51\x4b\x52\x63\x53\x53\x6b\x72\x57\x51\x66\x45','\x69\x38\x6b\x38\x57\x36\x6c\x63\x49\x31\x75','\x57\x35\x52\x64\x49\x38\x6f\x56\x57\x34\x34\x54','\x57\x35\x70\x63\x54\x53\x6f\x52\x68\x43\x6f\x41','\x57\x52\x50\x31\x45\x61\x6c\x64\x4b\x61\x4f','\x57\x50\x78\x64\x55\x38\x6b\x44\x57\x37\x68\x63\x4d\x57','\x65\x76\x38\x4c\x57\x36\x31\x71\x57\x36\x33\x64\x4f\x61','\x57\x37\x39\x4d\x57\x50\x37\x63\x48\x38\x6f\x58\x57\x37\x34\x4a\x75\x43\x6b\x31\x68\x43\x6f\x4f\x57\x51\x53','\x46\x43\x6f\x6e\x57\x4f\x78\x63\x56\x43\x6b\x45\x57\x4f\x4f\x4f\x57\x4f\x61','\x6d\x43\x6f\x4b\x57\x37\x38\x69\x57\x52\x46\x64\x55\x72\x69\x76','\x57\x36\x5a\x63\x56\x59\x57\x4b\x57\x37\x64\x64\x53\x33\x68\x64\x4b\x71','\x57\x34\x42\x64\x50\x58\x4a\x63\x52\x57\x79','\x57\x36\x6c\x63\x55\x58\x34\x4d\x45\x53\x6f\x2f\x57\x35\x62\x61','\x57\x4f\x31\x62\x57\x52\x69\x54\x44\x47','\x62\x6d\x6f\x56\x57\x34\x35\x42\x76\x57','\x45\x77\x58\x68\x63\x43\x6b\x45\x57\x34\x69\x56\x57\x34\x4b','\x71\x66\x5a\x63\x54\x43\x6b\x7a\x57\x35\x65','\x57\x50\x38\x49\x57\x51\x66\x55\x57\x4f\x62\x4d\x76\x32\x4e\x64\x48\x32\x33\x64\x52\x48\x34','\x57\x50\x4e\x63\x4a\x48\x7a\x6c\x57\x52\x53','\x57\x50\x57\x4b\x57\x51\x66\x50\x57\x36\x65\x37\x44\x30\x78\x64\x56\x68\x71','\x44\x53\x6f\x62\x57\x4f\x79\x46\x57\x34\x46\x63\x51\x32\x46\x64\x55\x71','\x57\x36\x4e\x64\x48\x53\x6f\x36\x57\x50\x57\x4f','\x57\x52\x31\x57\x6f\x6d\x6f\x64\x43\x61\x61','\x72\x31\x52\x63\x53\x4e\x74\x64\x50\x53\x6b\x67\x57\x4f\x58\x46','\x73\x43\x6f\x52\x57\x51\x30','\x57\x51\x5a\x64\x4a\x71\x35\x46\x6e\x4e\x33\x63\x56\x30\x6e\x6b\x57\x34\x69\x52\x57\x52\x70\x63\x4a\x57','\x57\x36\x4f\x54\x73\x4e\x68\x63\x4c\x71','\x57\x4f\x6c\x63\x4c\x33\x64\x63\x51\x6d\x6b\x72','\x57\x34\x6d\x6a\x78\x75\x33\x63\x47\x65\x6c\x63\x50\x59\x61','\x57\x36\x46\x64\x51\x57\x64\x63\x47\x4c\x71','\x77\x4b\x38\x52\x57\x37\x64\x63\x54\x43\x6b\x58\x69\x6d\x6f\x58','\x41\x6d\x6f\x75\x57\x4f\x4a\x64\x54\x43\x6f\x35\x57\x35\x4c\x56','\x57\x37\x53\x7a\x6a\x53\x6b\x59\x57\x36\x70\x63\x49\x30\x68\x64\x4f\x4c\x65\x7a','\x45\x68\x46\x63\x53\x6d\x6b\x55\x57\x37\x44\x49\x73\x58\x53','\x57\x34\x70\x63\x56\x53\x6b\x78\x62\x43\x6b\x2b','\x46\x6d\x6f\x72\x57\x50\x4a\x64\x56\x6d\x6f\x7a\x57\x35\x30','\x73\x6d\x6f\x30\x57\x52\x53\x48\x57\x37\x68\x63\x4c\x57','\x57\x52\x54\x58\x44\x58\x74\x64\x4e\x61\x38\x64\x71\x71','\x57\x50\x2f\x64\x4e\x43\x6b\x44\x57\x36\x43','\x64\x32\x78\x64\x53\x43\x6f\x37\x57\x50\x52\x64\x54\x6d\x6f\x47\x57\x4f\x4b'];_0x43d0=function(){return _0xd64933;};return _0x43d0();}function _0x101c05(_0x3a4567){const _0x875bf0=_0x3435d8,_0x3e66cd={};_0x3e66cd[_0x875bf0(0x1fa,'\x52\x4e\x71\x34')]=function(_0x48bdbd,_0x722653){return _0x48bdbd!==_0x722653;},_0x3e66cd[_0x875bf0(0x19a,'\x38\x72\x59\x66')]=_0x875bf0(0x19e,'\x33\x47\x21\x73')+_0x875bf0(0x1d4,'\x2a\x56\x30\x21')+_0x875bf0(0x1d2,'\x24\x78\x67\x59')+_0x875bf0(0x182,'\x61\x63\x4a\x59')+_0x875bf0(0x183,'\x79\x24\x50\x21'),_0x3e66cd['\x6d\x54\x53\x6f\x78']=function(_0x597db5,_0x30960b){return _0x597db5<_0x30960b;},_0x3e66cd[_0x875bf0(0x1d1,'\x35\x78\x31\x48')]=function(_0x4309fc,_0xe7560a){return _0x4309fc+_0xe7560a;},_0x3e66cd[_0x875bf0(0x1a0,'\x57\x68\x35\x6b')]=_0x875bf0(0x212,'\x61\x63\x4a\x59'),_0x3e66cd[_0x875bf0(0x203,'\x6c\x30\x6e\x69')]='\x63\x72\x79\x70\x74\x6f\x3a\x20'+_0x875bf0(0x18d,'\x24\x41\x28\x4e')+_0x875bf0(0x1a5,'\x38\x72\x59\x66')+_0x875bf0(0x1e7,'\x56\x65\x62\x2a'),_0x3e66cd[_0x875bf0(0x1eb,'\x52\x4e\x71\x34')]=function(_0xb03da4,_0x46f6ec){return _0xb03da4+_0x46f6ec;};const _0x5ae380=_0x3e66cd;if(!Buffer[_0x875bf0(0x1b5,'\x36\x4d\x76\x53')](_0x3a4567)||_0x5ae380[_0x875bf0(0x1ea,'\x63\x42\x64\x4c')](_0x3a4567['\x6c\x65\x6e\x67\x74\x68'],_0x5ae380[_0x875bf0(0x1a9,'\x74\x6e\x66\x33')](_0x5ae380[_0x875bf0(0x193,'\x61\x35\x48\x41')](_0x3db933,_0x4c3c25),0x393*0x6+-0x85e+0xd13*-0x1))){if('\x41\x65\x44\x6a\x52'!==_0x5ae380[_0x875bf0(0x190,'\x6b\x64\x2a\x43')]){if(!_0x5cf810||kcBZAm[_0x875bf0(0x1c9,'\x24\x41\x28\x4e')](_0x4a1716[_0x875bf0(0x1c7,'\x39\x69\x49\x76')],_0x1ba653))throw new _0x2e4b5e(kcBZAm[_0x875bf0(0x1d8,'\x34\x29\x4b\x68')]);const _0x30d6de=_0x531aa3[_0x875bf0(0x213,'\x72\x5d\x36\x59')+_0x875bf0(0x196,'\x34\x29\x4b\x68')](_0x3d916e,_0x518ca1,_0x133e9c);return _0x30d6de[_0x875bf0(0x1b6,'\x24\x41\x28\x4e')+'\x61\x67'](_0x10da13),_0x229a41[_0x875bf0(0x185,'\x6b\x64\x2a\x43')]([_0x30d6de[_0x875bf0(0x218,'\x38\x78\x40\x6c')](_0x4e51cf),_0x30d6de[_0x875bf0(0x1d6,'\x24\x41\x28\x4e')]()]);}else throw new Error(_0x5ae380[_0x875bf0(0x1bf,'\x24\x5d\x4a\x69')]);}const _0x317a87=_0x3a4567['\x73\x75\x62\x61\x72\x72\x61\x79'](-0x218b+0x42+0x2149,_0x3db933),_0x2923c9=_0x3a4567[_0x875bf0(0x1e9,'\x74\x6e\x66\x33')](_0x3db933,_0x3db933+_0x4c3c25),_0x2467c3=_0x3a4567[_0x875bf0(0x1a1,'\x57\x68\x35\x6b')](_0x5ae380[_0x875bf0(0x207,'\x33\x33\x28\x42')](_0x3db933,_0x4c3c25)),_0x26dfd6={};return _0x26dfd6[_0x875bf0(0x1a2,'\x69\x70\x36\x53')+'\x78\x74']=_0x2467c3,_0x26dfd6['\x69\x76']=_0x317a87,_0x26dfd6[_0x875bf0(0x1e5,'\x78\x53\x6c\x4e')]=_0x2923c9,_0x26dfd6;}const _0x3476e2={};_0x3476e2['\x41\x4c\x47\x4f\x52\x49\x54\x48'+'\x4d']=_0x1710ee,_0x3476e2[_0x3435d8(0x209,'\x33\x34\x38\x32')+'\x53']=_0x4679b0,_0x3476e2[_0x3435d8(0x1dc,'\x21\x4c\x51\x42')]=_0x3db933,_0x3476e2[_0x3435d8(0x1d9,'\x33\x34\x38\x32')+'\x53']=_0x4c3c25,_0x3476e2[_0x3435d8(0x1f4,'\x28\x42\x4e\x68')+'\x4b\x65\x79']=_0x4a90a2,_0x3476e2[_0x3435d8(0x1d0,'\x72\x5d\x36\x59')]=_0x3bf80e,_0x3476e2[_0x3435d8(0x197,'\x5a\x26\x79\x33')]=_0x1f3fd0,_0x3476e2[_0x3435d8(0x19d,'\x28\x42\x4e\x68')]=_0x12a46a,_0x3476e2[_0x3435d8(0x20b,'\x63\x4e\x61\x57')]=_0x101c05,module[_0x3435d8(0x1f5,'\x62\x66\x45\x79')]=_0x3476e2;
1
+ // AES-256-GCM symmetric encryption for sealed / privacy computing blobs.
2
+ // Keys are generated locally and never leave the client.
3
+
4
+ const crypto = require('crypto');
5
+
6
+ const ALGORITHM = 'aes-256-gcm';
7
+ const IV_BYTES = 12;
8
+ const TAG_BYTES = 16;
9
+ const KEY_BYTES = 32;
10
+
11
+ /**
12
+ * Generate a random 256-bit key.
13
+ * @returns {Buffer}
14
+ */
15
+ function generateKey() {
16
+ return crypto.randomBytes(KEY_BYTES);
17
+ }
18
+
19
+ /**
20
+ * Encrypt plaintext with AES-256-GCM.
21
+ * @param {Buffer|string} plaintext
22
+ * @param {Buffer} key - 32-byte key
23
+ * @returns {{ ciphertext: Buffer, iv: Buffer, authTag: Buffer }}
24
+ */
25
+ function encrypt(plaintext, key) {
26
+ if (!key || key.length !== KEY_BYTES) {
27
+ throw new Error('crypto: key must be exactly 32 bytes');
28
+ }
29
+ const iv = crypto.randomBytes(IV_BYTES);
30
+ const cipher = crypto.createCipheriv(ALGORITHM, key, iv);
31
+ const input = Buffer.isBuffer(plaintext) ? plaintext : Buffer.from(plaintext, 'utf8');
32
+ const encrypted = Buffer.concat([cipher.update(input), cipher.final()]);
33
+ const authTag = cipher.getAuthTag();
34
+ return { ciphertext: encrypted, iv, authTag };
35
+ }
36
+
37
+ /**
38
+ * Decrypt ciphertext with AES-256-GCM.
39
+ * @param {Buffer} ciphertext
40
+ * @param {Buffer} key - 32-byte key
41
+ * @param {Buffer} iv - 12-byte IV
42
+ * @param {Buffer} authTag - 16-byte auth tag
43
+ * @returns {Buffer} plaintext
44
+ */
45
+ function decrypt(ciphertext, key, iv, authTag) {
46
+ if (!key || key.length !== KEY_BYTES) {
47
+ throw new Error('crypto: key must be exactly 32 bytes');
48
+ }
49
+ const decipher = crypto.createDecipheriv(ALGORITHM, key, iv);
50
+ decipher.setAuthTag(authTag);
51
+ return Buffer.concat([decipher.update(ciphertext), decipher.final()]);
52
+ }
53
+
54
+ /**
55
+ * Pack ciphertext + iv + authTag into a single buffer for transport.
56
+ * Layout: [iv (12)] [authTag (16)] [ciphertext (...)]
57
+ * @param {{ ciphertext: Buffer, iv: Buffer, authTag: Buffer }} parts
58
+ * @returns {Buffer}
59
+ */
60
+ function pack(parts) {
61
+ return Buffer.concat([parts.iv, parts.authTag, parts.ciphertext]);
62
+ }
63
+
64
+ /**
65
+ * Unpack a buffer produced by pack().
66
+ * @param {Buffer} packed
67
+ * @returns {{ ciphertext: Buffer, iv: Buffer, authTag: Buffer }}
68
+ */
69
+ function unpack(packed) {
70
+ if (!Buffer.isBuffer(packed) || packed.length < IV_BYTES + TAG_BYTES + 1) {
71
+ throw new Error('crypto: packed buffer too short');
72
+ }
73
+ const iv = packed.subarray(0, IV_BYTES);
74
+ const authTag = packed.subarray(IV_BYTES, IV_BYTES + TAG_BYTES);
75
+ const ciphertext = packed.subarray(IV_BYTES + TAG_BYTES);
76
+ return { ciphertext, iv, authTag };
77
+ }
78
+
79
+ module.exports = {
80
+ ALGORITHM,
81
+ KEY_BYTES,
82
+ IV_BYTES,
83
+ TAG_BYTES,
84
+ generateKey,
85
+ encrypt,
86
+ decrypt,
87
+ pack,
88
+ unpack,
89
+ };