@loxia-labs/loxia-autopilot-one 1.0.12 → 1.0.14

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 (118) hide show
  1. package/README.md +7 -3
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -2
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/agentActivityService.js +1 -0
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
@@ -1 +1 @@
1
- const a0_0x51b70b=a0_0x1850;function a0_0x1850(_0x5cd269,_0x293a28){_0x5cd269=_0x5cd269-0x1b7;const _0x50daea=a0_0x50da();let _0x18504e=_0x50daea[_0x5cd269];if(a0_0x1850['PdGift']===undefined){var _0x5d8a67=function(_0x32411e){const _0x32e631='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2bf1c4='',_0x2df6fc='';for(let _0x353337=0x0,_0xb20a5b,_0x4606a8,_0x37ed4b=0x0;_0x4606a8=_0x32411e['charAt'](_0x37ed4b++);~_0x4606a8&&(_0xb20a5b=_0x353337%0x4?_0xb20a5b*0x40+_0x4606a8:_0x4606a8,_0x353337++%0x4)?_0x2bf1c4+=String['fromCharCode'](0xff&_0xb20a5b>>(-0x2*_0x353337&0x6)):0x0){_0x4606a8=_0x32e631['indexOf'](_0x4606a8);}for(let _0xef4625=0x0,_0x1630ca=_0x2bf1c4['length'];_0xef4625<_0x1630ca;_0xef4625++){_0x2df6fc+='%'+('00'+_0x2bf1c4['charCodeAt'](_0xef4625)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2df6fc);};a0_0x1850['fGxeyc']=_0x5d8a67,a0_0x1850['DpVYCI']={},a0_0x1850['PdGift']=!![];}const _0x2a2580=_0x50daea[0x0],_0x438cd6=_0x5cd269+_0x2a2580,_0x340a6d=a0_0x1850['DpVYCI'][_0x438cd6];return!_0x340a6d?(_0x18504e=a0_0x1850['fGxeyc'](_0x18504e),a0_0x1850['DpVYCI'][_0x438cd6]=_0x18504e):_0x18504e=_0x340a6d,_0x18504e;}function a0_0x50da(){const _0x1f40e4=['zML4ywjSzuvYCM9Yq291BNq','otC3nJvlCKPTwNm','zM9YBwf0twvZC2fNzq','lMvZBgLUDhjJlMPZB24','rvnmAw50igzPEcbMywLSzwq','uevsrK9stufoq0u','mJi0BxzyyvnX','z2v0rvnmAw50q29UzMLN','zw5KtgLUzq','BM8TzxzHBa','mZG1mJjfs1rSDLy','zxnSAw50','lMnQCW','zgvZy3jPyMvdAgfUz2vZ','Aw5JBhvKzxm','C2v0DgLUz3m','otu3mdmZre5fu0nc','zxH0zw5KCW','rvnmAw50igzPEcbMywLSzwq6ia','zML4ywjSzvDHCM5PBMDdB3vUDa','BM8TDMfY','CgfYC2vYt3b0Aw9UCW','Bwf4','rvnmAw50igfUywX5C2LZigzHAwXLza','BgvUz3rO','BgLUDfrLEhq','mti2B1jKzfbX','u0vwrvjjvfK','lM1QCW','Bw9KAwzPzwq','C3vWCg9YDhnbDxrVrML4','DNvL','yMvZDc1WCMfJDgLJzxm','mtiXntu0r0X4q25m','mZiWvvDKAvDH','CgvYzM9YBwfUy2u','zxnSAw50oNjLy29TBwvUzgvK','Bw9KDwXL','CNvSzuLK','Bg9Nz2vY','rM91BMqGrvnmAw50ignVBMzPzW','rvjst1i','ChvZAa','q0furuDpuLK','mtK0B0HwDhPK','ywX3yxLZ','zMLSDgvY','mJu3mJHUse9UBKK','u1rzteu','z2v0rvnmAw50sw5ZDgfUy2u','B3v0Chv0','D2fYBMLUz0nVDw50','zxjYB3i','BM8TDw51C2vKlxzHCNm','zML4','lMvZBgLUDhjJlMPZ','mZi0nZmWAwHtDxv0','C2v2zxjPDhK','BwvZC2fNzq','v0fstKLorW','C2LUz2XL','y2f0zwDVCML6zvj1Bgu','BgLUzq','mZu1nfrmDe1jBa','D2fYBG'];a0_0x50da=function(){return _0x1f40e4;};return a0_0x50da();}(function(_0x2f87de,_0x3e1ca1){const _0x4ecc0d=a0_0x1850,_0x1c8600=_0x2f87de();while(!![]){try{const _0x3545c5=-parseInt(_0x4ecc0d(0x1ba))/0x1*(-parseInt(_0x4ecc0d(0x1e8))/0x2)+-parseInt(_0x4ecc0d(0x1cc))/0x3+parseInt(_0x4ecc0d(0x1eb))/0x4+parseInt(_0x4ecc0d(0x1bd))/0x5*(parseInt(_0x4ecc0d(0x1d6))/0x6)+parseInt(_0x4ecc0d(0x1f4))/0x7+parseInt(_0x4ecc0d(0x1c2))/0x8*(-parseInt(_0x4ecc0d(0x1dd))/0x9)+parseInt(_0x4ecc0d(0x1de))/0xa*(parseInt(_0x4ecc0d(0x1c6))/0xb);if(_0x3545c5===_0x3e1ca1)break;else _0x1c8600['push'](_0x1c8600['shift']());}catch(_0x4a4d03){_0x1c8600['push'](_0x1c8600['shift']());}}}(a0_0x50da,0x36752));import{ESLint}from'eslint';import a0_0x2bf1c4 from'path';import a0_0x2df6fc from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';class ESLintAnalyzer{constructor(_0x353337=null){const _0x31bc90=a0_0x1850;this[_0x31bc90(0x1e3)]=_0x353337,this['eslintCache']=new Map();}async['analyze'](_0xb20a5b,_0x4606a8,_0x37ed4b={}){const _0x58096e=a0_0x1850;try{const _0xef4625=await this[_0x58096e(0x1ed)](_0x37ed4b),_0x1630ca=await _0xef4625[_0x58096e(0x1d5)](_0x4606a8,{'filePath':_0xb20a5b,'warnIgnored':![]}),_0x31959e=[];if(_0x1630ca&&_0x1630ca['length']>0x0){const _0x20bb5d=_0x1630ca[0x0];for(const _0x56bf37 of _0x20bb5d['messages']){_0x31959e[_0x58096e(0x1e6)](this[_0x58096e(0x1be)](_0x56bf37,_0xb20a5b));}}return this[_0x58096e(0x1e3)]?.['debug']('ESLint\x20analysis\x20completed',{'file':_0xb20a5b,'totalDiagnostics':_0x31959e[_0x58096e(0x1d4)],'errors':_0x31959e[_0x58096e(0x1ea)](_0x48827e=>_0x48827e[_0x58096e(0x1f5)]===STATIC_ANALYSIS['SEVERITY'][_0x58096e(0x1e5)])[_0x58096e(0x1d4)],'warnings':_0x31959e[_0x58096e(0x1ea)](_0x55f064=>_0x55f064['severity']===STATIC_ANALYSIS[_0x58096e(0x1d7)]['WARNING'])[_0x58096e(0x1d4)]}),_0x31959e;}catch(_0x1d5af6){return this['logger']?.['error'](_0x58096e(0x1d3),{'file':_0xb20a5b,'error':_0x1d5af6[_0x58096e(0x1f6)]}),[];}}async[a0_0x51b70b(0x1f2)](_0x242b66,_0x3a7d7e,_0x32e16c={}){const _0x251efd=a0_0x51b70b;try{const _0x2b72fc=await this[_0x251efd(0x1ed)]({..._0x32e16c,'fix':!![]}),_0x133c7c=await _0x2b72fc[_0x251efd(0x1d5)](_0x3a7d7e,{'filePath':_0x242b66,'warnIgnored':![]});if(_0x133c7c&&_0x133c7c['length']>0x0){const _0x302d34=_0x133c7c[0x0];return{'fixed':_0x302d34['output']!==undefined,'content':_0x302d34[_0x251efd(0x1ee)]||_0x3a7d7e,'fixedCount':_0x302d34['fixableErrorCount']+_0x302d34[_0x251efd(0x1cf)],'remainingErrors':_0x302d34['errorCount']-_0x302d34[_0x251efd(0x1bc)],'remainingWarnings':_0x302d34[_0x251efd(0x1ef)]-_0x302d34[_0x251efd(0x1cf)],'changes':_0x302d34['output']?this[_0x251efd(0x1c9)](_0x3a7d7e,_0x302d34[_0x251efd(0x1ee)]):[]};}return{'fixed':![],'content':_0x3a7d7e,'fixedCount':0x0,'remainingErrors':0x0,'remainingWarnings':0x0,'changes':[]};}catch(_0x28437d){this[_0x251efd(0x1e3)]?.['error'](_0x251efd(0x1c0),{'file':_0x242b66,'error':_0x28437d['message']});throw new Error(_0x251efd(0x1ce)+_0x28437d[_0x251efd(0x1f6)]);}}async['getESLintInstance'](_0x17ee1f={}){const _0x41ae7e=a0_0x51b70b,{workingDir:_0x345f90,fix:fix=![],framework:_0x37e910}=_0x17ee1f,_0xf5f60e=await this[_0x41ae7e(0x1c3)](_0x345f90,_0x37e910),_0x26a078=new ESLint({'fix':fix,'useEslintrc':!![],'overrideConfig':_0xf5f60e,'errorOnUnmatchedPattern':![]});return _0x26a078;}async['getESLintConfig'](_0x79b89c,_0x1664ab){const _0x34ee94=a0_0x51b70b,_0x35ca0e={'env':{'browser':!![],'es2021':!![],'node':!![]},'parserOptions':{'ecmaVersion':'latest','sourceType':_0x34ee94(0x1e1)},'rules':{'no-unused-vars':_0x34ee94(0x1bb),'no-undef':_0x34ee94(0x1f0),'no-console':'off','semi':['warn',_0x34ee94(0x1e9)],'quotes':[_0x34ee94(0x1bb),_0x34ee94(0x1b7),{'avoidEscape':!![]}]}};if(_0x1664ab==='react')_0x35ca0e['extends']=['eslint:recommended'],_0x35ca0e[_0x34ee94(0x1d1)]['ecmaFeatures']={'jsx':!![]},_0x35ca0e[_0x34ee94(0x1cb)]={'react':{'version':'detect'}};else _0x1664ab===_0x34ee94(0x1db)?_0x35ca0e[_0x34ee94(0x1cd)]=[_0x34ee94(0x1e0)]:_0x35ca0e['extends']=['eslint:recommended'];if(_0x79b89c){const _0x843090=[_0x34ee94(0x1f3),'.eslintrc.cjs',_0x34ee94(0x1bf),'eslint.config.js'];for(const _0x1f6607 of _0x843090){try{const _0x39bb85=a0_0x2bf1c4['join'](_0x79b89c,_0x1f6607);return await a0_0x2df6fc['access'](_0x39bb85),this['logger']?.['debug'](_0x34ee94(0x1e4),{'configFile':_0x1f6607}),{};}catch{}}}return _0x35ca0e;}[a0_0x51b70b(0x1be)](_0x15f89e,_0x1f3885){const _0x170288=a0_0x51b70b;return{'file':_0x1f3885,'line':_0x15f89e[_0x170288(0x1b9)]||0x1,'column':_0x15f89e['column']||0x1,'endLine':_0x15f89e[_0x170288(0x1c4)],'endColumn':_0x15f89e['endColumn'],'severity':_0x15f89e['severity']===0x2?STATIC_ANALYSIS[_0x170288(0x1d7)]['ERROR']:STATIC_ANALYSIS[_0x170288(0x1d7)][_0x170288(0x1f7)],'rule':_0x15f89e['ruleId']||_0x170288(0x1c7),'message':_0x15f89e['message'],'category':this[_0x170288(0x1b8)](_0x15f89e[_0x170288(0x1e2)]),'fixable':_0x15f89e[_0x170288(0x1f2)]!==undefined,'source':'eslint'};}['categorizeRule'](_0x2b39b8){const _0x52195b=a0_0x51b70b;if(!_0x2b39b8)return STATIC_ANALYSIS['CATEGORY'][_0x52195b(0x1ec)];if(_0x2b39b8['includes']('security')||_0x2b39b8['includes']('xss')||_0x2b39b8===_0x52195b(0x1c5)||_0x2b39b8==='no-implied-eval')return STATIC_ANALYSIS['CATEGORY']['SECURITY'];if(_0x2b39b8[_0x52195b(0x1ca)](_0x52195b(0x1df))||_0x2b39b8==='no-await-in-loop'||_0x2b39b8==='prefer-promise-reject-errors')return STATIC_ANALYSIS['CATEGORY'][_0x52195b(0x1c1)];if(_0x2b39b8[_0x52195b(0x1ca)]('import')||_0x2b39b8==='no-undef')return STATIC_ANALYSIS[_0x52195b(0x1e7)]['IMPORT'];if(_0x2b39b8['includes'](_0x52195b(0x1dc))||_0x2b39b8===_0x52195b(0x1f1)||_0x2b39b8==='no-unreachable'||_0x2b39b8===_0x52195b(0x1d0))return STATIC_ANALYSIS[_0x52195b(0x1e7)]['BEST_PRACTICE'];return STATIC_ANALYSIS[_0x52195b(0x1e7)]['STYLE'];}['describeChanges'](_0x59141c,_0x374032){const _0x1ead02=a0_0x51b70b,_0x54052b=[],_0x48f004=_0x59141c['split']('\x0a'),_0x4767e8=_0x374032['split']('\x0a'),_0x11a70d=Math[_0x1ead02(0x1d2)](_0x48f004['length'],_0x4767e8['length']);for(let _0x1035d1=0x0;_0x1035d1<_0x11a70d;_0x1035d1++){const _0x5b0526=_0x48f004[_0x1035d1]||'',_0x4c7367=_0x4767e8[_0x1035d1]||'';_0x5b0526!==_0x4c7367&&_0x54052b['push']({'line':_0x1035d1+0x1,'type':_0x5b0526&&_0x4c7367?_0x1ead02(0x1d9):_0x5b0526?'removed':'added','original':_0x5b0526,'fixed':_0x4c7367});}return _0x54052b;}['getSupportedExtensions'](){const _0x735cc6=a0_0x51b70b;return['.js','.jsx',_0x735cc6(0x1d8),_0x735cc6(0x1c8)];}[a0_0x51b70b(0x1da)](){return!![];}}export default ESLintAnalyzer;
1
+ const a0_0x3d0303=a0_0x366f;(function(_0x1c6825,_0x450635){const _0x43d3eb=a0_0x366f,_0x57b61b=_0x1c6825();while(!![]){try{const _0x1b3969=-parseInt(_0x43d3eb(0x147))/0x1*(-parseInt(_0x43d3eb(0x136))/0x2)+parseInt(_0x43d3eb(0x125))/0x3+-parseInt(_0x43d3eb(0x141))/0x4*(-parseInt(_0x43d3eb(0x12b))/0x5)+parseInt(_0x43d3eb(0x149))/0x6*(-parseInt(_0x43d3eb(0x13c))/0x7)+parseInt(_0x43d3eb(0x135))/0x8*(parseInt(_0x43d3eb(0x115))/0x9)+-parseInt(_0x43d3eb(0x122))/0xa+parseInt(_0x43d3eb(0x13d))/0xb*(-parseInt(_0x43d3eb(0x116))/0xc);if(_0x1b3969===_0x450635)break;else _0x57b61b['push'](_0x57b61b['shift']());}catch(_0x22bfca){_0x57b61b['push'](_0x57b61b['shift']());}}}(a0_0x361d,0x1b26b));import{ESLint}from'eslint';function a0_0x366f(_0x920103,_0xa66d1c){_0x920103=_0x920103-0x113;const _0x361d23=a0_0x361d();let _0x366f2d=_0x361d23[_0x920103];if(a0_0x366f['yjosSq']===undefined){var _0x136e62=function(_0x4ce2dc){const _0x532159='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4239b9='',_0x4a1faa='';for(let _0x262556=0x0,_0x3d7629,_0x79fb06,_0x1a4f71=0x0;_0x79fb06=_0x4ce2dc['charAt'](_0x1a4f71++);~_0x79fb06&&(_0x3d7629=_0x262556%0x4?_0x3d7629*0x40+_0x79fb06:_0x79fb06,_0x262556++%0x4)?_0x4239b9+=String['fromCharCode'](0xff&_0x3d7629>>(-0x2*_0x262556&0x6)):0x0){_0x79fb06=_0x532159['indexOf'](_0x79fb06);}for(let _0x38fcc4=0x0,_0x41117=_0x4239b9['length'];_0x38fcc4<_0x41117;_0x38fcc4++){_0x4a1faa+='%'+('00'+_0x4239b9['charCodeAt'](_0x38fcc4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a1faa);};a0_0x366f['jjUPHL']=_0x136e62,a0_0x366f['MgRPyY']={},a0_0x366f['yjosSq']=!![];}const _0x4c771a=_0x361d23[0x0],_0x1983c3=_0x920103+_0x4c771a,_0x4645aa=a0_0x366f['MgRPyY'][_0x1983c3];return!_0x4645aa?(_0x366f2d=a0_0x366f['jjUPHL'](_0x366f2d),a0_0x366f['MgRPyY'][_0x1983c3]=_0x366f2d):_0x366f2d=_0x4645aa,_0x366f2d;}import a0_0x4239b9 from'path';import a0_0x4a1faa from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';class ESLintAnalyzer{constructor(_0x262556=null){const _0x2094e0=a0_0x366f;this[_0x2094e0(0x150)]=_0x262556,this['eslintCache']=new Map();}async[a0_0x3d0303(0x134)](_0x3d7629,_0x79fb06,_0x1a4f71={}){const _0x32d0bd=a0_0x3d0303;try{const _0x38fcc4=await this['getESLintInstance'](_0x1a4f71),_0x41117=await _0x38fcc4['lintText'](_0x79fb06,{'filePath':_0x3d7629,'warnIgnored':![]}),_0x4f4512=[];if(_0x41117&&_0x41117['length']>0x0){const _0x3b74e6=_0x41117[0x0];for(const _0x1aa1ea of _0x3b74e6[_0x32d0bd(0x120)]){_0x4f4512[_0x32d0bd(0x14b)](this[_0x32d0bd(0x137)](_0x1aa1ea,_0x3d7629));}}return this['logger']?.[_0x32d0bd(0x132)](_0x32d0bd(0x148),{'file':_0x3d7629,'totalDiagnostics':_0x4f4512['length'],'errors':_0x4f4512[_0x32d0bd(0x12e)](_0x3b4729=>_0x3b4729['severity']===STATIC_ANALYSIS[_0x32d0bd(0x12d)][_0x32d0bd(0x114)])['length'],'warnings':_0x4f4512['filter'](_0xb5a608=>_0xb5a608[_0x32d0bd(0x11b)]===STATIC_ANALYSIS['SEVERITY'][_0x32d0bd(0x126)])['length']}),_0x4f4512;}catch(_0x3f7a59){return this['logger']?.[_0x32d0bd(0x146)](_0x32d0bd(0x121),{'file':_0x3d7629,'error':_0x3f7a59['message']}),[];}}async['fix'](_0x519e91,_0xb435db,_0x8dcfee={}){const _0xbd961b=a0_0x3d0303;try{const _0x1aab9f=await this['getESLintInstance']({..._0x8dcfee,'fix':!![]}),_0x5788e1=await _0x1aab9f[_0xbd961b(0x11e)](_0xb435db,{'filePath':_0x519e91,'warnIgnored':![]});if(_0x5788e1&&_0x5788e1['length']>0x0){const _0x27a4f5=_0x5788e1[0x0];return{'fixed':_0x27a4f5['output']!==undefined,'content':_0x27a4f5[_0xbd961b(0x143)]||_0xb435db,'fixedCount':_0x27a4f5[_0xbd961b(0x113)]+_0x27a4f5['fixableWarningCount'],'remainingErrors':_0x27a4f5[_0xbd961b(0x117)]-_0x27a4f5['fixableErrorCount'],'remainingWarnings':_0x27a4f5[_0xbd961b(0x129)]-_0x27a4f5['fixableWarningCount'],'changes':_0x27a4f5['output']?this['describeChanges'](_0xb435db,_0x27a4f5[_0xbd961b(0x143)]):[]};}return{'fixed':![],'content':_0xb435db,'fixedCount':0x0,'remainingErrors':0x0,'remainingWarnings':0x0,'changes':[]};}catch(_0x17f8cd){this['logger']?.[_0xbd961b(0x146)]('ESLint\x20fix\x20failed',{'file':_0x519e91,'error':_0x17f8cd['message']});throw new Error('ESLint\x20fix\x20failed:\x20'+_0x17f8cd[_0xbd961b(0x123)]);}}async['getESLintInstance'](_0xb3db22={}){const _0x332ec4=a0_0x3d0303,{workingDir:_0x23e278,fix:fix=![],framework:_0x2cdd28}=_0xb3db22,_0x2bf2f2=await this[_0x332ec4(0x127)](_0x23e278,_0x2cdd28),_0x38b819=new ESLint({'fix':fix,'useEslintrc':!![],'overrideConfig':_0x2bf2f2,'errorOnUnmatchedPattern':![]});return _0x38b819;}async[a0_0x3d0303(0x127)](_0x5e2ff3,_0x41c54a){const _0x564a04=a0_0x3d0303,_0xfdb0c8={'env':{'browser':!![],'es2021':!![],'node':!![]},'parserOptions':{'ecmaVersion':_0x564a04(0x124),'sourceType':'module'},'rules':{'no-unused-vars':_0x564a04(0x14d),'no-undef':'error','no-console':'off','semi':['warn','always'],'quotes':['warn',_0x564a04(0x138),{'avoidEscape':!![]}]}};if(_0x41c54a===_0x564a04(0x12c))_0xfdb0c8['extends']=[_0x564a04(0x13e)],_0xfdb0c8[_0x564a04(0x139)]['ecmaFeatures']={'jsx':!![]},_0xfdb0c8['settings']={'react':{'version':_0x564a04(0x13f)}};else _0x41c54a==='vue'?_0xfdb0c8['extends']=['eslint:recommended']:_0xfdb0c8['extends']=['eslint:recommended'];if(_0x5e2ff3){const _0x2f9112=['.eslintrc.js',_0x564a04(0x13b),_0x564a04(0x14c),_0x564a04(0x13a)];for(const _0x595e13 of _0x2f9112){try{const _0x38f5bd=a0_0x4239b9['join'](_0x5e2ff3,_0x595e13);return await a0_0x4a1faa['access'](_0x38f5bd),this[_0x564a04(0x150)]?.[_0x564a04(0x132)](_0x564a04(0x12f),{'configFile':_0x595e13}),{};}catch{}}}return _0xfdb0c8;}['formatMessage'](_0x4171c8,_0x5d7f78){const _0x42db7e=a0_0x3d0303;return{'file':_0x5d7f78,'line':_0x4171c8['line']||0x1,'column':_0x4171c8['column']||0x1,'endLine':_0x4171c8[_0x42db7e(0x118)],'endColumn':_0x4171c8[_0x42db7e(0x11c)],'severity':_0x4171c8[_0x42db7e(0x11b)]===0x2?STATIC_ANALYSIS['SEVERITY'][_0x42db7e(0x114)]:STATIC_ANALYSIS['SEVERITY'][_0x42db7e(0x126)],'rule':_0x4171c8[_0x42db7e(0x14e)]||_0x42db7e(0x11f),'message':_0x4171c8['message'],'category':this['categorizeRule'](_0x4171c8['ruleId']),'fixable':_0x4171c8['fix']!==undefined,'source':_0x42db7e(0x11f)};}[a0_0x3d0303(0x133)](_0xaf9dd7){const _0x16734f=a0_0x3d0303;if(!_0xaf9dd7)return STATIC_ANALYSIS['CATEGORY'][_0x16734f(0x14a)];if(_0xaf9dd7['includes']('security')||_0xaf9dd7['includes']('xss')||_0xaf9dd7==='no-eval'||_0xaf9dd7==='no-implied-eval')return STATIC_ANALYSIS[_0x16734f(0x145)][_0x16734f(0x142)];if(_0xaf9dd7['includes']('performance')||_0xaf9dd7==='no-await-in-loop'||_0xaf9dd7==='prefer-promise-reject-errors')return STATIC_ANALYSIS['CATEGORY'][_0x16734f(0x130)];if(_0xaf9dd7['includes']('import')||_0xaf9dd7===_0x16734f(0x14f))return STATIC_ANALYSIS[_0x16734f(0x145)][_0x16734f(0x128)];if(_0xaf9dd7['includes']('best-practices')||_0xaf9dd7==='no-unused-vars'||_0xaf9dd7===_0x16734f(0x11a)||_0xaf9dd7===_0x16734f(0x12a))return STATIC_ANALYSIS[_0x16734f(0x145)][_0x16734f(0x131)];return STATIC_ANALYSIS[_0x16734f(0x145)][_0x16734f(0x14a)];}['describeChanges'](_0x3f3330,_0x42e8f4){const _0x105f0a=a0_0x3d0303,_0xac666e=[],_0x111e59=_0x3f3330[_0x105f0a(0x144)]('\x0a'),_0x448291=_0x42e8f4['split']('\x0a'),_0x2c128b=Math['max'](_0x111e59['length'],_0x448291['length']);for(let _0x74e6ae=0x0;_0x74e6ae<_0x2c128b;_0x74e6ae++){const _0x2c2b79=_0x111e59[_0x74e6ae]||'',_0x418cb9=_0x448291[_0x74e6ae]||'';_0x2c2b79!==_0x418cb9&&_0xac666e[_0x105f0a(0x14b)]({'line':_0x74e6ae+0x1,'type':_0x2c2b79&&_0x418cb9?'modified':_0x2c2b79?'removed':'added','original':_0x2c2b79,'fixed':_0x418cb9});}return _0xac666e;}['getSupportedExtensions'](){const _0x1f3f6a=a0_0x3d0303;return[_0x1f3f6a(0x11d),_0x1f3f6a(0x119),'.mjs','.cjs'];}[a0_0x3d0303(0x140)](){return!![];}}function a0_0x361d(){const _0x75f09f=['v0fstKLorW','z2v0rvnmAw50q29UzMLN','su1qt1ju','D2fYBMLUz0nVDw50','BM8TDMfY','otCZntK1zwPKufre','CMvHy3q','u0vwrvjjvfK','zMLSDgvY','rM91BMqGrvnmAw50ignVBMzPzW','uevsrK9stufoq0u','qKvtvf9quKfdveLdrq','zgvIDwC','y2f0zwDVCML6zvj1Bgu','yw5HBhL6zq','nJCXmMziDgHYrW','mte5mNjIrwPiza','zM9YBwf0twvZC2fNzq','C2LUz2XL','CgfYC2vYt3b0Aw9UCW','zxnSAw50lMnVBMzPzY5QCW','lMvZBgLUDhjJlMnQCW','ndyWnJyZBLvMALbY','odu0mtvkB0PWzuK','zxnSAw50oNjLy29TBwvUzgvK','zgv0zwn0','C3vWCg9YDhnbDxrVrML4','nfHICMfsyG','u0vdvvjjvfK','B3v0Chv0','C3bSAxq','q0furuDpuLK','zxjYB3i','otHgBfnjEuW','rvnmAw50igfUywX5C2LZignVBxbSzxrLza','mtjtCg9WDKK','u1rzteu','ChvZAa','lMvZBgLUDhjJlMPZB24','D2fYBG','CNvSzuLK','BM8TDw5Kzwy','Bg9Nz2vY','zML4ywjSzuvYCM9Yq291BNq','rvjst1i','mZmZteTYtLjV','mtjqEfPKqxG','zxjYB3jdB3vUDa','zw5KtgLUzq','lMPZEa','BM8TDw5YzwfJAgfIBgu','C2v2zxjPDhK','zw5Kq29SDw1U','lMPZ','BgLUDfrLEhq','zxnSAw50','BwvZC2fNzxm','rvnmAw50igfUywX5C2LZigzHAwXLza','nJe4nZGWuLbRuunJ','BwvZC2fNzq','Bgf0zxn0','odq5mdzfsvHiBKW'];a0_0x361d=function(){return _0x75f09f;};return a0_0x361d();}export default ESLintAnalyzer;
@@ -1 +1 @@
1
- function a0_0x434f(){const _0x301b1d=['y2f0zwDVCNK','tw9KDwXLuMvZB2X1DgLVBKTPBMq','v0fstKLorW','BgvUz3rO','zMLSzu5HBwu','u3vNz2vZDgLVBG','y3jLyxrLu291CMnLrMLSzq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','nZy0ntqXC0rzCxzW','rxjYB3i','zgvIDwC','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','A2LUza','tgf0zxn0','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','ChvZAa','mJm5mJKWuxf4EfDe','nJa2nZG5mgzmBxbwDq','mZbXsfrbtKK','tM9KzuPZ','vfLqrq','tw9KDwXLs2LUza','u2nYAxb0vgfYz2v0','uMvHy3q','nfjZBhvAEG','mJb3rKjVBeS','y2fUBM90igzPBMqGBw9KDwXL','BgLIlMqUDhm','nJK3otq2nfbXtKfjqG','nda4mJe5n1fWy1rIzW','y2HHCMfJDgvY','BgLUzq','C3LUDgf4lwvYCM9Y','rvnozxH0','mZu5mtK5txfjruLq','zMLSDgvY','C3rHCNq','rgLHz25VC3rPy0nHDgvNB3j5','Aw5JBhvKzxm','zM9YBwf0rgLHz25VC3rPyW','BwvZC2fNzvrLEhq','zxjYB3i','u0vwrvjjvfK','zMLSzq','u1Lovefy','BwvZC2fNzq','q0furuDpuLK','su1qt1ju','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','vw5RBM93BG','Bg9Nz2vY','rvjst1i','y29Kzq','mJiWnti2nxPIs3z5Ea','twvZC2fNzq'];a0_0x434f=function(){return _0x301b1d;};return a0_0x434f();}const a0_0x229689=a0_0x24d6;(function(_0x112900,_0x563f29){const _0x51b8b4=a0_0x24d6,_0x4eae99=_0x112900();while(!![]){try{const _0x4b6572=-parseInt(_0x51b8b4(0xb2))/0x1+parseInt(_0x51b8b4(0xa0))/0x2*(parseInt(_0x51b8b4(0xa2))/0x3)+parseInt(_0x51b8b4(0xa8))/0x4*(-parseInt(_0x51b8b4(0x8e))/0x5)+-parseInt(_0x51b8b4(0xa1))/0x6+parseInt(_0x51b8b4(0xad))/0x7+parseInt(_0x51b8b4(0xac))/0x8+parseInt(_0x51b8b4(0x98))/0x9*(-parseInt(_0x51b8b4(0xa9))/0xa);if(_0x4b6572===_0x563f29)break;else _0x4eae99['push'](_0x4eae99['shift']());}catch(_0x5545c8){_0x4eae99['push'](_0x4eae99['shift']());}}}(a0_0x434f,0xa3b7d));import a0_0x43c90a from'typescript';function a0_0x24d6(_0x325656,_0x239a9a){_0x325656=_0x325656-0x8c;const _0x434f7f=a0_0x434f();let _0x24d6fe=_0x434f7f[_0x325656];if(a0_0x24d6['qAmroS']===undefined){var _0x4fdc69=function(_0x45fad1){const _0xa8f276='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43c90a='',_0x213998='';for(let _0xfcf4de=0x0,_0x259768,_0x16d818,_0xb70b33=0x0;_0x16d818=_0x45fad1['charAt'](_0xb70b33++);~_0x16d818&&(_0x259768=_0xfcf4de%0x4?_0x259768*0x40+_0x16d818:_0x16d818,_0xfcf4de++%0x4)?_0x43c90a+=String['fromCharCode'](0xff&_0x259768>>(-0x2*_0xfcf4de&0x6)):0x0){_0x16d818=_0xa8f276['indexOf'](_0x16d818);}for(let _0x34e9d8=0x0,_0x132252=_0x43c90a['length'];_0x34e9d8<_0x132252;_0x34e9d8++){_0x213998+='%'+('00'+_0x43c90a['charCodeAt'](_0x34e9d8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x213998);};a0_0x24d6['EvHoRq']=_0x4fdc69,a0_0x24d6['fUBVsg']={},a0_0x24d6['qAmroS']=!![];}const _0x5bb5c2=_0x434f7f[0x0],_0x20bd1d=_0x325656+_0x5bb5c2,_0xc2ebcb=a0_0x24d6['fUBVsg'][_0x20bd1d];return!_0xc2ebcb?(_0x24d6fe=a0_0x24d6['EvHoRq'](_0x24d6fe),a0_0x24d6['fUBVsg'][_0x20bd1d]=_0x24d6fe):_0x24d6fe=_0xc2ebcb,_0x24d6fe;}import a0_0x213998 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0xfcf4de=null){const _0x4c2097=a0_0x24d6;this['logger']=_0xfcf4de,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x43c90a['JsxEmit'][_0x4c2097(0xa7)],'target':a0_0x43c90a['ScriptTarget']['Latest'],'module':a0_0x43c90a[_0x4c2097(0xa5)][_0x4c2097(0xb1)],'moduleResolution':a0_0x43c90a[_0x4c2097(0x91)][_0x4c2097(0xa3)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x259768,_0x16d818,_0xb70b33={}){const _0x47ce41=a0_0x24d6;try{const _0x34e9d8=[],_0x132252=a0_0x43c90a[_0x47ce41(0x96)](_0x259768,_0x16d818,a0_0x43c90a['ScriptTarget'][_0x47ce41(0x9d)],!![]),_0x35b05f=this['getSyntacticDiagnostics'](_0x132252);_0x34e9d8['push'](..._0x35b05f);const _0x526e1e=await this[_0x47ce41(0xc0)](_0x259768,_0x16d818);return _0x34e9d8[_0x47ce41(0x9f)](..._0x526e1e),this[_0x47ce41(0xc2)]?.[_0x47ce41(0x9a)](_0x47ce41(0x97),{'file':_0x259768,'totalDiagnostics':_0x34e9d8['length'],'errors':_0x34e9d8[_0x47ce41(0xb3)](_0x22168c=>_0x22168c['severity']===STATIC_ANALYSIS[_0x47ce41(0xba)][_0x47ce41(0x8c)])[_0x47ce41(0x93)],'warnings':_0x34e9d8['filter'](_0x3d6209=>_0x3d6209['severity']===STATIC_ANALYSIS['SEVERITY'][_0x47ce41(0x92)])[_0x47ce41(0x93)]}),_0x34e9d8;}catch(_0x2ce582){return this[_0x47ce41(0xc2)]?.[_0x47ce41(0xb9)]('JavaScript\x20analysis\x20failed',{'file':_0x259768,'error':_0x2ce582['message']}),[{'file':_0x259768,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x2ce582[_0x47ce41(0xbd)],'category':STATIC_ANALYSIS[_0x47ce41(0xbe)][_0x47ce41(0xbc)]}];}}[a0_0x229689(0x9b)](_0x2638d7){const _0x147b79=a0_0x229689,_0x14a609=[],_0x3d0098=_0x28c898=>{const _0x3fbdc3=a0_0x24d6;if(_0x28c898[_0x3fbdc3(0x9c)]===a0_0x43c90a['SyntaxKind'][_0x3fbdc3(0xc1)]){const _0x56e0de=_0x2638d7[_0x3fbdc3(0x9e)](_0x28c898['getStart']());_0x14a609['push']({'file':_0x2638d7['fileName'],'line':_0x56e0de['line']+0x1,'column':_0x56e0de['character']+0x1,'severity':STATIC_ANALYSIS[_0x3fbdc3(0xba)]['ERROR'],'rule':_0x3fbdc3(0xb0),'message':'Syntax\x20error','category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![]});}a0_0x43c90a['forEachChild'](_0x28c898,_0x3d0098);};_0x3d0098(_0x2638d7);if(_0x2638d7['parseDiagnostics']&&_0x2638d7['parseDiagnostics']['length']>0x0)for(const _0x4cfc6b of _0x2638d7['parseDiagnostics']){_0x14a609['push'](this[_0x147b79(0xb7)](_0x4cfc6b,_0x2638d7));}return _0x14a609;}async['getSemanticDiagnostics'](_0x5cb26b,_0x22993d){const _0x5060ce=a0_0x229689,_0x35075b=[];try{const _0xc6a5e5=a0_0x43c90a['createSourceFile'](_0x5cb26b,_0x22993d,a0_0x43c90a[_0x5060ce(0xa6)]['Latest'],!![]),_0x1bba44={'getSourceFile':_0x3dbd0b=>{if(_0x3dbd0b===_0x5cb26b)return _0xc6a5e5;return undefined;},'getDefaultLibFileName':()=>_0x5060ce(0xab),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x213998['dirname'](_0x5cb26b),'getDirectories':()=>[],'fileExists':_0x43e11c=>_0x43e11c===_0x5cb26b,'readFile':_0x3f9893=>{if(_0x3f9893===_0x5cb26b)return _0x22993d;return undefined;},'getCanonicalFileName':_0x197600=>_0x197600,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x175a5d=a0_0x43c90a['createProgram']({'rootNames':[_0x5cb26b],'options':this['compilerOptions'],'host':_0x1bba44}),_0x58c244=_0x175a5d['getSemanticDiagnostics'](_0xc6a5e5);for(const _0x4d1961 of _0x58c244){_0x35075b['push'](this['formatDiagnostic'](_0x4d1961,_0xc6a5e5));}}catch(_0x2fa013){this['logger']?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x5cb26b,'reason':_0x2fa013[_0x5060ce(0xbd)]});}return _0x35075b;}['formatDiagnostic'](_0x108958,_0x24c254){const _0xe33f86=a0_0x229689;let _0x4ee57f=0x0,_0x193914=0x0;if(_0x108958['file']&&_0x108958['start']!==undefined){const _0x99eeff=_0x108958[_0xe33f86(0xbb)]['getLineAndCharacterOfPosition'](_0x108958['start']);_0x4ee57f=_0x99eeff['line']+0x1,_0x193914=_0x99eeff[_0xe33f86(0xae)]+0x1;}else{if(_0x24c254&&_0x108958[_0xe33f86(0xb4)]!==undefined){const _0x140966=_0x24c254['getLineAndCharacterOfPosition'](_0x108958['start']);_0x4ee57f=_0x140966[_0xe33f86(0xaf)]+0x1,_0x193914=_0x140966['character']+0x1;}}const _0x505649=a0_0x43c90a['flattenDiagnosticMessageText'](_0x108958[_0xe33f86(0xb8)],'\x0a');let _0x4dd21a;switch(_0x108958[_0xe33f86(0x90)]){case a0_0x43c90a['DiagnosticCategory'][_0xe33f86(0x99)]:_0x4dd21a=STATIC_ANALYSIS['SEVERITY'][_0xe33f86(0x8c)];break;case a0_0x43c90a[_0xe33f86(0xb5)]['Warning']:_0x4dd21a=STATIC_ANALYSIS[_0xe33f86(0xba)][_0xe33f86(0x92)];break;case a0_0x43c90a[_0xe33f86(0xb5)][_0xe33f86(0x8f)]:case a0_0x43c90a['DiagnosticCategory'][_0xe33f86(0x95)]:_0x4dd21a=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x4dd21a=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)]['SYNTAX'];const _0x5aae08=_0x108958['code'];if(_0x5aae08>=0x7d0&&_0x5aae08<0xbb8)_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xa4)];else{if(_0x5aae08>=0x3e8&&_0x5aae08<0x7d0)_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xbc)];else _0x5aae08>=0x8fc&&_0x5aae08<0x960&&(_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)]['IMPORT']);}return(_0x505649['toLowerCase']()[_0xe33f86(0xb6)](_0xe33f86(0xaa))||_0x505649['toLowerCase']()['includes']('import'))&&(_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xbf)]),{'file':_0x108958['file']?.[_0xe33f86(0x94)]||_0x24c254?.['fileName']||'unknown','line':_0x4ee57f,'column':_0x193914,'severity':_0x4dd21a,'rule':'TS'+_0x5aae08,'message':_0x505649,'category':_0xf7c64,'fixable':![],'code':_0x108958[_0xe33f86(0x8d)]};}}export default JavaScriptAnalyzer;
1
+ const a0_0x1e9b09=a0_0x5ccc;(function(_0x37d8f3,_0x124492){const _0x2ce13c=a0_0x5ccc,_0x19216c=_0x37d8f3();while(!![]){try{const _0xf13213=parseInt(_0x2ce13c(0x1ef))/0x1+parseInt(_0x2ce13c(0x1f2))/0x2*(parseInt(_0x2ce13c(0x1d8))/0x3)+parseInt(_0x2ce13c(0x1f7))/0x4*(-parseInt(_0x2ce13c(0x1fc))/0x5)+-parseInt(_0x2ce13c(0x1dd))/0x6+-parseInt(_0x2ce13c(0x203))/0x7+parseInt(_0x2ce13c(0x1d4))/0x8*(parseInt(_0x2ce13c(0x202))/0x9)+-parseInt(_0x2ce13c(0x1eb))/0xa;if(_0xf13213===_0x124492)break;else _0x19216c['push'](_0x19216c['shift']());}catch(_0x483bf0){_0x19216c['push'](_0x19216c['shift']());}}}(a0_0x359b,0xe986c));import a0_0x7209c1 from'typescript';function a0_0x359b(){const _0x549e75=['sNn4rw1PDa','zMLSDgvY','C2v2zxjPDhK','BgLUzq','sMf2yvnJCMLWDcbHBMfSExnPCYbMywLSzwq','Aw5JBhvKzxm','BwvZC2fNzq','ntyZnJuWCer4rNvo','su1qt1ju','u0vwrvjjvfK','y3jLyxrLuhjVz3jHBq','mtCXntK4n1Pushfdqq','u2nYAxb0vgfYz2v0','rgLHz25VC3rPy0nHDgvNB3j5','nty2rxbeDej1','zM9YrwfJAenOAwXK','rxjYB3i','BwvZC2fNzvrLEhq','q0furuDpuLK','mtjMD0jiugK','Dg9mB3DLCKnHC2u','y2HHCMfJDgvY','ChvZAa','zxjYB3i','mJiYntaXmhzbAuL3uW','zM9YBwf0rgLHz25VC3rPyW','v0fstKLorW','Bg9Nz2vY','u1Lovefy','CgfYC2veAwfNBM9ZDgLJCW','ntrvDxLxBuC','nJm3nti1n3zJCMf6AG','zMLSzq','rvjst1i','tM9KzuPZ','mti0mtKXmKPiC2jIDq','y3jLyxrLu291CMnLrMLSzq','C3rHCNq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','mtm4mZz1uejjDM8','A2LUza','tw9KDwXLuMvZB2X1DgLVBKTPBMq','qw5HBhLZAxmGzMfPBgvKoIa','zgvIDwC','nde2mZGYnMLQEwnoAG','Dw5RBM93BG','u3vNz2vZDgLVBG','vfLqrq','y29TCgLSzxjpChrPB25Z','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','zMLSzu5HBwu'];a0_0x359b=function(){return _0x549e75;};return a0_0x359b();}import a0_0x19b316 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x5ccc(_0x3fa2e6,_0x2110c0){_0x3fa2e6=_0x3fa2e6-0x1d3;const _0x359b2b=a0_0x359b();let _0x5ccc2c=_0x359b2b[_0x3fa2e6];if(a0_0x5ccc['tviKyE']===undefined){var _0x3cb360=function(_0x4aaf3c){const _0x34b993='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7209c1='',_0x19b316='';for(let _0x3ba4c1=0x0,_0x4cdcaf,_0x1f7bcb,_0x22a1fe=0x0;_0x1f7bcb=_0x4aaf3c['charAt'](_0x22a1fe++);~_0x1f7bcb&&(_0x4cdcaf=_0x3ba4c1%0x4?_0x4cdcaf*0x40+_0x1f7bcb:_0x1f7bcb,_0x3ba4c1++%0x4)?_0x7209c1+=String['fromCharCode'](0xff&_0x4cdcaf>>(-0x2*_0x3ba4c1&0x6)):0x0){_0x1f7bcb=_0x34b993['indexOf'](_0x1f7bcb);}for(let _0x23f660=0x0,_0x464389=_0x7209c1['length'];_0x23f660<_0x464389;_0x23f660++){_0x19b316+='%'+('00'+_0x7209c1['charCodeAt'](_0x23f660)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19b316);};a0_0x5ccc['PkiukS']=_0x3cb360,a0_0x5ccc['uCXEbo']={},a0_0x5ccc['tviKyE']=!![];}const _0x413966=_0x359b2b[0x0],_0x1c838b=_0x3fa2e6+_0x413966,_0x43f4e5=a0_0x5ccc['uCXEbo'][_0x1c838b];return!_0x43f4e5?(_0x5ccc2c=a0_0x5ccc['PkiukS'](_0x5ccc2c),a0_0x5ccc['uCXEbo'][_0x1c838b]=_0x5ccc2c):_0x5ccc2c=_0x43f4e5,_0x5ccc2c;}class JavaScriptAnalyzer{constructor(_0x3ba4c1=null){const _0x169b11=a0_0x5ccc;this['logger']=_0x3ba4c1,this[_0x169b11(0x1e1)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x7209c1[_0x169b11(0x1e4)]['React'],'target':a0_0x7209c1[_0x169b11(0x1f0)]['Latest'],'module':a0_0x7209c1['ModuleKind']['ESNext'],'moduleResolution':a0_0x7209c1[_0x169b11(0x1da)][_0x169b11(0x1d3)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x4cdcaf,_0x1f7bcb,_0x22a1fe={}){const _0x2df72c=a0_0x5ccc;try{const _0x23f660=[],_0x464389=a0_0x7209c1[_0x2df72c(0x1d5)](_0x4cdcaf,_0x1f7bcb,a0_0x7209c1[_0x2df72c(0x1f0)]['Latest'],!![]),_0x4ae5d8=this['getSyntacticDiagnostics'](_0x464389);_0x23f660[_0x2df72c(0x1fa)](..._0x4ae5d8);const _0x3723eb=await this['getSemanticDiagnostics'](_0x4cdcaf,_0x1f7bcb);return _0x23f660[_0x2df72c(0x1fa)](..._0x3723eb),this['logger']?.[_0x2df72c(0x1dc)](_0x2df72c(0x1d7),{'file':_0x4cdcaf,'totalDiagnostics':_0x23f660['length'],'errors':_0x23f660[_0x2df72c(0x1e5)](_0x33cca2=>_0x33cca2[_0x2df72c(0x1e6)]===STATIC_ANALYSIS[_0x2df72c(0x1ed)][_0x2df72c(0x205)])['length'],'warnings':_0x23f660[_0x2df72c(0x1e5)](_0x2b2d00=>_0x2b2d00['severity']===STATIC_ANALYSIS['SEVERITY'][_0x2df72c(0x1fe)])['length']}),_0x23f660;}catch(_0x336880){return this[_0x2df72c(0x1ff)]?.[_0x2df72c(0x1fb)](_0x2df72c(0x1e8),{'file':_0x4cdcaf,'error':_0x336880[_0x2df72c(0x1ea)]}),[{'file':_0x4cdcaf,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x2df72c(0x1ed)][_0x2df72c(0x205)],'rule':'analyzer-error','message':_0x2df72c(0x1db)+_0x336880['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}[a0_0x1e9b09(0x1e2)](_0x5459b6){const _0x374a8a=a0_0x1e9b09,_0x4f0b79=[],_0x384fc8=_0x330457=>{const _0x21bd74=a0_0x5ccc;if(_0x330457[_0x21bd74(0x1d9)]===a0_0x7209c1['SyntaxKind']['Unknown']){const _0x5f00b1=_0x5459b6['getLineAndCharacterOfPosition'](_0x330457['getStart']());_0x4f0b79[_0x21bd74(0x1fa)]({'file':_0x5459b6[_0x21bd74(0x1e3)],'line':_0x5f00b1[_0x21bd74(0x1e7)]+0x1,'column':_0x5f00b1['character']+0x1,'severity':STATIC_ANALYSIS[_0x21bd74(0x1ed)]['ERROR'],'rule':'syntax-error','message':'Syntax\x20error','category':STATIC_ANALYSIS[_0x21bd74(0x1f6)][_0x21bd74(0x200)],'fixable':![]});}a0_0x7209c1[_0x21bd74(0x1f3)](_0x330457,_0x384fc8);};_0x384fc8(_0x5459b6);if(_0x5459b6['parseDiagnostics']&&_0x5459b6[_0x374a8a(0x201)]['length']>0x0)for(const _0xb5d7a5 of _0x5459b6[_0x374a8a(0x201)]){_0x4f0b79['push'](this[_0x374a8a(0x1fd)](_0xb5d7a5,_0x5459b6));}return _0x4f0b79;}async['getSemanticDiagnostics'](_0x319269,_0x34096a){const _0x24727f=a0_0x1e9b09,_0x57bf9c=[];try{const _0xd58c21=a0_0x7209c1['createSourceFile'](_0x319269,_0x34096a,a0_0x7209c1[_0x24727f(0x1f0)]['Latest'],!![]),_0x3f4b13={'getSourceFile':_0x10a1f0=>{if(_0x10a1f0===_0x319269)return _0xd58c21;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x19b316['dirname'](_0x319269),'getDirectories':()=>[],'fileExists':_0xc5c5c9=>_0xc5c5c9===_0x319269,'readFile':_0x2c8435=>{if(_0x2c8435===_0x319269)return _0x34096a;return undefined;},'getCanonicalFileName':_0x4da3b7=>_0x4da3b7,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x178310=a0_0x7209c1[_0x24727f(0x1ee)]({'rootNames':[_0x319269],'options':this[_0x24727f(0x1e1)],'host':_0x3f4b13}),_0x32e014=_0x178310['getSemanticDiagnostics'](_0xd58c21);for(const _0x129faf of _0x32e014){_0x57bf9c[_0x24727f(0x1fa)](this[_0x24727f(0x1fd)](_0x129faf,_0xd58c21));}}catch(_0x197218){this['logger']?.[_0x24727f(0x1dc)]('Semantic\x20analysis\x20skipped',{'file':_0x319269,'reason':_0x197218[_0x24727f(0x1ea)]});}return _0x57bf9c;}[a0_0x1e9b09(0x1fd)](_0x4fd048,_0x3e536d){const _0x3721ce=a0_0x1e9b09;let _0x244301=0x0,_0x51b041=0x0;if(_0x4fd048['file']&&_0x4fd048[_0x3721ce(0x1d6)]!==undefined){const _0x15fb1c=_0x4fd048[_0x3721ce(0x204)]['getLineAndCharacterOfPosition'](_0x4fd048['start']);_0x244301=_0x15fb1c['line']+0x1,_0x51b041=_0x15fb1c[_0x3721ce(0x1f9)]+0x1;}else{if(_0x3e536d&&_0x4fd048[_0x3721ce(0x1d6)]!==undefined){const _0x635d17=_0x3e536d['getLineAndCharacterOfPosition'](_0x4fd048[_0x3721ce(0x1d6)]);_0x244301=_0x635d17[_0x3721ce(0x1e7)]+0x1,_0x51b041=_0x635d17['character']+0x1;}}const _0x1145b7=a0_0x7209c1['flattenDiagnosticMessageText'](_0x4fd048[_0x3721ce(0x1f5)],'\x0a');let _0x460211;switch(_0x4fd048['category']){case a0_0x7209c1['DiagnosticCategory'][_0x3721ce(0x1f4)]:_0x460211=STATIC_ANALYSIS[_0x3721ce(0x1ed)][_0x3721ce(0x205)];break;case a0_0x7209c1[_0x3721ce(0x1f1)]['Warning']:_0x460211=STATIC_ANALYSIS[_0x3721ce(0x1ed)]['WARNING'];break;case a0_0x7209c1['DiagnosticCategory']['Message']:case a0_0x7209c1[_0x3721ce(0x1f1)][_0x3721ce(0x1df)]:_0x460211=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x460211=STATIC_ANALYSIS[_0x3721ce(0x1ed)]['ERROR'];}let _0x22c152=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0xf0dc50=_0x4fd048['code'];if(_0xf0dc50>=0x7d0&&_0xf0dc50<0xbb8)_0x22c152=STATIC_ANALYSIS['CATEGORY'][_0x3721ce(0x1e0)];else{if(_0xf0dc50>=0x3e8&&_0xf0dc50<0x7d0)_0x22c152=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0xf0dc50>=0x8fc&&_0xf0dc50<0x960&&(_0x22c152=STATIC_ANALYSIS['CATEGORY'][_0x3721ce(0x1ec)]);}return(_0x1145b7[_0x3721ce(0x1f8)]()['includes']('cannot\x20find\x20module')||_0x1145b7['toLowerCase']()[_0x3721ce(0x1e9)]('import'))&&(_0x22c152=STATIC_ANALYSIS[_0x3721ce(0x1f6)]['IMPORT']),{'file':_0x4fd048[_0x3721ce(0x204)]?.[_0x3721ce(0x1e3)]||_0x3e536d?.['fileName']||_0x3721ce(0x1de),'line':_0x244301,'column':_0x51b041,'severity':_0x460211,'rule':'TS'+_0xf0dc50,'message':_0x1145b7,'category':_0x22c152,'fixable':![],'code':_0x4fd048['code']};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x43d8ba=a0_0x1f4a;(function(_0x615fa4,_0x249b2d){const _0xf6489e=a0_0x1f4a,_0x3824b8=_0x615fa4();while(!![]){try{const _0x5ce900=-parseInt(_0xf6489e(0x1d3))/0x1*(-parseInt(_0xf6489e(0x1b8))/0x2)+-parseInt(_0xf6489e(0x1b9))/0x3*(parseInt(_0xf6489e(0x1b1))/0x4)+-parseInt(_0xf6489e(0x1bb))/0x5+parseInt(_0xf6489e(0x1b6))/0x6+-parseInt(_0xf6489e(0x1b0))/0x7*(parseInt(_0xf6489e(0x1c1))/0x8)+parseInt(_0xf6489e(0x1cb))/0x9+parseInt(_0xf6489e(0x1c8))/0xa;if(_0x5ce900===_0x249b2d)break;else _0x3824b8['push'](_0x3824b8['shift']());}catch(_0x56a8d8){_0x3824b8['push'](_0x3824b8['shift']());}}}(a0_0x4161,0xa2c91));import a0_0x5df10a from'prettier';import a0_0x48b1ec from'path';import a0_0x145dee from'fs/promises';class PrettierFormatter{constructor(_0x513c26=null){const _0x2bfab9=a0_0x1f4a;this[_0x2bfab9(0x1dc)]=_0x513c26,this['configCache']=new Map();}async[a0_0x43d8ba(0x1cc)](_0x52739d,_0x359b79,_0x22a074={}){const _0x1ba105=a0_0x43d8ba;try{const _0x2d96de=await this[_0x1ba105(0x1ce)](_0x52739d,_0x22a074['workingDir']),_0x4d66e1=this['getParser'](_0x52739d),_0x2e3d9c=await a0_0x5df10a[_0x1ba105(0x1cc)](_0x359b79,{..._0x2d96de,'filepath':_0x52739d,'parser':_0x4d66e1}),_0x434a90=_0x2e3d9c!==_0x359b79;return{'formatted':_0x434a90,'content':_0x2e3d9c,'original':_0x359b79,'changes':_0x434a90?this['describeChanges'](_0x359b79,_0x2e3d9c):[],'linesChanged':_0x434a90?this[_0x1ba105(0x1c4)](_0x359b79,_0x2e3d9c):0x0};}catch(_0x3ff21d){this['logger']?.[_0x1ba105(0x1d5)]('Prettier\x20formatting\x20failed',{'file':_0x52739d,'error':_0x3ff21d[_0x1ba105(0x1c3)]});throw new Error(_0x1ba105(0x1db)+_0x3ff21d[_0x1ba105(0x1c3)]);}}async['check'](_0x325789,_0x1353ae,_0x1dcf60={}){const _0x17d3c2=a0_0x43d8ba;try{const _0x595b69=await this[_0x17d3c2(0x1ce)](_0x325789,_0x1dcf60['workingDir']),_0xf2b5bb=this['getParser'](_0x325789),_0x153c17=await a0_0x5df10a[_0x17d3c2(0x1cc)](_0x1353ae,{..._0x595b69,'filepath':_0x325789,'parser':_0xf2b5bb});return _0x153c17!==_0x1353ae;}catch(_0x4de38c){return this['logger']?.[_0x17d3c2(0x1c5)]('Prettier\x20check\x20failed',{'file':_0x325789,'error':_0x4de38c['message']}),![];}}async['getPrettierConfig'](_0x56468c,_0x1e6ca8){const _0x29a6d9=a0_0x43d8ba,_0xdda85a=_0x1e6ca8||a0_0x48b1ec['dirname'](_0x56468c);if(this[_0x29a6d9(0x1d0)]['has'](_0xdda85a))return this['configCache']['get'](_0xdda85a);let _0x3c0d26={};if(_0x1e6ca8)try{const _0x3da3b8=await a0_0x5df10a['resolveConfig'](_0x56468c,{'config':_0x1e6ca8});_0x3da3b8&&(this['logger']?.['debug'](_0x29a6d9(0x1bf),{'workingDir':_0x1e6ca8}),_0x3c0d26=_0x3da3b8);}catch(_0x3a2a49){this[_0x29a6d9(0x1dc)]?.[_0x29a6d9(0x1d4)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':_0x29a6d9(0x1b7),'endOfLine':'lf',..._0x3c0d26};return this['configCache']['set'](_0xdda85a,defaultConfig),defaultConfig;}[a0_0x43d8ba(0x1d6)](_0x12f93c){const _0x408e51=a0_0x43d8ba,_0x5eac32=a0_0x48b1ec['extname'](_0x12f93c)['toLowerCase'](),_0x53d720={'.js':_0x408e51(0x1c2),'.jsx':_0x408e51(0x1c2),'.mjs':'babel','.cjs':_0x408e51(0x1c2),'.ts':_0x408e51(0x1bd),'.tsx':'typescript','.json':_0x408e51(0x1cd),'.json5':_0x408e51(0x1be),'.css':_0x408e51(0x1d7),'.scss':_0x408e51(0x1af),'.less':'less','.html':'html','.vue':'vue','.md':_0x408e51(0x1d1),'.yaml':'yaml','.yml':_0x408e51(0x1bc)};return _0x53d720[_0x5eac32]||_0x408e51(0x1c2);}[a0_0x43d8ba(0x1c7)](_0x3b7fc5,_0x843b0b){const _0x38dbed=a0_0x43d8ba,_0xf3fb0f=[],_0x2d863b=_0x3b7fc5[_0x38dbed(0x1d8)]('\x0a'),_0x2ce3b5=_0x843b0b[_0x38dbed(0x1d8)]('\x0a'),_0x2a5001=Math['max'](_0x2d863b[_0x38dbed(0x1cf)],_0x2ce3b5['length']);for(let _0x267c3a=0x0;_0x267c3a<_0x2a5001;_0x267c3a++){const _0x5f234c=_0x2d863b[_0x267c3a],_0x16738d=_0x2ce3b5[_0x267c3a];_0x5f234c!==_0x16738d&&_0xf3fb0f[_0x38dbed(0x1ca)]({'line':_0x267c3a+0x1,'type':_0x5f234c!==undefined&&_0x16738d!==undefined?_0x38dbed(0x1c9):_0x5f234c!==undefined?'removed':_0x38dbed(0x1b2),'original':_0x5f234c||'','formatted':_0x16738d||''});}return _0xf3fb0f;}[a0_0x43d8ba(0x1c4)](_0x4d1139,_0x4fbaa4){const _0x3eea8d=a0_0x43d8ba,_0x23e1d7=_0x4d1139[_0x3eea8d(0x1d8)]('\x0a'),_0x5be446=_0x4fbaa4['split']('\x0a');let _0xb98b89=0x0;const _0x42591d=Math['max'](_0x23e1d7[_0x3eea8d(0x1cf)],_0x5be446[_0x3eea8d(0x1cf)]);for(let _0x524d35=0x0;_0x524d35<_0x42591d;_0x524d35++){_0x23e1d7[_0x524d35]!==_0x5be446[_0x524d35]&&_0xb98b89++;}return _0xb98b89;}[a0_0x43d8ba(0x1ba)](){const _0x4bddc1=a0_0x43d8ba;return[_0x4bddc1(0x1c0),'.jsx','.mjs','.cjs','.ts',_0x4bddc1(0x1b4),'.json',_0x4bddc1(0x1c6),_0x4bddc1(0x1d2),_0x4bddc1(0x1b3),'.less','.html','.vue',_0x4bddc1(0x1da),'.yaml','.yml'];}[a0_0x43d8ba(0x1d9)](_0x271865){const _0x4a8d50=a0_0x43d8ba,_0x226180=a0_0x48b1ec['extname'](_0x271865)[_0x4a8d50(0x1b5)]();return this['getSupportedExtensions']()['includes'](_0x226180);}}function a0_0x1f4a(_0x6e57e6,_0x3fb7bc){_0x6e57e6=_0x6e57e6-0x1af;const _0x4161b8=a0_0x4161();let _0x1f4a04=_0x4161b8[_0x6e57e6];if(a0_0x1f4a['eKispp']===undefined){var _0x53b595=function(_0x42356e){const _0x2fbc44='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5df10a='',_0x48b1ec='';for(let _0x145dee=0x0,_0x513c26,_0x52739d,_0x359b79=0x0;_0x52739d=_0x42356e['charAt'](_0x359b79++);~_0x52739d&&(_0x513c26=_0x145dee%0x4?_0x513c26*0x40+_0x52739d:_0x52739d,_0x145dee++%0x4)?_0x5df10a+=String['fromCharCode'](0xff&_0x513c26>>(-0x2*_0x145dee&0x6)):0x0){_0x52739d=_0x2fbc44['indexOf'](_0x52739d);}for(let _0x22a074=0x0,_0x2d96de=_0x5df10a['length'];_0x22a074<_0x2d96de;_0x22a074++){_0x48b1ec+='%'+('00'+_0x5df10a['charCodeAt'](_0x22a074)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48b1ec);};a0_0x1f4a['ZnEXBE']=_0x53b595,a0_0x1f4a['RGspHC']={},a0_0x1f4a['eKispp']=!![];}const _0x517746=_0x4161b8[0x0],_0x5ae733=_0x6e57e6+_0x517746,_0x55f9f9=a0_0x1f4a['RGspHC'][_0x5ae733];return!_0x55f9f9?(_0x1f4a04=a0_0x1f4a['ZnEXBE'](_0x1f4a04),a0_0x1f4a['RGspHC'][_0x5ae733]=_0x1f4a04):_0x1f4a04=_0x55f9f9,_0x1f4a04;}export default PrettierFormatter;function a0_0x4161(){const _0x468e80=['lNrZEa','Dg9mB3DLCKnHC2u','nZq2mdCWmefszNHUqW','yxzVAwq','otC2mNjYweTotW','mJu4oty2oufnELHrBW','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','ntuZoduWnuzxtfPorq','EwfTBa','DhLWzxnJCMLWDa','ANnVBJu','rM91BMqGuhjLDhrPzxiGy29UzMLN','lMPZ','off2wKHhyG','yMfIzwW','BwvZC2fNzq','y291BNrdAgfUz2vKtgLUzxm','D2fYBG','lMPZB241','zgvZy3jPyMvdAgfUz2vZ','mtaWmZaWmJbAD1zetuO','Bw9KAwzPzwq','ChvZAa','nJi4mZe4ogfhrxDwvq','zM9YBwf0','ANnVBG','z2v0uhjLDhrPzxjdB25MAwC','BgvUz3rO','y29UzMLNq2fJAgu','BwfYA2rVD24','lMnZCW','mtqZy21TyMTm','zgvIDwC','zxjYB3i','z2v0ugfYC2vY','y3nZ','C3bSAxq','AxntDxbWB3j0zwq','lM1K','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','Bg9Nz2vY','C2nZCW','nZaZndeXoe5mu0XYsW','nhHRDxrbsW','ywrKzwq','lNnJC3m'];a0_0x4161=function(){return _0x468e80;};return a0_0x4161();}
1
+ const a0_0x436aa7=a0_0x3b37;(function(_0x2c54f5,_0x431947){const _0x2dcbd5=a0_0x3b37,_0x5ae496=_0x2c54f5();while(!![]){try{const _0x4cfe5b=parseInt(_0x2dcbd5(0x1e9))/0x1*(-parseInt(_0x2dcbd5(0x20c))/0x2)+parseInt(_0x2dcbd5(0x1e7))/0x3*(parseInt(_0x2dcbd5(0x1f2))/0x4)+-parseInt(_0x2dcbd5(0x1f0))/0x5*(parseInt(_0x2dcbd5(0x1f7))/0x6)+parseInt(_0x2dcbd5(0x203))/0x7*(parseInt(_0x2dcbd5(0x1ee))/0x8)+parseInt(_0x2dcbd5(0x1e1))/0x9*(parseInt(_0x2dcbd5(0x1dc))/0xa)+-parseInt(_0x2dcbd5(0x1e4))/0xb+-parseInt(_0x2dcbd5(0x1e8))/0xc*(-parseInt(_0x2dcbd5(0x1fb))/0xd);if(_0x4cfe5b===_0x431947)break;else _0x5ae496['push'](_0x5ae496['shift']());}catch(_0x979012){_0x5ae496['push'](_0x5ae496['shift']());}}}(a0_0x35da,0xc7530));import a0_0x4dfb15 from'prettier';import a0_0x1db9ed from'path';import a0_0x5abeda from'fs/promises';function a0_0x35da(){const _0x2a5849=['zxjYB3i','yMfIzwW','mteXnJu2odDJrfD2Aeu','BgvZCW','lNz1zq','y2HLy2S','lMH0BwW','Dg9mB3DLCKnHC2u','C2nZCW','lMXLC3m','mtaYodi1mwnjqxvQDG','DhLWzxnJCMLWDa','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','BwvZC2fNzq','zgLYBMfTzq','C3bSAxq','zgvZy3jPyMvdAgfUz2vZ','Bw9KAwzPzwq','CMvZB2X2zunVBMzPzW','mZrND2DSsKW','C2v0','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','lM1K','AhrTBa','y29UzMLNq2fJAgu','mJeWodmZmev2DgDpza','Bg9Nz2vY','lNnJC3m','lMPZ','z2v0ugfYC2vY','oxLxr2HLtW','lMPZEa','zgvIDwC','mJaZnZKXnwLhvgjlAW','zxH0BMfTzq','lNrZEa','nJm0mJa5ugjzv3ne','mtjKExj4vg8','nJe1odbOwLLbvwq','lMPZB241','y291BNrdAgfUz2vKtgLUzxm','EwfTBa','lMnQCW','mZjJwhn6t2W','DNvL','mZmYodGXmejbze1zzq','Bwf4','mJbPBe5WExK','rM91BMqGuhjLDhrPzxiGy29UzMLN','D29YA2LUz0rPCG','zM9YBwf0','lMnZCW','nLb1uujYqq','AgfZ'];a0_0x35da=function(){return _0x2a5849;};return a0_0x35da();}function a0_0x3b37(_0x4501f9,_0x5a9de0){_0x4501f9=_0x4501f9-0x1dc;const _0x35dabf=a0_0x35da();let _0x3b379d=_0x35dabf[_0x4501f9];if(a0_0x3b37['IGKYCw']===undefined){var _0x125a77=function(_0x4e82a4){const _0x3c33db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4dfb15='',_0x1db9ed='';for(let _0x5abeda=0x0,_0x1db358,_0x2ef572,_0x741fb=0x0;_0x2ef572=_0x4e82a4['charAt'](_0x741fb++);~_0x2ef572&&(_0x1db358=_0x5abeda%0x4?_0x1db358*0x40+_0x2ef572:_0x2ef572,_0x5abeda++%0x4)?_0x4dfb15+=String['fromCharCode'](0xff&_0x1db358>>(-0x2*_0x5abeda&0x6)):0x0){_0x2ef572=_0x3c33db['indexOf'](_0x2ef572);}for(let _0x356687=0x0,_0x2327a2=_0x4dfb15['length'];_0x356687<_0x2327a2;_0x356687++){_0x1db9ed+='%'+('00'+_0x4dfb15['charCodeAt'](_0x356687)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1db9ed);};a0_0x3b37['kQqwOK']=_0x125a77,a0_0x3b37['MDweYh']={},a0_0x3b37['IGKYCw']=!![];}const _0x13abc6=_0x35dabf[0x0],_0x392c66=_0x4501f9+_0x13abc6,_0x33ee11=a0_0x3b37['MDweYh'][_0x392c66];return!_0x33ee11?(_0x3b379d=a0_0x3b37['kQqwOK'](_0x3b379d),a0_0x3b37['MDweYh'][_0x392c66]=_0x3b379d):_0x3b379d=_0x33ee11,_0x3b379d;}class PrettierFormatter{constructor(_0x1db358=null){this['logger']=_0x1db358,this['configCache']=new Map();}async[a0_0x436aa7(0x1f5)](_0x2ef572,_0x741fb,_0x356687={}){const _0x10fbc1=a0_0x436aa7;try{const _0x2327a2=await this['getPrettierConfig'](_0x2ef572,_0x356687[_0x10fbc1(0x1f4)]),_0x4516eb=this[_0x10fbc1(0x1e0)](_0x2ef572),_0x4724a4=await a0_0x4dfb15['format'](_0x741fb,{..._0x2327a2,'filepath':_0x2ef572,'parser':_0x4516eb}),_0x3abf67=_0x4724a4!==_0x741fb;return{'formatted':_0x3abf67,'content':_0x4724a4,'original':_0x741fb,'changes':_0x3abf67?this[_0x10fbc1(0x209)](_0x741fb,_0x4724a4):[],'linesChanged':_0x3abf67?this['countChangedLines'](_0x741fb,_0x4724a4):0x0};}catch(_0x4db2c6){this[_0x10fbc1(0x1dd)]?.[_0x10fbc1(0x1f9)]('Prettier\x20formatting\x20failed',{'file':_0x2ef572,'error':_0x4db2c6['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x4db2c6[_0x10fbc1(0x206)]);}}async[a0_0x436aa7(0x1fe)](_0x31df35,_0x4e8e97,_0x3fd238={}){const _0x7fc53a=a0_0x436aa7;try{const _0x3fa004=await this['getPrettierConfig'](_0x31df35,_0x3fd238[_0x7fc53a(0x1f4)]),_0x93ff29=this[_0x7fc53a(0x1e0)](_0x31df35),_0x6b7270=await a0_0x4dfb15['format'](_0x4e8e97,{..._0x3fa004,'filepath':_0x31df35,'parser':_0x93ff29});return _0x6b7270!==_0x4e8e97;}catch(_0x553b07){return this['logger']?.['warn'](_0x7fc53a(0x205),{'file':_0x31df35,'error':_0x553b07[_0x7fc53a(0x206)]}),![];}}async['getPrettierConfig'](_0x39b6c9,_0x38b08c){const _0x176efb=a0_0x436aa7,_0x1cf475=_0x38b08c||a0_0x1db9ed[_0x176efb(0x207)](_0x39b6c9);if(this['configCache'][_0x176efb(0x1f8)](_0x1cf475))return this['configCache']['get'](_0x1cf475);let _0x18f03f={};if(_0x38b08c)try{const _0x5491de=await a0_0x4dfb15[_0x176efb(0x20b)](_0x39b6c9,{'config':_0x38b08c});_0x5491de&&(this[_0x176efb(0x1dd)]?.['debug'](_0x176efb(0x1f3),{'workingDir':_0x38b08c}),_0x18f03f=_0x5491de);}catch(_0x4e48ad){this['logger']?.[_0x176efb(0x1e3)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x18f03f};return this[_0x176efb(0x211)][_0x176efb(0x20d)](_0x1cf475,defaultConfig),defaultConfig;}[a0_0x436aa7(0x1e0)](_0x38a40d){const _0x268dcd=a0_0x436aa7,_0x4e02ed=a0_0x1db9ed['extname'](_0x38a40d)[_0x268dcd(0x200)](),_0x1a99c3={'.js':_0x268dcd(0x1fa),'.jsx':'babel','.mjs':'babel','.cjs':_0x268dcd(0x1fa),'.ts':_0x268dcd(0x204),'.tsx':'typescript','.json':'json','.json5':'json5','.css':'css','.scss':_0x268dcd(0x201),'.less':_0x268dcd(0x1fc),'.html':_0x268dcd(0x210),'.vue':_0x268dcd(0x1ef),'.md':'markdown','.yaml':_0x268dcd(0x1ec),'.yml':'yaml'};return _0x1a99c3[_0x4e02ed]||'babel';}[a0_0x436aa7(0x209)](_0x3d3057,_0x51d533){const _0xd1614a=a0_0x436aa7,_0x310a60=[],_0x364f9f=_0x3d3057['split']('\x0a'),_0x164951=_0x51d533['split']('\x0a'),_0xde917b=Math[_0xd1614a(0x1f1)](_0x364f9f['length'],_0x164951['length']);for(let _0x125888=0x0;_0x125888<_0xde917b;_0x125888++){const _0x1cd3d5=_0x364f9f[_0x125888],_0x38b8d9=_0x164951[_0x125888];_0x1cd3d5!==_0x38b8d9&&_0x310a60['push']({'line':_0x125888+0x1,'type':_0x1cd3d5!==undefined&&_0x38b8d9!==undefined?_0xd1614a(0x20a):_0x1cd3d5!==undefined?'removed':'added','original':_0x1cd3d5||'','formatted':_0x38b8d9||''});}return _0x310a60;}[a0_0x436aa7(0x1eb)](_0x2aec6b,_0x58b628){const _0x479031=a0_0x436aa7,_0x27ded8=_0x2aec6b['split']('\x0a'),_0x388ded=_0x58b628[_0x479031(0x208)]('\x0a');let _0x3b22f3=0x0;const _0x3e359f=Math[_0x479031(0x1f1)](_0x27ded8['length'],_0x388ded['length']);for(let _0x3efb5a=0x0;_0x3efb5a<_0x3e359f;_0x3efb5a++){_0x27ded8[_0x3efb5a]!==_0x388ded[_0x3efb5a]&&_0x3b22f3++;}return _0x3b22f3;}['getSupportedExtensions'](){const _0x2965de=a0_0x436aa7;return[_0x2965de(0x1df),_0x2965de(0x1e2),'.mjs',_0x2965de(0x1ed),'.ts',_0x2965de(0x1e6),'.json',_0x2965de(0x1ea),_0x2965de(0x1f6),_0x2965de(0x1de),_0x2965de(0x202),_0x2965de(0x1ff),_0x2965de(0x1fd),_0x2965de(0x20f),'.yaml','.yml'];}['isSupported'](_0x226205){const _0x3e3a1d=a0_0x436aa7,_0x5a3a8d=a0_0x1db9ed[_0x3e3a1d(0x1e5)](_0x226205)['toLowerCase']();return this[_0x3e3a1d(0x20e)]()['includes'](_0x5a3a8d);}}export default PrettierFormatter;
@@ -1 +1 @@
1
- const a0_0x2166ee=a0_0x5e5a;(function(_0x384f6d,_0x309f3b){const _0x9b775=a0_0x5e5a,_0x3769cf=_0x384f6d();while(!![]){try{const _0x452e24=parseInt(_0x9b775(0x1ad))/0x1*(parseInt(_0x9b775(0x1aa))/0x2)+parseInt(_0x9b775(0x1b9))/0x3*(-parseInt(_0x9b775(0x190))/0x4)+-parseInt(_0x9b775(0x1bc))/0x5*(parseInt(_0x9b775(0x1b2))/0x6)+parseInt(_0x9b775(0x19d))/0x7+parseInt(_0x9b775(0x1a4))/0x8*(parseInt(_0x9b775(0x18f))/0x9)+parseInt(_0x9b775(0x19a))/0xa+-parseInt(_0x9b775(0x192))/0xb;if(_0x452e24===_0x309f3b)break;else _0x3769cf['push'](_0x3769cf['shift']());}catch(_0x1136ab){_0x3769cf['push'](_0x3769cf['shift']());}}}(a0_0x4653,0xae8a7));import{spawn}from'child_process';function a0_0x4653(){const _0x47fbba=['DgfYz2v0xW','u0vwrvjjvfK','yw5HBhL6zq','ChvZAa','DhjPBq','mtmWnde0mJbMEuHcrwS','DxrMltG','u1Lovefy','nZmYntKYC0LetMT6','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','lNb5','y29SDw1U','AM9PBG','zgf0yq','C3rKB3v0','mZa2nfD6BuDhyW','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','Bg9Nz2vY','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','BgvUz3rO','Dgv4Da','nZi5ngDXsKffsW','CNvUq29TBwfUza','ChL0Ag9U','mJm5sefNCxvY','C2v2zxjPDhK','BwvZC2fNzq','u3LUDgf4rxjYB3i','D3jPDgvgAwXL','mJiYCLnpA2PX','zxjYB3jZ','C3vJy2vZCW','ls12zxjZAw9U','rvjst1i','zxjYB3i','ChL0Ag9Uq29TBwfUza','ndCYmJaZEMDSDfL4','y2XVC2u','Dw5SAw5R','nZqWmJbRvw1lDNq','ChL0Ag9UlwfZDa','Dg9tDhjPBMC','A2LSBa','q29TBwfUzcb0Aw1LB3v0','C3rKzxjY','C3LUDgf4x2nOzwnRxW','C3vWCg9YDhnbDxrVrML4','mJK1mJbHshvTtLO','mJbyywTIzNe','BM93','mtyZnty5odLKB2TwwKu','BgLUzq','z2v0uhL0Ag9Uq29TBwfUza'];a0_0x4653=function(){return _0x47fbba;};return a0_0x4653();}import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x5e5a(_0x536bd2,_0x259808){_0x536bd2=_0x536bd2-0x18d;const _0x4653ba=a0_0x4653();let _0x5e5a61=_0x4653ba[_0x536bd2];if(a0_0x5e5a['UWjCmh']===undefined){var _0x354e19=function(_0x807898){const _0x3e6229='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b5d71='',_0x5878e4='';for(let _0x507708=0x0,_0x388062,_0x4cc464,_0x3d2098=0x0;_0x4cc464=_0x807898['charAt'](_0x3d2098++);~_0x4cc464&&(_0x388062=_0x507708%0x4?_0x388062*0x40+_0x4cc464:_0x4cc464,_0x507708++%0x4)?_0x4b5d71+=String['fromCharCode'](0xff&_0x388062>>(-0x2*_0x507708&0x6)):0x0){_0x4cc464=_0x3e6229['indexOf'](_0x4cc464);}for(let _0x12ffb6=0x0,_0x4c8cba=_0x4b5d71['length'];_0x12ffb6<_0x4c8cba;_0x12ffb6++){_0x5878e4+='%'+('00'+_0x4b5d71['charCodeAt'](_0x12ffb6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5878e4);};a0_0x5e5a['NNVeUd']=_0x354e19,a0_0x5e5a['ekEaok']={},a0_0x5e5a['UWjCmh']=!![];}const _0x4594ff=_0x4653ba[0x0],_0x286c2c=_0x536bd2+_0x4594ff,_0xfd9713=a0_0x5e5a['ekEaok'][_0x286c2c];return!_0xfd9713?(_0x5e5a61=a0_0x5e5a['NNVeUd'](_0x5e5a61),a0_0x5e5a['ekEaok'][_0x286c2c]=_0x5e5a61):_0x5e5a61=_0xfd9713,_0x5e5a61;}import a0_0x4b5d71 from'fs/promises';import a0_0x5878e4 from'path';import a0_0x507708 from'os';class PythonAnalyzer{constructor(_0x388062=null){const _0x3ef3e6=a0_0x5e5a;this['logger']=_0x388062,this[_0x3ef3e6(0x1b8)]=null;}async[a0_0x2166ee(0x197)](_0x4cc464,_0x3d2098,_0x12ffb6={}){const _0x47242b=a0_0x2166ee;try{const _0x4c8cba=[],_0x564fb=await this[_0x47242b(0x194)]();if(!_0x564fb)return this[_0x47242b(0x1a6)]?.['warn']('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x16dd36=await this['checkSyntax'](_0x4cc464,_0x3d2098,_0x564fb);return _0x4c8cba[_0x47242b(0x198)](..._0x16dd36),this['logger']?.['debug'](_0x47242b(0x1a5),{'file':_0x4cc464,'totalDiagnostics':_0x4c8cba[_0x47242b(0x1a8)],'errors':_0x4c8cba['filter'](_0x529147=>_0x529147[_0x47242b(0x1ae)]===STATIC_ANALYSIS[_0x47242b(0x196)]['ERROR'])['length'],'warnings':_0x4c8cba['filter'](_0x20ca37=>_0x20ca37['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x4c8cba;}catch(_0x4d889d){return this[_0x47242b(0x1a6)]?.[_0x47242b(0x1b7)]('Python\x20analysis\x20failed',{'file':_0x4cc464,'error':_0x4d889d['message']}),[];}}async['checkSyntax'](_0x346085,_0x2f73e3,_0x1940fb){const _0x4b9e13=a0_0x2166ee,_0x28b0e1=[],_0x5bd50c=a0_0x507708['tmpdir'](),_0x2be73d=a0_0x5878e4[_0x4b9e13(0x1a1)](_0x5bd50c,_0x4b9e13(0x18d)+Date[_0x4b9e13(0x191)]()+_0x4b9e13(0x19f)),_0x44b4d7=a0_0x5878e4['join'](_0x5bd50c,_0x4b9e13(0x195)+Date['now']()+_0x4b9e13(0x19f));try{await a0_0x4b5d71[_0x4b9e13(0x1b1)](_0x44b4d7,_0x2f73e3,_0x4b9e13(0x19b));const _0x11b134=_0x4b9e13(0x19e);await a0_0x4b5d71['writeFile'](_0x2be73d,_0x11b134,_0x4b9e13(0x19b));const _0x58ec49=await this['runPythonScript'](_0x1940fb,_0x2be73d,[_0x44b4d7]);try{const _0xa44521=JSON['parse'](_0x58ec49[_0x4b9e13(0x1a3)]);if(!_0xa44521['success']&&_0xa44521['errors'])for(const _0x41f514 of _0xa44521[_0x4b9e13(0x1b3)]){_0x28b0e1['push']({'file':_0x346085,'line':_0x41f514[_0x4b9e13(0x193)]||0x1,'column':_0x41f514[_0x4b9e13(0x1a0)]||0x1,'severity':STATIC_ANALYSIS[_0x4b9e13(0x196)][_0x4b9e13(0x1b6)],'rule':_0x4b9e13(0x1b0),'message':_0x41f514[_0x4b9e13(0x1af)],'category':STATIC_ANALYSIS['CATEGORY'][_0x4b9e13(0x19c)],'fixable':![],'source':_0x4b9e13(0x1bd),'code':_0x41f514[_0x4b9e13(0x1a9)]||undefined});}}catch(_0x268db2){this['logger']?.['warn']('Failed\x20to\x20parse\x20Python\x20syntax\x20check\x20result',{'error':_0x268db2[_0x4b9e13(0x1af)],'stdout':_0x58ec49['stdout']});}}finally{try{await a0_0x4b5d71['unlink'](_0x2be73d),await a0_0x4b5d71[_0x4b9e13(0x1bb)](_0x44b4d7);}catch{}}return _0x28b0e1;}async['getPythonCommand'](){const _0x267753=a0_0x2166ee;if(this[_0x267753(0x1b8)])return this[_0x267753(0x1b8)];const _0x4b8f0c=['python3',_0x267753(0x1ac)];for(const _0x83df85 of _0x4b8f0c){try{const _0x5b53a9=await this['runCommand'](_0x83df85,[_0x267753(0x1b5)]);if(_0x5b53a9[_0x267753(0x1b4)])return this[_0x267753(0x1b8)]=_0x83df85,this[_0x267753(0x1a6)]?.['debug']('Found\x20Python\x20command',{'command':_0x83df85,'version':_0x5b53a9[_0x267753(0x1a3)][_0x267753(0x199)]()}),_0x83df85;}catch{}}return null;}async['runPythonScript'](_0x12ebe9,_0x23c7a6,_0x246c64=[]){const _0x530975=a0_0x2166ee;return this[_0x530975(0x1ab)](_0x12ebe9,[_0x23c7a6,..._0x246c64]);}async[a0_0x2166ee(0x1ab)](_0x4e02ae,_0x2d9c3a=[],_0x300b94={}){return new Promise((_0x48f36c,_0x2cd669)=>{const _0x4ff5a4=a0_0x5e5a,_0x12fbde=spawn(_0x4e02ae,_0x2d9c3a,{..._0x300b94,'shell':!![]});let _0x43d3d3='',_0x49ef15='';_0x12fbde[_0x4ff5a4(0x1a3)]?.['on']('data',_0x383ee2=>{_0x43d3d3+=_0x383ee2['toString']();}),_0x12fbde[_0x4ff5a4(0x1c1)]?.['on'](_0x4ff5a4(0x1a2),_0x48ae5d=>{const _0x3630f5=_0x4ff5a4;_0x49ef15+=_0x48ae5d[_0x3630f5(0x1be)]();}),_0x12fbde['on'](_0x4ff5a4(0x1b7),_0x3e2aba=>{_0x2cd669(_0x3e2aba);}),_0x12fbde['on'](_0x4ff5a4(0x1ba),_0x3f89ba=>{_0x48f36c({'success':_0x3f89ba===0x0,'code':_0x3f89ba,'stdout':_0x43d3d3,'stderr':_0x49ef15});}),setTimeout(()=>{const _0x22a63c=_0x4ff5a4;_0x12fbde[_0x22a63c(0x1bf)](),_0x2cd669(new Error(_0x22a63c(0x1c0)));},0x2710);});}[a0_0x2166ee(0x1a7)](){const _0x1410fb=a0_0x2166ee;return[_0x1410fb(0x19f)];}[a0_0x2166ee(0x18e)](){return![];}}export default PythonAnalyzer;
1
+ const a0_0x58c86d=a0_0x3858;(function(_0x3b9a7a,_0x4d195b){const _0x3b66e3=a0_0x3858,_0x25e3a3=_0x3b9a7a();while(!![]){try{const _0x52ec04=parseInt(_0x3b66e3(0x20c))/0x1+parseInt(_0x3b66e3(0x201))/0x2*(-parseInt(_0x3b66e3(0x1f6))/0x3)+parseInt(_0x3b66e3(0x1f2))/0x4*(parseInt(_0x3b66e3(0x1eb))/0x5)+-parseInt(_0x3b66e3(0x1fe))/0x6*(-parseInt(_0x3b66e3(0x219))/0x7)+-parseInt(_0x3b66e3(0x20a))/0x8+parseInt(_0x3b66e3(0x1f4))/0x9*(-parseInt(_0x3b66e3(0x205))/0xa)+parseInt(_0x3b66e3(0x1f7))/0xb*(parseInt(_0x3b66e3(0x1e9))/0xc);if(_0x52ec04===_0x4d195b)break;else _0x25e3a3['push'](_0x25e3a3['shift']());}catch(_0x2872a7){_0x25e3a3['push'](_0x25e3a3['shift']());}}}(a0_0x8c87,0x9c7e7));import{spawn}from'child_process';function a0_0x3858(_0x7c8c58,_0x234a64){_0x7c8c58=_0x7c8c58-0x1e9;const _0x8c8788=a0_0x8c87();let _0x385856=_0x8c8788[_0x7c8c58];if(a0_0x3858['xTdrte']===undefined){var _0x210001=function(_0x320c9f){const _0x23e667='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x279eaf='',_0x2cdba3='';for(let _0x4c03ea=0x0,_0x46e3d5,_0x57dc5f,_0x3ada3f=0x0;_0x57dc5f=_0x320c9f['charAt'](_0x3ada3f++);~_0x57dc5f&&(_0x46e3d5=_0x4c03ea%0x4?_0x46e3d5*0x40+_0x57dc5f:_0x57dc5f,_0x4c03ea++%0x4)?_0x279eaf+=String['fromCharCode'](0xff&_0x46e3d5>>(-0x2*_0x4c03ea&0x6)):0x0){_0x57dc5f=_0x23e667['indexOf'](_0x57dc5f);}for(let _0x1670ee=0x0,_0x3f0876=_0x279eaf['length'];_0x1670ee<_0x3f0876;_0x1670ee++){_0x2cdba3+='%'+('00'+_0x279eaf['charCodeAt'](_0x1670ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2cdba3);};a0_0x3858['hIJCVC']=_0x210001,a0_0x3858['iNtuDV']={},a0_0x3858['xTdrte']=!![];}const _0x4344ea=_0x8c8788[0x0],_0x88151f=_0x7c8c58+_0x4344ea,_0x2c5170=a0_0x3858['iNtuDV'][_0x88151f];return!_0x2c5170?(_0x385856=a0_0x3858['hIJCVC'](_0x385856),a0_0x3858['iNtuDV'][_0x88151f]=_0x385856):_0x385856=_0x2c5170,_0x385856;}import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x8c87(){const _0x3d97a4=['CgfYC2u','z2v0uhL0Ag9Uq29TBwfUza','BM93','mte3nZy0mZbdtMfxyM4','ls12zxjZAw9U','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','BgvUz3rO','D2fYBG','mZm0ntmZnNrgtu9vAa','ChL0Ag9Uq29TBwfUza','nJe4mJKWEKXJr3ns','zxjYB3jZ','zgvIDwC','C3LUDgf4x2nOzwnRxW','BgLUzq','Dg9tDhjPBMC','C3vJy2vZCW','q29TBwfUzcb0Aw1LB3v0','C3rKzxjY','Dg1WzgLY','yw5HBhL6zq','u0vwrvjjvfK','CNvUq29TBwfUza','mtq1mty1m0nID3vwrG','CNvUuhL0Ag9Uu2nYAxb0','ChvZAa','mtjRD1nVrKC','lNb5','nuXwwwDsyq','zxjYB3i','DxrMltG','y29SDw1U','zgf0yq','Dgv4Da','zMLSDgvY','ndqZmdm1nM5dshnTtq','BwvZC2fNzq','ourus3PPrq','D3jPDgvgAwXL','mJu0nZi0mefyugrUta','ntGZntqZnfHptujtCG','rM91BMqGuhL0Ag9UignVBw1HBMq','Bg9Nz2vY','DgfYz2v0xW','y2XVC2u','Dw5SAw5R','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','mJrRANPPBuO','C3rKB3v0','rvjst1i','mNvsCw1HzW'];a0_0x8c87=function(){return _0x3d97a4;};return a0_0x8c87();}import a0_0x279eaf from'fs/promises';import a0_0x2cdba3 from'path';import a0_0x4c03ea from'os';class PythonAnalyzer{constructor(_0x46e3d5=null){const _0x23a7a5=a0_0x3858;this[_0x23a7a5(0x1f9)]=_0x46e3d5,this[_0x23a7a5(0x20b)]=null;}async[a0_0x58c86d(0x216)](_0x57dc5f,_0x3ada3f,_0x1670ee={}){const _0x1d3e0e=a0_0x58c86d;try{const _0x3f0876=[],_0x57a5ea=await this[_0x1d3e0e(0x203)]();if(!_0x57a5ea)return this['logger']?.['warn'](_0x1d3e0e(0x1fd)),[];const _0x3162ea=await this['checkSyntax'](_0x57dc5f,_0x3ada3f,_0x57a5ea);return _0x3f0876[_0x1d3e0e(0x21b)](..._0x3162ea),this['logger']?.['debug']('Python\x20analysis\x20completed',{'file':_0x57dc5f,'totalDiagnostics':_0x3f0876[_0x1d3e0e(0x208)],'errors':_0x3f0876['filter'](_0x36ee17=>_0x36ee17['severity']===STATIC_ANALYSIS['SEVERITY'][_0x1d3e0e(0x200)])['length'],'warnings':_0x3f0876[_0x1d3e0e(0x1f1)](_0x2e5246=>_0x2e5246['severity']===STATIC_ANALYSIS[_0x1d3e0e(0x217)]['WARNING'])['length']}),_0x3f0876;}catch(_0x2d9409){return this['logger']?.[_0x1d3e0e(0x1ec)]('Python\x20analysis\x20failed',{'file':_0x57dc5f,'error':_0x2d9409[_0x1d3e0e(0x1f3)]}),[];}}async['checkSyntax'](_0x32f046,_0x3187be,_0xeed012){const _0x4d902b=a0_0x58c86d,_0x235219=[],_0x359a97=a0_0x4c03ea[_0x4d902b(0x215)](),_0x3d2090=a0_0x2cdba3['join'](_0x359a97,_0x4d902b(0x20f)+Date[_0x4d902b(0x204)]()+'.py'),_0x402418=a0_0x2cdba3['join'](_0x359a97,_0x4d902b(0x1fa)+Date[_0x4d902b(0x204)]()+_0x4d902b(0x1ea));try{await a0_0x279eaf['writeFile'](_0x402418,_0x3187be,'utf-8');const _0x37ce5e='\x0aimport\x20ast\x0aimport\x20sys\x0aimport\x20json\x0a\x0adef\x20check_syntax(filepath):\x0a\x20\x20\x20\x20try:\x0a\x20\x20\x20\x20\x20\x20\x20\x20with\x20open(filepath,\x20\x27r\x27,\x20encoding=\x27utf-8\x27)\x20as\x20f:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20=\x20f.read()\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20Try\x20to\x20parse\x20the\x20file\x0a\x20\x20\x20\x20\x20\x20\x20\x20ast.parse(source,\x20filename=filepath)\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20If\x20successful,\x20no\x20errors\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20True,\x20\x22errors\x22:\x20[]}))\x0a\x0a\x20\x20\x20\x20except\x20SyntaxError\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x20e.lineno\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x20e.offset\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e.msg),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20e.text.strip()\x20if\x20e.text\x20else\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0a\x20\x20\x20\x20except\x20Exception\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0aif\x20__name__\x20==\x20\x22__main__\x22:\x0a\x20\x20\x20\x20if\x20len(sys.argv)\x20>\x201:\x0a\x20\x20\x20\x20\x20\x20\x20\x20check_syntax(sys.argv[1])\x0a\x20\x20\x20\x20else:\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[{\x22message\x22:\x20\x22No\x20file\x20specified\x22}]}))\x0a';await a0_0x279eaf[_0x4d902b(0x1f5)](_0x3d2090,_0x37ce5e,_0x4d902b(0x1ed));const _0x379305=await this['runPythonScript'](_0xeed012,_0x3d2090,[_0x402418]);try{const _0x2e964f=JSON[_0x4d902b(0x202)](_0x379305['stdout']);if(!_0x2e964f[_0x4d902b(0x212)]&&_0x2e964f[_0x4d902b(0x20d)])for(const _0x244796 of _0x2e964f['errors']){_0x235219[_0x4d902b(0x21b)]({'file':_0x32f046,'line':_0x244796[_0x4d902b(0x210)]||0x1,'column':_0x244796[_0x4d902b(0x1ee)]||0x1,'severity':STATIC_ANALYSIS[_0x4d902b(0x217)]['ERROR'],'rule':'SyntaxError','message':_0x244796['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![],'source':'python-ast','code':_0x244796[_0x4d902b(0x1f0)]||undefined});}}catch(_0x151757){this[_0x4d902b(0x1f9)]?.[_0x4d902b(0x209)](_0x4d902b(0x207),{'error':_0x151757['message'],'stdout':_0x379305['stdout']});}}finally{try{await a0_0x279eaf['unlink'](_0x3d2090),await a0_0x279eaf[_0x4d902b(0x1fc)](_0x402418);}catch{}}return _0x235219;}async[a0_0x58c86d(0x203)](){const _0x39f70f=a0_0x58c86d;if(this[_0x39f70f(0x20b)])return this[_0x39f70f(0x20b)];const _0x5c0b6b=['python3','python'];for(const _0x35883e of _0x5c0b6b){try{const _0x5b016c=await this[_0x39f70f(0x218)](_0x35883e,[_0x39f70f(0x206)]);if(_0x5b016c['success'])return this[_0x39f70f(0x20b)]=_0x35883e,this['logger']?.[_0x39f70f(0x20e)](_0x39f70f(0x1f8),{'command':_0x35883e,'version':_0x5b016c['stdout']['trim']()}),_0x35883e;}catch{}}return null;}async[a0_0x58c86d(0x21a)](_0x39b85d,_0x4fa005,_0x4d98b0=[]){const _0x32ca3b=a0_0x58c86d;return this[_0x32ca3b(0x218)](_0x39b85d,[_0x4fa005,..._0x4d98b0]);}async['runCommand'](_0x4d95f2,_0xc63ef9=[],_0x2b3394={}){return new Promise((_0x3c8c87,_0x40f93b)=>{const _0x14fa35=a0_0x3858,_0x45df83=spawn(_0x4d95f2,_0xc63ef9,{..._0x2b3394,'shell':!![]});let _0x129191='',_0x55d0ce='';_0x45df83[_0x14fa35(0x1ff)]?.['on'](_0x14fa35(0x1ef),_0x57d5b7=>{_0x129191+=_0x57d5b7['toString']();}),_0x45df83[_0x14fa35(0x214)]?.['on']('data',_0x332921=>{const _0x45b412=_0x14fa35;_0x55d0ce+=_0x332921[_0x45b412(0x211)]();}),_0x45df83['on'](_0x14fa35(0x1ec),_0x1ee724=>{_0x40f93b(_0x1ee724);}),_0x45df83['on'](_0x14fa35(0x1fb),_0x3d74f5=>{_0x3c8c87({'success':_0x3d74f5===0x0,'code':_0x3d74f5,'stdout':_0x129191,'stderr':_0x55d0ce});}),setTimeout(()=>{const _0x59d80c=_0x14fa35;_0x45df83['kill'](),_0x40f93b(new Error(_0x59d80c(0x213)));},0x2710);});}['getSupportedExtensions'](){return['.py'];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- const a0_0x51e380=a0_0x4ea2;function a0_0x4ea2(_0x31c304,_0x1875af){_0x31c304=_0x31c304-0x1df;const _0x3b9ad8=a0_0x3b9a();let _0x4ea224=_0x3b9ad8[_0x31c304];if(a0_0x4ea2['vDBreR']===undefined){var _0x13312b=function(_0x21b34c){const _0x1a7219='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36f659='',_0x2b9d52='';for(let _0x2d20ba=0x0,_0x1db417,_0xa065b0,_0x1fca68=0x0;_0xa065b0=_0x21b34c['charAt'](_0x1fca68++);~_0xa065b0&&(_0x1db417=_0x2d20ba%0x4?_0x1db417*0x40+_0xa065b0:_0xa065b0,_0x2d20ba++%0x4)?_0x36f659+=String['fromCharCode'](0xff&_0x1db417>>(-0x2*_0x2d20ba&0x6)):0x0){_0xa065b0=_0x1a7219['indexOf'](_0xa065b0);}for(let _0x408553=0x0,_0x538a67=_0x36f659['length'];_0x408553<_0x538a67;_0x408553++){_0x2b9d52+='%'+('00'+_0x36f659['charCodeAt'](_0x408553)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b9d52);};a0_0x4ea2['NOlpRO']=_0x13312b,a0_0x4ea2['nVtiDY']={},a0_0x4ea2['vDBreR']=!![];}const _0x1a0210=_0x3b9ad8[0x0],_0x43adc1=_0x31c304+_0x1a0210,_0x40d49d=a0_0x4ea2['nVtiDY'][_0x43adc1];return!_0x40d49d?(_0x4ea224=a0_0x4ea2['NOlpRO'](_0x4ea224),a0_0x4ea2['nVtiDY'][_0x43adc1]=_0x4ea224):_0x4ea224=_0x40d49d,_0x4ea224;}function a0_0x3b9a(){const _0x1d4cc2=['zxjYB3i','BM9YBwfSAxPLuMvZDwX0CW','C2v2zxjPDhK','AMf2yxnJCMLWDa','C3rHCNq','zgvIDwC','y3DL','yw5HBhL6zvbYB2PLy3q','C2vTz3jLCcaTlxzLCNnPB24','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','zgvWzw5Kzw5JAwvZ','CgfYC2vtzw1NCMvWuMvZDwX0CW','mJm2odC0nKfIu0DnAq','BgLUzq','mty4ndC4mwDIA1j6qq','BMfTzq','DhLWzxnJCMLWDa','CgfJA2fNzq','ChvZAa','C2vJDxjPDhK','CNvUtNbTqxvKAxq','AM9PBG','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','D2fYBG','CgLWigLUC3rHBgWGCgLWlwf1zgL0','BgvUz3rO','DxjS','CgfYC2u','yMfUzgL0','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','BwfWugLWqxvKAxrtzxzLCML0Eq','zxH0CMe','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','zgv0zwn0tgfUz3vHz2u','BwfWu2vTz3jLCfnLDMvYAxr5','CNvUqMfUzgL0','C3rKB3v0','zML4x3zLCNnPB25Z','Axnuzxn0rMLSzq','lNnJyw5UzxjZ','ywnJzxnZ','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','mJGYntv5tNLXBwu','Dg9vChbLCKnHC2u','Bg93','BwfWtNbTu2v2zxjPDhK','Bg9JywXty2fUBMvYrgLY','q1jjveLdquW','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','DMvYC2LVBG','mty1nJKYngPqqvnwrW','AgLNAa','Bg9Nz2vY','C2nHBM5LCKnHy2HL','u0vwrvjjvfK','ohfsr0TktW','Bw9KDwXL','y3zZCW','Bgf0zxn0','zgLYBMfTzq','ChL0Ag9U','BwvKAxvT','txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','C2vJDxjPDhKV','mtC3nJCYtMXIyLvd','odiYyLfrEfHR','CMvZDwX0CW','y3DK','zxnSAw50u2vJDxjPDhK','qMfUzgL0ihnJyw4GzMfPBgvK','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','zgvZy3jPChrPB24','C2vTz3jLCa','Dg9mB3DLCKnHC2u','B3DHC3a','mtiWodi5nLvpqvbJwG','CMfUz2u','CgfYC2vcyw5KAxrszxn1BhrZ','Dw5RBM93BG','y29UzMLKzw5Jzq','DNvSBMvYywjPBgL0AwvZ','DMLH','C29Tzq','BgLUzv9UDw1Izxi','rvjst1i','BNbTlwf1zgL0','zxH0BMfTzq','qxzHAwXHyMXL','Bw9YzuLUzM8','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','CNvUu2vTz3jLCa','zMLSzq','C2TPCfrLC3rgAwXLCW','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','BNbTig5VDcbHDMfPBgfIBgu','CgLWlwf1zgL0','BwfWqMfUzgL0u2v2zxjPDhK','CgfYC2vfu0XPBNrszxn1BhrZ','yMfUzgL0ic0TDMvYC2LVBG','BwvZC2fNzq','qMfUzgL0','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','zML4ywjSzq','yw5HBhL6zq','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','CMvMzxjLBMnLCW','v0fstKLorW','AxnZDwvFy29UzMLKzw5Jzq','Bwv0ywrHDge','AxnbCNjHEq','y2HLy2TFAwq','BNbTigf1zgL0igf2ywLSywjSzq','ywr2AxnVCNK','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','y3zL','CNvUugLWqxvKAxq','CgLWqxvKAxq','u2vTz3jLCcbZy2fUigzHAwXLza','CgfYC2voCg1bDwrPDfjLC3vSDhm','mtu2ndm3ngvHruTnvW','BwfWrvnmAw50u2v2zxjPDhK','qMfUzgL0ig5VDcbHDMfPBgfIBgu'];a0_0x3b9a=function(){return _0x1d4cc2;};return a0_0x3b9a();}(function(_0x248e3d,_0x1d4471){const _0x5aebaa=a0_0x4ea2,_0x1471d6=_0x248e3d();while(!![]){try{const _0x26700f=parseInt(_0x5aebaa(0x239))/0x1+-parseInt(_0x5aebaa(0x1f3))/0x2+-parseInt(_0x5aebaa(0x22b))/0x3+parseInt(_0x5aebaa(0x244))/0x4+-parseInt(_0x5aebaa(0x223))/0x5*(-parseInt(_0x5aebaa(0x23a))/0x6)+parseInt(_0x5aebaa(0x204))/0x7+parseInt(_0x5aebaa(0x230))/0x8*(parseInt(_0x5aebaa(0x202))/0x9);if(_0x26700f===_0x1d4471)break;else _0x1471d6['push'](_0x1471d6['shift']());}catch(_0x481803){_0x1471d6['push'](_0x1471d6['shift']());}}}(a0_0x3b9a,0x67593));import{exec}from'child_process';import{promisify}from'util';import a0_0x36f659 from'path';import a0_0x2b9d52 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x2d20ba=null){const _0x1bc22c=a0_0x4ea2;this[_0x1bc22c(0x22d)]=_0x2d20ba,this['availableScanners']=null,this[_0x1bc22c(0x22e)]=new Map(),this[_0x1bc22c(0x227)]=a0_0x36f659[_0x1bc22c(0x20b)](process[_0x1bc22c(0x23c)](),'node_modules',_0x1bc22c(0x21f));}async['detectAvailableScanners'](){const _0x3f6505=a0_0x4ea2;if(this['availableScanners']!==null)return this['availableScanners'];const _0x1db417={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0xa065b0=a0_0x36f659[_0x3f6505(0x20b)](this['localScannerDir'],_0x3f6505(0x241));try{await a0_0x2b9d52[_0x3f6505(0x220)](_0xa065b0),_0x1db417['semgrep']=!![],this['logger']?.[_0x3f6505(0x1fb)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync(_0x3f6505(0x1fe),{'timeout':0x1388}),_0x1db417[_0x3f6505(0x241)]=!![],this['logger']?.['debug']('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x1fca68){this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x218),{'error':_0x1fca68['message']});}try{await execAsync(_0x3f6505(0x25b),{'timeout':0x1388}),_0x1db417[_0x3f6505(0x213)]=!![],this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x1e4));}catch(_0x408553){this['logger']?.[_0x3f6505(0x1fb)](_0x3f6505(0x1f5),{'error':_0x408553['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x1db417['npmAudit']=!![],this['logger']?.['debug'](_0x3f6505(0x1eb));}catch(_0x538a67){this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x257),{'error':_0x538a67[_0x3f6505(0x25c)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x1db417['pipAudit']=!![],this[_0x3f6505(0x22d)]?.['debug']('pip-audit\x20detected');}catch(_0x5a21c6){this[_0x3f6505(0x22d)]?.['debug']('pip-audit\x20not\x20available',{'error':_0x5a21c6[_0x3f6505(0x25c)]});}try{const _0x3fafe4=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x1dcee6=JSON['parse'](_0x3fafe4[_0x3f6505(0x21c)]);_0x1dcee6[_0x3f6505(0x200)]&&_0x1dcee6['dependencies'][_0x3f6505(0x214)]&&(_0x1db417['eslintSecurity']=!![],this['logger']?.[_0x3f6505(0x1fb)](_0x3f6505(0x23f)));}catch(_0x693efa){this['logger']?.[_0x3f6505(0x1fb)]('eslint-plugin-security\x20not\x20available',{'error':_0x693efa['message']});}return this['availableScanners']=_0x1db417,_0x1db417;}async[a0_0x51e380(0x1e3)](_0x2556c5,_0x129d19,_0x4bce85={}){const _0x4e98cd=a0_0x51e380,_0x4652b1=[],_0x43caa4=await this['detectAvailableScanners'](),_0x274e49=this[_0x4e98cd(0x219)](_0x2556c5);if(_0x4bce85[_0x4e98cd(0x255)]!==![]&&this[_0x4e98cd(0x21e)](_0x2556c5))return this[_0x4e98cd(0x22d)]?.[_0x4e98cd(0x1fb)]('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x2556c5}),[];if(_0x274e49===_0x4e98cd(0x1f9)||_0x274e49===_0x4e98cd(0x206)){if(_0x43caa4[_0x4e98cd(0x241)]){const _0x53812f=await this[_0x4e98cd(0x253)](_0x2556c5,[_0x274e49],_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0x53812f);}if(_0x43caa4[_0x4e98cd(0x23d)]){const _0x1dee9a=await this['runESLintSecurity'](_0x2556c5,_0x129d19,_0x4bce85);_0x4652b1['push'](..._0x1dee9a);}}if(_0x274e49===_0x4e98cd(0x235)){if(_0x43caa4['bandit']){const _0xec0659=await this[_0x4e98cd(0x21b)](_0x2556c5,_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0xec0659);}if(_0x43caa4['semgrep']){const _0x3e3606=await this[_0x4e98cd(0x253)](_0x2556c5,[_0x274e49],_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0x3e3606);}}return _0x4652b1[_0x4e98cd(0x210)]===0x0&&!this['hasScannersForLanguage'](_0x43caa4,_0x274e49)&&this[_0x4e98cd(0x22d)]?.[_0x4e98cd(0x20e)]('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x274e49,'filePath':_0x2556c5}),this[_0x4e98cd(0x1f7)](_0x4652b1);}async[a0_0x51e380(0x1fd)](_0x18574a,_0x19bbe2,_0x36d6be={}){const _0x459565=a0_0x51e380,_0x58d80c=[],_0x2153cb=await this[_0x459565(0x1e1)]();if(_0x19bbe2===_0x459565(0x1f9)||_0x19bbe2===_0x459565(0x206)){if(_0x2153cb['npmAudit']){const _0x506d49=await this[_0x459565(0x20a)](_0x18574a,_0x36d6be);_0x58d80c[_0x459565(0x208)](..._0x506d49);}}if(_0x19bbe2==='python'){if(_0x2153cb['pipAudit']){const _0x2fe642=await this[_0x459565(0x1ef)](_0x18574a,_0x36d6be);_0x58d80c['push'](..._0x2fe642);}}return this['normalizeResults'](_0x58d80c);}async[a0_0x51e380(0x253)](_0x220d42,_0x2dbbe7,_0x315f95={}){const _0x33f28a=a0_0x51e380;try{const _0x1f6aeb=a0_0x36f659[_0x33f28a(0x234)](_0x220d42),_0x20061f=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x220d42+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x1f6aeb}),_0x3d65ff=JSON['parse'](_0x20061f[_0x33f28a(0x21c)]);return this[_0x33f28a(0x201)](_0x3d65ff);}catch(_0x2bc980){if(_0x2bc980['stdout'])try{const _0x2d7ffe=JSON[_0x33f28a(0x212)](_0x2bc980[_0x33f28a(0x21c)]);return this['parseSemgrepResults'](_0x2d7ffe);}catch(_0x79782e){this['logger']?.['error'](_0x33f28a(0x221),{'error':_0x79782e[_0x33f28a(0x25c)],'stdout':_0x2bc980[_0x33f28a(0x21c)]});}return this[_0x33f28a(0x22d)]?.['error'](_0x33f28a(0x1f1),{'error':_0x2bc980['message']}),[];}}['parseSemgrepResults'](_0x255e2f){const _0x3523af=a0_0x51e380,_0x535af8=[];if(_0x255e2f[_0x3523af(0x23b)]&&Array[_0x3523af(0x1e9)](_0x255e2f[_0x3523af(0x23b)]))for(const _0x3e05f0 of _0x255e2f['results']){_0x535af8['push']({'file':_0x3e05f0['path'],'line':_0x3e05f0[_0x3523af(0x1fa)]?.[_0x3523af(0x203)]||0x1,'column':_0x3e05f0['start']?.['col']||0x1,'severity':this['mapSemgrepSeverity'](_0x3e05f0['extra']?.[_0x3523af(0x1f8)]),'rule':_0x3e05f0[_0x3523af(0x1ea)],'message':_0x3e05f0[_0x3523af(0x216)]?.[_0x3523af(0x25c)]||_0x3e05f0['extra']?.['lines']||_0x3523af(0x1ed),'category':'security','scanner':'semgrep','cwe':_0x3e05f0['extra']?.[_0x3523af(0x1e8)]?.[_0x3523af(0x1fc)],'owasp':_0x3e05f0['extra']?.[_0x3523af(0x1e8)]?.[_0x3523af(0x243)],'confidence':_0x3e05f0['extra']?.['metadata']?.['confidence'],'references':_0x3e05f0[_0x3523af(0x216)]?.[_0x3523af(0x1e8)]?.[_0x3523af(0x1e5)]});}return _0x535af8;}async['runBandit'](_0x5e614e,_0x53b85f={}){const _0x3e05e5=a0_0x51e380;try{const _0x3be196=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x5e614e+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x22681a=JSON['parse'](_0x3be196['stdout']);return this[_0x3e05e5(0x246)](_0x22681a);}catch(_0x2e2f1b){if(_0x2e2f1b['stdout'])try{const _0x464207=JSON['parse'](_0x2e2f1b['stdout']);return this[_0x3e05e5(0x246)](_0x464207);}catch(_0x4f1a70){this[_0x3e05e5(0x22d)]?.['error'](_0x3e05e5(0x1ff),{'error':_0x4f1a70['message']});}return this[_0x3e05e5(0x22d)]?.['error'](_0x3e05e5(0x23e),{'error':_0x2e2f1b[_0x3e05e5(0x25c)]}),[];}}['parseBanditResults'](_0x4f2e13){const _0x5e6289=a0_0x51e380,_0x3df862=[];if(_0x4f2e13['results']&&Array[_0x5e6289(0x1e9)](_0x4f2e13[_0x5e6289(0x23b)]))for(const _0x7c3898 of _0x4f2e13[_0x5e6289(0x23b)]){_0x3df862['push']({'file':_0x7c3898['filename'],'line':_0x7c3898[_0x5e6289(0x24c)]||0x1,'column':_0x7c3898['col_offset']||0x1,'severity':this[_0x5e6289(0x259)](_0x7c3898['issue_severity']),'rule':_0x7c3898['test_id'],'message':_0x7c3898['issue_text'],'category':'security','scanner':'bandit','cwe':_0x7c3898['issue_cwe']?.['id']?'CWE-'+_0x7c3898['issue_cwe']['id']:null,'confidence':_0x7c3898[_0x5e6289(0x1e7)],'moreInfo':_0x7c3898['more_info']});}return _0x3df862;}async['runESLintSecurity'](_0x45657c,_0x33914f,_0x2dd32a={}){const _0xde886=a0_0x51e380;try{const {ESLint:_0x60a5d5}=await import('eslint'),_0x2c1216=new _0x60a5d5({'overrideConfig':{'plugins':[_0xde886(0x209)],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':_0xde886(0x233),'sourceType':_0xde886(0x231)}},'useEslintrc':![]}),_0x2a0e48=await _0x2c1216['lintText'](_0x33914f,{'filePath':_0x45657c});return this['parseESLintResults'](_0x2a0e48,_0x45657c);}catch(_0xa13dde){return this['logger']?.[_0xde886(0x1f6)]('ESLint\x20security\x20scan\x20failed',{'error':_0xa13dde[_0xde886(0x25c)],'filePath':_0x45657c}),[];}}[a0_0x51e380(0x25a)](_0xb15888,_0x348fe9){const _0x543a3a=a0_0x51e380,_0x54180d=[];for(const _0x34ec5 of _0xb15888){if(_0x34ec5['messages']&&Array['isArray'](_0x34ec5['messages']))for(const _0x211728 of _0x34ec5['messages']){_0x211728['ruleId']&&_0x211728['ruleId']['startsWith'](_0x543a3a(0x238))&&_0x54180d['push']({'file':_0x348fe9,'line':_0x211728['line']||0x1,'column':_0x211728['column']||0x1,'severity':this[_0x543a3a(0x1f4)](_0x211728[_0x543a3a(0x1f8)]),'rule':_0x211728['ruleId'],'message':_0x211728[_0x543a3a(0x25c)],'category':'security','scanner':'eslint-security','fixable':_0x211728['fix']!==undefined});}}return _0x54180d;}async[a0_0x51e380(0x20a)](_0x102763,_0x19db90={}){const _0x14b4a5=a0_0x51e380;try{const _0x355926=a0_0x36f659['join'](_0x102763,'package.json');try{await a0_0x2b9d52['access'](_0x355926);}catch{return this['logger']?.[_0x14b4a5(0x1fb)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x25cca3=await execAsync('npm\x20audit\x20--json',{'cwd':_0x102763,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x493202=JSON['parse'](_0x25cca3['stdout']);return this[_0x14b4a5(0x1f2)](_0x493202);}catch(_0x2cb43a){if(_0x2cb43a['stdout'])try{const _0x5c9c4b=JSON[_0x14b4a5(0x212)](_0x2cb43a['stdout']);return this['parseNpmAuditResults'](_0x5c9c4b);}catch(_0x345b41){this[_0x14b4a5(0x22d)]?.[_0x14b4a5(0x1f6)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x345b41[_0x14b4a5(0x25c)]});}return[];}}[a0_0x51e380(0x1f2)](_0x1d153b){const _0x218bf8=a0_0x51e380,_0x485bf8=[];if(_0x1d153b['vulnerabilities'])for(const [_0x5c215c,_0x41841e]of Object['entries'](_0x1d153b[_0x218bf8(0x249)])){_0x485bf8[_0x218bf8(0x208)]({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x218bf8(0x226)](_0x41841e['severity']),'rule':'npm-'+(_0x41841e[_0x218bf8(0x24a)][0x0]?.['source']||_0x218bf8(0x1ec)),'message':_0x5c215c+':\x20'+(_0x41841e[_0x218bf8(0x24a)][0x0]?.['title']||'Security\x20vulnerability'),'category':'security','scanner':_0x218bf8(0x24e),'package':_0x5c215c,'vulnerableVersions':_0x41841e[_0x218bf8(0x245)],'patchedVersions':_0x41841e['fixAvailable']?_0x218bf8(0x250):'None','cve':_0x41841e[_0x218bf8(0x24a)][0x0]?.[_0x218bf8(0x1ee)],'cvss':_0x41841e['via'][0x0]?.[_0x218bf8(0x232)],'references':_0x41841e[_0x218bf8(0x24a)][0x0]?.[_0x218bf8(0x211)]?[_0x41841e[_0x218bf8(0x24a)][0x0][_0x218bf8(0x211)]]:[]});}return _0x485bf8;}async[a0_0x51e380(0x1ef)](_0x52f894,_0x535a92={}){const _0x185845=a0_0x51e380;try{const requirementsPath=a0_0x36f659[_0x185845(0x20b)](_0x52f894,'requirements.txt');try{await a0_0x2b9d52[_0x185845(0x220)](requirementsPath);}catch{return this[_0x185845(0x22d)]?.['debug'](_0x185845(0x256)),[];}const _0x3aaedf=await execAsync(_0x185845(0x1e0),{'cwd':_0x52f894,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x436b94=JSON['parse'](_0x3aaedf[_0x185845(0x21c)]);return this['parsePipAuditResults'](_0x436b94);}catch(_0x3747fb){if(_0x3747fb[_0x185845(0x21c)])try{const _0x44da56=JSON['parse'](_0x3747fb[_0x185845(0x21c)]);return this['parsePipAuditResults'](_0x44da56);}catch(_0x24b60d){this['logger']?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x24b60d[_0x185845(0x25c)]});}return[];}}['parsePipAuditResults'](_0x36eab7){const _0x1ce68f=a0_0x51e380,_0x260a49=[];if(_0x36eab7[_0x1ce68f(0x200)]&&Array['isArray'](_0x36eab7['dependencies']))for(const _0x496fa1 of _0x36eab7['dependencies']){if(_0x496fa1['vulns']&&Array[_0x1ce68f(0x1e9)](_0x496fa1['vulns']))for(const _0x292725 of _0x496fa1['vulns']){_0x260a49['push']({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this[_0x1ce68f(0x215)](_0x292725['severity']),'rule':_0x292725['id'],'message':_0x496fa1[_0x1ce68f(0x205)]+':\x20'+(_0x292725[_0x1ce68f(0x240)]||_0x1ce68f(0x217)),'category':'security','scanner':_0x1ce68f(0x258),'package':_0x496fa1[_0x1ce68f(0x205)],'vulnerableVersion':_0x496fa1[_0x1ce68f(0x22a)],'fixedVersions':_0x292725[_0x1ce68f(0x21d)],'references':_0x292725['aliases']||[]});}}return _0x260a49;}[a0_0x51e380(0x219)](_0x568356){const _0x32e0c4=a0_0x51e380,_0x3ee385=a0_0x36f659[_0x32e0c4(0x24f)](_0x568356)[_0x32e0c4(0x242)](),_0x303442={'.js':'javascript','.jsx':_0x32e0c4(0x1f9),'.mjs':'javascript','.cjs':'javascript','.ts':_0x32e0c4(0x206),'.tsx':'typescript','.py':'python'};return _0x303442[_0x3ee385]||null;}['isTestFile'](_0x336585){const _0x21b650=a0_0x51e380,_0x3ac404=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x3ac404[_0x21b650(0x24b)](_0x39a1be=>_0x39a1be['test'](_0x336585));}[a0_0x51e380(0x222)](_0x179c94,_0xbda199){const _0x4ea00a=a0_0x51e380;if(_0xbda199===_0x4ea00a(0x1f9)||_0xbda199===_0x4ea00a(0x206))return _0x179c94['semgrep']||_0x179c94[_0x4ea00a(0x23d)];if(_0xbda199==='python')return _0x179c94['bandit']||_0x179c94['semgrep'];return![];}['normalizeResults'](_0x2c9318){const _0x24db9f=a0_0x51e380;return _0x2c9318['map'](_0x1585e9=>({'file':_0x1585e9[_0x24db9f(0x254)],'line':_0x1585e9[_0x24db9f(0x203)]||0x1,'column':_0x1585e9['column']||0x1,'severity':_0x1585e9[_0x24db9f(0x1f8)]||STATIC_ANALYSIS['SEVERITY'][_0x24db9f(0x1e6)],'rule':_0x1585e9['rule']||_0x24db9f(0x247),'message':_0x1585e9[_0x24db9f(0x25c)]||_0x24db9f(0x1ed),'category':_0x24db9f(0x209),'scanner':_0x1585e9['scanner'],'cwe':_0x1585e9['cwe']||null,'owasp':_0x1585e9[_0x24db9f(0x243)]||null,'confidence':_0x1585e9[_0x24db9f(0x248)]||null,'fixable':_0x1585e9[_0x24db9f(0x1e2)]||![],'remediation':_0x1585e9['remediation']||_0x1585e9[_0x24db9f(0x251)]||null,'references':_0x1585e9['references']||[],'package':_0x1585e9[_0x24db9f(0x207)]||null}));}[a0_0x51e380(0x21a)](_0x7eeabc){const _0x205b38=a0_0x51e380,_0x3be576={'ERROR':STATIC_ANALYSIS[_0x205b38(0x22f)]['CRITICAL'],'WARNING':STATIC_ANALYSIS[_0x205b38(0x22f)][_0x205b38(0x24d)],'INFO':STATIC_ANALYSIS[_0x205b38(0x22f)][_0x205b38(0x1e6)]};return _0x3be576[_0x7eeabc?.[_0x205b38(0x224)]()]||STATIC_ANALYSIS[_0x205b38(0x22f)]['WARNING'];}[a0_0x51e380(0x259)](_0x3f865c){const _0x3b38a3=a0_0x51e380,_0xba0692={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x24d)],'LOW':STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x1e6)]};return _0xba0692[_0x3f865c?.[_0x3b38a3(0x224)]()]||STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x1e6)];}['mapESLintSeverity'](_0xd2a997){const _0x258d57=a0_0x51e380;return _0xd2a997===0x2?STATIC_ANALYSIS['SEVERITY'][_0x258d57(0x24d)]:STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x51e380(0x226)](_0x1cf001){const _0x5efea4=a0_0x51e380,_0x3ce3f9={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x5efea4(0x22f)]['CRITICAL'],'moderate':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS[_0x5efea4(0x22f)][_0x5efea4(0x1e6)],'info':STATIC_ANALYSIS[_0x5efea4(0x22f)]['INFO']};return _0x3ce3f9[_0x1cf001?.[_0x5efea4(0x242)]()]||STATIC_ANALYSIS[_0x5efea4(0x22f)][_0x5efea4(0x1e6)];}[a0_0x51e380(0x215)](_0x17399a){const _0x38bb7f=a0_0x51e380;if(!_0x17399a)return STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'];const _0x44cec5={'critical':STATIC_ANALYSIS['SEVERITY'][_0x38bb7f(0x228)],'high':STATIC_ANALYSIS[_0x38bb7f(0x22f)]['CRITICAL'],'medium':STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'],'low':STATIC_ANALYSIS['SEVERITY'][_0x38bb7f(0x1e6)]};return _0x44cec5[_0x17399a?.[_0x38bb7f(0x242)]()]||STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'];}async['getScannerStatus'](){const _0xc27721=a0_0x51e380,_0x4f6d46=await this[_0xc27721(0x1e1)]();return{'scanners':_0x4f6d46,'recommendations':this[_0xc27721(0x20c)](_0x4f6d46)};}[a0_0x51e380(0x20c)](_0x7177e9){const _0x306de0=a0_0x51e380,_0x3b1d1c=[];return!_0x7177e9['semgrep']&&_0x3b1d1c[_0x306de0(0x208)]({'scanner':'Semgrep','reason':_0x306de0(0x237),'install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x306de0(0x22c)}),!_0x7177e9['bandit']&&_0x3b1d1c['push']({'scanner':_0x306de0(0x1df),'reason':_0x306de0(0x252),'install':'pip\x20install\x20bandit','priority':'medium'}),!_0x7177e9[_0x306de0(0x23d)]&&_0x3b1d1c['push']({'scanner':'eslint-plugin-security','reason':_0x306de0(0x20d),'install':_0x306de0(0x229),'priority':_0x306de0(0x236)}),!_0x7177e9[_0x306de0(0x1f0)]&&_0x3b1d1c['push']({'scanner':_0x306de0(0x258),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':_0x306de0(0x20f),'priority':_0x306de0(0x225)}),_0x3b1d1c;}}export default SecurityAnalyzer;
1
+ function a0_0x552d(){const _0x19a075=['Bwv0ywrHDge','AxnZDwvFC2v2zxjPDhK','z2v0u2nHBM5LCLn0yxr1CW','DxjS','BgLUDfrLEhq','nte4otjAr05lz3O','zxjYB3i','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','BNbTigf1zgL0igf2ywLSywjSzq','CMvZDwX0CW','C2vJDxjPDhK','BNbTqxvKAxq','y3zL','zgvWzw5Kzw5JAwvZ','Bg9Nz2vY','CgfYC2vcyw5KAxrszxn1BhrZ','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','y29UzMLKzw5Jzq','C3rKB3v0','y29S','y29Sx29MzNnLDa','CgLWigLUC3rHBgWGCgLWlwf1zgL0','zgLYBMfTzq','q1jjveLdquW','zgvZy3jPChrPB24','C2vTz3jLCa','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','su5gtW','Cgf0Aa','CgfJA2fNzq','BgLUzq','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','BwvZC2fNzxm','DMLH','DhLWzxnJCMLWDa','AxnbCNjHEq','DNvSBMvYywjPBgL0AwvZ','C2vJDxjPDhKV','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','zxnSAw50','BwfWqMfUzgL0u2v2zxjPDhK','y3DK','CgLWlwf1zgL0igrLDgvJDgvK','mJe2mdq3DNzUz2v3','yw5HBhL6zvbYB2PLy3q','mJKXmhb2s1HTBW','C2vTz3jLCcaTlxzLCNnPB24','mZq2mZaXnhPetwvRAa','BNbTig5VDcbHDMfPBgfIBgu','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','CgLWqxvKAxq','BwfWu2vTz3jLCfnLDMvYAxr5','Bw9Yzv9PBMzV','AMf2yxnJCMLWDa','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','CgLWlwf1zgL0ic0TDMvYC2LVBG','ywXPyxnLCW','zgv0zwn0tgfUz3vHz2u','mtv1yuDMs3e','CNvUrvnmAw50u2vJDxjPDhK','v0fstKLorW','ChL0Ag9U','u2vTz3jLCcbZy2fUigzHAwXLza','ChvZAa','CNvSzuLK','BgvUz3rO','AxnZDwvFy29UzMLKzw5Jzq','ntbnCgXet0O','B3DHC3a','zMLSzw5HBwu','zxH0CMe','AgLNAa','yxzHAwXHyMXLu2nHBM5LCNm','zML4ywjSzq','zML4qxzHAwXHyMXL','rvjst1i','BMfTzq','u0vwrvjjvfK','Dw5RBM93BG','lNnJyw5UzxjZ','ntu4mtCXvNzVquDW','CNvUqMfUzgL0','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','BM9YBwfSAxPLuMvZDwX0CW','mtmXnJK2odrPy2H3z3u','C3rHCNrZv2L0Aa','y29SDw1U','CMfUz2u','BNbTigXPC3qGzxnSAw50lxbSDwDPBI1Zzwn1CML0EsaTlwrLChrOptaGls1QC29U','ode1mJmYmeH2CfbivW','nJm0mNjMBejIvW','zML4x3zLCNnPB25Z','CgfYC2vfu0XPBNrszxn1BhrZ','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','CMvTzwrPyxrPB24','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','CgfYC2u','ywr2AxnVCNK','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','CNvUugLWqxvKAxq','qMfUzgL0ihnJyw4GzMfPBgvK','CgfJA2fNzs5QC29U','BwvZC2fNzq','C2v2zxjPDhK','CgfYC2vqAxbbDwrPDfjLC3vSDhm','CMvXDwLYzw1LBNrZlNr4Da','D2fYBG','txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','qMfUzgL0','yMfUzgL0','offewe91rq','CgfYC2voCg1bDwrPDfjLC3vSDhm','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','Bg9JywXty2fUBMvYrgLY','zxnSAw50u2vJDxjPDhK','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','AM9PBG','DMvYC2LVBG','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','qMfUzgL0ig5VDcbHDMfPBgfIBgu','AxnZDwvFy3DL','BwfWugLWqxvKAxrtzxzLCML0Eq','zgvIDwC','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','BM9Kzv9TB2r1BgvZ','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK'];a0_0x552d=function(){return _0x19a075;};return a0_0x552d();}const a0_0x27a49b=a0_0x3a4b;function a0_0x3a4b(_0x5d7828,_0x119e35){_0x5d7828=_0x5d7828-0xb1;const _0x552d6=a0_0x552d();let _0x3a4b68=_0x552d6[_0x5d7828];if(a0_0x3a4b['iVPmSb']===undefined){var _0x1b5a7a=function(_0x33a909){const _0x4a80ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20953e='',_0x384840='';for(let _0x26b5c5=0x0,_0x4855d6,_0x1a31ab,_0x426068=0x0;_0x1a31ab=_0x33a909['charAt'](_0x426068++);~_0x1a31ab&&(_0x4855d6=_0x26b5c5%0x4?_0x4855d6*0x40+_0x1a31ab:_0x1a31ab,_0x26b5c5++%0x4)?_0x20953e+=String['fromCharCode'](0xff&_0x4855d6>>(-0x2*_0x26b5c5&0x6)):0x0){_0x1a31ab=_0x4a80ff['indexOf'](_0x1a31ab);}for(let _0x3c8752=0x0,_0x26f76d=_0x20953e['length'];_0x3c8752<_0x26f76d;_0x3c8752++){_0x384840+='%'+('00'+_0x20953e['charCodeAt'](_0x3c8752)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x384840);};a0_0x3a4b['KRsxcr']=_0x1b5a7a,a0_0x3a4b['quTsXl']={},a0_0x3a4b['iVPmSb']=!![];}const _0x525911=_0x552d6[0x0],_0x26493a=_0x5d7828+_0x525911,_0x147e19=a0_0x3a4b['quTsXl'][_0x26493a];return!_0x147e19?(_0x3a4b68=a0_0x3a4b['KRsxcr'](_0x3a4b68),a0_0x3a4b['quTsXl'][_0x26493a]=_0x3a4b68):_0x3a4b68=_0x147e19,_0x3a4b68;}(function(_0x312331,_0x4703eb){const _0x3eb9f4=a0_0x3a4b,_0x6fc238=_0x312331();while(!![]){try{const _0x2e7c59=-parseInt(_0x3eb9f4(0xfa))/0x1*(-parseInt(_0x3eb9f4(0xbd))/0x2)+-parseInt(_0x3eb9f4(0xfe))/0x3+parseInt(_0x3eb9f4(0xd3))/0x4*(-parseInt(_0x3eb9f4(0x109))/0x5)+parseInt(_0x3eb9f4(0xfc))/0x6*(parseInt(_0x3eb9f4(0x129))/0x7)+-parseInt(_0x3eb9f4(0x128))/0x8+-parseInt(_0x3eb9f4(0x11f))/0x9*(-parseInt(_0x3eb9f4(0x112))/0xa)+parseInt(_0x3eb9f4(0x123))/0xb;if(_0x2e7c59===_0x4703eb)break;else _0x6fc238['push'](_0x6fc238['shift']());}catch(_0x56a583){_0x6fc238['push'](_0x6fc238['shift']());}}}(a0_0x552d,0x92270));import{exec}from'child_process';import{promisify}from'util';import a0_0x20953e from'path';import a0_0x384840 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x26b5c5=null){const _0x43209a=a0_0x3a4b;this[_0x43209a(0xdc)]=_0x26b5c5,this['availableScanners']=null,this['scannerCache']=new Map(),this[_0x43209a(0xc0)]=a0_0x20953e[_0x43209a(0xc3)](process['cwd'](),_0x43209a(0xcc),_0x43209a(0x11e));}async[a0_0x27a49b(0xf5)](){const _0x89c317=a0_0x27a49b;if(this[_0x89c317(0x117)]!==null)return this['availableScanners'];const _0x4855d6={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x1a31ab=a0_0x20953e['join'](this[_0x89c317(0xc0)],_0x89c317(0xe7));try{await a0_0x384840['access'](_0x1a31ab),_0x4855d6[_0x89c317(0xe7)]=!![],this[_0x89c317(0xdc)]?.['debug'](_0x89c317(0xcd));}catch{await execAsync(_0x89c317(0xfd),{'timeout':0x1388}),_0x4855d6[_0x89c317(0xe7)]=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xc2));}}catch(_0x426068){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0x12e),{'error':_0x426068['message']});}try{await execAsync('bandit\x20--version',{'timeout':0x1388}),_0x4855d6[_0x89c317(0xbc)]=!![],this[_0x89c317(0xdc)]?.['debug'](_0x89c317(0x105));}catch(_0x3c8752){this[_0x89c317(0xdc)]?.['debug'](_0x89c317(0xc7),{'error':_0x3c8752['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x4855d6[_0x89c317(0xd9)]=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xd6));}catch(_0x26f76d){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xff),{'error':_0x26f76d['message']});}try{await execAsync(_0x89c317(0x106),{'timeout':0x1388}),_0x4855d6['pipAudit']=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xf9));}catch(_0x8e1b99){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xcb),{'error':_0x8e1b99[_0x89c317(0xb5)]});}try{const _0x261aaf=await execAsync(_0x89c317(0x127),{'timeout':0x1388,'cwd':process[_0x89c317(0xf8)]()}),_0x29eac1=JSON['parse'](_0x261aaf[_0x89c317(0xe0)]);_0x29eac1[_0x89c317(0xdb)]&&_0x29eac1['dependencies'][_0x89c317(0x12c)]&&(_0x4855d6['eslintSecurity']=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xb1)));}catch(_0x2c4b0f){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xc6),{'error':_0x2c4b0f[_0x89c317(0xb5)]});}return this['availableScanners']=_0x4855d6,_0x4855d6;}async['analyze'](_0x5c21cf,_0xb865db,_0x329c06={}){const _0x3ed3ab=a0_0x27a49b,_0x3d1d65=[],_0x2d6ae1=await this['detectAvailableScanners'](),_0x14c563=this[_0x3ed3ab(0x108)](_0x5c21cf);if(_0x329c06['skipTestFiles']!==![]&&this['isTestFile'](_0x5c21cf))return this[_0x3ed3ab(0xdc)]?.['debug'](_0x3ed3ab(0xe9),{'filePath':_0x5c21cf}),[];if(_0x14c563==='javascript'||_0x14c563===_0x3ed3ab(0xf1)){if(_0x2d6ae1['semgrep']){const _0x5424b7=await this['runSemgrep'](_0x5c21cf,[_0x14c563],_0x329c06);_0x3d1d65[_0x3ed3ab(0x10e)](..._0x5424b7);}if(_0x2d6ae1[_0x3ed3ab(0xc1)]){const _0x4d51b3=await this[_0x3ed3ab(0x10a)](_0x5c21cf,_0xb865db,_0x329c06);_0x3d1d65[_0x3ed3ab(0x10e)](..._0x4d51b3);}}if(_0x14c563===_0x3ed3ab(0x10c)){if(_0x2d6ae1['bandit']){const _0x537a20=await this['runBandit'](_0x5c21cf,_0x329c06);_0x3d1d65['push'](..._0x537a20);}if(_0x2d6ae1['semgrep']){const _0x454712=await this['runSemgrep'](_0x5c21cf,[_0x14c563],_0x329c06);_0x3d1d65[_0x3ed3ab(0x10e)](..._0x454712);}}return _0x3d1d65[_0x3ed3ab(0x110)]===0x0&&!this['hasScannersForLanguage'](_0x2d6ae1,_0x14c563)&&this['logger']?.[_0x3ed3ab(0xb9)]('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x14c563,'filePath':_0x5c21cf}),this['normalizeResults'](_0x3d1d65);}async[a0_0x27a49b(0xfb)](_0x364f94,_0x248076,_0x2db5bf={}){const _0x13c2c7=a0_0x27a49b,_0x3d7114=[],_0x22e0d1=await this[_0x13c2c7(0xf5)]();if(_0x248076==='javascript'||_0x248076==='typescript'){if(_0x22e0d1[_0x13c2c7(0xd9)]){const _0x2e8d66=await this['runNpmAudit'](_0x364f94,_0x2db5bf);_0x3d7114['push'](..._0x2e8d66);}}if(_0x248076==='python'){if(_0x22e0d1['pipAudit']){const _0x42ad57=await this[_0x13c2c7(0xb2)](_0x364f94,_0x2db5bf);_0x3d7114[_0x13c2c7(0x10e)](..._0x42ad57);}}return this['normalizeResults'](_0x3d7114);}async['runSemgrep'](_0x3a922c,_0x146d4c,_0xcaa07a={}){const _0x38bc9d=a0_0x27a49b;try{const _0x35f836=a0_0x20953e[_0x38bc9d(0xe4)](_0x3a922c),_0x2860d6=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x3a922c+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x35f836}),_0x50e08c=JSON['parse'](_0x2860d6[_0x38bc9d(0xe0)]);return this['parseSemgrepResults'](_0x50e08c);}catch(_0x300ba8){if(_0x300ba8[_0x38bc9d(0xe0)])try{const _0x216a3e=JSON['parse'](_0x300ba8[_0x38bc9d(0xe0)]);return this['parseSemgrepResults'](_0x216a3e);}catch(_0x55da1b){this[_0x38bc9d(0xdc)]?.['error']('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x55da1b['message'],'stdout':_0x300ba8['stdout']});}return this['logger']?.[_0x38bc9d(0xd4)](_0x38bc9d(0x10d),{'error':_0x300ba8[_0x38bc9d(0xb5)]}),[];}}['parseSemgrepResults'](_0x85402c){const _0x12b0c0=a0_0x27a49b,_0x490baa=[];if(_0x85402c[_0x12b0c0(0xd7)]&&Array['isArray'](_0x85402c['results']))for(const _0x4fc929 of _0x85402c['results']){_0x490baa[_0x12b0c0(0x10e)]({'file':_0x4fc929[_0x12b0c0(0xeb)],'line':_0x4fc929['start']?.[_0x12b0c0(0xed)]||0x1,'column':_0x4fc929['start']?.[_0x12b0c0(0xe1)]||0x1,'severity':this[_0x12b0c0(0x102)](_0x4fc929['extra']?.['severity']),'rule':_0x4fc929['check_id'],'message':_0x4fc929[_0x12b0c0(0x115)]?.['message']||_0x4fc929['extra']?.['lines']||'Security\x20issue\x20detected','category':'security','scanner':'semgrep','cwe':_0x4fc929['extra']?.['metadata']?.['cwe'],'owasp':_0x4fc929[_0x12b0c0(0x115)]?.[_0x12b0c0(0xce)]?.['owasp'],'confidence':_0x4fc929[_0x12b0c0(0x115)]?.['metadata']?.[_0x12b0c0(0xdf)],'references':_0x4fc929[_0x12b0c0(0x115)]?.[_0x12b0c0(0xce)]?.['references']});}return _0x490baa;}async[a0_0x27a49b(0x120)](_0x5a32ff,_0x5a0b3e={}){const _0x39d140=a0_0x27a49b;try{const _0x1b4434=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x5a32ff+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x1aa472=JSON['parse'](_0x1b4434[_0x39d140(0xe0)]);return this[_0x39d140(0xdd)](_0x1aa472);}catch(_0x3153bf){if(_0x3153bf[_0x39d140(0xe0)])try{const _0x4103f8=JSON['parse'](_0x3153bf['stdout']);return this['parseBanditResults'](_0x4103f8);}catch(_0x24cdd){this[_0x39d140(0xdc)]?.[_0x39d140(0xd4)](_0x39d140(0xc5),{'error':_0x24cdd['message']});}return this['logger']?.['error'](_0x39d140(0xb3),{'error':_0x3153bf['message']}),[];}}['parseBanditResults'](_0x291a10){const _0x4bc445=a0_0x27a49b,_0x9ab178=[];if(_0x291a10[_0x4bc445(0xd7)]&&Array['isArray'](_0x291a10[_0x4bc445(0xd7)]))for(const _0x50e3c1 of _0x291a10['results']){_0x9ab178[_0x4bc445(0x10e)]({'file':_0x50e3c1[_0x4bc445(0x114)],'line':_0x50e3c1['line_number']||0x1,'column':_0x50e3c1[_0x4bc445(0xe2)]||0x1,'severity':this[_0x4bc445(0xf7)](_0x50e3c1[_0x4bc445(0xcf)]),'rule':_0x50e3c1['test_id'],'message':_0x50e3c1['issue_text'],'category':_0x4bc445(0xd8),'scanner':'bandit','cwe':_0x50e3c1[_0x4bc445(0xc8)]?.['id']?'CWE-'+_0x50e3c1['issue_cwe']['id']:null,'confidence':_0x50e3c1[_0x4bc445(0x111)],'moreInfo':_0x50e3c1[_0x4bc445(0x103)]});}return _0x9ab178;}async['runESLintSecurity'](_0x4a0286,_0x21d4f6,_0x489f96={}){const _0x314db1=a0_0x27a49b;try{const {ESLint:_0x4e95f3}=await import(_0x314db1(0xf6)),_0x12e2e0=new _0x4e95f3({'overrideConfig':{'plugins':[_0x314db1(0xd8)],'extends':[_0x314db1(0xee)],'parserOptions':{'ecmaVersion':'latest','sourceType':'module'}},'useEslintrc':![]}),_0x42a9ad=await _0x12e2e0[_0x314db1(0xd2)](_0x21d4f6,{'filePath':_0x4a0286});return this[_0x314db1(0x12b)](_0x42a9ad,_0x4a0286);}catch(_0x1bec54){return this['logger']?.['error'](_0x314db1(0xde),{'error':_0x1bec54['message'],'filePath':_0x4a0286}),[];}}[a0_0x27a49b(0x12b)](_0x50854b,_0x2e5bd3){const _0x15635a=a0_0x27a49b,_0x472536=[];for(const _0x1265b3 of _0x50854b){if(_0x1265b3['messages']&&Array[_0x15635a(0xf2)](_0x1265b3[_0x15635a(0xef)]))for(const _0x1857ca of _0x1265b3[_0x15635a(0xef)]){_0x1857ca['ruleId']&&_0x1857ca[_0x15635a(0x10f)][_0x15635a(0x124)](_0x15635a(0xf4))&&_0x472536['push']({'file':_0x2e5bd3,'line':_0x1857ca['line']||0x1,'column':_0x1857ca[_0x15635a(0x125)]||0x1,'severity':this['mapESLintSeverity'](_0x1857ca[_0x15635a(0xb6)]),'rule':_0x1857ca[_0x15635a(0x10f)],'message':_0x1857ca['message'],'category':_0x15635a(0xd8),'scanner':'eslint-security','fixable':_0x1857ca['fix']!==undefined});}}return _0x472536;}async['runNpmAudit'](_0x4b600b,_0x519006={}){const _0x2244d6=a0_0x27a49b;try{const _0x48bf04=a0_0x20953e['join'](_0x4b600b,'package.json');try{await a0_0x384840['access'](_0x48bf04);}catch{return this[_0x2244d6(0xdc)]?.[_0x2244d6(0xca)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x3e16be=await execAsync('npm\x20audit\x20--json',{'cwd':_0x4b600b,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x5b3c5f=JSON[_0x2244d6(0x12f)](_0x3e16be['stdout']);return this[_0x2244d6(0xbe)](_0x5b3c5f);}catch(_0x9f20d0){if(_0x9f20d0['stdout'])try{const _0x42433e=JSON[_0x2244d6(0x12f)](_0x9f20d0[_0x2244d6(0xe0)]);return this['parseNpmAuditResults'](_0x42433e);}catch(_0x271bcb){this['logger']?.['error']('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x271bcb[_0x2244d6(0xb5)]});}return[];}}[a0_0x27a49b(0xbe)](_0x409320){const _0x32bbe9=a0_0x27a49b,_0x13abf6=[];if(_0x409320['vulnerabilities'])for(const [_0x4670ed,_0x1ae65a]of Object['entries'](_0x409320[_0x32bbe9(0xf3)])){_0x13abf6[_0x32bbe9(0x10e)]({'file':_0x32bbe9(0xb4),'line':0x1,'column':0x1,'severity':this['mapNpmSeverity'](_0x1ae65a['severity']),'rule':'npm-'+(_0x1ae65a['via'][0x0]?.['source']||_0x32bbe9(0x130)),'message':_0x4670ed+':\x20'+(_0x1ae65a['via'][0x0]?.['title']||_0x32bbe9(0xe8)),'category':'security','scanner':'npm-audit','package':_0x4670ed,'vulnerableVersions':_0x1ae65a[_0x32bbe9(0x126)],'patchedVersions':_0x1ae65a[_0x32bbe9(0x119)]?'Available':'None','cve':_0x1ae65a[_0x32bbe9(0xf0)][0x0]?.[_0x32bbe9(0xda)],'cvss':_0x1ae65a[_0x32bbe9(0xf0)][0x0]?.['cvss'],'references':_0x1ae65a['via'][0x0]?.[_0x32bbe9(0xd1)]?[_0x1ae65a[_0x32bbe9(0xf0)][0x0]['url']]:[]});}return _0x13abf6;}async[a0_0x27a49b(0xb2)](_0x506ba9,_0x3f4b71={}){const _0xb7011=a0_0x27a49b;try{const requirementsPath=a0_0x20953e['join'](_0x506ba9,_0xb7011(0xb8));try{await a0_0x384840['access'](requirementsPath);}catch{return this['logger']?.[_0xb7011(0xca)]('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x29f35d=await execAsync('pip-audit\x20--format\x20json',{'cwd':_0x506ba9,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x5ddf39=JSON[_0xb7011(0x12f)](_0x29f35d[_0xb7011(0xe0)]);return this[_0xb7011(0xb7)](_0x5ddf39);}catch(_0x385313){if(_0x385313[_0xb7011(0xe0)])try{const _0x2d4bb8=JSON[_0xb7011(0x12f)](_0x385313['stdout']);return this['parsePipAuditResults'](_0x2d4bb8);}catch(_0x1a7f5f){this[_0xb7011(0xdc)]?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x1a7f5f[_0xb7011(0xb5)]});}return[];}}[a0_0x27a49b(0xb7)](_0x1be385){const _0x480431=a0_0x27a49b,_0x1cd4d6=[];if(_0x1be385[_0x480431(0xdb)]&&Array[_0x480431(0xf2)](_0x1be385[_0x480431(0xdb)]))for(const _0x4f19c9 of _0x1be385[_0x480431(0xdb)]){if(_0x4f19c9['vulns']&&Array[_0x480431(0xf2)](_0x4f19c9['vulns']))for(const _0x5caa37 of _0x4f19c9['vulns']){_0x1cd4d6[_0x480431(0x10e)]({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x5caa37[_0x480431(0xb6)]),'rule':_0x5caa37['id'],'message':_0x4f19c9[_0x480431(0x11b)]+':\x20'+(_0x5caa37[_0x480431(0xe6)]||'Security\x20vulnerability'),'category':'security','scanner':'pip-audit','package':_0x4f19c9[_0x480431(0x11b)],'vulnerableVersion':_0x4f19c9[_0x480431(0xc4)],'fixedVersions':_0x5caa37[_0x480431(0x12a)],'references':_0x5caa37[_0x480431(0x107)]||[]});}}return _0x1cd4d6;}['detectLanguage'](_0x9527d5){const _0x37d146=a0_0x27a49b,_0x6ef423=a0_0x20953e['extname'](_0x9527d5)['toLowerCase'](),_0x4877c4={'.js':_0x37d146(0x104),'.jsx':'javascript','.mjs':_0x37d146(0x104),'.cjs':_0x37d146(0x104),'.ts':'typescript','.tsx':'typescript','.py':_0x37d146(0x10c)};return _0x4877c4[_0x6ef423]||null;}['isTestFile'](_0x18f347){const _0x2984a1=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x2984a1['some'](_0x312f1c=>_0x312f1c['test'](_0x18f347));}[a0_0x27a49b(0xbf)](_0x6b3161,_0x5fcc7a){const _0x6f7f93=a0_0x27a49b;if(_0x5fcc7a==='javascript'||_0x5fcc7a===_0x6f7f93(0xf1))return _0x6b3161['semgrep']||_0x6b3161['eslintSecurity'];if(_0x5fcc7a===_0x6f7f93(0x10c))return _0x6b3161[_0x6f7f93(0xbc)]||_0x6b3161[_0x6f7f93(0xe7)];return![];}[a0_0x27a49b(0x122)](_0x5ab808){const _0x3584f5=a0_0x27a49b;return _0x5ab808['map'](_0x486b76=>({'file':_0x486b76['file'],'line':_0x486b76[_0x3584f5(0xed)]||0x1,'column':_0x486b76['column']||0x1,'severity':_0x486b76['severity']||STATIC_ANALYSIS[_0x3584f5(0x11c)]['WARNING'],'rule':_0x486b76['rule']||_0x3584f5(0x11d),'message':_0x486b76['message']||_0x3584f5(0x100),'category':'security','scanner':_0x486b76['scanner'],'cwe':_0x486b76['cwe']||null,'owasp':_0x486b76[_0x3584f5(0x113)]||null,'confidence':_0x486b76['confidence']||null,'fixable':_0x486b76[_0x3584f5(0x118)]||![],'remediation':_0x486b76[_0x3584f5(0x12d)]||_0x486b76['moreInfo']||null,'references':_0x486b76['references']||[],'package':_0x486b76[_0x3584f5(0xec)]||null}));}[a0_0x27a49b(0x102)](_0x220e78){const _0xaaa8b3=a0_0x27a49b,_0x2ddb34={'ERROR':STATIC_ANALYSIS[_0xaaa8b3(0x11c)]['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0xaaa8b3(0x11a)],'INFO':STATIC_ANALYSIS['SEVERITY'][_0xaaa8b3(0x10b)]};return _0x2ddb34[_0x220e78?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY'][_0xaaa8b3(0x10b)];}[a0_0x27a49b(0xf7)](_0x54a9dd){const _0x28e87c=a0_0x27a49b,_0x593227={'HIGH':STATIC_ANALYSIS[_0x28e87c(0x11c)]['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x28e87c(0x11a)],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x593227[_0x54a9dd?.['toUpperCase']()]||STATIC_ANALYSIS[_0x28e87c(0x11c)]['WARNING'];}['mapESLintSeverity'](_0x46919d){const _0x5702c7=a0_0x27a49b;return _0x46919d===0x2?STATIC_ANALYSIS['SEVERITY']['ERROR']:STATIC_ANALYSIS[_0x5702c7(0x11c)]['WARNING'];}['mapNpmSeverity'](_0x2f88ec){const _0x2faad8=a0_0x27a49b,_0x18c660={'critical':STATIC_ANALYSIS['SEVERITY'][_0x2faad8(0xe5)],'high':STATIC_ANALYSIS[_0x2faad8(0x11c)][_0x2faad8(0xe5)],'moderate':STATIC_ANALYSIS[_0x2faad8(0x11c)]['ERROR'],'low':STATIC_ANALYSIS['SEVERITY']['WARNING'],'info':STATIC_ANALYSIS['SEVERITY'][_0x2faad8(0xea)]};return _0x18c660[_0x2f88ec?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x27a49b(0xc9)](_0x7eacbf){const _0x4d655e=a0_0x27a49b;if(!_0x7eacbf)return STATIC_ANALYSIS[_0x4d655e(0x11c)][_0x4d655e(0x11a)];const _0x28c7e4={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x4d655e(0x11c)][_0x4d655e(0xe5)],'medium':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS[_0x4d655e(0x11c)]['WARNING']};return _0x28c7e4[_0x7eacbf?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY']['ERROR'];}async[a0_0x27a49b(0xd0)](){const _0x471069=a0_0x27a49b,_0x56e9ec=await this[_0x471069(0xf5)]();return{'scanners':_0x56e9ec,'recommendations':this['getInstallRecommendations'](_0x56e9ec)};}['getInstallRecommendations'](_0x433133){const _0x52d29c=a0_0x27a49b,_0x66d815=[];return!_0x433133[_0x52d29c(0xe7)]&&_0x66d815[_0x52d29c(0x10e)]({'scanner':'Semgrep','reason':_0x52d29c(0xba),'install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x52d29c(0x116)}),!_0x433133['bandit']&&_0x66d815['push']({'scanner':_0x52d29c(0xbb),'reason':_0x52d29c(0xd5),'install':'pip\x20install\x20bandit','priority':'medium'}),!_0x433133[_0x52d29c(0xc1)]&&_0x66d815['push']({'scanner':_0x52d29c(0x12c),'reason':_0x52d29c(0x131),'install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':'medium'}),!_0x433133[_0x52d29c(0x101)]&&_0x66d815[_0x52d29c(0x10e)]({'scanner':'pip-audit','reason':_0x52d29c(0x121),'install':_0x52d29c(0xe3),'priority':'low'}),_0x66d815;}}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- function a0_0x5efb(_0x24a6d2,_0x29d4fa){_0x24a6d2=_0x24a6d2-0x160;const _0x15c493=a0_0x15c4();let _0x5efbec=_0x15c493[_0x24a6d2];if(a0_0x5efb['vsMFrw']===undefined){var _0xd0b863=function(_0x5a1912){const _0x166cfa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ba7a8='',_0x402162='';for(let _0x5ec157=0x0,_0x10d92a,_0x3bba9d,_0x401f18=0x0;_0x3bba9d=_0x5a1912['charAt'](_0x401f18++);~_0x3bba9d&&(_0x10d92a=_0x5ec157%0x4?_0x10d92a*0x40+_0x3bba9d:_0x3bba9d,_0x5ec157++%0x4)?_0x2ba7a8+=String['fromCharCode'](0xff&_0x10d92a>>(-0x2*_0x5ec157&0x6)):0x0){_0x3bba9d=_0x166cfa['indexOf'](_0x3bba9d);}for(let _0x4779a2=0x0,_0x223f02=_0x2ba7a8['length'];_0x4779a2<_0x223f02;_0x4779a2++){_0x402162+='%'+('00'+_0x2ba7a8['charCodeAt'](_0x4779a2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x402162);};a0_0x5efb['gHfueF']=_0xd0b863,a0_0x5efb['csfQXy']={},a0_0x5efb['vsMFrw']=!![];}const _0x4f39c1=_0x15c493[0x0],_0x39d5e5=_0x24a6d2+_0x4f39c1,_0x4820b0=a0_0x5efb['csfQXy'][_0x39d5e5];return!_0x4820b0?(_0x5efbec=a0_0x5efb['gHfueF'](_0x5efbec),a0_0x5efb['csfQXy'][_0x39d5e5]=_0x5efbec):_0x5efbec=_0x4820b0,_0x5efbec;}const a0_0x1046c6=a0_0x5efb;(function(_0x105203,_0xd37721){const _0x4d1390=a0_0x5efb,_0xa02417=_0x105203();while(!![]){try{const _0x4f4ec0=-parseInt(_0x4d1390(0x179))/0x1+parseInt(_0x4d1390(0x171))/0x2*(-parseInt(_0x4d1390(0x18c))/0x3)+parseInt(_0x4d1390(0x184))/0x4*(-parseInt(_0x4d1390(0x189))/0x5)+-parseInt(_0x4d1390(0x168))/0x6+parseInt(_0x4d1390(0x162))/0x7*(parseInt(_0x4d1390(0x175))/0x8)+parseInt(_0x4d1390(0x193))/0x9*(-parseInt(_0x4d1390(0x160))/0xa)+parseInt(_0x4d1390(0x161))/0xb;if(_0x4f4ec0===_0xd37721)break;else _0xa02417['push'](_0xa02417['shift']());}catch(_0x4c5b49){_0xa02417['push'](_0xa02417['shift']());}}}(a0_0x15c4,0xd6f6d));import a0_0x2ba7a8 from'typescript';import a0_0x402162 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x15c4(){const _0x273988=['mte3mZe1nJnkvKz0yLa','Dw5RBM93BG','CgfYC2veAwfNBM9ZDgLJCW','u2nYAxb0vgfYz2v0','mtbYy1jLsxu','ndG1mtK4ntztCNP2t3y','n3rdqNLLvG','twvZC2fNzq','y2fUBM90igzPBMqGBw9KDwXL','C3rHCNq','BgvUz3rO','zM9YBwf0rgLHz25VC3rPyW','mZyZndiZmeTrBg5TsW','y3jLyxrLu291CMnLrMLSzq','su1qt1ju','yw5HBhL6zxiTzxjYB3i','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','rvjst1i','u3vNz2vZDgLVBG','v0fstKLorW','sNn4rw1PDa','nZKXoe1grNHKCG','rgLHz25VC3rPy0nHDgvNB3j5','Aw5JBhvKzxm','su5gtW','odCXodm1mMfgrMH2va','u0vwrvjjvfK','vfLqrq','q0furuDpuLK','otiXotiZCu11vMnO','y2HHCMfJDgvY','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','u1Lovefy','ChvZAa','Aw50zxjMywnL','C2v2zxjPDhK','y2XHC3m','y29Kzq','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','BgLIlMqUDhm','ndK1nta0nhDrEhj3Cq','BwvZC2fNzq','Dg9mB3DLCKnHC2u','zMLSDgvY','v2fYBMLUzW','nwDYz0Thva','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','Bg9Nz2vY','nde3CujUy21k','zgvIDwC','zMLSzq','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','vhLWzvnJCMLWDcbHBMfSExnPCYbMywLSzwq','uMvHy3q','tgf0zxn0'];a0_0x15c4=function(){return _0x273988;};return a0_0x15c4();}class TypeScriptAnalyzer{constructor(_0x5ec157=null){const _0x4f788b=a0_0x5efb;this['logger']=_0x5ec157,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x2ba7a8[_0x4f788b(0x170)][_0x4f788b(0x191)],'target':a0_0x2ba7a8['ScriptTarget'][_0x4f788b(0x192)],'module':a0_0x2ba7a8['ModuleKind']['ESNext'],'moduleResolution':a0_0x2ba7a8['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x10d92a,_0x3bba9d,_0x401f18={}){const _0x42b73e=a0_0x5efb;try{const _0x4779a2=[],_0x223f02=a0_0x2ba7a8[_0x42b73e(0x169)](_0x10d92a,_0x3bba9d,a0_0x2ba7a8['ScriptTarget']['Latest'],!![]),_0x33239e=this['getSyntacticDiagnostics'](_0x223f02);_0x4779a2['push'](..._0x33239e);const _0x3da6a6=await this['getSemanticDiagnostics'](_0x10d92a,_0x3bba9d);return _0x4779a2[_0x42b73e(0x17d)](..._0x3da6a6),this[_0x42b73e(0x18b)]?.['debug'](_0x42b73e(0x17b),{'file':_0x10d92a,'totalDiagnostics':_0x4779a2[_0x42b73e(0x166)],'errors':_0x4779a2[_0x42b73e(0x187)](_0x25b6f0=>_0x25b6f0['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x42b73e(0x166)],'warnings':_0x4779a2['filter'](_0x81cb9b=>_0x81cb9b[_0x42b73e(0x17f)]===STATIC_ANALYSIS['SEVERITY'][_0x42b73e(0x16f)])[_0x42b73e(0x166)]}),_0x4779a2;}catch(_0x2b229a){return this[_0x42b73e(0x18b)]?.['error'](_0x42b73e(0x190),{'file':_0x10d92a,'error':_0x2b229a['message']}),[{'file':_0x10d92a,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x42b73e(0x176)]['ERROR'],'rule':_0x42b73e(0x16b),'message':'Analysis\x20failed:\x20'+_0x2b229a[_0x42b73e(0x185)],'category':STATIC_ANALYSIS[_0x42b73e(0x178)]['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x5f3dd4){const _0x5c1ae0=a0_0x5efb,_0x328b02=[];if(_0x5f3dd4['parseDiagnostics']&&_0x5f3dd4[_0x5c1ae0(0x195)][_0x5c1ae0(0x166)]>0x0)for(const _0x591387 of _0x5f3dd4['parseDiagnostics']){_0x328b02[_0x5c1ae0(0x17d)](this['formatDiagnostic'](_0x591387,_0x5f3dd4));}return _0x328b02;}async[a0_0x1046c6(0x16c)](_0xf0a761,_0x55d7b8){const _0x4d7ed0=a0_0x1046c6,_0x10103a=[];try{const _0x6b04d6=a0_0x2ba7a8['createSourceFile'](_0xf0a761,_0x55d7b8,a0_0x2ba7a8[_0x4d7ed0(0x196)]['Latest'],!![]),_0x3b7c38={'getSourceFile':_0x1e337e=>{if(_0x1e337e===_0xf0a761)return _0x6b04d6;return undefined;},'getDefaultLibFileName':()=>_0x4d7ed0(0x183),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x402162['dirname'](_0xf0a761),'getDirectories':()=>[],'fileExists':_0x191169=>_0x191169===_0xf0a761,'readFile':_0x5dad57=>{if(_0x5dad57===_0xf0a761)return _0x55d7b8;return undefined;},'getCanonicalFileName':_0x5e4d11=>_0x5e4d11,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x49566f=a0_0x2ba7a8['createProgram']({'rootNames':[_0xf0a761],'options':this['compilerOptions'],'host':_0x3b7c38}),_0x5ddd69=_0x49566f['getSyntacticDiagnostics'](_0x6b04d6),_0x29e8a4=_0x49566f['getSemanticDiagnostics'](_0x6b04d6);for(const _0x4793e9 of[..._0x5ddd69,..._0x29e8a4]){_0x10103a['push'](this['formatDiagnostic'](_0x4793e9,_0x6b04d6));}}catch(_0x46b6bc){this[_0x4d7ed0(0x18b)]?.[_0x4d7ed0(0x18d)](_0x4d7ed0(0x18f),{'file':_0xf0a761,'error':_0x46b6bc['message']});}return _0x10103a;}[a0_0x1046c6(0x167)](_0x3356fe,_0x328c36){const _0x1eb309=a0_0x1046c6;let _0x3b3af6=0x0,_0x57c279=0x0;if(_0x3356fe[_0x1eb309(0x18e)]&&_0x3356fe[_0x1eb309(0x165)]!==undefined){const _0x2bbabf=_0x3356fe['file'][_0x1eb309(0x18a)](_0x3356fe[_0x1eb309(0x165)]);_0x3b3af6=_0x2bbabf['line']+0x1,_0x57c279=_0x2bbabf['character']+0x1;}else{if(_0x328c36&&_0x3356fe[_0x1eb309(0x165)]!==undefined){const _0x286382=_0x328c36[_0x1eb309(0x18a)](_0x3356fe[_0x1eb309(0x165)]);_0x3b3af6=_0x286382['line']+0x1,_0x57c279=_0x286382[_0x1eb309(0x17a)]+0x1;}}const _0x4a006f=a0_0x2ba7a8[_0x1eb309(0x182)](_0x3356fe['messageText'],'\x0a');let _0x9a8b3e;switch(_0x3356fe['category']){case a0_0x2ba7a8[_0x1eb309(0x172)]['Error']:_0x9a8b3e=STATIC_ANALYSIS[_0x1eb309(0x176)][_0x1eb309(0x16d)];break;case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x188)]:_0x9a8b3e=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x163)]:case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x16e)]:_0x9a8b3e=STATIC_ANALYSIS[_0x1eb309(0x176)][_0x1eb309(0x174)];break;default:_0x9a8b3e=STATIC_ANALYSIS['SEVERITY'][_0x1eb309(0x16d)];}let _0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x17c)];const _0x3205e9=_0x3356fe[_0x1eb309(0x181)];if(_0x3205e9>=0x7d0&&_0x3205e9<0xbb8)_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x177)];else{if(_0x3205e9>=0x3e8&&_0x3205e9<0x7d0)_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x17c)];else _0x3205e9>=0x8fc&&_0x3205e9<0x960&&(_0x441a04=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}const _0x2d47c7=_0x4a006f[_0x1eb309(0x186)]();if(_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x164))||_0x2d47c7[_0x1eb309(0x173)]('import')||_0x2d47c7['includes']('export'))_0x441a04=STATIC_ANALYSIS[_0x1eb309(0x178)][_0x1eb309(0x16a)];else(_0x2d47c7['includes']('type')||_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x17e))||_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x180)))&&(_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x177)]);return{'file':_0x3356fe['file']?.['fileName']||_0x328c36?.['fileName']||_0x1eb309(0x194),'line':_0x3b3af6,'column':_0x57c279,'severity':_0x9a8b3e,'rule':'TS'+_0x3205e9,'message':_0x4a006f,'category':_0x441a04,'fixable':![],'code':_0x3356fe['code']};}}export default TypeScriptAnalyzer;
1
+ const a0_0x121a4b=a0_0x19bc;(function(_0x333dbe,_0xe2c87d){const _0x15b40e=a0_0x19bc,_0x5529cc=_0x333dbe();while(!![]){try{const _0x4ae86b=parseInt(_0x15b40e(0x169))/0x1*(-parseInt(_0x15b40e(0x173))/0x2)+-parseInt(_0x15b40e(0x164))/0x3+-parseInt(_0x15b40e(0x14d))/0x4*(parseInt(_0x15b40e(0x179))/0x5)+-parseInt(_0x15b40e(0x162))/0x6*(-parseInt(_0x15b40e(0x178))/0x7)+-parseInt(_0x15b40e(0x15e))/0x8+parseInt(_0x15b40e(0x14f))/0x9*(parseInt(_0x15b40e(0x17c))/0xa)+parseInt(_0x15b40e(0x152))/0xb;if(_0x4ae86b===_0xe2c87d)break;else _0x5529cc['push'](_0x5529cc['shift']());}catch(_0x28a6c2){_0x5529cc['push'](_0x5529cc['shift']());}}}(a0_0x4ab9,0x22eae));function a0_0x19bc(_0x5dd93c,_0x4fb402){_0x5dd93c=_0x5dd93c-0x14a;const _0x4ab9c0=a0_0x4ab9();let _0x19bc34=_0x4ab9c0[_0x5dd93c];if(a0_0x19bc['KyBOSI']===undefined){var _0x4d9537=function(_0x29ae21){const _0x4c59ca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x362fe8='',_0x3936f4='';for(let _0x2b6e0d=0x0,_0x48d693,_0x1ec572,_0x3cbd87=0x0;_0x1ec572=_0x29ae21['charAt'](_0x3cbd87++);~_0x1ec572&&(_0x48d693=_0x2b6e0d%0x4?_0x48d693*0x40+_0x1ec572:_0x1ec572,_0x2b6e0d++%0x4)?_0x362fe8+=String['fromCharCode'](0xff&_0x48d693>>(-0x2*_0x2b6e0d&0x6)):0x0){_0x1ec572=_0x4c59ca['indexOf'](_0x1ec572);}for(let _0x417088=0x0,_0x3f3b67=_0x362fe8['length'];_0x417088<_0x3f3b67;_0x417088++){_0x3936f4+='%'+('00'+_0x362fe8['charCodeAt'](_0x417088)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3936f4);};a0_0x19bc['xZuvRs']=_0x4d9537,a0_0x19bc['FNqBqv']={},a0_0x19bc['KyBOSI']=!![];}const _0x2b59df=_0x4ab9c0[0x0],_0x21168c=_0x5dd93c+_0x2b59df,_0x2a2baf=a0_0x19bc['FNqBqv'][_0x21168c];return!_0x2a2baf?(_0x19bc34=a0_0x19bc['xZuvRs'](_0x19bc34),a0_0x19bc['FNqBqv'][_0x21168c]=_0x19bc34):_0x19bc34=_0x2a2baf,_0x19bc34;}import a0_0x362fe8 from'typescript';import a0_0x3936f4 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x4ab9(){const _0x3b731b=['tw9KDwXLuMvZB2X1DgLVBKTPBMq','ndvJyMzxrhq','y2XHC3m','y2HHCMfJDgvY','mZa3odK5oufZtunZwG','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','Aw5JBhvKzxm','y29TCgLSzxjpChrPB25Z','tM9KzuPZ','qw5HBhLZAxmGzMfPBgvKoIa','zgLYBMfTzq','rvjst1i','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','q0furuDpuLK','zM9YBwf0rgLHz25VC3rPyW','zgvIDwC','mZmXnJq4CwPmtu1P','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','su1qt1ju','tw9KDwXLs2LUza','mZK2mtjXu1HVtxe','u1Lovefy','mteWmty5q3PxA1np','tgf0zxn0','Bg9Nz2vY','C3rHCNq','u3vNz2vZDgLVBG','mJzlu0L5yLe','BwvZC2fNzq','rgLHz25VC3rPy0nHDgvNB3j5','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','zMLSDgvY','CgfYC2veAwfNBM9ZDgLJCW','BgvUz3rO','sNn4rw1PDa','zMLSzu5HBwu','twvZC2fNzq','mtaZotbJshrjsLK','y3jLyxrLu291CMnLrMLSzq','u0vwrvjjvfK','su5gtW','u2nYAxb0vgfYz2v0','odrwrgv3CfC','nduWndq1vLzvDMr4','BgLUzq','y2f0zwDVCNK','ntm0odeWt2Lvsg9Q','DhLWzq','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','vfLqrq','Aw50zxjMywnL','Dw5RBM93BG','C2v2zxjPDhK','ChvZAa','v2fYBMLUzW','mtjXrKnJEfC'];a0_0x4ab9=function(){return _0x3b731b;};return a0_0x4ab9();}class TypeScriptAnalyzer{constructor(_0x2b6e0d=null){const _0x1b4f0d=a0_0x19bc;this['logger']=_0x2b6e0d,this[_0x1b4f0d(0x155)]={'noEmit':!![],'jsx':a0_0x362fe8[_0x1b4f0d(0x170)]['React'],'target':a0_0x362fe8[_0x1b4f0d(0x177)][_0x1b4f0d(0x165)],'module':a0_0x362fe8[_0x1b4f0d(0x161)]['ESNext'],'moduleResolution':a0_0x362fe8[_0x1b4f0d(0x14e)][_0x1b4f0d(0x156)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x48d693,_0x1ec572,_0x3cbd87={}){const _0x28b5be=a0_0x19bc;try{const _0x417088=[],_0x3f3b67=a0_0x362fe8['createSourceFile'](_0x48d693,_0x1ec572,a0_0x362fe8['ScriptTarget'][_0x28b5be(0x165)],!![]),_0x2d529c=this[_0x28b5be(0x16c)](_0x3f3b67);_0x417088['push'](..._0x2d529c);const _0x201c5e=await this[_0x28b5be(0x17e)](_0x48d693,_0x1ec572);return _0x417088['push'](..._0x201c5e),this[_0x28b5be(0x166)]?.[_0x28b5be(0x15d)](_0x28b5be(0x15f),{'file':_0x48d693,'totalDiagnostics':_0x417088['length'],'errors':_0x417088[_0x28b5be(0x16d)](_0x1f3c80=>_0x1f3c80['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])['length'],'warnings':_0x417088['filter'](_0x2ad967=>_0x2ad967[_0x28b5be(0x14a)]===STATIC_ANALYSIS[_0x28b5be(0x175)]['WARNING'])[_0x28b5be(0x16f)]}),_0x417088;}catch(_0x378188){return this['logger']?.['error']('TypeScript\x20analysis\x20failed',{'file':_0x48d693,'error':_0x378188[_0x28b5be(0x16a)]}),[{'file':_0x48d693,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':_0x28b5be(0x157)+_0x378188[_0x28b5be(0x16a)],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}[a0_0x121a4b(0x16c)](_0x1b6c88){const _0x20bbd8=a0_0x121a4b,_0x453d3a=[];if(_0x1b6c88[_0x20bbd8(0x16e)]&&_0x1b6c88['parseDiagnostics']['length']>0x0)for(const _0x93f60a of _0x1b6c88['parseDiagnostics']){_0x453d3a[_0x20bbd8(0x14b)](this['formatDiagnostic'](_0x93f60a,_0x1b6c88));}return _0x453d3a;}async[a0_0x121a4b(0x17e)](_0x4aacf4,_0x26deeb){const _0x5b81dd=a0_0x121a4b,_0x4a5574=[];try{const _0x39d688=a0_0x362fe8[_0x5b81dd(0x174)](_0x4aacf4,_0x26deeb,a0_0x362fe8['ScriptTarget'][_0x5b81dd(0x165)],!![]),_0x525e24={'getSourceFile':_0x88da54=>{if(_0x88da54===_0x4aacf4)return _0x39d688;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x3936f4[_0x5b81dd(0x158)](_0x4aacf4),'getDirectories':()=>[],'fileExists':_0x3c5974=>_0x3c5974===_0x4aacf4,'readFile':_0x4b2441=>{if(_0x4b2441===_0x4aacf4)return _0x26deeb;return undefined;},'getCanonicalFileName':_0x3138a9=>_0x3138a9,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x1d6346=a0_0x362fe8['createProgram']({'rootNames':[_0x4aacf4],'options':this['compilerOptions'],'host':_0x525e24}),_0x5e61fa=_0x1d6346['getSyntacticDiagnostics'](_0x39d688),_0x49c0ce=_0x1d6346[_0x5b81dd(0x17e)](_0x39d688);for(const _0x320541 of[..._0x5e61fa,..._0x49c0ce]){_0x4a5574[_0x5b81dd(0x14b)](this[_0x5b81dd(0x15c)](_0x320541,_0x39d688));}}catch(_0x4ae08b){this['logger']?.[_0x5b81dd(0x15d)]('Semantic\x20analysis\x20encountered\x20error',{'file':_0x4aacf4,'error':_0x4ae08b[_0x5b81dd(0x16a)]});}return _0x4a5574;}[a0_0x121a4b(0x15c)](_0x3675cf,_0x7d7af){const _0x371a48=a0_0x121a4b;let _0x145735=0x0,_0x2e0199=0x0;if(_0x3675cf['file']&&_0x3675cf[_0x371a48(0x167)]!==undefined){const _0x201c65=_0x3675cf['file'][_0x371a48(0x153)](_0x3675cf[_0x371a48(0x167)]);_0x145735=_0x201c65['line']+0x1,_0x2e0199=_0x201c65[_0x371a48(0x151)]+0x1;}else{if(_0x7d7af&&_0x3675cf['start']!==undefined){const _0x540758=_0x7d7af['getLineAndCharacterOfPosition'](_0x3675cf[_0x371a48(0x167)]);_0x145735=_0x540758[_0x371a48(0x17a)]+0x1,_0x2e0199=_0x540758[_0x371a48(0x151)]+0x1;}}const _0x219cbd=a0_0x362fe8[_0x371a48(0x15a)](_0x3675cf['messageText'],'\x0a');let _0x2e26ce;switch(_0x3675cf[_0x371a48(0x17b)]){case a0_0x362fe8['DiagnosticCategory']['Error']:_0x2e26ce=STATIC_ANALYSIS[_0x371a48(0x175)][_0x371a48(0x159)];break;case a0_0x362fe8[_0x371a48(0x16b)][_0x371a48(0x14c)]:_0x2e26ce=STATIC_ANALYSIS[_0x371a48(0x175)]['WARNING'];break;case a0_0x362fe8['DiagnosticCategory'][_0x371a48(0x172)]:case a0_0x362fe8['DiagnosticCategory'][_0x371a48(0x168)]:_0x2e26ce=STATIC_ANALYSIS[_0x371a48(0x175)][_0x371a48(0x176)];break;default:_0x2e26ce=STATIC_ANALYSIS['SEVERITY'][_0x371a48(0x159)];}let _0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x163)];const _0x4de718=_0x3675cf['code'];if(_0x4de718>=0x7d0&&_0x4de718<0xbb8)_0x569eee=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x4de718>=0x3e8&&_0x4de718<0x7d0)_0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x163)];else _0x4de718>=0x8fc&&_0x4de718<0x960&&(_0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x160)]);}const _0x383e0c=_0x219cbd['toLowerCase']();if(_0x383e0c['includes']('cannot\x20find\x20module')||_0x383e0c[_0x371a48(0x154)]('import')||_0x383e0c[_0x371a48(0x154)]('export'))_0x569eee=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x383e0c['includes'](_0x371a48(0x17d))||_0x383e0c['includes'](_0x371a48(0x180))||_0x383e0c[_0x371a48(0x154)](_0x371a48(0x150)))&&(_0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x17f)]);return{'file':_0x3675cf['file']?.['fileName']||_0x7d7af?.[_0x371a48(0x171)]||_0x371a48(0x181),'line':_0x145735,'column':_0x2e0199,'severity':_0x2e26ce,'rule':'TS'+_0x4de718,'message':_0x219cbd,'category':_0x569eee,'fixable':![],'code':_0x3675cf['code']};}}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x30ad35=a0_0x4712;function a0_0x401b(){const _0x570c99=['uMvMywn0B3jPBMCGDg8G','D2HPBgu','Bg9N','C2L6zq','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','AgLNAa','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','C3rHCNrmAw5L','zxH0CMfJDc1MDw5JDgLVBG','CM91BMq','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','ndC0mte3nKfqy2XYqq','CMvWBgfJzq','zxH0CMfJDc1TB2r1Bgu','Aw5JBhvKzxm','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','zgv0zxjTAw5LuhjPB3jPDhK','oty0mJi0mvzACevwqG','zgvZy3jPyMvczw5LzML0CW','zM9Y','BwfW','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','igzPBgvZ','mZaYmZjzAfLhyxu','C29Tzq','y3jLyxrLrNvUy3rPB25oyw1L','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','ChvZAa','zM9YrwfJAa','zw50CMLLCW','y2fSy3vSyxrLtwv0CMLJCW','zw5KtgLUzq','igXVy2f0Aw9UCW','y2fSy3vSyxrLsw1Wywn0u2nVCMu','y29Kzq','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','C3vNz2vZDe5HBwu','DMfY','Bg93','zxH0CMfJDc1JBgfZCW','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','C2XPy2u','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','y2HHCKf0','zwXZzq','igr1CgXPy2f0zwqGBgLUzxmUia','ndG0mtK1mZbmC2PfvfC','C29YDa','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','mJeYn2TTCLPXEa','mty5ofrABxjyyG','Dg9Rzw5dB3vUDa','yxzLCMfNzuXPBMvdB3vUDa','nJu2ywjRqLD1','BwvKAxvT','nZi1EePMwMTj','Bg9Nmta','Dg9gAxHLza','cI4UlIaODhj1BMnHDgvKkq','zxn0Aw1HDgvfzMzVCNq','AM9PBG','nZaYotLStfvYu1m','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','yMXVy2TZ','Aw1Wywn0u2nVCMu','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','BgvUz3rO','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','y29UzMLKzw5Jzq','Aw5ZDgfUy2vdB3vUDa','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','Bwv0CMLJCW','mZGWotyZsufou0XY','y29UzMLN','zhvWBgLJyxrLzeXPBMvZ'];a0_0x401b=function(){return _0x570c99;};return a0_0x401b();}function a0_0x4712(_0x5ba57f,_0x312d33){_0x5ba57f=_0x5ba57f-0xaf;const _0x401b50=a0_0x401b();let _0x471230=_0x401b50[_0x5ba57f];if(a0_0x4712['HuCpOU']===undefined){var _0x3a2956=function(_0x2c2089){const _0x5785bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3cf039='',_0x6dc748='';for(let _0x4dd13a=0x0,_0x31c6a2,_0x39dac8,_0xaa5d9f=0x0;_0x39dac8=_0x2c2089['charAt'](_0xaa5d9f++);~_0x39dac8&&(_0x31c6a2=_0x4dd13a%0x4?_0x31c6a2*0x40+_0x39dac8:_0x39dac8,_0x4dd13a++%0x4)?_0x3cf039+=String['fromCharCode'](0xff&_0x31c6a2>>(-0x2*_0x4dd13a&0x6)):0x0){_0x39dac8=_0x5785bc['indexOf'](_0x39dac8);}for(let _0x3dd183=0x0,_0x292ba5=_0x3cf039['length'];_0x3dd183<_0x292ba5;_0x3dd183++){_0x6dc748+='%'+('00'+_0x3cf039['charCodeAt'](_0x3dd183)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6dc748);};a0_0x4712['CxNWeP']=_0x3a2956,a0_0x4712['JfWKXE']={},a0_0x4712['HuCpOU']=!![];}const _0x48749a=_0x401b50[0x0],_0x23d3e2=_0x5ba57f+_0x48749a,_0x4c2554=a0_0x4712['JfWKXE'][_0x23d3e2];return!_0x4c2554?(_0x471230=a0_0x4712['CxNWeP'](_0x471230),a0_0x4712['JfWKXE'][_0x23d3e2]=_0x471230):_0x471230=_0x4c2554,_0x471230;}(function(_0x174058,_0x2eec57){const _0x1057d5=a0_0x4712,_0x55df09=_0x174058();while(!![]){try{const _0x1e5f73=parseInt(_0x1057d5(0xb1))/0x1+parseInt(_0x1057d5(0xe7))/0x2*(-parseInt(_0x1057d5(0xe6))/0x3)+-parseInt(_0x1057d5(0xcb))/0x4*(parseInt(_0x1057d5(0xec))/0x5)+-parseInt(_0x1057d5(0xbf))/0x6+-parseInt(_0x1057d5(0xc5))/0x7+parseInt(_0x1057d5(0xea))/0x8*(-parseInt(_0x1057d5(0xf2))/0x9)+parseInt(_0x1057d5(0xe3))/0xa;if(_0x1e5f73===_0x2eec57)break;else _0x55df09['push'](_0x55df09['shift']());}catch(_0x2e653a){_0x55df09['push'](_0x55df09['shift']());}}}(a0_0x401b,0xaf068));export class RefactoringAnalyzer{constructor(_0x3cf039){const _0x4de2f9=a0_0x4712;this[_0x4de2f9(0xb2)]=_0x3cf039;}['analyzeClones'](_0x6dc748){const _0x18c491=a0_0x4712;return console[_0x18c491(0xb6)](_0x18c491(0xf8)),_0x6dc748[_0x18c491(0xc8)]((_0x4dd13a,_0x31c6a2)=>{const _0x13863c=_0x18c491,_0x39dac8=this[_0x13863c(0xd2)](_0x4dd13a),_0xaa5d9f=this[_0x13863c(0xe5)](_0x4dd13a,_0x39dac8);return{'id':'clone-'+(_0x31c6a2+0x1),'type':_0x4dd13a['type'],'confidence':_0x4dd13a['confidence'],'instances':_0x4dd13a[_0x13863c(0xf4)]['map'](_0x3dd183=>({'file':_0x3dd183['file'],'startLine':_0x3dd183[_0x13863c(0xbb)],'endLine':_0x3dd183[_0x13863c(0xd3)],'code':this['truncateCode'](_0x3dd183[_0x13863c(0xd6)]),'fullCode':_0x3dd183['code'],'blockType':_0x3dd183['type']})),'metrics':_0x39dac8,'refactoringAdvice':_0xaa5d9f};})['sort']((_0x292ba5,_0x18eb28)=>_0x18eb28['metrics'][_0x18c491(0xf5)]-_0x292ba5[_0x18c491(0xb0)][_0x18c491(0xf5)]);}['calculateMetrics'](_0x56429f){const _0x22cdd0=a0_0x4712,_0xc2b7e5=_0x56429f['blocks'],_0x47c9ab=_0x56429f[_0x22cdd0(0xe8)],_0x43de9d=this[_0x22cdd0(0xe9)](_0xc2b7e5),_0x16d998=_0xc2b7e5[_0x22cdd0(0xf7)],_0x129091=this['calculateImpactScore'](_0x47c9ab,_0x43de9d,_0x16d998,_0x56429f[_0x22cdd0(0xf9)]),_0x44a26c=_0x43de9d*(_0x16d998-0x1),_0x4c52ba=_0x47c9ab*(_0x16d998-0x1);return{'tokenCount':_0x47c9ab,'lineCount':_0x43de9d,'instanceCount':_0x16d998,'duplicatedLines':_0x44a26c,'duplicatedTokens':_0x4c52ba,'impactScore':parseFloat(_0x129091[_0x22cdd0(0xee)](0x2)),'filesCovered':new Set(_0xc2b7e5['map'](_0x46cc41=>_0x46cc41['file']))[_0x22cdd0(0xb7)]};}[a0_0x30ad35(0xd5)](_0x4f5b65,_0x5381a4,_0x477a6a,_0x1780ae){const _0x28edfd=a0_0x30ad35,_0x52963f=Math[_0x28edfd(0xed)](_0x4f5b65+0x1)*0x2,_0xa406e8=Math['log2'](_0x477a6a+0x1)*0x3,_0x35541d=_0x1780ae*0x2,_0x173698=Math['min'](_0x5381a4/0xa,0x3);return _0x52963f+_0xa406e8+_0x35541d+_0x173698;}['generateRefactoringAdvice'](_0x13a2f0,_0xfbda87){const _0x36ac81=a0_0x30ad35,_0x38af36=this[_0x36ac81(0xaf)](_0x13a2f0,_0xfbda87),_0x19a839=this['determinePriority'](_0xfbda87),_0x295bae=this['suggestName'](_0x13a2f0),_0x535411=this['generateReasoning'](_0x13a2f0,_0xfbda87,_0x38af36),_0x51cd5c=this[_0x36ac81(0xf0)](_0xfbda87,_0x38af36),_0x5224bb=this[_0x36ac81(0xc6)](_0xfbda87);return{'priority':_0x19a839,'strategy':_0x38af36,'suggestedName':_0x295bae,'reasoning':_0x535411,'estimatedEffort':_0x51cd5c,'benefits':_0x5224bb,'actionableSteps':this['generateActionableSteps'](_0x38af36,_0x295bae,_0xfbda87)};}[a0_0x30ad35(0xaf)](_0x2555ba,_0x572338){const _0x105f39=a0_0x30ad35,{tokenCount:_0x151a60,lineCount:_0x164969,instanceCount:_0x269c34,filesCovered:_0x13a52b}=_0x572338,_0x51ff90=_0x2555ba['blocks']['map'](_0x982549=>_0x982549['type']),_0x52f82a=_0x51ff90[_0x105f39(0xcc)](_0x500961=>_0x500961['includes']('Function')||_0x500961[_0x105f39(0xc2)]('Method')),_0x3b7339=_0x51ff90['some'](_0x4406bc=>_0x4406bc['includes']('Class'));if(_0x3b7339&&_0x164969>0x32)return'extract-module';else{if(_0x13a52b>0x2&&_0x151a60>0x64)return'extract-module';else{if(_0x52f82a||_0x164969>=0xa&&_0x164969<=0x32)return'extract-function';else{if(_0x164969>0x32)return'extract-class';else return _0x164969<0xa?'extract-constant-or-utility':_0x105f39(0xbc);}}}}[a0_0x30ad35(0xc4)](_0x447360){const _0x2ca1f6=a0_0x30ad35,{impactScore:_0x166ece}=_0x447360;if(_0x166ece>=0x8)return _0x2ca1f6(0xb9);if(_0x166ece>=0x5)return _0x2ca1f6(0xeb);return _0x2ca1f6(0xdb);}[a0_0x30ad35(0xd9)](_0x4abda5){const _0x55c00a=a0_0x30ad35,_0x15ca35=_0x4abda5[_0x55c00a(0xf4)]['map'](_0x396c41=>_0x396c41[_0x55c00a(0xd6)])[_0x55c00a(0xf1)]('\x20'),_0xa65196=_0x15ca35['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x1ffb92={};_0xa65196[_0x55c00a(0xd0)](_0x57fb66=>{const _0x557795=_0x55c00a;if(['const','let',_0x557795(0xda),'function','return','if',_0x557795(0xe1),_0x557795(0xc7),_0x557795(0xb5)][_0x557795(0xc2)](_0x57fb66))return;_0x1ffb92[_0x57fb66]=(_0x1ffb92[_0x57fb66]||0x0)+0x1;});const _0x133246=Object[_0x55c00a(0xd1)](_0x1ffb92)[_0x55c00a(0xe4)]((_0x4b344e,_0x2d63a)=>_0x2d63a[0x1]-_0x4b344e[0x1])['slice'](0x0,0x3);if(_0x133246['length']>0x0){const _0x47bef7=_0x133246['map'](([_0x2de080])=>_0x2de080);return this[_0x55c00a(0xcd)](_0x47bef7);}return'extractedFunction';}['createFunctionName'](_0xd0454a){const _0x38035e=a0_0x30ad35;if(_0xd0454a['length']===0x0)return'extractedFunction';return _0xd0454a[0x0]+_0xd0454a[_0x38035e(0xde)](0x1)['map'](_0xaa3c9b=>_0xaa3c9b[_0x38035e(0xe0)](0x0)['toUpperCase']()+_0xaa3c9b['slice'](0x1))['join']('');}['generateReasoning'](_0x22f788,_0x3f194a,_0x1cfe6c){const _0x4233f3=a0_0x30ad35,{instanceCount:_0x10c74b,duplicatedLines:_0x4434fb,filesCovered:_0x1f8e44}=_0x3f194a;let _0x505115='This\x20'+_0x22f788['type']+'\x20code\x20pattern\x20appears\x20'+_0x10c74b+'\x20times';return _0x1f8e44>0x1&&(_0x505115+='\x20across\x20'+_0x1f8e44+'\x20different\x20files'),_0x505115+=',\x20resulting\x20in\x20'+_0x4434fb+_0x4233f3(0xe2),_0x505115+=_0x4233f3(0xb4)+_0x1cfe6c['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x10c74b>=0x3&&(_0x505115+=', reduce bugs from inconsistent changes'),_0x505115+=',\x20and\x20reduce\x20code\x20size',_0x3f194a[_0x4233f3(0xf5)]>=0x8&&(_0x505115+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x505115+'.';}['estimateEffort'](_0x3541f0,_0x3a78da){const _0x5019ad=a0_0x30ad35,{lineCount:_0x57c22a,instanceCount:_0x5e2f35,filesCovered:_0x4d573c}=_0x3541f0;let _0x5642be=0x0;_0x5642be+=Math['min'](_0x57c22a/0xa,0x5),_0x5642be+=_0x5e2f35*0.5,_0x5642be+=_0x4d573c*0.5;if(_0x3a78da===_0x5019ad(0xc1))_0x5642be+=0x3;else{if(_0x3a78da===_0x5019ad(0xdc))_0x5642be+=0x2;else _0x3a78da==='extract-function'&&(_0x5642be+=0x1);}if(_0x5642be<=0x3)return _0x5019ad(0xdb);if(_0x5642be<=0x7)return'medium';return _0x5019ad(0xb9);}['describeBenefits'](_0x268ec8){const _0x5c7322=a0_0x30ad35,_0x482849=[];return _0x482849['push']('Eliminate\x20'+_0x268ec8[_0x5c7322(0xb3)]+'\x20duplicated\x20lines\x20of\x20code'),_0x482849[_0x5c7322(0xcf)](_0x5c7322(0xce)),_0x268ec8[_0x5c7322(0xfa)]>=0x3&&_0x482849['push']('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x268ec8[_0x5c7322(0xfa)]+_0x5c7322(0xd4)),_0x268ec8['filesCovered']>0x2&&_0x482849['push'](_0x5c7322(0xc3)+_0x268ec8['filesCovered']+_0x5c7322(0xca)),_0x482849[_0x5c7322(0xcf)]('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x482849;}[a0_0x30ad35(0xbe)](_0x5b5019,_0x585995,_0x9bf5e0){const _0x217c9a=a0_0x30ad35,_0x55ab7c=[];switch(_0x5b5019){case'extract-function':_0x55ab7c[_0x217c9a(0xcf)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x585995+'\x27'),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xf6)),_0x55ab7c['push']('3. Identify parameters needed from the surrounding context'),_0x55ab7c['push'](_0x217c9a(0xb8)),_0x55ab7c[_0x217c9a(0xcf)]('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x217c9a(0xdc):_0x55ab7c['push']('1.\x20Create\x20a\x20new\x20class\x20to\x20encapsulate\x20this\x20functionality'),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xba)),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xf3)),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xd7));break;case _0x217c9a(0xc1):_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xdd)),_0x55ab7c['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x55ab7c['push'](_0x217c9a(0xd8)),_0x55ab7c[_0x217c9a(0xcf)]('4. Update all files to import from the new module'),_0x55ab7c[_0x217c9a(0xcf)]('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x55ab7c['push'](_0x217c9a(0xdf)+_0x5b5019[_0x217c9a(0xc0)](/-/g,'\x20')),_0x55ab7c['push'](_0x217c9a(0xc9)),_0x55ab7c[_0x217c9a(0xcf)]('3.\x20Test\x20thoroughly');}return _0x55ab7c;}['truncateCode'](_0x322d6b,_0x5dee7d=0xa){const _0x23b40b=a0_0x30ad35,_0x3a918d=_0x322d6b['split']('\x0a');if(_0x3a918d[_0x23b40b(0xf7)]<=_0x5dee7d)return _0x322d6b;return _0x3a918d['slice'](0x0,_0x5dee7d)['join']('\x0a')+_0x23b40b(0xef);}['averageLineCount'](_0x5bfbb5){const _0x3a7e00=a0_0x30ad35,_0x88f214=_0x5bfbb5['reduce']((_0x2bc882,_0x3e12b6)=>_0x2bc882+(_0x3e12b6['endLine']-_0x3e12b6['startLine']+0x1),0x0);return Math[_0x3a7e00(0xbd)](_0x88f214/_0x5bfbb5[_0x3a7e00(0xf7)]);}}
1
+ function a0_0x1cd9(_0xc8b283,_0x23f9c7){_0xc8b283=_0xc8b283-0xb0;const _0x1688b8=a0_0x1688();let _0x1cd942=_0x1688b8[_0xc8b283];if(a0_0x1cd9['NJKmUQ']===undefined){var _0x252b8b=function(_0x5cedf2){const _0x2502bb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c4310='',_0x3259f5='';for(let _0x38c2ec=0x0,_0x17e4b9,_0x245465,_0x5c91c2=0x0;_0x245465=_0x5cedf2['charAt'](_0x5c91c2++);~_0x245465&&(_0x17e4b9=_0x38c2ec%0x4?_0x17e4b9*0x40+_0x245465:_0x245465,_0x38c2ec++%0x4)?_0x7c4310+=String['fromCharCode'](0xff&_0x17e4b9>>(-0x2*_0x38c2ec&0x6)):0x0){_0x245465=_0x2502bb['indexOf'](_0x245465);}for(let _0x840b59=0x0,_0x425e68=_0x7c4310['length'];_0x840b59<_0x425e68;_0x840b59++){_0x3259f5+='%'+('00'+_0x7c4310['charCodeAt'](_0x840b59)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3259f5);};a0_0x1cd9['BcEHzI']=_0x252b8b,a0_0x1cd9['TZIzFL']={},a0_0x1cd9['NJKmUQ']=!![];}const _0x398f30=_0x1688b8[0x0],_0x3e15ea=_0xc8b283+_0x398f30,_0x111bf6=a0_0x1cd9['TZIzFL'][_0x3e15ea];return!_0x111bf6?(_0x1cd942=a0_0x1cd9['BcEHzI'](_0x1cd942),a0_0x1cd9['TZIzFL'][_0x3e15ea]=_0x1cd942):_0x1cd942=_0x111bf6,_0x1cd942;}const a0_0x15882f=a0_0x1cd9;(function(_0x4e0c6b,_0x1a52c4){const _0x4a2688=a0_0x1cd9,_0x7f400a=_0x4e0c6b();while(!![]){try{const _0x408cb3=-parseInt(_0x4a2688(0xb1))/0x1+-parseInt(_0x4a2688(0xcf))/0x2*(parseInt(_0x4a2688(0xb5))/0x3)+-parseInt(_0x4a2688(0xc2))/0x4+-parseInt(_0x4a2688(0xc7))/0x5+parseInt(_0x4a2688(0xee))/0x6+-parseInt(_0x4a2688(0xd8))/0x7+parseInt(_0x4a2688(0xbb))/0x8*(parseInt(_0x4a2688(0xd5))/0x9);if(_0x408cb3===_0x1a52c4)break;else _0x7f400a['push'](_0x7f400a['shift']());}catch(_0x52dcfa){_0x7f400a['push'](_0x7f400a['shift']());}}}(a0_0x1688,0xd32b4));function a0_0x1688(){const _0x3a0cb5=['Aw1Wywn0u2nVCMu','ndK5ogLnywj1Bq','Bwv0CMLJCW','BwfW','y2HHCKf0','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','C3bSAxq','mJyZn0LMzezrwa','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','y3jLyxrLrNvUy3rPB25oyw1L','nJqXmtC1nxbnD1LnBa','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','C29YDa','Bg9Nmta','AgLNAa','Dg9gAxHLza','ihrPBwvZ','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','zxH0CMfJDc1TB2r1Bgu','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','DMfY','vgHPCYa','y29UzMLKzw5Jzq','yxzLCMfNzuXPBMvdB3vUDa','CMvKDwnL','y29Kzq','zxH0CMfJDc1JBgfZCW','zw5KtgLUzq','C2L6zq','zgv0zxjTAw5LuhjPB3jPDhK','Aw5JBhvKzxm','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','nda0odCYmKzIternwq','zgvZy3jPyMvczw5LzML0CW','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','yMXVy2TZ','C3rHCNrmAw5L','z2vUzxjHDgvszwfZB25PBMC','mtq3ntmZmhb3u2nbtW','zxH0CMfJDgvKrNvUy3rPB24','uMvMywn0B3jPBMCGDg8G','ChvZAa','nJq1seTQqurs','Bg9N','zNvUy3rPB24','C2XPy2u','mY4GvgvZDcb0Ag9YB3vNAgX5','zwXZzq','mteYmJmYu3nst2T1','igXVy2f0Aw9UCW','zxn0Aw1HDgvfzMzVCNq','zMLSzxndB3zLCMvK','C3vNz2vZDe5HBwu','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','y29UC3q','nJGXodiWqLrVB1rN','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','y2fSy3vSyxrLtwv0CMLJCW','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','BwvKAxvT','ndeWnJuWnxrezK5QzG','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','igzPBgvZ','Bg93','BgvUz3rO','Dg9Rzw5dB3vUDa','C29Tzq'];a0_0x1688=function(){return _0x3a0cb5;};return a0_0x1688();}export class RefactoringAnalyzer{constructor(_0x7c4310){this['config']=_0x7c4310;}['analyzeClones'](_0x3259f5){const _0x14e97d=a0_0x1cd9;return console[_0x14e97d(0xb6)]('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x3259f5[_0x14e97d(0xd1)]((_0x38c2ec,_0x17e4b9)=>{const _0x1c472b=_0x14e97d,_0x245465=this[_0x1c472b(0xc4)](_0x38c2ec),_0x5c91c2=this[_0x1c472b(0xc0)](_0x38c2ec,_0x245465);return{'id':'clone-'+(_0x17e4b9+0x1),'type':_0x38c2ec['type'],'confidence':_0x38c2ec[_0x1c472b(0xe4)],'instances':_0x38c2ec[_0x1c472b(0xf2)][_0x1c472b(0xd1)](_0x840b59=>({'file':_0x840b59['file'],'startLine':_0x840b59[_0x1c472b(0xf3)],'endLine':_0x840b59[_0x1c472b(0xe9)],'code':this['truncateCode'](_0x840b59[_0x1c472b(0xe7)]),'fullCode':_0x840b59['code'],'blockType':_0x840b59['type']})),'metrics':_0x245465,'refactoringAdvice':_0x5c91c2};})[_0x14e97d(0xda)]((_0x425e68,_0x5534ff)=>_0x5534ff['metrics'][_0x14e97d(0xce)]-_0x425e68[_0x14e97d(0xd0)]['impactScore']);}['calculateMetrics'](_0xffe4a7){const _0x4c8e4d=a0_0x1cd9,_0x58a6fb=_0xffe4a7['blocks'],_0x44f2ac=_0xffe4a7[_0x4c8e4d(0xcc)],_0x2af1d4=this[_0x4c8e4d(0xe5)](_0x58a6fb),_0xd395ff=_0x58a6fb['length'],_0x1d2adc=this['calculateImpactScore'](_0x44f2ac,_0x2af1d4,_0xd395ff,_0xffe4a7['confidence']),_0x21f4d7=_0x2af1d4*(_0xd395ff-0x1),_0x2d384c=_0x44f2ac*(_0xd395ff-0x1);return{'tokenCount':_0x44f2ac,'lineCount':_0x2af1d4,'instanceCount':_0xd395ff,'duplicatedLines':_0x21f4d7,'duplicatedTokens':_0x2d384c,'impactScore':parseFloat(_0x1d2adc[_0x4c8e4d(0xdd)](0x2)),'filesCovered':new Set(_0x58a6fb[_0x4c8e4d(0xd1)](_0x50247e=>_0x50247e['file']))[_0x4c8e4d(0xea)]};}['calculateImpactScore'](_0x4a97b3,_0x77631e,_0xea1376,_0x26302c){const _0x30f8c8=a0_0x1cd9,_0x32841b=Math[_0x30f8c8(0xdb)](_0x4a97b3+0x1)*0x2,_0x42b91d=Math['log2'](_0xea1376+0x1)*0x3,_0x485597=_0x26302c*0x2,_0x45fb8c=Math['min'](_0x77631e/0xa,0x3);return _0x32841b+_0x42b91d+_0x485597+_0x45fb8c;}[a0_0x15882f(0xc0)](_0x1a732e,_0x5b5435){const _0x293a8d=a0_0x15882f,_0x55a248=this[_0x293a8d(0xf0)](_0x1a732e,_0x5b5435),_0x213346=this[_0x293a8d(0xeb)](_0x5b5435),_0x2c5965=this[_0x293a8d(0xbf)](_0x1a732e),_0x237b9c=this[_0x293a8d(0xb0)](_0x1a732e,_0x5b5435,_0x55a248),_0x3d1c30=this[_0x293a8d(0xbd)](_0x5b5435,_0x55a248),_0x448a9d=this['describeBenefits'](_0x5b5435);return{'priority':_0x213346,'strategy':_0x55a248,'suggestedName':_0x2c5965,'reasoning':_0x237b9c,'estimatedEffort':_0x3d1c30,'benefits':_0x448a9d,'actionableSteps':this['generateActionableSteps'](_0x55a248,_0x2c5965,_0x5b5435)};}[a0_0x15882f(0xf0)](_0x37cb7d,_0x2db4f9){const _0x2d0388=a0_0x15882f,{tokenCount:_0x30c346,lineCount:_0xa59ee2,instanceCount:_0x28dbd9,filesCovered:_0x254cff}=_0x2db4f9,_0x201971=_0x37cb7d['blocks'][_0x2d0388(0xd1)](_0x280c6e=>_0x280c6e['type']),_0x4cb0ee=_0x201971[_0x2d0388(0xcd)](_0xa3635e=>_0xa3635e[_0x2d0388(0xec)]('Function')||_0xa3635e['includes']('Method')),_0x21277c=_0x201971[_0x2d0388(0xcd)](_0x2e8346=>_0x2e8346[_0x2d0388(0xec)]('Class'));if(_0x21277c&&_0xa59ee2>0x32)return'extract-module';else{if(_0x254cff>0x2&&_0x30c346>0x64)return _0x2d0388(0xe0);else{if(_0x4cb0ee||_0xa59ee2>=0xa&&_0xa59ee2<=0x32)return'extract-function';else{if(_0xa59ee2>0x32)return'extract-class';else return _0xa59ee2<0xa?_0x2d0388(0xc5):'extract-function';}}}}[a0_0x15882f(0xeb)](_0x5374c4){const {impactScore:_0x33bb45}=_0x5374c4;if(_0x33bb45>=0x8)return'high';if(_0x33bb45>=0x5)return'medium';return'low';}['suggestName'](_0x1ff920){const _0x469bf6=a0_0x15882f,_0x464945=_0x1ff920['blocks'][_0x469bf6(0xd1)](_0x3b01b6=>_0x3b01b6['code'])['join']('\x20'),_0x338515=_0x464945['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x303f43={};_0x338515['forEach'](_0x1c26cf=>{const _0x163fe0=_0x469bf6;if([_0x163fe0(0xc1),'let',_0x163fe0(0xe2),_0x163fe0(0xb7),'return','if',_0x163fe0(0xba),'for','while'][_0x163fe0(0xec)](_0x1c26cf))return;_0x303f43[_0x1c26cf]=(_0x303f43[_0x1c26cf]||0x0)+0x1;});const _0x5cdc72=Object['entries'](_0x303f43)[_0x469bf6(0xda)]((_0x64270f,_0x460e66)=>_0x460e66[0x1]-_0x64270f[0x1])[_0x469bf6(0xb8)](0x0,0x3);if(_0x5cdc72[_0x469bf6(0xcb)]>0x0){const _0xabe91b=_0x5cdc72['map'](([_0x5a7172])=>_0x5a7172);return this['createFunctionName'](_0xabe91b);}return'extractedFunction';}[a0_0x15882f(0xd7)](_0x12b3e4){const _0x343cee=a0_0x15882f;if(_0x12b3e4['length']===0x0)return _0x343cee(0xb2);return _0x12b3e4[0x0]+_0x12b3e4[_0x343cee(0xb8)](0x1)['map'](_0x3b1e6d=>_0x3b1e6d[_0x343cee(0xd2)](0x0)['toUpperCase']()+_0x3b1e6d['slice'](0x1))['join']('');}[a0_0x15882f(0xb0)](_0xdc5029,_0x2f8058,_0x667351){const _0x48101f=a0_0x15882f,{instanceCount:_0x133b74,duplicatedLines:_0x7aabe1,filesCovered:_0x46aff7}=_0x2f8058;let _0x45c2b5=_0x48101f(0xe3)+_0xdc5029['type']+'\x20code\x20pattern\x20appears\x20'+_0x133b74+_0x48101f(0xde);return _0x46aff7>0x1&&(_0x45c2b5+='\x20across\x20'+_0x46aff7+'\x20different\x20files'),_0x45c2b5+=',\x20resulting\x20in\x20'+_0x7aabe1+'\x20duplicated\x20lines.\x20',_0x45c2b5+=_0x48101f(0xb3)+_0x667351['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x133b74>=0x3&&(_0x45c2b5+=', reduce bugs from inconsistent changes'),_0x45c2b5+=',\x20and\x20reduce\x20code\x20size',_0x2f8058['impactScore']>=0x8&&(_0x45c2b5+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x45c2b5+'.';}['estimateEffort'](_0x183e12,_0xb005b9){const _0x50b324=a0_0x15882f,{lineCount:_0xa0e69,instanceCount:_0x239a87,filesCovered:_0x4ff8cc}=_0x183e12;let _0x36d14a=0x0;_0x36d14a+=Math['min'](_0xa0e69/0xa,0x5),_0x36d14a+=_0x239a87*0.5,_0x36d14a+=_0x4ff8cc*0.5;if(_0xb005b9===_0x50b324(0xe0))_0x36d14a+=0x3;else{if(_0xb005b9==='extract-class')_0x36d14a+=0x2;else _0xb005b9==='extract-function'&&(_0x36d14a+=0x1);}if(_0x36d14a<=0x3)return _0x50b324(0xca);if(_0x36d14a<=0x7)return _0x50b324(0xc6);return _0x50b324(0xdc);}[a0_0x15882f(0xef)](_0x4c7b88){const _0x6620d8=a0_0x15882f,_0x506714=[];return _0x506714['push']('Eliminate\x20'+_0x4c7b88['duplicatedLines']+'\x20duplicated\x20lines\x20of\x20code'),_0x506714[_0x6620d8(0xb4)]('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x4c7b88['instanceCount']>=0x3&&_0x506714[_0x6620d8(0xb4)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x4c7b88['instanceCount']+_0x6620d8(0xbc)),_0x4c7b88[_0x6620d8(0xbe)]>0x2&&_0x506714[_0x6620d8(0xb4)](_0x6620d8(0xf1)+_0x4c7b88['filesCovered']+_0x6620d8(0xc9)),_0x506714['push']('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x506714;}[a0_0x15882f(0xdf)](_0x264ea6,_0x2bc358,_0x2aa9b5){const _0x1aa855=a0_0x15882f,_0x37ff55=[];switch(_0x264ea6){case'extract-function':_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xd3)+_0x2bc358+'\x27'),_0x37ff55['push']('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0x37ff55[_0x1aa855(0xb4)]('3. Identify parameters needed from the surrounding context'),_0x37ff55[_0x1aa855(0xb4)]('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xd9));break;case _0x1aa855(0xe8):_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xc8)),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xd6)),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xe1)),_0x37ff55['push']('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case _0x1aa855(0xe0):_0x37ff55['push'](_0x1aa855(0xed)),_0x37ff55['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x37ff55['push']('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x37ff55['push']('4. Update all files to import from the new module'),_0x37ff55['push']('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x37ff55['push']('1.\x20Extract\x20the\x20duplicated\x20code\x20using\x20'+_0x264ea6['replace'](/-/g,'\x20')),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xc3)),_0x37ff55['push'](_0x1aa855(0xb9));}return _0x37ff55;}['truncateCode'](_0x692983,_0x180cf5=0xa){const _0x4fd695=a0_0x15882f,_0x16bb97=_0x692983[_0x4fd695(0xd4)]('\x0a');if(_0x16bb97[_0x4fd695(0xcb)]<=_0x180cf5)return _0x692983;return _0x16bb97['slice'](0x0,_0x180cf5)['join']('\x0a')+'\x0a...\x20(truncated)';}[a0_0x15882f(0xe5)](_0x221fc2){const _0x4d708b=a0_0x15882f,_0x4b65b0=_0x221fc2[_0x4d708b(0xe6)]((_0x595b34,_0x21985b)=>_0x595b34+(_0x21985b['endLine']-_0x21985b['startLine']+0x1),0x0);return Math['round'](_0x4b65b0/_0x221fc2['length']);}}