@ranger-testing/ranger-cli 3.1.7-alpha.387730d-58 → 3.1.7-alpha.44736ee-66

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 (88) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/actors.js +1 -0
  38. package/build/commands/utils/agentEnv.js +1 -1
  39. package/build/commands/utils/browserSessionsApi.js +1 -1
  40. package/build/commands/utils/claudeConfig.js +1 -1
  41. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  42. package/build/commands/utils/claudePlugin.js +1 -1
  43. package/build/commands/utils/cloudProfile.js +1 -1
  44. package/build/commands/utils/cloudProfileSession.js +1 -1
  45. package/build/commands/utils/crypto.js +1 -1
  46. package/build/commands/utils/desirePathLog.js +1 -1
  47. package/build/commands/utils/deviceAuth.js +1 -1
  48. package/build/commands/utils/environment.js +1 -1
  49. package/build/commands/utils/featureApi.js +1 -1
  50. package/build/commands/utils/fixWebmDuration.js +1 -1
  51. package/build/commands/utils/gitTracked.js +1 -1
  52. package/build/commands/utils/keychain.js +1 -1
  53. package/build/commands/utils/legacyWarning.js +1 -1
  54. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  55. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  56. package/build/commands/utils/mcpImageBase64.js +1 -1
  57. package/build/commands/utils/model.js +1 -1
  58. package/build/commands/utils/novaActCli.js +1 -1
  59. package/build/commands/utils/opencodeConfig.js +1 -1
  60. package/build/commands/utils/organizationEnvApi.js +1 -1
  61. package/build/commands/utils/playwrightCli.js +1 -1
  62. package/build/commands/utils/profileMessages.js +1 -1
  63. package/build/commands/utils/profileSetupBanner.js +1 -1
  64. package/build/commands/utils/projectsConfig.js +1 -1
  65. package/build/commands/utils/rangerConfig.js +1 -1
  66. package/build/commands/utils/rangerRoot.js +1 -1
  67. package/build/commands/utils/rangerwrightCli.js +1 -1
  68. package/build/commands/utils/resolveProfileContext.js +1 -1
  69. package/build/commands/utils/resolveProfileUrl.js +1 -1
  70. package/build/commands/utils/retry.js +1 -1
  71. package/build/commands/utils/scenarioOriginCheck.js +1 -1
  72. package/build/commands/utils/sessionCache.js +1 -1
  73. package/build/commands/utils/settings.js +1 -1
  74. package/build/commands/utils/skillContent.js +1 -1
  75. package/build/commands/utils/skills.js +1 -1
  76. package/build/commands/utils/stitchWebmFiles.js +1 -1
  77. package/build/commands/utils/telemetry.js +1 -1
  78. package/build/commands/utils/tokenRefresh.js +1 -1
  79. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  80. package/build/commands/utils/tunnelClient.js +1 -1
  81. package/build/commands/utils/userApi.js +1 -1
  82. package/build/commands/utils/version.js +1 -1
  83. package/build/commands/verifyFeature.js +1 -1
  84. package/build/commands/verifyFeatureCli.js +1 -1
  85. package/build/commands/verifyFeatureNovaCli.js +1 -1
  86. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  87. package/build/skills/ranger/SKILL.md +8 -0
  88. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x1e8167=_0x486f;(function(_0x5cbe39,_0x2bda8a){const _0x3c40ec=_0x486f,_0x35f071=_0x5cbe39();while(!![]){try{const _0x17c738=-parseInt(_0x3c40ec(0xf1))/0x1+-parseInt(_0x3c40ec(0x18c))/0x2*(parseInt(_0x3c40ec(0x129))/0x3)+parseInt(_0x3c40ec(0xfc))/0x4+parseInt(_0x3c40ec(0x14d))/0x5+-parseInt(_0x3c40ec(0x13e))/0x6+parseInt(_0x3c40ec(0x17c))/0x7+-parseInt(_0x3c40ec(0x162))/0x8;if(_0x17c738===_0x2bda8a)break;else _0x35f071['push'](_0x35f071['shift']());}catch(_0x2369a6){_0x35f071['push'](_0x35f071['shift']());}}}(_0x4747,0xb0c44));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x3f7ac0 from'inquirer';import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isBareLocalhost,isCachedSessionLive,isInteractive,needsTunnel,orderLoginDomains,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{matchAuthEnvironmentByHost,matchAuthEnvironmentExact}from'./matchAuthEnvironment.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x333db3){const _0x1bbdaf=_0x486f,_0x1f954c={'iBdMe':_0x1bbdaf(0x14c)};try{return new URL(_0x333db3)['host'];}catch{return _0x1f954c['iBdMe'];}}function errorMessageForTelemetry(_0x137c79){const _0xccbae7=_0x486f,_0x5233fb={'zcTEQ':function(_0xfd933b,_0x3c0466){return _0xfd933b instanceof _0x3c0466;}};return _0x5233fb[_0xccbae7(0xff)](_0x137c79,Error)?_0x137c79[_0xccbae7(0x141)]:undefined;}function trackBridgeEvent(_0xf3eacf,_0x409686){const _0x1307b3=_0x486f,_0x48a4f0={'kDQmy':'tunnel_bridge_event','mWlCU':function(_0x4413d7,_0x446fdb){return _0x4413d7===_0x446fdb;},'YlMJM':'local_ws_error','iNeIo':'tunnel_bridge'};if(!_0xf3eacf)return;const _0x2ff472={'tunnelSessionId':_0x409686[_0x1307b3(0x198)],'tunnelEventType':_0x409686[_0x1307b3(0x14e)],'connectionId':_0x409686['connectionId'],'code':_0x409686[_0x1307b3(0x12f)],'reason':_0x409686['reason'],'error':_0x409686[_0x1307b3(0x195)],'elapsedMs':_0x409686[_0x1307b3(0x116)],'activeLocalConnections':_0x409686[_0x1307b3(0x100)],'pendingLocalConnections':_0x409686[_0x1307b3(0x13a)]};_0xf3eacf[_0x1307b3(0x17e)](_0x48a4f0[_0x1307b3(0xef)],_0x2ff472),(_0x409686[_0x1307b3(0x14e)]===_0x1307b3(0x13f)||_0x48a4f0[_0x1307b3(0x187)](_0x409686['type'],_0x48a4f0[_0x1307b3(0x18a)]))&&void _0xf3eacf[_0x1307b3(0x11b)](_0x48a4f0[_0x1307b3(0x160)],new Error(_0x409686['error']??_0x409686['type']),_0x2ff472);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;function _0x486f(_0x427f2a,_0x4e2a15){_0x427f2a=_0x427f2a-0xef;const _0x4747b5=_0x4747();let _0x486ff9=_0x4747b5[_0x427f2a];return _0x486ff9;}async function requireToken(){const _0x57a6fd=_0x486f,_0x4c580f={'XzFou':function(_0x5ca5ca){return _0x5ca5ca();},'zFzpT':_0x57a6fd(0x14f)},_0x2a6a76=await _0x4c580f[_0x57a6fd(0x10d)](getToken);if(!_0x2a6a76)throw new Error(_0x4c580f[_0x57a6fd(0x17b)]);return _0x2a6a76;}async function apiRequest(_0x33c57a,_0x2fb471={}){const _0x14932f=_0x486f,_0x2f3fd9={'aqEgF':function(_0x29dcd4){return _0x29dcd4();},'IgqtT':function(_0x2a589a,_0x626845){return _0x2a589a===_0x626845;},'FTAzj':function(_0x4a1e5e,_0x5ec938){return _0x4a1e5e===_0x5ec938;},'KijSG':function(_0x5bab1b,_0x5cd3ea){return _0x5bab1b===_0x5cd3ea;}},_0x525f7d=await requireToken(),_0x3507d3=_0x2f3fd9['aqEgF'](getApiBaseUrl),_0x27ce55=await fetch(''+_0x3507d3+_0x33c57a,{..._0x2fb471,'headers':{'Authorization':_0x14932f(0xf2)+_0x525f7d,'Content-Type':_0x14932f(0x139),..._0x2fb471['headers']??{}}});if(!_0x27ce55['ok']){let _0x4eb135='',_0x2adf7d;try{const _0x27fba9=await _0x27ce55['json'](),_0x2ae4d0=(_0x2f3fd9['IgqtT'](typeof _0x27fba9['error'],'string')?_0x27fba9['error']:undefined)??JSON['stringify'](_0x27fba9);_0x4eb135=_0x2ae4d0;_0x2f3fd9['FTAzj'](typeof _0x27fba9['test_output'],_0x14932f(0x102))&&_0x27fba9[_0x14932f(0x173)]&&(_0x4eb135=_0x4eb135+'\x0a'+_0x27fba9['test_output']);if(typeof _0x27fba9['code']===_0x14932f(0x102))_0x2adf7d=_0x27fba9[_0x14932f(0x12f)];}catch{_0x4eb135=_0x27ce55[_0x14932f(0x184)];}throw new ApiError(_0x14932f(0x18e)+_0x33c57a+'\x20failed\x20('+_0x27ce55[_0x14932f(0x108)]+'):\x20'+_0x4eb135,_0x27ce55['status'],_0x4eb135,_0x2adf7d);}if(_0x2f3fd9['KijSG'](_0x27ce55[_0x14932f(0x108)],0xcc))return undefined;return _0x27ce55['json']();}export class ApiError extends Error{[_0x1e8167(0x108)];[_0x1e8167(0x12a)];['code'];constructor(_0x2ab18d,_0x340379,_0x2b788b,_0x3e107a){const _0x51c810=_0x1e8167;super(_0x2ab18d),this['status']=_0x340379,this[_0x51c810(0x12a)]=_0x2b788b,this['code']=_0x3e107a,this[_0x51c810(0x164)]='ApiError';}}export async function fetchCloudProfile(_0x5a1820){const _0x4d8c75=_0x1e8167,_0x465169={'nzArF':function(_0x17851e,_0x45a970){return _0x17851e(_0x45a970);}};try{return await _0x465169[_0x4d8c75(0x167)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x5a1820));}catch(_0x530c6f){if(_0x530c6f instanceof ApiError&&_0x530c6f['status']===0x194)return null;throw _0x530c6f;}}function _0x4747(){const _0x4822a0=['gGPMO','true','catch','AUGkX','\x20\x20Cloud\x20profile\x20\x22','No\x20auth\x20environment\x20matches\x20the\x20local\x20target\x20\x22','error','stringify','PCEiO','sessionId','ecITR','invalidateOn','\x20(declared\x20port\x20differs;\x20pass\x20--env\x20to\x20override).','session_state','/api/v1/profiles/','\x22,\x20attempting\x20login...','cCjDx','cookies','QhJTY','profiles','domains','tunnelUrl','kDQmy','FNILG','930613hmawvB','Bearer\x20','/login','environmentKey','sJbhg','\x20--url\x20','MhpGe','url','\x22\x20for\x20','env','close','5197868YWGmaM','forceLogin','huYbw','zcTEQ','activeLocalConnections','tjmKo','string','fDZTR','/api/v1/profiles','tunnel_session_id','RIQwj','storageStatePath','status','uXSNb','settings','Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20','CHVAL','XzFou',');\x20pass\x20--env\x20<key>\x20to\x20pick\x20one.','telemetry','loginInstructions','\x20\x20-\x20run\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','\x22.\x0a','save','\x20\x20Debug:\x20launching\x20tunneled\x20login\x20browser\x20headed...','elapsedMs','KIrWk','lQQux','\x22,\x20cached\x20locally','auth','trackPhaseError','HWUmQ','auth_config','tunnel','\x22;\x20using\x20\x22','cykUc','pBezm','kmcgw','utf-8','confirm','agent','2|0|4|3|1','\x22\x20not\x20found.','username','3515331RwGWdO','detail','\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','toLowerCase','wuYBN','\x20\x20Created\x20cloud\x20profile\x20\x22','code','VHNma','RANGER_TEST_USERNAME','force','WXthL','iyenm','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','persistSessionState','keys','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','application/json','pendingLocalConnections','raw','HcpxC','/api/v1/tunnel/sessions/','822270kAhUTU','tunnel_error','\x20\x20Ranger\x20can\x27t\x20assume\x20your\x20org\x27s\x20default\x20login\x20flow\x20applies\x20to\x20an\x20arbitrary\x20local\x20app.\x0a','message','pwEndpoint','password','effectiveBaseUrl','pw_endpoint','Multiple\x20auth\x20environments\x20declare\x20this\x20host\x20(','\x22,\x20refreshing\x20session...','key','launch','sessionState','\x20Available:\x20','invalid-url','4189120ZhPIFl','type','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','browserOptions','tunnel_login_request','xvRZb','bFZuU','prompt','No\x20saved\x20session\x20for\x20\x22','ambiguous','defaultEnvironmentKey','tunnel_login_setup','tunnel_login_cleanup','EmPby','assertedEnv','nnRas','fxWkX','PUT','iNeIo','organizationId','2177808LsZoyA','RANGER_TEST_PASSWORD','name','\x20Your\x20org\x20has\x20no\x20auth\x20environments\x20configured.','\x22\x20but\x20this\x20run\x20resolved\x20env\x20\x22','nzArF','userAgent','Pass\x20--base-url\x20<your-app-url>\x20so\x20Ranger\x20can\x20match\x20the\x20right\x20one,\x20or\x20create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`.','QuPUF','setupHeaders','\x22\x20instead.','XiANy','log','isArray','jrKTL','then','clientIp','test_output','origin','\x22;\x20proceeding\x20with\x20loginInstructions.','\x20\x20Cloud\x20session\x20for\x20\x22','about:blank','\x20\x20-\x20ask\x20your\x20Ranger\x20admin\x20to\x20add\x20\x22','\x22\x20not\x20found\x20in\x20your\x20org\x27s\x20config.','join','zFzpT','7688842cNxjoB','replace','trackPhaseEnd','sessionCheckPath','vkFqq','decui','cEKtl','length','statusText','not_configured',').\x20','mWlCU','environments','POST','YlMJM','yqqYc','2sSayve','\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.','API\x20request\x20'];_0x4747=function(){return _0x4822a0;};return _0x4747();}export async function listCloudProfiles(){const _0x4cda4b=_0x1e8167,_0x47dbbf={'emyho':function(_0x4aaa2d,_0x3f58a0){return _0x4aaa2d(_0x3f58a0);},'kmcgw':_0x4cda4b(0x104)},_0x35fe4c=await _0x47dbbf['emyho'](apiRequest,_0x47dbbf[_0x4cda4b(0x122)]);return _0x35fe4c[_0x4cda4b(0x1a2)];}export async function deleteCloudProfile(_0x5858f4){const _0xda29ff=_0x1e8167;try{await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x5858f4),{'method':'DELETE'});}catch(_0x113259){if(_0x113259 instanceof ApiError&&_0x113259['status']===0x194)throw new Error('Cloud\x20profile\x20\x22'+_0x5858f4+_0xda29ff(0x127));throw _0x113259;}}export async function createCloudProfile(_0x3db164,_0x25517e,_0x559a44={}){const _0xd0abd9=_0x1e8167,_0x230b1c={'yLDSk':function(_0x2dbad5,_0x34b5dd,_0x494324){return _0x2dbad5(_0x34b5dd,_0x494324);},'pBezm':'/api/v1/profiles','bGEMB':_0xd0abd9(0x189)},_0x55b95f={'name':_0x3db164};if(_0x25517e)_0x55b95f['environment_key']=_0x25517e;_0x559a44['settings']&&Object['keys'](_0x559a44['settings'])['length']>0x0&&(_0x55b95f[_0xd0abd9(0x10a)]=_0x559a44[_0xd0abd9(0x10a)]);if(_0x559a44[_0xd0abd9(0x128)])_0x55b95f['username']=_0x559a44['username'];if(_0x559a44['password'])_0x55b95f[_0xd0abd9(0x143)]=_0x559a44['password'];return await _0x230b1c['yLDSk'](apiRequest,_0x230b1c[_0xd0abd9(0x121)],{'method':_0x230b1c['bGEMB'],'body':JSON[_0xd0abd9(0x196)](_0x55b95f)});}export async function uploadCloudProfileSession(_0x36ef13,_0x28e85d){const _0x2b460b=_0x1e8167,_0x2d697a={'kZWVr':function(_0x409ad7,_0x2b60a5){return _0x409ad7(_0x2b60a5);}};return await apiRequest(_0x2b460b(0x19d)+_0x2d697a['kZWVr'](encodeURIComponent,_0x36ef13)+'/session',{'method':_0x2b460b(0x189),'body':JSON[_0x2b460b(0x196)]({'session_state':_0x28e85d})});}export async function saveCloudProfileCredentials(_0x4c3be2,_0x340af6,_0x4cf3d9){const _0x1d4a38=_0x1e8167,_0x5d0691={'NuFeV':function(_0xfe57af,_0x15acdd,_0x1f878e){return _0xfe57af(_0x15acdd,_0x1f878e);}};await _0x5d0691['NuFeV'](apiRequest,_0x1d4a38(0x19d)+encodeURIComponent(_0x4c3be2),{'method':_0x1d4a38(0x15f),'body':JSON[_0x1d4a38(0x196)]({'username':_0x340af6,'password':_0x4cf3d9})});}export async function fetchAuthConfig(){const _0x472402=_0x1e8167,_0x256d89={'nnRas':function(_0x433e34,_0x5aae0f){return _0x433e34(_0x5aae0f);},'kyutR':function(_0x3658eb,_0x9b102c){return _0x3658eb instanceof _0x9b102c;}};try{const _0x58f192=await _0x256d89[_0x472402(0x15d)](apiRequest,'/api/v1/profiles/auth-config');return _0x58f192[_0x472402(0x11d)];}catch(_0x24508b){return _0x256d89['kyutR'](_0x24508b,ApiError)&&_0x24508b['status']!==0x194&&console[_0x472402(0x195)](_0x472402(0x135)+_0x24508b[_0x472402(0x141)]),null;}}async function createTunnelSession(_0x59487f){const _0x1db2f4=_0x1e8167,_0x19e7fe={'FNILG':function(_0xbb948f,_0x1bfcda,_0x4cb216){return _0xbb948f(_0x1bfcda,_0x4cb216);},'yqqYc':'/api/v1/tunnel/sessions'};return await _0x19e7fe[_0x1db2f4(0xf0)](apiRequest,_0x19e7fe[_0x1db2f4(0x18b)],{'method':'POST','body':JSON[_0x1db2f4(0x196)]({'targetUrl':_0x59487f,'mode':_0x1db2f4(0x125)})});}async function deleteTunnelSession(_0x2f1e5b){const _0x10b474=_0x1e8167,_0x4d935e={'PCEiO':'DELETE'};await apiRequest(_0x10b474(0x13d)+_0x2f1e5b,{'method':_0x4d935e[_0x10b474(0x197)]});}export function pickAdHocEnvKey(_0x41e138,_0x2f6311,_0x206e1a){const _0x36ef32=_0x1e8167,_0x47371e={'zrYwS':function(_0x34cfef,_0x2a7400){return _0x34cfef+_0x2a7400;},'WXthL':function(_0x1a8f46,_0x249cec){return _0x1a8f46+_0x249cec;},'HBJIR':function(_0x5cb153,_0x49455b){return _0x5cb153 in _0x49455b;},'SFSQs':'key','bFZuU':function(_0x57f6da,_0x3b8f39){return _0x57f6da+_0x3b8f39;},'NzANO':function(_0x5d60be,_0x594f35){return _0x5d60be===_0x594f35;},'RIQwj':function(_0x1c58a6,_0x15ac45){return _0x1c58a6===_0x15ac45;},'gMWVP':function(_0x4ed64b,_0x2dada8){return _0x4ed64b+_0x2dada8;}};if(_0x206e1a){if(!_0x41e138?.['environments']?.[_0x206e1a]){const _0x2e9651=Object[_0x36ef32(0x137)](_0x41e138?.[_0x36ef32(0x188)]??{});throw new Error(_0x47371e['zrYwS'](_0x47371e[_0x36ef32(0x133)]('Auth\x20environment\x20\x22'+_0x206e1a+_0x36ef32(0x179),_0x2e9651[_0x36ef32(0x183)]?_0x36ef32(0x14b)+_0x2e9651['join'](',\x20')+'.':_0x36ef32(0x165)),'\x20(If\x20you\x20meant\x20a\x20profile,\x20use\x20--profile.)'));}return _0x206e1a;}if(!_0x41e138)return null;if(_0x2f6311){const _0x1a1833=matchAuthEnvironmentExact(_0x2f6311,_0x41e138);if(_0x1a1833)return _0x1a1833;const _0x39a50a=matchAuthEnvironmentByHost(_0x2f6311,_0x41e138);if(_0x39a50a&&_0x47371e['HBJIR'](_0x47371e['SFSQs'],_0x39a50a))return console['log']('\x20\x20Auth\x20env\x20\x22'+_0x39a50a[_0x36ef32(0x148)]+'\x22\x20matched\x20by\x20host\x20for\x20'+_0x2f6311+_0x36ef32(0x19b)),_0x39a50a['key'];if(_0x39a50a&&_0x47371e['HBJIR'](_0x36ef32(0x157),_0x39a50a))throw new Error(_0x36ef32(0x146)+_0x39a50a[_0x36ef32(0x157)][_0x36ef32(0x17a)](',\x20')+_0x36ef32(0x10e));if(needsTunnel(_0x2f6311))throw new Error(_0x47371e[_0x36ef32(0x154)](_0x36ef32(0x194)+_0x2f6311+_0x36ef32(0x113)+_0x36ef32(0x140)+'\x20\x20Options:\x0a'+'\x20\x20-\x20pass\x20`--env\x20<key>`\x20to\x20pick\x20the\x20auth\x20environment\x20by\x20name,\x20or\x0a',_0x36ef32(0x178)+_0x2f6311[_0x36ef32(0x17d)](/\/+$/,'')+'\x22\x20to\x20the\x20matching\x20auth\x20environment\x27s\x20domains,\x20or\x0a')+(_0x36ef32(0x111)+_0x2f6311+'\x20--skip-auth`\x20for\x20an\x20unauthenticated\x20profile.'));}if(_0x41e138['defaultEnvironmentKey'])return _0x41e138[_0x36ef32(0x158)];const _0x441e41=Object[_0x36ef32(0x137)](_0x41e138['environments']??{});if(_0x47371e['NzANO'](_0x441e41['length'],0x1))return _0x441e41[0x0];if(_0x47371e[_0x36ef32(0x106)](_0x441e41[_0x36ef32(0x183)],0x0))return null;throw new Error(_0x47371e['gMWVP']('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x441e41[_0x36ef32(0x17a)](',\x20')+_0x36ef32(0x186),_0x36ef32(0x169)));}export function adHocProfileName(_0x29e7cf,_0x1b9a65,_0x4fcb32){const _0x177cad={'DPpUU':function(_0x3111e3,_0xae3adc){return _0x3111e3===_0xae3adc;}};if(!_0x1b9a65||_0x177cad['DPpUU'](_0x1b9a65,_0x4fcb32))return _0x29e7cf;return _0x29e7cf+':'+_0x1b9a65;}export async function resolveAdHocProfile(_0x215c3b={},_0x5565e5=process['env']){const _0x36d3e3=_0x1e8167,_0x315893={'kXXqU':function(_0x72bc18,_0x3b921d,_0x126bf,_0x457f64){return _0x72bc18(_0x3b921d,_0x126bf,_0x457f64);},'iSpKA':function(_0x3d4137,_0x16775b){return _0x3d4137(_0x16775b);},'decui':function(_0xfef454,_0x4350e6){return _0xfef454&&_0x4350e6;},'oWIfo':function(_0x221338,_0x28a796){return _0x221338(_0x28a796);},'LbrIg':function(_0x495888,_0x476eda){return _0x495888??_0x476eda;}},_0x545258=_0x5565e5['RANGER_TEST_USERNAME'];if(!_0x545258)return null;const _0x59c9a7=await fetchAuthConfig(),_0x16ea31=pickAdHocEnvKey(_0x59c9a7,_0x215c3b['targetUrl'],_0x215c3b['envKey']);let _0x2768e6=_0x315893['kXXqU'](adHocProfileName,_0x545258,_0x16ea31,_0x59c9a7?.['defaultEnvironmentKey']),_0x565a3f=await _0x315893['iSpKA'](fetchCloudProfile,_0x2768e6);_0x315893[_0x36d3e3(0x181)](_0x565a3f,_0x16ea31)&&_0x565a3f[_0x36d3e3(0xf4)]!==_0x16ea31&&(console[_0x36d3e3(0x16e)](_0x36d3e3(0x193)+_0x2768e6+'\x22\x20is\x20bound\x20to\x20auth\x20env\x20\x22'+(_0x565a3f['environmentKey']??'none')+_0x36d3e3(0x166)+_0x16ea31+_0x36d3e3(0x11f)+_0x545258+':'+_0x16ea31+_0x36d3e3(0x16c)),_0x2768e6=_0x545258+':'+_0x16ea31,_0x565a3f=await _0x315893['oWIfo'](fetchCloudProfile,_0x2768e6));if(_0x565a3f)return{'name':_0x565a3f['name'],'profile':_0x565a3f};const _0x25893b=_0x5565e5[_0x36d3e3(0x163)],_0x29d2a7=await _0x315893['kXXqU'](createCloudProfile,_0x2768e6,_0x315893['LbrIg'](_0x16ea31,undefined),{'username':_0x545258,'password':_0x25893b});return console[_0x36d3e3(0x16e)](_0x36d3e3(0x12e)+_0x29d2a7['name']+_0x36d3e3(0xf9)+_0x545258+(_0x16ea31?'\x20(auth\x20env:\x20'+_0x16ea31+')':'')),{'name':_0x29d2a7[_0x36d3e3(0x164)],'profile':_0x29d2a7};}export async function writeSessionToLocalCache(_0x327b34,_0x3f6743,_0x1504ea,_0x152b53,_0x4418d9,_0x1ae7fa,_0x2a93f0){const _0x2f21cd=_0x1e8167,_0x1b30f9={'zNaIy':function(_0x1cf559,_0x478024){return _0x1cf559(_0x478024);},'vraVQ':function(_0x4155b8,_0x8bcce4,_0x1a08d2){return _0x4155b8(_0x8bcce4,_0x1a08d2);},'zekoO':_0x2f21cd(0x11a),'iaOsz':function(_0x949b8b,_0x5f48ec,_0x1f351b){return _0x949b8b(_0x5f48ec,_0x1f351b);},'XiANy':function(_0xe1e556,_0x5c96ac,_0x28d716){return _0xe1e556(_0x5c96ac,_0x28d716);}},_0x29385e=_0x1b30f9['zNaIy'](sessionCacheHash,{'orgId':_0x3f6743,'profileName':_0x327b34,'effectiveBaseUrl':_0x1504ea,'setupHeaders':_0x152b53,'invalidateOn':_0x2a93f0?.[_0x2f21cd(0x19a)],'userAgent':_0x2a93f0?.['userAgent'],'clientIp':_0x2a93f0?.[_0x2f21cd(0x172)]}),_0xa1af20=getSessionCachePath(_0x29385e,_0x327b34),_0x349ac4=_0x1b30f9['vraVQ'](join,getRangerHomeDir(),_0x1b30f9['zekoO']);!existsSync(_0x349ac4)&&await _0x1b30f9['vraVQ'](mkdir,_0x349ac4,{'recursive':!![]});const _0x8316f6={..._0x4418d9};_0x1ae7fa&&_0x1ae7fa['length']>0x0&&Array[_0x2f21cd(0x16f)](_0x8316f6[_0x2f21cd(0x1a0)])&&(_0x8316f6[_0x2f21cd(0x1a0)]=_0x1b30f9['vraVQ'](duplicateCookiesForDomains,_0x8316f6[_0x2f21cd(0x1a0)],_0x1ae7fa));const _0x251525={'cached_at':new Date()['toISOString'](),'session_state':_0x8316f6};await _0x1b30f9['iaOsz'](writeFile,_0xa1af20,JSON['stringify'](_0x251525,null,0x2));const _0x1fdeef=_0x1b30f9['zNaIy'](getStorageStatePath,_0xa1af20);return await _0x1b30f9[_0x2f21cd(0x16d)](writeFile,_0x1fdeef,JSON[_0x2f21cd(0x196)](_0x8316f6,null,0x2)),_0x1fdeef;}export async function checkLocalCache(_0x5172dc,_0x4f55e2,_0x662055,_0x17f87d,_0x508ca5){const _0x3e1442=_0x1e8167,_0x2544dd={'WSSFV':function(_0x19e2e8,_0x314087){return _0x19e2e8(_0x314087);},'BRFEE':_0x3e1442(0x123)},_0x3986e0=sessionCacheHash({'orgId':_0x4f55e2,'profileName':_0x5172dc,'effectiveBaseUrl':_0x662055,'setupHeaders':_0x17f87d,'invalidateOn':_0x508ca5?.[_0x3e1442(0x19a)],'userAgent':_0x508ca5?.[_0x3e1442(0x168)],'clientIp':_0x508ca5?.[_0x3e1442(0x172)]}),_0x4eaf93=getSessionCachePath(_0x3986e0,_0x5172dc),_0x1f0dfb=_0x2544dd['WSSFV'](getStorageStatePath,_0x4eaf93);if(!existsSync(_0x4eaf93)||!existsSync(_0x1f0dfb))return null;try{const _0x3f2441=await readFile(_0x4eaf93,_0x2544dd['BRFEE']);return JSON['parse'](_0x3f2441),{'storageStatePath':_0x1f0dfb};}catch{return null;}}function launchRealBrowser(){const _0x208363=_0x1e8167;return chromium[_0x208363(0x149)]({'headless':!![]});}function emitSessionValidationHint(_0x3d5134,_0x2c72ba){const _0x522633=_0x1e8167,_0x22db1f={'kodIe':function(_0x250482,_0x187aac){return _0x250482===_0x187aac;},'gkJaa':function(_0x5ed630,_0x2181af){return _0x5ed630+_0x2181af;},'VHNma':function(_0x4aa351,_0x248380){return _0x4aa351+_0x248380;}};if(!_0x2c72ba||!_0x2c72ba[_0x522633(0x1a3)]?.[_0x522633(0x183)])return;let _0x27803e;try{_0x27803e=new URL(_0x3d5134);}catch{return;}const _0x5012b9=[];for(const _0x7d2fc8 of _0x2c72ba['domains']){try{_0x5012b9['push']({'raw':_0x7d2fc8,'url':new URL(_0x7d2fc8)});}catch{}}if(_0x22db1f['kodIe'](_0x5012b9[_0x522633(0x183)],0x0))return;if(_0x5012b9['some'](_0x28a6a8=>_0x28a6a8[_0x522633(0xf8)]['origin']===_0x27803e[_0x522633(0x174)]))return;const _0x105a7b=_0x5012b9['map'](_0x3d5329=>'\x22'+_0x3d5329[_0x522633(0x13b)]+'\x22')[_0x522633(0x17a)](',\x20');console[_0x522633(0x16e)](_0x22db1f['gkJaa'](_0x22db1f[_0x522633(0x130)]('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0x105a7b+';\x20','you\x27re\x20now\x20at\x20\x22'+_0x3d5134+'\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20'),'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.'));}export async function serverSideLogin(_0x476e91,_0x3afdd3){const _0x45702b=_0x1e8167,_0x53efda={'WVNCK':function(_0x192a4f,_0x499919){return _0x192a4f(_0x499919);},'MhpGe':_0x45702b(0x189),'jrKTL':function(_0x4061f6,_0x3b1202){return _0x4061f6===_0x3b1202;}},_0x16fa5e=process['env']['RANGER_TEST_USERNAME'],_0x361643=process[_0x45702b(0xfa)][_0x45702b(0x163)],_0x230931={};if(_0x16fa5e)_0x230931[_0x45702b(0x128)]=_0x16fa5e;if(_0x361643)_0x230931['password']=_0x361643;if(_0x3afdd3?.['force'])_0x230931['force']=!![];if(_0x3afdd3?.['targetUrl'])_0x230931['target_url']=_0x3afdd3['targetUrl'];if(_0x3afdd3?.[_0x45702b(0xfa)])_0x230931['env']=_0x3afdd3[_0x45702b(0xfa)];_0x3afdd3?.[_0x45702b(0x11e)]&&(_0x230931[_0x45702b(0x105)]=_0x3afdd3['tunnel']['sessionId'],_0x230931[_0x45702b(0x145)]=_0x3afdd3[_0x45702b(0x11e)][_0x45702b(0x142)]);try{return await apiRequest(_0x45702b(0x19d)+_0x53efda['WVNCK'](encodeURIComponent,_0x476e91)+_0x45702b(0xf3),{'method':_0x53efda[_0x45702b(0xf7)],'body':JSON['stringify'](_0x230931)});}catch(_0x41caf6){if(_0x41caf6 instanceof ApiError&&_0x53efda[_0x45702b(0x170)](_0x41caf6['status'],0x190)&&_0x53efda['jrKTL'](_0x41caf6['code'],_0x45702b(0x185)))return{'status':'not_configured','error':_0x41caf6[_0x45702b(0x12a)]};throw _0x41caf6;}}async function serverSideLoginWithOptionalTunnel(_0x270c85,_0x14f7a3,_0xf0d3ba={}){const _0x315326=_0x1e8167,_0x1afc59={'SrJOb':'tunnel_login_request','gGPMO':function(_0x3b09fd,_0x1620d7){return _0x3b09fd(_0x1620d7);},'uAJgM':function(_0x4c9171,_0x595e9f){return _0x4c9171===_0x595e9f;},'xvRZb':function(_0x2ad9f8,_0x2b5610){return _0x2ad9f8(_0x2b5610);},'fDZTR':'tunnel_login_setup','OrBrY':_0x315326(0x115),'sJbhg':function(_0xfd41f2){return _0xfd41f2();},'Wiout':function(_0x2211c4,_0x1e6c54){return _0x2211c4(_0x1e6c54);},'fxWkX':function(_0x282f47,_0x27de25){return _0x282f47(_0x27de25);}};if(!needsTunnel(_0x14f7a3))return await serverSideLogin(_0x270c85,{'force':_0xf0d3ba['force'],'env':_0xf0d3ba['env']});let _0x36de87=null,_0x5c4093=null,_0x5a7547=null,_0x1c09a2=null,_0x26873f=![];const _0x4ea1a6=process['env']['RANGER_TUNNEL_LOGIN_HEADED']?.[_0x315326(0x12c)](),_0x4e5f25=_0x1afc59['uAJgM'](_0x4ea1a6,'1')||_0x1afc59['uAJgM'](_0x4ea1a6,_0x315326(0x190)),_0x2b23c2={'profileName':_0x270c85,'targetUrlHost':_0x1afc59[_0x315326(0x153)](targetHostForTelemetry,_0x14f7a3),'tunnelRequired':!![],'forceLogin':Boolean(_0xf0d3ba['force']),'localBrowserServerHeaded':_0x4e5f25};try{_0xf0d3ba[_0x315326(0x10f)]?.['trackPhaseStart'](_0x1afc59[_0x315326(0x103)],_0x2b23c2);_0x4e5f25&&console['log'](_0x1afc59['OrBrY']);_0x36de87=await launchBrowserServer({'headless':!_0x4e5f25}),_0x5c4093=await createTunnelSession(_0x14f7a3);const _0x247147=await _0x1afc59[_0x315326(0xf5)](requireToken);_0x5a7547=await _0x1afc59['Wiout'](createTunnelBridge,{'localWsUrl':_0x36de87['wsEndpoint'],'tunnelServerUrl':_0x5c4093[_0x315326(0x1a4)],'sessionId':_0x5c4093['sessionId'],'apiKey':_0x247147,'onError':_0x2509b3=>{_0x1c09a2=_0x2509b3;},'onClose':()=>{const _0x276c19=_0x315326;_0x1c09a2??=new Error(_0x276c19(0x10b)+_0x270c85);},'onEvent':_0x368873=>trackBridgeEvent(_0xf0d3ba[_0x315326(0x10f)],_0x368873)}),_0xf0d3ba[_0x315326(0x10f)]?.['trackPhaseEnd'](_0x315326(0x159),{..._0x2b23c2,'tunnelSessionId':_0x5c4093['sessionId'],'localBrowserServer':!![],'localBrowserServerHeaded':_0x4e5f25}),_0x26873f=!![];try{return _0xf0d3ba[_0x315326(0x10f)]?.['trackPhaseStart'](_0x1afc59['SrJOb'],{..._0x2b23c2,'tunnelSessionId':_0x5c4093[_0x315326(0x198)]}),await serverSideLogin(_0x270c85,{'force':_0xf0d3ba[_0x315326(0x132)],'targetUrl':_0x14f7a3,'env':_0xf0d3ba['env'],'tunnel':{'sessionId':_0x5c4093['sessionId'],'pwEndpoint':_0x5c4093['pwEndpoint']}})[_0x315326(0x171)](_0x1143e1=>{const _0x6e788b=_0x315326;return _0xf0d3ba['telemetry']?.[_0x6e788b(0x17e)](_0x1afc59['SrJOb'],{..._0x2b23c2,'tunnelSessionId':_0x5c4093?.[_0x6e788b(0x198)],'loginStatus':_0x1143e1[_0x6e788b(0x108)],'hasSessionState':Boolean(_0x1143e1['session_state']),'hasTestOutput':_0x1afc59[_0x6e788b(0x18f)](Boolean,_0x1143e1['test_output']),'bridgeError':errorMessageForTelemetry(_0x1c09a2)}),_0x1143e1;});}catch(_0x67c87b){await _0xf0d3ba['telemetry']?.[_0x315326(0x11b)](_0x315326(0x152),_0x1c09a2??_0x67c87b,{..._0x2b23c2,'tunnelSessionId':_0x5c4093['sessionId'],'bridgeError':errorMessageForTelemetry(_0x1c09a2)});throw _0x1c09a2??_0x67c87b;}}catch(_0x15bb28){!_0x26873f&&await _0xf0d3ba['telemetry']?.['trackPhaseError'](_0x1afc59['fDZTR'],_0x15bb28,{..._0x2b23c2,'tunnelSessionId':_0x5c4093?.['sessionId']});throw _0x15bb28;}finally{if(_0x5c4093||_0x36de87||_0x5a7547){const _0x4f8160=_0x315326(0x126)['split']('|');let _0x8e162c=0x0;while(!![]){switch(_0x4f8160[_0x8e162c++]){case'0':_0x5a7547?.['close']();continue;case'1':_0xf0d3ba[_0x315326(0x10f)]?.[_0x315326(0x17e)]('tunnel_login_cleanup',{..._0x2b23c2,'tunnelSessionId':_0x5c4093?.[_0x315326(0x198)]});continue;case'2':_0xf0d3ba[_0x315326(0x10f)]?.['trackPhaseStart'](_0x315326(0x15a),{..._0x2b23c2,'tunnelSessionId':_0x5c4093?.['sessionId']});continue;case'3':_0x5c4093&&await _0x1afc59[_0x315326(0x15e)](deleteTunnelSession,_0x5c4093['sessionId'])[_0x315326(0x191)](()=>{});continue;case'4':_0x36de87&&await _0x36de87[_0x315326(0xfb)]()['catch'](()=>{});continue;}break;}}}}export async function manualBrowserLogin(_0xf58daf,_0x582076,_0x4ce478={}){const _0x43edeb=_0x1e8167,_0x529827={'HWUmQ':function(_0x43798e,_0x394bd0){return _0x43798e+_0x394bd0;},'eAZga':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','QuPUF':'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','wuYBN':function(_0x26281f,_0x54fc6f){return _0x26281f>_0x54fc6f;},'huYbw':_0x43edeb(0x177),'HcpxC':_0x43edeb(0x12b),'vzmOJ':'Browser\x20login\x20timed\x20out\x20before\x20completion.','VhULg':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','UlENl':function(_0x1e8e42,_0x525f39){return _0x1e8e42!==_0x525f39;},'cykUc':function(_0x4354d4,_0x4c4b51){return _0x4354d4(_0x4c4b51);},'AUGkX':'cli:manual-login'};if(!isInteractive())throw new Error(_0x529827[_0x43edeb(0x11c)]('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0xf58daf[_0x43edeb(0x164)]+'\x22.\x0a'+_0x529827['eAZga'],_0x529827[_0x43edeb(0x16a)]));const _0x592dc2=_0x582076&&_0x529827[_0x43edeb(0x12d)](_0x582076[_0x43edeb(0x1a3)]['length'],0x0)?_0x582076['domains'][0x0]:_0x529827[_0x43edeb(0xfe)];console[_0x43edeb(0x16e)](_0x529827[_0x43edeb(0x13c)]),console[_0x43edeb(0x16e)]('\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a'),await new Promise(_0x2da01d=>setTimeout(_0x2da01d,0x7d0));const _0x2d4277=await chromium['launch']({'headless':![]});let _0x5a5df9=null;try{const _0x47403d={'ignoreHTTPSErrors':!![]};_0x582076?.[_0x43edeb(0x16b)]&&(_0x47403d['extraHTTPHeaders']=_0x582076['setupHeaders']);const _0x106ac0=await _0x2d4277['newContext'](_0x47403d);await addProfileSetupBanner(_0x106ac0);const _0x2972e1=await _0x106ac0['newPage']();await _0x2972e1['goto'](_0x592dc2);let _0x16f79f=![];await new Promise(_0x55a9ce=>{const _0x26bb76=setTimeout(()=>{const _0x4cf1d1=_0x486f;_0x16f79f=!![],console['error']('Browser\x20login\x20timed\x20out\x20after\x20'+MANUAL_LOGIN_TIMEOUT_MS/0xea60+_0x4cf1d1(0x138)),_0x55a9ce();},MANUAL_LOGIN_TIMEOUT_MS);_0x2972e1['on']('close',async()=>{clearTimeout(_0x26bb76);try{const _0x45354b=await _0x106ac0['storageState']();_0x5a5df9=_0x45354b;}catch{}_0x55a9ce();});});if(_0x16f79f&&!_0x5a5df9)throw new Error(_0x529827['vzmOJ']);}finally{await _0x2d4277['close']()['catch'](()=>{});}if(!_0x5a5df9)throw new Error(_0x529827['VhULg']);return _0x529827['UlENl'](_0x4ce478[_0x43edeb(0x136)],![])&&await apiRequest(_0x43edeb(0x19d)+_0x529827[_0x43edeb(0x120)](encodeURIComponent,_0xf58daf['name'])+'/session',{'method':_0x43edeb(0x189),'body':JSON['stringify']({'session_state':_0x5a5df9,'updated_by':_0x529827[_0x43edeb(0x192)]})}),{'sessionState':_0x5a5df9};}export async function promptSaveCredentials(_0x3aefc9){const _0x3ecedb=_0x1e8167,_0x1a2d9e={'sGLQM':_0x3ecedb(0x15f)},_0x3fdd74=process['env'][_0x3ecedb(0x131)],_0x17b42e=process[_0x3ecedb(0xfa)]['RANGER_TEST_PASSWORD'];if(!_0x3fdd74||!_0x17b42e)return;if(!isInteractive())return;const {save:_0x27ff08}=await _0x3f7ac0[_0x3ecedb(0x155)]([{'type':_0x3ecedb(0x124),'name':_0x3ecedb(0x114),'message':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','default':![]}]);if(!_0x27ff08)return;await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x3aefc9),{'method':_0x1a2d9e['sGLQM'],'body':JSON[_0x3ecedb(0x196)]({'username':_0x3fdd74,'password':_0x17b42e})}),console['log'](_0x3ecedb(0x18d));}export async function resolveCloudProfileSession(_0x39fc5a,_0xc8894a={}){const _0x4bd20c=_0x1e8167,_0x2a1420={'lQQux':function(_0x4e7754,_0x58008){return _0x4e7754===_0x58008;},'CHVAL':'string','xnZkl':function(_0x1bf846,_0xd4e7c0){return _0x1bf846||_0xd4e7c0;},'iyenm':function(_0x4937ae,_0xf2471c){return _0x4937ae(_0xf2471c);},'tjmKo':function(_0x43c841,_0x24c42b){return _0x43c841(_0x24c42b);},'hxnrz':function(_0x3fb6ba,_0x5825be){return _0x3fb6ba(_0x5825be);},'uXSNb':function(_0x2f0f5b,_0x34be2a,_0x3cfaac,_0xeca6bf,_0x565b2e,_0x479627){return _0x2f0f5b(_0x34be2a,_0x3cfaac,_0xeca6bf,_0x565b2e,_0x479627);},'vkFqq':function(_0x5f28fc,_0x9b162e,_0x1c9f41,_0x3546e2,_0x3ef288,_0x322717,_0x10c062,_0x3c6493){return _0x5f28fc(_0x9b162e,_0x1c9f41,_0x3546e2,_0x3ef288,_0x322717,_0x10c062,_0x3c6493);},'cEKtl':function(_0x2bd4f5,_0x27ced3,_0x40c06c,_0x3dde20,_0xe19e42){return _0x2bd4f5(_0x27ced3,_0x40c06c,_0x3dde20,_0xe19e42);},'ruFIA':function(_0x4cde79,_0x8491eb,_0x214538){return _0x4cde79(_0x8491eb,_0x214538);},'WivxF':function(_0x490f44,_0xe00292){return _0x490f44||_0xe00292;},'KIrWk':function(_0x308844,_0x24090e,_0x42ed0a,_0x1fea9e){return _0x308844(_0x24090e,_0x42ed0a,_0x1fea9e);},'RwNyk':function(_0x109dd2,_0x2b73a1,_0x4f0b4f){return _0x109dd2(_0x2b73a1,_0x4f0b4f);},'EmPby':'\x20\x20Login\x20successful.\x20Session\x20cached.','PWJAN':function(_0x21a73d,_0x28e049,_0x5c15ef,_0x90ac0d,_0x57d542,_0x187389,_0x41a570,_0x4c7d6b){return _0x21a73d(_0x28e049,_0x5c15ef,_0x90ac0d,_0x57d542,_0x187389,_0x41a570,_0x4c7d6b);},'ecITR':function(_0x309758,_0x3fe641){return _0x309758&&_0x3fe641;},'QwYwx':function(_0xad28a0,_0x3094b9){return _0xad28a0(_0x3094b9);},'QhJTY':_0x4bd20c(0x150),'cCjDx':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...'},_0x3c661f=_0x39fc5a[_0x4bd20c(0x10a)]??{},_0x3cc820=await fetchAuthConfig(),_0x5db732=_0x3cc820?resolveAuthEnvironmentLocally(_0x3cc820,_0xc8894a['assertedEnv']??_0x39fc5a[_0x4bd20c(0xf4)]):null,_0x50a92b=typeof _0x5db732?.['loginInstructions']===_0x4bd20c(0x102)&&_0x5db732[_0x4bd20c(0x110)]['trim']()?_0x5db732['loginInstructions']:undefined,_0x1a7f9c=_0x2a1420['lQQux'](typeof _0x3c661f[_0x4bd20c(0x110)],_0x2a1420[_0x4bd20c(0x10c)])&&_0x3c661f[_0x4bd20c(0x110)]['trim']()?_0x3c661f['loginInstructions']:undefined,_0x200e8c=_0x2a1420['xnZkl'](_0x1a7f9c,!_0x50a92b)?_0x3c661f:{..._0x3c661f,'loginInstructions':_0x50a92b},_0x2c65d6=_0x2a1420['iyenm'](Boolean,_0x200e8c[_0x4bd20c(0x110)]?.['trim']()),_0x24b2de=_0x2a1420[_0x4bd20c(0x101)](Boolean,_0x3c661f[_0x4bd20c(0xfd)]||_0x5db732?.[_0x4bd20c(0xfd)]),_0x2b45a6=_0x5db732?.['domains'],_0x363d1f=_0x3c661f[_0x4bd20c(0x16b)],_0x522c5b=_0x363d1f??_0x5db732?.['setupHeaders'],_0xb960df=_0xc8894a[_0x4bd20c(0x144)]??_0x3c661f['baseUrl']??(_0x2b45a6&&_0x2b45a6['length']>0x0?_0x2b45a6[0x0]:''),_0x390b5d=_0xb960df?_0x2a1420['hxnrz'](needsTunnel,_0xb960df):![],_0x3163d5={'invalidateOn':_0x5db732?.['invalidateOn'],'userAgent':_0x5db732?.[_0x4bd20c(0x151)]?.['userAgent']??_0x3c661f[_0x4bd20c(0x168)]};_0x24b2de&&console[_0x4bd20c(0x16e)]('\x20\x20forceLogin\x20enabled\x20for\x20\x22'+_0x39fc5a[_0x4bd20c(0x164)]+_0x4bd20c(0x147));if(!_0x24b2de){const _0x58d45a=await _0x2a1420[_0x4bd20c(0x109)](checkLocalCache,_0x39fc5a[_0x4bd20c(0x164)],_0x39fc5a['organizationId'],_0xb960df,_0x522c5b,_0x3163d5);if(_0x58d45a){if(_0xb960df&&!_0x390b5d){const _0x1e5395=await isCachedSessionLive(_0x58d45a[_0x4bd20c(0x107)],_0xb960df,{'sessionCheckPath':_0x5db732?.['sessionCheckPath'],'setupHeaders':_0x522c5b},{'launchBrowser':launchRealBrowser});if(_0x1e5395)return console[_0x4bd20c(0x16e)]('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x39fc5a['name']+'\x22'),{'authPath':_0x58d45a[_0x4bd20c(0x107)],'settings':_0x200e8c,'resolvedEnv':_0x5db732};console[_0x4bd20c(0x16e)]('\x20\x20Cached\x20session\x20for\x20\x22'+_0x39fc5a['name']+'\x22\x20failed\x20validation\x20—\x20refreshing...'),emitSessionValidationHint(_0xb960df,_0x5db732);}else return _0x390b5d&&console['log']('\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x39fc5a['name']+'\x22'),{'authPath':_0x58d45a[_0x4bd20c(0x107)],'settings':_0x200e8c,'resolvedEnv':_0x5db732};}}if(!_0x24b2de&&_0x39fc5a[_0x4bd20c(0x14a)]){const _0x1a7ea1=await _0x2a1420[_0x4bd20c(0x180)](writeSessionToLocalCache,_0x39fc5a['name'],_0x39fc5a[_0x4bd20c(0x161)],_0xb960df,_0x522c5b,_0x39fc5a['sessionState'],_0x2b45a6,_0x3163d5);if(_0xb960df){const _0x455b88=await _0x2a1420[_0x4bd20c(0x182)](isCachedSessionLive,_0x1a7ea1,_0xb960df,{'sessionCheckPath':_0x5db732?.[_0x4bd20c(0x17f)],'setupHeaders':_0x522c5b},{'launchBrowser':launchRealBrowser});if(_0x455b88)return console['log']('\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22'+_0x39fc5a['name']+_0x4bd20c(0x119)),{'authPath':_0x1a7ea1,'settings':_0x200e8c,'resolvedEnv':_0x5db732};console[_0x4bd20c(0x16e)](_0x4bd20c(0x176)+_0x39fc5a[_0x4bd20c(0x164)]+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),_0x2a1420['ruFIA'](emitSessionValidationHint,_0xb960df,_0x5db732);}else return{'authPath':_0x1a7ea1,'settings':_0x200e8c,'resolvedEnv':_0x5db732};}if(_0x2c65d6)return console[_0x4bd20c(0x16e)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x39fc5a[_0x4bd20c(0x164)]+_0x4bd20c(0x175)),{'authPath':undefined,'settings':_0x200e8c,'resolvedEnv':_0x5db732};console[_0x4bd20c(0x16e)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x39fc5a['name']+_0x4bd20c(0x19e));const _0x31c70e=Boolean(process['env'][_0x4bd20c(0x131)])&&_0x2a1420['iyenm'](Boolean,process['env']['RANGER_TEST_PASSWORD']),_0x574eae=_0x2a1420['hxnrz'](Boolean,_0x39fc5a[_0x4bd20c(0x128)]),_0x191a70=Boolean(_0xc8894a['assertedEnv']),_0x326afb=_0xb960df?_0x2a1420[_0x4bd20c(0x134)](isBareLocalhost,_0xb960df):![],_0x8ab3df=(_0x31c70e||_0x574eae)&&_0x2a1420['WivxF'](!_0x326afb,_0x191a70);if(_0x8ab3df)try{const _0x1eb325=_0xb960df?await _0x2a1420[_0x4bd20c(0x117)](serverSideLoginWithOptionalTunnel,_0x39fc5a['name'],_0xb960df,{'force':_0x24b2de,'telemetry':_0xc8894a[_0x4bd20c(0x10f)],'env':_0xc8894a[_0x4bd20c(0x15c)]}):await _0x2a1420['RwNyk'](serverSideLogin,_0x39fc5a[_0x4bd20c(0x164)],{'force':_0x24b2de,'env':_0xc8894a['assertedEnv']});if(_0x2a1420[_0x4bd20c(0x118)](_0x1eb325['status'],_0x4bd20c(0x185)))console['log'](_0x4bd20c(0x112));else{if(_0x2a1420[_0x4bd20c(0x118)](_0x1eb325['status'],'success')&&_0x1eb325['session_state']){console['log'](_0x2a1420[_0x4bd20c(0x15b)]);const _0x37f1e2=await _0x2a1420['PWJAN'](writeSessionToLocalCache,_0x39fc5a[_0x4bd20c(0x164)],_0x39fc5a[_0x4bd20c(0x161)],_0xb960df,_0x522c5b,_0x1eb325[_0x4bd20c(0x19c)],_0x2b45a6,_0x3163d5);return _0x2a1420[_0x4bd20c(0x199)](_0x31c70e,!_0x574eae)&&await _0x2a1420['QwYwx'](promptSaveCredentials,_0x39fc5a[_0x4bd20c(0x164)]),{'authPath':_0x37f1e2,'settings':_0x200e8c,'resolvedEnv':_0x5db732};}else _0x1eb325['test_output']&&(console[_0x4bd20c(0x16e)](_0x2a1420[_0x4bd20c(0x1a1)]),console['log'](_0x1eb325[_0x4bd20c(0x173)])),console[_0x4bd20c(0x16e)](_0x2a1420[_0x4bd20c(0x19f)]);}}catch(_0xa293d){console[_0x4bd20c(0x16e)]('\x20\x20Server-side\x20login\x20error:\x20'+(_0xa293d instanceof Error?_0xa293d['message']:String(_0xa293d))),console[_0x4bd20c(0x16e)](_0x2a1420[_0x4bd20c(0x19f)]);}if(_0x326afb&&!_0x191a70&&!isInteractive())throw new Error(_0x4bd20c(0x156)+_0xb960df+'\x22\x20on\x20profile\x20\x22'+_0x39fc5a[_0x4bd20c(0x164)]+'\x22,\x20and\x20cloud\x20sessions\x20don\x27t\x20apply\x20to\x20localhost.\x0a'+('\x20\x20•\x20capture\x20one\x20(a\x20browser\x20opens):\x20ranger\x20profile\x20add\x20'+_0x39fc5a[_0x4bd20c(0x164)]+_0x4bd20c(0xf6)+_0xb960df+'\x0a')+'\x20\x20•\x20or\x20pass\x20--env\x20<key>\x20to\x20run\x20an\x20automated\x20login\x20for\x20this\x20target.');const _0x21202d=_0x5db732?{..._0x5db732,'domains':orderLoginDomains(_0xb960df,_0x5db732['domains']),'setupHeaders':_0x522c5b}:_0xb960df?{'key':_0x39fc5a['environmentKey']??'','domains':[_0xb960df],'setupHeaders':_0x522c5b}:null,{sessionState:_0x3b14ba}=await _0x2a1420[_0x4bd20c(0x117)](manualBrowserLogin,_0x39fc5a,_0x21202d,{'persistSessionState':!_0x390b5d}),_0x20a9f9=await writeSessionToLocalCache(_0x39fc5a[_0x4bd20c(0x164)],_0x39fc5a['organizationId'],_0xb960df,_0x522c5b,_0x3b14ba,_0x2b45a6,_0x3163d5);return{'authPath':_0x20a9f9,'settings':_0x200e8c,'resolvedEnv':_0x5db732};}
1
+ const _0x20728d=_0x7623;(function(_0x5e07ad,_0x5a79cf){const _0x6931d8=_0x7623,_0x35d46f=_0x5e07ad();while(!![]){try{const _0x3563c0=-parseInt(_0x6931d8(0x161))/0x1*(parseInt(_0x6931d8(0x10b))/0x2)+-parseInt(_0x6931d8(0xe5))/0x3*(-parseInt(_0x6931d8(0x17b))/0x4)+parseInt(_0x6931d8(0x168))/0x5*(parseInt(_0x6931d8(0x122))/0x6)+parseInt(_0x6931d8(0xf4))/0x7+-parseInt(_0x6931d8(0x102))/0x8*(-parseInt(_0x6931d8(0x18e))/0x9)+-parseInt(_0x6931d8(0x197))/0xa+parseInt(_0x6931d8(0xf8))/0xb;if(_0x3563c0===_0x5a79cf)break;else _0x35d46f['push'](_0x35d46f['shift']());}catch(_0x398d5c){_0x35d46f['push'](_0x35d46f['shift']());}}}(_0x3c77,0x8c55d));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x2d08c1 from'inquirer';import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';function _0x7623(_0x69bce5,_0x21cb90){_0x69bce5=_0x69bce5-0xe5;const _0x3c77d9=_0x3c77();let _0x7623a1=_0x3c77d9[_0x69bce5];return _0x7623a1;}import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isBareLocalhost,isCachedSessionLive,isInteractive,needsTunnel,orderLoginDomains,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{matchAuthEnvironmentByHost,matchAuthEnvironmentExact}from'./matchAuthEnvironment.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x3276b0){const _0x2e95d9=_0x7623;try{return new URL(_0x3276b0)[_0x2e95d9(0xfe)];}catch{return'invalid-url';}}function errorMessageForTelemetry(_0x270a65){const _0x35c33f=_0x7623,_0x96d4ba={'OudjT':function(_0x285680,_0x5c8514){return _0x285680 instanceof _0x5c8514;}};return _0x96d4ba[_0x35c33f(0x145)](_0x270a65,Error)?_0x270a65[_0x35c33f(0x173)]:undefined;}function trackBridgeEvent(_0xac4123,_0x203342){const _0x2c4461=_0x7623,_0x3f2846={'KmYRu':function(_0xb96361,_0x4b6186){return _0xb96361===_0x4b6186;}};if(!_0xac4123)return;const _0x588600={'tunnelSessionId':_0x203342['sessionId'],'tunnelEventType':_0x203342['type'],'connectionId':_0x203342['connectionId'],'code':_0x203342[_0x2c4461(0x152)],'reason':_0x203342['reason'],'error':_0x203342[_0x2c4461(0x19c)],'elapsedMs':_0x203342[_0x2c4461(0x15e)],'activeLocalConnections':_0x203342[_0x2c4461(0x11c)],'pendingLocalConnections':_0x203342[_0x2c4461(0x116)]};_0xac4123['trackPhaseEnd'](_0x2c4461(0x101),_0x588600),(_0x3f2846[_0x2c4461(0x18b)](_0x203342['type'],'tunnel_error')||_0x3f2846['KmYRu'](_0x203342[_0x2c4461(0x181)],'local_ws_error'))&&void _0xac4123['trackPhaseError']('tunnel_bridge',new Error(_0x203342['error']??_0x203342[_0x2c4461(0x181)]),_0x588600);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x2627d8=_0x7623,_0xc04d2a={'MbIAp':function(_0x20aff6){return _0x20aff6();}},_0x46e5df=await _0xc04d2a[_0x2627d8(0x176)](getToken);if(!_0x46e5df)throw new Error(_0x2627d8(0x170));return _0x46e5df;}async function apiRequest(_0x572edd,_0x5d1fe2={}){const _0x7031b3=_0x7623,_0xb8f60a={'nXYCI':function(_0x3add38){return _0x3add38();},'jeaSy':function(_0x5415e9){return _0x5415e9();},'xNbhr':'application/json','QsymV':'string','xoZRy':function(_0x219811,_0x1c27d9){return _0x219811===_0x1c27d9;}},_0x5ea007=await _0xb8f60a['nXYCI'](requireToken),_0x5bc93d=_0xb8f60a[_0x7031b3(0x106)](getApiBaseUrl),_0x53a803=await fetch(''+_0x5bc93d+_0x572edd,{..._0x5d1fe2,'headers':{'Authorization':'Bearer\x20'+_0x5ea007,'Content-Type':_0xb8f60a[_0x7031b3(0x15c)],..._0x5d1fe2['headers']??{}}});if(!_0x53a803['ok']){let _0x111a54='',_0x48c549;try{const _0x4bd1b9=await _0x53a803['json'](),_0x116cb9=(typeof _0x4bd1b9['error']===_0xb8f60a[_0x7031b3(0x141)]?_0x4bd1b9[_0x7031b3(0x19c)]:undefined)??JSON['stringify'](_0x4bd1b9);_0x111a54=_0x116cb9;_0xb8f60a[_0x7031b3(0x171)](typeof _0x4bd1b9['test_output'],_0xb8f60a[_0x7031b3(0x141)])&&_0x4bd1b9[_0x7031b3(0x140)]&&(_0x111a54=_0x111a54+'\x0a'+_0x4bd1b9[_0x7031b3(0x140)]);if(_0xb8f60a['xoZRy'](typeof _0x4bd1b9['code'],_0xb8f60a['QsymV']))_0x48c549=_0x4bd1b9[_0x7031b3(0x152)];}catch{_0x111a54=_0x53a803['statusText'];}throw new ApiError(_0x7031b3(0x104)+_0x572edd+'\x20failed\x20('+_0x53a803[_0x7031b3(0x18a)]+_0x7031b3(0xfb)+_0x111a54,_0x53a803[_0x7031b3(0x18a)],_0x111a54,_0x48c549);}if(_0xb8f60a['xoZRy'](_0x53a803[_0x7031b3(0x18a)],0xcc))return undefined;return _0x53a803['json']();}export class ApiError extends Error{['status'];['detail'];['code'];constructor(_0x246c70,_0x2cb5c6,_0x2bc622,_0x4124d6){const _0x67045a=_0x7623,_0x16a742={'ijAmd':'ApiError'};super(_0x246c70),this[_0x67045a(0x18a)]=_0x2cb5c6,this['detail']=_0x2bc622,this[_0x67045a(0x152)]=_0x4124d6,this[_0x67045a(0x162)]=_0x16a742[_0x67045a(0x14b)];}}export async function fetchCloudProfile(_0x4d4335){const _0x8b89ea=_0x7623,_0x43a8a9={'LBevm':function(_0x4e063e,_0x18a865,_0x3f9f79){return _0x4e063e(_0x18a865,_0x3f9f79);},'RYbDW':function(_0x5b78c7,_0x2b441f){return _0x5b78c7(_0x2b441f);}};try{return await _0x43a8a9['LBevm'](apiRequest,'/api/v1/profiles/'+_0x43a8a9['RYbDW'](encodeURIComponent,_0x4d4335),{'signal':AbortSignal[_0x8b89ea(0x16b)](0x3a98)});}catch(_0x37124d){if(_0x37124d instanceof ApiError&&_0x37124d['status']===0x194)return null;throw _0x37124d;}}export async function listCloudProfiles(){const _0x35cb18={'VNUrj':function(_0x368241,_0x43501c){return _0x368241(_0x43501c);}},_0x1772d5=await _0x35cb18['VNUrj'](apiRequest,'/api/v1/profiles');return _0x1772d5['profiles'];}export async function deleteCloudProfile(_0x5a9d64){const _0x380677=_0x7623,_0x159f60={'ACMbi':function(_0x28e48c,_0x1a5444,_0x35e15e){return _0x28e48c(_0x1a5444,_0x35e15e);},'YDqDQ':'DELETE'};try{await _0x159f60['ACMbi'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x5a9d64),{'method':_0x159f60['YDqDQ']});}catch(_0x2c6291){if(_0x2c6291 instanceof ApiError&&_0x2c6291['status']===0x194)throw new Error(_0x380677(0x142)+_0x5a9d64+'\x22\x20not\x20found.');throw _0x2c6291;}}export async function createCloudProfile(_0x4f82d0,_0x21a7e0,_0x3a1da8={}){const _0x1f6b97=_0x7623,_0x4882ba={'poHLR':function(_0x2744fe,_0x90f5c0){return _0x2744fe>_0x90f5c0;},'MSBvd':'/api/v1/profiles'},_0xd90d70={'name':_0x4f82d0};if(_0x21a7e0)_0xd90d70[_0x1f6b97(0x19a)]=_0x21a7e0;_0x3a1da8[_0x1f6b97(0x135)]&&_0x4882ba[_0x1f6b97(0x194)](Object['keys'](_0x3a1da8['settings'])['length'],0x0)&&(_0xd90d70['settings']=_0x3a1da8[_0x1f6b97(0x135)]);if(_0x3a1da8[_0x1f6b97(0x18d)])_0xd90d70[_0x1f6b97(0x18d)]=_0x3a1da8['username'];if(_0x3a1da8[_0x1f6b97(0x169)])_0xd90d70['password']=_0x3a1da8[_0x1f6b97(0x169)];return await apiRequest(_0x4882ba[_0x1f6b97(0x156)],{'method':'POST','body':JSON['stringify'](_0xd90d70)});}export async function uploadCloudProfileSession(_0x57d954,_0x330da7){const _0x57af28=_0x7623,_0x37bfbf={'ErxXQ':function(_0x1e2e2c,_0x3023e7,_0x9617b1){return _0x1e2e2c(_0x3023e7,_0x9617b1);},'eHcug':function(_0x34311a,_0xbfbbe3){return _0x34311a(_0xbfbbe3);},'bJsrp':'POST'};return await _0x37bfbf['ErxXQ'](apiRequest,'/api/v1/profiles/'+_0x37bfbf[_0x57af28(0x100)](encodeURIComponent,_0x57d954)+'/session',{'method':_0x37bfbf[_0x57af28(0x143)],'body':JSON[_0x57af28(0x198)]({'session_state':_0x330da7})});}export async function saveCloudProfileCredentials(_0x202045,_0x337290,_0x3b3711){const _0x3d3d42=_0x7623,_0x1d664c={'iUevi':function(_0x2d1f20,_0x108a24){return _0x2d1f20(_0x108a24);}};await apiRequest('/api/v1/profiles/'+_0x1d664c['iUevi'](encodeURIComponent,_0x202045),{'method':_0x3d3d42(0x107),'body':JSON[_0x3d3d42(0x198)]({'username':_0x337290,'password':_0x3b3711})});}export async function fetchAuthConfig(){const _0x210ff1=_0x7623,_0x1f8e04={'mKnuq':function(_0xbe13de,_0x5c5075){return _0xbe13de!==_0x5c5075;}};try{const _0x2bdab6=await apiRequest(_0x210ff1(0x160));return _0x2bdab6[_0x210ff1(0x124)];}catch(_0x487722){return _0x487722 instanceof ApiError&&_0x1f8e04[_0x210ff1(0x12f)](_0x487722[_0x210ff1(0x18a)],0x194)&&console[_0x210ff1(0x19c)]('\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20'+_0x487722[_0x210ff1(0x173)]),null;}}async function createTunnelSession(_0x30c8fc){const _0x2b454a=_0x7623,_0x43fa6c={'sSidZ':function(_0x4cef85,_0xb225b1,_0x2480cf){return _0x4cef85(_0xb225b1,_0x2480cf);},'shHUo':'/api/v1/tunnel/sessions','iAciC':'agent'};return await _0x43fa6c[_0x2b454a(0x12b)](apiRequest,_0x43fa6c[_0x2b454a(0x16d)],{'method':'POST','body':JSON[_0x2b454a(0x198)]({'targetUrl':_0x30c8fc,'mode':_0x43fa6c[_0x2b454a(0x132)]})});}async function deleteTunnelSession(_0x402cb3){const _0x27dd06=_0x7623;await apiRequest(_0x27dd06(0x17d)+_0x402cb3,{'method':_0x27dd06(0x121)});}export function pickAdHocEnvKey(_0x4ae31f,_0x8a3f12,_0x4051e8){const _0x35c602=_0x7623,_0x457c05={'DXmtj':function(_0xb4d519,_0x277e6e){return _0xb4d519+_0x277e6e;},'wojCp':_0x35c602(0x196),'uSLnN':function(_0x3bfb17,_0x214df4){return _0x3bfb17 in _0x214df4;},'CmZlU':_0x35c602(0x158),'iVhwB':function(_0x4f6439,_0x5aa29a){return _0x4f6439+_0x5aa29a;},'ATJfw':function(_0x1c53b8,_0xc95e3b){return _0x1c53b8+_0xc95e3b;}};if(_0x4051e8){if(!_0x4ae31f?.['environments']?.[_0x4051e8]){const _0x5f57a4=Object[_0x35c602(0x14a)](_0x4ae31f?.[_0x35c602(0x129)]??{});throw new Error(_0x457c05[_0x35c602(0xf9)](_0x457c05[_0x35c602(0xf9)]('Auth\x20environment\x20\x22'+_0x4051e8+'\x22\x20not\x20found\x20in\x20your\x20org\x27s\x20config.',_0x5f57a4[_0x35c602(0x130)]?_0x35c602(0x178)+_0x5f57a4[_0x35c602(0x149)](',\x20')+'.':'\x20Your\x20org\x20has\x20no\x20auth\x20environments\x20configured.'),_0x35c602(0xe6)));}return _0x4051e8;}if(!_0x4ae31f)return null;if(_0x8a3f12){const _0x52998d=matchAuthEnvironmentExact(_0x8a3f12,_0x4ae31f);if(_0x52998d)return _0x52998d;const _0x584504=matchAuthEnvironmentByHost(_0x8a3f12,_0x4ae31f);if(_0x584504&&_0x457c05[_0x35c602(0x18f)]in _0x584504)return console['log'](_0x35c602(0x11d)+_0x584504['key']+_0x35c602(0x137)+_0x8a3f12+'\x20(declared\x20port\x20differs;\x20pass\x20--env\x20to\x20override).'),_0x584504[_0x35c602(0x196)];if(_0x584504&&_0x457c05[_0x35c602(0x15d)](_0x457c05[_0x35c602(0xe8)],_0x584504))throw new Error('Multiple\x20auth\x20environments\x20declare\x20this\x20host\x20('+_0x584504['ambiguous']['join'](',\x20')+_0x35c602(0x185));if(needsTunnel(_0x8a3f12))throw new Error(_0x457c05[_0x35c602(0xf9)](_0x457c05[_0x35c602(0xff)](_0x457c05['ATJfw'](_0x35c602(0x14f)+_0x8a3f12+_0x35c602(0x15f),'\x20\x20Ranger\x20can\x27t\x20assume\x20your\x20org\x27s\x20default\x20login\x20flow\x20applies\x20to\x20an\x20arbitrary\x20local\x20app.\x0a')+_0x35c602(0x11b)+_0x35c602(0x16f),_0x35c602(0x13b)+_0x8a3f12[_0x35c602(0xf1)](/\/+$/,'')+_0x35c602(0x112)),'\x20\x20-\x20run\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20'+_0x8a3f12+'\x20--skip-auth`\x20for\x20an\x20unauthenticated\x20profile.'));}if(_0x4ae31f[_0x35c602(0xf5)])return _0x4ae31f['defaultEnvironmentKey'];const _0x12d485=Object['keys'](_0x4ae31f['environments']??{});if(_0x12d485['length']===0x1)return _0x12d485[0x0];if(_0x12d485['length']===0x0)return null;throw new Error(_0x457c05[_0x35c602(0x189)](_0x35c602(0x157)+_0x12d485['join'](',\x20')+').\x20','Pass\x20--base-url\x20<your-app-url>\x20so\x20Ranger\x20can\x20match\x20the\x20right\x20one,\x20or\x20create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`.'));}function _0x3c77(){const _0x17e8e0=['stringify','true','environment_key','pwEndpoint','error','\x22\x20is\x20bound\x20to\x20auth\x20env\x20\x22','3gHbKee','\x20(If\x20you\x20meant\x20a\x20profile,\x20use\x20--profile.)','\x22\x20failed\x20validation\x20—\x20refreshing...','CmZlU','tunnel_login_request','rpeNV','\x22\x20for\x20','UICDM','/session','zFWah','trim','detail','replace','not_configured','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','7457044NIxXdA','defaultEnvironmentKey','about:blank','sessionCheckPath','7117968RJzxIQ','DXmtj','sessionState','):\x20','env','/api/v1/profiles/','host','iVhwB','eHcug','tunnel_bridge_event','16gWkFzU','\x22\x20failed\x20validation\x20—\x20re-login\x20needed...','API\x20request\x20','domains','jeaSy','PUT','AQPVN','EciGB','\x20\x20Cloud\x20session\x20for\x20\x22','2261326SRuOjz','isArray','userAgent','split','then','xHYvE','cookies','\x22\x20to\x20the\x20matching\x20auth\x20environment\x27s\x20domains,\x20or\x0a','forceLogin','sessionId','url','pendingLocalConnections','storageState','WjoVJ','\x20\x20Server-side\x20login\x20error:\x20','close','\x20\x20Options:\x0a','activeLocalConnections','\x20\x20Auth\x20env\x20\x22','Kzgsr','trackPhaseEnd','catch','DELETE','13398vjBCUF','clientIp','auth_config','confirm','newPage','RANGER_TEST_USERNAME','ISZzi','environments','/login','sSidZ','invalidateOn','EoIgX','PtySU','mKnuq','length','FJYrk','iAciC','tunnel_login_cleanup','RANGER_TEST_PASSWORD','settings','save','\x22\x20matched\x20by\x20host\x20for\x20','\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22','aXKjC','log','\x20\x20-\x20ask\x20your\x20Ranger\x20admin\x20to\x20add\x20\x22','PNBtG','push','raw','Dahwc','test_output','QsymV','Cloud\x20profile\x20\x22','bJsrp','ShZvd','OudjT','assertedEnv','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','setupHeaders','join','keys','ijAmd','EZWXy','\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','tunnel','No\x20auth\x20environment\x20matches\x20the\x20local\x20target\x20\x22','force','neGFS','code','\x20\x20Login\x20successful.\x20Session\x20cached.','If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.','pw_endpoint','MSBvd','Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20(','ambiguous','trackPhaseStart','\x22,\x20and\x20cloud\x20sessions\x20don\x27t\x20apply\x20to\x20localhost.\x0a','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','xNbhr','uSLnN','elapsedMs','\x22.\x0a','/api/v1/profiles/auth-config','1PdGaXx','name','\x20\x20forceLogin\x20enabled\x20for\x20\x22','\x22,\x20attempting\x20login...','some','tunnelUrl','cFyIf','385PNWpiy','password','trackPhaseError','timeout','success','shHUo','environmentKey','\x20\x20-\x20pass\x20`--env\x20<key>`\x20to\x20pick\x20the\x20auth\x20environment\x20by\x20name,\x20or\x0a','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','xoZRy','auth','message','KQsRn','telemetry','MbIAp','\x22\x20instead.','\x20Available:\x20','oKPUx','storageStatePath','247288PagqjN','NBpje','/api/v1/tunnel/sessions/','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','string','targetUrl','type','xCkMt','effectiveBaseUrl','\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.',');\x20pass\x20--env\x20<key>\x20to\x20pick\x20one.','tunnel_login_setup','Browser\x20login\x20timed\x20out\x20after\x20','\x20(auth\x20env:\x20','ATJfw','status','KmYRu','mhUxO','username','2009673nfvMVF','wojCp','loginInstructions','\x22,\x20refreshing\x20session...','XYqha','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','poHLR','Eipmz','key','6872610YveowH'];_0x3c77=function(){return _0x17e8e0;};return _0x3c77();}export function adHocProfileName(_0x40712e,_0x3726d6,_0x51e396){if(!_0x3726d6||_0x3726d6===_0x51e396)return _0x40712e;return _0x40712e+':'+_0x3726d6;}export async function resolveAdHocProfile(_0x520b7b={},_0x4f7265=process[_0x20728d(0xfc)]){const _0x598732=_0x20728d,_0x59cd7a={'cFyIf':function(_0x3d4f17,_0xc72d94,_0x59234e,_0x57b582){return _0x3d4f17(_0xc72d94,_0x59234e,_0x57b582);},'DdkcX':function(_0x21ee79,_0x280a02,_0x357e2a,_0x1391b7){return _0x21ee79(_0x280a02,_0x357e2a,_0x1391b7);},'CvTFS':function(_0x495c2c,_0x58a681){return _0x495c2c(_0x58a681);},'Eipmz':function(_0x33f4bf,_0x128110){return _0x33f4bf&&_0x128110;},'zFWah':function(_0x482135,_0x16c29f){return _0x482135!==_0x16c29f;},'QojVk':function(_0x455be0,_0x5ca8b8,_0x139181,_0x3b53bb){return _0x455be0(_0x5ca8b8,_0x139181,_0x3b53bb);},'alIrA':function(_0x55b8bc,_0x1b4514){return _0x55b8bc??_0x1b4514;}},_0x14640f=_0x4f7265[_0x598732(0x127)];if(!_0x14640f)return null;const _0x4a33ae=await fetchAuthConfig(),_0x4db9d5=_0x59cd7a[_0x598732(0x167)](pickAdHocEnvKey,_0x4a33ae,_0x520b7b['targetUrl'],_0x520b7b['envKey']);let _0x2a1f08=_0x59cd7a['DdkcX'](adHocProfileName,_0x14640f,_0x4db9d5,_0x4a33ae?.[_0x598732(0xf5)]),_0x2d6f2c=await _0x59cd7a['CvTFS'](fetchCloudProfile,_0x2a1f08);_0x59cd7a[_0x598732(0x195)](_0x2d6f2c,_0x4db9d5)&&_0x59cd7a[_0x598732(0xee)](_0x2d6f2c[_0x598732(0x16e)],_0x4db9d5)&&(console[_0x598732(0x13a)]('\x20\x20Cloud\x20profile\x20\x22'+_0x2a1f08+_0x598732(0x19d)+(_0x2d6f2c['environmentKey']??'none')+'\x22\x20but\x20this\x20run\x20resolved\x20env\x20\x22'+_0x4db9d5+'\x22;\x20using\x20\x22'+_0x14640f+':'+_0x4db9d5+_0x598732(0x177)),_0x2a1f08=_0x14640f+':'+_0x4db9d5,_0x2d6f2c=await fetchCloudProfile(_0x2a1f08));if(_0x2d6f2c)return{'name':_0x2d6f2c[_0x598732(0x162)],'profile':_0x2d6f2c};const _0x75e17b=_0x4f7265[_0x598732(0x134)],_0x215e81=await _0x59cd7a['QojVk'](createCloudProfile,_0x2a1f08,_0x59cd7a['alIrA'](_0x4db9d5,undefined),{'username':_0x14640f,'password':_0x75e17b});return console[_0x598732(0x13a)]('\x20\x20Created\x20cloud\x20profile\x20\x22'+_0x215e81['name']+_0x598732(0xeb)+_0x14640f+(_0x4db9d5?_0x598732(0x188)+_0x4db9d5+')':'')),{'name':_0x215e81['name'],'profile':_0x215e81};}export async function writeSessionToLocalCache(_0x4ca7e8,_0xc2b804,_0x5dad5a,_0x133485,_0x365a50,_0x42f745,_0x4d3665){const _0x32d822=_0x20728d,_0x95c1ef={'xHYvE':function(_0x4cdc1c,_0x3ecf7e,_0x21c5f3){return _0x4cdc1c(_0x3ecf7e,_0x21c5f3);},'cqWbt':function(_0x1190f4,_0x14e2ac,_0x1da16b){return _0x1190f4(_0x14e2ac,_0x1da16b);},'PtySU':function(_0x106329,_0x2d77ce){return _0x106329(_0x2d77ce);}},_0x68bc32=sessionCacheHash({'orgId':_0xc2b804,'profileName':_0x4ca7e8,'effectiveBaseUrl':_0x5dad5a,'setupHeaders':_0x133485,'invalidateOn':_0x4d3665?.['invalidateOn'],'userAgent':_0x4d3665?.['userAgent'],'clientIp':_0x4d3665?.['clientIp']}),_0x631399=getSessionCachePath(_0x68bc32,_0x4ca7e8),_0x2270e1=join(getRangerHomeDir(),_0x32d822(0x172));!existsSync(_0x2270e1)&&await _0x95c1ef[_0x32d822(0x110)](mkdir,_0x2270e1,{'recursive':!![]});const _0x3529ce={..._0x365a50};_0x42f745&&_0x42f745[_0x32d822(0x130)]>0x0&&Array[_0x32d822(0x10c)](_0x3529ce[_0x32d822(0x111)])&&(_0x3529ce[_0x32d822(0x111)]=_0x95c1ef['xHYvE'](duplicateCookiesForDomains,_0x3529ce[_0x32d822(0x111)],_0x42f745));const _0x6b4020={'cached_at':new Date()['toISOString'](),'session_state':_0x3529ce};await _0x95c1ef['cqWbt'](writeFile,_0x631399,JSON['stringify'](_0x6b4020,null,0x2));const _0x3c9375=_0x95c1ef[_0x32d822(0x12e)](getStorageStatePath,_0x631399);return await _0x95c1ef[_0x32d822(0x110)](writeFile,_0x3c9375,JSON[_0x32d822(0x198)](_0x3529ce,null,0x2)),_0x3c9375;}export async function checkLocalCache(_0x1f978a,_0x21e694,_0x3dac37,_0xe76e71,_0x52868a){const _0x3316e9=_0x20728d,_0x2349d0={'EoIgX':function(_0x5f3943,_0xf077d0){return _0x5f3943(_0xf077d0);},'ZUKQz':function(_0x46a170,_0xad663a,_0x120862){return _0x46a170(_0xad663a,_0x120862);},'Dahwc':function(_0x11c83d,_0x1a6110){return _0x11c83d(_0x1a6110);},'aXKjC':'utf-8'},_0x301d2d=_0x2349d0[_0x3316e9(0x12d)](sessionCacheHash,{'orgId':_0x21e694,'profileName':_0x1f978a,'effectiveBaseUrl':_0x3dac37,'setupHeaders':_0xe76e71,'invalidateOn':_0x52868a?.[_0x3316e9(0x12c)],'userAgent':_0x52868a?.[_0x3316e9(0x10d)],'clientIp':_0x52868a?.[_0x3316e9(0x123)]}),_0x52ffab=_0x2349d0['ZUKQz'](getSessionCachePath,_0x301d2d,_0x1f978a),_0x5a505f=_0x2349d0[_0x3316e9(0x13f)](getStorageStatePath,_0x52ffab);if(!existsSync(_0x52ffab)||!existsSync(_0x5a505f))return null;try{const _0x51b6e0=await readFile(_0x52ffab,_0x2349d0[_0x3316e9(0x139)]);return JSON['parse'](_0x51b6e0),{'storageStatePath':_0x5a505f};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x51e7e8,_0x2b6411){const _0x4fb970=_0x20728d,_0x341578={'sJBeu':function(_0x124d47,_0x36fc02){return _0x124d47===_0x36fc02;}};if(!_0x2b6411||!_0x2b6411[_0x4fb970(0x105)]?.[_0x4fb970(0x130)])return;let _0xe46a52;try{_0xe46a52=new URL(_0x51e7e8);}catch{return;}const _0x5cd65e=[];for(const _0x4af450 of _0x2b6411['domains']){try{_0x5cd65e[_0x4fb970(0x13d)]({'raw':_0x4af450,'url':new URL(_0x4af450)});}catch{}}if(_0x341578['sJBeu'](_0x5cd65e[_0x4fb970(0x130)],0x0))return;if(_0x5cd65e[_0x4fb970(0x165)](_0x24dde3=>_0x24dde3[_0x4fb970(0x115)]['origin']===_0xe46a52['origin']))return;const _0x28159a=_0x5cd65e['map'](_0x794395=>'\x22'+_0x794395[_0x4fb970(0x13e)]+'\x22')[_0x4fb970(0x149)](',\x20');console[_0x4fb970(0x13a)](_0x4fb970(0x193)+_0x28159a+';\x20'+('you\x27re\x20now\x20at\x20\x22'+_0x51e7e8+'\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20')+_0x4fb970(0x154));}export async function serverSideLogin(_0x15c97b,_0x6306f8){const _0x137983=_0x20728d,_0x532228={'HPrcI':function(_0x5d6bf3,_0x229c6b,_0x300b44){return _0x5d6bf3(_0x229c6b,_0x300b44);},'AQPVN':function(_0x129c72,_0x5802d7){return _0x129c72 instanceof _0x5802d7;},'bdtku':function(_0xe24265,_0x2d2dfa){return _0xe24265===_0x2d2dfa;},'gGxaY':_0x137983(0xf2)},_0x5a35d2=process['env'][_0x137983(0x127)],_0x103846=process[_0x137983(0xfc)][_0x137983(0x134)],_0x1b82c1={};if(_0x5a35d2)_0x1b82c1[_0x137983(0x18d)]=_0x5a35d2;if(_0x103846)_0x1b82c1[_0x137983(0x169)]=_0x103846;if(_0x6306f8?.['force'])_0x1b82c1['force']=!![];if(_0x6306f8?.[_0x137983(0x180)])_0x1b82c1['target_url']=_0x6306f8[_0x137983(0x180)];if(_0x6306f8?.['env'])_0x1b82c1[_0x137983(0xfc)]=_0x6306f8[_0x137983(0xfc)];_0x6306f8?.[_0x137983(0x14e)]&&(_0x1b82c1['tunnel_session_id']=_0x6306f8[_0x137983(0x14e)][_0x137983(0x114)],_0x1b82c1[_0x137983(0x155)]=_0x6306f8['tunnel']['pwEndpoint']);try{return await _0x532228['HPrcI'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x15c97b)+_0x137983(0x12a),{'method':'POST','body':JSON[_0x137983(0x198)](_0x1b82c1)});}catch(_0x26be2a){if(_0x532228[_0x137983(0x108)](_0x26be2a,ApiError)&&_0x26be2a['status']===0x190&&_0x532228['bdtku'](_0x26be2a[_0x137983(0x152)],_0x137983(0xf2)))return{'status':_0x532228['gGxaY'],'error':_0x26be2a[_0x137983(0xf0)]};throw _0x26be2a;}}async function serverSideLoginWithOptionalTunnel(_0x2a9483,_0x578708,_0x454af1={}){const _0x31b73a=_0x20728d,_0x1855c0={'sscoX':'tunnel_login_request','rpeNV':function(_0xdbd5fd,_0x497582){return _0xdbd5fd(_0x497582);},'SyxwP':function(_0x35f355,_0x25a5b9){return _0x35f355===_0x25a5b9;},'hCmFY':function(_0x3978e3,_0x2aee92,_0xdf5ab8){return _0x3978e3(_0x2aee92,_0xdf5ab8);},'uHMhN':function(_0x360576,_0x26340f){return _0x360576(_0x26340f);},'WjoVJ':'1|0|2|4|3'};if(!needsTunnel(_0x578708))return await serverSideLogin(_0x2a9483,{'force':_0x454af1[_0x31b73a(0x150)],'env':_0x454af1['env']});let _0x37ffa2=null,_0x1532cc=null,_0x205f45=null,_0xc07be2=null,_0x5a05e5=![];const _0xd27db7=process[_0x31b73a(0xfc)]['RANGER_TUNNEL_LOGIN_HEADED']?.['toLowerCase'](),_0x1727f6=_0xd27db7==='1'||_0x1855c0['SyxwP'](_0xd27db7,_0x31b73a(0x199)),_0x4ba79c={'profileName':_0x2a9483,'targetUrlHost':targetHostForTelemetry(_0x578708),'tunnelRequired':!![],'forceLogin':_0x1855c0['rpeNV'](Boolean,_0x454af1['force']),'localBrowserServerHeaded':_0x1727f6};try{_0x454af1['telemetry']?.['trackPhaseStart'](_0x31b73a(0x186),_0x4ba79c);_0x1727f6&&console[_0x31b73a(0x13a)]('\x20\x20Debug:\x20launching\x20tunneled\x20login\x20browser\x20headed...');_0x37ffa2=await launchBrowserServer({'headless':!_0x1727f6}),_0x1532cc=await createTunnelSession(_0x578708);const _0x20d331=await requireToken();_0x205f45=await createTunnelBridge({'localWsUrl':_0x37ffa2['wsEndpoint'],'tunnelServerUrl':_0x1532cc[_0x31b73a(0x166)],'sessionId':_0x1532cc[_0x31b73a(0x114)],'apiKey':_0x20d331,'onError':_0x2b913d=>{_0xc07be2=_0x2b913d;},'onClose':()=>{_0xc07be2??=new Error('Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20'+_0x2a9483);},'onEvent':_0x567ca6=>trackBridgeEvent(_0x454af1['telemetry'],_0x567ca6)}),_0x454af1[_0x31b73a(0x175)]?.[_0x31b73a(0x11f)]('tunnel_login_setup',{..._0x4ba79c,'tunnelSessionId':_0x1532cc['sessionId'],'localBrowserServer':!![],'localBrowserServerHeaded':_0x1727f6}),_0x5a05e5=!![];try{return _0x454af1[_0x31b73a(0x175)]?.[_0x31b73a(0x159)]('tunnel_login_request',{..._0x4ba79c,'tunnelSessionId':_0x1532cc['sessionId']}),await _0x1855c0['hCmFY'](serverSideLogin,_0x2a9483,{'force':_0x454af1['force'],'targetUrl':_0x578708,'env':_0x454af1[_0x31b73a(0xfc)],'tunnel':{'sessionId':_0x1532cc['sessionId'],'pwEndpoint':_0x1532cc[_0x31b73a(0x19b)]}})[_0x31b73a(0x10f)](_0x5ce08d=>{const _0x1b0bcd=_0x31b73a;return _0x454af1['telemetry']?.[_0x1b0bcd(0x11f)](_0x1855c0['sscoX'],{..._0x4ba79c,'tunnelSessionId':_0x1532cc?.[_0x1b0bcd(0x114)],'loginStatus':_0x5ce08d['status'],'hasSessionState':Boolean(_0x5ce08d['session_state']),'hasTestOutput':_0x1855c0[_0x1b0bcd(0xea)](Boolean,_0x5ce08d['test_output']),'bridgeError':errorMessageForTelemetry(_0xc07be2)}),_0x5ce08d;});}catch(_0xa67095){await _0x454af1[_0x31b73a(0x175)]?.[_0x31b73a(0x16a)](_0x31b73a(0xe9),_0xc07be2??_0xa67095,{..._0x4ba79c,'tunnelSessionId':_0x1532cc[_0x31b73a(0x114)],'bridgeError':_0x1855c0['uHMhN'](errorMessageForTelemetry,_0xc07be2)});throw _0xc07be2??_0xa67095;}}catch(_0x4391ef){!_0x5a05e5&&await _0x454af1[_0x31b73a(0x175)]?.['trackPhaseError'](_0x31b73a(0x186),_0x4391ef,{..._0x4ba79c,'tunnelSessionId':_0x1532cc?.[_0x31b73a(0x114)]});throw _0x4391ef;}finally{if(_0x1532cc||_0x37ffa2||_0x205f45){const _0x24ee6c=_0x1855c0[_0x31b73a(0x118)][_0x31b73a(0x10e)]('|');let _0x202e3e=0x0;while(!![]){switch(_0x24ee6c[_0x202e3e++]){case'0':_0x205f45?.[_0x31b73a(0x11a)]();continue;case'1':_0x454af1['telemetry']?.['trackPhaseStart'](_0x31b73a(0x133),{..._0x4ba79c,'tunnelSessionId':_0x1532cc?.['sessionId']});continue;case'2':_0x37ffa2&&await _0x37ffa2['close']()['catch'](()=>{});continue;case'3':_0x454af1['telemetry']?.['trackPhaseEnd'](_0x31b73a(0x133),{..._0x4ba79c,'tunnelSessionId':_0x1532cc?.['sessionId']});continue;case'4':_0x1532cc&&await deleteTunnelSession(_0x1532cc[_0x31b73a(0x114)])[_0x31b73a(0x120)](()=>{});continue;}break;}}}}export async function manualBrowserLogin(_0x1b5b91,_0x5e0401,_0x2171cd={}){const _0x13253a=_0x20728d,_0x54f3a0={'IKxIA':function(_0x15094a){return _0x15094a();},'HeuFU':function(_0x24dad1){return _0x24dad1();},'CVHrU':function(_0x4ef8e9,_0x292b46){return _0x4ef8e9+_0x292b46;},'PWiLX':_0x13253a(0x14d),'FJYrk':'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','AJZdw':'\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','IcMeg':function(_0x5f2c37,_0x33e666){return _0x5f2c37&&_0x33e666;}};if(!_0x54f3a0['HeuFU'](isInteractive))throw new Error(_0x54f3a0['CVHrU']('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x1b5b91['name']+_0x13253a(0x15f)+_0x54f3a0['PWiLX'],_0x54f3a0[_0x13253a(0x131)]));const _0x4f6071=_0x5e0401&&_0x5e0401['domains'][_0x13253a(0x130)]>0x0?_0x5e0401[_0x13253a(0x105)][0x0]:_0x13253a(0xf6);console[_0x13253a(0x13a)](_0x13253a(0x184)),console[_0x13253a(0x13a)](_0x54f3a0['AJZdw']),await new Promise(_0x5db679=>setTimeout(_0x5db679,0x7d0));const _0x25930e=await chromium['launch']({'headless':![]});let _0x5acdb5=null;try{const _0x4cfc22={'ignoreHTTPSErrors':!![]};_0x5e0401?.[_0x13253a(0x148)]&&(_0x4cfc22['extraHTTPHeaders']=_0x5e0401[_0x13253a(0x148)]);const _0x14ee00=await _0x25930e['newContext'](_0x4cfc22);await addProfileSetupBanner(_0x14ee00);const _0x13e204=await _0x14ee00[_0x13253a(0x126)]();await _0x13e204['goto'](_0x4f6071);let _0x322ad7=![];await new Promise(_0x5a3ce3=>{const _0x4a9fbf=_0x13253a,_0x45b81d={'EZWXy':function(_0x174d59){return _0x174d59();}},_0x40d8f5=setTimeout(()=>{const _0x346662=_0x7623;_0x322ad7=!![],console['error'](_0x346662(0x187)+MANUAL_LOGIN_TIMEOUT_MS/0xea60+_0x346662(0x17e)),_0x45b81d[_0x346662(0x14c)](_0x5a3ce3);},MANUAL_LOGIN_TIMEOUT_MS);_0x13e204['on'](_0x4a9fbf(0x11a),async()=>{const _0xa41a4b=_0x4a9fbf;clearTimeout(_0x40d8f5);try{const _0x509656=await _0x14ee00[_0xa41a4b(0x117)]();_0x5acdb5=_0x509656;}catch{}_0x54f3a0['IKxIA'](_0x5a3ce3);});});if(_0x54f3a0['IcMeg'](_0x322ad7,!_0x5acdb5))throw new Error('Browser\x20login\x20timed\x20out\x20before\x20completion.');}finally{await _0x25930e[_0x13253a(0x11a)]()[_0x13253a(0x120)](()=>{});}if(!_0x5acdb5)throw new Error('Browser\x20closed\x20before\x20authentication\x20was\x20saved.');return _0x2171cd['persistSessionState']!==![]&&await apiRequest(_0x13253a(0xfd)+encodeURIComponent(_0x1b5b91['name'])+_0x13253a(0xed),{'method':'POST','body':JSON['stringify']({'session_state':_0x5acdb5,'updated_by':'cli:manual-login'})}),{'sessionState':_0x5acdb5};}export async function promptSaveCredentials(_0xf5993a){const _0x3114dd=_0x20728d,_0x396c41={'jZwpC':function(_0x1aa066,_0x9a1079){return _0x1aa066||_0x9a1079;},'ffwYB':function(_0x281303){return _0x281303();},'qEPUe':_0x3114dd(0x147),'pzqsG':function(_0x35f080,_0x40bc8b,_0x2541bc){return _0x35f080(_0x40bc8b,_0x2541bc);},'KQsRn':function(_0x2f58aa,_0x3e9c74){return _0x2f58aa(_0x3e9c74);},'RSBlG':_0x3114dd(0x107)},_0x4f864a=process['env'][_0x3114dd(0x127)],_0x40934f=process['env']['RANGER_TEST_PASSWORD'];if(_0x396c41['jZwpC'](!_0x4f864a,!_0x40934f))return;if(!_0x396c41['ffwYB'](isInteractive))return;const {save:_0x372037}=await _0x2d08c1['prompt']([{'type':_0x3114dd(0x125),'name':_0x3114dd(0x136),'message':_0x396c41['qEPUe'],'default':![]}]);if(!_0x372037)return;await _0x396c41['pzqsG'](apiRequest,_0x3114dd(0xfd)+_0x396c41[_0x3114dd(0x174)](encodeURIComponent,_0xf5993a),{'method':_0x396c41['RSBlG'],'body':JSON['stringify']({'username':_0x4f864a,'password':_0x40934f})}),console['log']('\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.');}export async function resolveCloudProfileSession(_0x169e1b,_0x32c002={}){const _0x2ebd9b=_0x20728d,_0x401b20={'cxjkx':function(_0x216554,_0x19d127,_0xf3e3f4){return _0x216554(_0x19d127,_0xf3e3f4);},'UICDM':function(_0x1a2844,_0x220bdf){return _0x1a2844===_0x220bdf;},'ZeAcf':_0x2ebd9b(0x17f),'Kzgsr':function(_0x25f8fc,_0x407eb5){return _0x25f8fc||_0x407eb5;},'oKPUx':function(_0x11d283,_0x2d6cda){return _0x11d283(_0x2d6cda);},'ISZzi':function(_0x254103,_0x3b2899,_0x168581,_0x55acba,_0xa5c242,_0x1215e5){return _0x254103(_0x3b2899,_0x168581,_0x55acba,_0xa5c242,_0x1215e5);},'XYqha':function(_0xf652ee,_0x56a078){return _0xf652ee&&_0x56a078;},'PNBtG':function(_0x146070,_0x4738db){return _0x146070(_0x4738db);},'oBmDQ':function(_0x249c22,_0x18dc3c,_0x45583b){return _0x249c22(_0x18dc3c,_0x45583b);},'EciGB':'not_configured','xCkMt':'\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','mhUxO':function(_0x5b135b,_0x3cca08,_0x382491,_0x3a92ea,_0x2cd98b,_0x1abbc3,_0x4baec0,_0x252aa8){return _0x5b135b(_0x3cca08,_0x382491,_0x3a92ea,_0x2cd98b,_0x1abbc3,_0x4baec0,_0x252aa8);},'neGFS':function(_0x3d145a,_0x532ee1){return _0x3d145a instanceof _0x532ee1;},'NBpje':_0x2ebd9b(0xf3),'nnPPY':function(_0x391071){return _0x391071();},'ShZvd':function(_0x577120,_0x187994,_0x1ed86c,_0x2cca35){return _0x577120(_0x187994,_0x1ed86c,_0x2cca35);},'cwjvH':function(_0x4e7780,_0x3f1273,_0x129ce7,_0x2acbf3,_0x3ed34b,_0x37c1da,_0x32e642,_0x91715d){return _0x4e7780(_0x3f1273,_0x129ce7,_0x2acbf3,_0x3ed34b,_0x37c1da,_0x32e642,_0x91715d);}},_0x31f962=_0x169e1b['settings']??{},_0x1f2d8b=await fetchAuthConfig(),_0x5c0de9=_0x1f2d8b?_0x401b20['cxjkx'](resolveAuthEnvironmentLocally,_0x1f2d8b,_0x32c002['assertedEnv']??_0x169e1b['environmentKey']):null,_0x1ef2af=typeof _0x5c0de9?.['loginInstructions']==='string'&&_0x5c0de9[_0x2ebd9b(0x190)][_0x2ebd9b(0xef)]()?_0x5c0de9[_0x2ebd9b(0x190)]:undefined,_0x483e1f=_0x401b20[_0x2ebd9b(0xec)](typeof _0x31f962['loginInstructions'],_0x401b20['ZeAcf'])&&_0x31f962[_0x2ebd9b(0x190)][_0x2ebd9b(0xef)]()?_0x31f962['loginInstructions']:undefined,_0x58b8fc=_0x401b20['Kzgsr'](_0x483e1f,!_0x1ef2af)?_0x31f962:{..._0x31f962,'loginInstructions':_0x1ef2af},_0x13f5d8=_0x401b20[_0x2ebd9b(0x179)](Boolean,_0x58b8fc[_0x2ebd9b(0x190)]?.['trim']()),_0x5b848b=_0x401b20['oKPUx'](Boolean,_0x31f962[_0x2ebd9b(0x113)]||_0x5c0de9?.['forceLogin']),_0x42908b=_0x5c0de9?.[_0x2ebd9b(0x105)],_0x493002=_0x31f962['setupHeaders'],_0x532154=_0x493002??_0x5c0de9?.[_0x2ebd9b(0x148)],_0x5b2f54=_0x32c002[_0x2ebd9b(0x183)]??_0x31f962['baseUrl']??(_0x42908b&&_0x42908b['length']>0x0?_0x42908b[0x0]:''),_0x5c79f0=_0x5b2f54?needsTunnel(_0x5b2f54):![],_0x374ea1={'invalidateOn':_0x5c0de9?.[_0x2ebd9b(0x12c)],'userAgent':_0x5c0de9?.['browserOptions']?.['userAgent']??_0x31f962['userAgent']};_0x5b848b&&console[_0x2ebd9b(0x13a)](_0x2ebd9b(0x163)+_0x169e1b[_0x2ebd9b(0x162)]+_0x2ebd9b(0x191));if(!_0x5b848b){const _0x45131c=await _0x401b20[_0x2ebd9b(0x128)](checkLocalCache,_0x169e1b[_0x2ebd9b(0x162)],_0x169e1b['organizationId'],_0x5b2f54,_0x532154,_0x374ea1);if(_0x45131c){if(_0x401b20[_0x2ebd9b(0x192)](_0x5b2f54,!_0x5c79f0)){const _0x3fa2cc=await isCachedSessionLive(_0x45131c[_0x2ebd9b(0x17a)],_0x5b2f54,{'sessionCheckPath':_0x5c0de9?.[_0x2ebd9b(0xf7)],'setupHeaders':_0x532154},{'launchBrowser':launchRealBrowser});if(_0x3fa2cc)return console[_0x2ebd9b(0x13a)](_0x2ebd9b(0x138)+_0x169e1b[_0x2ebd9b(0x162)]+'\x22'),{'authPath':_0x45131c[_0x2ebd9b(0x17a)],'settings':_0x58b8fc,'resolvedEnv':_0x5c0de9};console[_0x2ebd9b(0x13a)]('\x20\x20Cached\x20session\x20for\x20\x22'+_0x169e1b['name']+_0x2ebd9b(0xe7)),emitSessionValidationHint(_0x5b2f54,_0x5c0de9);}else return _0x5c79f0&&console[_0x2ebd9b(0x13a)](_0x2ebd9b(0x15b)+_0x169e1b[_0x2ebd9b(0x162)]+'\x22'),{'authPath':_0x45131c[_0x2ebd9b(0x17a)],'settings':_0x58b8fc,'resolvedEnv':_0x5c0de9};}}if(!_0x5b848b&&_0x169e1b[_0x2ebd9b(0xfa)]){const _0x120677=await writeSessionToLocalCache(_0x169e1b['name'],_0x169e1b['organizationId'],_0x5b2f54,_0x532154,_0x169e1b['sessionState'],_0x42908b,_0x374ea1);if(_0x5b2f54){const _0x388093=await isCachedSessionLive(_0x120677,_0x5b2f54,{'sessionCheckPath':_0x5c0de9?.[_0x2ebd9b(0xf7)],'setupHeaders':_0x532154},{'launchBrowser':launchRealBrowser});if(_0x388093)return console['log']('\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22'+_0x169e1b['name']+'\x22,\x20cached\x20locally'),{'authPath':_0x120677,'settings':_0x58b8fc,'resolvedEnv':_0x5c0de9};console['log'](_0x2ebd9b(0x10a)+_0x169e1b['name']+_0x2ebd9b(0x103)),emitSessionValidationHint(_0x5b2f54,_0x5c0de9);}else return{'authPath':_0x120677,'settings':_0x58b8fc,'resolvedEnv':_0x5c0de9};}if(_0x13f5d8)return console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x169e1b[_0x2ebd9b(0x162)]+'\x22;\x20proceeding\x20with\x20loginInstructions.'),{'authPath':undefined,'settings':_0x58b8fc,'resolvedEnv':_0x5c0de9};console[_0x2ebd9b(0x13a)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x169e1b['name']+_0x2ebd9b(0x164));const _0x11d51a=Boolean(process[_0x2ebd9b(0xfc)]['RANGER_TEST_USERNAME'])&&(_0x401b20[_0x2ebd9b(0xec)](_0x5c0de9?.['requiresPassword'],![])||Boolean(process['env'][_0x2ebd9b(0x134)])),_0x3ac6ea=_0x401b20['PNBtG'](Boolean,_0x169e1b[_0x2ebd9b(0x18d)]),_0x4a7364=_0x401b20[_0x2ebd9b(0x13c)](Boolean,_0x32c002['assertedEnv']),_0x5f42ab=_0x5b2f54?isBareLocalhost(_0x5b2f54):![],_0x3c052a=(_0x11d51a||_0x3ac6ea)&&_0x401b20[_0x2ebd9b(0x11e)](!_0x5f42ab,_0x4a7364);if(_0x3c052a)try{const _0x4c9005=_0x5b2f54?await serverSideLoginWithOptionalTunnel(_0x169e1b['name'],_0x5b2f54,{'force':_0x5b848b,'telemetry':_0x32c002['telemetry'],'env':_0x32c002[_0x2ebd9b(0x146)]}):await _0x401b20['oBmDQ'](serverSideLogin,_0x169e1b['name'],{'force':_0x5b848b,'env':_0x32c002[_0x2ebd9b(0x146)]});if(_0x4c9005[_0x2ebd9b(0x18a)]===_0x401b20[_0x2ebd9b(0x109)])console['log'](_0x401b20[_0x2ebd9b(0x182)]);else{if(_0x401b20['UICDM'](_0x4c9005['status'],_0x2ebd9b(0x16c))&&_0x4c9005['session_state']){console['log'](_0x2ebd9b(0x153));const _0xb79fe0=await _0x401b20[_0x2ebd9b(0x18c)](writeSessionToLocalCache,_0x169e1b['name'],_0x169e1b['organizationId'],_0x5b2f54,_0x532154,_0x4c9005['session_state'],_0x42908b,_0x374ea1);return _0x11d51a&&!_0x3ac6ea&&await _0x401b20[_0x2ebd9b(0x179)](promptSaveCredentials,_0x169e1b[_0x2ebd9b(0x162)]),{'authPath':_0xb79fe0,'settings':_0x58b8fc,'resolvedEnv':_0x5c0de9};}else _0x4c9005[_0x2ebd9b(0x140)]&&(console[_0x2ebd9b(0x13a)]('\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:'),console['log'](_0x4c9005['test_output'])),console[_0x2ebd9b(0x13a)](_0x2ebd9b(0xf3));}}catch(_0x17d52d){console['log'](_0x2ebd9b(0x119)+(_0x401b20[_0x2ebd9b(0x151)](_0x17d52d,Error)?_0x17d52d[_0x2ebd9b(0x173)]:_0x401b20['PNBtG'](String,_0x17d52d))),console['log'](_0x401b20[_0x2ebd9b(0x17c)]);}if(_0x401b20[_0x2ebd9b(0x192)](_0x5f42ab,!_0x4a7364)&&!_0x401b20['nnPPY'](isInteractive))throw new Error('No\x20saved\x20session\x20for\x20\x22'+_0x5b2f54+'\x22\x20on\x20profile\x20\x22'+_0x169e1b[_0x2ebd9b(0x162)]+_0x2ebd9b(0x15a)+('\x20\x20•\x20capture\x20one\x20(a\x20browser\x20opens):\x20ranger\x20profile\x20add\x20'+_0x169e1b['name']+'\x20--url\x20'+_0x5b2f54+'\x0a')+'\x20\x20•\x20or\x20pass\x20--env\x20<key>\x20to\x20run\x20an\x20automated\x20login\x20for\x20this\x20target.');const _0x5164e5=_0x5c0de9?{..._0x5c0de9,'domains':orderLoginDomains(_0x5b2f54,_0x5c0de9['domains']),'setupHeaders':_0x532154}:_0x5b2f54?{'key':_0x169e1b[_0x2ebd9b(0x16e)]??'','domains':[_0x5b2f54],'setupHeaders':_0x532154}:null,{sessionState:_0x2c81ce}=await _0x401b20[_0x2ebd9b(0x144)](manualBrowserLogin,_0x169e1b,_0x5164e5,{'persistSessionState':!_0x5c79f0}),_0x433a1a=await _0x401b20['cwjvH'](writeSessionToLocalCache,_0x169e1b[_0x2ebd9b(0x162)],_0x169e1b['organizationId'],_0x5b2f54,_0x532154,_0x2c81ce,_0x42908b,_0x374ea1);return{'authPath':_0x433a1a,'settings':_0x58b8fc,'resolvedEnv':_0x5c0de9};}
@@ -1 +1 @@
1
- const _0x362610=_0x5ac8;(function(_0x430e75,_0x55d21c){const _0x289016=_0x5ac8,_0x22e6d9=_0x430e75();while(!![]){try{const _0x1fff5d=parseInt(_0x289016(0x16d))/0x1+parseInt(_0x289016(0x155))/0x2+parseInt(_0x289016(0x17c))/0x3*(parseInt(_0x289016(0x176))/0x4)+parseInt(_0x289016(0x17f))/0x5+-parseInt(_0x289016(0x151))/0x6*(-parseInt(_0x289016(0x170))/0x7)+-parseInt(_0x289016(0x17a))/0x8*(-parseInt(_0x289016(0x146))/0x9)+-parseInt(_0x289016(0x14b))/0xa*(parseInt(_0x289016(0x163))/0xb);if(_0x1fff5d===_0x55d21c)break;else _0x22e6d9['push'](_0x22e6d9['shift']());}catch(_0x2c4481){_0x22e6d9['push'](_0x22e6d9['shift']());}}}(_0x5d1b,0x96b9e));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x4558d1=process[_0x362610(0x174)],_0x2bbdf4={'stdin':process[_0x362610(0x148)],'stdout':process[_0x362610(0x15a)]}){const _0x3770e7=_0x362610,_0x225313={'QYRXn':function(_0x26fed2,_0xb88df4){return _0x26fed2(_0xb88df4);},'fyHIw':function(_0x2a47a8,_0xd8a169){return _0x2a47a8(_0xd8a169);}};if(_0x4558d1['CI'])return![];return _0x225313['QYRXn'](Boolean,_0x2bbdf4['stdin'][_0x3770e7(0x164)])&&_0x225313[_0x3770e7(0x177)](Boolean,_0x2bbdf4[_0x3770e7(0x15a)]['isTTY']);}export const DEFAULT_INVALIDATE_ON=[];export function sessionCacheHash(_0x354255){const _0x27f0b4=_0x362610,_0x531b12={'PGShd':function(_0xf26da5,_0x48875b){return _0xf26da5(_0x48875b);},'kpioY':_0x27f0b4(0x172),'Ozvot':'port','YeEHD':function(_0xf37373,_0x298afd){return _0xf37373(_0x298afd);},'dHluu':function(_0x1948b6,_0x151d58){return _0x1948b6!==_0x151d58;},'gcSce':'hex'},_0xe7ba1f=new Set(_0x354255[_0x27f0b4(0x169)]??DEFAULT_INVALIDATE_ON);_0x354255['effectiveBaseUrl']&&_0x531b12['PGShd'](needsTunnel,_0x354255[_0x27f0b4(0x15b)])&&_0xe7ba1f['add'](_0x531b12['kpioY']);const _0x22316b={'orgId':_0x354255[_0x27f0b4(0x14f)],'profileName':_0x354255[_0x27f0b4(0x15e)]};return _0xe7ba1f['has'](_0x27f0b4(0x172))&&(_0x22316b[_0x27f0b4(0x15b)]=_0x354255['effectiveBaseUrl']),_0xe7ba1f[_0x27f0b4(0x14c)]('setupHeaders')&&(_0x22316b['setupHeaders']=_0x354255['setupHeaders']?sortObjectKeys(_0x354255['setupHeaders']):_0x354255[_0x27f0b4(0x159)]),_0xe7ba1f['has'](_0x531b12[_0x27f0b4(0x181)])&&(_0x22316b['port']=_0x531b12[_0x27f0b4(0x147)](extractPort,_0x354255[_0x27f0b4(0x15b)])),_0xe7ba1f['has'](_0x27f0b4(0x161))&&_0x531b12[_0x27f0b4(0x150)](_0x354255[_0x27f0b4(0x161)],undefined)&&(_0x22316b['userAgent']=_0x354255['userAgent']),_0xe7ba1f[_0x27f0b4(0x14c)]('clientIp')&&_0x354255[_0x27f0b4(0x14e)]!==undefined&&(_0x22316b['clientIp']=_0x354255[_0x27f0b4(0x14e)]),_0x531b12[_0x27f0b4(0x152)](createHash,_0x27f0b4(0x179))['update'](JSON[_0x27f0b4(0x17d)](_0x22316b))['digest'](_0x531b12['gcSce'])['slice'](0x0,0xc);}function extractPort(_0x269106){try{return new URL(_0x269106)['port'];}catch{return'';}}function sortObjectKeys(_0x34147a){const _0xeacb6d={};for(const _0x219189 of Object['keys'](_0x34147a)['sort']()){_0xeacb6d[_0x219189]=_0x34147a[_0x219189];}return _0xeacb6d;}function _0x5ac8(_0x18fe1b,_0x539da9){_0x18fe1b=_0x18fe1b-0x146;const _0x5d1b2c=_0x5d1b();let _0x5ac840=_0x5d1b2c[_0x18fe1b];return _0x5ac840;}export function getSessionCachePath(_0xda8548,_0x5768d9){const _0x45671f=_0x362610,_0xb3851f={'NNXmG':function(_0x90b89,_0x1c3452,_0x6b82c2,_0x41b7ae){return _0x90b89(_0x1c3452,_0x6b82c2,_0x41b7ae);}};return _0xb3851f['NNXmG'](join,getRangerHomeDir(),_0x45671f(0x154),_0xda8548+'-'+_0x5768d9+_0x45671f(0x153));}export function getStorageStatePath(_0x2115a9){const _0x4e355c=_0x362610;return _0x2115a9[_0x4e355c(0x16f)](/\.json$/,'.storageState.json');}export function needsTunnel(_0x4dfd5e){const _0x3becc5=_0x362610,_0x625b90={'ihdVN':function(_0x4e592f,_0x21e69b){return _0x4e592f===_0x21e69b;},'bAupU':'localhost','fIqUk':function(_0x262b4f,_0x201336){return _0x262b4f===_0x201336;},'lfNCE':'127.0.0.1'};let _0x377ef7;try{_0x377ef7=new URL(_0x4dfd5e)['hostname'];}catch{return![];}if(_0x625b90[_0x3becc5(0x14a)](_0x377ef7,_0x625b90[_0x3becc5(0x173)])||_0x625b90[_0x3becc5(0x158)](_0x377ef7,_0x625b90['lfNCE']))return!![];if(_0x377ef7[_0x3becc5(0x15c)](_0x3becc5(0x15f)))return!![];if(_0x377ef7[_0x3becc5(0x157)](_0x3becc5(0x160)))return!![];return![];}export function isBareLocalhost(_0x566552){const _0xf127b9=_0x362610,_0x103dea={'aSvoa':'localhost','FLBhQ':'::1','UXIdW':function(_0x5e8b49,_0x4b3df0){return _0x5e8b49===_0x4b3df0;}};let _0x362188;try{_0x362188=new URL(_0x566552)['hostname'];}catch{return![];}return _0x362188===_0x103dea['aSvoa']||_0x362188==='127.0.0.1'||_0x362188===_0x103dea[_0xf127b9(0x167)]||_0x103dea['UXIdW'](_0x362188,_0xf127b9(0x162));}export function orderLoginDomains(_0x2d6d46,_0x221a0d){const _0x5632b8=_0x362610,_0x5b868d=_0x221a0d??[];if(!_0x2d6d46)return _0x5b868d;return[_0x2d6d46,..._0x5b868d[_0x5632b8(0x168)](_0xfd4b3e=>_0xfd4b3e!==_0x2d6d46)];}function _0x5d1b(){const _0x38c042=['Ozvot','catch','27684ADuIIL','YeEHD','stdin','status','ihdVN','891370YzMvqx','has','defaultEnvironmentKey','clientIp','orgId','dHluu','18COSlrZ','PGShd','.json','auth','2027212nHpsNe','cHlwB','includes','fIqUk','setupHeaders','stdout','effectiveBaseUrl','endsWith','push','profileName','.localhost','localhost.','userAgent','[::1]','253fYNmUe','isTTY','launchBrowser','close','FLBhQ','filter','invalidateOn','newContext','sessionCheckPath','hostname','7974FKTMVA','pathname','replace','1142386yYjuGd','test','baseUrl','bAupU','env','length','4svDoNA','fyHIw','url','sha256','56EkXtuR','environments','2407041OQDFdB','stringify','newPage','1662360LrgNjm','domcontentloaded'];_0x5d1b=function(){return _0x38c042;};return _0x5d1b();}export function hostnameOf(_0x2d0516){const _0x4d102c=_0x362610;return new URL(_0x2d0516)[_0x4d102c(0x16c)];}export function duplicateCookiesForDomains(_0x282f10,_0x530fd1){const _0x52d677=_0x362610,_0x3b76b1={'pSdtp':function(_0x13e7d5,_0x4adab0){return _0x13e7d5(_0x4adab0);}},_0x45b744=[..._0x282f10],_0x1f2a8e=new Set(_0x282f10['map'](_0x5de225=>_0x5de225['domain']));for(const _0x451847 of _0x530fd1){let _0x519554;try{_0x519554=_0x3b76b1['pSdtp'](hostnameOf,_0x451847);}catch{continue;}if(!_0x519554)continue;const _0xe2efd8=_0x519554['startsWith']('.')?_0x519554:'.'+_0x519554;if(_0x1f2a8e[_0x52d677(0x14c)](_0x519554)||_0x1f2a8e[_0x52d677(0x14c)](_0xe2efd8))continue;for(const _0x44a2eb of _0x282f10){_0x45b744[_0x52d677(0x15d)]({..._0x44a2eb,'domain':_0xe2efd8});}_0x1f2a8e['add'](_0xe2efd8);}return _0x45b744;}export function resolveAuthEnvironmentLocally(_0xe1c2ce,_0x44b0d5){const _0x29ddab=_0x362610,_0x24eb7e=_0xe1c2ce[_0x29ddab(0x17b)];if(_0x44b0d5){const _0x5f6680=_0x24eb7e[_0x44b0d5];if(!_0x5f6680)return null;return{'key':_0x44b0d5,..._0x5f6680};}if(_0xe1c2ce['defaultEnvironmentKey']){const _0x5bb2e2=_0x24eb7e[_0xe1c2ce['defaultEnvironmentKey']];if(!_0x5bb2e2)return null;return{'key':_0xe1c2ce[_0x29ddab(0x14d)],..._0x5bb2e2};}const _0x1a01dd=Object['keys'](_0x24eb7e);if(_0x1a01dd[_0x29ddab(0x175)]===0x1){const _0x11d42e=_0x1a01dd[0x0];return{'key':_0x11d42e,..._0x24eb7e[_0x11d42e]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x56b937,_0x5d4359){try{if(_0x5d4359)return new URL(_0x5d4359,_0x56b937)['toString']();return new URL(_0x56b937)['toString']();}catch{return null;}}export function looksLikeLoginUrl(_0x4c8477){const _0x528530=_0x362610;try{const _0xec40de=new URL(_0x4c8477);return LOGIN_URL_PATTERN[_0x528530(0x171)](_0xec40de[_0x528530(0x16e)]);}catch{return LOGIN_URL_PATTERN['test'](_0x4c8477);}}export async function isCachedSessionLive(_0x2e60d9,_0x5eb263,_0x178fc6={},_0x54384c={}){const _0x1b85aa=_0x362610,_0x42ff2a={'cHlwB':function(_0x48e592,_0x32557b,_0x3e1b8d){return _0x48e592(_0x32557b,_0x3e1b8d);},'DfEWW':_0x1b85aa(0x180),'DqUJb':function(_0xaa8c52,_0x2ea860){return _0xaa8c52(_0x2ea860);}},_0x2de7b1=_0x42ff2a[_0x1b85aa(0x156)](buildSessionCheckUrl,_0x5eb263,_0x178fc6[_0x1b85aa(0x16b)]);if(!_0x2de7b1)return!![];if(!_0x54384c[_0x1b85aa(0x165)])return!![];let _0x422183=null;try{_0x422183=await _0x54384c['launchBrowser']();const _0x15885d=await _0x422183[_0x1b85aa(0x16a)]({'storageState':_0x2e60d9,'ignoreHTTPSErrors':!![],..._0x178fc6['setupHeaders']?{'extraHTTPHeaders':_0x178fc6[_0x1b85aa(0x159)]}:{}}),_0x361f1c=await _0x15885d[_0x1b85aa(0x17e)](),_0x278a39=await _0x361f1c['goto'](_0x2de7b1,{'waitUntil':_0x42ff2a['DfEWW'],'timeout':0x3a98}),_0x5083db=_0x278a39?.[_0x1b85aa(0x149)]();if(_0x5083db===0x191||_0x5083db===0x193)return![];const _0x5d84ab=_0x361f1c[_0x1b85aa(0x178)]();if(_0x42ff2a['DqUJb'](looksLikeLoginUrl,_0x5d84ab))return![];return!![];}catch{return![];}finally{if(_0x422183)await _0x422183[_0x1b85aa(0x166)]()[_0x1b85aa(0x182)](()=>{});}}
1
+ const _0x4b56d9=_0xa951;(function(_0x5bcb1a,_0x2127e5){const _0x24ec76=_0xa951,_0x391157=_0x5bcb1a();while(!![]){try{const _0x1f2cbf=-parseInt(_0x24ec76(0x161))/0x1+-parseInt(_0x24ec76(0x184))/0x2*(parseInt(_0x24ec76(0x186))/0x3)+parseInt(_0x24ec76(0x16a))/0x4+-parseInt(_0x24ec76(0x166))/0x5+parseInt(_0x24ec76(0x15b))/0x6+parseInt(_0x24ec76(0x180))/0x7+-parseInt(_0x24ec76(0x15a))/0x8*(-parseInt(_0x24ec76(0x164))/0x9);if(_0x1f2cbf===_0x2127e5)break;else _0x391157['push'](_0x391157['shift']());}catch(_0x4f08cb){_0x391157['push'](_0x391157['shift']());}}}(_0x3fc7,0x3e6b0));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x4fa82b=process[_0x4b56d9(0x17e)],_0x5dcfb8={'stdin':process[_0x4b56d9(0x165)],'stdout':process[_0x4b56d9(0x170)]}){const _0x3f7540=_0x4b56d9,_0x81429f={'OFIFu':function(_0x4ca208,_0x52742a){return _0x4ca208(_0x52742a);}};if(_0x4fa82b['CI'])return![];return Boolean(_0x5dcfb8['stdin'][_0x3f7540(0x177)])&&_0x81429f[_0x3f7540(0x168)](Boolean,_0x5dcfb8[_0x3f7540(0x170)]['isTTY']);}export const DEFAULT_INVALIDATE_ON=[];export function sessionCacheHash(_0x13432c){const _0x59edee=_0x4b56d9,_0x1d07da={'ZOgad':function(_0x2a2751,_0x2b0bb6){return _0x2a2751(_0x2b0bb6);},'ZWHAZ':'setupHeaders','rLmiL':'port','IUybL':_0x59edee(0x15d),'CyAOj':function(_0x3cf135,_0x1340b5){return _0x3cf135!==_0x1340b5;},'fTiav':_0x59edee(0x174)},_0xd47103=new Set(_0x13432c[_0x59edee(0x172)]??DEFAULT_INVALIDATE_ON);_0x13432c['effectiveBaseUrl']&&_0x1d07da[_0x59edee(0x173)](needsTunnel,_0x13432c['effectiveBaseUrl'])&&_0xd47103[_0x59edee(0x16d)]('baseUrl');const _0xe1381a={'orgId':_0x13432c[_0x59edee(0x17d)],'profileName':_0x13432c[_0x59edee(0x183)]};return _0xd47103[_0x59edee(0x182)]('baseUrl')&&(_0xe1381a['effectiveBaseUrl']=_0x13432c['effectiveBaseUrl']),_0xd47103[_0x59edee(0x182)](_0x1d07da[_0x59edee(0x169)])&&(_0xe1381a['setupHeaders']=_0x13432c['setupHeaders']?sortObjectKeys(_0x13432c[_0x59edee(0x176)]):_0x13432c[_0x59edee(0x176)]),_0xd47103['has'](_0x1d07da[_0x59edee(0x16e)])&&(_0xe1381a[_0x59edee(0x185)]=extractPort(_0x13432c['effectiveBaseUrl'])),_0xd47103['has']('userAgent')&&_0x13432c['userAgent']!==undefined&&(_0xe1381a[_0x59edee(0x17f)]=_0x13432c['userAgent']),_0xd47103[_0x59edee(0x182)](_0x1d07da['IUybL'])&&_0x1d07da[_0x59edee(0x18b)](_0x13432c['clientIp'],undefined)&&(_0xe1381a[_0x59edee(0x15d)]=_0x13432c['clientIp']),createHash(_0x59edee(0x179))['update'](JSON['stringify'](_0xe1381a))['digest'](_0x1d07da[_0x59edee(0x17b)])[_0x59edee(0x178)](0x0,0xc);}function extractPort(_0xd3e38e){try{return new URL(_0xd3e38e)['port'];}catch{return'';}}function _0x3fc7(){const _0x5313a4=['2433333VMDfXV','bFiEJ','has','profileName','2eKlatA','port','351570lEIMVW','includes','domcontentloaded','.json','close','CyAOj','push','blRFe','defaultEnvironmentKey','520bevghm','593904keBkcw','endsWith','clientIp','goto','status','auth','495945QQKUxb','keys','test','67401MUofjL','stdin','658390GIBTiQ','environments','OFIFu','ZWHAZ','268356eMENgc','launchBrowser','sessionCheckPath','add','rLmiL','hostname','stdout','url','invalidateOn','ZOgad','hex','localhost.','setupHeaders','isTTY','slice','sha256','domain','fTiav','newPage','orgId','env','userAgent'];_0x3fc7=function(){return _0x5313a4;};return _0x3fc7();}function sortObjectKeys(_0x4ebcfc){const _0x4d3dec=_0x4b56d9,_0x3a9e6e={};for(const _0x3d602d of Object[_0x4d3dec(0x162)](_0x4ebcfc)['sort']()){_0x3a9e6e[_0x3d602d]=_0x4ebcfc[_0x3d602d];}return _0x3a9e6e;}export function getSessionCachePath(_0x6cdb1,_0x45c662){const _0x36583f=_0x4b56d9,_0x111ad8={'yVUzy':function(_0x16d2fa,_0x2c5314,_0x4afa90,_0x37bf92){return _0x16d2fa(_0x2c5314,_0x4afa90,_0x37bf92);},'LBnVH':function(_0x1f713b){return _0x1f713b();},'uhaFt':_0x36583f(0x160)};return _0x111ad8['yVUzy'](join,_0x111ad8['LBnVH'](getRangerHomeDir),_0x111ad8['uhaFt'],_0x6cdb1+'-'+_0x45c662+_0x36583f(0x189));}export function getStorageStatePath(_0x172bba){return _0x172bba['replace'](/\.json$/,'.storageState.json');}export function needsTunnel(_0x225662){const _0x44826a=_0x4b56d9,_0x5f1baf={'EuFiv':function(_0x1f1f0b,_0xdc2059){return _0x1f1f0b===_0xdc2059;},'DXLlV':'localhost','blRFe':'127.0.0.1','ZHajA':'.localhost','dcbBM':_0x44826a(0x175)};let _0x4e4687;try{_0x4e4687=new URL(_0x225662)[_0x44826a(0x16f)];}catch{return![];}if(_0x5f1baf['EuFiv'](_0x4e4687,_0x5f1baf['DXLlV'])||_0x4e4687===_0x5f1baf[_0x44826a(0x18d)])return!![];if(_0x4e4687[_0x44826a(0x15c)](_0x5f1baf['ZHajA']))return!![];if(_0x4e4687[_0x44826a(0x187)](_0x5f1baf['dcbBM']))return!![];return![];}export function isBareLocalhost(_0x2f3529){const _0x5b2427=_0x4b56d9,_0x547846={'oAyfQ':'localhost','fgacF':function(_0xa394eb,_0x42a1ad){return _0xa394eb===_0x42a1ad;},'CnrKG':'127.0.0.1','KfFle':'::1'};let _0x50b359;try{_0x50b359=new URL(_0x2f3529)[_0x5b2427(0x16f)];}catch{return![];}return _0x50b359===_0x547846['oAyfQ']||_0x547846['fgacF'](_0x50b359,_0x547846['CnrKG'])||_0x50b359===_0x547846['KfFle']||_0x50b359==='[::1]';}export function orderLoginDomains(_0x19807f,_0x1fcbf7){const _0x3aa8dd=_0x1fcbf7??[];if(!_0x19807f)return _0x3aa8dd;return[_0x19807f,..._0x3aa8dd['filter'](_0x532e53=>_0x532e53!==_0x19807f)];}export function hostnameOf(_0x5564b3){const _0x3fb072=_0x4b56d9;return new URL(_0x5564b3)[_0x3fb072(0x16f)];}export function duplicateCookiesForDomains(_0x55da89,_0x47ac2c){const _0x12c055=_0x4b56d9,_0x143d4f={'UOxLg':function(_0x159da2,_0x314135){return _0x159da2(_0x314135);}},_0x5b7531=[..._0x55da89],_0x2df9d6=new Set(_0x55da89['map'](_0x251e2d=>_0x251e2d[_0x12c055(0x17a)]));for(const _0x44a64a of _0x47ac2c){let _0x51859e;try{_0x51859e=_0x143d4f['UOxLg'](hostnameOf,_0x44a64a);}catch{continue;}if(!_0x51859e||_0x51859e[_0x12c055(0x187)]('*'))continue;const _0xf1670d=_0x51859e['startsWith']('.')?_0x51859e:'.'+_0x51859e;if(_0x2df9d6['has'](_0x51859e)||_0x2df9d6[_0x12c055(0x182)](_0xf1670d))continue;for(const _0x5f327a of _0x55da89){_0x5b7531[_0x12c055(0x18c)]({..._0x5f327a,'domain':_0xf1670d});}_0x2df9d6['add'](_0xf1670d);}return _0x5b7531;}export function resolveAuthEnvironmentLocally(_0x1273c1,_0x359471){const _0x1a3224=_0x4b56d9,_0x2d29c9=_0x1273c1[_0x1a3224(0x167)];if(_0x359471){const _0x246d50=_0x2d29c9[_0x359471];if(!_0x246d50)return null;return{'key':_0x359471,..._0x246d50};}if(_0x1273c1[_0x1a3224(0x18e)]){const _0x50ff17=_0x2d29c9[_0x1273c1[_0x1a3224(0x18e)]];if(!_0x50ff17)return null;return{'key':_0x1273c1['defaultEnvironmentKey'],..._0x50ff17};}const _0x3d1c39=Object['keys'](_0x2d29c9);if(_0x3d1c39['length']===0x1){const _0x580f94=_0x3d1c39[0x0];return{'key':_0x580f94,..._0x2d29c9[_0x580f94]};}return null;}function _0xa951(_0x5d773d,_0x190b55){_0x5d773d=_0x5d773d-0x15a;const _0x3fc70=_0x3fc7();let _0xa95156=_0x3fc70[_0x5d773d];return _0xa95156;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x41a169,_0x5b27a5){try{if(_0x5b27a5)return new URL(_0x5b27a5,_0x41a169)['toString']();return new URL(_0x41a169)['toString']();}catch{return null;}}export function looksLikeLoginUrl(_0x33bf41){const _0x80c895=_0x4b56d9;try{const _0x23008b=new URL(_0x33bf41);return LOGIN_URL_PATTERN[_0x80c895(0x163)](_0x23008b['pathname']);}catch{return LOGIN_URL_PATTERN[_0x80c895(0x163)](_0x33bf41);}}export async function isCachedSessionLive(_0x1571c1,_0x2bd386,_0x33fc18={},_0x5354e3={}){const _0x5a87c7=_0x4b56d9,_0x3b23d0={'bFiEJ':function(_0x31bd05,_0x3d3339,_0x3f140e){return _0x31bd05(_0x3d3339,_0x3f140e);},'PsbdJ':function(_0xa10fb7,_0x3f2286){return _0xa10fb7(_0x3f2286);}},_0x5ed151=_0x3b23d0[_0x5a87c7(0x181)](buildSessionCheckUrl,_0x2bd386,_0x33fc18[_0x5a87c7(0x16c)]);if(!_0x5ed151)return!![];if(!_0x5354e3[_0x5a87c7(0x16b)])return!![];let _0x5dd8da=null;try{_0x5dd8da=await _0x5354e3[_0x5a87c7(0x16b)]();const _0x55cf40=await _0x5dd8da['newContext']({'storageState':_0x1571c1,'ignoreHTTPSErrors':!![],..._0x33fc18['setupHeaders']?{'extraHTTPHeaders':_0x33fc18['setupHeaders']}:{}}),_0x17b57d=await _0x55cf40[_0x5a87c7(0x17c)](),_0x1db967=await _0x17b57d[_0x5a87c7(0x15e)](_0x5ed151,{'waitUntil':_0x5a87c7(0x188),'timeout':0x3a98}),_0x47ca3f=_0x1db967?.[_0x5a87c7(0x15f)]();if(_0x47ca3f===0x191||_0x47ca3f===0x193)return![];const _0x46e948=_0x17b57d[_0x5a87c7(0x171)]();if(_0x3b23d0['PsbdJ'](looksLikeLoginUrl,_0x46e948))return![];return!![];}catch{return![];}finally{if(_0x5dd8da)await _0x5dd8da[_0x5a87c7(0x18a)]()['catch'](()=>{});}}
@@ -1 +1 @@
1
- const _0x39824f=_0x5b97;(function(_0x446207,_0x1b8201){const _0x450740=_0x5b97,_0x110d37=_0x446207();while(!![]){try{const _0x101890=-parseInt(_0x450740(0x8d))/0x1*(-parseInt(_0x450740(0x87))/0x2)+-parseInt(_0x450740(0x7d))/0x3*(-parseInt(_0x450740(0x8f))/0x4)+-parseInt(_0x450740(0x86))/0x5*(-parseInt(_0x450740(0x83))/0x6)+-parseInt(_0x450740(0x92))/0x7+-parseInt(_0x450740(0x7e))/0x8*(parseInt(_0x450740(0x8e))/0x9)+parseInt(_0x450740(0x81))/0xa*(parseInt(_0x450740(0x91))/0xb)+-parseInt(_0x450740(0x7b))/0xc*(parseInt(_0x450740(0x8a))/0xd);if(_0x101890===_0x1b8201)break;else _0x110d37['push'](_0x110d37['shift']());}catch(_0x32c2fd){_0x110d37['push'](_0x110d37['shift']());}}}(_0x4f47,0x58b89));function _0x4f47(){const _0x17a42a=['802399ySnIUP','rHCZH','sha256','5721nkGCUG','2259XvaTCL','404EvjhVq','VpTQJ','81026Zlzcoa','4402937Kgswwv','60tsvikG','getAuthTag','14691otfURB','18592hRYOGN','utf8','subarray','860SVMcWz','mmGvA','306DrhrZm','xJPLM','final','30955mOlyeJ','154CvElSd','concat','aes-256-gcm'];_0x4f47=function(){return _0x17a42a;};return _0x4f47();}function _0x5b97(_0xe76b1,_0xa2ecf4){_0xe76b1=_0xe76b1-0x7b;const _0x4f4760=_0x4f47();let _0x5b975f=_0x4f4760[_0xe76b1];return _0x5b975f;}import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';const ALGORITHM=_0x39824f(0x89),SALT='ranger-auth-encryption',KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;export function deriveKey(_0x41f1f4){const _0x3b0f68=_0x39824f,_0x167867={'mmGvA':function(_0x4ca09a,_0x3b93cc,_0x57144a,_0x507e4a,_0x4214fa,_0x3c6cf3){return _0x4ca09a(_0x3b93cc,_0x57144a,_0x507e4a,_0x4214fa,_0x3c6cf3);},'SOTys':_0x3b0f68(0x8c)};return _0x167867[_0x3b0f68(0x82)](pbkdf2Sync,_0x41f1f4,SALT,0x186a0,KEY_LENGTH,_0x167867['SOTys']);}export function encrypt(_0x20f512,_0x37e5af){const _0x1e37e5=_0x39824f,_0x54815a={'VpTQJ':function(_0x394e55,_0x56e158){return _0x394e55(_0x56e158);},'rHCZH':function(_0xe6799d,_0x2ba4c8){return _0xe6799d(_0x2ba4c8);}},_0x335cf2=_0x54815a[_0x1e37e5(0x90)](deriveKey,_0x37e5af),_0x3a8a20=_0x54815a[_0x1e37e5(0x8b)](randomBytes,IV_LENGTH),_0xef084=createCipheriv(ALGORITHM,_0x335cf2,_0x3a8a20),_0x2997c7=Buffer['concat']([_0xef084['update'](_0x20f512,'utf8'),_0xef084[_0x1e37e5(0x85)]()]),_0x3cd15b=_0xef084[_0x1e37e5(0x7c)]();return Buffer[_0x1e37e5(0x88)]([_0x3a8a20,_0x3cd15b,_0x2997c7]);}export function decrypt(_0xb8028f,_0x2cd8d5){const _0xf50041=_0x39824f,_0x1e4dae={'xJPLM':function(_0x2ba12a,_0x2692cf){return _0x2ba12a+_0x2692cf;},'HwrdF':function(_0x206dbd,_0x46eefb){return _0x206dbd+_0x46eefb;},'QRtyb':_0xf50041(0x7f)},_0x2bb402=deriveKey(_0x2cd8d5),_0x873398=_0xb8028f[_0xf50041(0x80)](0x0,IV_LENGTH),_0x1e5642=_0xb8028f[_0xf50041(0x80)](IV_LENGTH,_0x1e4dae['xJPLM'](IV_LENGTH,TAG_LENGTH)),_0x425750=_0xb8028f['subarray'](_0x1e4dae['HwrdF'](IV_LENGTH,TAG_LENGTH)),_0x491d4b=createDecipheriv(ALGORITHM,_0x2bb402,_0x873398);return _0x491d4b['setAuthTag'](_0x1e5642),_0x1e4dae[_0xf50041(0x84)](_0x491d4b['update'](_0x425750),_0x491d4b['final'](_0x1e4dae['QRtyb']));}
1
+ const _0x3c1dca=_0x251f;(function(_0x43fe1d,_0x49d2c7){const _0x588a69=_0x251f,_0xb544b9=_0x43fe1d();while(!![]){try{const _0x49ba55=-parseInt(_0x588a69(0x1c3))/0x1+parseInt(_0x588a69(0x1c1))/0x2+parseInt(_0x588a69(0x1cb))/0x3*(-parseInt(_0x588a69(0x1c9))/0x4)+parseInt(_0x588a69(0x1c6))/0x5+parseInt(_0x588a69(0x1c8))/0x6+-parseInt(_0x588a69(0x1c4))/0x7+parseInt(_0x588a69(0x1c5))/0x8;if(_0x49ba55===_0x49d2c7)break;else _0xb544b9['push'](_0xb544b9['shift']());}catch(_0x115b62){_0xb544b9['push'](_0xb544b9['shift']());}}}(_0x1255,0xa7bb1));import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';function _0x251f(_0x52e9c1,_0x42e1a1){_0x52e9c1=_0x52e9c1-0x1bf;const _0x12558b=_0x1255();let _0x251f42=_0x12558b[_0x52e9c1];return _0x251f42;}const ALGORITHM='aes-256-gcm',SALT=_0x3c1dca(0x1c2),KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;export function deriveKey(_0x7e0c8f){const _0x536bdf=_0x3c1dca,_0x160fdf={'XqjAR':_0x536bdf(0x1ca)};return pbkdf2Sync(_0x7e0c8f,SALT,0x186a0,KEY_LENGTH,_0x160fdf[_0x536bdf(0x1bf)]);}export function encrypt(_0x584f95,_0x5e1296){const _0x1a3000=_0x3c1dca,_0x4049ee={'MBuzr':function(_0x2f7370,_0x3053ad){return _0x2f7370(_0x3053ad);},'hpQXH':'utf8'},_0x43d26c=_0x4049ee['MBuzr'](deriveKey,_0x5e1296),_0x5d3180=_0x4049ee['MBuzr'](randomBytes,IV_LENGTH),_0x73c017=createCipheriv(ALGORITHM,_0x43d26c,_0x5d3180),_0x50f259=Buffer['concat']([_0x73c017['update'](_0x584f95,_0x4049ee['hpQXH']),_0x73c017['final']()]),_0x16ffe9=_0x73c017['getAuthTag']();return Buffer[_0x1a3000(0x1cd)]([_0x5d3180,_0x16ffe9,_0x50f259]);}function _0x1255(){const _0x248f32=['concat','XqjAR','update','2218832vOIzDx','ranger-auth-encryption','973373YVZpoV','8537837XBbXmy','8548440CVUkPg','3282360QQbfFv','ESuYT','1478100RFNuWZ','1024kaaUtj','sha256','2352fHZwXG','final'];_0x1255=function(){return _0x248f32;};return _0x1255();}export function decrypt(_0x33ec89,_0x16b952){const _0x39e72c=_0x3c1dca,_0x457165={'RfVAd':function(_0x3fcd78,_0x55c536){return _0x3fcd78(_0x55c536);},'ESuYT':function(_0x4ecd7e,_0x5bb8e1){return _0x4ecd7e+_0x5bb8e1;},'ULyOg':function(_0x22b3d2,_0x1cb2c1,_0x2680fd,_0x3c4904){return _0x22b3d2(_0x1cb2c1,_0x2680fd,_0x3c4904);},'JtdCd':'utf8'},_0x1fcb1d=_0x457165['RfVAd'](deriveKey,_0x16b952),_0x5d4c82=_0x33ec89['subarray'](0x0,IV_LENGTH),_0x5527e3=_0x33ec89['subarray'](IV_LENGTH,_0x457165[_0x39e72c(0x1c7)](IV_LENGTH,TAG_LENGTH)),_0x529ad1=_0x33ec89['subarray'](IV_LENGTH+TAG_LENGTH),_0x435b94=_0x457165['ULyOg'](createDecipheriv,ALGORITHM,_0x1fcb1d,_0x5d4c82);return _0x435b94['setAuthTag'](_0x5527e3),_0x457165[_0x39e72c(0x1c7)](_0x435b94[_0x39e72c(0x1c0)](_0x529ad1),_0x435b94[_0x39e72c(0x1cc)](_0x457165['JtdCd']));}
@@ -1 +1 @@
1
- const _0x4d43fe=_0x52b0;(function(_0x273e0e,_0xbbebe2){const _0x51077c=_0x52b0,_0x16b743=_0x273e0e();while(!![]){try{const _0x2b0377=-parseInt(_0x51077c(0x14b))/0x1+parseInt(_0x51077c(0x158))/0x2*(parseInt(_0x51077c(0x16b))/0x3)+parseInt(_0x51077c(0x151))/0x4+-parseInt(_0x51077c(0x16a))/0x5*(parseInt(_0x51077c(0x160))/0x6)+-parseInt(_0x51077c(0x15d))/0x7*(-parseInt(_0x51077c(0x146))/0x8)+parseInt(_0x51077c(0x157))/0x9+-parseInt(_0x51077c(0x177))/0xa;if(_0x2b0377===_0xbbebe2)break;else _0x16b743['push'](_0x16b743['shift']());}catch(_0x421092){_0x16b743['push'](_0x16b743['shift']());}}}(_0xaeef,0x21f67));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{getCurrentVersion}from'./version.js';const SENSITIVE_FLAGS=new Set(['--token','-t',_0x4d43fe(0x16d),'--api-key',_0x4d43fe(0x165),_0x4d43fe(0x14e),_0x4d43fe(0x15b),_0x4d43fe(0x15f),_0x4d43fe(0x153),'--authorization',_0x4d43fe(0x178),_0x4d43fe(0x167),_0x4d43fe(0x154)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x2569f6){const _0x33cc20=_0x4d43fe;return TOKEN_PATTERNS[_0x33cc20(0x16c)](_0x38bb77=>_0x38bb77[_0x33cc20(0x152)](_0x2569f6));}function _0xaeef(){const _0x2356d2=['join','[desire-path]\x20Failed\x20to\x20send:\x20','--password','ILCug','157087sHCnGT','NIKGu','--pass','27030BIYssA','startsWith','POST','NREaC','slice','--apikey','LvbJr','--cookie','split','includes','205WXsfAK','12UIggeZ','some','--secret','catch','QSSvt','application/json','toLowerCase','ICxub','has','syntax_error','mPmDz','DEBUG','210500yzYrFd','--header','error','env','48WvPQXz','6|2|7|0|4|1|3|5','missing_required_argument','invalid_option_value','[REDACTED]','78146MttQGq','push','LnKWw','--key','runtime_error','Unknown\x20command','270636LbAeyC','test','--auth','--credentials','[desire-path]\x20Payload:\x20','Unknown\x20argument','269343zWSxKX','95390dSXbmU'];_0xaeef=function(){return _0x2356d2;};return _0xaeef();}export function sanitizeArgs(_0xa1a0f8){const _0x48ccab=_0x4d43fe,_0x1b8c08={'hMvWr':function(_0x3eefb0,_0x317de8){return _0x3eefb0<_0x317de8;},'Wlaoa':function(_0x4ffb6e,_0x39b0f7){return _0x4ffb6e(_0x39b0f7);},'LvbJr':_0x48ccab(0x14a)},_0x42c7e5=[];let _0xde67e8=![];for(let _0x28a029=0x0;_0x1b8c08['hMvWr'](_0x28a029,_0xa1a0f8['length']);_0x28a029++){const _0x704b14=_0xa1a0f8[_0x28a029];if(_0xde67e8){_0x42c7e5['push'](_0x48ccab(0x14a)),_0xde67e8=![];continue;}if(_0x704b14[_0x48ccab(0x161)]('--')||_0x704b14[_0x48ccab(0x161)]('-')){const _0x5e1d7d=_0x704b14['indexOf']('=');if(_0x5e1d7d!==-0x1){const _0x1c121e=_0x704b14['slice'](0x0,_0x5e1d7d)[_0x48ccab(0x171)]();if(SENSITIVE_FLAGS[_0x48ccab(0x173)](_0x1c121e)){_0x42c7e5[_0x48ccab(0x14c)](_0x704b14[_0x48ccab(0x164)](0x0,_0x5e1d7d)+'=[REDACTED]');continue;}}else{const _0x49741d=_0x704b14['toLowerCase']();SENSITIVE_FLAGS[_0x48ccab(0x173)](_0x49741d)&&(_0xde67e8=!![]);}_0x42c7e5[_0x48ccab(0x14c)](_0x704b14);}else _0x1b8c08['Wlaoa'](looksLikeToken,_0x704b14)?_0x42c7e5[_0x48ccab(0x14c)](_0x1b8c08[_0x48ccab(0x166)]):_0x42c7e5[_0x48ccab(0x14c)](_0x704b14);}return _0x42c7e5[_0x48ccab(0x159)]('\x20');}export async function logDesirePath(_0x36e917){const _0x2a36a9=_0x4d43fe,_0x40fc63={'iTAbu':function(_0x2f02be){return _0x2f02be();},'UuBoK':function(_0x1f03f0){return _0x1f03f0();},'ICxub':_0x2a36a9(0x170),'ILCug':'Authorization','NREaC':_0x2a36a9(0x162)};try{const _0x37d853=await _0x40fc63['iTAbu'](getToken)[_0x2a36a9(0x16e)](()=>null),_0x51a89e=getApiBaseUrl(),_0xd1449a=_0x40fc63['UuBoK'](getCurrentVersion),_0x473c9f=_0x37d853?'has_token':'no_token',_0x5e06a5={..._0x36e917['metadata'],'authStatus':_0x473c9f,'isTty':process['stdout']['isTTY']??![]},_0x2acef7={'Content-Type':_0x40fc63[_0x2a36a9(0x172)]};_0x37d853&&(_0x2acef7[_0x40fc63[_0x2a36a9(0x15c)]]='Bearer\x20'+_0x37d853);const _0x5de19a={'rawCommand':_0x36e917['rawCommand'],'errorMessage':_0x36e917['errorMessage'],'errorType':_0x36e917['errorType'],'featureId':_0x36e917['featureId'],'sessionId':_0x36e917['sessionId'],'metadata':_0x5e06a5,'cliVersion':_0xd1449a};process[_0x2a36a9(0x145)][_0x2a36a9(0x176)]&&(console[_0x2a36a9(0x179)]('[desire-path]\x20Sending\x20log\x20to\x20'+_0x51a89e+'/api/v1/mcp/desire-path-logs'),console['error'](_0x2a36a9(0x155)+JSON['stringify'](_0x5de19a,null,0x2))),await fetch(_0x51a89e+'/api/v1/mcp/desire-path-logs',{'method':_0x40fc63[_0x2a36a9(0x163)],'headers':_0x2acef7,'body':JSON['stringify'](_0x5de19a)});}catch(_0x1c8f2a){process[_0x2a36a9(0x145)]['DEBUG']&&console[_0x2a36a9(0x179)](_0x2a36a9(0x15a)+_0x1c8f2a);}}function _0x52b0(_0x4b2d65,_0x19f6bf){_0x4b2d65=_0x4b2d65-0x145;const _0xaeefa2=_0xaeef();let _0x52b068=_0xaeefa2[_0x4b2d65];return _0x52b068;}export function getErrorType(_0x41086f,_0x40165e){const _0x9f8093=_0x4d43fe,_0x371709={'pGznx':_0x9f8093(0x156),'MAyLV':'unknown','LnKWw':'Missing\x20required\x20argument','QSSvt':'missing_option','sOqkq':'Not\x20enough\x20non-option\x20arguments','mPmDz':_0x9f8093(0x174),'NdhRI':_0x9f8093(0x14f),'NIKGu':'unknown_command'},_0x328b41=_0x9f8093(0x147)[_0x9f8093(0x168)]('|');let _0x4ef3ce=0x0;while(!![]){switch(_0x328b41[_0x4ef3ce++]){case'0':if(_0x41086f[_0x9f8093(0x169)](_0x371709['pGznx']))return'unknown_argument';continue;case'1':if(_0x41086f[_0x9f8093(0x169)]('Invalid\x20values'))return _0x9f8093(0x149);continue;case'2':if(!_0x41086f)return _0x371709['MAyLV'];continue;case'3':if(_0x41086f['includes'](_0x371709[_0x9f8093(0x14d)]))return _0x371709[_0x9f8093(0x16f)];continue;case'4':if(_0x41086f['includes'](_0x371709['sOqkq']))return _0x9f8093(0x148);continue;case'5':return _0x371709[_0x9f8093(0x175)];case'6':if(_0x40165e)return _0x371709['NdhRI'];continue;case'7':if(_0x41086f['includes'](_0x9f8093(0x150)))return _0x371709[_0x9f8093(0x15e)];continue;}break;}}
1
+ function _0x4af8(){const _0x2867b9=['test','Authorization','jvIXm','error','env','--authorization','/api/v1/mcp/desire-path-logs','Bearer\x20','IVPEr','[REDACTED]','648256cqvFFB','catch','syntax_error','pGwfq','BGZYL','uMQOj','--secret','includes','6wWJCIy','runtime_error','vovDm','--apikey','11225914PTEAkQ','stdout','SXZDy','2784785VOFAtX','stWLV','--credentials','272672jgrhpv','HZtFf','startsWith','push','bJfNJ','invalid_option_value','unknown_command','pGzMM','slice','unknown','1008153LPWyYT','--cookie','1494558bYbrNQ','length','errorType','join','split','isTTY','gJVCp','--pass','Invalid\x20values','720lezOGE','2905332fBWhgW','--api-key','5|4|7|3|0|2|6|1','RAuHk','indexOf','toLowerCase','has'];_0x4af8=function(){return _0x2867b9;};return _0x4af8();}const _0xcae2a0=_0x7ad5;(function(_0x117aeb,_0x3fd203){const _0x447da5=_0x7ad5,_0x5c444a=_0x117aeb();while(!![]){try{const _0x4039f4=parseInt(_0x447da5(0xe7))/0x1+-parseInt(_0x447da5(0xe9))/0x2+-parseInt(_0x447da5(0xf3))/0x3+-parseInt(_0x447da5(0x104))/0x4+parseInt(_0x447da5(0x113))/0x5+-parseInt(_0x447da5(0x10c))/0x6*(parseInt(_0x447da5(0x110))/0x7)+parseInt(_0x447da5(0x116))/0x8*(parseInt(_0x447da5(0xf2))/0x9);if(_0x4039f4===_0x3fd203)break;else _0x5c444a['push'](_0x5c444a['shift']());}catch(_0x5a088a){_0x5c444a['push'](_0x5c444a['shift']());}}}(_0x4af8,0xc5d65));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{getCurrentVersion}from'./version.js';const SENSITIVE_FLAGS=new Set(['--token','-t',_0xcae2a0(0x10a),_0xcae2a0(0xf4),_0xcae2a0(0x10f),'--key','--password',_0xcae2a0(0xf0),'--auth',_0xcae2a0(0xff),'--header',_0xcae2a0(0xe8),_0xcae2a0(0x115)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x1105ff){const _0x547fac=_0xcae2a0;return TOKEN_PATTERNS['some'](_0x550054=>_0x550054[_0x547fac(0xfa)](_0x1105ff));}export function sanitizeArgs(_0x51a4b7){const _0x1026e2=_0xcae2a0,_0x2a2583={'pGwfq':_0x1026e2(0x103),'stWLV':function(_0x56d0b2,_0x2efa27){return _0x56d0b2!==_0x2efa27;},'bJfNJ':function(_0x4f737d,_0x61671){return _0x4f737d(_0x61671);}},_0x3bd0d4=[];let _0x1e5908=![];for(let _0x13445c=0x0;_0x13445c<_0x51a4b7[_0x1026e2(0xea)];_0x13445c++){const _0x2a2fae=_0x51a4b7[_0x13445c];if(_0x1e5908){_0x3bd0d4['push'](_0x2a2583[_0x1026e2(0x107)]),_0x1e5908=![];continue;}if(_0x2a2fae[_0x1026e2(0xdf)]('--')||_0x2a2fae[_0x1026e2(0xdf)]('-')){const _0xc1eaad=_0x2a2fae[_0x1026e2(0xf7)]('=');if(_0x2a2583[_0x1026e2(0x114)](_0xc1eaad,-0x1)){const _0x1ad842=_0x2a2fae[_0x1026e2(0xe5)](0x0,_0xc1eaad)[_0x1026e2(0xf8)]();if(SENSITIVE_FLAGS[_0x1026e2(0xf9)](_0x1ad842)){_0x3bd0d4[_0x1026e2(0xe0)](_0x2a2fae[_0x1026e2(0xe5)](0x0,_0xc1eaad)+'=[REDACTED]');continue;}}else{const _0x25f467=_0x2a2fae[_0x1026e2(0xf8)]();SENSITIVE_FLAGS[_0x1026e2(0xf9)](_0x25f467)&&(_0x1e5908=!![]);}_0x3bd0d4[_0x1026e2(0xe0)](_0x2a2fae);}else _0x2a2583[_0x1026e2(0xe1)](looksLikeToken,_0x2a2fae)?_0x3bd0d4[_0x1026e2(0xe0)]('[REDACTED]'):_0x3bd0d4[_0x1026e2(0xe0)](_0x2a2fae);}return _0x3bd0d4[_0x1026e2(0xec)]('\x20');}export async function logDesirePath(_0x1a7fde){const _0x6609d4=_0xcae2a0,_0x5c7cf3={'pGzMM':function(_0x5dfe58){return _0x5dfe58();},'kurMD':'has_token','CAxCy':'no_token','uMQOj':'application/json','gJVCp':'POST'};try{const _0x3db32f=await getToken()[_0x6609d4(0x105)](()=>null),_0x4547a2=_0x5c7cf3[_0x6609d4(0xe4)](getApiBaseUrl),_0x42ff51=_0x5c7cf3['pGzMM'](getCurrentVersion),_0x296224=_0x3db32f?_0x5c7cf3['kurMD']:_0x5c7cf3['CAxCy'],_0x1cfe60={..._0x1a7fde['metadata'],'authStatus':_0x296224,'isTty':process[_0x6609d4(0x111)][_0x6609d4(0xee)]??![]},_0x433a3b={'Content-Type':_0x5c7cf3[_0x6609d4(0x109)]};_0x3db32f&&(_0x433a3b[_0x6609d4(0xfb)]=_0x6609d4(0x101)+_0x3db32f);const _0x3c1514={'rawCommand':_0x1a7fde['rawCommand'],'errorMessage':_0x1a7fde['errorMessage'],'errorType':_0x1a7fde[_0x6609d4(0xeb)],'featureId':_0x1a7fde['featureId'],'sessionId':_0x1a7fde['sessionId'],'metadata':_0x1cfe60,'cliVersion':_0x42ff51};process['env']['DEBUG']&&(console[_0x6609d4(0xfd)]('[desire-path]\x20Sending\x20log\x20to\x20'+_0x4547a2+_0x6609d4(0x100)),console[_0x6609d4(0xfd)]('[desire-path]\x20Payload:\x20'+JSON['stringify'](_0x3c1514,null,0x2))),await fetch(_0x4547a2+'/api/v1/mcp/desire-path-logs',{'method':_0x5c7cf3[_0x6609d4(0xef)],'headers':_0x433a3b,'body':JSON['stringify'](_0x3c1514)});}catch(_0x4080f0){process[_0x6609d4(0xfe)]['DEBUG']&&console[_0x6609d4(0xfd)]('[desire-path]\x20Failed\x20to\x20send:\x20'+_0x4080f0);}}function _0x7ad5(_0x1c271e,_0x35856a){_0x1c271e=_0x1c271e-0xdf;const _0x4af857=_0x4af8();let _0x7ad5b0=_0x4af857[_0x1c271e];return _0x7ad5b0;}export function getErrorType(_0x2a791a,_0x42c602){const _0x14a34a=_0xcae2a0,_0xe1d4f6={'IVPEr':_0x14a34a(0xf5),'BGZYL':'Not\x20enough\x20non-option\x20arguments','bFVty':'missing_required_argument','BiEYS':_0x14a34a(0x106),'PkFcB':_0x14a34a(0xf1),'SXZDy':'Unknown\x20argument','KCqSl':'unknown_argument','iQyIg':_0x14a34a(0x10d),'vovDm':'Missing\x20required\x20argument','HZtFf':'missing_option','RAuHk':'Unknown\x20command','jvIXm':_0x14a34a(0xe3)},_0x5c0c7e=_0xe1d4f6[_0x14a34a(0x102)][_0x14a34a(0xed)]('|');let _0x13dd04=0x0;while(!![]){switch(_0x5c0c7e[_0x13dd04++]){case'0':if(_0x2a791a[_0x14a34a(0x10b)](_0xe1d4f6[_0x14a34a(0x108)]))return _0xe1d4f6['bFVty'];continue;case'1':return _0xe1d4f6['BiEYS'];case'2':if(_0x2a791a['includes'](_0xe1d4f6['PkFcB']))return _0x14a34a(0xe2);continue;case'3':if(_0x2a791a['includes'](_0xe1d4f6[_0x14a34a(0x112)]))return _0xe1d4f6['KCqSl'];continue;case'4':if(!_0x2a791a)return _0x14a34a(0xe6);continue;case'5':if(_0x42c602)return _0xe1d4f6['iQyIg'];continue;case'6':if(_0x2a791a['includes'](_0xe1d4f6[_0x14a34a(0x10e)]))return _0xe1d4f6[_0x14a34a(0x117)];continue;case'7':if(_0x2a791a['includes'](_0xe1d4f6[_0x14a34a(0xf6)]))return _0xe1d4f6[_0x14a34a(0xfc)];continue;}break;}}
@@ -1 +1 @@
1
- const _0xe04653=_0x1bfd;function _0x1bfd(_0x525b64,_0x1aa7f9){_0x525b64=_0x525b64-0x16a;const _0x46d49e=_0x46d4();let _0x1bfdbf=_0x46d49e[_0x525b64];return _0x1bfdbf;}(function(_0x482101,_0x44109a){const _0x24deca=_0x1bfd,_0x3126e5=_0x482101();while(!![]){try{const _0x119115=parseInt(_0x24deca(0x189))/0x1*(-parseInt(_0x24deca(0x1ba))/0x2)+-parseInt(_0x24deca(0x17e))/0x3*(parseInt(_0x24deca(0x19d))/0x4)+parseInt(_0x24deca(0x1b1))/0x5*(-parseInt(_0x24deca(0x174))/0x6)+-parseInt(_0x24deca(0x19f))/0x7+-parseInt(_0x24deca(0x18d))/0x8*(-parseInt(_0x24deca(0x16d))/0x9)+parseInt(_0x24deca(0x1a5))/0xa*(-parseInt(_0x24deca(0x1bf))/0xb)+parseInt(_0x24deca(0x1c0))/0xc*(parseInt(_0x24deca(0x1ac))/0xd);if(_0x119115===_0x44109a)break;else _0x3126e5['push'](_0x3126e5['shift']());}catch(_0x29a13e){_0x3126e5['push'](_0x3126e5['shift']());}}}(_0x46d4,0xebb75));import{spawn}from'child_process';import _0x324845 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';function _0x46d4(){const _0x544202=['access_token','stringify','CleVW','Failed\x20to\x20provision\x20CLI\x20token:\x20','log','list','258jFDhuf','Failed\x20to\x20create\x20organization:\x20','Invalid\x20JWT\x20format','email','workosClientId','NcUBm','prompt','sKwBh','EedNs','LdRWs','108HhBUtm','YDjgo','Setting\x20up\x20your\x20organization...','etUeb','slow_down','token','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','map','oudBj','selected','/organization/me','2JnzmyB','https://api.workos.com/user_management/authorize/device','DQxJS','/organization/my-memberships','12374880NyJHzC','text','base64url','mcp:write','json','status','device_code','organizationId','/api-keys','platform','from','darwin','etxUS','startsWith','refresh_token','parse','114484eLXImJ','isTTY','177387fZxeIS','error','dpfvS','FLjTn','apiKey','GET','47810MDUUPw','Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','pAPPN','Failed\x20to\x20request\x20device\x20code:\x20','memberships','name','POST','7189ibUzDQ','foVkX','error_description','HQZSy','EQjnl','9430DwFcmk','now','length','application/json','split','wsodQ','user_code','application/x-www-form-urlencoded','eVBAy','940136TbEPxB','open','ITaDJ','Authentication\x20failed','sZfao','2497XXilzZ','56004hDoOvb','Waiting\x20for\x20authentication...','stdout','write','uVioG','9Ngcctv'];_0x46d4=function(){return _0x544202;};return _0x46d4();}const WORKOS_DEVICE_AUTH_URL=_0xe04653(0x18a),WORKOS_TOKEN_URL='https://api.workos.com/user_management/authenticate';export async function requestDeviceCode(_0x1b3920){const _0x3a9dfd=_0xe04653,_0x305832={'rgaqj':function(_0x3d9535,_0x1bddde,_0x5e3a5e){return _0x3d9535(_0x1bddde,_0x5e3a5e);},'NcUBm':'application/x-www-form-urlencoded'},_0x18bc28=await _0x305832['rgaqj'](fetch,WORKOS_DEVICE_AUTH_URL,{'method':'POST','headers':{'Content-Type':_0x305832[_0x3a9dfd(0x179)]},'body':new URLSearchParams({'client_id':_0x1b3920})});if(!_0x18bc28['ok']){const _0xf27a52=await _0x18bc28['text']();throw new Error(_0x3a9dfd(0x1a8)+_0x18bc28['status']+'\x20'+_0xf27a52);}return _0x18bc28[_0x3a9dfd(0x191)]();}export async function pollForTokens(_0x5a2b18,_0x1df7f5,_0x163793,_0x2ab949){const _0x3003d5=_0xe04653,_0x43537e={'EedNs':function(_0x5bd6b7,_0x58e1a8){return _0x5bd6b7*_0x58e1a8;},'CleVW':function(_0x205d97,_0x45e360,_0x3c94dd){return _0x205d97(_0x45e360,_0x3c94dd);},'etxUS':_0x3003d5(0x1ab),'xWwNd':'urn:ietf:params:oauth:grant-type:device_code','etUeb':function(_0x49df73,_0x24bb4c){return _0x49df73===_0x24bb4c;},'zfpMy':_0x3003d5(0x182)},_0x584a51=Date['now']()+_0x43537e[_0x3003d5(0x17c)](_0x2ab949,0x3e8);let _0x2a8383=_0x43537e['EedNs'](_0x163793,0x3e8);while(Date[_0x3003d5(0x1b2)]()<_0x584a51){await sleep(_0x2a8383);const _0x151233=await _0x43537e[_0x3003d5(0x170)](fetch,WORKOS_TOKEN_URL,{'method':_0x43537e[_0x3003d5(0x199)],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x5a2b18,'device_code':_0x1df7f5,'grant_type':_0x43537e['xWwNd']})});if(_0x151233['ok'])return _0x151233['json']();const _0x3e59e7=await _0x151233['json']();if(_0x43537e[_0x3003d5(0x181)](_0x3e59e7[_0x3003d5(0x1a0)],'authorization_pending'))continue;if(_0x3e59e7[_0x3003d5(0x1a0)]===_0x43537e['zfpMy']){_0x2a8383+=0x3e8;continue;}throw new Error(_0x3e59e7[_0x3003d5(0x1ae)]||_0x3e59e7[_0x3003d5(0x1a0)]||_0x3003d5(0x1bd));}throw new Error('Device\x20authorization\x20timed\x20out');}async function fetchUserProfile(_0x15095d){const _0x2872f8=_0xe04653,_0x2a17cd={'dpfvS':function(_0x2dda11){return _0x2dda11();},'uVioG':function(_0xa4b97e,_0x5a399f,_0x211e40){return _0xa4b97e(_0x5a399f,_0x211e40);},'OuLxQ':_0x2872f8(0x1a4)},_0x3a1e99=_0x2a17cd[_0x2872f8(0x1a1)](getApiBaseUrl);try{const _0x121c46=await _0x2a17cd[_0x2872f8(0x16c)](fetch,_0x3a1e99+_0x2872f8(0x188),{'method':_0x2a17cd['OuLxQ'],'headers':{'workos-token':_0x15095d}});if(_0x121c46['ok'])return _0x121c46['json']();}catch{}return null;}function buildKeyName(_0x56e0c8,_0x5c73b4){const _0x2c1f0f=_0xe04653,_0x316673={'BVsLv':function(_0x409eb1,_0x2bbae8){return _0x409eb1===_0x2bbae8;}},_0x4cfa9d=_0x5c73b4['filter'](_0x30ae3f=>_0x30ae3f[_0x2c1f0f(0x1aa)]===_0x56e0c8||_0x30ae3f[_0x2c1f0f(0x1aa)][_0x2c1f0f(0x19a)](_0x56e0c8+'\x20('));if(_0x316673['BVsLv'](_0x4cfa9d['length'],0x0))return _0x56e0c8;return _0x56e0c8+'\x20('+(_0x4cfa9d['length']+0x1)+')';}export async function provisionApiKey(_0x2e17a8){const _0x693823=_0xe04653,_0x4a13c4={'lnlQQ':'application/json','FTqyx':'CLI\x20Key','pAPPN':function(_0x4563ee,_0x46fb61,_0x29a33b){return _0x4563ee(_0x46fb61,_0x29a33b);},'VYhQO':_0x693823(0x1ab),'ITaDJ':_0x693823(0x190)},_0x4b729e=getApiBaseUrl(),_0x3f3d18={'Content-Type':_0x4a13c4['lnlQQ'],'workos-token':_0x2e17a8},_0x5ea4df=await fetchUserProfile(_0x2e17a8),_0x5352d6=_0x5ea4df?.['firstName']||_0x5ea4df?.[_0x693823(0x177)]?.[_0x693823(0x1b5)]('@')[0x0],_0x563da2=_0x5352d6?_0x5352d6+'\x27s\x20CLI\x20Key':_0x4a13c4['FTqyx'];let _0x16bd8f=[];try{const _0x24601a=await _0x4a13c4['pAPPN'](fetch,_0x4b729e+_0x693823(0x195),{'method':'GET','headers':_0x3f3d18});if(_0x24601a['ok']){const _0x3bddcc=await _0x24601a[_0x693823(0x191)]();_0x16bd8f=_0x3bddcc['apiKeys'];}}catch{}const _0x3813ab=_0x4a13c4[_0x693823(0x1a7)](buildKeyName,_0x563da2,_0x16bd8f),_0xb390e6=await fetch(_0x4b729e+_0x693823(0x195),{'method':_0x4a13c4['VYhQO'],'headers':_0x3f3d18,'body':JSON[_0x693823(0x16f)]({'name':_0x3813ab,'scope':_0x4a13c4[_0x693823(0x1bc)]})});if(!_0xb390e6['ok']){const _0x4db28f=await _0xb390e6['text']();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0xb390e6['status']+'\x20'+_0x4db28f);}const _0x2ef476=await _0xb390e6[_0x693823(0x191)]();return _0x2ef476[_0x693823(0x1a3)][_0x693823(0x183)];}export function openBrowser(_0x1ba138){const _0x307368=_0xe04653,_0x3099fd={'YDjgo':function(_0x55af9d,_0x1cb53b){return _0x55af9d===_0x1cb53b;},'LdRWs':function(_0x20c530,_0x51aaf2,_0x2f39c1,_0xd54ab7){return _0x20c530(_0x51aaf2,_0x2f39c1,_0xd54ab7);},'sKwBh':'ignore'};try{if(_0x3099fd[_0x307368(0x17f)](process[_0x307368(0x196)],'win32')){const _0x3aeaae=_0x3099fd['LdRWs'](spawn,'cmd',['/c','start','',_0x1ba138],{'detached':!![],'stdio':_0x3099fd[_0x307368(0x17b)],'windowsHide':!![]});_0x3aeaae['unref']();return;}const _0x5d55c7=process[_0x307368(0x196)]===_0x307368(0x198)?_0x307368(0x1bb):'xdg-open',_0x16dcb8=_0x3099fd[_0x307368(0x17d)](spawn,_0x5d55c7,[_0x1ba138],{'detached':!![],'stdio':_0x3099fd['sKwBh']});_0x16dcb8['unref']();}catch{}}function decodeJwtPayload(_0x33906a){const _0x495e46=_0xe04653,_0x38a27d={'wsodQ':_0x495e46(0x18f),'DQxJS':'utf-8'},_0x134607=_0x33906a['split']('.');if(_0x134607[_0x495e46(0x1b3)]!==0x3)throw new Error(_0x495e46(0x176));const _0x440578=Buffer[_0x495e46(0x197)](_0x134607[0x1],_0x38a27d[_0x495e46(0x1b6)])['toString'](_0x38a27d[_0x495e46(0x18b)]);return JSON[_0x495e46(0x19c)](_0x440578);}async function selfServeSignup(_0xdf20d1){const _0x34465d=_0xe04653,_0x333ff5={'lDHjf':function(_0x2c4370){return _0x2c4370();},'NjYCc':'POST','PGuDH':'application/json'},_0xfa4b6f=_0x333ff5['lDHjf'](getApiBaseUrl),_0x1dba41=await fetch(_0xfa4b6f+'/organization/self-serve-signup',{'method':_0x333ff5['NjYCc'],'headers':{'Content-Type':_0x333ff5['PGuDH'],'workos-token':_0xdf20d1}});if(!_0x1dba41['ok']){const _0x4a746c=await _0x1dba41[_0x34465d(0x18e)]();throw new Error(_0x34465d(0x175)+_0x1dba41['status']+'\x20'+_0x4a746c);}return _0x1dba41['json']();}async function fetchMyMemberships(_0x5ed369){const _0x2db417=_0xe04653,_0x47bb2c={'FLjTn':'GET'},_0x459d52=getApiBaseUrl(),_0x442692=await fetch(_0x459d52+_0x2db417(0x18c),{'method':_0x47bb2c[_0x2db417(0x1a2)],'headers':{'workos-token':_0x5ed369}});if(!_0x442692['ok']){const _0x405dac=await _0x442692[_0x2db417(0x18e)]();throw new Error('Failed\x20to\x20fetch\x20memberships:\x20'+_0x442692[_0x2db417(0x192)]+'\x20'+_0x405dac);}const _0x9004ff=await _0x442692[_0x2db417(0x191)]();return _0x9004ff[_0x2db417(0x1a9)];}async function refreshTokenWithOrg(_0x4442aa,_0x586e9f,_0x5afc15){const _0x482d70=_0xe04653,_0x5bef0d={'JvyXD':_0x482d70(0x1b8),'foVkX':_0x482d70(0x19b)},_0x36d09e=await fetch(WORKOS_TOKEN_URL,{'method':_0x482d70(0x1ab),'headers':{'Content-Type':_0x5bef0d['JvyXD']},'body':new URLSearchParams({'client_id':_0x4442aa,'grant_type':_0x5bef0d[_0x482d70(0x1ad)],'refresh_token':_0x586e9f,'organization_id':_0x5afc15})});if(!_0x36d09e['ok']){const _0x310f04=await _0x36d09e['text']();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x36d09e['status']+'\x20'+_0x310f04);}return _0x36d09e['json']();}async function provisionCliToken(_0x3571c6){const _0x1c3729=_0xe04653,_0x395fab={'DsAPm':'POST','HQZSy':_0x1c3729(0x1b4)},_0x10440f=getApiBaseUrl(),_0x1c0bdd=await fetch(_0x10440f+'/cli-auth/token',{'method':_0x395fab['DsAPm'],'headers':{'Content-Type':_0x395fab[_0x1c3729(0x1af)],'workos-token':_0x3571c6}});if(!_0x1c0bdd['ok']){const _0x3cb6da=await _0x1c0bdd[_0x1c3729(0x18e)]();throw new Error(_0x1c3729(0x171)+_0x1c0bdd['status']+'\x20'+_0x3cb6da);}return _0x1c0bdd['json']();}export async function runDeviceAuthFlow(){const _0x4f96e9=_0xe04653,_0x2313d6={'eVBAy':function(_0xb82d0e,_0x2bd791){return _0xb82d0e(_0x2bd791);},'JuYcC':_0x4f96e9(0x1c1),'wXruX':function(_0x14fd18,_0x527ed6,_0x4d7995,_0xcac159,_0x18c671){return _0x14fd18(_0x527ed6,_0x4d7995,_0xcac159,_0x18c671);},'YURfm':function(_0x2c3e3d,_0x5c5f13){return _0x2c3e3d===_0x5c5f13;},'EQjnl':_0x4f96e9(0x180),'Yvxed':function(_0x5073c7,_0x2a83e8){return _0x5073c7(_0x2a83e8);},'SFRnk':function(_0x209832,_0x2654a){return _0x209832+_0x2654a;},'oudBj':'Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','sZfao':_0x4f96e9(0x1a6),'XZezP':_0x4f96e9(0x173),'aoJaQ':_0x4f96e9(0x187)},_0x1059c9=getCurrentEnvironment(),_0x417261=ENVIRONMENT_CONFIGS[_0x1059c9][_0x4f96e9(0x178)],_0x2d73e3=await requestDeviceCode(_0x417261);console['log']('\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...'),console['log'](_0x4f96e9(0x184)),_0x2313d6['eVBAy'](openBrowser,_0x2d73e3['verification_uri_complete']),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x2d73e3['verification_uri_complete']),console['log']('Code:\x20'+_0x2d73e3[_0x4f96e9(0x1b7)]+'\x0a'),process[_0x4f96e9(0x16a)]['write'](_0x2313d6['JuYcC']);let _0x301bd7=await _0x2313d6['wXruX'](pollForTokens,_0x417261,_0x2d73e3[_0x4f96e9(0x193)],_0x2d73e3['interval'],_0x2d73e3['expires_in']);console['log']('\x20✓');const _0x256416=decodeJwtPayload(_0x301bd7['access_token']);if(!_0x256416['org_id']){const _0x1a5b1c=await _0x2313d6[_0x4f96e9(0x1b9)](fetchMyMemberships,_0x301bd7['access_token']);let _0x3a68ad;if(_0x2313d6['YURfm'](_0x1a5b1c['length'],0x0)){process['stdout']['write'](_0x2313d6[_0x4f96e9(0x1b0)]);const _0x16e7cb=await _0x2313d6['Yvxed'](selfServeSignup,_0x301bd7[_0x4f96e9(0x16e)]);_0x3a68ad=_0x16e7cb[_0x4f96e9(0x194)],console[_0x4f96e9(0x172)]('\x20✓');}else{if(_0x1a5b1c['length']===0x1)_0x3a68ad=_0x1a5b1c[0x0]['organizationId'],console['log']('Using\x20organization:\x20'+_0x1a5b1c[0x0]['name']);else{const _0x26ae80=process['stdin']['isTTY']&&process['stdout'][_0x4f96e9(0x19e)];if(!_0x26ae80)throw new Error(_0x2313d6['SFRnk'](_0x2313d6[_0x4f96e9(0x186)],_0x2313d6[_0x4f96e9(0x1be)]));const {selected:_0x136084}=await _0x324845[_0x4f96e9(0x17a)]([{'type':_0x2313d6['XZezP'],'name':_0x2313d6['aoJaQ'],'message':'Select\x20an\x20organization:','choices':_0x1a5b1c[_0x4f96e9(0x185)](_0x59a89c=>({'name':_0x59a89c['name'],'value':_0x59a89c[_0x4f96e9(0x194)]}))}]);_0x3a68ad=_0x136084;}}_0x301bd7=await refreshTokenWithOrg(_0x417261,_0x301bd7[_0x4f96e9(0x19b)],_0x3a68ad);}process['stdout'][_0x4f96e9(0x16b)]('Provisioning\x20CLI\x20token...');const _0x3cfc6b=await provisionCliToken(_0x301bd7['access_token']);return console[_0x4f96e9(0x172)]('\x20✓'),await storeToken(_0x3cfc6b['token']),_0x301bd7['refresh_token']&&await storeRefreshToken(_0x301bd7[_0x4f96e9(0x19b)]),_0x3cfc6b['token'];}function sleep(_0x158576){return new Promise(_0x4bc3b2=>setTimeout(_0x4bc3b2,_0x158576));}
1
+ (function(_0x4c176c,_0x24c818){const _0x5cc83a=_0x495d,_0x3aa350=_0x4c176c();while(!![]){try{const _0x3dfd9e=-parseInt(_0x5cc83a(0x178))/0x1*(-parseInt(_0x5cc83a(0x12f))/0x2)+parseInt(_0x5cc83a(0x15f))/0x3+-parseInt(_0x5cc83a(0x15d))/0x4+-parseInt(_0x5cc83a(0x15e))/0x5*(-parseInt(_0x5cc83a(0x171))/0x6)+-parseInt(_0x5cc83a(0x127))/0x7+parseInt(_0x5cc83a(0x164))/0x8+parseInt(_0x5cc83a(0x13f))/0x9*(parseInt(_0x5cc83a(0x153))/0xa);if(_0x3dfd9e===_0x24c818)break;else _0x3aa350['push'](_0x3aa350['shift']());}catch(_0xfaba40){_0x3aa350['push'](_0x3aa350['shift']());}}}(_0x2342,0x20fe7));import{spawn}from'child_process';import _0x4fa584 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL='https://api.workos.com/user_management/authenticate';function _0x495d(_0x190717,_0x303007){_0x190717=_0x190717-0x127;const _0x234248=_0x2342();let _0x495d93=_0x234248[_0x190717];return _0x495d93;}export async function requestDeviceCode(_0x445bfb){const _0x3127fa=_0x495d,_0x608605={'jJoxW':'POST'},_0x222a73=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x608605['jJoxW'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x445bfb})});if(!_0x222a73['ok']){const _0x580b46=await _0x222a73['text']();throw new Error('Failed\x20to\x20request\x20device\x20code:\x20'+_0x222a73['status']+'\x20'+_0x580b46);}return _0x222a73[_0x3127fa(0x145)]();}export async function pollForTokens(_0x8fc99d,_0x780ab6,_0x406b02,_0x3c3528){const _0x226d6f=_0x495d,_0x6707db={'PPAMW':function(_0x1472d3,_0x4ead9a){return _0x1472d3*_0x4ead9a;},'RyyqS':function(_0x5516d4,_0x382a40,_0x51ee5d){return _0x5516d4(_0x382a40,_0x51ee5d);},'odids':'POST','klvBR':_0x226d6f(0x172),'aHWVp':'urn:ietf:params:oauth:grant-type:device_code','vgNbz':_0x226d6f(0x13a),'LEFky':_0x226d6f(0x149),'gdqnc':_0x226d6f(0x134)},_0x5eaa8f=Date['now']()+_0x3c3528*0x3e8;let _0x244847=_0x6707db[_0x226d6f(0x151)](_0x406b02,0x3e8);while(Date[_0x226d6f(0x17f)]()<_0x5eaa8f){await sleep(_0x244847);const _0x536409=await _0x6707db[_0x226d6f(0x182)](fetch,WORKOS_TOKEN_URL,{'method':_0x6707db[_0x226d6f(0x128)],'headers':{'Content-Type':_0x6707db[_0x226d6f(0x173)]},'body':new URLSearchParams({'client_id':_0x8fc99d,'device_code':_0x780ab6,'grant_type':_0x6707db[_0x226d6f(0x137)]})});if(_0x536409['ok'])return _0x536409[_0x226d6f(0x145)]();const _0x424ec4=await _0x536409[_0x226d6f(0x145)]();if(_0x424ec4['error']===_0x6707db[_0x226d6f(0x133)])continue;if(_0x424ec4[_0x226d6f(0x12d)]===_0x6707db[_0x226d6f(0x14b)]){_0x244847+=0x3e8;continue;}throw new Error(_0x424ec4[_0x226d6f(0x179)]||_0x424ec4[_0x226d6f(0x12d)]||'Authentication\x20failed');}throw new Error(_0x6707db[_0x226d6f(0x130)]);}async function fetchUserProfile(_0x42d380){const _0x23d965=_0x495d,_0x3013c2={'kFgxu':function(_0xf72ef0){return _0xf72ef0();}},_0x267661=_0x3013c2[_0x23d965(0x142)](getApiBaseUrl);try{const _0x4d4ffe=await fetch(_0x267661+_0x23d965(0x17d),{'method':'GET','headers':{'workos-token':_0x42d380}});if(_0x4d4ffe['ok'])return _0x4d4ffe['json']();}catch{}return null;}function buildKeyName(_0x1a980c,_0x1784e2){const _0x222d18=_0x495d,_0x15aaa4={'vsFqu':function(_0x110079,_0x375a76){return _0x110079+_0x375a76;}},_0x5d43e4=_0x1784e2[_0x222d18(0x152)](_0x374f20=>_0x374f20[_0x222d18(0x17e)]===_0x1a980c||_0x374f20['name']['startsWith'](_0x1a980c+'\x20('));if(_0x5d43e4[_0x222d18(0x12b)]===0x0)return _0x1a980c;return _0x1a980c+'\x20('+_0x15aaa4[_0x222d18(0x13d)](_0x5d43e4['length'],0x1)+')';}export async function provisionApiKey(_0x286a5c){const _0x42a97e=_0x495d,_0x5d9142={'oUGyS':_0x42a97e(0x135),'PQXnf':function(_0x25a671,_0x12b599){return _0x25a671(_0x12b599);},'VfUje':'CLI\x20Key','QDKQt':function(_0x36ccf7,_0x2a009b,_0x13c474){return _0x36ccf7(_0x2a009b,_0x13c474);}},_0x21d911=getApiBaseUrl(),_0x204284={'Content-Type':_0x5d9142[_0x42a97e(0x13b)],'workos-token':_0x286a5c},_0x3973ec=await _0x5d9142[_0x42a97e(0x150)](fetchUserProfile,_0x286a5c),_0x52175e=_0x3973ec?.['firstName']||_0x3973ec?.[_0x42a97e(0x165)]?.[_0x42a97e(0x16d)]('@')[0x0],_0x136a1f=_0x52175e?_0x52175e+_0x42a97e(0x146):_0x5d9142[_0x42a97e(0x168)];let _0x16a4a1=[];try{const _0x52a887=await fetch(_0x21d911+_0x42a97e(0x141),{'method':'GET','headers':_0x204284});if(_0x52a887['ok']){const _0x2406df=await _0x52a887['json']();_0x16a4a1=_0x2406df[_0x42a97e(0x167)];}}catch{}const _0x19d9a0=_0x5d9142[_0x42a97e(0x154)](buildKeyName,_0x136a1f,_0x16a4a1),_0x26005c=await fetch(_0x21d911+_0x42a97e(0x141),{'method':_0x42a97e(0x136),'headers':_0x204284,'body':JSON[_0x42a97e(0x183)]({'name':_0x19d9a0,'scope':'mcp:write'})});if(!_0x26005c['ok']){const _0x4c3ece=await _0x26005c['text']();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x26005c['status']+'\x20'+_0x4c3ece);}const _0x4e713c=await _0x26005c[_0x42a97e(0x145)]();return _0x4e713c[_0x42a97e(0x174)]['token'];}function _0x2342(){const _0x41cbe3=['from','text','/organization/me','name','now','memberships','QSWic','RyyqS','stringify','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','YxwtN','WLQAM','665987JbHzVN','odids','GET','OSLuE','length','JVVxp','error','organizationId','2QpfsmJ','gdqnc','/cli-auth/token','lvnXA','vgNbz','Device\x20authorization\x20timed\x20out','application/json','POST','aHWVp','stdout','FdsHU','authorization_pending','oUGyS','status','vsFqu','user_code','26631zEXqtf','AodYH','/api-keys','kFgxu','/organization/my-memberships','unref','json','\x27s\x20CLI\x20Key','Failed\x20to\x20fetch\x20memberships:\x20','platform','slow_down','xdg-open','LEFky','ovGth','FbzMT','vwmnc','write','PQXnf','PPAMW','filter','180hllvhm','QDKQt','stdin','Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','/organization/self-serve-signup','refresh_token','zVmUC','Waiting\x20for\x20authentication...','win32','log','1035992vhcqUL','144950DXqnDC','265521vrRrAB','verification_uri_complete','YNmDy','workosClientId','ignore','1136640QwCtVx','email','xjOBX','apiKeys','VfUje','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','toString','cmd','start','split','interval','map','YNSQr','6KZSHbD','application/x-www-form-urlencoded','klvBR','apiKey','bJVRv','Provisioning\x20CLI\x20token...','wjJQn','176443cbvfdK','error_description','access_token'];_0x2342=function(){return _0x41cbe3;};return _0x2342();}export function openBrowser(_0xd22df6){const _0x2a8f29=_0x495d,_0x21db4f={'zVmUC':function(_0x30bf66,_0x3c5fc7,_0x412dee,_0x3479ab){return _0x30bf66(_0x3c5fc7,_0x412dee,_0x3479ab);},'BiPqw':_0x2a8f29(0x16b),'wjJQn':'ignore','xjOBX':'darwin','OSLuE':'open','vwmnc':_0x2a8f29(0x14a)};try{if(process[_0x2a8f29(0x148)]===_0x2a8f29(0x15b)){const _0x3cab5c=_0x21db4f[_0x2a8f29(0x159)](spawn,_0x21db4f['BiPqw'],['/c',_0x2a8f29(0x16c),'',_0xd22df6],{'detached':!![],'stdio':_0x21db4f[_0x2a8f29(0x177)],'windowsHide':!![]});_0x3cab5c['unref']();return;}const _0x2659ab=process[_0x2a8f29(0x148)]===_0x21db4f[_0x2a8f29(0x166)]?_0x21db4f[_0x2a8f29(0x12a)]:_0x21db4f[_0x2a8f29(0x14e)],_0x21249d=_0x21db4f['zVmUC'](spawn,_0x2659ab,[_0xd22df6],{'detached':!![],'stdio':_0x2a8f29(0x163)});_0x21249d[_0x2a8f29(0x144)]();}catch{}}function decodeJwtPayload(_0x501cbc){const _0x2477ae=_0x495d,_0xa76601={'YNSQr':function(_0x42432a,_0x5ccdca){return _0x42432a!==_0x5ccdca;},'rOtjo':'Invalid\x20JWT\x20format','AodYH':'base64url','lfrVx':'utf-8'},_0x2e3638=_0x501cbc[_0x2477ae(0x16d)]('.');if(_0xa76601[_0x2477ae(0x170)](_0x2e3638['length'],0x3))throw new Error(_0xa76601['rOtjo']);const _0x3e55dc=Buffer[_0x2477ae(0x17b)](_0x2e3638[0x1],_0xa76601[_0x2477ae(0x140)])[_0x2477ae(0x16a)](_0xa76601['lfrVx']);return JSON['parse'](_0x3e55dc);}async function selfServeSignup(_0x45e82c){const _0x2c5a41=_0x495d,_0x5a9b18={'bLjQP':function(_0xc99941){return _0xc99941();}},_0x3a5fe8=_0x5a9b18['bLjQP'](getApiBaseUrl),_0x2e2151=await fetch(_0x3a5fe8+_0x2c5a41(0x157),{'method':_0x2c5a41(0x136),'headers':{'Content-Type':'application/json','workos-token':_0x45e82c}});if(!_0x2e2151['ok']){const _0x2ee408=await _0x2e2151[_0x2c5a41(0x17c)]();throw new Error('Failed\x20to\x20create\x20organization:\x20'+_0x2e2151['status']+'\x20'+_0x2ee408);}return _0x2e2151[_0x2c5a41(0x145)]();}async function fetchMyMemberships(_0x1ee7cd){const _0x34bb34=_0x495d,_0x31b317={'ShdSs':function(_0x23c41f,_0x2fdea9,_0x1c87e4){return _0x23c41f(_0x2fdea9,_0x1c87e4);},'YxwtN':_0x34bb34(0x129)},_0x30b06d=getApiBaseUrl(),_0xce31b8=await _0x31b317['ShdSs'](fetch,_0x30b06d+_0x34bb34(0x143),{'method':_0x31b317[_0x34bb34(0x185)],'headers':{'workos-token':_0x1ee7cd}});if(!_0xce31b8['ok']){const _0x1f328a=await _0xce31b8['text']();throw new Error(_0x34bb34(0x147)+_0xce31b8['status']+'\x20'+_0x1f328a);}const _0x2a9a57=await _0xce31b8['json']();return _0x2a9a57[_0x34bb34(0x180)];}async function refreshTokenWithOrg(_0x2e05f0,_0x5271ad,_0x40af24){const _0xb12be0=_0x495d,_0x32422e={'dXnHc':function(_0xf81a0f,_0x2890ff,_0x44219e){return _0xf81a0f(_0x2890ff,_0x44219e);},'bJVRv':_0xb12be0(0x158)},_0x3811ba=await _0x32422e['dXnHc'](fetch,WORKOS_TOKEN_URL,{'method':_0xb12be0(0x136),'headers':{'Content-Type':_0xb12be0(0x172)},'body':new URLSearchParams({'client_id':_0x2e05f0,'grant_type':_0x32422e[_0xb12be0(0x175)],'refresh_token':_0x5271ad,'organization_id':_0x40af24})});if(!_0x3811ba['ok']){const _0x1effca=await _0x3811ba['text']();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x3811ba['status']+'\x20'+_0x1effca);}return _0x3811ba[_0xb12be0(0x145)]();}async function provisionCliToken(_0x46e4e8){const _0x2bb819=_0x495d,_0x2a5fdb={'WLQAM':function(_0x162cfe){return _0x162cfe();},'JJsKc':function(_0x39d01b,_0x58fc14,_0x26ffc6){return _0x39d01b(_0x58fc14,_0x26ffc6);},'FbzMT':_0x2bb819(0x136),'mkugb':'application/json'},_0x36f91d=_0x2a5fdb[_0x2bb819(0x186)](getApiBaseUrl),_0x3537a5=await _0x2a5fdb['JJsKc'](fetch,_0x36f91d+_0x2bb819(0x131),{'method':_0x2a5fdb[_0x2bb819(0x14d)],'headers':{'Content-Type':_0x2a5fdb['mkugb'],'workos-token':_0x46e4e8}});if(!_0x3537a5['ok']){const _0x208948=await _0x3537a5['text']();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x3537a5[_0x2bb819(0x13c)]+'\x20'+_0x208948);}return _0x3537a5['json']();}export async function runDeviceAuthFlow(){const _0x435a11=_0x495d,_0x2268d7={'YNmDy':function(_0x55a437,_0x2e7c31){return _0x55a437(_0x2e7c31);},'GTJrw':_0x435a11(0x184),'ovoXZ':_0x435a11(0x169),'PVAFm':_0x435a11(0x15a),'FqSOJ':'Setting\x20up\x20your\x20organization...','hzpRI':function(_0x39f62b,_0xa3ec48){return _0x39f62b===_0xa3ec48;},'HKTYG':'Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','ovGth':'list','QSWic':'selected','lvnXA':'Select\x20an\x20organization:','JVVxp':function(_0x52c7bb,_0x56d8ee,_0x2d653b,_0x260ed9){return _0x52c7bb(_0x56d8ee,_0x2d653b,_0x260ed9);},'FdsHU':function(_0x4e98eb,_0x3cdcaf){return _0x4e98eb(_0x3cdcaf);},'IEmAH':function(_0x2e0205,_0xb31af1){return _0x2e0205(_0xb31af1);}},_0x58de25=getCurrentEnvironment(),_0x5f14e4=ENVIRONMENT_CONFIGS[_0x58de25][_0x435a11(0x162)],_0x5800bc=await _0x2268d7[_0x435a11(0x161)](requestDeviceCode,_0x5f14e4);console['log'](_0x2268d7['GTJrw']),console[_0x435a11(0x15c)](_0x2268d7['ovoXZ']),_0x2268d7[_0x435a11(0x161)](openBrowser,_0x5800bc[_0x435a11(0x160)]),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x5800bc['verification_uri_complete']),console[_0x435a11(0x15c)]('Code:\x20'+_0x5800bc[_0x435a11(0x13e)]+'\x0a'),process[_0x435a11(0x138)]['write'](_0x2268d7['PVAFm']);let _0x14803e=await pollForTokens(_0x5f14e4,_0x5800bc['device_code'],_0x5800bc[_0x435a11(0x16e)],_0x5800bc['expires_in']);console['log']('\x20✓');const _0x20bb0d=decodeJwtPayload(_0x14803e['access_token']);if(!_0x20bb0d['org_id']){const _0x1bb170=await fetchMyMemberships(_0x14803e['access_token']);let _0x4207f7;if(_0x1bb170[_0x435a11(0x12b)]===0x0){process[_0x435a11(0x138)][_0x435a11(0x14f)](_0x2268d7['FqSOJ']);const _0x19c0cb=await _0x2268d7[_0x435a11(0x161)](selfServeSignup,_0x14803e['access_token']);_0x4207f7=_0x19c0cb['organizationId'],console['log']('\x20✓');}else{if(_0x2268d7['hzpRI'](_0x1bb170[_0x435a11(0x12b)],0x1))_0x4207f7=_0x1bb170[0x0][_0x435a11(0x12e)],console['log']('Using\x20organization:\x20'+_0x1bb170[0x0]['name']);else{const _0x147164=process[_0x435a11(0x155)]['isTTY']&&process['stdout']['isTTY'];if(!_0x147164)throw new Error(_0x2268d7['HKTYG']+_0x435a11(0x156));const {selected:_0x1ac1bd}=await _0x4fa584['prompt']([{'type':_0x2268d7[_0x435a11(0x14c)],'name':_0x2268d7[_0x435a11(0x181)],'message':_0x2268d7[_0x435a11(0x132)],'choices':_0x1bb170[_0x435a11(0x16f)](_0x57572a=>({'name':_0x57572a['name'],'value':_0x57572a['organizationId']}))}]);_0x4207f7=_0x1ac1bd;}}_0x14803e=await _0x2268d7[_0x435a11(0x12c)](refreshTokenWithOrg,_0x5f14e4,_0x14803e[_0x435a11(0x158)],_0x4207f7);}process[_0x435a11(0x138)]['write'](_0x435a11(0x176));const _0x403c73=await _0x2268d7['FdsHU'](provisionCliToken,_0x14803e[_0x435a11(0x17a)]);return console[_0x435a11(0x15c)]('\x20✓'),await _0x2268d7[_0x435a11(0x139)](storeToken,_0x403c73['token']),_0x14803e[_0x435a11(0x158)]&&await _0x2268d7['IEmAH'](storeRefreshToken,_0x14803e['refresh_token']),_0x403c73['token'];}function sleep(_0xb8e4e9){return new Promise(_0x33567f=>setTimeout(_0x33567f,_0xb8e4e9));}
@@ -1 +1 @@
1
- const _0x1eb046=_0x43a6;(function(_0x3b8139,_0x50b8e8){const _0x578f89=_0x43a6,_0x1d834b=_0x3b8139();while(!![]){try{const _0x2f2e86=parseInt(_0x578f89(0xa7))/0x1+parseInt(_0x578f89(0x8b))/0x2+parseInt(_0x578f89(0x9b))/0x3*(parseInt(_0x578f89(0x92))/0x4)+parseInt(_0x578f89(0xb1))/0x5+parseInt(_0x578f89(0xa1))/0x6+parseInt(_0x578f89(0x95))/0x7*(-parseInt(_0x578f89(0x96))/0x8)+-parseInt(_0x578f89(0x8c))/0x9*(parseInt(_0x578f89(0x8d))/0xa);if(_0x2f2e86===_0x50b8e8)break;else _0x1d834b['push'](_0x1d834b['shift']());}catch(_0x4ff44d){_0x1d834b['push'](_0x1d834b['shift']());}}}(_0x4d8d,0x2669c));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':_0x1eb046(0x94),'workosClientId':_0x1eb046(0x8a),'aiProxyUrl':'https://ai-proxy-716115358910.us-central1.run.app','mcpAuthUrl':'https://mcp-auth.ranger.net/mcp'},'staging':{'apiBaseUrl':_0x1eb046(0x9d),'workosClientId':_0x1eb046(0xa0),'aiProxyUrl':'https://ai-proxy-301751771437.us-central1.run.app','mcpAuthUrl':_0x1eb046(0x9f)},'local':{'apiBaseUrl':'http://localhost:8080','workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':_0x1eb046(0x8e),'mcpAuthUrl':'http://localhost:8080/mcp'}};export const DEFAULT_ENVIRONMENT=_0x1eb046(0xab);export function isValidEnvironment(_0x519f7a){const _0x112ee9=_0x1eb046,_0x1c441b={'aDQXk':function(_0x4d4602,_0x643f3f){return _0x4d4602===_0x643f3f;},'CEyid':_0x112ee9(0x9a),'MDIJi':_0x112ee9(0xa3)};return _0x1c441b[_0x112ee9(0xa8)](_0x519f7a,'prod')||_0x1c441b['aDQXk'](_0x519f7a,_0x1c441b['CEyid'])||_0x519f7a===_0x1c441b['MDIJi'];}export function getCurrentEnvironment(){const _0xa67d5=_0x1eb046,_0xe74688=process[_0xa67d5(0x9e)][_0xa67d5(0x8f)];if(_0xe74688&&isValidEnvironment(_0xe74688))return _0xe74688;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){const _0x896044=_0x1eb046;return ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x896044(0xaa)];}export function getAiProxyUrl(){const _0xe617da=_0x1eb046;return ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0xe617da(0x89)];}export function getMcpAuthUrl(){return process['env']['RANGER_MCP_AUTH_URL']??ENVIRONMENT_CONFIGS[getCurrentEnvironment()]['mcpAuthUrl'];}export function isByokEnabled(){const _0x54ff72=_0x1eb046,_0x27e712={'bFsUN':function(_0x38443f,_0x337171){return _0x38443f===_0x337171;},'SHYPC':'true'};return _0x27e712[_0x54ff72(0xac)](process['env']['RANGER_BYOK'],_0x27e712['SHYPC']);}function isVerificationTransport(_0x589344){const _0x467a77=_0x1eb046,_0x30bb4c={'vNNuo':function(_0x58af21,_0x41bd2c){return _0x58af21===_0x41bd2c;},'Ulsxn':'playwright-cli','PHLNW':function(_0x40d195,_0xed63b4){return _0x40d195===_0xed63b4;},'hdALD':_0x467a77(0xa2),'ggEAe':'rangerwright-cli'};return _0x30bb4c[_0x467a77(0x99)](_0x589344,'mcp')||_0x30bb4c['vNNuo'](_0x589344,_0x30bb4c[_0x467a77(0xa6)])||_0x30bb4c['PHLNW'](_0x589344,_0x30bb4c['hdALD'])||_0x589344===_0x30bb4c['ggEAe'];}const LEGACY_TRANSPORT_ENV_VARS=[_0x1eb046(0xae),_0x1eb046(0x98)];function _0x4d8d(){const _0x3cdb2f=['nova-act-cli','local','zRndM','\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.','Ulsxn','181099olnoWF','aDQXk','TQNkP','apiBaseUrl','prod','bFsUN','\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.','RANGER_USE_NOVA_ACT','Invalid\x20RANGER_TRANSPORT=\x22','BkqRD','519360BLfVBB','aiProxyUrl','client_01J9CBYM7M5ZETCF7G6614DXR2','195072Lwmdha','27okTBAN','1474750QWyzOI','http://localhost:8090','RANGER_CLI_ENV','find','xpBUB','236jsbCYQ','trim','https://api.ranger.net','15449mcpijR','8GsVmiN','auto','RANGER_DISABLE_MCP','vNNuo','staging','9684povDIt','\x22.\x20','https://api.staging.ranger.net','env','https://mcp-auth.staging.ranger.net/mcp','client_01J9CBYM2DKWV9HM17D95Z540K','174078jMBeya'];_0x4d8d=function(){return _0x3cdb2f;};return _0x4d8d();}export function getVerificationTransport(){const _0x232f4a=_0x1eb046,_0x50acaf={'KStKT':function(_0x17e6ff,_0x58ecd2){return _0x17e6ff(_0x58ecd2);},'zRndM':'mcp'},_0x205195=process['env']['RANGER_TRANSPORT']?.[_0x232f4a(0x93)]();if(_0x205195){if(_0x50acaf['KStKT'](isVerificationTransport,_0x205195))return _0x205195;throw new Error(_0x232f4a(0xaf)+_0x205195+_0x232f4a(0xa5));}const _0xb5c5b6=LEGACY_TRANSPORT_ENV_VARS[_0x232f4a(0x90)](_0x351af8=>process['env'][_0x351af8]);if(_0xb5c5b6)throw new Error(_0xb5c5b6+_0x232f4a(0xad));return _0x50acaf[_0x232f4a(0xa4)];}function _0x43a6(_0x1d65db,_0x595d77){_0x1d65db=_0x1d65db-0x89;const _0x4d8d60=_0x4d8d();let _0x43a64d=_0x4d8d60[_0x1d65db];return _0x43a64d;}export function resolveHookMode(_0x4294bf=process['env']){const _0x417818=_0x1eb046,_0x764d34={'xpBUB':'auto','TQNkP':function(_0x381707,_0x761825){return _0x381707===_0x761825;},'BkqRD':function(_0x19c754,_0x33ca87){return _0x19c754===_0x33ca87;},'gKRXj':function(_0xdfd174,_0xd538a6){return _0xdfd174+_0xd538a6;}},_0xcc6012=_0x4294bf['RANGER_HOOKS']?.[_0x417818(0x93)]()['toLowerCase']();if(!_0xcc6012)return _0x764d34[_0x417818(0x91)];if(_0x764d34[_0x417818(0xa9)](_0xcc6012,'off')||_0xcc6012==='on'||_0x764d34[_0x417818(0xb0)](_0xcc6012,_0x417818(0x97)))return _0xcc6012;return console['error'](_0x764d34['gKRXj']('[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22'+_0x4294bf['RANGER_HOOKS']+_0x417818(0x9c),'Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.')),_0x764d34['xpBUB'];}
1
+ const _0x2d9285=_0x1d72;(function(_0x580323,_0x43eb52){const _0x3ace26=_0x1d72,_0xcc9a2e=_0x580323();while(!![]){try{const _0x2ef12c=-parseInt(_0x3ace26(0x165))/0x1*(-parseInt(_0x3ace26(0x159))/0x2)+parseInt(_0x3ace26(0x15d))/0x3+parseInt(_0x3ace26(0x152))/0x4*(parseInt(_0x3ace26(0x157))/0x5)+parseInt(_0x3ace26(0x14e))/0x6+parseInt(_0x3ace26(0x15c))/0x7+-parseInt(_0x3ace26(0x162))/0x8+-parseInt(_0x3ace26(0x15e))/0x9*(parseInt(_0x3ace26(0x147))/0xa);if(_0x2ef12c===_0x43eb52)break;else _0xcc9a2e['push'](_0xcc9a2e['shift']());}catch(_0x4518cb){_0xcc9a2e['push'](_0xcc9a2e['shift']());}}}(_0x15fe,0xdc69c));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':_0x2d9285(0x151),'workosClientId':_0x2d9285(0x16e),'aiProxyUrl':'https://ai-proxy-716115358910.us-central1.run.app','mcpAuthUrl':_0x2d9285(0x161)},'staging':{'apiBaseUrl':'https://api.staging.ranger.net','workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':'https://ai-proxy-301751771437.us-central1.run.app','mcpAuthUrl':_0x2d9285(0x14d)},'local':{'apiBaseUrl':_0x2d9285(0x14c),'workosClientId':_0x2d9285(0x144),'aiProxyUrl':'http://localhost:8090','mcpAuthUrl':_0x2d9285(0x143)}};function _0x15fe(){const _0x791649=['http://localhost:8080/mcp','client_01J9CBYM2DKWV9HM17D95Z540K','auto','RANGER_USE_NOVA_ACT','15870qVxkQS','MPQdY','EckpY','find','Zapef','http://localhost:8080','https://mcp-auth.staging.ranger.net/mcp','5097648zyvPuf','apiBaseUrl','oZGFN','https://api.ranger.net','152wZRhZz','[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22','ramXo','\x22.\x20','RANGER_AI_PROXY_URL','81655bWgPLz','RANGER_TRANSPORT','14XsDoAR','YDxwO','RANGER_MCP_AUTH_URL','6663790HVxLiy','1473384DLtKXa','18918TiMKsZ','Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.','env','https://mcp-auth.ranger.net/mcp','586200jxnXsH','prod','RANGER_HOOKS','199811qEJxbs','\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.','mcp','aiProxyUrl','WAhmb','local','fFdhe','rangerwright-cli','hHvsT','client_01J9CBYM7M5ZETCF7G6614DXR2'];_0x15fe=function(){return _0x791649;};return _0x15fe();}export const DEFAULT_ENVIRONMENT=_0x2d9285(0x163);export function isValidEnvironment(_0x538be0){const _0xc35a27=_0x2d9285,_0x4c6ab0={'bxKqt':function(_0x5e9d4d,_0xc4571a){return _0x5e9d4d===_0xc4571a;},'oVANk':_0xc35a27(0x163),'hHvsT':function(_0x3b8ed8,_0x178aca){return _0x3b8ed8===_0x178aca;},'mnXuM':_0xc35a27(0x16a)};return _0x4c6ab0['bxKqt'](_0x538be0,_0x4c6ab0['oVANk'])||_0x4c6ab0[_0xc35a27(0x16d)](_0x538be0,'staging')||_0x538be0===_0x4c6ab0['mnXuM'];}export function getCurrentEnvironment(){const _0x135169=_0x2d9285,_0x1c5a3f={'WAhmb':function(_0x53452e,_0x48c817){return _0x53452e(_0x48c817);}},_0x244e06=process['env']['RANGER_CLI_ENV'];if(_0x244e06&&_0x1c5a3f[_0x135169(0x169)](isValidEnvironment,_0x244e06))return _0x244e06;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){const _0x3b23ff=_0x2d9285;return process[_0x3b23ff(0x160)]['RANGER_API_URL']||ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x3b23ff(0x14f)];}export function getAiProxyUrl(){const _0x4fc138=_0x2d9285;return process['env'][_0x4fc138(0x156)]||ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x4fc138(0x168)];}export function getMcpAuthUrl(){const _0x32219f=_0x2d9285,_0x5eeaae={'Zapef':function(_0x4d9e14){return _0x4d9e14();}};return process['env'][_0x32219f(0x15b)]??ENVIRONMENT_CONFIGS[_0x5eeaae[_0x32219f(0x14b)](getCurrentEnvironment)]['mcpAuthUrl'];}export function isByokEnabled(){const _0x405bf3=_0x2d9285,_0x25ef3b={'ramXo':function(_0x41599d,_0x269a85){return _0x41599d===_0x269a85;}};return _0x25ef3b[_0x405bf3(0x154)](process['env']['RANGER_BYOK'],'true');}function isVerificationTransport(_0xe6ef9a){const _0x4f477d=_0x2d9285,_0x3b3f65={'MPQdY':function(_0x2f2418,_0x46605c){return _0x2f2418===_0x46605c;},'WzhVF':'playwright-cli','yMQZm':'nova-act-cli','EckpY':function(_0x3c9ee8,_0x45d1d2){return _0x3c9ee8===_0x45d1d2;},'oZGFN':_0x4f477d(0x16c)};return _0x3b3f65[_0x4f477d(0x148)](_0xe6ef9a,'mcp')||_0xe6ef9a===_0x3b3f65['WzhVF']||_0xe6ef9a===_0x3b3f65['yMQZm']||_0x3b3f65[_0x4f477d(0x149)](_0xe6ef9a,_0x3b3f65[_0x4f477d(0x150)]);}const LEGACY_TRANSPORT_ENV_VARS=[_0x2d9285(0x146),'RANGER_DISABLE_MCP'];export function getVerificationTransport(){const _0x7cbc9b=_0x2d9285,_0x52e4dd={'fFdhe':_0x7cbc9b(0x167)},_0x446111=process['env'][_0x7cbc9b(0x158)]?.['trim']();if(_0x446111){if(isVerificationTransport(_0x446111))return _0x446111;throw new Error('Invalid\x20RANGER_TRANSPORT=\x22'+_0x446111+_0x7cbc9b(0x166));}const _0x45c13f=LEGACY_TRANSPORT_ENV_VARS[_0x7cbc9b(0x14a)](_0x53016f=>process[_0x7cbc9b(0x160)][_0x53016f]);if(_0x45c13f)throw new Error(_0x45c13f+'\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.');return _0x52e4dd[_0x7cbc9b(0x16b)];}function _0x1d72(_0x52135a,_0x4adc82){_0x52135a=_0x52135a-0x143;const _0x15fec5=_0x15fe();let _0x1d722b=_0x15fec5[_0x52135a];return _0x1d722b;}export function resolveHookMode(_0x34ad4c=process[_0x2d9285(0x160)]){const _0x4d670e=_0x2d9285,_0x3a0780={'YDxwO':'off','oJJfC':function(_0x3f4cb9,_0x353de1){return _0x3f4cb9===_0x353de1;},'VehGk':_0x4d670e(0x145)},_0x574682=_0x34ad4c[_0x4d670e(0x164)]?.['trim']()['toLowerCase']();if(!_0x574682)return'auto';if(_0x574682===_0x3a0780[_0x4d670e(0x15a)]||_0x3a0780['oJJfC'](_0x574682,'on')||_0x3a0780['oJJfC'](_0x574682,_0x3a0780['VehGk']))return _0x574682;return console['error'](_0x4d670e(0x153)+_0x34ad4c[_0x4d670e(0x164)]+_0x4d670e(0x155)+_0x4d670e(0x15f)),_0x3a0780['VehGk'];}
@@ -1 +1 @@
1
- (function(_0x1c22bd,_0x30722b){const _0x37a3bd=_0x1a9a,_0x589e1e=_0x1c22bd();while(!![]){try{const _0xd55e7d=parseInt(_0x37a3bd(0xb5))/0x1+parseInt(_0x37a3bd(0xd2))/0x2+-parseInt(_0x37a3bd(0xdc))/0x3+-parseInt(_0x37a3bd(0xe1))/0x4+parseInt(_0x37a3bd(0xb6))/0x5+parseInt(_0x37a3bd(0xb8))/0x6+parseInt(_0x37a3bd(0xd9))/0x7;if(_0xd55e7d===_0x30722b)break;else _0x589e1e['push'](_0x589e1e['shift']());}catch(_0x24bc5f){_0x589e1e['push'](_0x589e1e['shift']());}}}(_0x1132,0x98c8a));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x16f2dd){const _0x2c4447=_0x1a9a,_0x4423f3={'kDnuv':function(_0x150681){return _0x150681();},'LXaFU':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','LEdSF':'POST','puvIS':function(_0x31308e,_0x48499f){return _0x31308e===_0x48499f;},'gKUsP':'https://dashboard.ranger.net/billing','uICWs':'Feature\x20limit\x20exceeded'},_0x2ba699=await _0x4423f3['kDnuv'](getToken);if(!_0x2ba699)throw new Error(_0x4423f3[_0x2c4447(0xb1)]);const _0x4f799d=getApiBaseUrl(),_0x67dd26=await fetch(_0x4f799d+_0x2c4447(0xd4),{'method':_0x4423f3['LEdSF'],'headers':{'Authorization':'Bearer\x20'+_0x2ba699,'Content-Type':'application/json'},'body':JSON[_0x2c4447(0xb9)](_0x16f2dd)});if(!_0x67dd26['ok']){if(_0x4423f3['puvIS'](_0x67dd26['status'],0x192)){const _0x3b82e5=await _0x67dd26[_0x2c4447(0xd6)](),_0x10eaf0=_0x3b82e5['billingUrl']||_0x4423f3['gKUsP'];throw new Error((_0x3b82e5[_0x2c4447(0xd5)]||_0x4423f3[_0x2c4447(0xce)])+'\x0a\x0aUpgrade\x20your\x20plan:\x20'+_0x10eaf0);}const _0x117cd9=await _0x67dd26['text']();throw new Error(_0x2c4447(0xe8)+_0x117cd9);}return _0x67dd26[_0x2c4447(0xd6)]();}export async function listFeatures(_0x29897b){const _0x2c2aee=_0x1a9a,_0x53fd6f={'pCjbn':function(_0x16c8e2){return _0x16c8e2();},'ApaNQ':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','AOtZM':'gitBranch','LgPbw':'offset','ghqjS':function(_0x3f1192,_0x4414cd,_0x43f5c7){return _0x3f1192(_0x4414cd,_0x43f5c7);},'NZGii':_0x2c2aee(0xd1)},_0x2065c5=await _0x53fd6f[_0x2c2aee(0xea)](getToken);if(!_0x2065c5)throw new Error(_0x53fd6f[_0x2c2aee(0xb7)]);const _0x37322c=_0x53fd6f['pCjbn'](getApiBaseUrl),_0x56d9f2=new URLSearchParams();if(_0x29897b?.[_0x2c2aee(0xe0)])_0x56d9f2[_0x2c2aee(0xbe)]('gitRepoUrl',_0x29897b[_0x2c2aee(0xe0)]);if(_0x29897b?.[_0x2c2aee(0xe7)])_0x56d9f2['set'](_0x53fd6f[_0x2c2aee(0xdd)],_0x29897b['gitBranch']);if(_0x29897b?.['limit'])_0x56d9f2[_0x2c2aee(0xbe)]('limit',_0x29897b[_0x2c2aee(0xe5)]['toString']());if(_0x29897b?.[_0x2c2aee(0xc0)])_0x56d9f2[_0x2c2aee(0xbe)](_0x53fd6f['LgPbw'],_0x29897b['offset'][_0x2c2aee(0xec)]());if(_0x29897b?.[_0x2c2aee(0xd0)])_0x56d9f2[_0x2c2aee(0xbe)](_0x2c2aee(0xd0),_0x2c2aee(0xed));const _0x2f737c=_0x37322c+_0x2c2aee(0xd4)+(_0x56d9f2['toString']()?'?'+_0x56d9f2['toString']():''),_0x1b6453=await _0x53fd6f['ghqjS'](fetch,_0x2f737c,{'method':_0x53fd6f[_0x2c2aee(0xe6)],'headers':{'Authorization':_0x2c2aee(0xf2)+_0x2065c5}});if(!_0x1b6453['ok']){const _0x2264af=await _0x1b6453['text']();throw new Error('Failed\x20to\x20list\x20feature\x20reviews:\x20'+_0x2264af);}return _0x1b6453[_0x2c2aee(0xd6)]();}export async function getFeature(_0x3a7b3c){const _0x3e10ff=_0x1a9a,_0x572e08={'YzSQu':function(_0x42aa77){return _0x42aa77();},'PdtNM':_0x3e10ff(0xd1)},_0x4cf469=await getToken();if(!_0x4cf469)throw new Error(_0x3e10ff(0xdf));const _0x1aca1e=_0x572e08[_0x3e10ff(0xd3)](getApiBaseUrl),_0x5ada41=await fetch(_0x1aca1e+'/api/v1/mcp/features/'+_0x3a7b3c,{'method':_0x572e08['PdtNM'],'headers':{'Authorization':'Bearer\x20'+_0x4cf469}});if(!_0x5ada41['ok']){const _0x27662f=await _0x5ada41['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review:\x20'+_0x27662f);}return _0x5ada41['json']();}export async function updateFeature(_0x366603,_0x9fbcc){const _0x2182dc=_0x1a9a,_0x1397c6={'VhTag':_0x2182dc(0xdf),'KIPjj':function(_0x291071){return _0x291071();},'pzBvt':function(_0x190ffd,_0x2427cd,_0x3c081c){return _0x190ffd(_0x2427cd,_0x3c081c);},'RYYdu':'PATCH','NguxB':_0x2182dc(0xc8)},_0x214d9f=await getToken();if(!_0x214d9f)throw new Error(_0x1397c6['VhTag']);const _0x3a5698=_0x1397c6[_0x2182dc(0xca)](getApiBaseUrl),_0x2a6a5f=await _0x1397c6[_0x2182dc(0xb3)](fetch,_0x3a5698+_0x2182dc(0xb2)+_0x366603,{'method':_0x1397c6['RYYdu'],'headers':{'Authorization':'Bearer\x20'+_0x214d9f,'Content-Type':_0x1397c6['NguxB']},'body':JSON['stringify'](_0x9fbcc)});if(!_0x2a6a5f['ok']){const _0x45bdf9=await _0x2a6a5f['text']();throw new Error(_0x2182dc(0xcf)+_0x45bdf9);}return _0x2a6a5f['json']();}export async function createChecklistItem(_0x519027,_0x39a6e9,_0x47f36a){const _0x1dd747=_0x1a9a,_0x4063bb={'iUcnt':function(_0x24e5ce){return _0x24e5ce();},'cdLtK':function(_0x3bae45,_0x44fbe0,_0x42c688){return _0x3bae45(_0x44fbe0,_0x42c688);},'GkCnF':_0x1dd747(0xc9)},_0x47ea77=await getToken();if(!_0x47ea77)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x542806=_0x4063bb['iUcnt'](getApiBaseUrl),_0x517699=await _0x4063bb['cdLtK'](fetch,_0x542806+_0x1dd747(0xb2)+_0x519027+_0x1dd747(0xc6),{'method':_0x4063bb['GkCnF'],'headers':{'Authorization':'Bearer\x20'+_0x47ea77,'Content-Type':_0x1dd747(0xc8)},'body':JSON[_0x1dd747(0xb9)]({'description':_0x39a6e9,'position':_0x47f36a})});if(!_0x517699['ok']){const _0x35645a=await _0x517699[_0x1dd747(0xf0)]();throw new Error(_0x1dd747(0xdb)+_0x35645a);}return _0x517699['json']();}function _0x1132(){const _0x14c098=['/checklist','sessionId','application/json','POST','KIPjj','/report','PXbin','FHJri','uICWs','Failed\x20to\x20update\x20feature\x20review:\x20','includeDeleted','GET','606638boncFo','YzSQu','/api/v1/mcp/features','message','json','OLGtr','Failed\x20to\x20update\x20scenario:\x20','3608402wnfZbY','Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20','Failed\x20to\x20create\x20scenario:\x20','899634UzZGAA','AOtZM','Failed\x20to\x20get\x20item\x20feedback:\x20','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','gitRepoUrl','4421160EHqeTT','/feedback','aFudQ','UgQOb','limit','NZGii','gitBranch','Failed\x20to\x20create\x20feature\x20review:\x20','WGxBg','pCjbn','/sessions','toString','true','/sessions/','bPprx','text','Owhwx','Bearer\x20','itemIds','LXaFU','/api/v1/mcp/features/','pzBvt','Failed\x20to\x20start\x20session:\x20','80076wiZMBJ','5399225GFscbP','ApaNQ','313464spcPrZ','stringify','length','ZMohD','EElbp','/report/markdown','set','PmjMU','offset','CEeOW','/conclude','TkjWd','/restore','jJXBj'];_0x1132=function(){return _0x14c098;};return _0x1132();}export async function updateChecklistItem(_0x363332,_0x58bd69,_0x5659a4){const _0x3278dc={'aFudQ':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','WGxBg':'application/json'};return withRetry(async()=>{const _0x122510=_0x1a9a,_0x42d43d=await getToken();if(!_0x42d43d)throw new Error(_0x3278dc[_0x122510(0xe3)]);const _0x1c6fda=getApiBaseUrl(),_0x47d54e=await fetch(_0x1c6fda+'/api/v1/mcp/features/'+_0x363332+'/checklist/'+_0x58bd69,{'method':'PATCH','headers':{'Authorization':_0x122510(0xf2)+_0x42d43d,'Content-Type':_0x3278dc[_0x122510(0xe9)]},'body':JSON['stringify'](_0x5659a4)});if(!_0x47d54e['ok']){const _0x154db=await _0x47d54e['text']();throw new Error(_0x122510(0xd8)+_0x154db);}return _0x47d54e[_0x122510(0xd6)]();},{'label':'updateChecklistItem'});}export async function getFeatureReport(_0x5161a6){const _0x213cdc=_0x1a9a,_0x22cf23={'RbuAH':function(_0xd7a93){return _0xd7a93();},'jJXBj':function(_0x5c0e18,_0x47c1c0,_0x3a584b){return _0x5c0e18(_0x47c1c0,_0x3a584b);}},_0x40ecde=await _0x22cf23['RbuAH'](getToken);if(!_0x40ecde)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x411871=getApiBaseUrl(),_0x1ad0a8=await _0x22cf23[_0x213cdc(0xc5)](fetch,_0x411871+'/api/v1/mcp/features/'+_0x5161a6+_0x213cdc(0xcb),{'method':_0x213cdc(0xd1),'headers':{'Authorization':_0x213cdc(0xf2)+_0x40ecde}});if(!_0x1ad0a8['ok']){const _0x4f0c3c=await _0x1ad0a8['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report:\x20'+_0x4f0c3c);}return _0x1ad0a8[_0x213cdc(0xd6)]();}function _0x1a9a(_0x3a1a9c,_0x2b0903){_0x3a1a9c=_0x3a1a9c-0xb1;const _0x1132e2=_0x1132();let _0x1a9a69=_0x1132e2[_0x3a1a9c];return _0x1a9a69;}export async function getFeatureReportMarkdown(_0x6618b6,_0x4a4aa6){const _0x31266a=_0x1a9a,_0x17a5db={'XDQAN':function(_0x2e8865){return _0x2e8865();},'ZFCAf':_0x31266a(0xdf),'PXbin':function(_0x144b7a){return _0x144b7a();},'bPprx':function(_0x212519,_0x5dcfd7){return _0x212519>_0x5dcfd7;},'PmjMU':_0x31266a(0xf3),'BDmRe':function(_0x2afb36,_0x5ddea4){return _0x2afb36&&_0x5ddea4;},'WwlIA':function(_0x73f52e,_0x3090df,_0x3955b5){return _0x73f52e(_0x3090df,_0x3955b5);}},_0x3b1c63=await _0x17a5db['XDQAN'](getToken);if(!_0x3b1c63)throw new Error(_0x17a5db['ZFCAf']);const _0x3deb39=_0x17a5db[_0x31266a(0xcc)](getApiBaseUrl),_0x8ff13f=new URLSearchParams(),_0x14daf5=_0x17a5db[_0x31266a(0xef)](_0x4a4aa6?.['itemIds']?.[_0x31266a(0xba)]??0x0,0x0),_0x20bd85=Boolean(_0x4a4aa6?.['sessionId']);_0x14daf5&&_0x4a4aa6?.[_0x31266a(0xf3)]&&_0x8ff13f[_0x31266a(0xbe)](_0x17a5db[_0x31266a(0xbf)],_0x4a4aa6[_0x31266a(0xf3)]['join'](','));_0x20bd85&&_0x4a4aa6?.[_0x31266a(0xc7)]&&_0x8ff13f[_0x31266a(0xbe)](_0x31266a(0xc7),_0x4a4aa6[_0x31266a(0xc7)]);_0x17a5db['BDmRe'](!_0x14daf5,!_0x20bd85)&&_0x4a4aa6?.['style']&&_0x8ff13f['set']('style',_0x4a4aa6['style']);const _0x4c88f7=_0x3deb39+'/api/v1/mcp/features/'+_0x6618b6+_0x31266a(0xbd),_0x52dfc6=''+_0x4c88f7+(_0x8ff13f['toString']()?'?'+_0x8ff13f['toString']():''),_0x572a18=await _0x17a5db['WwlIA'](fetch,_0x52dfc6,{'method':_0x31266a(0xd1),'headers':{'Authorization':_0x31266a(0xf2)+_0x3b1c63}});if(!_0x572a18['ok']){const _0x3a1f10=await _0x572a18['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20'+_0x3a1f10);}return _0x572a18['text']();}export async function listFeatureSessions(_0x244301){const _0x5b934b=_0x1a9a,_0x448b33={'UgQOb':function(_0x26518d){return _0x26518d();},'TkjWd':function(_0x4da942,_0x5b8edf,_0x2f7208){return _0x4da942(_0x5b8edf,_0x2f7208);},'tbPbX':_0x5b934b(0xd1)},_0x41d282=await getToken();if(!_0x41d282)throw new Error(_0x5b934b(0xdf));const _0x4c4d04=_0x448b33[_0x5b934b(0xe4)](getApiBaseUrl),_0x5bd62a=await _0x448b33[_0x5b934b(0xc3)](fetch,_0x4c4d04+'/api/v1/mcp/features/'+_0x244301+_0x5b934b(0xeb),{'method':_0x448b33['tbPbX'],'headers':{'Authorization':'Bearer\x20'+_0x41d282}});if(!_0x5bd62a['ok']){const _0x4240e0=await _0x5bd62a['text']();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x4240e0);}return _0x5bd62a[_0x5b934b(0xd6)]();}export async function startSession(_0x85d647,_0xbaa00){const _0x19d70d=_0x1a9a,_0x193fbd={'EElbp':function(_0x526da9){return _0x526da9();},'qFMJQ':function(_0x22391f){return _0x22391f();}},_0x2cf909=await _0x193fbd[_0x19d70d(0xbc)](getToken);if(!_0x2cf909)throw new Error(_0x19d70d(0xdf));const _0x2c41d5=_0x193fbd['qFMJQ'](getApiBaseUrl),_0x2ce9ab=await fetch(_0x2c41d5+'/api/v1/mcp/features/'+_0x85d647+'/sessions/'+_0xbaa00+'/start',{'method':'POST','headers':{'Authorization':_0x19d70d(0xf2)+_0x2cf909}});if(!_0x2ce9ab['ok']){const _0x30a5ff=await _0x2ce9ab['text']();throw new Error(_0x19d70d(0xb4)+_0x30a5ff);}return _0x2ce9ab[_0x19d70d(0xd6)]();}export async function concludeSession(_0x36a644,_0x147a30){const _0x14a1cd=_0x1a9a,_0x3f3580={'FHJri':_0x14a1cd(0xdf)},_0x4ab84b=await getToken();if(!_0x4ab84b)throw new Error(_0x3f3580[_0x14a1cd(0xcd)]);const _0x302c09=getApiBaseUrl(),_0x534d43=await fetch(_0x302c09+'/api/v1/mcp/features/'+_0x36a644+_0x14a1cd(0xee)+_0x147a30+_0x14a1cd(0xc2),{'method':_0x14a1cd(0xc9),'headers':{'Authorization':'Bearer\x20'+_0x4ab84b}});if(!_0x534d43['ok']){const _0x5ad6e8=await _0x534d43[_0x14a1cd(0xf0)]();throw new Error('Failed\x20to\x20conclude\x20session:\x20'+_0x5ad6e8);}return _0x534d43[_0x14a1cd(0xd6)]();}export async function getActionItems(_0x4c258d){const _0x12616c=_0x1a9a,_0x380a2e={'pkyuK':function(_0x429804){return _0x429804();},'CEeOW':_0x12616c(0xd1)},_0xdf3c00=await getToken();if(!_0xdf3c00)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x32b0de=_0x380a2e['pkyuK'](getApiBaseUrl),_0x500b35=await fetch(_0x32b0de+'/api/v1/mcp/features/'+_0x4c258d+'/action-items',{'method':_0x380a2e[_0x12616c(0xc1)],'headers':{'Authorization':_0x12616c(0xf2)+_0xdf3c00}});if(!_0x500b35['ok']){const _0x2feb2a=await _0x500b35['text']();throw new Error('Failed\x20to\x20get\x20action\x20items:\x20'+_0x2feb2a);}return _0x500b35['json']();}export async function getItemFeedback(_0x4976b4,_0x2a11c1){const _0x2b2304=_0x1a9a,_0x5f12a7={'BSGlW':function(_0x3617cb){return _0x3617cb();},'sWWZT':_0x2b2304(0xdf),'NTkNh':function(_0x2b3722){return _0x2b3722();},'huMJe':function(_0x5070bb,_0x12f9de,_0x39172c){return _0x5070bb(_0x12f9de,_0x39172c);},'ZMohD':'GET'},_0x4e09d9=await _0x5f12a7['BSGlW'](getToken);if(!_0x4e09d9)throw new Error(_0x5f12a7['sWWZT']);const _0x4e9679=_0x5f12a7['NTkNh'](getApiBaseUrl),_0x3534a5=await _0x5f12a7['huMJe'](fetch,_0x4e9679+'/api/v1/mcp/features/'+_0x4976b4+'/checklist-items/'+_0x2a11c1+_0x2b2304(0xe2),{'method':_0x5f12a7[_0x2b2304(0xbb)],'headers':{'Authorization':_0x2b2304(0xf2)+_0x4e09d9}});if(!_0x3534a5['ok']){const _0x36d2cb=await _0x3534a5[_0x2b2304(0xf0)]();throw new Error(_0x2b2304(0xde)+_0x36d2cb);}return _0x3534a5['json']();}export async function markCommentsAddressed(_0x5b55a7,_0x2b0b6c,_0x401ed2){const _0x348eca=_0x1a9a,_0x40cf9e={'OLGtr':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','voNfb':function(_0x3c6247){return _0x3c6247();},'Owhwx':function(_0x2dda1,_0x4d654e,_0x4edb80){return _0x2dda1(_0x4d654e,_0x4edb80);},'skAnC':'POST','KGsGy':_0x348eca(0xc8)},_0x59f2d8=await getToken();if(!_0x59f2d8)throw new Error(_0x40cf9e[_0x348eca(0xd7)]);const _0x5667ca=_0x40cf9e['voNfb'](getApiBaseUrl),_0x23273f=await _0x40cf9e[_0x348eca(0xf1)](fetch,_0x5667ca+_0x348eca(0xb2)+_0x5b55a7+'/comments/address',{'method':_0x40cf9e['skAnC'],'headers':{'Authorization':_0x348eca(0xf2)+_0x59f2d8,'Content-Type':_0x40cf9e['KGsGy']},'body':JSON['stringify']({'checklistItemId':_0x2b0b6c,'commentIds':_0x401ed2})});if(!_0x23273f['ok']){const _0x2d4c1c=await _0x23273f[_0x348eca(0xf0)]();throw new Error(_0x348eca(0xda)+_0x2d4c1c);}}export async function softDeleteFeature(_0x23c404){const _0x94daa9=_0x1a9a,_0x42dc78={'myDgf':_0x94daa9(0xdf)},_0x45f27e=await getToken();if(!_0x45f27e)throw new Error(_0x42dc78['myDgf']);const _0x3d1ce8=getApiBaseUrl(),_0x3eb3ab=await fetch(_0x3d1ce8+_0x94daa9(0xb2)+_0x23c404,{'method':'DELETE','headers':{'Authorization':'Bearer\x20'+_0x45f27e}});if(!_0x3eb3ab['ok']){const _0x48c418=await _0x3eb3ab[_0x94daa9(0xf0)]();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x48c418);}}export async function restoreFeature(_0x4e72c8){const _0x2f9332=_0x1a9a,_0x5ddb6d={'kugtu':_0x2f9332(0xdf),'TMgOu':function(_0x2f2eed){return _0x2f2eed();},'mkGDX':_0x2f9332(0xc9)},_0x416002=await getToken();if(!_0x416002)throw new Error(_0x5ddb6d['kugtu']);const _0x39696f=_0x5ddb6d['TMgOu'](getApiBaseUrl),_0x4cd12f=await fetch(_0x39696f+_0x2f9332(0xb2)+_0x4e72c8+_0x2f9332(0xc4),{'method':_0x5ddb6d['mkGDX'],'headers':{'Authorization':_0x2f9332(0xf2)+_0x416002}});if(!_0x4cd12f['ok']){const _0x3eef39=await _0x4cd12f[_0x2f9332(0xf0)]();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x3eef39);}}
1
+ (function(_0x25089e,_0x34cdc9){const _0x1318f9=_0x265e,_0x1ffb87=_0x25089e();while(!![]){try{const _0x2b0e8b=-parseInt(_0x1318f9(0x1d2))/0x1+-parseInt(_0x1318f9(0x1e1))/0x2+parseInt(_0x1318f9(0x1a4))/0x3*(parseInt(_0x1318f9(0x1c8))/0x4)+-parseInt(_0x1318f9(0x1ae))/0x5+-parseInt(_0x1318f9(0x1b4))/0x6*(-parseInt(_0x1318f9(0x1d1))/0x7)+parseInt(_0x1318f9(0x1aa))/0x8+parseInt(_0x1318f9(0x19f))/0x9;if(_0x2b0e8b===_0x34cdc9)break;else _0x1ffb87['push'](_0x1ffb87['shift']());}catch(_0x4b49ba){_0x1ffb87['push'](_0x1ffb87['shift']());}}}(_0x95ab,0xd7762));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x3d9975){const _0x3e7bf4=_0x265e,_0x50a268={'QUxkz':function(_0x1b6830,_0x137886){return _0x1b6830===_0x137886;},'nmDdU':'Feature\x20limit\x20exceeded'},_0x4d782f=await getToken();if(!_0x4d782f)throw new Error(_0x3e7bf4(0x1ad));const _0x1b5d05=getApiBaseUrl(),_0x2285ef=await fetch(_0x1b5d05+_0x3e7bf4(0x19d),{'method':_0x3e7bf4(0x1e7),'headers':{'Authorization':'Bearer\x20'+_0x4d782f,'Content-Type':_0x3e7bf4(0x1e6)},'body':JSON[_0x3e7bf4(0x1df)](_0x3d9975)});if(!_0x2285ef['ok']){if(_0x50a268['QUxkz'](_0x2285ef[_0x3e7bf4(0x1b7)],0x192)){const _0x19faee=await _0x2285ef[_0x3e7bf4(0x1d4)](),_0x25eb6e=_0x19faee['billingUrl']||_0x3e7bf4(0x1bd);throw new Error((_0x19faee[_0x3e7bf4(0x1e2)]||_0x50a268['nmDdU'])+_0x3e7bf4(0x1d8)+_0x25eb6e);}const _0x31fb3e=await _0x2285ef['text']();throw new Error('Failed\x20to\x20create\x20feature\x20review:\x20'+_0x31fb3e);}return _0x2285ef['json']();}function _0x265e(_0x400c0c,_0x1bb458){_0x400c0c=_0x400c0c-0x19d;const _0x95abda=_0x95ab();let _0x265e34=_0x95abda[_0x400c0c];return _0x265e34;}export async function listFeatures(_0x224a65){const _0x322897=_0x265e,_0xa000f={'xCGmS':function(_0x437ef8){return _0x437ef8();},'QVaZN':_0x322897(0x1ad),'UITxH':_0x322897(0x1db),'qXlvR':_0x322897(0x19e),'umLpY':_0x322897(0x1a8),'HqSoJ':_0x322897(0x1d0)},_0x29ad82=await _0xa000f[_0x322897(0x1e5)](getToken);if(!_0x29ad82)throw new Error(_0xa000f[_0x322897(0x1b8)]);const _0x4d4f6e=getApiBaseUrl(),_0x2f1eec=new URLSearchParams();if(_0x224a65?.[_0x322897(0x1d7)])_0x2f1eec[_0x322897(0x1a2)](_0x322897(0x1d7),_0x224a65['gitRepoUrl']);if(_0x224a65?.['gitBranch'])_0x2f1eec[_0x322897(0x1a2)](_0xa000f[_0x322897(0x1c5)],_0x224a65[_0x322897(0x1db)]);if(_0x224a65?.['limit'])_0x2f1eec['set'](_0xa000f['qXlvR'],_0x224a65['limit']['toString']());if(_0x224a65?.['offset'])_0x2f1eec['set'](_0x322897(0x1da),_0x224a65[_0x322897(0x1da)]['toString']());if(_0x224a65?.[_0x322897(0x1a8)])_0x2f1eec['set'](_0xa000f['umLpY'],_0xa000f['HqSoJ']);const _0x30fb2d=_0x4d4f6e+'/api/v1/mcp/features'+(_0x2f1eec['toString']()?'?'+_0x2f1eec['toString']():''),_0x206474=await fetch(_0x30fb2d,{'method':'GET','headers':{'Authorization':_0x322897(0x1be)+_0x29ad82}});if(!_0x206474['ok']){const _0x46038b=await _0x206474[_0x322897(0x1b3)]();throw new Error('Failed\x20to\x20list\x20feature\x20reviews:\x20'+_0x46038b);}return _0x206474[_0x322897(0x1d4)]();}export async function getFeature(_0x4faa0d){const _0x3e22eb=_0x265e,_0x1367f5={'zxWEn':'GET'},_0x4f3d0a=await getToken();if(!_0x4f3d0a)throw new Error(_0x3e22eb(0x1ad));const _0x1249dd=getApiBaseUrl(),_0x50bc3e=await fetch(_0x1249dd+'/api/v1/mcp/features/'+_0x4faa0d,{'method':_0x1367f5[_0x3e22eb(0x1e8)],'headers':{'Authorization':_0x3e22eb(0x1be)+_0x4f3d0a}});if(!_0x50bc3e['ok']){const _0x27ee50=await _0x50bc3e[_0x3e22eb(0x1b3)]();throw new Error('Failed\x20to\x20get\x20feature\x20review:\x20'+_0x27ee50);}return _0x50bc3e[_0x3e22eb(0x1d4)]();}export async function updateFeature(_0x24940b,_0x4db66d){const _0x3f3ae8=_0x265e,_0x27a030={'luvqo':function(_0x5e7027){return _0x5e7027();},'RCSuw':function(_0x3cb14b,_0x30ff98,_0x26be63){return _0x3cb14b(_0x30ff98,_0x26be63);},'shiIP':_0x3f3ae8(0x1d6),'fCqTi':'application/json'},_0x5e2760=await _0x27a030[_0x3f3ae8(0x1a3)](getToken);if(!_0x5e2760)throw new Error(_0x3f3ae8(0x1ad));const _0xb4b161=_0x27a030['luvqo'](getApiBaseUrl),_0x2e24bf=await _0x27a030['RCSuw'](fetch,_0xb4b161+_0x3f3ae8(0x1bc)+_0x24940b,{'method':_0x27a030[_0x3f3ae8(0x1cf)],'headers':{'Authorization':_0x3f3ae8(0x1be)+_0x5e2760,'Content-Type':_0x27a030[_0x3f3ae8(0x1a5)]},'body':JSON['stringify'](_0x4db66d)});if(!_0x2e24bf['ok']){const _0x9821c9=await _0x2e24bf['text']();throw new Error(_0x3f3ae8(0x1ba)+_0x9821c9);}return _0x2e24bf[_0x3f3ae8(0x1d4)]();}export async function createChecklistItem(_0x27dc7e,_0x2e669d,_0x421660){const _0x310038=_0x265e,_0x4e26db={'PoxCg':_0x310038(0x1ad),'PXDHv':function(_0x232610){return _0x232610();},'nGtYo':'POST'},_0x36599c=await getToken();if(!_0x36599c)throw new Error(_0x4e26db[_0x310038(0x1ab)]);const _0x47a633=_0x4e26db[_0x310038(0x1cc)](getApiBaseUrl),_0x4d563b=await fetch(_0x47a633+'/api/v1/mcp/features/'+_0x27dc7e+_0x310038(0x1c7),{'method':_0x4e26db['nGtYo'],'headers':{'Authorization':_0x310038(0x1be)+_0x36599c,'Content-Type':'application/json'},'body':JSON[_0x310038(0x1df)]({'description':_0x2e669d,'position':_0x421660})});if(!_0x4d563b['ok']){const _0x1de0b0=await _0x4d563b[_0x310038(0x1b3)]();throw new Error('Failed\x20to\x20create\x20scenario:\x20'+_0x1de0b0);}return _0x4d563b[_0x310038(0x1d4)]();}export async function updateChecklistItem(_0x4396d2,_0x1a4831,_0x5006ed){const _0x15c5cd=_0x265e,_0x407afd={'LKrkX':_0x15c5cd(0x1ad),'hyvVa':function(_0xd3a149,_0x3ee979,_0x426864){return _0xd3a149(_0x3ee979,_0x426864);},'tRfjX':_0x15c5cd(0x1d6),'HnSZy':_0x15c5cd(0x1ce)};return withRetry(async()=>{const _0x478c45=_0x15c5cd,_0x328fb1=await getToken();if(!_0x328fb1)throw new Error(_0x407afd[_0x478c45(0x1ca)]);const _0x516ecf=getApiBaseUrl(),_0x332f74=await _0x407afd[_0x478c45(0x1e0)](fetch,_0x516ecf+'/api/v1/mcp/features/'+_0x4396d2+_0x478c45(0x1e9)+_0x1a4831,{'method':_0x407afd[_0x478c45(0x1de)],'headers':{'Authorization':_0x478c45(0x1be)+_0x328fb1,'Content-Type':_0x478c45(0x1e6)},'body':JSON[_0x478c45(0x1df)](_0x5006ed)});if(!_0x332f74['ok']){const _0x47e392=await _0x332f74[_0x478c45(0x1b3)]();throw new Error(_0x478c45(0x1c2)+_0x47e392);}return _0x332f74['json']();},{'label':_0x407afd['HnSZy']});}export async function getFeatureReport(_0x40c7f9){const _0x3ebee6=_0x265e,_0x2210d2={'wSFOP':function(_0x4f5836){return _0x4f5836();},'PaeYo':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','iXOsO':function(_0x223066){return _0x223066();},'omyuL':function(_0x19dc16,_0x5eeb89,_0x2721a1){return _0x19dc16(_0x5eeb89,_0x2721a1);}},_0x400d27=await _0x2210d2[_0x3ebee6(0x1e4)](getToken);if(!_0x400d27)throw new Error(_0x2210d2[_0x3ebee6(0x1b6)]);const _0x54a1a7=_0x2210d2[_0x3ebee6(0x1bb)](getApiBaseUrl),_0x5c9bd9=await _0x2210d2[_0x3ebee6(0x1c9)](fetch,_0x54a1a7+_0x3ebee6(0x1bc)+_0x40c7f9+_0x3ebee6(0x1a9),{'method':'GET','headers':{'Authorization':_0x3ebee6(0x1be)+_0x400d27}});if(!_0x5c9bd9['ok']){const _0x334ec2=await _0x5c9bd9['text']();throw new Error(_0x3ebee6(0x1d9)+_0x334ec2);}return _0x5c9bd9[_0x3ebee6(0x1d4)]();}export async function getFeatureReportMarkdown(_0xea2bf0,_0x46830a){const _0x595fc9=_0x265e,_0x37641c={'yahQS':_0x595fc9(0x1c1),'CHuED':function(_0x4352c8,_0x4c2356){return _0x4352c8&&_0x4c2356;},'QVzJG':'style','McnUL':function(_0x22ec9c,_0x17fc78,_0x833e5e){return _0x22ec9c(_0x17fc78,_0x833e5e);},'PmkJq':'GET'},_0x1b3cd2=await getToken();if(!_0x1b3cd2)throw new Error(_0x595fc9(0x1ad));const _0x365eff=getApiBaseUrl(),_0x15ce27=new URLSearchParams(),_0x2390c5=(_0x46830a?.[_0x595fc9(0x1c1)]?.['length']??0x0)>0x0,_0x404b69=Boolean(_0x46830a?.[_0x595fc9(0x1b0)]);_0x2390c5&&_0x46830a?.['itemIds']&&_0x15ce27['set'](_0x37641c['yahQS'],_0x46830a[_0x595fc9(0x1c1)][_0x595fc9(0x1a7)](','));_0x404b69&&_0x46830a?.['sessionId']&&_0x15ce27['set']('sessionId',_0x46830a[_0x595fc9(0x1b0)]);_0x37641c['CHuED'](!_0x2390c5,!_0x404b69)&&_0x46830a?.[_0x595fc9(0x1c3)]&&_0x15ce27[_0x595fc9(0x1a2)](_0x37641c['QVzJG'],_0x46830a['style']);const _0x5596e7=_0x365eff+'/api/v1/mcp/features/'+_0xea2bf0+'/report/markdown',_0x1e50f6=''+_0x5596e7+(_0x15ce27['toString']()?'?'+_0x15ce27['toString']():''),_0x5572a8=await _0x37641c[_0x595fc9(0x1af)](fetch,_0x1e50f6,{'method':_0x37641c[_0x595fc9(0x1c6)],'headers':{'Authorization':_0x595fc9(0x1be)+_0x1b3cd2}});if(!_0x5572a8['ok']){const _0x27e48c=await _0x5572a8['text']();throw new Error(_0x595fc9(0x1cd)+_0x27e48c);}return _0x5572a8['text']();}export async function listFeatureSessions(_0x4e14ff){const _0x20fb47=_0x265e,_0x154d69={'mzTLF':function(_0x3a2136){return _0x3a2136();},'eIFQX':_0x20fb47(0x1ad),'huIHC':_0x20fb47(0x1dc)},_0x689840=await _0x154d69[_0x20fb47(0x1a0)](getToken);if(!_0x689840)throw new Error(_0x154d69['eIFQX']);const _0x5110d7=getApiBaseUrl(),_0x281340=await fetch(_0x5110d7+_0x20fb47(0x1bc)+_0x4e14ff+'/sessions',{'method':_0x154d69[_0x20fb47(0x1c0)],'headers':{'Authorization':'Bearer\x20'+_0x689840}});if(!_0x281340['ok']){const _0x2553af=await _0x281340[_0x20fb47(0x1b3)]();throw new Error(_0x20fb47(0x1e3)+_0x2553af);}return _0x281340['json']();}export async function startSession(_0x50bbba,_0x4400e2){const _0x224194=_0x265e,_0x2ab605={'QpOfT':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','DAplJ':_0x224194(0x1e7)},_0x6e15c2=await getToken();if(!_0x6e15c2)throw new Error(_0x2ab605['QpOfT']);const _0x43d861=getApiBaseUrl(),_0x2dfebd=await fetch(_0x43d861+_0x224194(0x1bc)+_0x50bbba+_0x224194(0x1a6)+_0x4400e2+'/start',{'method':_0x2ab605['DAplJ'],'headers':{'Authorization':_0x224194(0x1be)+_0x6e15c2}});if(!_0x2dfebd['ok']){const _0x54ae37=await _0x2dfebd[_0x224194(0x1b3)]();throw new Error(_0x224194(0x1b9)+_0x54ae37);}return _0x2dfebd[_0x224194(0x1d4)]();}export async function concludeSession(_0x25d769,_0x3636e4){const _0x19d4f7=_0x265e,_0x358c34=await getToken();if(!_0x358c34)throw new Error(_0x19d4f7(0x1ad));const _0x1138af=getApiBaseUrl(),_0x10ca80=await fetch(_0x1138af+'/api/v1/mcp/features/'+_0x25d769+_0x19d4f7(0x1a6)+_0x3636e4+_0x19d4f7(0x1cb),{'method':_0x19d4f7(0x1e7),'headers':{'Authorization':'Bearer\x20'+_0x358c34}});if(!_0x10ca80['ok']){const _0x4ef2a9=await _0x10ca80['text']();throw new Error('Failed\x20to\x20conclude\x20session:\x20'+_0x4ef2a9);}return _0x10ca80[_0x19d4f7(0x1d4)]();}function _0x95ab(){const _0x25a36c=['/checklist','4DFniIo','omyuL','LKrkX','/conclude','PXDHv','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','updateChecklistItem','shiIP','true','7FjJQgd','671904OldwxF','xEhYv','json','/comments/address','PATCH','gitRepoUrl','\x0a\x0aUpgrade\x20your\x20plan:\x20','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','offset','gitBranch','GET','ZxqHm','tRfjX','stringify','hyvVa','2522162pyeEVf','message','Failed\x20to\x20list\x20sessions:\x20','wSFOP','xCGmS','application/json','POST','zxWEn','/checklist/','/api/v1/mcp/features','limit','6495444llcJYj','mzTLF','cswzX','set','luvqo','2231739QRHgJR','fCqTi','/sessions/','join','includeDeleted','/report','4395144frrskv','PoxCg','aOGCo','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','2193290ZQzAvX','McnUL','sessionId','Failed\x20to\x20delete\x20feature\x20review:\x20','ajioP','text','7434906KOfKXR','MHSWH','PaeYo','status','QVaZN','Failed\x20to\x20start\x20session:\x20','Failed\x20to\x20update\x20feature\x20review:\x20','iXOsO','/api/v1/mcp/features/','https://dashboard.ranger.net/billing','Bearer\x20','Failed\x20to\x20restore\x20feature\x20review:\x20','huIHC','itemIds','Failed\x20to\x20update\x20scenario:\x20','style','YCEAo','UITxH','PmkJq'];_0x95ab=function(){return _0x25a36c;};return _0x95ab();}export async function getActionItems(_0x4acd28){const _0x25e556=_0x265e,_0x2d5e83={'MHSWH':function(_0x519f44){return _0x519f44();},'YCEAo':_0x25e556(0x1ad)},_0x15ea0d=await _0x2d5e83[_0x25e556(0x1b5)](getToken);if(!_0x15ea0d)throw new Error(_0x2d5e83[_0x25e556(0x1c4)]);const _0x2053a9=getApiBaseUrl(),_0x10e150=await fetch(_0x2053a9+_0x25e556(0x1bc)+_0x4acd28+'/action-items',{'method':'GET','headers':{'Authorization':_0x25e556(0x1be)+_0x15ea0d}});if(!_0x10e150['ok']){const _0x40da05=await _0x10e150[_0x25e556(0x1b3)]();throw new Error('Failed\x20to\x20get\x20action\x20items:\x20'+_0x40da05);}return _0x10e150['json']();}export async function getItemFeedback(_0x297cf8,_0x241737){const _0x54160c=_0x265e,_0x508c32={'VXRDW':function(_0xfa6890){return _0xfa6890();},'Wmibz':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x366474=await _0x508c32['VXRDW'](getToken);if(!_0x366474)throw new Error(_0x508c32['Wmibz']);const _0x5a8e22=getApiBaseUrl(),_0x271243=await fetch(_0x5a8e22+'/api/v1/mcp/features/'+_0x297cf8+'/checklist-items/'+_0x241737+'/feedback',{'method':'GET','headers':{'Authorization':_0x54160c(0x1be)+_0x366474}});if(!_0x271243['ok']){const _0x4e80d0=await _0x271243[_0x54160c(0x1b3)]();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x4e80d0);}return _0x271243[_0x54160c(0x1d4)]();}export async function markCommentsAddressed(_0xf88bba,_0x92184c,_0x4d75ae){const _0x3b183c=_0x265e,_0x5815c6={'ajioP':function(_0x5e0b1d){return _0x5e0b1d();},'XGxoe':_0x3b183c(0x1ad),'DOZnR':function(_0x3e6939){return _0x3e6939();},'cswzX':function(_0x5b37be,_0x31124e,_0x3518f0){return _0x5b37be(_0x31124e,_0x3518f0);},'aOGCo':'POST','xEhYv':_0x3b183c(0x1e6)},_0x7d9cbf=await _0x5815c6[_0x3b183c(0x1b2)](getToken);if(!_0x7d9cbf)throw new Error(_0x5815c6['XGxoe']);const _0x52b201=_0x5815c6['DOZnR'](getApiBaseUrl),_0x34fab8=await _0x5815c6[_0x3b183c(0x1a1)](fetch,_0x52b201+_0x3b183c(0x1bc)+_0xf88bba+_0x3b183c(0x1d5),{'method':_0x5815c6[_0x3b183c(0x1ac)],'headers':{'Authorization':'Bearer\x20'+_0x7d9cbf,'Content-Type':_0x5815c6[_0x3b183c(0x1d3)]},'body':JSON[_0x3b183c(0x1df)]({'checklistItemId':_0x92184c,'commentIds':_0x4d75ae})});if(!_0x34fab8['ok']){const _0xc673e4=await _0x34fab8['text']();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0xc673e4);}}export async function softDeleteFeature(_0x3baf66){const _0x44b450=_0x265e,_0x8ef8d9={'QCuEk':function(_0x300b37){return _0x300b37();}},_0x1f322=await _0x8ef8d9['QCuEk'](getToken);if(!_0x1f322)throw new Error(_0x44b450(0x1ad));const _0x5d52ff=getApiBaseUrl(),_0x2cfce4=await fetch(_0x5d52ff+_0x44b450(0x1bc)+_0x3baf66,{'method':'DELETE','headers':{'Authorization':_0x44b450(0x1be)+_0x1f322}});if(!_0x2cfce4['ok']){const _0x400568=await _0x2cfce4['text']();throw new Error(_0x44b450(0x1b1)+_0x400568);}}export async function restoreFeature(_0x254a89){const _0xec74e5=_0x265e,_0x126c7a={'ZxqHm':_0xec74e5(0x1ad),'Knvrq':function(_0x1007c7){return _0x1007c7();},'JKgIi':function(_0x1bb5ac,_0x3c71de,_0x432de4){return _0x1bb5ac(_0x3c71de,_0x432de4);}},_0x5cdeaa=await getToken();if(!_0x5cdeaa)throw new Error(_0x126c7a[_0xec74e5(0x1dd)]);const _0x18484d=_0x126c7a['Knvrq'](getApiBaseUrl),_0x2d8dfa=await _0x126c7a['JKgIi'](fetch,_0x18484d+'/api/v1/mcp/features/'+_0x254a89+'/restore',{'method':'POST','headers':{'Authorization':_0xec74e5(0x1be)+_0x5cdeaa}});if(!_0x2d8dfa['ok']){const _0x2061f2=await _0x2d8dfa[_0xec74e5(0x1b3)]();throw new Error(_0xec74e5(0x1bf)+_0x2061f2);}}